All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - out
    - pfx
    - buf
    - baseaddr
    - len
    argTypes:
    - FILE*
    - char*
    - char*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: debug_hexdump
    functionSourceFile: /src/fuzz_hpack_decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "debug_hexdump(FILE *out, const char *pfx, const char *buf,\n                   unsigned
      int baseaddr, int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/fuzz_hpack_decode.c:62,1
    - Dst: hpack_dht_alloc
      Src: /src/fuzz_hpack_decode.c:68,1
    - Dst: hpack_decode_frame
      Src: /src/fuzz_hpack_decode.c:72,1
    - Dst: free
      Src: /src/fuzz_hpack_decode.c:75,1
    - Dst: free
      Src: /src/fuzz_hpack_decode.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_hpack_decode.c
    functionUses: 0
    functionsReached:
    - free
    - hpack_decode_frame
    - memcpy
    - hpack_dht_alloc
    linkageType: ''
    returnType: int
    signature: LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_cfg
      Src: /src/fuzz_cfg_parser.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 37
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/fuzz_cfg_parser.c
    functionUses: 0
    functionsReached:
    - parse_cfg
    linkageType: ''
    returnType: int
    signature: LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: hash_id
    functionSourceFile: /src/haproxy/tests/exp/ip-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: hash_id( uint32_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: hash_tw1
    functionSourceFile: /src/haproxy/tests/exp/ip-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: hash_tw1(uint32_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 62
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 62
    functionName: hash_tw2
    functionSourceFile: /src/haproxy/tests/exp/ip-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: hash_tw2(uint32_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: hash_tw3
    functionSourceFile: /src/haproxy/tests/exp/ip-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: hash_tw3(uint32_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: hash_bj6
    functionSourceFile: /src/haproxy/tests/exp/ip-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: hash_bj6(uint32_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: hash_bj7
    functionSourceFile: /src/haproxy/tests/exp/ip-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: hash_bj7(uint32_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hash
    - counts
    argTypes:
    - unsigned long
    - int[][]
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: count_hash_results
    functionSourceFile: /src/haproxy/tests/exp/ip-hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: count_hash_results(unsigned long hash, int counts[NSERV][NSERV])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/tests/exp/ip-hash.c:131,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/ip-hash.c:135,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/ip-hash.c:139,1
    - Dst: fabs
      Src: /src/haproxy/tests/exp/ip-hash.c:141,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/ip-hash.c:148,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/ip-hash.c:149,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/ip-hash.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - name
    - counts
    argTypes:
    - char*
    - int[][]
    constantsTouched: []
    func_position:
      end: 152
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 152
    functionName: dump_hash_results
    functionSourceFile: /src/haproxy/tests/exp/ip-hash.c
    functionUses: 0
    functionsReached:
    - printf
    - fabs
    linkageType: ''
    returnType: void
    signature: dump_hash_results(char *name, int counts[NSERV][NSERV])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/tests/exp/ip-hash.c:159,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/ip-hash.c:160,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/ip-hash.c:161,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/ip-hash.c:162,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/ip-hash.c:163,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/ip-hash.c:164,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:179,1
    - Dst: hash_id
      Src: /src/haproxy/tests/exp/ip-hash.c:179,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:180,1
    - Dst: hash_tw1
      Src: /src/haproxy/tests/exp/ip-hash.c:180,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:181,1
    - Dst: hash_tw2
      Src: /src/haproxy/tests/exp/ip-hash.c:181,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:182,1
    - Dst: hash_tw3
      Src: /src/haproxy/tests/exp/ip-hash.c:182,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:183,1
    - Dst: hash_bj6
      Src: /src/haproxy/tests/exp/ip-hash.c:183,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:184,1
    - Dst: hash_bj7
      Src: /src/haproxy/tests/exp/ip-hash.c:184,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:189,1
    - Dst: hash_bj6
      Src: /src/haproxy/tests/exp/ip-hash.c:189,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:190,1
    - Dst: hash_bj7
      Src: /src/haproxy/tests/exp/ip-hash.c:190,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:193,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:194,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:195,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:196,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:197,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:198,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:199,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/ip-hash.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 202
    functionName: main
    functionSourceFile: /src/haproxy/tests/exp/ip-hash.c
    functionUses: 0
    functionsReached:
    - hash_bj6
    - hash_tw2
    - hash_id
    - hash_tw1
    - hash_bj7
    - count_hash_results
    - dump_hash_results
    - memset
    - hash_tw3
    linkageType: ''
    returnType: int
    signature: main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigfillset
      Src: /src/haproxy/tests/exp/blocksig.c:9,1
    - Dst: sigprocmask
      Src: /src/haproxy/tests/exp/blocksig.c:10,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/blocksig.c:11,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/blocksig.c:12,1
    - Dst: execvp
      Src: /src/haproxy/tests/exp/blocksig.c:15,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 16
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 16
    functionName: main
    functionSourceFile: /src/haproxy/tests/exp/blocksig.c
    functionUses: 0
    functionsReached:
    - printf
    - sigprocmask
    - sigfillset
    - execvp
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_insert
      Src: /src/haproxy/tests/exp/filltab25.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - root
    - s
    argTypes:
    - struct eb_root*
    - struct srv*
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: queue_by_weight
    functionSourceFile: /src/haproxy/tests/exp/filltab25.c
    functionUses: 0
    functionsReached:
    - eb32_insert
    linkageType: ''
    returnType: void
    signature: queue_by_weight(struct eb_root *root, struct srv *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_insert
      Src: /src/haproxy/tests/exp/filltab25.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - root
    - s
    argTypes:
    - struct eb_root*
    - struct srv*
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: queue_by_weight_0
    functionSourceFile: /src/haproxy/tests/exp/filltab25.c
    functionUses: 0
    functionsReached:
    - eb32_insert
    linkageType: ''
    returnType: void
    signature: queue_by_weight_0(struct eb_root *root, struct srv *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_delete
      Src: /src/haproxy/tests/exp/filltab25.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct srv*
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: dequeue_srv
    functionSourceFile: /src/haproxy/tests/exp/filltab25.c
    functionUses: 0
    functionsReached:
    - eb32_delete
    linkageType: ''
    returnType: void
    signature: dequeue_srv(struct srv *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: queue_by_weight_0
      Src: /src/haproxy/tests/exp/filltab25.c:64,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:82,1
    - Dst: eb32_insert
      Src: /src/haproxy/tests/exp/filltab25.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct srv*
    constantsTouched: []
    func_position:
      end: 86
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 86
    functionName: put_srv
    functionSourceFile: /src/haproxy/tests/exp/filltab25.c
    functionUses: 0
    functionsReached:
    - printf
    - eb32_insert
    - queue_by_weight_0
    linkageType: ''
    returnType: void
    signature: put_srv(struct srv *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct srv*
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: get_srv_init
    functionSourceFile: /src/haproxy/tests/exp/filltab25.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: get_srv_init(struct srv *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct srv*
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: get_srv_next
    functionSourceFile: /src/haproxy/tests/exp/filltab25.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: get_srv_next(struct srv *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct srv*
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: get_srv_down
    functionSourceFile: /src/haproxy/tests/exp/filltab25.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: get_srv_down(struct srv *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_srv_init
      Src: /src/haproxy/tests/exp/filltab25.c:106,1
    - Dst: get_srv_next
      Src: /src/haproxy/tests/exp/filltab25.c:109,1
    - Dst: get_srv_down
      Src: /src/haproxy/tests/exp/filltab25.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct srv*
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: get_srv
    functionSourceFile: /src/haproxy/tests/exp/filltab25.c
    functionUses: 0
    functionsReached:
    - get_srv_down
    - get_srv_next
    - get_srv_init
    linkageType: ''
    returnType: void
    signature: get_srv(struct srv *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_first
      Src: /src/haproxy/tests/exp/filltab25.c:124,1
    - Dst: eb32_entry
      Src: /src/haproxy/tests/exp/filltab25.c:125,1
    - Dst: eb32_first
      Src: /src/haproxy/tests/exp/filltab25.c:130,1
    - Dst: eb32_entry
      Src: /src/haproxy/tests/exp/filltab25.c:133,1
    - Dst: get_srv_init
      Src: /src/haproxy/tests/exp/filltab25.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 144
    functionName: get_next_server
    functionSourceFile: /src/haproxy/tests/exp/filltab25.c
    functionUses: 0
    functionsReached:
    - eb32_entry
    - get_srv_init
    - eb32_first
    linkageType: ''
    returnType: struct srv
    signature: '*get_next_server()'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct srv*
    constantsTouched: []
    func_position:
      end: 170
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 170
    functionName: update_position
    functionSourceFile: /src/haproxy/tests/exp/filltab25.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: update_position(struct srv *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: switch_trees
    functionSourceFile: /src/haproxy/tests/exp/filltab25.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: switch_trees()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/haproxy/tests/exp/filltab25.c:195,1
    - Dst: calloc
      Src: /src/haproxy/tests/exp/filltab25.c:197,1
    - Dst: atol
      Src: /src/haproxy/tests/exp/filltab25.c:203,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:216,1
    - Dst: queue_by_weight_0
      Src: /src/haproxy/tests/exp/filltab25.c:219,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:220,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:222,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:229,1
    - Dst: get_next_server
      Src: /src/haproxy/tests/exp/filltab25.c:248,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:250,1
    - Dst: switch_trees
      Src: /src/haproxy/tests/exp/filltab25.c:251,1
    - Dst: get_next_server
      Src: /src/haproxy/tests/exp/filltab25.c:252,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:253,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:259,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:265,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:267,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:269,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:272,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:274,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:276,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:278,1
    - Dst: update_position
      Src: /src/haproxy/tests/exp/filltab25.c:281,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:282,1
    - Dst: dequeue_srv
      Src: /src/haproxy/tests/exp/filltab25.c:285,1
    - Dst: put_srv
      Src: /src/haproxy/tests/exp/filltab25.c:287,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:288,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:291,1
    - Dst: dequeue_srv
      Src: /src/haproxy/tests/exp/filltab25.c:306,1
    - Dst: put_srv
      Src: /src/haproxy/tests/exp/filltab25.c:307,1
    - Dst: random
      Src: /src/haproxy/tests/exp/filltab25.c:315,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:324,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:325,1
    - Dst: dequeue_srv
      Src: /src/haproxy/tests/exp/filltab25.c:327,1
    - Dst: queue_by_weight_0
      Src: /src/haproxy/tests/exp/filltab25.c:328,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:331,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:332,1
    - Dst: dequeue_srv
      Src: /src/haproxy/tests/exp/filltab25.c:334,1
    - Dst: get_srv
      Src: /src/haproxy/tests/exp/filltab25.c:336,1
    - Dst: put_srv
      Src: /src/haproxy/tests/exp/filltab25.c:338,1
    - Dst: get_srv
      Src: /src/haproxy/tests/exp/filltab25.c:344,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:345,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:361,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:366,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:369,1
    - Dst: dequeue_srv
      Src: /src/haproxy/tests/exp/filltab25.c:376,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:377,1
    - Dst: put_srv
      Src: /src/haproxy/tests/exp/filltab25.c:378,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:382,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/filltab25.c:385,1
    - Dst: dequeue_srv
      Src: /src/haproxy/tests/exp/filltab25.c:392,1
    - Dst: queue_by_weight_0
      Src: /src/haproxy/tests/exp/filltab25.c:393,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 132
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 398
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 398
    functionName: main
    functionSourceFile: /src/haproxy/tests/exp/filltab25.c
    functionUses: 0
    functionsReached:
    - random
    - queue_by_weight_0
    - printf
    - calloc
    - get_next_server
    - get_srv
    - switch_trees
    - update_position
    - dequeue_srv
    - put_srv
    - atol
    - exit
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/haproxy/tests/exp/test_hashes.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: timeval_current
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: struct timeval
    signature: timeval_current(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timeval_current
      Src: /src/haproxy/tests/exp/test_hashes.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: timeval_elapsed
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached:
    - timeval_current
    linkageType: ''
    returnType: double
    signature: timeval_elapsed(struct timeval *tv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - uri
    - uri_len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: haproxy_uri_hash
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: haproxy_uri_hash(char *uri, int uri_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: sax_hash
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: sax_hash ( void *key, int len )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/haproxy/tests/exp/test_hashes.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - addr
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: haproxy_server_hash
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: unsigned int
    signature: haproxy_server_hash(const char *addr, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - key
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: hashpjw
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hashpjw(const void *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 135
    functionName: hash_djbx33
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: "hash_djbx33(\n    register unsigned char *key,\n    register size_t
      len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - key
    - len
    - level
    argTypes:
    - ub1*
    - ub4
    - ub4
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: bernstein
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ub4
    signature: bernstein(ub1 *key, ub4 len, ub4 level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/test_hashes.c:172,1
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/test_hashes.c:173,1
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/test_hashes.c:181,1
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/test_hashes.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 204
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 204
    functionName: SuperFastHash
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached:
    - get16bits
    linkageType: ''
    returnType: uint32_t
    signature: SuperFastHash (const char * data, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/test_hashes.c:221,1
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/test_hashes.c:222,1
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/test_hashes.c:231,1
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/test_hashes.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 254
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 254
    functionName: SuperFastHash2
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached:
    - get16bits
    linkageType: ''
    returnType: uint32_t
    signature: SuperFastHash2 (const char * data, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - str
    - hval
    argTypes:
    - char*
    - Fnv32_t
    constantsTouched: []
    func_position:
      end: 302
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 302
    functionName: fnv_32a_str
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Fnv32_t
    signature: fnv_32a_str(char *str, Fnv32_t hval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mix
      Src: /src/haproxy/tests/exp/test_hashes.c:429,1
    - Dst: final
      Src: /src/haproxy/tests/exp/test_hashes.c:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - k
    - length
    - initval
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 446
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 446
    functionName: hashword
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached:
    - mix
    - final
    linkageType: ''
    returnType: uint32_t
    signature: 'hashword(

      const uint32_t *k,                   /* the key, an array of uint32_t values
      */

      size_t          length,               /* the length of the key, in uint32_ts
      */

      uint32_t        initval)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 459
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 459
    functionName: kr_hash
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: kr_hash(char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 471
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 471
    functionName: fnv_hash
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: fnv_hash ( void *key, int len )
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 490
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 490
    functionName: oat_hash
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: oat_hash ( void *key, int len )
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 507
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 507
    functionName: wt_hash
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: wt_hash ( void *key, int len )
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/tests/exp/test_hashes.c:540,1
    - Dst: run_test
      Src: /src/haproxy/tests/exp/test_hashes.c:542,1
    - Dst: run_test
      Src: /src/haproxy/tests/exp/test_hashes.c:543,1
    - Dst: run_test
      Src: /src/haproxy/tests/exp/test_hashes.c:544,1
    - Dst: run_test
      Src: /src/haproxy/tests/exp/test_hashes.c:545,1
    - Dst: run_test
      Src: /src/haproxy/tests/exp/test_hashes.c:546,1
    - Dst: run_test
      Src: /src/haproxy/tests/exp/test_hashes.c:547,1
    - Dst: run_test
      Src: /src/haproxy/tests/exp/test_hashes.c:548,1
    - Dst: run_test
      Src: /src/haproxy/tests/exp/test_hashes.c:549,1
    - Dst: run_test
      Src: /src/haproxy/tests/exp/test_hashes.c:550,1
    - Dst: run_test
      Src: /src/haproxy/tests/exp/test_hashes.c:551,1
    - Dst: strlen
      Src: /src/haproxy/tests/exp/test_hashes.c:551,1
    - Dst: run_test
      Src: /src/haproxy/tests/exp/test_hashes.c:552,1
    - Dst: run_test
      Src: /src/haproxy/tests/exp/test_hashes.c:553,1
    - Dst: run_test
      Src: /src/haproxy/tests/exp/test_hashes.c:554,1
    - Dst: run_test
      Src: /src/haproxy/tests/exp/test_hashes.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 559
    functionName: main
    functionSourceFile: /src/haproxy/tests/exp/test_hashes.c
    functionUses: 0
    functionsReached:
    - strlen
    - run_test
    linkageType: ''
    returnType: int
    signature: main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/tests/exp/testinet.c:24,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/testinet.c:25,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/testinet.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 28
    functionName: main
    functionSourceFile: /src/haproxy/tests/exp/testinet.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: hash_gd1
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: hash_gd1(char *uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 35
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 35
    functionName: hash_gd2
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: hash_gd2(char *uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: hash_gd3
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: hash_gd3(char *uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: hash_gd4
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: hash_gd4(char *uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: hash_gd5
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: hash_gd5(char *uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - uri
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: hash_gd6
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: hash_gd6(char *uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - hsize
    - string
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 125
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 125
    functionName: hash_wt1
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: hash_wt1(int hsize, char *string)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - count
    argTypes:
    - u_int32_t
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: shl32
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: shl32(u_int32_t i, int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - count
    argTypes:
    - u_int32_t
    - int
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: shr32
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u_int32_t
    signature: shr32(u_int32_t i, int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: rev32
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: rev32(unsigned int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rev32
      Src: /src/haproxy/tests/exp/uri_hash.c:165,1
    - Dst: shr32
      Src: /src/haproxy/tests/exp/uri_hash.c:169,1
    - Dst: shl32
      Src: /src/haproxy/tests/exp/uri_hash.c:170,1
    - Dst: shl32
      Src: /src/haproxy/tests/exp/uri_hash.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - src
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 174
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 174
    functionName: hash_wt2
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached:
    - shr32
    - shl32
    - rev32
    linkageType: ''
    returnType: int
    signature: hash_wt2(const char *src, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/uri_hash.c:212,1
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/uri_hash.c:213,1
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/uri_hash.c:221,1
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/uri_hash.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 244
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 244
    functionName: SuperFastHash
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached:
    - get16bits
    linkageType: ''
    returnType: uint32_t
    signature: SuperFastHash (const char * data, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/uri_hash.c:262,1
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/uri_hash.c:263,1
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/uri_hash.c:272,1
    - Dst: get16bits
      Src: /src/haproxy/tests/exp/uri_hash.c:277,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 295
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 295
    functionName: SuperFastHash2
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached:
    - get16bits
    linkageType: ''
    returnType: uint32_t
    signature: SuperFastHash2 (const char * data, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/haproxy/tests/exp/uri_hash.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - addr
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: haproxy_server_hash
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: unsigned int
    signature: haproxy_server_hash(const char *addr, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hash
    - counts
    argTypes:
    - unsigned long
    - int[][]
    constantsTouched: []
    func_position:
      end: 319
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 319
    functionName: count_hash_results
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: count_hash_results(unsigned long hash, int counts[NSERV][NSERV])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/tests/exp/uri_hash.c:324,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/uri_hash.c:326,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/uri_hash.c:330,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/uri_hash.c:332,1
    - Dst: printf
      Src: /src/haproxy/tests/exp/uri_hash.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - counts
    argTypes:
    - char*
    - int[][]
    constantsTouched: []
    func_position:
      end: 335
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 335
    functionName: dump_hash_results
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: dump_hash_results(char *name, int counts[NSERV][NSERV])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/tests/exp/uri_hash.c:338,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/uri_hash.c:339,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/uri_hash.c:340,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/uri_hash.c:341,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/uri_hash.c:342,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/uri_hash.c:343,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/uri_hash.c:344,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/uri_hash.c:345,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/uri_hash.c:346,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/uri_hash.c:347,1
    - Dst: memset
      Src: /src/haproxy/tests/exp/uri_hash.c:348,1
    - Dst: fgets
      Src: /src/haproxy/tests/exp/uri_hash.c:350,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:351,1
    - Dst: hash_gd1
      Src: /src/haproxy/tests/exp/uri_hash.c:351,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:352,1
    - Dst: hash_gd2
      Src: /src/haproxy/tests/exp/uri_hash.c:352,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:353,1
    - Dst: hash_gd3
      Src: /src/haproxy/tests/exp/uri_hash.c:353,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:354,1
    - Dst: hash_gd4
      Src: /src/haproxy/tests/exp/uri_hash.c:354,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:355,1
    - Dst: hash_gd5
      Src: /src/haproxy/tests/exp/uri_hash.c:355,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:356,1
    - Dst: hash_gd6
      Src: /src/haproxy/tests/exp/uri_hash.c:356,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:357,1
    - Dst: hash_wt1
      Src: /src/haproxy/tests/exp/uri_hash.c:357,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:358,1
    - Dst: hash_wt2
      Src: /src/haproxy/tests/exp/uri_hash.c:358,1
    - Dst: strlen
      Src: /src/haproxy/tests/exp/uri_hash.c:358,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:359,1
    - Dst: haproxy_server_hash
      Src: /src/haproxy/tests/exp/uri_hash.c:359,1
    - Dst: strlen
      Src: /src/haproxy/tests/exp/uri_hash.c:359,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:360,1
    - Dst: SuperFastHash
      Src: /src/haproxy/tests/exp/uri_hash.c:360,1
    - Dst: strlen
      Src: /src/haproxy/tests/exp/uri_hash.c:360,1
    - Dst: count_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:361,1
    - Dst: SuperFastHash2
      Src: /src/haproxy/tests/exp/uri_hash.c:361,1
    - Dst: strlen
      Src: /src/haproxy/tests/exp/uri_hash.c:361,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:364,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:365,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:366,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:367,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:368,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:369,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:370,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:371,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:372,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:373,1
    - Dst: dump_hash_results
      Src: /src/haproxy/tests/exp/uri_hash.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 377
    functionName: main
    functionSourceFile: /src/haproxy/tests/exp/uri_hash.c
    functionUses: 0
    functionsReached:
    - hash_wt2
    - hash_gd6
    - haproxy_server_hash
    - strlen
    - SuperFastHash2
    - hash_gd3
    - count_hash_results
    - hash_gd1
    - hash_gd4
    - hash_gd2
    - memset
    - hash_wt1
    - SuperFastHash
    - hash_gd5
    - dump_hash_results
    - fgets
    linkageType: ''
    returnType: int
    signature: main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: rnd32
    functionSourceFile: /src/haproxy/tests/unit/test-list.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: rnd32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rnd32
      Src: /src/haproxy/tests/unit/test-list.c:45,1
    - Dst: malloc
      Src: /src/haproxy/tests/unit/test-list.c:47,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/tests/unit/test-list.c:48,1
    - Dst: MT_LIST_TRY_INSERT
      Src: /src/haproxy/tests/unit/test-list.c:49,1
    - Dst: malloc
      Src: /src/haproxy/tests/unit/test-list.c:52,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/tests/unit/test-list.c:53,1
    - Dst: MT_LIST_TRY_APPEND
      Src: /src/haproxy/tests/unit/test-list.c:54,1
    - Dst: MT_LIST_POP
      Src: /src/haproxy/tests/unit/test-list.c:58,1
    - Dst: free
      Src: /src/haproxy/tests/unit/test-list.c:60,1
    - Dst: MT_LIST_FOR_EACH_ENTRY_LOCKED
      Src: /src/haproxy/tests/unit/test-list.c:63,1
    - Dst: rnd32
      Src: /src/haproxy/tests/unit/test-list.c:64,1
    - Dst: free
      Src: /src/haproxy/tests/unit/test-list.c:65,1
    - Dst: rnd32
      Src: /src/haproxy/tests/unit/test-list.c:68,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-list.c:77,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - pouet
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 80
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 80
    functionName: thread
    functionSourceFile: /src/haproxy/tests/unit/test-list.c
    functionUses: 0
    functionsReached:
    - malloc
    - MT_LIST_TRY_APPEND
    - printf
    - MT_LIST_FOR_EACH_ENTRY_LOCKED
    - MT_LIST_TRY_INSERT
    - free
    - MT_LIST_INIT
    - MT_LIST_POP
    - rnd32
    linkageType: ''
    returnType: void
    signature: '*thread(void *pouet)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srandom
      Src: /src/haproxy/tests/unit/test-list.c:87,1
    - Dst: time
      Src: /src/haproxy/tests/unit/test-list.c:87,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-list.c:89,1
    - Dst: exit
      Src: /src/haproxy/tests/unit/test-list.c:90,1
    - Dst: atoi
      Src: /src/haproxy/tests/unit/test-list.c:92,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-list.c:95,1
    - Dst: exit
      Src: /src/haproxy/tests/unit/test-list.c:96,1
    - Dst: malloc
      Src: /src/haproxy/tests/unit/test-list.c:99,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-list.c:101,1
    - Dst: exit
      Src: /src/haproxy/tests/unit/test-list.c:102,1
    - Dst: pthread_create
      Src: /src/haproxy/tests/unit/test-list.c:105,1
    - Dst: pthread_join
      Src: /src/haproxy/tests/unit/test-list.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    constantsTouched: []
    func_position:
      end: 111
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/haproxy/tests/unit/test-list.c
    functionUses: 0
    functionsReached:
    - malloc
    - time
    - atoi
    - printf
    - pthread_join
    - exit
    - pthread_create
    - srandom
    linkageType: ''
    returnType: int
    signature: main(int argc, char *argv[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: f_ist
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - ist
    linkageType: ''
    returnType: struct ist
    signature: f_ist(const void *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:23,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:25,1
    - Dst: strncmp
      Src: /src/haproxy/tests/unit/ist.c:27,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: test_ist
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - strncmp
    - ist
    linkageType: ''
    returnType: int
    signature: test_ist()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/tests/unit/ist.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: f_ist2
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - ist2
    linkageType: ''
    returnType: struct ist
    signature: f_ist2(const void *ptr, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/tests/unit/ist.c:35,1
    - Dst: ist2
      Src: /src/haproxy/tests/unit/ist.c:37,1
    - Dst: strncmp
      Src: /src/haproxy/tests/unit/ist.c:39,1
    - Dst: ist2
      Src: /src/haproxy/tests/unit/ist.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: test_ist2
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - ist2
    - strncmp
    linkageType: ''
    returnType: int
    signature: test_ist2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/tests/unit/ist.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: f_istlen
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istlen
    linkageType: ''
    returnType: size_t
    signature: f_istlen(struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/tests/unit/ist.c:47,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:47,1
    - Dst: istlen
      Src: /src/haproxy/tests/unit/ist.c:49,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:49,1
    - Dst: istlen
      Src: /src/haproxy/tests/unit/ist.c:51,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: test_istlen
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istlen
    - ist
    linkageType: ''
    returnType: int
    signature: test_istlen()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istnext
      Src: /src/haproxy/tests/unit/ist.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: f_istnext
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istnext
    linkageType: ''
    returnType: struct ist
    signature: f_istnext(struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/tests/unit/ist.c:59,1
    - Dst: istnext
      Src: /src/haproxy/tests/unit/ist.c:59,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:59,1
    - Dst: strncmp
      Src: /src/haproxy/tests/unit/ist.c:61,1
    - Dst: istnext
      Src: /src/haproxy/tests/unit/ist.c:61,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:61,1
    - Dst: istnext
      Src: /src/haproxy/tests/unit/ist.c:63,1
    - Dst: istnext
      Src: /src/haproxy/tests/unit/ist.c:63,1
    - Dst: istnext
      Src: /src/haproxy/tests/unit/ist.c:63,1
    - Dst: istnext
      Src: /src/haproxy/tests/unit/ist.c:63,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: test_istnext
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istnext
    - istlen
    - strncmp
    - ist
    linkageType: ''
    returnType: int
    signature: test_istnext()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istpad
      Src: /src/haproxy/tests/unit/ist.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - ist
    argTypes:
    - void*
    - struct ist
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: f_istpad
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istpad
    linkageType: ''
    returnType: struct ist
    signature: f_istpad(void *buf, const struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/tests/unit/ist.c:73,1
    - Dst: istpad
      Src: /src/haproxy/tests/unit/ist.c:73,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:73,1
    - Dst: strncmp
      Src: /src/haproxy/tests/unit/ist.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: test_istpad
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istpad
    - strncmp
    - ist
    linkageType: ''
    returnType: int
    signature: test_istpad()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isttrim
      Src: /src/haproxy/tests/unit/ist.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ist
    - size
    argTypes:
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: f_isttrim
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - isttrim
    linkageType: ''
    returnType: struct ist
    signature: f_isttrim(struct ist ist, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isttrim
      Src: /src/haproxy/tests/unit/ist.c:85,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:85,1
    - Dst: isttrim
      Src: /src/haproxy/tests/unit/ist.c:88,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:88,1
    - Dst: strncmp
      Src: /src/haproxy/tests/unit/ist.c:91,1
    - Dst: isttrim
      Src: /src/haproxy/tests/unit/ist.c:91,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:91,1
    - Dst: isttrim
      Src: /src/haproxy/tests/unit/ist.c:94,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:94,1
    - Dst: isttrim
      Src: /src/haproxy/tests/unit/ist.c:97,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:97,1
    - Dst: strncmp
      Src: /src/haproxy/tests/unit/ist.c:100,1
    - Dst: isttrim
      Src: /src/haproxy/tests/unit/ist.c:100,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: test_isttrim
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - strncmp
    - isttrim
    - ist
    linkageType: ''
    returnType: int
    signature: test_isttrim()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istzero
      Src: /src/haproxy/tests/unit/ist.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ist
    - size
    argTypes:
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: f_istzero
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istzero
    linkageType: ''
    returnType: struct ist
    signature: f_istzero(struct ist ist, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istzero
      Src: /src/haproxy/tests/unit/ist.c:111,1
    - Dst: ist2
      Src: /src/haproxy/tests/unit/ist.c:111,1
    - Dst: istzero
      Src: /src/haproxy/tests/unit/ist.c:114,1
    - Dst: ist2
      Src: /src/haproxy/tests/unit/ist.c:114,1
    - Dst: istzero
      Src: /src/haproxy/tests/unit/ist.c:117,1
    - Dst: ist2
      Src: /src/haproxy/tests/unit/ist.c:117,1
    - Dst: istzero
      Src: /src/haproxy/tests/unit/ist.c:123,1
    - Dst: ist2
      Src: /src/haproxy/tests/unit/ist.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 130
    functionName: test_istzero
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - ist2
    - istzero
    linkageType: ''
    returnType: int
    signature: test_istzero()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iststrip
      Src: /src/haproxy/tests/unit/ist.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: f_iststrip
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - iststrip
    linkageType: ''
    returnType: struct ist
    signature: f_iststrip(struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iststrip
      Src: /src/haproxy/tests/unit/ist.c:135,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:135,1
    - Dst: iststrip
      Src: /src/haproxy/tests/unit/ist.c:138,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:138,1
    - Dst: iststrip
      Src: /src/haproxy/tests/unit/ist.c:141,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:141,1
    - Dst: iststrip
      Src: /src/haproxy/tests/unit/ist.c:144,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:144,1
    - Dst: iststrip
      Src: /src/haproxy/tests/unit/ist.c:147,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:147,1
    - Dst: iststrip
      Src: /src/haproxy/tests/unit/ist.c:150,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 154
    functionName: test_iststrip
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - iststrip
    - ist
    linkageType: ''
    returnType: int
    signature: test_iststrip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istdiff
      Src: /src/haproxy/tests/unit/ist.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ist1
    - ist2
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 156
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 156
    functionName: f_istdiff
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istdiff
    linkageType: ''
    returnType: int
    signature: f_istdiff(const struct ist ist1, const struct ist ist2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istdiff
      Src: /src/haproxy/tests/unit/ist.c:159,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:159,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:159,1
    - Dst: istdiff
      Src: /src/haproxy/tests/unit/ist.c:162,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:162,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:162,1
    - Dst: istdiff
      Src: /src/haproxy/tests/unit/ist.c:165,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:165,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:165,1
    - Dst: istdiff
      Src: /src/haproxy/tests/unit/ist.c:168,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:168,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:168,1
    - Dst: istdiff
      Src: /src/haproxy/tests/unit/ist.c:171,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:171,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:171,1
    - Dst: istdiff
      Src: /src/haproxy/tests/unit/ist.c:174,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:174,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:174,1
    - Dst: istdiff
      Src: /src/haproxy/tests/unit/ist.c:177,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:177,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:177,1
    - Dst: istdiff
      Src: /src/haproxy/tests/unit/ist.c:180,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:180,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 184
    functionName: test_istdiff
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istdiff
    - ist
    linkageType: ''
    returnType: int
    signature: test_istdiff()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istmatch
      Src: /src/haproxy/tests/unit/ist.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ist1
    - ist2
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: f_istmatch
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istmatch
    linkageType: ''
    returnType: int
    signature: f_istmatch(const struct ist ist1, const struct ist ist2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istmatch
      Src: /src/haproxy/tests/unit/ist.c:189,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:189,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:189,1
    - Dst: istmatch
      Src: /src/haproxy/tests/unit/ist.c:192,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:192,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:192,1
    - Dst: istmatch
      Src: /src/haproxy/tests/unit/ist.c:195,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:195,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:195,1
    - Dst: istmatch
      Src: /src/haproxy/tests/unit/ist.c:198,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:198,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:198,1
    - Dst: istmatch
      Src: /src/haproxy/tests/unit/ist.c:201,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:201,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:201,1
    - Dst: istmatch
      Src: /src/haproxy/tests/unit/ist.c:204,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:204,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:204,1
    - Dst: istmatch
      Src: /src/haproxy/tests/unit/ist.c:207,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:207,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:207,1
    - Dst: istmatch
      Src: /src/haproxy/tests/unit/ist.c:210,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:210,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:210,1
    - Dst: istmatch
      Src: /src/haproxy/tests/unit/ist.c:213,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:213,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:213,1
    - Dst: istmatch
      Src: /src/haproxy/tests/unit/ist.c:216,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:216,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:216,1
    - Dst: istmatch
      Src: /src/haproxy/tests/unit/ist.c:219,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:219,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:219,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 223
    functionName: test_istmatch
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istmatch
    - ist
    linkageType: ''
    returnType: int
    signature: test_istmatch()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ist1
    - ist2
    - count
    argTypes:
    - struct ist
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: f_istnmatch
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istnmatch
    linkageType: ''
    returnType: int
    signature: f_istnmatch(struct ist ist1, struct ist ist2, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:228,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:228,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:228,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:231,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:231,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:231,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:234,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:234,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:234,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:237,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:237,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:237,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:240,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:240,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:240,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:243,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:243,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:243,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:246,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:246,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:246,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:249,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:249,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:249,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:252,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:252,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:252,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:255,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:255,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:255,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:258,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:258,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:258,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:261,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:261,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:261,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:264,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:264,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:264,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:267,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:267,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:267,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:270,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:270,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:270,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:273,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:273,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:273,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:276,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:276,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:276,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:279,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:279,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:279,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:282,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:282,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:282,1
    - Dst: istnmatch
      Src: /src/haproxy/tests/unit/ist.c:285,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:285,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:285,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 289
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 289
    functionName: test_istnmatch
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istnmatch
    - ist
    linkageType: ''
    returnType: int
    signature: test_istnmatch()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isteq
      Src: /src/haproxy/tests/unit/ist.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ist1
    - ist2
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 291
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 291
    functionName: f_isteq
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - isteq
    linkageType: ''
    returnType: int
    signature: f_isteq(const struct ist ist1, const struct ist ist2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isteq
      Src: /src/haproxy/tests/unit/ist.c:294,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:294,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:294,1
    - Dst: isteq
      Src: /src/haproxy/tests/unit/ist.c:297,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:297,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:297,1
    - Dst: isteq
      Src: /src/haproxy/tests/unit/ist.c:300,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:300,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:300,1
    - Dst: isteq
      Src: /src/haproxy/tests/unit/ist.c:303,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:303,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:303,1
    - Dst: isteq
      Src: /src/haproxy/tests/unit/ist.c:306,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:306,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:306,1
    - Dst: isteq
      Src: /src/haproxy/tests/unit/ist.c:309,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:309,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:309,1
    - Dst: isteq
      Src: /src/haproxy/tests/unit/ist.c:312,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:312,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:312,1
    - Dst: isteq
      Src: /src/haproxy/tests/unit/ist.c:315,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:315,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:315,1
    - Dst: isteq
      Src: /src/haproxy/tests/unit/ist.c:318,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:318,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:318,1
    - Dst: isteq
      Src: /src/haproxy/tests/unit/ist.c:321,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:321,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:321,1
    - Dst: isteq
      Src: /src/haproxy/tests/unit/ist.c:324,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:324,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:324,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 328
    functionName: test_isteq
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - isteq
    - ist
    linkageType: ''
    returnType: int
    signature: test_isteq()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ist1
    - ist2
    - count
    argTypes:
    - struct ist
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: f_istneq
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istneq
    linkageType: ''
    returnType: int
    signature: f_istneq(struct ist ist1, struct ist ist2, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:333,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:333,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:333,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:336,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:336,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:336,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:339,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:339,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:339,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:342,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:342,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:342,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:345,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:345,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:345,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:348,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:348,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:348,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:351,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:351,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:351,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:354,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:354,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:354,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:357,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:357,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:357,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:360,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:360,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:360,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:363,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:363,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:363,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:366,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:366,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:366,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:369,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:369,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:369,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:372,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:372,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:372,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:375,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:375,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:375,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:378,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:378,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:378,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:381,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:381,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:381,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:384,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:384,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:384,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:387,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:387,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:387,1
    - Dst: istneq
      Src: /src/haproxy/tests/unit/ist.c:390,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:390,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:390,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 394
    functionName: test_istneq
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istneq
    - ist
    linkageType: ''
    returnType: int
    signature: test_istneq()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istcpy
      Src: /src/haproxy/tests/unit/ist.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - src
    - count
    argTypes:
    - struct ist*
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: f_istcpy
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istcpy
    linkageType: ''
    returnType: ssize_t
    signature: f_istcpy(struct ist *dst, const struct ist src, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:400,1
    - Dst: istcpy
      Src: /src/haproxy/tests/unit/ist.c:402,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:402,1
    - Dst: strcmp
      Src: /src/haproxy/tests/unit/ist.c:408,1
    - Dst: istcpy
      Src: /src/haproxy/tests/unit/ist.c:411,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:411,1
    - Dst: strcmp
      Src: /src/haproxy/tests/unit/ist.c:414,1
    - Dst: istcpy
      Src: /src/haproxy/tests/unit/ist.c:417,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:417,1
    - Dst: strcmp
      Src: /src/haproxy/tests/unit/ist.c:420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 424
    functionName: test_istcpy
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - strcmp
    - istcpy
    - ist
    linkageType: ''
    returnType: int
    signature: test_istcpy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istscpy
      Src: /src/haproxy/tests/unit/ist.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - src
    - count
    argTypes:
    - struct ist*
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 426
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 426
    functionName: f_istscpy
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istscpy
    linkageType: ''
    returnType: ssize_t
    signature: f_istscpy(struct ist *dst, const struct ist src, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:430,1
    - Dst: istscpy
      Src: /src/haproxy/tests/unit/ist.c:432,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:432,1
    - Dst: memcmp
      Src: /src/haproxy/tests/unit/ist.c:438,1
    - Dst: istscpy
      Src: /src/haproxy/tests/unit/ist.c:441,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:441,1
    - Dst: memcmp
      Src: /src/haproxy/tests/unit/ist.c:444,1
    - Dst: istscpy
      Src: /src/haproxy/tests/unit/ist.c:447,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:447,1
    - Dst: istscpy
      Src: /src/haproxy/tests/unit/ist.c:450,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:450,1
    - Dst: memcmp
      Src: /src/haproxy/tests/unit/ist.c:453,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 457
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 457
    functionName: test_istscpy
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istscpy
    - memcmp
    - ist
    linkageType: ''
    returnType: int
    signature: test_istscpy()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istcat
      Src: /src/haproxy/tests/unit/ist.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - src
    - count
    argTypes:
    - struct ist*
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: f_istcat
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istcat
    linkageType: ''
    returnType: ssize_t
    signature: f_istcat(struct ist *dst, const struct ist src, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:463,1
    - Dst: istcat
      Src: /src/haproxy/tests/unit/ist.c:465,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:465,1
    - Dst: strcmp
      Src: /src/haproxy/tests/unit/ist.c:468,1
    - Dst: istcat
      Src: /src/haproxy/tests/unit/ist.c:471,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:471,1
    - Dst: strncmp
      Src: /src/haproxy/tests/unit/ist.c:477,1
    - Dst: istcat
      Src: /src/haproxy/tests/unit/ist.c:480,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:480,1
    - Dst: strncmp
      Src: /src/haproxy/tests/unit/ist.c:486,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 490
    functionName: test_istcat
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istcat
    - strcmp
    - strncmp
    - ist
    linkageType: ''
    returnType: int
    signature: test_istcat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istscat
      Src: /src/haproxy/tests/unit/ist.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - src
    - count
    argTypes:
    - struct ist*
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 492
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 492
    functionName: f_istscat
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istscat
    linkageType: ''
    returnType: ssize_t
    signature: f_istscat(struct ist *dst, const struct ist src, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:496,1
    - Dst: istscat
      Src: /src/haproxy/tests/unit/ist.c:498,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:498,1
    - Dst: strcmp
      Src: /src/haproxy/tests/unit/ist.c:501,1
    - Dst: istscat
      Src: /src/haproxy/tests/unit/ist.c:504,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:504,1
    - Dst: strncmp
      Src: /src/haproxy/tests/unit/ist.c:510,1
    - Dst: istscat
      Src: /src/haproxy/tests/unit/ist.c:513,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:513,1
    - Dst: strncmp
      Src: /src/haproxy/tests/unit/ist.c:519,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 523
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 523
    functionName: test_istscat
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strncmp
    - ist
    - istscat
    linkageType: ''
    returnType: int
    signature: test_istscat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istchr
      Src: /src/haproxy/tests/unit/ist.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ist
    - chr
    argTypes:
    - struct ist
    - char
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: f_istchr
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istchr
    linkageType: ''
    returnType: char
    signature: '*f_istchr(const struct ist ist, char chr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:528,1
    - Dst: istchr
      Src: /src/haproxy/tests/unit/ist.c:530,1
    - Dst: istchr
      Src: /src/haproxy/tests/unit/ist.c:533,1
    - Dst: istchr
      Src: /src/haproxy/tests/unit/ist.c:536,1
    - Dst: istchr
      Src: /src/haproxy/tests/unit/ist.c:539,1
    - Dst: istchr
      Src: /src/haproxy/tests/unit/ist.c:542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 546
    functionName: test_istchr
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istchr
    - ist
    linkageType: ''
    returnType: int
    signature: test_istchr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istfind
      Src: /src/haproxy/tests/unit/ist.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ist
    - chr
    argTypes:
    - struct ist
    - char
    constantsTouched: []
    func_position:
      end: 548
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 548
    functionName: f_istfind
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istfind
    linkageType: ''
    returnType: struct ist
    signature: f_istfind(struct ist ist, char chr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:551,1
    - Dst: istfind
      Src: /src/haproxy/tests/unit/ist.c:553,1
    - Dst: istfind
      Src: /src/haproxy/tests/unit/ist.c:556,1
    - Dst: istfind
      Src: /src/haproxy/tests/unit/ist.c:559,1
    - Dst: istfind
      Src: /src/haproxy/tests/unit/ist.c:562,1
    - Dst: istfind
      Src: /src/haproxy/tests/unit/ist.c:565,1
    - Dst: istfind
      Src: /src/haproxy/tests/unit/ist.c:568,1
    - Dst: istfind
      Src: /src/haproxy/tests/unit/ist.c:571,1
    - Dst: istfind
      Src: /src/haproxy/tests/unit/ist.c:574,1
    - Dst: istfind
      Src: /src/haproxy/tests/unit/ist.c:577,1
    - Dst: istfind
      Src: /src/haproxy/tests/unit/ist.c:580,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 584
    functionName: test_istfind
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istfind
    - ist
    linkageType: ''
    returnType: int
    signature: test_istfind()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istskip
      Src: /src/haproxy/tests/unit/ist.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ist
    - chr
    argTypes:
    - struct ist
    - char
    constantsTouched: []
    func_position:
      end: 586
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 586
    functionName: f_istskip
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istskip
    linkageType: ''
    returnType: struct ist
    signature: f_istskip(struct ist ist, char chr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:589,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:590,1
    - Dst: istskip
      Src: /src/haproxy/tests/unit/ist.c:592,1
    - Dst: istskip
      Src: /src/haproxy/tests/unit/ist.c:595,1
    - Dst: istskip
      Src: /src/haproxy/tests/unit/ist.c:598,1
    - Dst: istskip
      Src: /src/haproxy/tests/unit/ist.c:601,1
    - Dst: istskip
      Src: /src/haproxy/tests/unit/ist.c:604,1
    - Dst: istskip
      Src: /src/haproxy/tests/unit/ist.c:607,1
    - Dst: istskip
      Src: /src/haproxy/tests/unit/ist.c:610,1
    - Dst: istskip
      Src: /src/haproxy/tests/unit/ist.c:613,1
    - Dst: istskip
      Src: /src/haproxy/tests/unit/ist.c:616,1
    - Dst: istskip
      Src: /src/haproxy/tests/unit/ist.c:619,1
    - Dst: istskip
      Src: /src/haproxy/tests/unit/ist.c:622,1
    - Dst: istskip
      Src: /src/haproxy/tests/unit/ist.c:625,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 629
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 629
    functionName: test_istskip
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istskip
    - ist
    linkageType: ''
    returnType: int
    signature: test_istskip()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ist
    - pat
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 631
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 631
    functionName: f_istist
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istist
    linkageType: ''
    returnType: struct ist
    signature: f_istist(struct ist ist, const struct ist pat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:634,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:636,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:636,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:639,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:639,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:642,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:642,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:645,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:645,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:648,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:648,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:651,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:651,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:654,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:654,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:657,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:657,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:660,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:660,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:663,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:663,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:666,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:666,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:669,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:669,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:672,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:672,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:675,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:675,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:678,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:678,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:681,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:681,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:684,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:684,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:687,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:687,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:690,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:690,1
    - Dst: istist
      Src: /src/haproxy/tests/unit/ist.c:693,1
    - Dst: ist
      Src: /src/haproxy/tests/unit/ist.c:693,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 697
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 697
    functionName: test_istist
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - istist
    - ist
    linkageType: ''
    returnType: int
    signature: test_istist()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: test_ist
      Src: /src/haproxy/tests/unit/ist.c:705,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:705,1
    - Dst: test_ist2
      Src: /src/haproxy/tests/unit/ist.c:706,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:706,1
    - Dst: test_istlen
      Src: /src/haproxy/tests/unit/ist.c:707,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:707,1
    - Dst: test_istnext
      Src: /src/haproxy/tests/unit/ist.c:708,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:708,1
    - Dst: test_istpad
      Src: /src/haproxy/tests/unit/ist.c:709,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:709,1
    - Dst: test_isttrim
      Src: /src/haproxy/tests/unit/ist.c:710,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:710,1
    - Dst: test_istzero
      Src: /src/haproxy/tests/unit/ist.c:711,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:711,1
    - Dst: test_iststrip
      Src: /src/haproxy/tests/unit/ist.c:712,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:712,1
    - Dst: test_istdiff
      Src: /src/haproxy/tests/unit/ist.c:713,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:713,1
    - Dst: test_istmatch
      Src: /src/haproxy/tests/unit/ist.c:714,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:714,1
    - Dst: test_istnmatch
      Src: /src/haproxy/tests/unit/ist.c:715,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:715,1
    - Dst: test_isteq
      Src: /src/haproxy/tests/unit/ist.c:716,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:716,1
    - Dst: test_istneq
      Src: /src/haproxy/tests/unit/ist.c:717,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:717,1
    - Dst: test_istcpy
      Src: /src/haproxy/tests/unit/ist.c:718,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:718,1
    - Dst: test_istscpy
      Src: /src/haproxy/tests/unit/ist.c:719,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:719,1
    - Dst: test_istcat
      Src: /src/haproxy/tests/unit/ist.c:720,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:720,1
    - Dst: test_istscat
      Src: /src/haproxy/tests/unit/ist.c:721,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:721,1
    - Dst: test_istchr
      Src: /src/haproxy/tests/unit/ist.c:722,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:722,1
    - Dst: test_istfind
      Src: /src/haproxy/tests/unit/ist.c:723,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:723,1
    - Dst: test_istskip
      Src: /src/haproxy/tests/unit/ist.c:724,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:724,1
    - Dst: test_istist
      Src: /src/haproxy/tests/unit/ist.c:725,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/ist.c:725,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 728
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 728
    functionName: main
    functionSourceFile: /src/haproxy/tests/unit/ist.c
    functionUses: 0
    functionsReached:
    - test_istnmatch
    - test_istscat
    - test_istzero
    - test_istpad
    - test_istist
    - test_istmatch
    - test_isteq
    - test_ist2
    - test_istcpy
    - printf
    - test_istfind
    - test_istdiff
    - test_istnext
    - test_istskip
    - test_istcat
    - test_istlen
    - test_istchr
    - test_isttrim
    - test_iststrip
    - test_ist
    - test_istneq
    - test_istscpy
    linkageType: ''
    returnType: int
    signature: main(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-arg.c:14,1
    - Dst: ARG7
      Src: /src/haproxy/tests/unit/test-arg.c:20,1
    - Dst: atoll
      Src: /src/haproxy/tests/unit/test-arg.c:22,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-arg.c:24,1
    - Dst: make_arg_list
      Src: /src/haproxy/tests/unit/test-arg.c:25,1
    - Dst: strlen
      Src: /src/haproxy/tests/unit/test-arg.c:25,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-arg.c:28,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-arg.c:30,1
    - Dst: free
      Src: /src/haproxy/tests/unit/test-arg.c:30,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-arg.c:31,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-arg.c:32,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-arg.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 44
      start: 6
    functionDepth: 1
    functionLinenumber: 6
    functionLinenumberEnd: 44
    functionName: main
    functionSourceFile: /src/haproxy/tests/unit/test-arg.c
    functionUses: 0
    functionsReached:
    - make_arg_list
    - printf
    - strlen
    - atoll
    - free
    - ARG7
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 20
    functionName: statistical_prng
    functionSourceFile: /src/haproxy/tests/unit/test-1-among.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: statistical_prng()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - v
    - bit
    argTypes:
    - unsigned long
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 72
    functionName: one_among
    functionSourceFile: /src/haproxy/tests/unit/test-1-among.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: one_among(unsigned long v, int bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: statistical_prng
      Src: /src/haproxy/tests/unit/test-1-among.c:84,1
    - Dst: statistical_prng
      Src: /src/haproxy/tests/unit/test-1-among.c:85,1
    - Dst: one_among
      Src: /src/haproxy/tests/unit/test-1-among.c:86,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-1-among.c:88,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-1-among.c:90,1
    - Dst: atol
      Src: /src/haproxy/tests/unit/test-1-among.c:95,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-1-among.c:99,1
    - Dst: one_among
      Src: /src/haproxy/tests/unit/test-1-among.c:99,1
    - Dst: atoi
      Src: /src/haproxy/tests/unit/test-1-among.c:101,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-1-among.c:102,1
    - Dst: one_among
      Src: /src/haproxy/tests/unit/test-1-among.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 105
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/haproxy/tests/unit/test-1-among.c
    functionUses: 0
    functionsReached:
    - atoi
    - printf
    - one_among
    - statistical_prng
    - atol
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - min8
    - max8
    argTypes:
    - uint32_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 13
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 13
    functionName: is_char4_outside
    functionSourceFile: /src/haproxy/tests/unit/test-int-range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: is_char4_outside(uint32_t x, uint8_t min8, uint8_t max8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_char4_outside
      Src: /src/haproxy/tests/unit/test-int-range.c:19,1
    - Dst: is_char4_outside
      Src: /src/haproxy/tests/unit/test-int-range.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - min8
    - max8
    argTypes:
    - uint64_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: is_char8_outside_by4
    functionSourceFile: /src/haproxy/tests/unit/test-int-range.c
    functionUses: 0
    functionsReached:
    - is_char4_outside
    linkageType: ''
    returnType: uint64_t
    signature: is_char8_outside_by4(uint64_t x, uint8_t min8, uint8_t max8)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - min8
    - max8
    argTypes:
    - uint64_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 29
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 29
    functionName: is_char8_outside_by8
    functionSourceFile: /src/haproxy/tests/unit/test-int-range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: is_char8_outside_by8(uint64_t x, uint8_t min8, uint8_t max8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_char8_outside_by8
      Src: /src/haproxy/tests/unit/test-int-range.c:36,1
    - Dst: is_char8_outside_by4
      Src: /src/haproxy/tests/unit/test-int-range.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - x
    - min8
    - max8
    argTypes:
    - uint64_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: is_char8_outside
    functionSourceFile: /src/haproxy/tests/unit/test-int-range.c
    functionUses: 0
    functionsReached:
    - is_char8_outside_by8
    - is_char8_outside_by4
    linkageType: ''
    returnType: uint64_t
    signature: is_char8_outside(uint64_t x, uint8_t min8, uint8_t max8)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: slow32_ref
    functionSourceFile: /src/haproxy/tests/unit/test-int-range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: slow32_ref(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: slow64_ref
    functionSourceFile: /src/haproxy/tests/unit/test-int-range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: slow64_ref(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_char4_outside
      Src: /src/haproxy/tests/unit/test-int-range.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: fast32_gen
    functionSourceFile: /src/haproxy/tests/unit/test-int-range.c
    functionUses: 0
    functionsReached:
    - is_char4_outside
    linkageType: ''
    returnType: int
    signature: fast32_gen(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_char8_outside_by4
      Src: /src/haproxy/tests/unit/test-int-range.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: fast64_gen4
    functionSourceFile: /src/haproxy/tests/unit/test-int-range.c
    functionUses: 0
    functionsReached:
    - is_char8_outside_by4
    linkageType: ''
    returnType: int
    signature: fast64_gen4(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_char8_outside_by8
      Src: /src/haproxy/tests/unit/test-int-range.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: fast64_gen8
    functionSourceFile: /src/haproxy/tests/unit/test-int-range.c
    functionUses: 0
    functionsReached:
    - is_char8_outside_by8
    linkageType: ''
    returnType: int
    signature: fast64_gen8(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_char8_outside
      Src: /src/haproxy/tests/unit/test-int-range.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: fast64_gen
    functionSourceFile: /src/haproxy/tests/unit/test-int-range.c
    functionUses: 0
    functionsReached:
    - is_char8_outside
    linkageType: ''
    returnType: int
    signature: fast64_gen(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: fast32_spec
    functionSourceFile: /src/haproxy/tests/unit/test-int-range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fast32_spec(uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: fast64_spec
    functionSourceFile: /src/haproxy/tests/unit/test-int-range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fast64_spec(uint64_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: rnd64
    functionSourceFile: /src/haproxy/tests/unit/test-int-range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: rnd64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/haproxy/tests/unit/test-int-range.c:124,1
    - Dst: atol
      Src: /src/haproxy/tests/unit/test-int-range.c:127,1
    - Dst: atol
      Src: /src/haproxy/tests/unit/test-int-range.c:130,1
    - Dst: slow32_ref
      Src: /src/haproxy/tests/unit/test-int-range.c:134,1
    - Dst: fast32_gen
      Src: /src/haproxy/tests/unit/test-int-range.c:136,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-int-range.c:137,1
    - Dst: fast32_spec
      Src: /src/haproxy/tests/unit/test-int-range.c:141,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-int-range.c:142,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-int-range.c:149,1
    - Dst: rnd64
      Src: /src/haproxy/tests/unit/test-int-range.c:158,1
    - Dst: rnd64
      Src: /src/haproxy/tests/unit/test-int-range.c:161,1
    - Dst: slow64_ref
      Src: /src/haproxy/tests/unit/test-int-range.c:162,1
    - Dst: fast64_gen
      Src: /src/haproxy/tests/unit/test-int-range.c:164,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-int-range.c:165,1
    - Dst: fast64_gen4
      Src: /src/haproxy/tests/unit/test-int-range.c:169,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-int-range.c:170,1
    - Dst: fast64_gen8
      Src: /src/haproxy/tests/unit/test-int-range.c:174,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-int-range.c:175,1
    - Dst: fast64_spec
      Src: /src/haproxy/tests/unit/test-int-range.c:179,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-int-range.c:180,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-int-range.c:187,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-int-range.c:191,1
    - Dst: printf
      Src: /src/haproxy/tests/unit/test-int-range.c:195,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 198
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 198
    functionName: main
    functionSourceFile: /src/haproxy/tests/unit/test-int-range.c
    functionUses: 0
    functionsReached:
    - fast64_gen
    - fast64_gen4
    - fast32_gen
    - atoi
    - fast64_spec
    - printf
    - fast32_spec
    - rnd64
    - slow64_ref
    - fast64_gen8
    - slow32_ref
    - atol
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/dev/haring/haring.c:73,1
    - Dst: vfprintf
      Src: /src/haproxy/dev/haring/haring.c:74,1
    - Dst: va_end
      Src: /src/haproxy/dev/haring/haring.c:75,1
    - Dst: exit
      Src: /src/haproxy/dev/haring/haring.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - code
    - format
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: die
    functionSourceFile: /src/haproxy/dev/haring/haring.c
    functionUses: 0
    functionsReached:
    - va_end
    - exit
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: die(int code, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/haproxy/dev/haring/haring.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - arg0
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: usage
    functionSourceFile: /src/haproxy/dev/haring/haring.c
    functionUses: 0
    functionsReached:
    - die
    linkageType: ''
    returnType: void
    signature: usage(int code, const char *arg0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/dev/haring/haring.c:106,1
    - Dst: b_data
      Src: /src/haproxy/dev/haring/haring.c:114,1
    - Dst: unlikely
      Src: /src/haproxy/dev/haring/haring.c:115,1
    - Dst: b_peek
      Src: /src/haproxy/dev/haring/haring.c:115,1
    - Dst: b_peek_varint
      Src: /src/haproxy/dev/haring/haring.c:124,1
    - Dst: fprintf
      Src: /src/haproxy/dev/haring/haring.c:130,1
    - Dst: b_getblk_nc
      Src: /src/haproxy/dev/haring/haring.c:134,1
    - Dst: fwrite
      Src: /src/haproxy/dev/haring/haring.c:137,1
    - Dst: fwrite
      Src: /src/haproxy/dev/haring/haring.c:139,1
    - Dst: memchr
      Src: /src/haproxy/dev/haring/haring.c:143,1
    - Dst: fwrite
      Src: /src/haproxy/dev/haring/haring.c:146,1
    - Dst: putchar
      Src: /src/haproxy/dev/haring/haring.c:152,1
    - Dst: putchar
      Src: /src/haproxy/dev/haring/haring.c:153,1
    - Dst: putchar
      Src: /src/haproxy/dev/haring/haring.c:164,1
    - Dst: usleep
      Src: /src/haproxy/dev/haring/haring.c:173,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 3
    argNames:
    - buf
    - ofs
    - flags
    argTypes:
    - struct buffer
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 176
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 176
    functionName: dump_ring_as_buf
    functionSourceFile: /src/haproxy/dev/haring/haring.c
    functionUses: 0
    functionsReached:
    - memchr
    - putchar
    - b_peek
    - b_getblk_nc
    - usleep
    - b_peek_varint
    - b_data
    - fprintf
    - unlikely
    - fwrite
    linkageType: ''
    returnType: int
    signature: dump_ring_as_buf(struct buffer buf, size_t ofs, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_make
      Src: /src/haproxy/dev/haring/haring.c:195,1
    - Dst: dump_ring_as_buf
      Src: /src/haproxy/dev/haring/haring.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ring
    - ofs
    - flags
    argTypes:
    - struct ring_v1*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: dump_ring_v1
    functionSourceFile: /src/haproxy/dev/haring/haring.c
    functionUses: 0
    functionsReached:
    - dump_ring_as_buf
    - b_make
    linkageType: ''
    returnType: int
    signature: dump_ring_v1(struct ring_v1 *ring, size_t ofs, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_make
      Src: /src/haproxy/dev/haring/haring.c:223,1
    - Dst: dump_ring_as_buf
      Src: /src/haproxy/dev/haring/haring.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ring
    - ofs
    - flags
    argTypes:
    - struct ring_v2*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 225
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 225
    functionName: dump_ring_v2
    functionSourceFile: /src/haproxy/dev/haring/haring.c
    functionUses: 0
    functionsReached:
    - dump_ring_as_buf
    - b_make
    linkageType: ''
    returnType: int
    signature: dump_ring_v2(struct ring_v2 *ring, size_t ofs, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_make
      Src: /src/haproxy/dev/haring/haring.c:249,1
    - Dst: dump_ring_as_buf
      Src: /src/haproxy/dev/haring/haring.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ring
    - ofs
    - flags
    argTypes:
    - struct ring_v2a*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 251
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 251
    functionName: dump_ring_v2a
    functionSourceFile: /src/haproxy/dev/haring/haring.c
    functionUses: 0
    functionsReached:
    - dump_ring_as_buf
    - b_make
    linkageType: ''
    returnType: int
    signature: dump_ring_v2a(struct ring_v2a *ring, size_t ofs, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/dev/haring/haring.c:263,1
    - Dst: strcmp
      Src: /src/haproxy/dev/haring/haring.c:265,1
    - Dst: strcmp
      Src: /src/haproxy/dev/haring/haring.c:267,1
    - Dst: strcmp
      Src: /src/haproxy/dev/haring/haring.c:269,1
    - Dst: usage
      Src: /src/haproxy/dev/haring/haring.c:272,1
    - Dst: usage
      Src: /src/haproxy/dev/haring/haring.c:276,1
    - Dst: open
      Src: /src/haproxy/dev/haring/haring.c:278,1
    - Dst: perror
      Src: /src/haproxy/dev/haring/haring.c:280,1
    - Dst: fstat
      Src: /src/haproxy/dev/haring/haring.c:284,1
    - Dst: perror
      Src: /src/haproxy/dev/haring/haring.c:285,1
    - Dst: mmap
      Src: /src/haproxy/dev/haring/haring.c:289,1
    - Dst: close
      Src: /src/haproxy/dev/haring/haring.c:290,1
    - Dst: perror
      Src: /src/haproxy/dev/haring/haring.c:293,1
    - Dst: dump_ring_v2
      Src: /src/haproxy/dev/haring/haring.c:300,1
    - Dst: dump_ring_v2a
      Src: /src/haproxy/dev/haring/haring.c:302,1
    - Dst: dump_ring_v1
      Src: /src/haproxy/dev/haring/haring.c:305,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 306
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 306
    functionName: main
    functionSourceFile: /src/haproxy/dev/haring/haring.c
    functionUses: 0
    functionsReached:
    - strcmp
    - usage
    - mmap
    - dump_ring_v2a
    - dump_ring_v1
    - fstat
    - dump_ring_v2
    - open
    - close
    - perror
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/dev/term_events/term_events.c:85,1
    - Dst: exit
      Src: /src/haproxy/dev/term_events/term_events.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: usage_exit
    functionSourceFile: /src/haproxy/dev/term_events/term_events.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: usage_exit(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/haproxy/dev/term_events/term_events.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: to_upper
    functionSourceFile: /src/haproxy/dev/term_events/term_events.c
    functionUses: 0
    functionsReached:
    - toupper
    linkageType: ''
    returnType: char
    signature: '*to_upper(char *dst, const char *src)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/dev/term_events/term_events.c:105,1
    - Dst: strcmp
      Src: /src/haproxy/dev/term_events/term_events.c:108,1
    - Dst: snprintf
      Src: /src/haproxy/dev/term_events/term_events.c:109,1
    - Dst: strlen
      Src: /src/haproxy/dev/term_events/term_events.c:113,1
    - Dst: snprintf
      Src: /src/haproxy/dev/term_events/term_events.c:114,1
    - Dst: isalpha
      Src: /src/haproxy/dev/term_events/term_events.c:123,1
    - Dst: isxdigit
      Src: /src/haproxy/dev/term_events/term_events.c:123,1
    - Dst: snprintf
      Src: /src/haproxy/dev/term_events/term_events.c:124,1
    - Dst: tolower
      Src: /src/haproxy/dev/term_events/term_events.c:128,1
    - Dst: snprintf
      Src: /src/haproxy/dev/term_events/term_events.c:129,1
    - Dst: isupper
      Src: /src/haproxy/dev/term_events/term_events.c:130,1
    - Dst: to_upper
      Src: /src/haproxy/dev/term_events/term_events.c:130,1
    - Dst: hex2i
      Src: /src/haproxy/dev/term_events/term_events.c:131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - value
    argTypes:
    - char*
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 142
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 142
    functionName: tevt_show_events
    functionSourceFile: /src/haproxy/dev/term_events/term_events.c
    functionUses: 0
    functionsReached:
    - isxdigit
    - tolower
    - strlen
    - strcmp
    - isalpha
    - snprintf
    - to_upper
    - hex2i
    - isupper
    linkageType: ''
    returnType: char
    signature: '*tevt_show_events(char *buf, size_t len, const char *delim, const
      char *value)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tevt_show_events
      Src: /src/haproxy/dev/term_events/term_events.c:163,1
    - Dst: printf
      Src: /src/haproxy/dev/term_events/term_events.c:164,1
    - Dst: printf
      Src: /src/haproxy/dev/term_events/term_events.c:172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - len
    - value
    argTypes:
    - char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 179
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 179
    functionName: tevt_show_tuple_events
    functionSourceFile: /src/haproxy/dev/term_events/term_events.c
    functionUses: 0
    functionsReached:
    - printf
    - tevt_show_events
    linkageType: ''
    returnType: char
    signature: '*tevt_show_tuple_events(char *buf, size_t len, char *value)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usage_exit
      Src: /src/haproxy/dev/term_events/term_events.c:191,1
    - Dst: strcmp
      Src: /src/haproxy/dev/term_events/term_events.c:197,1
    - Dst: fgets
      Src: /src/haproxy/dev/term_events/term_events.c:202,1
    - Dst: printf
      Src: /src/haproxy/dev/term_events/term_events.c:221,1
    - Dst: printf
      Src: /src/haproxy/dev/term_events/term_events.c:225,1
    - Dst: tevt_show_tuple_events
      Src: /src/haproxy/dev/term_events/term_events.c:226,1
    - Dst: tevt_show_events
      Src: /src/haproxy/dev/term_events/term_events.c:229,1
    - Dst: printf
      Src: /src/haproxy/dev/term_events/term_events.c:230,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 233
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 233
    functionName: main
    functionSourceFile: /src/haproxy/dev/term_events/term_events.c
    functionUses: 0
    functionsReached:
    - printf
    - strcmp
    - tevt_show_events
    - tevt_show_tuple_events
    - usage_exit
    - fgets
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/dev/tcploop/tcploop.c:98,1
    - Dst: vfprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:99,1
    - Dst: va_end
      Src: /src/haproxy/dev/tcploop/tcploop.c:100,1
    - Dst: exit
      Src: /src/haproxy/dev/tcploop/tcploop.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - code
    - format
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: die
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 1
    functionsReached:
    - va_end
    - exit
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: die(int code, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - arg0
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 168
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 168
    functionName: usage
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 1
    functionsReached:
    - die
    linkageType: ''
    returnType: void
    signature: usage(int code, const char *arg0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/haproxy/dev/tcploop/tcploop.c:180,1
    - Dst: fprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:184,1
    - Dst: fprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:201,1
    - Dst: fprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:204,1
    - Dst: fprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:209,1
    - Dst: va_start
      Src: /src/haproxy/dev/tcploop/tcploop.c:211,1
    - Dst: vfprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:212,1
    - Dst: va_end
      Src: /src/haproxy/dev/tcploop/tcploop.c:213,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 214
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 214
    functionName: dolog
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - va_end
    - gettimeofday
    - vfprintf
    - fprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: dolog(const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - out
    - size
    - in
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 234
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 234
    functionName: unescape
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: unescape(char *out, int size, const char *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/dev/tcploop/tcploop.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: alloc_err_msg
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: struct err_msg
    signature: '*alloc_err_msg(int size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: waitpid
      Src: /src/haproxy/dev/tcploop/tcploop.c:251,1
    - Dst: __sync_sub_and_fetch
      Src: /src/haproxy/dev/tcploop/tcploop.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: sig_handler
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - waitpid
    - __sync_sub_and_fetch
    linkageType: ''
    returnType: void
    signature: sig_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/dev/tcploop/tcploop.c:264,1
    - Dst: strchr
      Src: /src/haproxy/dev/tcploop/tcploop.c:267,1
    - Dst: strncpy
      Src: /src/haproxy/dev/tcploop/tcploop.c:269,1
    - Dst: strrchr
      Src: /src/haproxy/dev/tcploop/tcploop.c:277,1
    - Dst: atoi
      Src: /src/haproxy/dev/tcploop/tcploop.c:278,1
    - Dst: snprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:280,1
    - Dst: htons
      Src: /src/haproxy/dev/tcploop/tcploop.c:285,1
    - Dst: strrchr
      Src: /src/haproxy/dev/tcploop/tcploop.c:292,1
    - Dst: htons
      Src: /src/haproxy/dev/tcploop/tcploop.c:295,1
    - Dst: atoi
      Src: /src/haproxy/dev/tcploop/tcploop.c:295,1
    - Dst: inet_pton
      Src: /src/haproxy/dev/tcploop/tcploop.c:297,1
    - Dst: snprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:298,1
    - Dst: htons
      Src: /src/haproxy/dev/tcploop/tcploop.c:304,1
    - Dst: atoi
      Src: /src/haproxy/dev/tcploop/tcploop.c:304,1
    - Dst: inet_pton
      Src: /src/haproxy/dev/tcploop/tcploop.c:311,1
    - Dst: gethostbyname
      Src: /src/haproxy/dev/tcploop/tcploop.c:312,1
    - Dst: snprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - str
    - ss
    - err
    argTypes:
    - char*
    - struct sockaddr_storage*
    - struct err_msg*
    constantsTouched: []
    func_position:
      end: 323
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 323
    functionName: addr_to_ss
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - gethostbyname
    - strrchr
    - atoi
    - strncpy
    - snprintf
    - inet_pton
    - strchr
    - memset
    - htons
    linkageType: ''
    returnType: int
    signature: addr_to_ss(const char *str, struct sockaddr_storage *ss, struct err_msg
      *err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: epoll_create
      Src: /src/haproxy/dev/tcploop/tcploop.c:339,1
    - Dst: epoll_ctl
      Src: /src/haproxy/dev/tcploop/tcploop.c:346,1
    - Dst: epoll_wait
      Src: /src/haproxy/dev/tcploop/tcploop.c:349,1
    - Dst: epoll_ctl
      Src: /src/haproxy/dev/tcploop/tcploop.c:353,1
    - Dst: poll
      Src: /src/haproxy/dev/tcploop/tcploop.c:361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - fd
    - events
    - ms
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 365
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 365
    functionName: wait_on_fd
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - poll
    - epoll_wait
    - epoll_create
    - epoll_ctl
    linkageType: ''
    returnType: int
    signature: wait_on_fd(int fd, int events, int ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/haproxy/dev/tcploop/tcploop.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sock
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: tcp_set_nodelay
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: tcp_set_nodelay(int sock, const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/haproxy/dev/tcploop/tcploop.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sock
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: tcp_set_nolinger
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: tcp_set_nolinger(int sock, const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/haproxy/dev/tcploop/tcploop.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sock
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 385
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 385
    functionName: tcp_set_noquickack
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: tcp_set_noquickack(int sock, const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/haproxy/dev/tcploop/tcploop.c:392,1
    - Dst: perror
      Src: /src/haproxy/dev/tcploop/tcploop.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fam
    argTypes:
    - sa_family_t
    constantsTouched: []
    func_position:
      end: 399
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 399
    functionName: tcp_socket
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - socket
    - perror
    linkageType: ''
    returnType: int
    signature: tcp_socket(sa_family_t fam)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_to_ss
      Src: /src/haproxy/dev/tcploop/tcploop.c:411,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:412,1
    - Dst: tcp_socket
      Src: /src/haproxy/dev/tcploop/tcploop.c:418,1
    - Dst: setsockopt
      Src: /src/haproxy/dev/tcploop/tcploop.c:423,1
    - Dst: perror
      Src: /src/haproxy/dev/tcploop/tcploop.c:424,1
    - Dst: setsockopt
      Src: /src/haproxy/dev/tcploop/tcploop.c:429,1
    - Dst: perror
      Src: /src/haproxy/dev/tcploop/tcploop.c:430,1
    - Dst: bind
      Src: /src/haproxy/dev/tcploop/tcploop.c:434,1
    - Dst: perror
      Src: /src/haproxy/dev/tcploop/tcploop.c:436,1
    - Dst: close
      Src: /src/haproxy/dev/tcploop/tcploop.c:442,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - sock
    - sa
    - arg
    argTypes:
    - int
    - struct sockaddr_storage*
    - char*
    constantsTouched: []
    func_position:
      end: 444
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 444
    functionName: tcp_bind
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - addr_to_ss
    - setsockopt
    - bind
    - close
    - die
    - tcp_socket
    - perror
    linkageType: ''
    returnType: int
    signature: tcp_bind(int sock, const struct sockaddr_storage *sa, const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tcp_bind
      Src: /src/haproxy/dev/tcploop/tcploop.c:452,1
    - Dst: atoi
      Src: /src/haproxy/dev/tcploop/tcploop.c:458,1
    - Dst: fprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:463,1
    - Dst: listen
      Src: /src/haproxy/dev/tcploop/tcploop.c:467,1
    - Dst: perror
      Src: /src/haproxy/dev/tcploop/tcploop.c:468,1
    - Dst: close
      Src: /src/haproxy/dev/tcploop/tcploop.c:474,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - sock
    - sa
    - arg
    argTypes:
    - int
    - struct sockaddr_storage*
    - char*
    constantsTouched: []
    func_position:
      end: 476
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 476
    functionName: tcp_listen
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - listen
    - atoi
    - tcp_bind
    - fprintf
    - close
    - perror
    linkageType: ''
    returnType: int
    signature: tcp_listen(int sock, const struct sockaddr_storage *sa, const char
      *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/haproxy/dev/tcploop/tcploop.c:485,1
    - Dst: fprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:490,1
    - Dst: accept
      Src: /src/haproxy/dev/tcploop/tcploop.c:495,1
    - Dst: perror
      Src: /src/haproxy/dev/tcploop/tcploop.c:499,1
    - Dst: close
      Src: /src/haproxy/dev/tcploop/tcploop.c:504,1
    - Dst: fcntl
      Src: /src/haproxy/dev/tcploop/tcploop.c:508,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - sock
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 510
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 510
    functionName: tcp_accept
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - fcntl
    - atoi
    - accept
    - fprintf
    - close
    - perror
    linkageType: ''
    returnType: int
    signature: tcp_accept(int sock, const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_to_ss
      Src: /src/haproxy/dev/tcploop/tcploop.c:520,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:521,1
    - Dst: tcp_socket
      Src: /src/haproxy/dev/tcploop/tcploop.c:526,1
    - Dst: fcntl
      Src: /src/haproxy/dev/tcploop/tcploop.c:531,1
    - Dst: setsockopt
      Src: /src/haproxy/dev/tcploop/tcploop.c:534,1
    - Dst: connect
      Src: /src/haproxy/dev/tcploop/tcploop.c:537,1
    - Dst: close
      Src: /src/haproxy/dev/tcploop/tcploop.c:544,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - sock
    - sa
    - arg
    argTypes:
    - int
    - struct sockaddr_storage*
    - char*
    constantsTouched: []
    func_position:
      end: 546
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 546
    functionName: tcp_connect
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - fcntl
    - addr_to_ss
    - setsockopt
    - connect
    - close
    - die
    - tcp_socket
    linkageType: ''
    returnType: int
    signature: tcp_connect(int sock, const struct sockaddr_storage *sa, const char
      *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/haproxy/dev/tcploop/tcploop.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 554
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 554
    functionName: tcp_disconnect
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - connect
    linkageType: ''
    returnType: int
    signature: tcp_disconnect(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/haproxy/dev/tcploop/tcploop.c:568,1
    - Dst: fprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:570,1
    - Dst: recv
      Src: /src/haproxy/dev/tcploop/tcploop.c:579,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:584,1
    - Dst: wait_on_fd
      Src: /src/haproxy/dev/tcploop/tcploop.c:587,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:590,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 2
    argNames:
    - sock
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 604
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 604
    functionName: tcp_recv
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - atoi
    - dolog
    - wait_on_fd
    - recv
    - fprintf
    linkageType: ''
    returnType: int
    signature: tcp_recv(int sock, const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unescape
      Src: /src/haproxy/dev/tcploop/tcploop.c:620,1
    - Dst: atoi
      Src: /src/haproxy/dev/tcploop/tcploop.c:622,1
    - Dst: fprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:624,1
    - Dst: send
      Src: /src/haproxy/dev/tcploop/tcploop.c:630,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:637,1
    - Dst: wait_on_fd
      Src: /src/haproxy/dev/tcploop/tcploop.c:640,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:643,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - sock
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 654
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 654
    functionName: tcp_send
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - atoi
    - dolog
    - wait_on_fd
    - unescape
    - fprintf
    - send
    linkageType: ''
    returnType: int
    signature: tcp_send(int sock, const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/haproxy/dev/tcploop/tcploop.c:666,1
    - Dst: fprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:668,1
    - Dst: recv
      Src: /src/haproxy/dev/tcploop/tcploop.c:677,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:682,1
    - Dst: wait_on_fd
      Src: /src/haproxy/dev/tcploop/tcploop.c:685,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:688,1
    - Dst: send
      Src: /src/haproxy/dev/tcploop/tcploop.c:694,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:699,1
    - Dst: wait_on_fd
      Src: /src/haproxy/dev/tcploop/tcploop.c:702,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:705,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 2
    argNames:
    - sock
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 720
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 720
    functionName: tcp_echo
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - atoi
    - dolog
    - wait_on_fd
    - recv
    - fprintf
    - send
    linkageType: ''
    returnType: int
    signature: tcp_echo(int sock, const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/haproxy/dev/tcploop/tcploop.c:731,1
    - Dst: fprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:733,1
    - Dst: wait_on_fd
      Src: /src/haproxy/dev/tcploop/tcploop.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sock
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 744
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 744
    functionName: tcp_wait
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - wait_on_fd
    - atoi
    - fprintf
    linkageType: ''
    returnType: int
    signature: tcp_wait(int sock, const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait_on_fd
      Src: /src/haproxy/dev/tcploop/tcploop.c:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sock
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 756
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 756
    functionName: tcp_wait_in
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - wait_on_fd
    linkageType: ''
    returnType: int
    signature: tcp_wait_in(int sock, const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wait_on_fd
      Src: /src/haproxy/dev/tcploop/tcploop.c:763,1
    - Dst: ioctl
      Src: /src/haproxy/dev/tcploop/tcploop.c:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - sock
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 773
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 773
    functionName: tcp_wait_out
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - ioctl
    - wait_on_fd
    linkageType: ''
    returnType: int
    signature: tcp_wait_out(int sock, const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/haproxy/dev/tcploop/tcploop.c:781,1
    - Dst: fprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:783,1
    - Dst: usleep
      Src: /src/haproxy/dev/tcploop/tcploop.c:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sock
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 790
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 790
    functionName: tcp_pause
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - usleep
    - atoi
    - fprintf
    linkageType: ''
    returnType: int
    signature: tcp_pause(int sock, const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/haproxy/dev/tcploop/tcploop.c:803,1
    - Dst: fprintf
      Src: /src/haproxy/dev/tcploop/tcploop.c:805,1
    - Dst: poll
      Src: /src/haproxy/dev/tcploop/tcploop.c:811,1
    - Dst: fork
      Src: /src/haproxy/dev/tcploop/tcploop.c:813,1
    - Dst: __sync_add_and_fetch
      Src: /src/haproxy/dev/tcploop/tcploop.c:815,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - sock
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 817
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 817
    functionName: tcp_fork
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - fork
    - __sync_add_and_fetch
    - atoi
    - poll
    - fprintf
    linkageType: ''
    returnType: int
    signature: tcp_fork(int sock, const char *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/dev/tcploop/tcploop.c:834,1
    - Dst: strcmp
      Src: /src/haproxy/dev/tcploop/tcploop.c:836,1
    - Dst: strcmp
      Src: /src/haproxy/dev/tcploop/tcploop.c:838,1
    - Dst: strcmp
      Src: /src/haproxy/dev/tcploop/tcploop.c:840,1
    - Dst: strcmp
      Src: /src/haproxy/dev/tcploop/tcploop.c:842,1
    - Dst: strcmp
      Src: /src/haproxy/dev/tcploop/tcploop.c:844,1
    - Dst: strcmp
      Src: /src/haproxy/dev/tcploop/tcploop.c:848,1
    - Dst: strcmp
      Src: /src/haproxy/dev/tcploop/tcploop.c:851,1
    - Dst: usage
      Src: /src/haproxy/dev/tcploop/tcploop.c:854,1
    - Dst: usage
      Src: /src/haproxy/dev/tcploop/tcploop.c:858,1
    - Dst: getpid
      Src: /src/haproxy/dev/tcploop/tcploop.c:860,1
    - Dst: signal
      Src: /src/haproxy/dev/tcploop/tcploop.c:861,1
    - Dst: addr_to_ss
      Src: /src/haproxy/dev/tcploop/tcploop.c:863,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:864,1
    - Dst: gettimeofday
      Src: /src/haproxy/dev/tcploop/tcploop.c:866,1
    - Dst: tcp_listen
      Src: /src/haproxy/dev/tcploop/tcploop.c:873,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:875,1
    - Dst: tcp_bind
      Src: /src/haproxy/dev/tcploop/tcploop.c:880,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:882,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:883,1
    - Dst: tcp_connect
      Src: /src/haproxy/dev/tcploop/tcploop.c:887,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:889,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:890,1
    - Dst: tcp_disconnect
      Src: /src/haproxy/dev/tcploop/tcploop.c:895,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:896,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:897,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:902,1
    - Dst: tcp_accept
      Src: /src/haproxy/dev/tcploop/tcploop.c:903,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:905,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:906,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:912,1
    - Dst: tcp_set_nodelay
      Src: /src/haproxy/dev/tcploop/tcploop.c:913,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:914,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:919,1
    - Dst: tcp_set_nolinger
      Src: /src/haproxy/dev/tcploop/tcploop.c:920,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:921,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:926,1
    - Dst: tcp_set_noquickack
      Src: /src/haproxy/dev/tcploop/tcploop.c:927,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:928,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:933,1
    - Dst: tcp_recv
      Src: /src/haproxy/dev/tcploop/tcploop.c:934,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:937,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:938,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:944,1
    - Dst: tcp_send
      Src: /src/haproxy/dev/tcploop/tcploop.c:945,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:948,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:949,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:955,1
    - Dst: tcp_echo
      Src: /src/haproxy/dev/tcploop/tcploop.c:956,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:957,1
    - Dst: tcp_pause
      Src: /src/haproxy/dev/tcploop/tcploop.c:961,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:962,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:967,1
    - Dst: tcp_wait
      Src: /src/haproxy/dev/tcploop/tcploop.c:968,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:969,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:970,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:975,1
    - Dst: tcp_wait_in
      Src: /src/haproxy/dev/tcploop/tcploop.c:976,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:977,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:978,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:983,1
    - Dst: tcp_wait_out
      Src: /src/haproxy/dev/tcploop/tcploop.c:984,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:985,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:986,1
    - Dst: close
      Src: /src/haproxy/dev/tcploop/tcploop.c:990,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:991,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:992,1
    - Dst: shutdown
      Src: /src/haproxy/dev/tcploop/tcploop.c:999,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:1000,1
    - Dst: shutdown
      Src: /src/haproxy/dev/tcploop/tcploop.c:1006,1
    - Dst: dolog
      Src: /src/haproxy/dev/tcploop/tcploop.c:1007,1
    - Dst: tcp_fork
      Src: /src/haproxy/dev/tcploop/tcploop.c:1011,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:1013,1
    - Dst: getpid
      Src: /src/haproxy/dev/tcploop/tcploop.c:1020,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:1030,1
    - Dst: dup
      Src: /src/haproxy/dev/tcploop/tcploop.c:1032,1
    - Dst: fcntl
      Src: /src/haproxy/dev/tcploop/tcploop.c:1033,1
    - Dst: fcntl
      Src: /src/haproxy/dev/tcploop/tcploop.c:1033,1
    - Dst: fcntl
      Src: /src/haproxy/dev/tcploop/tcploop.c:1034,1
    - Dst: fcntl
      Src: /src/haproxy/dev/tcploop/tcploop.c:1034,1
    - Dst: strchr
      Src: /src/haproxy/dev/tcploop/tcploop.c:1035,1
    - Dst: dup2
      Src: /src/haproxy/dev/tcploop/tcploop.c:1036,1
    - Dst: strchr
      Src: /src/haproxy/dev/tcploop/tcploop.c:1037,1
    - Dst: dup2
      Src: /src/haproxy/dev/tcploop/tcploop.c:1038,1
    - Dst: strchr
      Src: /src/haproxy/dev/tcploop/tcploop.c:1039,1
    - Dst: dup2
      Src: /src/haproxy/dev/tcploop/tcploop.c:1040,1
    - Dst: execvp
      Src: /src/haproxy/dev/tcploop/tcploop.c:1042,1
    - Dst: dup2
      Src: /src/haproxy/dev/tcploop/tcploop.c:1045,1
    - Dst: close
      Src: /src/haproxy/dev/tcploop/tcploop.c:1046,1
    - Dst: die
      Src: /src/haproxy/dev/tcploop/tcploop.c:1047,1
    - Dst: strerror
      Src: /src/haproxy/dev/tcploop/tcploop.c:1047,1
    - Dst: usage
      Src: /src/haproxy/dev/tcploop/tcploop.c:1051,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 191
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1055
      start: 819
    functionDepth: 3
    functionLinenumber: 819
    functionLinenumberEnd: 1055
    functionName: main
    functionSourceFile: /src/haproxy/dev/tcploop/tcploop.c
    functionUses: 0
    functionsReached:
    - tcp_accept
    - tcp_echo
    - tcp_disconnect
    - tcp_listen
    - tcp_set_nolinger
    - getpid
    - tcp_bind
    - tcp_send
    - tcp_recv
    - tcp_set_nodelay
    - close
    - tcp_connect
    - strerror
    - shutdown
    - addr_to_ss
    - strcmp
    - gettimeofday
    - tcp_set_noquickack
    - dup
    - dolog
    - usage
    - tcp_wait
    - strchr
    - execvp
    - fcntl
    - tcp_wait_out
    - tcp_fork
    - signal
    - tcp_pause
    - dup2
    - die
    - tcp_wait_in
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/dev/flags/flags.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - word
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: get_show_as
    functionSourceFile: /src/haproxy/dev/flags/flags.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: unsigned int
    signature: get_show_as(const char *word)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/dev/flags/flags.c:79,1
    - Dst: fprintf
      Src: /src/haproxy/dev/flags/flags.c:83,1
    - Dst: fprintf
      Src: /src/haproxy/dev/flags/flags.c:84,1
    - Dst: exit
      Src: /src/haproxy/dev/flags/flags.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: usage_exit
    functionSourceFile: /src/haproxy/dev/flags/flags.c
    functionUses: 1
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: usage_exit(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usage_exit
      Src: /src/haproxy/dev/flags/flags.c:103,1
    - Dst: get_show_as
      Src: /src/haproxy/dev/flags/flags.c:105,1
    - Dst: strcmp
      Src: /src/haproxy/dev/flags/flags.c:117,1
    - Dst: fgets
      Src: /src/haproxy/dev/flags/flags.c:122,1
    - Dst: isalnum
      Src: /src/haproxy/dev/flags/flags.c:133,1
    - Dst: toupper
      Src: /src/haproxy/dev/flags/flags.c:133,1
    - Dst: toupper
      Src: /src/haproxy/dev/flags/flags.c:133,1
    - Dst: strtoul
      Src: /src/haproxy/dev/flags/flags.c:141,1
    - Dst: fprintf
      Src: /src/haproxy/dev/flags/flags.c:143,1
    - Dst: usage_exit
      Src: /src/haproxy/dev/flags/flags.c:144,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:148,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:150,1
    - Dst: chn_show_analysers
      Src: /src/haproxy/dev/flags/flags.c:150,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:151,1
    - Dst: chn_show_flags
      Src: /src/haproxy/dev/flags/flags.c:151,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:152,1
    - Dst: conn_show_flags
      Src: /src/haproxy/dev/flags/flags.c:152,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:153,1
    - Dst: sc_show_flags
      Src: /src/haproxy/dev/flags/flags.c:153,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:154,1
    - Dst: se_show_flags
      Src: /src/haproxy/dev/flags/flags.c:154,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:155,1
    - Dst: strm_et_show_flags
      Src: /src/haproxy/dev/flags/flags.c:155,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:156,1
    - Dst: strm_show_flags
      Src: /src/haproxy/dev/flags/flags.c:156,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:157,1
    - Dst: task_show_state
      Src: /src/haproxy/dev/flags/flags.c:157,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:158,1
    - Dst: txn_show_flags
      Src: /src/haproxy/dev/flags/flags.c:158,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:159,1
    - Dst: hsl_show_flags
      Src: /src/haproxy/dev/flags/flags.c:159,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:160,1
    - Dst: htx_show_flags
      Src: /src/haproxy/dev/flags/flags.c:160,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:161,1
    - Dst: hmsg_show_flags
      Src: /src/haproxy/dev/flags/flags.c:161,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:162,1
    - Dst: fd_show_flags
      Src: /src/haproxy/dev/flags/flags.c:162,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:163,1
    - Dst: h2c_show_flags
      Src: /src/haproxy/dev/flags/flags.c:163,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:164,1
    - Dst: h2s_show_flags
      Src: /src/haproxy/dev/flags/flags.c:164,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:165,1
    - Dst: h1c_show_flags
      Src: /src/haproxy/dev/flags/flags.c:165,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:166,1
    - Dst: h1s_show_flags
      Src: /src/haproxy/dev/flags/flags.c:166,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:167,1
    - Dst: fconn_show_flags
      Src: /src/haproxy/dev/flags/flags.c:167,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:168,1
    - Dst: fstrm_show_flags
      Src: /src/haproxy/dev/flags/flags.c:168,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:169,1
    - Dst: peers_show_flags
      Src: /src/haproxy/dev/flags/flags.c:169,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:170,1
    - Dst: peer_show_flags
      Src: /src/haproxy/dev/flags/flags.c:170,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:171,1
    - Dst: qc_show_flags
      Src: /src/haproxy/dev/flags/flags.c:171,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:172,1
    - Dst: spop_conn_show_flags
      Src: /src/haproxy/dev/flags/flags.c:172,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:173,1
    - Dst: spop_strm_show_flags
      Src: /src/haproxy/dev/flags/flags.c:173,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:174,1
    - Dst: qcc_show_flags
      Src: /src/haproxy/dev/flags/flags.c:174,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:175,1
    - Dst: qcs_show_flags
      Src: /src/haproxy/dev/flags/flags.c:175,1
    - Dst: printf
      Src: /src/haproxy/dev/flags/flags.c:176,1
    - Dst: appctx_show_flags
      Src: /src/haproxy/dev/flags/flags.c:176,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 96
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 179
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 179
    functionName: main
    functionSourceFile: /src/haproxy/dev/flags/flags.c
    functionUses: 0
    functionsReached:
    - appctx_show_flags
    - chn_show_flags
    - task_show_state
    - h1s_show_flags
    - get_show_as
    - qcc_show_flags
    - fprintf
    - isalnum
    - spop_conn_show_flags
    - toupper
    - strcmp
    - txn_show_flags
    - peer_show_flags
    - strtoul
    - fgets
    - se_show_flags
    - qcs_show_flags
    - fconn_show_flags
    - printf
    - h1c_show_flags
    - strm_et_show_flags
    - sc_show_flags
    - hsl_show_flags
    - chn_show_analysers
    - qc_show_flags
    - htx_show_flags
    - conn_show_flags
    - hmsg_show_flags
    - h2s_show_flags
    - fd_show_flags
    - h2c_show_flags
    - strm_show_flags
    - peers_show_flags
    - fstrm_show_flags
    - usage_exit
    - spop_strm_show_flags
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/dev/hpack/decode.c:48,1
    - Dst: fprintf
      Src: /src/haproxy/dev/hpack/decode.c:51,1
    - Dst: fprintf
      Src: /src/haproxy/dev/hpack/decode.c:53,1
    - Dst: fputc
      Src: /src/haproxy/dev/hpack/decode.c:57,1
    - Dst: fputc
      Src: /src/haproxy/dev/hpack/decode.c:59,1
    - Dst: fprintf
      Src: /src/haproxy/dev/hpack/decode.c:63,1
    - Dst: fprintf
      Src: /src/haproxy/dev/hpack/decode.c:65,1
    - Dst: fprintf
      Src: /src/haproxy/dev/hpack/decode.c:68,1
    - Dst: isprint
      Src: /src/haproxy/dev/hpack/decode.c:71,1
    - Dst: fputc
      Src: /src/haproxy/dev/hpack/decode.c:72,1
    - Dst: fputc
      Src: /src/haproxy/dev/hpack/decode.c:74,1
    - Dst: fputc
      Src: /src/haproxy/dev/hpack/decode.c:77,1
    - Dst: fputc
      Src: /src/haproxy/dev/hpack/decode.c:79,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - out
    - pfx
    - buf
    - baseaddr
    - len
    argTypes:
    - FILE*
    - char*
    - char*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 81
    functionName: debug_hexdump
    functionSourceFile: /src/haproxy/dev/hpack/decode.c
    functionUses: 0
    functionsReached:
    - fputc
    - isprint
    - fprintf
    linkageType: ''
    returnType: void
    signature: "debug_hexdump(FILE *out, const char *pfx, const char *buf,\n                   unsigned
      int baseaddr, int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/dev/hpack/decode.c:95,1
    - Dst: vfprintf
      Src: /src/haproxy/dev/hpack/decode.c:96,1
    - Dst: va_end
      Src: /src/haproxy/dev/hpack/decode.c:97,1
    - Dst: exit
      Src: /src/haproxy/dev/hpack/decode.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - code
    - format
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: die
    functionSourceFile: /src/haproxy/dev/hpack/decode.c
    functionUses: 5
    functionsReached:
    - va_end
    - exit
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: die(int code, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 30
    argCount: 3
    argNames:
    - hex
    - bin
    - size
    argTypes:
    - char*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 152
    functionName: hex2bin
    functionSourceFile: /src/haproxy/dev/hpack/decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hex2bin(const char *hex, uint8_t *bin, int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/haproxy/dev/hpack/decode.c:166,1
    - Dst: hpack_dht_alloc
      Src: /src/haproxy/dev/hpack/decode.c:172,1
    - Dst: die
      Src: /src/haproxy/dev/hpack/decode.c:174,1
    - Dst: fgets
      Src: /src/haproxy/dev/hpack/decode.c:178,1
    - Dst: hex2bin
      Src: /src/haproxy/dev/hpack/decode.c:179,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/decode.c:182,1
    - Dst: debug_hexdump
      Src: /src/haproxy/dev/hpack/decode.c:183,1
    - Dst: hpack_decode_frame
      Src: /src/haproxy/dev/hpack/decode.c:185,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/decode.c:188,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/decode.c:192,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/decode.c:199,1
    - Dst: istpad
      Src: /src/haproxy/dev/hpack/decode.c:200,1
    - Dst: h2_phdr_to_str
      Src: /src/haproxy/dev/hpack/decode.c:201,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/decode.c:203,1
    - Dst: istpad
      Src: /src/haproxy/dev/hpack/decode.c:204,1
    - Dst: puts
      Src: /src/haproxy/dev/hpack/decode.c:207,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/decode.c:209,1
    - Dst: hpack_dht_dump
      Src: /src/haproxy/dev/hpack/decode.c:210,1
    - Dst: puts
      Src: /src/haproxy/dev/hpack/decode.c:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 215
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 215
    functionName: main
    functionSourceFile: /src/haproxy/dev/hpack/decode.c
    functionUses: 0
    functionsReached:
    - atoi
    - hpack_dht_dump
    - printf
    - h2_phdr_to_str
    - istpad
    - hpack_decode_frame
    - hex2bin
    - puts
    - die
    - debug_hexdump
    - fgets
    - hpack_dht_alloc
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:287,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:295,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:300,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:302,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:310,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:315,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:317,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:327,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:332,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:334,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:344,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:349,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:351,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:361,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:366,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-rht.c:367,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 72
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 369
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 369
    functionName: main
    functionSourceFile: /src/haproxy/dev/hpack/gen-rht.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/dev/hpack/gen-enc.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: get_hdr_rank
    functionSourceFile: /src/haproxy/dev/hpack/gen-enc.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: get_hdr_rank(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_hdr_rank
      Src: /src/haproxy/dev/hpack/gen-enc.c:102,1
    - Dst: get_hdr_rank
      Src: /src/haproxy/dev/hpack/gen-enc.c:103,1
    - Dst: strcmp
      Src: /src/haproxy/dev/hpack/gen-enc.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 121
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 121
    functionName: cmp_idx
    functionSourceFile: /src/haproxy/dev/hpack/gen-enc.c
    functionUses: 0
    functionsReached:
    - strcmp
    - get_hdr_rank
    linkageType: ''
    returnType: int
    signature: cmp_idx(const void *l, const void *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/haproxy/dev/hpack/gen-enc.c:144,1
    - Dst: memcmp
      Src: /src/haproxy/dev/hpack/gen-enc.c:159,1
    - Dst: abort
      Src: /src/haproxy/dev/hpack/gen-enc.c:167,1
    - Dst: memcpy
      Src: /src/haproxy/dev/hpack/gen-enc.c:172,1
    - Dst: abort
      Src: /src/haproxy/dev/hpack/gen-enc.c:178,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-enc.c:181,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-enc.c:184,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-enc.c:186,1
    - Dst: putchar
      Src: /src/haproxy/dev/hpack/gen-enc.c:189,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-enc.c:191,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-enc.c:193,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-enc.c:196,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-enc.c:198,1
    - Dst: putchar
      Src: /src/haproxy/dev/hpack/gen-enc.c:201,1
    - Dst: printf
      Src: /src/haproxy/dev/hpack/gen-enc.c:203,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 205
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 205
    functionName: main
    functionSourceFile: /src/haproxy/dev/hpack/gen-enc.c
    functionUses: 0
    functionsReached:
    - putchar
    - abort
    - printf
    - memcmp
    - memcpy
    - qsort
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: side
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*side(int fd)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 81
    functionName: usage
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: usage(const char *arg0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/dev/poll/poll.c:86,1
    - Dst: exit
      Src: /src/haproxy/dev/poll/poll.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: die
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 6
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: die(const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/dev/poll/poll.c:97,1
    - Dst: strerror
      Src: /src/haproxy/dev/poll/poll.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: get_errno
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strerror
    linkageType: ''
    returnType: char
    signature: '*get_errno(int ret)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: accept
      Src: /src/haproxy/dev/poll/poll.c:106,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:110,1
    - Dst: side
      Src: /src/haproxy/dev/poll/poll.c:110,1
    - Dst: get_errno
      Src: /src/haproxy/dev/poll/poll.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: do_acc
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 0
    functionsReached:
    - printf
    - accept
    - get_errno
    - side
    linkageType: ''
    returnType: void
    signature: do_acc(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/haproxy/dev/poll/poll.c:117,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:119,1
    - Dst: side
      Src: /src/haproxy/dev/poll/poll.c:119,1
    - Dst: get_errno
      Src: /src/haproxy/dev/poll/poll.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: do_con
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 0
    functionsReached:
    - printf
    - get_errno
    - side
    - connect
    linkageType: ''
    returnType: void
    signature: do_con(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/haproxy/dev/poll/poll.c:127,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:129,1
    - Dst: side
      Src: /src/haproxy/dev/poll/poll.c:129,1
    - Dst: get_errno
      Src: /src/haproxy/dev/poll/poll.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: do_snd
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 0
    functionsReached:
    - printf
    - send
    - get_errno
    - side
    linkageType: ''
    returnType: void
    signature: do_snd(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/haproxy/dev/poll/poll.c:136,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:138,1
    - Dst: side
      Src: /src/haproxy/dev/poll/poll.c:138,1
    - Dst: get_errno
      Src: /src/haproxy/dev/poll/poll.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: do_mor
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 0
    functionsReached:
    - printf
    - send
    - get_errno
    - side
    linkageType: ''
    returnType: void
    signature: do_mor(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/haproxy/dev/poll/poll.c:146,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:148,1
    - Dst: side
      Src: /src/haproxy/dev/poll/poll.c:148,1
    - Dst: get_errno
      Src: /src/haproxy/dev/poll/poll.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: do_rcv
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 0
    functionsReached:
    - printf
    - recv
    - get_errno
    - side
    linkageType: ''
    returnType: void
    signature: do_rcv(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/haproxy/dev/poll/poll.c:158,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:167,1
    - Dst: side
      Src: /src/haproxy/dev/poll/poll.c:167,1
    - Dst: get_errno
      Src: /src/haproxy/dev/poll/poll.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 168
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 168
    functionName: do_drn
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 0
    functionsReached:
    - printf
    - recv
    - get_errno
    - side
    linkageType: ''
    returnType: void
    signature: do_drn(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/haproxy/dev/poll/poll.c:174,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:176,1
    - Dst: side
      Src: /src/haproxy/dev/poll/poll.c:176,1
    - Dst: get_errno
      Src: /src/haproxy/dev/poll/poll.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: do_shr
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 0
    functionsReached:
    - printf
    - get_errno
    - shutdown
    - side
    linkageType: ''
    returnType: void
    signature: do_shr(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/haproxy/dev/poll/poll.c:183,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:185,1
    - Dst: side
      Src: /src/haproxy/dev/poll/poll.c:185,1
    - Dst: get_errno
      Src: /src/haproxy/dev/poll/poll.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: do_shw
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 0
    functionsReached:
    - printf
    - get_errno
    - shutdown
    - side
    linkageType: ''
    returnType: void
    signature: do_shw(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/haproxy/dev/poll/poll.c:192,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:194,1
    - Dst: side
      Src: /src/haproxy/dev/poll/poll.c:194,1
    - Dst: get_errno
      Src: /src/haproxy/dev/poll/poll.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: do_shb
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 0
    functionsReached:
    - printf
    - get_errno
    - shutdown
    - side
    linkageType: ''
    returnType: void
    signature: do_shb(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/haproxy/dev/poll/poll.c:202,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:204,1
    - Dst: side
      Src: /src/haproxy/dev/poll/poll.c:204,1
    - Dst: get_errno
      Src: /src/haproxy/dev/poll/poll.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: do_lin
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 0
    functionsReached:
    - printf
    - side
    - get_errno
    - setsockopt
    linkageType: ''
    returnType: void
    signature: do_lin(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/haproxy/dev/poll/poll.c:211,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:213,1
    - Dst: side
      Src: /src/haproxy/dev/poll/poll.c:213,1
    - Dst: get_errno
      Src: /src/haproxy/dev/poll/poll.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: do_clo
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 0
    functionsReached:
    - printf
    - get_errno
    - close
    - side
    linkageType: ''
    returnType: void
    signature: do_clo(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: epoll_create
      Src: /src/haproxy/dev/poll/poll.c:228,1
    - Dst: epoll_ctl
      Src: /src/haproxy/dev/poll/poll.c:233,1
    - Dst: epoll_wait
      Src: /src/haproxy/dev/poll/poll.c:234,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:237,1
    - Dst: side
      Src: /src/haproxy/dev/poll/poll.c:237,1
    - Dst: get_errno
      Src: /src/haproxy/dev/poll/poll.c:237,1
    - Dst: putchar
      Src: /src/haproxy/dev/poll/poll.c:239,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:244,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:245,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:246,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:247,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:248,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:249,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:250,1
    - Dst: putchar
      Src: /src/haproxy/dev/poll/poll.c:253,1
    - Dst: putchar
      Src: /src/haproxy/dev/poll/poll.c:255,1
    - Dst: putchar
      Src: /src/haproxy/dev/poll/poll.c:257,1
    - Dst: epoll_ctl
      Src: /src/haproxy/dev/poll/poll.c:261,1
    - Dst: poll
      Src: /src/haproxy/dev/poll/poll.c:265,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:267,1
    - Dst: side
      Src: /src/haproxy/dev/poll/poll.c:267,1
    - Dst: get_errno
      Src: /src/haproxy/dev/poll/poll.c:267,1
    - Dst: putchar
      Src: /src/haproxy/dev/poll/poll.c:269,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:274,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:275,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:276,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:277,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:278,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:279,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:281,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:283,1
    - Dst: putchar
      Src: /src/haproxy/dev/poll/poll.c:286,1
    - Dst: putchar
      Src: /src/haproxy/dev/poll/poll.c:288,1
    - Dst: putchar
      Src: /src/haproxy/dev/poll/poll.c:290,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 90
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 292
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 292
    functionName: do_pol
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 0
    functionsReached:
    - get_errno
    - putchar
    - printf
    - poll
    - epoll_wait
    - epoll_create
    - epoll_ctl
    - side
    linkageType: ''
    returnType: void
    signature: do_pol(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/haproxy/dev/poll/poll.c:301,1
    - Dst: die
      Src: /src/haproxy/dev/poll/poll.c:303,1
    - Dst: setsockopt
      Src: /src/haproxy/dev/poll/poll.c:305,1
    - Dst: memset
      Src: /src/haproxy/dev/poll/poll.c:307,1
    - Dst: htons
      Src: /src/haproxy/dev/poll/poll.c:309,1
    - Dst: bind
      Src: /src/haproxy/dev/poll/poll.c:312,1
    - Dst: die
      Src: /src/haproxy/dev/poll/poll.c:313,1
    - Dst: listen
      Src: /src/haproxy/dev/poll/poll.c:315,1
    - Dst: die
      Src: /src/haproxy/dev/poll/poll.c:316,1
    - Dst: getsockname
      Src: /src/haproxy/dev/poll/poll.c:318,1
    - Dst: die
      Src: /src/haproxy/dev/poll/poll.c:319,1
    - Dst: socket
      Src: /src/haproxy/dev/poll/poll.c:323,1
    - Dst: die
      Src: /src/haproxy/dev/poll/poll.c:325,1
    - Dst: usage
      Src: /src/haproxy/dev/poll/poll.c:329,1
    - Dst: exit
      Src: /src/haproxy/dev/poll/poll.c:330,1
    - Dst: write
      Src: /src/haproxy/dev/poll/poll.c:333,1
    - Dst: usage
      Src: /src/haproxy/dev/poll/poll.c:338,1
    - Dst: exit
      Src: /src/haproxy/dev/poll/poll.c:339,1
    - Dst: usage
      Src: /src/haproxy/dev/poll/poll.c:345,1
    - Dst: exit
      Src: /src/haproxy/dev/poll/poll.c:346,1
    - Dst: do_con
      Src: /src/haproxy/dev/poll/poll.c:357,1
    - Dst: do_con
      Src: /src/haproxy/dev/poll/poll.c:367,1
    - Dst: do_acc
      Src: /src/haproxy/dev/poll/poll.c:369,1
    - Dst: die
      Src: /src/haproxy/dev/poll/poll.c:371,1
    - Dst: usage
      Src: /src/haproxy/dev/poll/poll.c:378,1
    - Dst: exit
      Src: /src/haproxy/dev/poll/poll.c:378,1
    - Dst: usage
      Src: /src/haproxy/dev/poll/poll.c:383,1
    - Dst: exit
      Src: /src/haproxy/dev/poll/poll.c:384,1
    - Dst: strchr
      Src: /src/haproxy/dev/poll/poll.c:388,1
    - Dst: strcmp
      Src: /src/haproxy/dev/poll/poll.c:392,1
    - Dst: do_acc
      Src: /src/haproxy/dev/poll/poll.c:393,1
    - Dst: strcmp
      Src: /src/haproxy/dev/poll/poll.c:395,1
    - Dst: do_con
      Src: /src/haproxy/dev/poll/poll.c:396,1
    - Dst: strcmp
      Src: /src/haproxy/dev/poll/poll.c:398,1
    - Dst: do_snd
      Src: /src/haproxy/dev/poll/poll.c:399,1
    - Dst: strcmp
      Src: /src/haproxy/dev/poll/poll.c:401,1
    - Dst: do_mor
      Src: /src/haproxy/dev/poll/poll.c:402,1
    - Dst: strcmp
      Src: /src/haproxy/dev/poll/poll.c:404,1
    - Dst: do_rcv
      Src: /src/haproxy/dev/poll/poll.c:405,1
    - Dst: strcmp
      Src: /src/haproxy/dev/poll/poll.c:407,1
    - Dst: do_drn
      Src: /src/haproxy/dev/poll/poll.c:408,1
    - Dst: strcmp
      Src: /src/haproxy/dev/poll/poll.c:410,1
    - Dst: do_shb
      Src: /src/haproxy/dev/poll/poll.c:411,1
    - Dst: strcmp
      Src: /src/haproxy/dev/poll/poll.c:413,1
    - Dst: do_shr
      Src: /src/haproxy/dev/poll/poll.c:414,1
    - Dst: strcmp
      Src: /src/haproxy/dev/poll/poll.c:416,1
    - Dst: do_shw
      Src: /src/haproxy/dev/poll/poll.c:417,1
    - Dst: strcmp
      Src: /src/haproxy/dev/poll/poll.c:419,1
    - Dst: do_lin
      Src: /src/haproxy/dev/poll/poll.c:420,1
    - Dst: strcmp
      Src: /src/haproxy/dev/poll/poll.c:422,1
    - Dst: do_clo
      Src: /src/haproxy/dev/poll/poll.c:423,1
    - Dst: strcmp
      Src: /src/haproxy/dev/poll/poll.c:425,1
    - Dst: do_pol
      Src: /src/haproxy/dev/poll/poll.c:426,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:429,1
    - Dst: write
      Src: /src/haproxy/dev/poll/poll.c:436,1
    - Dst: printf
      Src: /src/haproxy/dev/poll/poll.c:439,1
    - Dst: usage
      Src: /src/haproxy/dev/poll/poll.c:440,1
    - Dst: exit
      Src: /src/haproxy/dev/poll/poll.c:441,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 132
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 445
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 445
    functionName: main
    functionSourceFile: /src/haproxy/dev/poll/poll.c
    functionUses: 0
    functionsReached:
    - do_acc
    - write
    - getsockname
    - do_shw
    - do_rcv
    - do_con
    - do_clo
    - memset
    - listen
    - strcmp
    - die
    - do_pol
    - socket
    - exit
    - setsockopt
    - printf
    - usage
    - do_lin
    - do_snd
    - strchr
    - htons
    - do_mor
    - do_shb
    - do_shr
    - do_drn
    - bind
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: ha_backtrace_to_stderr
    functionSourceFile: /src/haproxy/dev/qpack/decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: ha_backtrace_to_stderr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 30
    argCount: 3
    argNames:
    - hex
    - bin
    - size
    argTypes:
    - char*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 91
    functionName: hex2bin
    functionSourceFile: /src/haproxy/dev/qpack/decode.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hex2bin(const char *hex, uint8_t *bin, int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/dev/qpack/decode.c:102,1
    - Dst: fprintf
      Src: /src/haproxy/dev/qpack/decode.c:105,1
    - Dst: fprintf
      Src: /src/haproxy/dev/qpack/decode.c:107,1
    - Dst: fputc
      Src: /src/haproxy/dev/qpack/decode.c:111,1
    - Dst: fputc
      Src: /src/haproxy/dev/qpack/decode.c:113,1
    - Dst: fprintf
      Src: /src/haproxy/dev/qpack/decode.c:117,1
    - Dst: fprintf
      Src: /src/haproxy/dev/qpack/decode.c:119,1
    - Dst: fprintf
      Src: /src/haproxy/dev/qpack/decode.c:122,1
    - Dst: isprint
      Src: /src/haproxy/dev/qpack/decode.c:125,1
    - Dst: fputc
      Src: /src/haproxy/dev/qpack/decode.c:126,1
    - Dst: fputc
      Src: /src/haproxy/dev/qpack/decode.c:128,1
    - Dst: fputc
      Src: /src/haproxy/dev/qpack/decode.c:131,1
    - Dst: fputc
      Src: /src/haproxy/dev/qpack/decode.c:133,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - out
    - pfx
    - buf
    - baseaddr
    - len
    argTypes:
    - FILE*
    - char*
    - char*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 135
    functionName: debug_hexdump
    functionSourceFile: /src/haproxy/dev/qpack/decode.c
    functionUses: 1
    functionsReached:
    - fputc
    - isprint
    - fprintf
    linkageType: ''
    returnType: void
    signature: "debug_hexdump(FILE *out, const char *pfx, const char *buf,\n                   unsigned
      int baseaddr, int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/haproxy/dev/qpack/decode.c:143,1
    - Dst: hex2bin
      Src: /src/haproxy/dev/qpack/decode.c:146,1
    - Dst: qpack_decode_fs
      Src: /src/haproxy/dev/qpack/decode.c:149,1
    - Dst: fprintf
      Src: /src/haproxy/dev/qpack/decode.c:152,1
    - Dst: fprintf
      Src: /src/haproxy/dev/qpack/decode.c:157,1
    - Dst: isteq
      Src: /src/haproxy/dev/qpack/decode.c:159,1
    - Dst: ist
      Src: /src/haproxy/dev/qpack/decode.c:159,1
    - Dst: fprintf
      Src: /src/haproxy/dev/qpack/decode.c:162,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 171
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 171
    functionName: main
    functionSourceFile: /src/haproxy/dev/qpack/decode.c
    functionUses: 0
    functionsReached:
    - qpack_decode_fs
    - isteq
    - hex2bin
    - ist
    - fprintf
    - fgets
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: nl_cli_alloc_socket
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:24,1
    - Dst: nl_cli_connect
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:25,1
    - Dst: nl_cli_link_alloc_cache
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:26,1
    - Dst: nl_cli_qdisc_alloc
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: qdisc_init
    functionSourceFile: /src/haproxy/dev/plug_qdisc/plug_qdisc.c
    functionUses: 0
    functionsReached:
    - nl_cli_connect
    - nl_cli_alloc_socket
    - nl_cli_qdisc_alloc
    - nl_cli_link_alloc_cache
    linkageType: ''
    returnType: int
    signature: qdisc_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rtnl_qdisc_plug_release_indefinite
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:38,1
    - Dst: rtnl_qdisc_add
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: plug_qdisc_release_indefinite_buffer
    functionSourceFile: /src/haproxy/dev/plug_qdisc/plug_qdisc.c
    functionUses: 0
    functionsReached:
    - rtnl_qdisc_plug_release_indefinite
    - rtnl_qdisc_add
    linkageType: ''
    returnType: int
    signature: plug_qdisc_release_indefinite_buffer(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rtnl_qdisc_plug_buffer
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:45,1
    - Dst: rtnl_qdisc_add
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: plug_qdisc_plug_buffer
    functionSourceFile: /src/haproxy/dev/plug_qdisc/plug_qdisc.c
    functionUses: 0
    functionsReached:
    - rtnl_qdisc_plug_buffer
    - rtnl_qdisc_add
    linkageType: ''
    returnType: int
    signature: plug_qdisc_plug_buffer(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qdisc_init
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:59,1
    - Dst: nl_cli_tc_parse_dev
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:62,1
    - Dst: nl_cli_tc_parse_parent
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:63,1
    - Dst: rtnl_tc_get_ifindex
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:64,1
    - Dst: rtnl_tc_get_parent
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:67,1
    - Dst: nl_cli_tc_parse_handle
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:70,1
    - Dst: rtnl_tc_set_kind
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:72,1
    - Dst: rtnl_qdisc_plug_set_limit
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:74,1
    - Dst: rtnl_qdisc_add
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:76,1
    - Dst: fprintf
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:78,1
    - Dst: nl_geterror
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:78,1
    - Dst: plug_qdisc_release_indefinite_buffer
      Src: /src/haproxy/dev/plug_qdisc/plug_qdisc.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - device
    - parent
    - id
    - limit
    argTypes:
    - char*
    - char*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 85
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 85
    functionName: plug_qdisc_attach
    functionSourceFile: /src/haproxy/dev/plug_qdisc/plug_qdisc.c
    functionUses: 0
    functionsReached:
    - nl_cli_tc_parse_dev
    - plug_qdisc_release_indefinite_buffer
    - rtnl_qdisc_add
    - rtnl_tc_get_ifindex
    - qdisc_init
    - nl_cli_tc_parse_handle
    - rtnl_qdisc_plug_set_limit
    - fprintf
    - nl_cli_tc_parse_parent
    - nl_geterror
    - rtnl_tc_set_kind
    - rtnl_tc_get_parent
    linkageType: ''
    returnType: int
    signature: plug_qdisc_attach(char *device, char *parent, char *id, uint32_t limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/haproxy/dev/ncpu/ncpu.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 29
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 29
    functionName: sysconf
    functionSourceFile: /src/haproxy/dev/ncpu/ncpu.c
    functionUses: 0
    functionsReached:
    - atoi
    linkageType: ''
    returnType: long
    signature: sysconf(int name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ZERO_S
      Src: /src/haproxy/dev/ncpu/ncpu.c:37,1
    - Dst: getenv
      Src: /src/haproxy/dev/ncpu/ncpu.c:39,1
    - Dst: atoi
      Src: /src/haproxy/dev/ncpu/ncpu.c:40,1
    - Dst: CPU_SET_S
      Src: /src/haproxy/dev/ncpu/ncpu.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pid
    - cpusetsize
    - mask
    argTypes:
    - pid_t
    - size_t
    - cpu_set_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: sched_getaffinity
    functionSourceFile: /src/haproxy/dev/ncpu/ncpu.c
    functionUses: 0
    functionsReached:
    - CPU_ZERO_S
    - getenv
    - CPU_SET_S
    - atoi
    linkageType: ''
    returnType: int
    signature: sched_getaffinity(pid_t pid, size_t cpusetsize, cpu_set_t *mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pid
    - cpusetsize
    - mask
    argTypes:
    - pid_t
    - size_t
    - cpu_set_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: sched_setaffinity
    functionSourceFile: /src/haproxy/dev/ncpu/ncpu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: sched_setaffinity(pid_t pid, size_t cpusetsize, const cpu_set_t *mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/dev/ncpu/ncpu.c:58,1
    - Dst: exit
      Src: /src/haproxy/dev/ncpu/ncpu.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: usage
    functionSourceFile: /src/haproxy/dev/ncpu/ncpu.c
    functionUses: 3
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: usage(const char *argv0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readlink
      Src: /src/haproxy/dev/ncpu/ncpu.c:76,1
    - Dst: snprintf
      Src: /src/haproxy/dev/ncpu/ncpu.c:80,1
    - Dst: usage
      Src: /src/haproxy/dev/ncpu/ncpu.c:87,1
    - Dst: strcmp
      Src: /src/haproxy/dev/ncpu/ncpu.c:89,1
    - Dst: strcmp
      Src: /src/haproxy/dev/ncpu/ncpu.c:94,1
    - Dst: usage
      Src: /src/haproxy/dev/ncpu/ncpu.c:96,1
    - Dst: setenv
      Src: /src/haproxy/dev/ncpu/ncpu.c:98,1
    - Dst: usage
      Src: /src/haproxy/dev/ncpu/ncpu.c:99,1
    - Dst: getenv
      Src: /src/haproxy/dev/ncpu/ncpu.c:112,1
    - Dst: realloc
      Src: /src/haproxy/dev/ncpu/ncpu.c:115,1
    - Dst: perror
      Src: /src/haproxy/dev/ncpu/ncpu.c:117,1
    - Dst: exit
      Src: /src/haproxy/dev/ncpu/ncpu.c:118,1
    - Dst: memcpy
      Src: /src/haproxy/dev/ncpu/ncpu.c:121,1
    - Dst: setenv
      Src: /src/haproxy/dev/ncpu/ncpu.c:128,1
    - Dst: perror
      Src: /src/haproxy/dev/ncpu/ncpu.c:129,1
    - Dst: exit
      Src: /src/haproxy/dev/ncpu/ncpu.c:130,1
    - Dst: execvp
      Src: /src/haproxy/dev/ncpu/ncpu.c:133,1
    - Dst: perror
      Src: /src/haproxy/dev/ncpu/ncpu.c:134,1
    - Dst: exit
      Src: /src/haproxy/dev/ncpu/ncpu.c:135,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 136
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/haproxy/dev/ncpu/ncpu.c
    functionUses: 0
    functionsReached:
    - execvp
    - exit
    - strcmp
    - snprintf
    - usage
    - setenv
    - readlink
    - getenv
    - memcpy
    - realloc
    - perror
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/dev/base64/base64rev-gen.c:43,1
    - Dst: printf
      Src: /src/haproxy/dev/base64/base64rev-gen.c:54,1
    - Dst: printf
      Src: /src/haproxy/dev/base64/base64rev-gen.c:55,1
    - Dst: printf
      Src: /src/haproxy/dev/base64/base64rev-gen.c:56,1
    - Dst: printf
      Src: /src/haproxy/dev/base64/base64rev-gen.c:57,1
    - Dst: printf
      Src: /src/haproxy/dev/base64/base64rev-gen.c:60,1
    - Dst: printf
      Src: /src/haproxy/dev/base64/base64rev-gen.c:63,1
    - Dst: printf
      Src: /src/haproxy/dev/base64/base64rev-gen.c:65,1
    - Dst: printf
      Src: /src/haproxy/dev/base64/base64rev-gen.c:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 70
    functionName: main
    functionSourceFile: /src/haproxy/dev/base64/base64rev-gen.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: rnd32
    functionSourceFile: /src/haproxy/dev/phash/phash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: rnd32()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: hash
    functionSourceFile: /src/haproxy/dev/phash/phash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: hash(unsigned i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/haproxy/dev/phash/phash.c:68,1
    - Dst: atol
      Src: /src/haproxy/dev/phash/phash.c:69,1
    - Dst: printf
      Src: /src/haproxy/dev/phash/phash.c:71,1
    - Dst: hash
      Src: /src/haproxy/dev/phash/phash.c:71,1
    - Dst: hash
      Src: /src/haproxy/dev/phash/phash.c:71,1
    - Dst: rnd32
      Src: /src/haproxy/dev/phash/phash.c:78,1
    - Dst: hash
      Src: /src/haproxy/dev/phash/phash.c:84,1
    - Dst: printf
      Src: /src/haproxy/dev/phash/phash.c:102,1
    - Dst: printf
      Src: /src/haproxy/dev/phash/phash.c:106,1
    - Dst: printf
      Src: /src/haproxy/dev/phash/phash.c:108,1
    - Dst: printf
      Src: /src/haproxy/dev/phash/phash.c:112,1
    - Dst: hash
      Src: /src/haproxy/dev/phash/phash.c:112,1
    - Dst: hash
      Src: /src/haproxy/dev/phash/phash.c:112,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 113
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 113
    functionName: main
    functionSourceFile: /src/haproxy/dev/phash/phash.c
    functionUses: 0
    functionsReached:
    - printf
    - atol
    - hash
    - rnd32
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/dev/udp/udp-perturb.c:96,1
    - Dst: vfprintf
      Src: /src/haproxy/dev/udp/udp-perturb.c:97,1
    - Dst: va_end
      Src: /src/haproxy/dev/udp/udp-perturb.c:98,1
    - Dst: exit
      Src: /src/haproxy/dev/udp/udp-perturb.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - code
    - format
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: die
    functionSourceFile: /src/haproxy/dev/udp/udp-perturb.c
    functionUses: 7
    functionsReached:
    - va_end
    - exit
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: die(int code, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - range
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 113
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 113
    functionName: prng
    functionSourceFile: /src/haproxy/dev/udp/udp-perturb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: prng(unsigned int range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/haproxy/dev/udp/udp-perturb.c:124,1
    - Dst: atoi
      Src: /src/haproxy/dev/udp/udp-perturb.c:129,1
    - Dst: snprintf
      Src: /src/haproxy/dev/udp/udp-perturb.c:131,1
    - Dst: memset
      Src: /src/haproxy/dev/udp/udp-perturb.c:136,1
    - Dst: strrchr
      Src: /src/haproxy/dev/udp/udp-perturb.c:138,1
    - Dst: htons
      Src: /src/haproxy/dev/udp/udp-perturb.c:141,1
    - Dst: inet_pton
      Src: /src/haproxy/dev/udp/udp-perturb.c:143,1
    - Dst: snprintf
      Src: /src/haproxy/dev/udp/udp-perturb.c:144,1
    - Dst: htons
      Src: /src/haproxy/dev/udp/udp-perturb.c:150,1
    - Dst: inet_pton
      Src: /src/haproxy/dev/udp/udp-perturb.c:157,1
    - Dst: gethostbyname
      Src: /src/haproxy/dev/udp/udp-perturb.c:158,1
    - Dst: snprintf
      Src: /src/haproxy/dev/udp/udp-perturb.c:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - str
    - ss
    - err
    argTypes:
    - char*
    - struct sockaddr_storage*
    - struct errmsg*
    constantsTouched: []
    func_position:
      end: 168
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 168
    functionName: addr_to_ss
    functionSourceFile: /src/haproxy/dev/udp/udp-perturb.c
    functionUses: 3
    functionsReached:
    - gethostbyname
    - strrchr
    - atoi
    - snprintf
    - inet_pton
    - memset
    - htons
    linkageType: ''
    returnType: int
    signature: addr_to_ss(char *str, struct sockaddr_storage *ss, struct errmsg *err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/haproxy/dev/udp/udp-perturb.c:175,1
    - Dst: snprintf
      Src: /src/haproxy/dev/udp/udp-perturb.c:176,1
    - Dst: strerror
      Src: /src/haproxy/dev/udp/udp-perturb.c:176,1
    - Dst: fcntl
      Src: /src/haproxy/dev/udp/udp-perturb.c:180,1
    - Dst: snprintf
      Src: /src/haproxy/dev/udp/udp-perturb.c:181,1
    - Dst: strerror
      Src: /src/haproxy/dev/udp/udp-perturb.c:181,1
    - Dst: setsockopt
      Src: /src/haproxy/dev/udp/udp-perturb.c:185,1
    - Dst: snprintf
      Src: /src/haproxy/dev/udp/udp-perturb.c:186,1
    - Dst: strerror
      Src: /src/haproxy/dev/udp/udp-perturb.c:186,1
    - Dst: setsockopt
      Src: /src/haproxy/dev/udp/udp-perturb.c:191,1
    - Dst: snprintf
      Src: /src/haproxy/dev/udp/udp-perturb.c:192,1
    - Dst: strerror
      Src: /src/haproxy/dev/udp/udp-perturb.c:192,1
    - Dst: bind
      Src: /src/haproxy/dev/udp/udp-perturb.c:196,1
    - Dst: snprintf
      Src: /src/haproxy/dev/udp/udp-perturb.c:198,1
    - Dst: strerror
      Src: /src/haproxy/dev/udp/udp-perturb.c:198,1
    - Dst: close
      Src: /src/haproxy/dev/udp/udp-perturb.c:207,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - addr
    - err
    argTypes:
    - struct sockaddr_storage*
    - struct errmsg*
    constantsTouched: []
    func_position:
      end: 210
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 210
    functionName: create_udp_listener
    functionSourceFile: /src/haproxy/dev/udp/udp-perturb.c
    functionUses: 0
    functionsReached:
    - strerror
    - fcntl
    - setsockopt
    - snprintf
    - socket
    - close
    - bind
    linkageType: ''
    returnType: int
    signature: create_udp_listener(struct sockaddr_storage *addr, struct errmsg *err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pfd
    - frt_fd
    - conns
    - nbconn
    argTypes:
    - struct pollfd*
    - int
    - struct conn*
    - int
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: update_pfd
    functionSourceFile: /src/haproxy/dev/udp/udp-perturb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: update_pfd(struct pollfd *pfd, int frt_fd, struct conn *conns, int
      nbconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - conns
    - nbconn
    - fd
    argTypes:
    - struct conn*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 248
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 248
    functionName: conn_bck_lookup
    functionSourceFile: /src/haproxy/dev/udp/udp-perturb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct conn
    signature: '*conn_bck_lookup(struct conn *conns, int nbconn, int fd)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/haproxy/dev/udp/udp-perturb.c:255,1
    - Dst: fcntl
      Src: /src/haproxy/dev/udp/udp-perturb.c:259,1
    - Dst: setsockopt
      Src: /src/haproxy/dev/udp/udp-perturb.c:262,1
    - Dst: connect
      Src: /src/haproxy/dev/udp/udp-perturb.c:265,1
    - Dst: close
      Src: /src/haproxy/dev/udp/udp-perturb.c:274,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - ss
    argTypes:
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 276
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 276
    functionName: add_connection
    functionSourceFile: /src/haproxy/dev/udp/udp-perturb.c
    functionUses: 0
    functionsReached:
    - fcntl
    - setsockopt
    - connect
    - socket
    - close
    linkageType: ''
    returnType: int
    signature: add_connection(struct sockaddr_storage *ss)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prng
      Src: /src/haproxy/dev/udp/udp-perturb.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: pktbuf_apply_corruption
    functionSourceFile: /src/haproxy/dev/udp/udp-perturb.c
    functionUses: 0
    functionsReached:
    - prng
    linkageType: ''
    returnType: void
    signature: pktbuf_apply_corruption(char *buf, size_t buflen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/haproxy/dev/udp/udp-perturb.c:313,1
    - Dst: prng
      Src: /src/haproxy/dev/udp/udp-perturb.c:318,1
    - Dst: pktbuf_apply_corruption
      Src: /src/haproxy/dev/udp/udp-perturb.c:338,1
    - Dst: memcmp
      Src: /src/haproxy/dev/udp/udp-perturb.c:344,1
    - Dst: memcpy
      Src: /src/haproxy/dev/udp/udp-perturb.c:359,1
    - Dst: add_connection
      Src: /src/haproxy/dev/udp/udp-perturb.c:366,1
    - Dst: update_pfd
      Src: /src/haproxy/dev/udp/udp-perturb.c:367,1
    - Dst: send
      Src: /src/haproxy/dev/udp/udp-perturb.c:374,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - fd
    - pfd
    - conns
    - nbconn
    argTypes:
    - int
    - struct pollfd*
    - struct conn*
    - int
    constantsTouched: []
    func_position:
      end: 376
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 376
    functionName: handle_frt
    functionSourceFile: /src/haproxy/dev/udp/udp-perturb.c
    functionUses: 0
    functionsReached:
    - add_connection
    - recvfrom
    - send
    - update_pfd
    - prng
    - pktbuf_apply_corruption
    - memcmp
    - memcpy
    linkageType: ''
    returnType: int
    signature: handle_frt(int fd, struct pollfd *pfd, struct conn *conns, int nbconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recvfrom
      Src: /src/haproxy/dev/udp/udp-perturb.c:395,1
    - Dst: prng
      Src: /src/haproxy/dev/udp/udp-perturb.c:400,1
    - Dst: pktbuf_apply_corruption
      Src: /src/haproxy/dev/udp/udp-perturb.c:420,1
    - Dst: conn_bck_lookup
      Src: /src/haproxy/dev/udp/udp-perturb.c:422,1
    - Dst: sendto
      Src: /src/haproxy/dev/udp/udp-perturb.c:426,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - fd
    - pfd
    - conns
    - nbconn
    argTypes:
    - int
    - struct pollfd*
    - struct conn*
    - int
    constantsTouched: []
    func_position:
      end: 431
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 431
    functionName: handle_bck
    functionSourceFile: /src/haproxy/dev/udp/udp-perturb.c
    functionUses: 0
    functionsReached:
    - sendto
    - recvfrom
    - conn_bck_lookup
    - prng
    - pktbuf_apply_corruption
    linkageType: ''
    returnType: int
    signature: handle_bck(int fd, struct pollfd *pfd, struct conn *conns, int nbconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/dev/udp/udp-perturb.c:436,1
    - Dst: strrchr
      Src: /src/haproxy/dev/udp/udp-perturb.c:437,1
    - Dst: die
      Src: /src/haproxy/dev/udp/udp-perturb.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - status
    - name
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 448
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 448
    functionName: usage
    functionSourceFile: /src/haproxy/dev/udp/udp-perturb.c
    functionUses: 4
    functionsReached:
    - die
    - strrchr
    - strchr
    linkageType: ''
    returnType: void
    signature: usage(int status, const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/dev/udp/udp-perturb.c:459,1
    - Dst: getopt
      Src: /src/haproxy/dev/udp/udp-perturb.c:461,1
    - Dst: atoi
      Src: /src/haproxy/dev/udp/udp-perturb.c:464,1
    - Dst: atol
      Src: /src/haproxy/dev/udp/udp-perturb.c:467,1
    - Dst: atol
      Src: /src/haproxy/dev/udp/udp-perturb.c:470,1
    - Dst: atol
      Src: /src/haproxy/dev/udp/udp-perturb.c:473,1
    - Dst: atol
      Src: /src/haproxy/dev/udp/udp-perturb.c:476,1
    - Dst: usage
      Src: /src/haproxy/dev/udp/udp-perturb.c:479,1
    - Dst: usage
      Src: /src/haproxy/dev/udp/udp-perturb.c:484,1
    - Dst: addr_to_ss
      Src: /src/haproxy/dev/udp/udp-perturb.c:486,1
    - Dst: die
      Src: /src/haproxy/dev/udp/udp-perturb.c:487,1
    - Dst: addr_to_ss
      Src: /src/haproxy/dev/udp/udp-perturb.c:489,1
    - Dst: die
      Src: /src/haproxy/dev/udp/udp-perturb.c:490,1
    - Dst: calloc
      Src: /src/haproxy/dev/udp/udp-perturb.c:492,1
    - Dst: die
      Src: /src/haproxy/dev/udp/udp-perturb.c:494,1
    - Dst: create_udp_listener
      Src: /src/haproxy/dev/udp/udp-perturb.c:496,1
    - Dst: die
      Src: /src/haproxy/dev/udp/udp-perturb.c:498,1
    - Dst: update_pfd
      Src: /src/haproxy/dev/udp/udp-perturb.c:504,1
    - Dst: poll
      Src: /src/haproxy/dev/udp/udp-perturb.c:510,1
    - Dst: handle_frt
      Src: /src/haproxy/dev/udp/udp-perturb.c:520,1
    - Dst: handle_bck
      Src: /src/haproxy/dev/udp/udp-perturb.c:524,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 527
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 527
    functionName: main
    functionSourceFile: /src/haproxy/dev/udp/udp-perturb.c
    functionUses: 0
    functionsReached:
    - malloc
    - addr_to_ss
    - atoi
    - poll
    - calloc
    - die
    - create_udp_listener
    - usage
    - handle_frt
    - update_pfd
    - getopt
    - atol
    - handle_bck
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - out
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 723
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 723
    functionName: huff_enc
    functionSourceFile: /src/haproxy/src/hpack-huff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: huff_enc(const char *s, char *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_n32
      Src: /src/haproxy/src/hpack-huff.c:761,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 4
    argNames:
    - huff
    - hlen
    - out
    - olen
    argTypes:
    - uint8_t*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 861
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 861
    functionName: huff_dec
    functionSourceFile: /src/haproxy/src/hpack-huff.c
    functionUses: 0
    functionsReached:
    - read_n32
    linkageType: ''
    returnType: int
    signature: huff_dec(const uint8_t *huff, int hlen, char *out, int olen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/cfgdiag.c:19,1
    - Dst: _ha_vdiag_warning
      Src: /src/haproxy/src/cfgdiag.c:21,1
    - Dst: va_end
      Src: /src/haproxy/src/cfgdiag.c:22,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ret
    - fmt
    argTypes:
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 23
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 23
    functionName: diag_warning
    functionSourceFile: /src/haproxy/src/cfgdiag.c
    functionUses: 1
    functionsReached:
    - va_end
    - va_start
    - _ha_vdiag_warning
    linkageType: ''
    returnType: void
    signature: diag_warning(int *ret, char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/cfgdiag.c:32,1
    - Dst: fprintf
      Src: /src/haproxy/src/cfgdiag.c:33,1
    - Dst: exit
      Src: /src/haproxy/src/cfgdiag.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: diag_alloc
    functionSourceFile: /src/haproxy/src/cfgdiag.c
    functionUses: 0
    functionsReached:
    - malloc
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: '*diag_alloc(size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebis_lookup
      Src: /src/haproxy/src/cfgdiag.c:64,1
    - Dst: diag_warning
      Src: /src/haproxy/src/cfgdiag.c:66,1
    - Dst: diag_alloc
      Src: /src/haproxy/src/cfgdiag.c:71,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/cfgdiag.c:73,1
    - Dst: ebpt_first
      Src: /src/haproxy/src/cfgdiag.c:77,1
    - Dst: ebpt_entry
      Src: /src/haproxy/src/cfgdiag.c:78,1
    - Dst: eb_delete
      Src: /src/haproxy/src/cfgdiag.c:79,1
    - Dst: free
      Src: /src/haproxy/src/cfgdiag.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 83
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 83
    functionName: check_server_cookies
    functionSourceFile: /src/haproxy/src/cfgdiag.c
    functionUses: 0
    functionsReached:
    - diag_warning
    - diag_alloc
    - ebis_lookup
    - ebis_insert
    - eb_delete
    - free
    - ebpt_first
    - ebpt_entry
    linkageType: ''
    returnType: void
    signature: check_server_cookies(int *ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_server_cookies
      Src: /src/haproxy/src/cfgdiag.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: cfg_run_diagnostics
    functionSourceFile: /src/haproxy/src/cfgdiag.c
    functionUses: 0
    functionsReached:
    - check_server_cookies
    linkageType: ''
    returnType: int
    signature: cfg_run_diagnostics()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sock_inet4_make_foreign
      Src: /src/haproxy/src/proto_tcp.c:268,1
    - Dst: sock_inet6_make_foreign
      Src: /src/haproxy/src/proto_tcp.c:276,1
    - Dst: memset
      Src: /src/haproxy/src/proto_tcp.c:285,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:306,1
    - Dst: is_inet_addr
      Src: /src/haproxy/src/proto_tcp.c:308,1
    - Dst: bind
      Src: /src/haproxy/src/proto_tcp.c:309,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/proto_tcp.c:309,1
    - Dst: is_inet_addr
      Src: /src/haproxy/src/proto_tcp.c:315,1
    - Dst: bind
      Src: /src/haproxy/src/proto_tcp.c:316,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/proto_tcp.c:316,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 4
    argNames:
    - fd
    - flags
    - local
    - remote
    argTypes:
    - int
    - int
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 330
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 330
    functionName: tcp_bind_socket
    functionSourceFile: /src/haproxy/src/proto_tcp.c
    functionUses: 0
    functionsReached:
    - sock_inet4_make_foreign
    - sock_inet6_make_foreign
    - setsockopt
    - is_inet_addr
    - memset
    - bind
    - get_addr_len
    linkageType: ''
    returnType: int
    signature: tcp_bind_socket(int fd, int flags, struct sockaddr_storage *local,
      struct sockaddr_storage *remote)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/proto_tcp.c:371,1
    - Dst: obj_type
      Src: /src/haproxy/src/proto_tcp.c:375,1
    - Dst: __objt_proxy
      Src: /src/haproxy/src/proto_tcp.c:377,1
    - Dst: __objt_server
      Src: /src/haproxy/src/proto_tcp.c:381,1
    - Dst: sock_create_server_socket
      Src: /src/haproxy/src/proto_tcp.c:400,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:406,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:410,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:415,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:420,1
    - Dst: is_inet_addr
      Src: /src/haproxy/src/proto_tcp.c:438,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:454,1
    - Dst: memcpy
      Src: /src/haproxy/src/proto_tcp.c:462,1
    - Dst: port_range_release_port
      Src: /src/haproxy/src/proto_tcp.c:468,1
    - Dst: port_range_alloc_port
      Src: /src/haproxy/src/proto_tcp.c:475,1
    - Dst: set_host_port
      Src: /src/haproxy/src/proto_tcp.c:482,1
    - Dst: tcp_bind_socket
      Src: /src/haproxy/src/proto_tcp.c:484,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:492,1
    - Dst: tcp_bind_socket
      Src: /src/haproxy/src/proto_tcp.c:494,1
    - Dst: unlikely
      Src: /src/haproxy/src/proto_tcp.c:499,1
    - Dst: port_range_release_port
      Src: /src/haproxy/src/proto_tcp.c:500,1
    - Dst: close
      Src: /src/haproxy/src/proto_tcp.c:502,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proto_tcp.c:505,1
    - Dst: send_log
      Src: /src/haproxy/src/proto_tcp.c:507,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proto_tcp.c:511,1
    - Dst: send_log
      Src: /src/haproxy/src/proto_tcp.c:513,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:531,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:537,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:542,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:546,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:549,1
    - Dst: connect
      Src: /src/haproxy/src/proto_tcp.c:552,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/proto_tcp.c:552,1
    - Dst: qfprintf
      Src: /src/haproxy/src/proto_tcp.c:572,1
    - Dst: port_range_release_port
      Src: /src/haproxy/src/proto_tcp.c:573,1
    - Dst: close
      Src: /src/haproxy/src/proto_tcp.c:575,1
    - Dst: send_log
      Src: /src/haproxy/src/proto_tcp.c:576,1
    - Dst: port_range_release_port
      Src: /src/haproxy/src/proto_tcp.c:581,1
    - Dst: close
      Src: /src/haproxy/src/proto_tcp.c:583,1
    - Dst: port_range_release_port
      Src: /src/haproxy/src/proto_tcp.c:590,1
    - Dst: close
      Src: /src/haproxy/src/proto_tcp.c:592,1
    - Dst: conn_ctrl_init
      Src: /src/haproxy/src/proto_tcp.c:603,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/proto_tcp.c:604,1
    - Dst: fd_want_send
      Src: /src/haproxy/src/proto_tcp.c:607,1
    - Dst: fd_cant_send
      Src: /src/haproxy/src/proto_tcp.c:608,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/proto_tcp.c:609,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 151
    argCount: 2
    argNames:
    - conn
    - flags
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 613
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 613
    functionName: tcp_connect_server
    functionSourceFile: /src/haproxy/src/proto_tcp.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - send_log
    - __objt_proxy
    - fd_cant_send
    - connect
    - sock_create_server_socket
    - fd_cant_recv
    - BUG_ON
    - close
    - set_host_port
    - is_inet_addr
    - __objt_server
    - conn_ctrl_init
    - get_addr_len
    - setsockopt
    - obj_type
    - fd_want_send
    - tcp_bind_socket
    - port_range_alloc_port
    - port_range_release_port
    - qfprintf
    - unlikely
    - memcpy
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: tcp_connect_server(struct connection *conn, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/proto_tcp.c:632,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_tcp.c:638,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proto_tcp.c:650,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:660,1
    - Dst: getsockopt
      Src: /src/haproxy/src/proto_tcp.c:664,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:668,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:675,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proto_tcp.c:677,1
    - Dst: strerror
      Src: /src/haproxy/src/proto_tcp.c:678,1
    - Dst: getsockopt
      Src: /src/haproxy/src/proto_tcp.c:700,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:703,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proto_tcp.c:704,1
    - Dst: strerror
      Src: /src/haproxy/src/proto_tcp.c:705,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:712,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proto_tcp.c:714,1
    - Dst: strerror
      Src: /src/haproxy/src/proto_tcp.c:715,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:719,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:726,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proto_tcp.c:727,1
    - Dst: strerror
      Src: /src/haproxy/src/proto_tcp.c:728,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:732,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:739,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proto_tcp.c:740,1
    - Dst: strerror
      Src: /src/haproxy/src/proto_tcp.c:741,1
    - Dst: getsockopt
      Src: /src/haproxy/src/proto_tcp.c:751,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:753,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proto_tcp.c:755,1
    - Dst: strerror
      Src: /src/haproxy/src/proto_tcp.c:756,1
    - Dst: sock_accepting_conn
      Src: /src/haproxy/src/proto_tcp.c:763,1
    - Dst: listen
      Src: /src/haproxy/src/proto_tcp.c:766,1
    - Dst: listener_backlog
      Src: /src/haproxy/src/proto_tcp.c:766,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proto_tcp.c:768,1
    - Dst: strerror
      Src: /src/haproxy/src/proto_tcp.c:769,1
    - Dst: memset
      Src: /src/haproxy/src/proto_tcp.c:777,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/proto_tcp.c:778,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:779,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proto_tcp.c:780,1
    - Dst: strerror
      Src: /src/haproxy/src/proto_tcp.c:781,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:788,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_tcp.c:790,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/proto_tcp.c:795,1
    - Dst: fd_delete
      Src: /src/haproxy/src/proto_tcp.c:799,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/proto_tcp.c:804,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_tcp.c:805,1
    - Dst: get_host_port
      Src: /src/haproxy/src/proto_tcp.c:805,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/proto_tcp.c:807,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 112
    argCount: 3
    argNames:
    - listener
    - errmsg
    - errlen
    argTypes:
    - struct listener*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 810
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 810
    functionName: tcp_bind_listener
    functionSourceFile: /src/haproxy/src/proto_tcp.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - strlcpy2
    - getsockopt
    - strerror
    - listen
    - setsockopt
    - listener_backlog
    - fd_delete
    - snprintf
    - addr_to_str
    - listener_set_state
    - chunk_appendf
    - sock_accepting_conn
    - free_trash_chunk
    - memset
    - get_host_port
    linkageType: ''
    returnType: int
    signature: tcp_bind_listener(struct listener *listener, char *errmsg, int errlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_want_recv_safe
      Src: /src/haproxy/src/proto_tcp.c:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 818
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 818
    functionName: tcp_enable_listener
    functionSourceFile: /src/haproxy/src/proto_tcp.c
    functionUses: 0
    functionsReached:
    - fd_want_recv_safe
    linkageType: ''
    returnType: void
    signature: tcp_enable_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/proto_tcp.c:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 826
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 826
    functionName: tcp_disable_listener
    functionSourceFile: /src/haproxy/src/proto_tcp.c
    functionUses: 0
    functionsReached:
    - fd_stop_recv
    linkageType: ''
    returnType: void
    signature: tcp_disable_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/haproxy/src/proto_tcp.c:844,1
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/proto_tcp.c:847,1
    - Dst: sock_accepting_conn
      Src: /src/haproxy/src/proto_tcp.c:855,1
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/proto_tcp.c:858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 864
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 864
    functionName: tcp_suspend_receiver
    functionSourceFile: /src/haproxy/src/proto_tcp.c
    functionUses: 0
    functionsReached:
    - sock_accepting_conn
    - fd_stop_recv
    - connect
    linkageType: ''
    returnType: int
    signature: tcp_suspend_receiver(struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/proto_tcp.c:872,1
    - Dst: listen
      Src: /src/haproxy/src/proto_tcp.c:877,1
    - Dst: listener_backlog
      Src: /src/haproxy/src/proto_tcp.c:877,1
    - Dst: fd_want_recv
      Src: /src/haproxy/src/proto_tcp.c:878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 882
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 882
    functionName: tcp_resume_receiver
    functionSourceFile: /src/haproxy/src/proto_tcp.c
    functionUses: 0
    functionsReached:
    - listener_backlog
    - fd_want_recv
    - listen
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: tcp_resume_receiver(struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/haproxy/src/proto_tcp.c:898,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 3
    argNames:
    - conn
    - info
    - info_num
    argTypes:
    - struct connection*
    - long long int*
    - int
    constantsTouched: []
    func_position:
      end: 934
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 934
    functionName: tcp_get_info
    functionSourceFile: /src/haproxy/src/proto_tcp.c
    functionUses: 0
    functionsReached:
    - getsockopt
    linkageType: ''
    returnType: int
    signature: tcp_get_info(struct connection *conn, long long int *info, int info_num)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - conn
    - info
    - info_num
    argTypes:
    - struct connection*
    - long long int*
    - int
    constantsTouched: []
    func_position:
      end: 939
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 939
    functionName: tcp_get_info
    functionSourceFile: /src/haproxy/src/proto_tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: tcp_get_info(struct connection *conn, long long int *info, int info_num)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - raw_in
    - len_in
    - b
    argTypes:
    - uint8_t**
    - uint32_t*
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 87
    functionName: get_var_int
    functionSourceFile: /src/haproxy/src/hpack-dec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: get_var_int(const uint8_t **raw_in, uint32_t *len_in, int b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - idx
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: hpack_idx_to_phdr
    functionSourceFile: /src/haproxy/src/hpack-dec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hpack_idx_to_phdr(uint32_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_newstr
      Src: /src/haproxy/src/hpack-dec.c:121,1
    - Dst: unlikely
      Src: /src/haproxy/src/hpack-dec.c:122,1
    - Dst: isttest
      Src: /src/haproxy/src/hpack-dec.c:122,1
    - Dst: unlikely
      Src: /src/haproxy/src/hpack-dec.c:125,1
    - Dst: memcpy
      Src: /src/haproxy/src/hpack-dec.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - store
    - idx
    - in
    argTypes:
    - struct buffer*
    - uint32_t
    - struct ist
    constantsTouched: []
    func_position:
      end: 133
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 133
    functionName: hpack_alloc_string
    functionSourceFile: /src/haproxy/src/hpack-dec.c
    functionUses: 0
    functionsReached:
    - unlikely
    - isttest
    - memcpy
    - chunk_newstr
    linkageType: ''
    returnType: struct ist
    signature: "hpack_alloc_string(struct buffer *store, uint32_t idx,\n\t\t\t\t\t
      \   struct ist in)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hpack_debug_hexdump
      Src: /src/haproxy/src/hpack-dec.c:159,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/hpack-dec.c:161,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:170,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:175,1
    - Dst: get_var_int
      Src: /src/haproxy/src/hpack-dec.c:177,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:179,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:184,1
    - Dst: hpack_valid_idx
      Src: /src/haproxy/src/hpack-dec.c:186,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:187,1
    - Dst: hpack_alloc_string
      Src: /src/haproxy/src/hpack-dec.c:192,1
    - Dst: hpack_idx_to_value
      Src: /src/haproxy/src/hpack-dec.c:192,1
    - Dst: isttest
      Src: /src/haproxy/src/hpack-dec.c:193,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:194,1
    - Dst: ist2
      Src: /src/haproxy/src/hpack-dec.c:200,1
    - Dst: hpack_idx_to_phdr
      Src: /src/haproxy/src/hpack-dec.c:200,1
    - Dst: hpack_alloc_string
      Src: /src/haproxy/src/hpack-dec.c:203,1
    - Dst: hpack_idx_to_name
      Src: /src/haproxy/src/hpack-dec.c:203,1
    - Dst: isttest
      Src: /src/haproxy/src/hpack-dec.c:204,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:205,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:214,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:218,1
    - Dst: get_var_int
      Src: /src/haproxy/src/hpack-dec.c:223,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:225,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:229,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:232,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:243,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:245,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:247,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:256,1
    - Dst: get_var_int
      Src: /src/haproxy/src/hpack-dec.c:262,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:264,1
    - Dst: ist2
      Src: /src/haproxy/src/hpack-dec.c:270,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:278,1
    - Dst: huff_dec
      Src: /src/haproxy/src/hpack-dec.c:283,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:286,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:290,1
    - Dst: ist2
      Src: /src/haproxy/src/hpack-dec.c:293,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:298,1
    - Dst: get_var_int
      Src: /src/haproxy/src/hpack-dec.c:304,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:306,1
    - Dst: ist2
      Src: /src/haproxy/src/hpack-dec.c:312,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:319,1
    - Dst: huff_dec
      Src: /src/haproxy/src/hpack-dec.c:324,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:327,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:331,1
    - Dst: ist2
      Src: /src/haproxy/src/hpack-dec.c:334,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:345,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:347,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:349,1
    - Dst: get_var_int
      Src: /src/haproxy/src/hpack-dec.c:354,1
    - Dst: get_var_int
      Src: /src/haproxy/src/hpack-dec.c:357,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:359,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:362,1
    - Dst: hpack_valid_idx
      Src: /src/haproxy/src/hpack-dec.c:367,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:368,1
    - Dst: get_var_int
      Src: /src/haproxy/src/hpack-dec.c:375,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:377,1
    - Dst: ist2
      Src: /src/haproxy/src/hpack-dec.c:382,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:389,1
    - Dst: huff_dec
      Src: /src/haproxy/src/hpack-dec.c:394,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:397,1
    - Dst: hpack_debug_hexdump
      Src: /src/haproxy/src/hpack-dec.c:400,1
    - Dst: ist2
      Src: /src/haproxy/src/hpack-dec.c:405,1
    - Dst: hpack_idx_to_phdr
      Src: /src/haproxy/src/hpack-dec.c:410,1
    - Dst: hpack_alloc_string
      Src: /src/haproxy/src/hpack-dec.c:413,1
    - Dst: hpack_idx_to_name
      Src: /src/haproxy/src/hpack-dec.c:413,1
    - Dst: isttest
      Src: /src/haproxy/src/hpack-dec.c:414,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:415,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:427,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:439,1
    - Dst: hpack_dht_insert
      Src: /src/haproxy/src/hpack-dec.c:448,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:449,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:454,1
    - Dst: isttest
      Src: /src/haproxy/src/hpack-dec.c:455,1
    - Dst: istpad
      Src: /src/haproxy/src/hpack-dec.c:455,1
    - Dst: h2_phdr_to_str
      Src: /src/haproxy/src/hpack-dec.c:455,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:457,1
    - Dst: istpad
      Src: /src/haproxy/src/hpack-dec.c:458,1
    - Dst: hpack_debug_printf
      Src: /src/haproxy/src/hpack-dec.c:473,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 252
    argCount: 6
    argNames:
    - dht
    - raw
    - len
    - list
    - list_size
    - tmp
    argTypes:
    - struct hpack_dht*
    - uint8_t*
    - uint32_t
    - struct http_hdr*
    - int
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 475
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 475
    functionName: hpack_decode_frame
    functionSourceFile: /src/haproxy/src/hpack-dec.c
    functionUses: 2
    functionsReached:
    - hpack_debug_hexdump
    - chunk_reset
    - hpack_idx_to_name
    - h2_phdr_to_str
    - isttest
    - ist2
    - istpad
    - hpack_debug_printf
    - hpack_idx_to_phdr
    - hpack_dht_insert
    - hpack_idx_to_value
    - huff_dec
    - hpack_valid_idx
    - hpack_alloc_string
    - get_var_int
    linkageType: ''
    returnType: int
    signature: "hpack_decode_frame(struct hpack_dht *dht, const uint8_t *raw, uint32_t
      len,\n                       struct http_hdr *list, int list_size,\n                       struct
      buffer *tmp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/http_fetch.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: get_raw_htx_chunk
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    linkageType: ''
    returnType: struct buffer
    signature: '*get_raw_htx_chunk(void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/http_fetch.c:64,1
    - Dst: chunk_init
      Src: /src/haproxy/src/http_fetch.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: alloc_raw_htx_chunk_per_thread
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - malloc
    - chunk_init
    linkageType: ''
    returnType: int
    signature: alloc_raw_htx_chunk_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/http_fetch.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: free_raw_htx_chunk_per_thread
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: void
    signature: free_raw_htx_chunk_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/src/http_fetch.c:101,1
    - Dst: ist
      Src: /src/haproxy/src/http_fetch.c:109,1
    - Dst: ist
      Src: /src/haproxy/src/http_fetch.c:111,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_fetch.c:114,1
    - Dst: memchr
      Src: /src/haproxy/src/http_fetch.c:117,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/http_fetch.c:122,1
    - Dst: istend
      Src: /src/haproxy/src/http_fetch.c:128,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/http_fetch.c:131,1
    - Dst: istend
      Src: /src/haproxy/src/http_fetch.c:131,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/http_fetch.c:133,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_fetch.c:134,1
    - Dst: base64dec
      Src: /src/haproxy/src/http_fetch.c:136,1
    - Dst: strchr
      Src: /src/haproxy/src/http_fetch.c:146,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/http_fetch.c:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - smp
    - htx
    argTypes:
    - struct sample*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 163
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 163
    functionName: get_http_auth
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - memchr
    - istend
    - printf
    - ist
    - get_trash_chunk
    - strncasecmp
    - strchr
    - base64dec
    - chunk_initlen
    - http_find_header
    linkageType: ''
    returnType: int
    signature: get_http_auth(struct sample *smp, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/http_fetch.c:202,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_fetch.c:205,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_fetch.c:208,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:211,1
    - Dst: http_create_txn
      Src: /src/haproxy/src/http_fetch.c:222,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/http_fetch.c:227,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_fetch.c:228,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_fetch.c:235,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:241,1
    - Dst: b_head
      Src: /src/haproxy/src/http_fetch.c:261,1
    - Dst: b_data
      Src: /src/haproxy/src/http_fetch.c:261,1
    - Dst: b_wrap
      Src: /src/haproxy/src/http_fetch.c:261,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/http_fetch.c:262,1
    - Dst: h1m_init_req
      Src: /src/haproxy/src/http_fetch.c:264,1
    - Dst: h1_headers_to_hdr_list
      Src: /src/haproxy/src/http_fetch.c:265,1
    - Dst: b_head
      Src: /src/haproxy/src/http_fetch.c:265,1
    - Dst: b_stop
      Src: /src/haproxy/src/http_fetch.c:265,1
    - Dst: channel_full
      Src: /src/haproxy/src/http_fetch.c:269,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_fetch.c:280,1
    - Dst: ist
      Src: /src/haproxy/src/http_fetch.c:284,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/http_fetch.c:298,1
    - Dst: get_raw_htx_chunk
      Src: /src/haproxy/src/http_fetch.c:298,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/http_fetch.c:299,1
    - Dst: htx_add_all_headers
      Src: /src/haproxy/src/http_fetch.c:300,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 87
    argCount: 4
    argNames:
    - smp
    - chn
    - check
    - vol
    argTypes:
    - struct sample*
    - struct channel*
    - struct check*
    - int
    constantsTouched: []
    func_position:
      end: 328
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 328
    functionName: smp_prefetch_htx
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - h1_headers_to_hdr_list
    - ist
    - b_head
    - http_create_txn
    - http_get_stline
    - BUG_ON
    - htx_add_stline
    - b_wrap
    - htx_from_buf
    - htx_is_empty
    - b_stop
    - htxbuf
    - b_slow_realign
    - h1m_init_req
    - b_data
    - htx_add_all_headers
    - channel_full
    - get_raw_htx_chunk
    - IS_HTX_STRM
    - unlikely
    linkageType: ''
    returnType: struct htx
    signature: '*smp_prefetch_htx(struct sample *smp, struct channel *chn, struct
      check *check, int vol)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:340,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:351,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:362,1
    - Dst: HTX_SL_REQ_MPTR
      Src: /src/haproxy/src/http_fetch.c:364,1
    - Dst: HTX_SL_REQ_MLEN
      Src: /src/haproxy/src/http_fetch.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: smp_fetch_meth
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - smp_prefetch_htx
    - SMP_REQ_CHN
    - HTX_SL_REQ_MLEN
    - http_get_stline
    - HTX_SL_REQ_MPTR
    linkageType: ''
    returnType: int
    signature: smp_fetch_meth(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:373,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:374,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:382,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/http_fetch.c:383,1
    - Dst: HTX_SL_REQ_VPTR
      Src: /src/haproxy/src/http_fetch.c:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 396
      start: 371
    functionDepth: 3
    functionLinenumber: 371
    functionLinenumberEnd: 396
    functionName: smp_fetch_rqver
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - HTX_SL_REQ_VLEN
    - SMP_REQ_CHN
    - HTX_SL_REQ_VPTR
    - http_get_stline
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_rqver(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:400,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:401,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:402,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:410,1
    - Dst: HTX_SL_RES_VLEN
      Src: /src/haproxy/src/http_fetch.c:411,1
    - Dst: HTX_SL_RES_VPTR
      Src: /src/haproxy/src/http_fetch.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 424
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 424
    functionName: smp_fetch_stver
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - HTX_SL_RES_VPTR
    - objt_check
    - SMP_RES_CHN
    - HTX_SL_RES_VLEN
    - http_get_stline
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_stver(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:429,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:430,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:431,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:439,1
    - Dst: HTX_SL_RES_CLEN
      Src: /src/haproxy/src/http_fetch.c:440,1
    - Dst: HTX_SL_RES_CPTR
      Src: /src/haproxy/src/http_fetch.c:441,1
    - Dst: __strl2ui
      Src: /src/haproxy/src/http_fetch.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 447
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 447
    functionName: smp_fetch_stcode
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - HTX_SL_RES_CLEN
    - HTX_SL_RES_CPTR
    - __strl2ui
    - objt_check
    - SMP_RES_CHN
    - http_get_stline
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_stcode(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:461,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 475
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 475
    functionName: smp_fetch_srv_status
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - SMP_RES_CHN
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_srv_status(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/http_fetch.c:481,1
    - Dst: stream_generate_unique_id
      Src: /src/haproxy/src/http_fetch.c:487,1
    - Dst: isttest
      Src: /src/haproxy/src/http_fetch.c:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 496
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 496
    functionName: smp_fetch_uniqueid
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - stream_generate_unique_id
    - lf_expr_isempty
    - isttest
    linkageType: ''
    returnType: int
    signature: smp_fetch_uniqueid(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:505,1
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:505,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:506,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:507,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_fetch.c:513,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/http_fetch.c:514,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/http_fetch.c:514,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_fetch.c:515,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_fetch.c:516,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/http_fetch.c:519,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_fetch.c:520,1
    - Dst: h1_format_htx_hdr
      Src: /src/haproxy/src/http_fetch.c:522,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_fetch.c:526,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 534
      start: 502
    functionDepth: 3
    functionLinenumber: 502
    functionLinenumberEnd: 534
    functionName: smp_fetch_hdrs
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_name
    - objt_check
    - SMP_RES_CHN
    - chunk_memcat
    - SMP_REQ_CHN
    - htx_get_blk
    - get_trash_chunk
    - htx_get_blk_type
    - htx_get_blk_value
    - h1_format_htx_hdr
    - htx_get_next
    - smp_prefetch_htx
    - htx_get_first
    linkageType: ''
    returnType: int
    signature: smp_fetch_hdrs(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:552,1
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:552,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:553,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:554,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_fetch.c:562,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/http_fetch.c:565,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/http_fetch.c:565,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_fetch.c:566,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_fetch.c:567,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/http_fetch.c:571,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_fetch.c:572,1
    - Dst: encode_varint
      Src: /src/haproxy/src/http_fetch.c:575,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_fetch.c:580,1
    - Dst: encode_varint
      Src: /src/haproxy/src/http_fetch.c:584,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_fetch.c:589,1
    - Dst: encode_varint
      Src: /src/haproxy/src/http_fetch.c:597,1
    - Dst: encode_varint
      Src: /src/haproxy/src/http_fetch.c:600,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 613
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 613
    functionName: smp_fetch_hdrs_bin
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_name
    - objt_check
    - SMP_RES_CHN
    - SMP_REQ_CHN
    - htx_get_blk
    - get_trash_chunk
    - htx_get_blk_type
    - htx_get_blk_value
    - encode_varint
    - memcpy
    - htx_get_next
    - smp_prefetch_htx
    - htx_get_first
    linkageType: ''
    returnType: int
    signature: smp_fetch_hdrs_bin(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:621,1
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:621,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:622,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:623,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_fetch.c:631,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/http_fetch.c:632,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/http_fetch.c:632,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_fetch.c:633,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_fetch.c:634,1
    - Dst: h1_format_htx_data
      Src: /src/haproxy/src/http_fetch.c:641,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_fetch.c:641,1
    - Dst: channel_full
      Src: /src/haproxy/src/http_fetch.c:650,1
    - Dst: chn_prod
      Src: /src/haproxy/src/http_fetch.c:651,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 655
      start: 618
    functionDepth: 3
    functionLinenumber: 618
    functionLinenumberEnd: 655
    functionName: smp_fetch_body
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - channel_full
    - h1_format_htx_data
    - objt_check
    - SMP_RES_CHN
    - chn_prod
    - SMP_REQ_CHN
    - htx_get_blk
    - get_trash_chunk
    - htx_get_blk_type
    - htx_get_blk_value
    - htx_get_next
    - smp_prefetch_htx
    - htx_get_first
    linkageType: ''
    returnType: int
    signature: smp_fetch_body(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:664,1
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:664,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:665,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:666,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/http_fetch.c:673,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/http_fetch.c:673,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_fetch.c:674,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_fetch.c:675,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/http_fetch.c:680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 687
      start: 661
    functionDepth: 3
    functionLinenumber: 661
    functionLinenumberEnd: 687
    functionName: smp_fetch_body_len
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - htx_get_blksz
    - objt_check
    - SMP_RES_CHN
    - SMP_REQ_CHN
    - htx_get_blk
    - htx_get_blk_type
    - htx_get_next
    - smp_prefetch_htx
    - htx_get_first
    linkageType: ''
    returnType: int
    signature: smp_fetch_body_len(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:697,1
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:697,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:698,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:699,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/http_fetch.c:706,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/http_fetch.c:706,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_fetch.c:707,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_fetch.c:708,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/http_fetch.c:713,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 722
      start: 694
    functionDepth: 3
    functionLinenumber: 694
    functionLinenumberEnd: 722
    functionName: smp_fetch_body_size
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - htx_get_blksz
    - objt_check
    - SMP_RES_CHN
    - SMP_REQ_CHN
    - htx_get_blk
    - htx_get_blk_type
    - htx_get_next
    - smp_prefetch_htx
    - htx_get_first
    linkageType: ''
    returnType: int
    signature: smp_fetch_body_size(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:728,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:729,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:734,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/src/http_fetch.c:736,1
    - Dst: HTX_SL_REQ_ULEN
      Src: /src/haproxy/src/http_fetch.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 740
      start: 726
    functionDepth: 3
    functionLinenumber: 726
    functionLinenumberEnd: 740
    functionName: smp_fetch_url
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - smp_prefetch_htx
    - HTX_SL_REQ_UPTR
    - SMP_REQ_CHN
    - http_get_stline
    - HTX_SL_REQ_ULEN
    linkageType: ''
    returnType: int
    signature: smp_fetch_url(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:744,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:745,1
    - Dst: memset
      Src: /src/haproxy/src/http_fetch.c:749,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:753,1
    - Dst: url2sa
      Src: /src/haproxy/src/http_fetch.c:754,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/src/http_fetch.c:754,1
    - Dst: HTX_SL_REQ_ULEN
      Src: /src/haproxy/src/http_fetch.c:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 764
      start: 742
    functionDepth: 3
    functionLinenumber: 742
    functionLinenumberEnd: 764
    functionName: smp_fetch_url_ip
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - HTX_SL_REQ_ULEN
    - HTX_SL_REQ_UPTR
    - SMP_REQ_CHN
    - memset
    - url2sa
    - http_get_stline
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_url_ip(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:768,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:769,1
    - Dst: memset
      Src: /src/haproxy/src/http_fetch.c:773,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:777,1
    - Dst: url2sa
      Src: /src/haproxy/src/http_fetch.c:778,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/src/http_fetch.c:778,1
    - Dst: HTX_SL_REQ_ULEN
      Src: /src/haproxy/src/http_fetch.c:778,1
    - Dst: get_host_port
      Src: /src/haproxy/src/http_fetch.c:785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 788
      start: 766
    functionDepth: 3
    functionLinenumber: 766
    functionLinenumberEnd: 788
    functionName: smp_fetch_url_port
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - HTX_SL_REQ_ULEN
    - HTX_SL_REQ_UPTR
    - SMP_REQ_CHN
    - memset
    - url2sa
    - get_host_port
    - http_get_stline
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_url_port(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:800,1
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:800,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:801,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:802,1
    - Dst: ist2
      Src: /src/haproxy/src/http_fetch.c:816,1
    - Dst: http_get_htx_fhdr
      Src: /src/haproxy/src/http_fetch.c:838,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 842
      start: 797
    functionDepth: 3
    functionLinenumber: 797
    functionLinenumberEnd: 842
    functionName: smp_fetch_fhdr
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - objt_check
    - ist2
    - SMP_RES_CHN
    - SMP_REQ_CHN
    - http_get_htx_fhdr
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_fhdr(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:851,1
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:851,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:852,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:853,1
    - Dst: ist2
      Src: /src/haproxy/src/http_fetch.c:862,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_fetch.c:869,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 875
      start: 848
    functionDepth: 3
    functionLinenumber: 848
    functionLinenumberEnd: 875
    functionName: smp_fetch_fhdr_cnt
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - objt_check
    - ist2
    - SMP_RES_CHN
    - SMP_REQ_CHN
    - http_find_header
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_fhdr_cnt(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:880,1
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:880,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:881,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:882,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_fetch.c:894,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/http_fetch.c:895,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/http_fetch.c:895,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_fetch.c:896,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_fetch.c:897,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/http_fetch.c:904,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/http_fetch.c:908,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 915
      start: 877
    functionDepth: 3
    functionLinenumber: 877
    functionLinenumberEnd: 915
    functionName: smp_fetch_hdr_names
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - chunk_istcat
    - htx_get_blk_name
    - objt_check
    - SMP_RES_CHN
    - SMP_REQ_CHN
    - htx_get_blk
    - get_trash_chunk
    - htx_get_blk_type
    - htx_get_next
    - smp_prefetch_htx
    - htx_get_first
    linkageType: ''
    returnType: int
    signature: smp_fetch_hdr_names(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:926,1
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:926,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:927,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:928,1
    - Dst: ist2
      Src: /src/haproxy/src/http_fetch.c:942,1
    - Dst: http_get_htx_hdr
      Src: /src/haproxy/src/http_fetch.c:964,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 969
      start: 923
    functionDepth: 3
    functionLinenumber: 923
    functionLinenumberEnd: 969
    functionName: smp_fetch_hdr
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - objt_check
    - ist2
    - SMP_RES_CHN
    - SMP_REQ_CHN
    - http_get_htx_hdr
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_hdr(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_fetch_hdr
      Src: /src/haproxy/src/http_fetch.c:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 979
      start: 975
    functionDepth: 4
    functionLinenumber: 975
    functionLinenumberEnd: 979
    functionName: smp_fetch_chn_hdr
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - smp_fetch_hdr
    linkageType: ''
    returnType: int
    signature: smp_fetch_chn_hdr(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:987,1
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:987,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:988,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:989,1
    - Dst: ist2
      Src: /src/haproxy/src/http_fetch.c:998,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_fetch.c:1005,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1012
      start: 984
    functionDepth: 3
    functionLinenumber: 984
    functionLinenumberEnd: 1012
    functionName: smp_fetch_hdr_cnt
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - objt_check
    - ist2
    - SMP_RES_CHN
    - SMP_REQ_CHN
    - http_find_header
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_hdr_cnt(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strl2ic
      Src: /src/haproxy/src/http_fetch.c:1025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1030
      start: 1019
    functionDepth: 1
    functionLinenumber: 1019
    functionLinenumberEnd: 1030
    functionName: smp_fetch_hdr_val
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - strl2ic
    linkageType: ''
    returnType: int
    signature: smp_fetch_hdr_val(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_fetch.c:1040,1
    - Dst: smp_fetch_hdr
      Src: /src/haproxy/src/http_fetch.c:1044,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_fetch.c:1046,1
    - Dst: url2ipv4
      Src: /src/haproxy/src/http_fetch.c:1049,1
    - Dst: strl2irc
      Src: /src/haproxy/src/http_fetch.c:1055,1
    - Dst: inet_pton
      Src: /src/haproxy/src/http_fetch.c:1063,1
    - Dst: inet_pton
      Src: /src/haproxy/src/http_fetch.c:1067,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1038
    functionDepth: 4
    functionLinenumber: 1038
    functionLinenumberEnd: 1079
    functionName: smp_fetch_hdr_ip
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - strl2irc
    - url2ipv4
    - get_trash_chunk
    - smp_fetch_hdr
    - inet_pton
    - memcpy
    linkageType: ''
    returnType: int
    signature: smp_fetch_hdr_ip(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1087,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:1088,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:1096,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_fetch.c:1097,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_fetch.c:1097,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_fetch.c:1100,1
    - Dst: iststop
      Src: /src/haproxy/src/http_fetch.c:1102,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_fetch.c:1102,1
    - Dst: isttest
      Src: /src/haproxy/src/http_fetch.c:1104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1113
      start: 1085
    functionDepth: 3
    functionLinenumber: 1085
    functionLinenumberEnd: 1113
    functionName: smp_fetch_path
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - htx_sl_req_uri
    - isttest
    - SMP_REQ_CHN
    - iststop
    - http_uri_parser_init
    - http_get_stline
    - smp_prefetch_htx
    - http_parse_path
    linkageType: ''
    returnType: int
    signature: smp_fetch_path(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1124,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:1125,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_fetch.c:1136,1
    - Dst: ist
      Src: /src/haproxy/src/http_fetch.c:1136,1
    - Dst: smp_fetch_path
      Src: /src/haproxy/src/http_fetch.c:1137,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_fetch.c:1140,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/http_fetch.c:1141,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:1144,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_fetch.c:1145,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_fetch.c:1145,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_fetch.c:1146,1
    - Dst: isttest
      Src: /src/haproxy/src/http_fetch.c:1147,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_fetch.c:1158,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1122
    functionDepth: 4
    functionLinenumber: 1122
    functionLinenumberEnd: 1165
    functionName: smp_fetch_base
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - chunk_istcat
    - http_parse_path
    - htx_sl_req_uri
    - isttest
    - chunk_memcat
    - ist
    - SMP_REQ_CHN
    - get_trash_chunk
    - http_uri_parser_init
    - http_get_stline
    - http_find_header
    - smp_prefetch_htx
    - smp_fetch_path
    linkageType: ''
    returnType: int
    signature: smp_fetch_base(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1177,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:1178,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_fetch.c:1189,1
    - Dst: ist
      Src: /src/haproxy/src/http_fetch.c:1189,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:1196,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_fetch.c:1197,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_fetch.c:1197,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_fetch.c:1198,1
    - Dst: isttest
      Src: /src/haproxy/src/http_fetch.c:1199,1
    - Dst: full_hash
      Src: /src/haproxy/src/http_fetch.c:1211,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1175
    functionDepth: 3
    functionLinenumber: 1175
    functionLinenumberEnd: 1217
    functionName: smp_fetch_base32
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - htx_sl_req_uri
    - isttest
    - ist
    - SMP_REQ_CHN
    - full_hash
    - http_uri_parser_init
    - http_get_stline
    - http_find_header
    - smp_prefetch_htx
    - http_parse_path
    linkageType: ''
    returnType: int
    signature: smp_fetch_base32(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_src
      Src: /src/haproxy/src/http_fetch.c:1228,1
    - Dst: smp_fetch_base32
      Src: /src/haproxy/src/http_fetch.c:1234,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_fetch.c:1237,1
    - Dst: htonl
      Src: /src/haproxy/src/http_fetch.c:1238,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_fetch.c:1243,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_fetch.c:1249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1261
      start: 1226
    functionDepth: 4
    functionLinenumber: 1226
    functionLinenumberEnd: 1261
    functionName: smp_fetch_base32_src
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - smp_fetch_base32
    - get_trash_chunk
    - htonl
    - sc_src
    - memcpy
    linkageType: ''
    returnType: int
    signature: smp_fetch_base32_src(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1269,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:1270,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:1277,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/src/http_fetch.c:1278,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/src/http_fetch.c:1279,1
    - Dst: HTX_SL_REQ_ULEN
      Src: /src/haproxy/src/http_fetch.c:1279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1267
    functionDepth: 3
    functionLinenumber: 1267
    functionLinenumberEnd: 1295
    functionName: smp_fetch_query
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - smp_prefetch_htx
    - HTX_SL_REQ_UPTR
    - SMP_REQ_CHN
    - http_get_stline
    - HTX_SL_REQ_ULEN
    linkageType: ''
    returnType: int
    signature: smp_fetch_query(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1299,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:1300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1297
    functionDepth: 3
    functionLinenumber: 1297
    functionLinenumberEnd: 1307
    functionName: smp_fetch_proto_http
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - SMP_REQ_CHN
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_proto_http(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1318
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1318
    functionName: smp_fetch_http_first_req
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_http_first_req(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1325,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:1326,1
    - Dst: get_http_auth
      Src: /src/haproxy/src/http_fetch.c:1333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1357
      start: 1323
    functionDepth: 3
    functionLinenumber: 1323
    functionLinenumberEnd: 1357
    functionName: smp_fetch_http_auth_type
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - get_http_auth
    - SMP_REQ_CHN
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_http_auth_type(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1364,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:1365,1
    - Dst: get_http_auth
      Src: /src/haproxy/src/http_fetch.c:1372,1
    - Dst: strlen
      Src: /src/haproxy/src/http_fetch.c:1377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1380
      start: 1362
    functionDepth: 3
    functionLinenumber: 1362
    functionLinenumberEnd: 1380
    functionName: smp_fetch_http_auth_user
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - strlen
    - get_http_auth
    - SMP_REQ_CHN
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_http_auth_user(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1387,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:1388,1
    - Dst: get_http_auth
      Src: /src/haproxy/src/http_fetch.c:1395,1
    - Dst: strlen
      Src: /src/haproxy/src/http_fetch.c:1400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1403
      start: 1385
    functionDepth: 3
    functionLinenumber: 1385
    functionLinenumberEnd: 1403
    functionName: smp_fetch_http_auth_pass
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - strlen
    - get_http_auth
    - SMP_REQ_CHN
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_http_auth_pass(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1407,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:1408,1
    - Dst: ist2
      Src: /src/haproxy/src/http_fetch.c:1417,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_fetch.c:1420,1
    - Dst: istsplit
      Src: /src/haproxy/src/http_fetch.c:1421,1
    - Dst: istskip
      Src: /src/haproxy/src/http_fetch.c:1427,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_fetch.c:1429,1
    - Dst: ist
      Src: /src/haproxy/src/http_fetch.c:1429,1
    - Dst: istlen
      Src: /src/haproxy/src/http_fetch.c:1429,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/http_fetch.c:1430,1
    - Dst: istptr
      Src: /src/haproxy/src/http_fetch.c:1430,1
    - Dst: istlen
      Src: /src/haproxy/src/http_fetch.c:1430,1
    - Dst: get_http_auth
      Src: /src/haproxy/src/http_fetch.c:1435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1445
      start: 1405
    functionDepth: 3
    functionLinenumber: 1405
    functionLinenumberEnd: 1445
    functionName: smp_fetch_http_auth_bearer
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - istskip
    - istsplit
    - istlen
    - ist2
    - SMP_REQ_CHN
    - ist
    - istptr
    - get_http_auth
    - chunk_initlen
    - isteqi
    - http_find_header
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_http_auth_bearer(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1450,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:1451,1
    - Dst: get_http_auth
      Src: /src/haproxy/src/http_fetch.c:1458,1
    - Dst: check_user
      Src: /src/haproxy/src/http_fetch.c:1462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1465
      start: 1448
    functionDepth: 3
    functionLinenumber: 1448
    functionLinenumberEnd: 1465
    functionName: smp_fetch_http_auth
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - check_user
    - get_http_auth
    - SMP_REQ_CHN
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_http_auth(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1470,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:1471,1
    - Dst: get_http_auth
      Src: /src/haproxy/src/http_fetch.c:1478,1
    - Dst: check_user
      Src: /src/haproxy/src/http_fetch.c:1485,1
    - Dst: strlen
      Src: /src/haproxy/src/http_fetch.c:1495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1498
      start: 1468
    functionDepth: 3
    functionLinenumber: 1468
    functionLinenumberEnd: 1498
    functionName: smp_fetch_http_auth_grp
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - check_user
    - strlen
    - get_http_auth
    - SMP_REQ_CHN
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_http_auth_grp(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_fe
      Src: /src/haproxy/src/http_fetch.c:1514,1
    - Dst: strlen
      Src: /src/haproxy/src/http_fetch.c:1523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1526
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1526
    functionName: smp_fetch_capture_req_hdr
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - strlen
    - strm_fe
    linkageType: ''
    returnType: int
    signature: smp_fetch_capture_req_hdr(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_fe
      Src: /src/haproxy/src/http_fetch.c:1542,1
    - Dst: strlen
      Src: /src/haproxy/src/http_fetch.c:1551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1554
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1554
    functionName: smp_fetch_capture_res_hdr
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - strlen
    - strm_fe
    linkageType: ''
    returnType: int
    signature: smp_fetch_capture_res_hdr(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_fetch.c:1575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1584
      start: 1557
    functionDepth: 1
    functionLinenumber: 1557
    functionLinenumberEnd: 1584
    functionName: smp_fetch_capture_req_method
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    linkageType: ''
    returnType: int
    signature: smp_fetch_capture_req_method(const struct arg *args, struct sample
      *smp, const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/http_fetch.c:1610,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_fetch.c:1615,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_fetch.c:1616,1
    - Dst: isttest
      Src: /src/haproxy/src/http_fetch.c:1617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1626
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1626
    functionName: smp_fetch_capture_req_uri
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - http_parse_path
    - ist2
    - isttest
    - http_uri_parser_init
    linkageType: ''
    returnType: int
    signature: smp_fetch_capture_req_uri(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1652
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1652
    functionName: smp_fetch_capture_req_ver
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_capture_req_ver(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1678
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1678
    functionName: smp_fetch_capture_res_ver
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_capture_res_ver(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1693,1
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:1693,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:1694,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:1695,1
    - Dst: ist
      Src: /src/haproxy/src/http_fetch.c:1717,1
    - Dst: ist
      Src: /src/haproxy/src/http_fetch.c:1717,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_fetch.c:1736,1
    - Dst: http_extract_cookie_value
      Src: /src/haproxy/src/http_fetch.c:1748,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1774
      start: 1690
    functionDepth: 3
    functionLinenumber: 1690
    functionLinenumberEnd: 1774
    functionName: smp_fetch_cookie
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - http_extract_cookie_value
    - objt_check
    - SMP_RES_CHN
    - ist
    - SMP_REQ_CHN
    - http_find_header
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_cookie(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_fetch_cookie
      Src: /src/haproxy/src/http_fetch.c:1783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1784
      start: 1780
    functionDepth: 4
    functionLinenumber: 1780
    functionLinenumberEnd: 1784
    functionName: smp_fetch_chn_cookie
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - smp_fetch_cookie
    linkageType: ''
    returnType: int
    signature: smp_fetch_chn_cookie(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1794,1
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:1794,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:1795,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:1796,1
    - Dst: ist
      Src: /src/haproxy/src/http_fetch.c:1812,1
    - Dst: ist
      Src: /src/haproxy/src/http_fetch.c:1812,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_fetch.c:1820,1
    - Dst: http_extract_cookie_value
      Src: /src/haproxy/src/http_fetch.c:1832,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1845
      start: 1791
    functionDepth: 3
    functionLinenumber: 1791
    functionLinenumberEnd: 1845
    functionName: smp_fetch_cookie_cnt
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - http_extract_cookie_value
    - objt_check
    - SMP_RES_CHN
    - ist
    - SMP_REQ_CHN
    - http_find_header
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_cookie_cnt(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strl2ic
      Src: /src/haproxy/src/http_fetch.c:1856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1861
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1861
    functionName: smp_fetch_cookie_val
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - strl2ic
    linkageType: ''
    returnType: int
    signature: smp_fetch_cookie_val(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1873,1
    - Dst: SMP_RES_CHN
      Src: /src/haproxy/src/http_fetch.c:1873,1
    - Dst: objt_check
      Src: /src/haproxy/src/http_fetch.c:1874,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:1875,1
    - Dst: ist
      Src: /src/haproxy/src/http_fetch.c:1890,1
    - Dst: ist
      Src: /src/haproxy/src/http_fetch.c:1890,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_fetch.c:1891,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_fetch.c:1904,1
    - Dst: http_extract_next_cookie_name
      Src: /src/haproxy/src/http_fetch.c:1911,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_fetch.c:1920,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1927
      start: 1870
    functionDepth: 3
    functionLinenumber: 1870
    functionLinenumberEnd: 1927
    functionName: smp_fetch_cookie_names
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - http_extract_next_cookie_name
    - objt_check
    - SMP_RES_CHN
    - chunk_memcat
    - ist
    - SMP_REQ_CHN
    - get_trash_chunk
    - http_find_header
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_cookie_names(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_find_next_url_param
      Src: /src/haproxy/src/http_fetch.c:1944,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_fetch.c:1956,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_fetch.c:1957,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_fetch.c:1958,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 8
    argNames:
    - delim
    - name
    - name_len
    - args
    - smp
    - kw
    - private
    - insensitive
    argTypes:
    - char
    - char*
    - int
    - struct arg*
    - struct sample*
    - char*
    - void*
    - char
    constantsTouched: []
    func_position:
      end: 1980
      start: 1938
    functionDepth: 1
    functionLinenumber: 1938
    functionLinenumberEnd: 1980
    functionName: smp_fetch_param
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - memcpy
    - http_find_next_url_param
    linkageType: ''
    returnType: int
    signature: smp_fetch_param(char delim, const char *name, int name_len, const struct
      arg *args, struct sample *smp, const char *kw, void *private, char insensitive)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:1991,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:2015,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:2021,1
    - Dst: http_find_param_list
      Src: /src/haproxy/src/http_fetch.c:2022,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/src/http_fetch.c:2022,1
    - Dst: HTX_SL_REQ_ULEN
      Src: /src/haproxy/src/http_fetch.c:2022,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/src/http_fetch.c:2026,1
    - Dst: HTX_SL_REQ_ULEN
      Src: /src/haproxy/src/http_fetch.c:2026,1
    - Dst: smp_fetch_param
      Src: /src/haproxy/src/http_fetch.c:2035,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2036
      start: 1989
    functionDepth: 3
    functionLinenumber: 1989
    functionLinenumberEnd: 2036
    functionName: smp_fetch_url_param
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - HTX_SL_REQ_ULEN
    - HTX_SL_REQ_UPTR
    - smp_fetch_param
    - SMP_REQ_CHN
    - http_find_param_list
    - http_get_stline
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_url_param(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:2047,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:2067,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_fetch.c:2074,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/http_fetch.c:2075,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/http_fetch.c:2075,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_fetch.c:2076,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_fetch.c:2077,1
    - Dst: h1_format_htx_data
      Src: /src/haproxy/src/http_fetch.c:2082,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_fetch.c:2082,1
    - Dst: smp_fetch_param
      Src: /src/haproxy/src/http_fetch.c:2098,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2099
      start: 2045
    functionDepth: 3
    functionLinenumber: 2045
    functionLinenumberEnd: 2099
    functionName: smp_fetch_body_param
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - h1_format_htx_data
    - smp_fetch_param
    - SMP_REQ_CHN
    - htx_get_blk
    - get_trash_chunk
    - htx_get_blk_type
    - htx_get_blk_value
    - htx_get_next
    - smp_prefetch_htx
    - htx_get_first
    linkageType: ''
    returnType: int
    signature: smp_fetch_body_param(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strl2ic
      Src: /src/haproxy/src/http_fetch.c:2110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2115
      start: 2104
    functionDepth: 1
    functionLinenumber: 2104
    functionLinenumberEnd: 2115
    functionName: smp_fetch_url_param_val
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - strl2ic
    linkageType: ''
    returnType: int
    signature: smp_fetch_url_param_val(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SMP_REQ_CHN
      Src: /src/haproxy/src/http_fetch.c:2129,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_fetch.c:2130,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_fetch.c:2141,1
    - Dst: ist
      Src: /src/haproxy/src/http_fetch.c:2141,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_fetch.c:2148,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_fetch.c:2149,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_fetch.c:2149,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_fetch.c:2150,1
    - Dst: full_hash
      Src: /src/haproxy/src/http_fetch.c:2156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2162
      start: 2127
    functionDepth: 3
    functionLinenumber: 2127
    functionLinenumberEnd: 2162
    functionName: smp_fetch_url32
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - htx_sl_req_uri
    - ist
    - SMP_REQ_CHN
    - full_hash
    - http_uri_parser_init
    - http_get_stline
    - http_find_header
    - smp_prefetch_htx
    - http_parse_path
    linkageType: ''
    returnType: int
    signature: smp_fetch_url32(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_src
      Src: /src/haproxy/src/http_fetch.c:2173,1
    - Dst: smp_fetch_url32
      Src: /src/haproxy/src/http_fetch.c:2179,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_fetch.c:2182,1
    - Dst: htonl
      Src: /src/haproxy/src/http_fetch.c:2183,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_fetch.c:2188,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_fetch.c:2194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2206
      start: 2171
    functionDepth: 4
    functionLinenumber: 2171
    functionLinenumberEnd: 2206
    functionName: smp_fetch_url32_src
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - htonl
    - sc_src
    - smp_fetch_url32
    - memcpy
    linkageType: ''
    returnType: int
    signature: smp_fetch_url32_src(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/http_fetch.c:2224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - err_msg
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 2228
      start: 2221
    functionDepth: 1
    functionLinenumber: 2221
    functionLinenumberEnd: 2228
    functionName: val_hdr
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: val_hdr(struct arg *arg, char **err_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/http_fetch.c:2238,1
    - Dst: chunk_strcmp
      Src: /src/haproxy/src/http_fetch.c:2243,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_fetch.c:2244,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/http_fetch.c:2250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - args
    - err_msg
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 2255
      start: 2230
    functionDepth: 1
    functionLinenumber: 2230
    functionLinenumberEnd: 2255
    functionName: val_query
    functionSourceFile: /src/haproxy/src/http_fetch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_destroy
    - chunk_strcmp
    linkageType: ''
    returnType: int
    signature: val_query(struct arg *args, char **err_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_new
      Src: /src/haproxy/src/proto_rhttp.c:58,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/proto_rhttp.c:64,1
    - Dst: session_new
      Src: /src/haproxy/src/proto_rhttp.c:69,1
    - Dst: conn_set_owner
      Src: /src/haproxy/src/proto_rhttp.c:73,1
    - Dst: conn_set_reverse
      Src: /src/haproxy/src/proto_rhttp.c:74,1
    - Dst: alloc_bind_address
      Src: /src/haproxy/src/proto_rhttp.c:76,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/proto_rhttp.c:80,1
    - Dst: set_host_port
      Src: /src/haproxy/src/proto_rhttp.c:84,1
    - Dst: conn_prepare
      Src: /src/haproxy/src/proto_rhttp.c:94,1
    - Dst: protocol_lookup
      Src: /src/haproxy/src/proto_rhttp.c:94,1
    - Dst: struct connection*::ctrl::connect
      Src: /src/haproxy/src/proto_rhttp.c:97,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/proto_rhttp.c:104,1
    - Dst: smp_make_safe
      Src: /src/haproxy/src/proto_rhttp.c:107,1
    - Dst: ssl_sock_set_servername
      Src: /src/haproxy/src/proto_rhttp.c:108,1
    - Dst: xprt_add_hs
      Src: /src/haproxy/src/proto_rhttp.c:116,1
    - Dst: conn_xprt_start
      Src: /src/haproxy/src/proto_rhttp.c:120,1
    - Dst: conn_install_mux_be
      Src: /src/haproxy/src/proto_rhttp.c:126,1
    - Dst: send_log
      Src: /src/haproxy/src/proto_rhttp.c:134,1
    - Dst: conn_stop_tracking
      Src: /src/haproxy/src/proto_rhttp.c:142,1
    - Dst: conn_xprt_shutw
      Src: /src/haproxy/src/proto_rhttp.c:143,1
    - Dst: conn_xprt_close
      Src: /src/haproxy/src/proto_rhttp.c:144,1
    - Dst: conn_sock_shutw
      Src: /src/haproxy/src/proto_rhttp.c:145,1
    - Dst: conn_ctrl_close
      Src: /src/haproxy/src/proto_rhttp.c:146,1
    - Dst: struct connection*::destroy_cb
      Src: /src/haproxy/src/proto_rhttp.c:149,1
    - Dst: conn_free
      Src: /src/haproxy/src/proto_rhttp.c:155,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 69
    argCount: 2
    argNames:
    - l
    - srv
    argTypes:
    - struct listener*
    - struct server*
    constantsTouched: []
    func_position:
      end: 159
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 159
    functionName: new_reverse_conn
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached:
    - send_log
    - HA_ATOMIC_INC
    - struct connection*::destroy_cb
    - session_new
    - struct connection*::ctrl::connect
    - conn_sock_shutw
    - conn_set_owner
    - conn_ctrl_close
    - set_host_port
    - conn_xprt_close
    - alloc_bind_address
    - conn_prepare
    - conn_install_mux_be
    - protocol_lookup
    - smp_make_safe
    - sockaddr_alloc
    - conn_stop_tracking
    - sample_fetch_as_type
    - conn_set_reverse
    - ssl_sock_set_servername
    - xprt_add_hs
    - conn_free
    - conn_xprt_start
    - conn_new
    - conn_xprt_shutw
    linkageType: ''
    returnType: struct connection
    signature: '*new_reverse_conn(struct listener *l, struct server *srv)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/proto_rhttp.c:168,1
    - Dst: send_log
      Src: /src/haproxy/src/proto_rhttp.c:174,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/proto_rhttp.c:181,1
    - Dst: task_queue
      Src: /src/haproxy/src/proto_rhttp.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 183
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 183
    functionName: rhttp_notify_preconn_err
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached:
    - task_queue
    - send_log
    - BUG_ON
    - MS_TO_TICKS
    linkageType: ''
    returnType: void
    signature: rhttp_notify_preconn_err(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atleast2
      Src: /src/haproxy/src/proto_rhttp.c:197,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/proto_rhttp.c:209,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 218
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 218
    functionName: select_thread
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached:
    - atleast2
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: unsigned int
    signature: select_thread(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_unlink_wq
      Src: /src/haproxy/src/proto_rhttp.c:225,1
    - Dst: task_set_thread
      Src: /src/haproxy/src/proto_rhttp.c:227,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/proto_rhttp.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - task
    - new_tid
    argTypes:
    - struct task*
    - uint
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: task_migrate
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached:
    - task_wakeup
    - task_unlink_wq
    - task_set_thread
    linkageType: ''
    returnType: void
    signature: task_migrate(struct task *task, uint new_tid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_is_expired
      Src: /src/haproxy/src/proto_rhttp.c:238,1
    - Dst: struct connection*::mux::destroy
      Src: /src/haproxy/src/proto_rhttp.c:244,1
    - Dst: conn_stop_tracking
      Src: /src/haproxy/src/proto_rhttp.c:247,1
    - Dst: conn_xprt_shutw
      Src: /src/haproxy/src/proto_rhttp.c:248,1
    - Dst: conn_xprt_close
      Src: /src/haproxy/src/proto_rhttp.c:249,1
    - Dst: conn_sock_shutw
      Src: /src/haproxy/src/proto_rhttp.c:250,1
    - Dst: conn_ctrl_close
      Src: /src/haproxy/src/proto_rhttp.c:251,1
    - Dst: struct connection*::destroy_cb
      Src: /src/haproxy/src/proto_rhttp.c:254,1
    - Dst: conn_free
      Src: /src/haproxy/src/proto_rhttp.c:255,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/proto_rhttp.c:259,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/proto_rhttp.c:261,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/proto_rhttp.c:265,1
    - Dst: listener_accept
      Src: /src/haproxy/src/proto_rhttp.c:268,1
    - Dst: task_migrate
      Src: /src/haproxy/src/proto_rhttp.c:278,1
    - Dst: new_reverse_conn
      Src: /src/haproxy/src/proto_rhttp.c:287,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/proto_rhttp.c:292,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/proto_rhttp.c:293,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - task
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 297
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 297
    functionName: rhttp_process
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached:
    - conn_ctrl_close
    - conn_free
    - tick_is_expired
    - struct connection*::destroy_cb
    - conn_xprt_close
    - struct connection*::mux::destroy
    - TICKS_TO_MS
    - task_migrate
    - conn_stop_tracking
    - listener_accept
    - tick_add_ifset
    - conn_sock_shutw
    - MS_TO_TICKS
    - new_reverse_conn
    - BUG_ON
    - conn_xprt_shutw
    linkageType: ''
    returnType: struct task
    signature: '*rhttp_process(struct task *task, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rx
    - errmsg
    argTypes:
    - struct receiver*
    - char**
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: rhttp_bind_receiver
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: rhttp_bind_receiver(struct receiver *rx, char **errmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/proto_rhttp.c:320,1
    - Dst: my_ffsl
      Src: /src/haproxy/src/proto_rhttp.c:321,1
    - Dst: task_new_on
      Src: /src/haproxy/src/proto_rhttp.c:322,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_rhttp.c:323,1
    - Dst: strdup
      Src: /src/haproxy/src/proto_rhttp.c:341,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_rhttp.c:343,1
    - Dst: ist
      Src: /src/haproxy/src/proto_rhttp.c:347,1
    - Dst: istsplit
      Src: /src/haproxy/src/proto_rhttp.c:348,1
    - Dst: istlen
      Src: /src/haproxy/src/proto_rhttp.c:349,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_rhttp.c:350,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/proto_rhttp.c:354,1
    - Dst: ist0
      Src: /src/haproxy/src/proto_rhttp.c:354,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_rhttp.c:355,1
    - Dst: server_find_by_name
      Src: /src/haproxy/src/proto_rhttp.c:358,1
    - Dst: ist0
      Src: /src/haproxy/src/proto_rhttp.c:358,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_rhttp.c:359,1
    - Dst: ist0
      Src: /src/haproxy/src/proto_rhttp.c:359,1
    - Dst: ist0
      Src: /src/haproxy/src/proto_rhttp.c:359,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_rhttp.c:364,1
    - Dst: ist0
      Src: /src/haproxy/src/proto_rhttp.c:364,1
    - Dst: ist0
      Src: /src/haproxy/src/proto_rhttp.c:364,1
    - Dst: srv_is_transparent
      Src: /src/haproxy/src/proto_rhttp.c:368,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_rhttp.c:369,1
    - Dst: ist0
      Src: /src/haproxy/src/proto_rhttp.c:369,1
    - Dst: ist0
      Src: /src/haproxy/src/proto_rhttp.c:369,1
    - Dst: isteqi
      Src: /src/haproxy/src/proto_rhttp.c:374,1
    - Dst: ist
      Src: /src/haproxy/src/proto_rhttp.c:374,1
    - Dst: isteqi
      Src: /src/haproxy/src/proto_rhttp.c:375,1
    - Dst: ist
      Src: /src/haproxy/src/proto_rhttp.c:375,1
    - Dst: ist
      Src: /src/haproxy/src/proto_rhttp.c:375,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_rhttp.c:376,1
    - Dst: ist0
      Src: /src/haproxy/src/proto_rhttp.c:376,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_rhttp.c:385,1
    - Dst: ist0
      Src: /src/haproxy/src/proto_rhttp.c:385,1
    - Dst: ha_free
      Src: /src/haproxy/src/proto_rhttp.c:389,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/proto_rhttp.c:392,1
    - Dst: ha_free
      Src: /src/haproxy/src/proto_rhttp.c:397,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 3
    argNames:
    - listener
    - errmsg
    - errlen
    argTypes:
    - struct listener*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 399
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 399
    functionName: rhttp_bind_listener
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached:
    - task_new_on
    - istsplit
    - proxy_be_by_name
    - ha_free
    - istlen
    - snprintf
    - ist
    - listener_set_state
    - strdup
    - my_ffsl
    - srv_is_transparent
    - _HA_ATOMIC_LOAD
    - server_find_by_name
    - isteqi
    - ist0
    linkageType: ''
    returnType: int
    signature: rhttp_bind_listener(struct listener *listener, char *errmsg, int errlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send_log
      Src: /src/haproxy/src/proto_rhttp.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: rhttp_suspend_listener
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached:
    - send_log
    linkageType: ''
    returnType: int
    signature: rhttp_suspend_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send_log
      Src: /src/haproxy/src/proto_rhttp.c:411,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/proto_rhttp.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 418
    functionName: rhttp_enable_listener
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached:
    - send_log
    - task_wakeup
    linkageType: ''
    returnType: void
    signature: rhttp_enable_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send_log
      Src: /src/haproxy/src/proto_rhttp.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: rhttp_disable_listener
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached:
    - send_log
    linkageType: ''
    returnType: void
    signature: rhttp_disable_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/proto_rhttp.c:439,1
    - Dst: task_migrate
      Src: /src/haproxy/src/proto_rhttp.c:446,1
    - Dst: new_reverse_conn
      Src: /src/haproxy/src/proto_rhttp.c:452,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/proto_rhttp.c:464,1
    - Dst: struct connection*::mux::ctl
      Src: /src/haproxy/src/proto_rhttp.c:467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - l
    - status
    argTypes:
    - struct listener*
    - int*
    constantsTouched: []
    func_position:
      end: 473
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 473
    functionName: rhttp_accept_conn
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached:
    - struct connection*::mux::ctl
    - new_reverse_conn
    - BUG_ON
    - task_migrate
    linkageType: ''
    returnType: struct connection
    signature: '*rhttp_accept_conn(struct listener *l, int *status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: rhttp_unbind_receiver
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: rhttp_unbind_receiver(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - new_tid
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 488
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 488
    functionName: rhttp_bind_tid_prep
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: rhttp_bind_tid_prep(struct connection *conn, int new_tid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: rhttp_accepting_conn
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: rhttp_accepting_conn(const struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 504
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 504
    functionName: init_rhttp
    functionSourceFile: /src/haproxy/src/proto_rhttp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: init_rhttp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aead_aes_128_gcm
      Src: /src/haproxy/src/quic_token.c:18,1
    - Dst: EVP_aes_128_gcm
      Src: /src/haproxy/src/quic_token.c:20,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_token.c:35,1
    - Dst: ha_random64
      Src: /src/haproxy/src/quic_token.c:38,1
    - Dst: write_u64
      Src: /src/haproxy/src/quic_token.c:39,1
    - Dst: ha_random64
      Src: /src/haproxy/src/quic_token.c:40,1
    - Dst: write_u64
      Src: /src/haproxy/src/quic_token.c:41,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_token.c:44,1
    - Dst: ipaddrcpy
      Src: /src/haproxy/src/quic_token.c:49,1
    - Dst: quic_tls_derive_token_secret
      Src: /src/haproxy/src/quic_token.c:50,1
    - Dst: EVP_sha256
      Src: /src/haproxy/src/quic_token.c:50,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_token.c:53,1
    - Dst: quic_tls_tx_ctx_init
      Src: /src/haproxy/src/quic_token.c:57,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_token.c:58,1
    - Dst: write_u32
      Src: /src/haproxy/src/quic_token.c:65,1
    - Dst: htonl
      Src: /src/haproxy/src/quic_token.c:65,1
    - Dst: quic_tls_encrypt
      Src: /src/haproxy/src/quic_token.c:68,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_token.c:69,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_token.c:74,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/src/quic_token.c:80,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_token.c:81,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_token.c:85,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 3
    argNames:
    - token
    - len
    - addr
    argTypes:
    - unsigned char*
    - size_t
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 87
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 87
    functionName: quic_generate_token
    functionSourceFile: /src/haproxy/src/quic_token.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - quic_tls_encrypt
    - ha_random64
    - write_u32
    - TRACE_ENTER
    - write_u64
    - QUIC_AEAD_CTX_free
    - EVP_sha256
    - ipaddrcpy
    - htonl
    - quic_tls_tx_ctx_init
    - TRACE_ERROR
    - EVP_aead_aes_128_gcm
    - TRACE_DEVEL
    - quic_tls_derive_token_secret
    - memcpy
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: int
    signature: "quic_generate_token(unsigned char *token, size_t len,\n                        struct
      sockaddr_storage *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aead_aes_128_gcm
      Src: /src/haproxy/src/quic_token.c:118,1
    - Dst: EVP_aes_128_gcm
      Src: /src/haproxy/src/quic_token.c:120,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_token.c:123,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_token.c:125,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_token.c:128,1
    - Dst: ipaddrcpy
      Src: /src/haproxy/src/quic_token.c:133,1
    - Dst: quic_tls_derive_token_secret
      Src: /src/haproxy/src/quic_token.c:135,1
    - Dst: EVP_sha256
      Src: /src/haproxy/src/quic_token.c:135,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_token.c:137,1
    - Dst: quic_tls_rx_ctx_init
      Src: /src/haproxy/src/quic_token.c:141,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_token.c:142,1
    - Dst: quic_tls_decrypt2
      Src: /src/haproxy/src/quic_token.c:147,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_token.c:149,1
    - Dst: ntohl
      Src: /src/haproxy/src/quic_token.c:153,1
    - Dst: read_u32
      Src: /src/haproxy/src/quic_token.c:153,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_token.c:155,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/src/quic_token.c:162,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_token.c:163,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_token.c:167,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - pkt
    - dgram
    - qc
    argTypes:
    - struct quic_rx_packet*
    - struct quic_dgram*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 169
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 169
    functionName: quic_token_check
    functionSourceFile: /src/haproxy/src/quic_token.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - read_u32
    - TRACE_ENTER
    - quic_tls_rx_ctx_init
    - quic_tls_decrypt2
    - QUIC_AEAD_CTX_free
    - EVP_sha256
    - ipaddrcpy
    - TRACE_ERROR
    - EVP_aead_aes_128_gcm
    - ntohl
    - quic_tls_derive_token_secret
    - TRACE_DEVEL
    - BUG_ON
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: int
    signature: "quic_token_check(struct quic_rx_packet *pkt,\n                     struct
      quic_dgram *dgram,\n                     struct quic_conn *qc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_bwlim.c:78,1
    - Dst: tick_isset
      Src: /src/haproxy/src/flt_bwlim.c:89,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/flt_bwlim.c:89,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/flt_bwlim.c:105,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/flt_bwlim.c:109,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/flt_bwlim.c:110,1
    - Dst: freq_ctr_overshoot_period
      Src: /src/haproxy/src/flt_bwlim.c:137,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/flt_bwlim.c:140,1
    - Dst: div64_32
      Src: /src/haproxy/src/flt_bwlim.c:141,1
    - Dst: tick_add
      Src: /src/haproxy/src/flt_bwlim.c:143,1
    - Dst: freq_ctr_remain_period
      Src: /src/haproxy/src/flt_bwlim.c:149,1
    - Dst: div64_32
      Src: /src/haproxy/src/flt_bwlim.c:150,1
    - Dst: chn_prod
      Src: /src/haproxy/src/flt_bwlim.c:160,1
    - Dst: MIN
      Src: /src/haproxy/src/flt_bwlim.c:161,1
    - Dst: div64_32
      Src: /src/haproxy/src/flt_bwlim.c:165,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/src/flt_bwlim.c:174,1
    - Dst: div64_32
      Src: /src/haproxy/src/flt_bwlim.c:174,1
    - Dst: next_event_delay_period
      Src: /src/haproxy/src/flt_bwlim.c:176,1
    - Dst: MIN
      Src: /src/haproxy/src/flt_bwlim.c:176,1
    - Dst: tick_add
      Src: /src/haproxy/src/flt_bwlim.c:177,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/flt_bwlim.c:181,1
    - Dst: tick_first
      Src: /src/haproxy/src/flt_bwlim.c:184,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/flt_bwlim.c:184,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/flt_bwlim.c:186,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/flt_bwlim.c:186,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 3
    argNames:
    - filter
    - chn
    - len
    argTypes:
    - struct filter*
    - struct channel*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 188
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 188
    functionName: bwlim_apply_limit
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached:
    - update_freq_ctr_period
    - BUG_ON
    - tick_is_expired
    - FLT_CONF
    - stktable_data_cast
    - freq_ctr_overshoot_period
    - tick_add
    - chn_prod
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - tick_first
    - next_event_delay_period
    - tick_isset
    - div64_32
    - MIN
    - HA_RWLOCK_RDUNLOCK
    - freq_ctr_remain_period
    linkageType: ''
    returnType: int
    signature: bwlim_apply_limit(struct filter *filter, struct channel *chn, unsigned
      int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: bwlim_init
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bwlim_init(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/flt_bwlim.c:206,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/flt_bwlim.c:207,1
    - Dst: ha_free
      Src: /src/haproxy/src/flt_bwlim.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: bwlim_deinit
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached:
    - release_sample_expr
    - ha_free
    linkageType: ''
    returnType: void
    signature: bwlim_deinit(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stktable_find_by_name
      Src: /src/haproxy/src/flt_bwlim.c:224,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_bwlim.c:229,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_bwlim.c:235,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_bwlim.c:241,1
    - Dst: stktable_compatible_sample
      Src: /src/haproxy/src/flt_bwlim.c:247,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_bwlim.c:248,1
    - Dst: in_proxies_list
      Src: /src/haproxy/src/flt_bwlim.c:253,1
    - Dst: ha_free
      Src: /src/haproxy/src/flt_bwlim.c:257,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 262
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 262
    functionName: bwlim_check
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - in_proxies_list
    - ha_free
    - stktable_compatible_sample
    - stktable_find_by_name
    linkageType: ''
    returnType: int
    signature: bwlim_check(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_zalloc
      Src: /src/haproxy/src/flt_bwlim.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: bwlim_attach
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached:
    - pool_zalloc
    linkageType: ''
    returnType: int
    signature: bwlim_attach(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_bwlim.c:283,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/flt_bwlim.c:291,1
    - Dst: pool_free
      Src: /src/haproxy/src/flt_bwlim.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 296
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 296
    functionName: bwlim_detach
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached:
    - stktable_touch_local
    - FLT_CONF
    - pool_free
    linkageType: ''
    returnType: void
    signature: bwlim_detach(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - filter
    - chn
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: bwlim_chn_end_analyze
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bwlim_chn_end_analyze(struct stream *s, struct filter *filter, struct
      channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - filter
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: bwlim_http_headers
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bwlim_http_headers(struct stream *s, struct filter *filter, struct
      http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bwlim_apply_limit
      Src: /src/haproxy/src/flt_bwlim.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - filter
    - msg
    - offset
    - len
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: bwlim_http_payload
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached:
    - bwlim_apply_limit
    linkageType: ''
    returnType: int
    signature: "bwlim_http_payload(struct stream *s, struct filter *filter, struct
      http_msg *msg,\n\t\t\t      unsigned int offset, unsigned int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bwlim_apply_limit
      Src: /src/haproxy/src/flt_bwlim.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - filter
    - chn
    - offset
    - len
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: bwlim_tcp_payload
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached:
    - bwlim_apply_limit
    linkageType: ''
    returnType: int
    signature: "bwlim_tcp_payload(struct stream *s, struct filter *filter, struct
      channel *chn,\n\t\t\t     unsigned int offset, unsigned int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_bwlim.c:376,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/flt_bwlim.c:377,1
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_bwlim.c:377,1
    - Dst: stktable_fetch_key
      Src: /src/haproxy/src/flt_bwlim.c:397,1
    - Dst: stktable_get_entry
      Src: /src/haproxy/src/flt_bwlim.c:401,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/flt_bwlim.c:414,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/flt_bwlim.c:422,1
    - Dst: register_data_filter
      Src: /src/haproxy/src/flt_bwlim.c:432,1
    - Dst: register_data_filter
      Src: /src/haproxy/src/flt_bwlim.c:434,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 438
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 438
    functionName: bwlim_set_limit
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached:
    - stktable_get_entry
    - FLT_CONF
    - list_for_each_entry
    - sample_fetch_as_type
    - register_data_filter
    - stktable_fetch_key
    - FLT_ID
    linkageType: ''
    returnType: enum act_return
    signature: "bwlim_set_limit(struct act_rule *rule, struct proxy *px,\n\t\t\t\t
      \      struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_bwlim.c:449,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_bwlim.c:453,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:458,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:464,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:469,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:499,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/flt_bwlim.c:500,1
    - Dst: ha_warning
      Src: /src/haproxy/src/flt_bwlim.c:506,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/flt_bwlim.c:510,1
    - Dst: ha_warning
      Src: /src/haproxy/src/flt_bwlim.c:515,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/flt_bwlim.c:519,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:528,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/flt_bwlim.c:529,1
    - Dst: ha_warning
      Src: /src/haproxy/src/flt_bwlim.c:535,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/flt_bwlim.c:539,1
    - Dst: ha_warning
      Src: /src/haproxy/src/flt_bwlim.c:544,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/flt_bwlim.c:548,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:555,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/flt_bwlim.c:556,1
    - Dst: ha_warning
      Src: /src/haproxy/src/flt_bwlim.c:562,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/flt_bwlim.c:566,1
    - Dst: ha_warning
      Src: /src/haproxy/src/flt_bwlim.c:571,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/flt_bwlim.c:575,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 94
    argCount: 3
    argNames:
    - rule
    - px
    - err
    argTypes:
    - struct act_rule*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 583
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 583
    functionName: check_bwlim_action
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached:
    - memprintf
    - list_for_each_entry
    - strcmp
    - ha_warning
    - proxy_type_str
    - sample_src_names
    linkageType: ''
    returnType: int
    signature: check_bwlim_action(struct act_rule *rule, struct proxy *px, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/flt_bwlim.c:588,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/flt_bwlim.c:590,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/flt_bwlim.c:594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 598
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 598
    functionName: release_bwlim_action
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached:
    - release_sample_expr
    - ha_free
    linkageType: ''
    returnType: void
    signature: release_bwlim_action(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:620,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_bwlim.c:624,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:626,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_bwlim.c:632,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:638,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/flt_bwlim.c:642,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/flt_bwlim.c:650,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:652,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_bwlim.c:658,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:664,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/flt_bwlim.c:668,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/flt_bwlim.c:676,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:678,1
    - Dst: release_bwlim_action
      Src: /src/haproxy/src/flt_bwlim.c:696,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 698
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 698
    functionName: parse_bandwidth_limit
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached:
    - memprintf
    - release_bwlim_action
    - strcmp
    - sample_parse_expr
    - strdup
    - parse_size_err
    - parse_time_err
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_bandwidth_limit(const char **args, int *orig_arg, struct proxy
      *px,\n\t\t\t\t\t\tstruct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/flt_bwlim.c:747,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:749,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:755,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_bwlim.c:759,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:761,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_bwlim.c:765,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_bwlim.c:769,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:770,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_bwlim.c:779,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:781,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:786,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/flt_bwlim.c:792,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_bwlim.c:797,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:799,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:804,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_bwlim.c:809,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:811,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_bwlim.c:816,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:820,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:825,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/flt_bwlim.c:830,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:832,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_bwlim.c:838,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:842,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:847,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/flt_bwlim.c:852,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:854,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_bwlim.c:860,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:864,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:869,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/flt_bwlim.c:874,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:876,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_bwlim.c:882,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:886,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/flt_bwlim.c:890,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:892,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:905,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:909,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:917,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_bwlim.c:921,1
    - Dst: ha_free
      Src: /src/haproxy/src/flt_bwlim.c:934,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/flt_bwlim.c:936,1
    - Dst: ha_free
      Src: /src/haproxy/src/flt_bwlim.c:940,1
    - Dst: free
      Src: /src/haproxy/src/flt_bwlim.c:941,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 187
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - fconf
    - err
    - private
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct flt_conf*
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 943
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 943
    functionName: parse_bwlim_flt
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_free
    - list_for_each_entry
    - calloc
    - strcmp
    - strdup
    - sample_parse_expr
    - free
    - parse_size_err
    - release_sample_expr
    - parse_time_err
    linkageType: ''
    returnType: int
    signature: "parse_bwlim_flt(char **args, int *cur_arg, struct proxy *px, struct
      flt_conf *fconf,\n\t\t\t   char **err, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_bwlim_flt
      Src: /src/haproxy/src/flt_bwlim.c:951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - fconf
    - err
    - private
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct flt_conf*
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 959
      start: 946
    functionDepth: 2
    functionLinenumber: 946
    functionLinenumberEnd: 959
    functionName: parse_bwlim_in_flt
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached:
    - parse_bwlim_flt
    linkageType: ''
    returnType: int
    signature: "parse_bwlim_in_flt(char **args, int *cur_arg, struct proxy *px, struct
      flt_conf *fconf,\n\t\t\t      char **err, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_bwlim_flt
      Src: /src/haproxy/src/flt_bwlim.c:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - fconf
    - err
    - private
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct flt_conf*
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 973
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 973
    functionName: parse_bwlim_out_flt
    functionSourceFile: /src/haproxy/src/flt_bwlim.c
    functionUses: 0
    functionsReached:
    - parse_bwlim_flt
    linkageType: ''
    returnType: int
    signature: "parse_bwlim_out_flt(char **args, int *cur_arg, struct proxy *px, struct
      flt_conf *fconf,\n\t\t\t       char **err, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_map.c:28,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_map.c:31,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_map.c:35,1
    - Dst: recount_servers
      Src: /src/haproxy/src/lb_map.c:36,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_map.c:37,1
    - Dst: recalc_server_map
      Src: /src/haproxy/src/lb_map.c:38,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_map.c:39,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_map.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 42
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 42
    functionName: map_set_server_status_down
    functionSourceFile: /src/haproxy/src/lb_map.c
    functionUses: 0
    functionsReached:
    - recalc_server_map
    - srv_lb_status_changed
    - update_backend_weight
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - recount_servers
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    linkageType: ''
    returnType: void
    signature: map_set_server_status_down(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_map.c:52,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_map.c:55,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_map.c:59,1
    - Dst: recount_servers
      Src: /src/haproxy/src/lb_map.c:60,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_map.c:61,1
    - Dst: recalc_server_map
      Src: /src/haproxy/src/lb_map.c:62,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_map.c:63,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_map.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 66
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 66
    functionName: map_set_server_status_up
    functionSourceFile: /src/haproxy/src/lb_map.c
    functionUses: 0
    functionsReached:
    - recalc_server_map
    - srv_lb_status_changed
    - update_backend_weight
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - recount_servers
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    linkageType: ''
    returnType: void
    signature: map_set_server_status_up(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_map.c:108,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/lb_map.c:121,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/src/lb_map.c:131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 133
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 133
    functionName: recalc_server_map
    functionSourceFile: /src/haproxy/src/lb_map.c
    functionUses: 2
    functionsReached:
    - srv_willbe_usable
    - _HA_ATOMIC_ADD
    - _HA_ATOMIC_SUB
    linkageType: ''
    returnType: void
    signature: recalc_server_map(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_map.c:189,1
    - Dst: calloc
      Src: /src/haproxy/src/lb_map.c:199,1
    - Dst: recount_servers
      Src: /src/haproxy/src/lb_map.c:201,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_map.c:202,1
    - Dst: recalc_server_map
      Src: /src/haproxy/src/lb_map.c:203,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 204
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 204
    functionName: init_server_map
    functionSourceFile: /src/haproxy/src/lb_map.c
    functionUses: 0
    functionsReached:
    - calloc
    - update_backend_weight
    - srv_lb_commit_status
    - recount_servers
    - recalc_server_map
    linkageType: ''
    returnType: void
    signature: init_server_map(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_SKLOCK
      Src: /src/haproxy/src/lb_map.c:219,1
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/src/lb_map.c:233,1
    - Dst: HA_RWLOCK_SKUNLOCK
      Src: /src/haproxy/src/lb_map.c:251,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - px
    - srvtoavoid
    argTypes:
    - struct proxy*
    - struct server*
    constantsTouched: []
    func_position:
      end: 254
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 254
    functionName: map_get_server_rr
    functionSourceFile: /src/haproxy/src/lb_map.c
    functionUses: 0
    functionsReached:
    - srv_dynamic_maxconn
    - HA_RWLOCK_SKLOCK
    - HA_RWLOCK_SKUNLOCK
    linkageType: ''
    returnType: struct server
    signature: '*map_get_server_rr(struct proxy *px, struct server *srvtoavoid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/lb_map.c:268,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/lb_map.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - px
    - hash
    argTypes:
    - struct proxy*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: map_get_server_hash
    functionSourceFile: /src/haproxy/src/lb_map.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_RDUNLOCK
    - HA_RWLOCK_RDLOCK
    linkageType: ''
    returnType: struct server
    signature: '*map_get_server_hash(struct proxy *px, unsigned int hash)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/haproxy/src/regex.c:37,1
    - Dst: memcpy
      Src: /src/haproxy/src/regex.c:49,1
    - Dst: toupper
      Src: /src/haproxy/src/regex.c:60,1
    - Dst: toupper
      Src: /src/haproxy/src/regex.c:65,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 5
    argNames:
    - dst
    - dst_size
    - src
    - str
    - matches
    argTypes:
    - char*
    - unsigned int
    - char*
    - char*
    - regmatch_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 92
    functionName: exp_replace
    functionSourceFile: /src/haproxy/src/regex.c
    functionUses: 0
    functionsReached:
    - toupper
    - memcpy
    - isdigit
    linkageType: ''
    returnType: int
    signature: exp_replace(char *dst, unsigned int dst_size, char *src, const char
      *str, const regmatch_t *matches)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/haproxy/src/regex.c:104,1
    - Dst: ishex
      Src: /src/haproxy/src/regex.c:108,1
    - Dst: ishex
      Src: /src/haproxy/src/regex.c:111,1
    - Dst: ha_warning
      Src: /src/haproxy/src/regex.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 123
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 123
    functionName: check_replace_string
    functionSourceFile: /src/haproxy/src/regex.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - ishex
    - isdigit
    linkageType: ''
    returnType: char
    signature: '*check_replace_string(const char *str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/haproxy/src/regex.c:172,1
    - Dst: struct my_regex*::mfn
      Src: /src/haproxy/src/regex.c:173,1
    - Dst: strlen
      Src: /src/haproxy/src/regex.c:173,1
    - Dst: pcre2_match_data_free
      Src: /src/haproxy/src/regex.c:176,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/haproxy/src/regex.c:180,1
    - Dst: pcre_exec
      Src: /src/haproxy/src/regex.c:182,1
    - Dst: strlen
      Src: /src/haproxy/src/regex.c:182,1
    - Dst: pcre2_match_data_free
      Src: /src/haproxy/src/regex.c:203,1
    - Dst: regexec
      Src: /src/haproxy/src/regex.c:210,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 5
    argNames:
    - preg
    - subject
    - nmatch
    - pmatch
    - flags
    argTypes:
    - struct my_regex*
    - char*
    - size_t
    - regmatch_t[]
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 215
    functionName: regex_exec_match
    functionSourceFile: /src/haproxy/src/regex.c
    functionUses: 0
    functionsReached:
    - struct my_regex*::mfn
    - pcre2_match_data_free
    - pcre2_match_data_create_from_pattern
    - pcre2_get_ovector_pointer
    - strlen
    - regexec
    - pcre_exec
    linkageType: ''
    returnType: int
    signature: "regex_exec_match(const struct my_regex *preg, const char *subject,\n
      \                    size_t nmatch, regmatch_t pmatch[], int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/haproxy/src/regex.c:265,1
    - Dst: struct my_regex*::mfn
      Src: /src/haproxy/src/regex.c:266,1
    - Dst: pcre2_match_data_free
      Src: /src/haproxy/src/regex.c:269,1
    - Dst: pcre2_get_ovector_pointer
      Src: /src/haproxy/src/regex.c:273,1
    - Dst: pcre_exec
      Src: /src/haproxy/src/regex.c:275,1
    - Dst: pcre2_match_data_free
      Src: /src/haproxy/src/regex.c:295,1
    - Dst: regexec
      Src: /src/haproxy/src/regex.c:304,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 6
    argNames:
    - preg
    - subject
    - length
    - nmatch
    - pmatch
    - flags
    argTypes:
    - struct my_regex*
    - char*
    - int
    - size_t
    - regmatch_t[]
    - int
    constantsTouched: []
    func_position:
      end: 310
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 310
    functionName: regex_exec_match2
    functionSourceFile: /src/haproxy/src/regex.c
    functionUses: 0
    functionsReached:
    - struct my_regex*::mfn
    - pcre2_match_data_free
    - pcre2_match_data_create_from_pattern
    - pcre2_get_ovector_pointer
    - regexec
    - pcre_exec
    linkageType: ''
    returnType: int
    signature: "regex_exec_match2(const struct my_regex *preg, char *subject, int
      length,\n                      size_t nmatch, regmatch_t pmatch[], int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/regex.c:331,1
    - Dst: memprintf
      Src: /src/haproxy/src/regex.c:333,1
    - Dst: pcre_compile
      Src: /src/haproxy/src/regex.c:343,1
    - Dst: memprintf
      Src: /src/haproxy/src/regex.c:345,1
    - Dst: pcre_study
      Src: /src/haproxy/src/regex.c:349,1
    - Dst: pcre_free
      Src: /src/haproxy/src/regex.c:351,1
    - Dst: memprintf
      Src: /src/haproxy/src/regex.c:352,1
    - Dst: pcre2_compile
      Src: /src/haproxy/src/regex.c:361,1
    - Dst: pcre2_get_error_message
      Src: /src/haproxy/src/regex.c:363,1
    - Dst: memprintf
      Src: /src/haproxy/src/regex.c:364,1
    - Dst: pcre2_jit_compile
      Src: /src/haproxy/src/regex.c:370,1
    - Dst: pcre2_code_free
      Src: /src/haproxy/src/regex.c:379,1
    - Dst: memprintf
      Src: /src/haproxy/src/regex.c:380,1
    - Dst: regcomp
      Src: /src/haproxy/src/regex.c:394,1
    - Dst: memprintf
      Src: /src/haproxy/src/regex.c:395,1
    - Dst: free
      Src: /src/haproxy/src/regex.c:402,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 4
    argNames:
    - str
    - cs
    - cap
    - err
    argTypes:
    - char*
    - int
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 404
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 404
    functionName: regex_comp
    functionSourceFile: /src/haproxy/src/regex.c
    functionUses: 0
    functionsReached:
    - memprintf
    - pcre2_code_free
    - pcre_free
    - regcomp
    - calloc
    - pcre2_get_error_message
    - pcre2_jit_compile
    - free
    - pcre_study
    - pcre_compile
    - pcre2_compile
    linkageType: ''
    returnType: struct my_regex
    signature: '*regex_comp(const char *str, int cs, int cap, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/regex.c:411,1
    - Dst: HAP_XSTRING
      Src: /src/haproxy/src/regex.c:412,1
    - Dst: HAP_XSTRING
      Src: /src/haproxy/src/regex.c:413,1
    - Dst: HAP_XSTRING
      Src: /src/haproxy/src/regex.c:413,1
    - Dst: memprintf
      Src: /src/haproxy/src/regex.c:414,1
    - Dst: pcre_version
      Src: /src/haproxy/src/regex.c:414,1
    - Dst: memprintf
      Src: /src/haproxy/src/regex.c:416,1
    - Dst: USE_PCRE_JIT
      Src: /src/haproxy/src/regex.c:417,1
    - Dst: pcre_config
      Src: /src/haproxy/src/regex.c:420,1
    - Dst: memprintf
      Src: /src/haproxy/src/regex.c:430,1
    - Dst: HAP_XSTRING
      Src: /src/haproxy/src/regex.c:431,1
    - Dst: HAP_XSTRING
      Src: /src/haproxy/src/regex.c:432,1
    - Dst: HAP_XSTRING
      Src: /src/haproxy/src/regex.c:432,1
    - Dst: memprintf
      Src: /src/haproxy/src/regex.c:433,1
    - Dst: USE_PCRE2_JIT
      Src: /src/haproxy/src/regex.c:434,1
    - Dst: pcre2_config
      Src: /src/haproxy/src/regex.c:437,1
    - Dst: memprintf
      Src: /src/haproxy/src/regex.c:447,1
    - Dst: hap_register_build_opts
      Src: /src/haproxy/src/regex.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 450
    functionName: regex_register_build_options
    functionSourceFile: /src/haproxy/src/regex.c
    functionUses: 0
    functionsReached:
    - memprintf
    - USE_PCRE2_JIT
    - pcre_version
    - hap_register_build_opts
    - pcre2_config
    - HAP_XSTRING
    - USE_PCRE_JIT
    - pcre_config
    linkageType: ''
    returnType: void
    signature: regex_register_build_options(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_printf
      Src: /src/haproxy/src/namespace.c:26,1
    - Dst: open
      Src: /src/haproxy/src/namespace.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ns_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: open_named_namespace
    functionSourceFile: /src/haproxy/src/namespace.c
    functionUses: 0
    functionsReached:
    - open
    - chunk_printf
    linkageType: ''
    returnType: int
    signature: open_named_namespace(const char *ns_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_printf
      Src: /src/haproxy/src/namespace.c:35,1
    - Dst: getpid
      Src: /src/haproxy/src/namespace.c:35,1
    - Dst: open
      Src: /src/haproxy/src/namespace.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 39
    functionName: init_default_namespace
    functionSourceFile: /src/haproxy/src/namespace.c
    functionUses: 0
    functionsReached:
    - open
    - getpid
    - chunk_printf
    linkageType: ''
    returnType: int
    signature: init_default_namespace()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_first
      Src: /src/haproxy/src/namespace.c:50,1
    - Dst: ebpt_next
      Src: /src/haproxy/src/namespace.c:52,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/namespace.c:53,1
    - Dst: container_of
      Src: /src/haproxy/src/namespace.c:54,1
    - Dst: free
      Src: /src/haproxy/src/namespace.c:55,1
    - Dst: close
      Src: /src/haproxy/src/namespace.c:56,1
    - Dst: free
      Src: /src/haproxy/src/namespace.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - sh
    argTypes:
    - struct sig_handler*
    constantsTouched: []
    func_position:
      end: 60
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 60
    functionName: netns_sig_stop
    functionSourceFile: /src/haproxy/src/namespace.c
    functionUses: 0
    functionsReached:
    - container_of
    - free
    - ebpt_first
    - ebpt_delete
    - close
    - ebpt_next
    linkageType: ''
    returnType: void
    signature: netns_sig_stop(struct sig_handler *sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/src/namespace.c:71,1
    - Dst: init_default_namespace
      Src: /src/haproxy/src/namespace.c:72,1
    - Dst: ha_alert
      Src: /src/haproxy/src/namespace.c:73,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/namespace.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: netns_init
    functionSourceFile: /src/haproxy/src/namespace.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - signal_register_fct
    - init_default_namespace
    - eb_is_empty
    linkageType: ''
    returnType: int
    signature: netns_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/namespace.c:90,1
    - Dst: strdup
      Src: /src/haproxy/src/namespace.c:94,1
    - Dst: strlen
      Src: /src/haproxy/src/namespace.c:98,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/namespace.c:99,1
    - Dst: ha_free
      Src: /src/haproxy/src/namespace.c:105,1
    - Dst: close
      Src: /src/haproxy/src/namespace.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ns_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 109
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 109
    functionName: netns_store_insert
    functionSourceFile: /src/haproxy/src/namespace.c
    functionUses: 0
    functionsReached:
    - ha_free
    - strlen
    - calloc
    - ebis_insert
    - strdup
    - close
    linkageType: ''
    returnType: struct netns_entry
    signature: '* netns_store_insert(const char *ns_name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebis_lookup_len
      Src: /src/haproxy/src/namespace.c:115,1
    - Dst: ebpt_entry
      Src: /src/haproxy/src/namespace.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ns_name
    - ns_name_len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: netns_store_lookup
    functionSourceFile: /src/haproxy/src/namespace.c
    functionUses: 0
    functionsReached:
    - ebis_lookup_len
    - ebpt_entry
    linkageType: ''
    returnType: struct netns_entry
    signature: '* netns_store_lookup(const char *ns_name, size_t ns_name_len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setns
      Src: /src/haproxy/src/namespace.c:129,1
    - Dst: socket
      Src: /src/haproxy/src/namespace.c:132,1
    - Dst: setns
      Src: /src/haproxy/src/namespace.c:134,1
    - Dst: close
      Src: /src/haproxy/src/namespace.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ns
    - domain
    - type
    - protocol
    argTypes:
    - struct netns_entry*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: my_socketat
    functionSourceFile: /src/haproxy/src/namespace.c
    functionUses: 0
    functionsReached:
    - socket
    - setns
    - close
    linkageType: ''
    returnType: int
    signature: my_socketat(const struct netns_entry *ns, int domain, int type, int
      protocol)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: comp_flt_init
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: comp_flt_init(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_alloc
      Src: /src/haproxy/src/flt_http_comp.c:76,1
    - Dst: b_alloc
      Src: /src/haproxy/src/flt_http_comp.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: comp_flt_init_per_thread
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached:
    - b_alloc
    linkageType: ''
    returnType: int
    signature: comp_flt_init_per_thread(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_free
      Src: /src/haproxy/src/flt_http_comp.c:87,1
    - Dst: b_free
      Src: /src/haproxy/src/flt_http_comp.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: comp_flt_deinit_per_thread
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached:
    - b_free
    linkageType: ''
    returnType: void
    signature: comp_flt_deinit_per_thread(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/flt_http_comp.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 114
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 114
    functionName: comp_strm_init
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached:
    - pool_alloc
    linkageType: ''
    returnType: int
    signature: comp_strm_init(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: end
      Src: /src/haproxy/src/flt_http_comp.c:126,1
    - Dst: end
      Src: /src/haproxy/src/flt_http_comp.c:128,1
    - Dst: pool_free
      Src: /src/haproxy/src/flt_http_comp.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: comp_strm_deinit
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached:
    - end
    - pool_free
    linkageType: ''
    returnType: void
    signature: comp_strm_deinit(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/flt_http_comp.c:136,1
    - Dst: http_find_header
      Src: /src/haproxy/src/flt_http_comp.c:146,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:146,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:155,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:155,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/flt_http_comp.c:156,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/flt_http_comp.c:156,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/flt_http_comp.c:157,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/flt_http_comp.c:158,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/flt_http_comp.c:163,1
    - Dst: http_find_header
      Src: /src/haproxy/src/flt_http_comp.c:177,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:177,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:179,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:179,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/flt_http_comp.c:182,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:193,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:193,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/flt_http_comp.c:199,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:210,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:210,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:211,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/flt_http_comp.c:218,1
    - Dst: init
      Src: /src/haproxy/src/flt_http_comp.c:226,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 65
    argCount: 3
    argNames:
    - st
    - s
    - msg
    argTypes:
    - struct comp_state*
    - struct stream*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 232
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 232
    functionName: comp_prepare_compress_request
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached:
    - htx_get_blksz
    - htx_get_next
    - read_freq_ctr
    - ist
    - htxbuf
    - htx_get_blk
    - htx_get_blk_type
    - strncasecmp
    - init
    - strm_fe
    - http_find_header
    - htx_get_first
    linkageType: ''
    returnType: void
    signature: comp_prepare_compress_request(struct comp_state *st, struct stream
      *s, struct http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:240,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:242,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:243,1
    - Dst: comp_prepare_compress_request
      Src: /src/haproxy/src/flt_http_comp.c:249,1
    - Dst: set_compression_header
      Src: /src/haproxy/src/flt_http_comp.c:251,1
    - Dst: register_data_filter
      Src: /src/haproxy/src/flt_http_comp.c:253,1
    - Dst: select_compression_request_header
      Src: /src/haproxy/src/flt_http_comp.c:258,1
    - Dst: set_compression_header
      Src: /src/haproxy/src/flt_http_comp.c:263,1
    - Dst: register_data_filter
      Src: /src/haproxy/src/flt_http_comp.c:265,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 3
    argNames:
    - s
    - filter
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 272
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 272
    functionName: comp_http_headers
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached:
    - comp_prepare_compress_request
    - register_data_filter
    - select_compression_request_header
    - set_compression_header
    - strm_fe
    linkageType: ''
    returnType: int
    signature: comp_http_headers(struct stream *s, struct filter *filter, struct http_msg
      *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:285,1
    - Dst: select_compression_response_header
      Src: /src/haproxy/src/flt_http_comp.c:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - s
    - filter
    - chn
    - an_bit
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    - unsigned
    constantsTouched: []
    func_position:
      end: 292
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 292
    functionName: comp_http_post_analyze
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached:
    - strm_fe
    - select_compression_response_header
    linkageType: ''
    returnType: int
    signature: "comp_http_post_analyze(struct stream *s, struct filter *filter,\n\t\t
      \      struct channel *chn, unsigned an_bit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/flt_http_comp.c:299,1
    - Dst: htx_find_offset
      Src: /src/haproxy/src/flt_http_comp.c:300,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/flt_http_comp.c:313,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/flt_http_comp.c:317,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/flt_http_comp.c:318,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/flt_http_comp.c:319,1
    - Dst: htx_compression_buffer_init
      Src: /src/haproxy/src/flt_http_comp.c:324,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/flt_http_comp.c:332,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/flt_http_comp.c:333,1
    - Dst: istadv
      Src: /src/haproxy/src/flt_http_comp.c:334,1
    - Dst: htx_compression_buffer_add_data
      Src: /src/haproxy/src/flt_http_comp.c:340,1
    - Dst: htx_compression_buffer_end
      Src: /src/haproxy/src/flt_http_comp.c:341,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/flt_http_comp.c:343,1
    - Dst: b_data
      Src: /src/haproxy/src/flt_http_comp.c:345,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/flt_http_comp.c:346,1
    - Dst: htx_replace_blk_value
      Src: /src/haproxy/src/flt_http_comp.c:348,1
    - Dst: ist2
      Src: /src/haproxy/src/flt_http_comp.c:348,1
    - Dst: b_head
      Src: /src/haproxy/src/flt_http_comp.c:348,1
    - Dst: b_data
      Src: /src/haproxy/src/flt_http_comp.c:348,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/flt_http_comp.c:349,1
    - Dst: b_data
      Src: /src/haproxy/src/flt_http_comp.c:354,1
    - Dst: htx_compression_buffer_end
      Src: /src/haproxy/src/flt_http_comp.c:361,1
    - Dst: b_data
      Src: /src/haproxy/src/flt_http_comp.c:363,1
    - Dst: htx_add_last_data
      Src: /src/haproxy/src/flt_http_comp.c:364,1
    - Dst: ist2
      Src: /src/haproxy/src/flt_http_comp.c:364,1
    - Dst: b_head
      Src: /src/haproxy/src/flt_http_comp.c:364,1
    - Dst: b_data
      Src: /src/haproxy/src/flt_http_comp.c:364,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/flt_http_comp.c:367,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/flt_http_comp.c:370,1
    - Dst: b_data
      Src: /src/haproxy/src/flt_http_comp.c:371,1
    - Dst: flt_update_offsets
      Src: /src/haproxy/src/flt_http_comp.c:392,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/src/flt_http_comp.c:395,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/flt_http_comp.c:396,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:396,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/flt_http_comp.c:397,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/src/flt_http_comp.c:398,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/flt_http_comp.c:399,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:399,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/flt_http_comp.c:400,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/flt_http_comp.c:402,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:402,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/flt_http_comp.c:403,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 93
    argCount: 5
    argNames:
    - s
    - filter
    - msg
    - offset
    - len
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 409
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 409
    functionName: comp_http_payload
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached:
    - b_head
    - istadv
    - htx_get_blk_value
    - strm_fe
    - BUG_ON
    - htx_get_next_blk
    - htx_compression_buffer_init
    - flt_update_offsets
    - htx_compression_buffer_end
    - ist2
    - htx_remove_blk
    - htx_replace_blk_value
    - htx_find_offset
    - htx_compression_buffer_add_data
    - htxbuf
    - htx_get_blk_type
    - b_data
    - _HA_ATOMIC_ADD
    - update_freq_ctr
    - htx_add_last_data
    linkageType: ''
    returnType: int
    signature: "comp_http_payload(struct stream *s, struct filter *filter, struct
      http_msg *msg,\n\t\t  unsigned int offset, unsigned int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:421,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/flt_http_comp.c:422,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:422,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/flt_http_comp.c:424,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - s
    - filter
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 427
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 427
    functionName: comp_http_end
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached:
    - strm_fe
    - _HA_ATOMIC_INC
    linkageType: ''
    returnType: int
    signature: "comp_http_end(struct stream *s, struct filter *filter,\n\t      struct
      http_msg *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/flt_http_comp.c:433,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/flt_http_comp.c:444,1
    - Dst: http_add_header
      Src: /src/haproxy/src/flt_http_comp.c:452,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:452,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:452,1
    - Dst: http_find_header
      Src: /src/haproxy/src/flt_http_comp.c:461,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:461,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/flt_http_comp.c:462,1
    - Dst: http_find_header
      Src: /src/haproxy/src/flt_http_comp.c:469,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:469,1
    - Dst: ist2
      Src: /src/haproxy/src/flt_http_comp.c:472,1
    - Dst: istcat
      Src: /src/haproxy/src/flt_http_comp.c:473,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:473,1
    - Dst: istcat
      Src: /src/haproxy/src/flt_http_comp.c:473,1
    - Dst: http_replace_header_value
      Src: /src/haproxy/src/flt_http_comp.c:476,1
    - Dst: http_find_header
      Src: /src/haproxy/src/flt_http_comp.c:484,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:484,1
    - Dst: isteqi
      Src: /src/haproxy/src/flt_http_comp.c:485,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:485,1
    - Dst: http_add_header
      Src: /src/haproxy/src/flt_http_comp.c:493,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:493,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:493,1
    - Dst: http_append_header_value
      Src: /src/haproxy/src/flt_http_comp.c:500,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:500,1
    - Dst: memcmp
      Src: /src/haproxy/src/flt_http_comp.c:511,1
    - Dst: ist2
      Src: /src/haproxy/src/flt_http_comp.c:512,1
    - Dst: http_add_header
      Src: /src/haproxy/src/flt_http_comp.c:514,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:514,1
    - Dst: end
      Src: /src/haproxy/src/flt_http_comp.c:521,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 63
    argCount: 3
    argNames:
    - st
    - s
    - msg
    argTypes:
    - struct comp_state*
    - struct stream*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 524
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 524
    functionName: set_compression_header
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 1
    functionsReached:
    - istcat
    - http_add_header
    - http_append_header_value
    - ist2
    - http_replace_header_value
    - ist
    - htxbuf
    - memcmp
    - end
    - http_get_stline
    - http_remove_header
    - isteqi
    - http_find_header
    linkageType: ''
    returnType: int
    signature: set_compression_header(struct comp_state *st, struct stream *s, struct
      http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/flt_http_comp.c:532,1
    - Dst: http_find_header
      Src: /src/haproxy/src/flt_http_comp.c:542,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:542,1
    - Dst: memcmp
      Src: /src/haproxy/src/flt_http_comp.c:544,1
    - Dst: memcmp
      Src: /src/haproxy/src/flt_http_comp.c:546,1
    - Dst: memcmp
      Src: /src/haproxy/src/flt_http_comp.c:549,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:556,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:556,1
    - Dst: http_find_header
      Src: /src/haproxy/src/flt_http_comp.c:560,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:560,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/flt_http_comp.c:567,1
    - Dst: istend
      Src: /src/haproxy/src/flt_http_comp.c:572,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/flt_http_comp.c:572,1
    - Dst: istend
      Src: /src/haproxy/src/flt_http_comp.c:575,1
    - Dst: istend
      Src: /src/haproxy/src/flt_http_comp.c:581,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/flt_http_comp.c:581,1
    - Dst: istend
      Src: /src/haproxy/src/flt_http_comp.c:584,1
    - Dst: strncmp
      Src: /src/haproxy/src/flt_http_comp.c:588,1
    - Dst: MIN
      Src: /src/haproxy/src/flt_http_comp.c:588,1
    - Dst: istend
      Src: /src/haproxy/src/flt_http_comp.c:588,1
    - Dst: istend
      Src: /src/haproxy/src/flt_http_comp.c:591,1
    - Dst: http_parse_qvalue
      Src: /src/haproxy/src/flt_http_comp.c:596,1
    - Dst: word_match
      Src: /src/haproxy/src/flt_http_comp.c:603,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:615,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:615,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/flt_http_comp.c:616,1
    - Dst: http_find_header
      Src: /src/haproxy/src/flt_http_comp.c:618,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:618,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/flt_http_comp.c:619,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:626,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:626,1
    - Dst: memcmp
      Src: /src/haproxy/src/flt_http_comp.c:628,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 63
    argCount: 3
    argNames:
    - st
    - s
    - msg
    argTypes:
    - struct comp_state*
    - struct stream*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 637
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 637
    functionName: select_compression_request_header
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 1
    functionsReached:
    - HTTP_IS_LWS
    - strncmp
    - istend
    - word_match
    - ist
    - htxbuf
    - http_remove_header
    - MIN
    - http_parse_qvalue
    - strm_fe
    - memcmp
    - http_find_header
    - HTTP_IS_TOKEN
    linkageType: ''
    returnType: int
    signature: select_compression_request_header(struct comp_state *st, struct stream
      *s, struct http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/flt_http_comp.c:645,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:680,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:680,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/flt_http_comp.c:681,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/flt_http_comp.c:681,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/flt_http_comp.c:682,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/flt_http_comp.c:683,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/flt_http_comp.c:688,1
    - Dst: http_find_header
      Src: /src/haproxy/src/flt_http_comp.c:699,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:699,1
    - Dst: http_find_header
      Src: /src/haproxy/src/flt_http_comp.c:704,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:704,1
    - Dst: word_match
      Src: /src/haproxy/src/flt_http_comp.c:705,1
    - Dst: http_find_header
      Src: /src/haproxy/src/flt_http_comp.c:711,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:711,1
    - Dst: http_get_etag_type
      Src: /src/haproxy/src/flt_http_comp.c:712,1
    - Dst: http_find_header
      Src: /src/haproxy/src/flt_http_comp.c:718,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:718,1
    - Dst: http_find_header
      Src: /src/haproxy/src/flt_http_comp.c:729,1
    - Dst: ist
      Src: /src/haproxy/src/flt_http_comp.c:729,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/flt_http_comp.c:730,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:734,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:734,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/flt_http_comp.c:737,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:748,1
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_http_comp.c:748,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/flt_http_comp.c:754,1
    - Dst: init
      Src: /src/haproxy/src/flt_http_comp.c:762,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 87
    argCount: 3
    argNames:
    - st
    - s
    - msg
    argTypes:
    - struct comp_state*
    - struct stream*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 770
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 770
    functionName: select_compression_response_header
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 1
    functionsReached:
    - http_get_etag_type
    - htx_get_blksz
    - read_freq_ctr
    - http_find_header
    - word_match
    - ist
    - htxbuf
    - htx_get_blk
    - htx_get_blk_type
    - strncasecmp
    - init
    - strm_fe
    - htx_get_next
    - htx_get_first
    linkageType: ''
    returnType: int
    signature: select_compression_response_header(struct comp_state *st, struct stream
      *s, struct http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_free_space
      Src: /src/haproxy/src/flt_http_comp.c:780,1
    - Dst: b_reset
      Src: /src/haproxy/src/flt_http_comp.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - htx
    - out
    argTypes:
    - struct htx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 784
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 784
    functionName: htx_compression_buffer_init
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 1
    functionsReached:
    - htx_free_space
    - b_reset
    linkageType: ''
    returnType: int
    signature: htx_compression_buffer_init(struct htx *htx, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_data
      Src: /src/haproxy/src/flt_http_comp.c:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - st
    - data
    - len
    - out
    - dir
    argTypes:
    - struct comp_state*
    - char*
    - size_t
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 792
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 792
    functionName: htx_compression_buffer_add_data
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 1
    functionsReached:
    - add_data
    linkageType: ''
    returnType: int
    signature: "htx_compression_buffer_add_data(struct comp_state *st, const char
      *data, size_t len,\n\t\t\t\tstruct buffer *out, int dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: finish
      Src: /src/haproxy/src/flt_http_comp.c:799,1
    - Dst: flush
      Src: /src/haproxy/src/flt_http_comp.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - st
    - out
    - end
    - dir
    argTypes:
    - struct comp_state*
    - struct buffer*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 802
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 802
    functionName: htx_compression_buffer_end
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 1
    functionsReached:
    - finish
    - flush
    linkageType: ''
    returnType: int
    signature: htx_compression_buffer_end(struct comp_state *st, struct buffer *out,
      int end, int dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/flt_http_comp.c:831,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_http_comp.c:839,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_http_comp.c:839,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:844,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:853,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:856,1
    - Dst: struct proxy*::comp::algos_res::init
      Src: /src/haproxy/src/flt_http_comp.c:862,1
    - Dst: struct proxy*::comp::algos_res::end
      Src: /src/haproxy/src/flt_http_comp.c:863,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:865,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_http_comp.c:874,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:880,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:883,1
    - Dst: struct proxy*::comp::algo_req::init
      Src: /src/haproxy/src/flt_http_comp.c:889,1
    - Dst: struct proxy*::comp::algo_req::end
      Src: /src/haproxy/src/flt_http_comp.c:890,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:892,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_http_comp.c:898,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:900,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_http_comp.c:906,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_http_comp.c:906,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:910,1
    - Dst: comp_append_type
      Src: /src/haproxy/src/flt_http_comp.c:915,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:916,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_http_comp.c:924,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:928,1
    - Dst: comp_append_type
      Src: /src/haproxy/src/flt_http_comp.c:933,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:934,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_http_comp.c:942,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:944,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/flt_http_comp.c:948,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:950,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_http_comp.c:955,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:957,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/flt_http_comp.c:961,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:963,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_http_comp.c:968,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:970,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_http_comp.c:974,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_http_comp.c:977,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_http_comp.c:980,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:983,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:989,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 155
    argCount: 7
    argNames:
    - args
    - section
    - proxy
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 997
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 997
    functionName: parse_compression_options
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - comp_append_type
    - struct proxy*::comp::algos_res::init
    - calloc
    - strcmp
    - parse_size_err
    - struct proxy*::comp::algos_res::end
    - struct proxy*::comp::algo_req::init
    - struct proxy*::comp::algo_req::end
    linkageType: ''
    returnType: int
    signature: "parse_compression_options(char **args, int section, struct proxy *proxy,\n\t\t\t
      \ const struct proxy *defpx, const char *file, int line,\n\t\t\t  char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_http_comp.c:1005,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_http_comp.c:1007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - fconf
    - err
    - private
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct flt_conf*
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 1018
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1018
    functionName: parse_http_comp_flt
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - list_for_each_entry_safe
    linkageType: ''
    returnType: int
    signature: "parse_http_comp_flt(char **args, int *cur_arg, struct proxy *px,\n
      \                   struct flt_conf *fconf, char **err, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/flt_http_comp.c:1031,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_http_comp.c:1032,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_http_comp.c:1037,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/flt_http_comp.c:1039,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_http_comp.c:1053,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/flt_http_comp.c:1054,1
    - Dst: calloc
      Src: /src/haproxy/src/flt_http_comp.c:1061,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_http_comp.c:1063,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/flt_http_comp.c:1064,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/flt_http_comp.c:1071,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1074
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1074
    functionName: check_implicit_http_comp_flt
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - LIST_ISEMPTY
    - list_for_each_entry
    - calloc
    - LIST_APPEND
    - proxy_type_str
    linkageType: ''
    returnType: int
    signature: check_implicit_http_comp_flt(struct proxy *proxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1089
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1089
    functionName: smp_fetch_res_comp
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "smp_fetch_res_comp(const struct arg *args, struct sample *smp, const
      char *kw,\n\t\t   void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_http_comp.c:1105,1
    - Dst: strm_flt
      Src: /src/haproxy/src/flt_http_comp.c:1105,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/flt_http_comp.c:1106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1119
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1119
    functionName: smp_fetch_res_comp_algo
    functionSourceFile: /src/haproxy/src/flt_http_comp.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strm_flt
    - FLT_ID
    linkageType: ''
    returnType: int
    signature: "smp_fetch_res_comp_algo(const struct arg *args, struct sample *smp,\n\t\t\tconst
      char *kw, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/connection.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - conn
    - type
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: conn_get_tlv
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: struct conn_tlv_list
    signature: '*conn_get_tlv(struct connection *conn, int type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/connection.c:83,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/connection.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: conn_delete_from_tree
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - LIST_DEL_INIT
    - eb64_delete
    linkageType: ''
    returnType: void
    signature: conn_delete_from_tree(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_back
      Src: /src/haproxy/src/connection.c:89,1
    - Dst: obj_type
      Src: /src/haproxy/src/connection.c:97,1
    - Dst: conn_install_mux_chk
      Src: /src/haproxy/src/connection.c:98,1
    - Dst: conn_install_mux_be
      Src: /src/haproxy/src/connection.c:101,1
    - Dst: objt_server
      Src: /src/haproxy/src/connection.c:103,1
    - Dst: struct connection*::mux::avail_streams
      Src: /src/haproxy/src/connection.c:112,1
    - Dst: srv_add_to_avail_list
      Src: /src/haproxy/src/connection.c:113,1
    - Dst: session_add_conn
      Src: /src/haproxy/src/connection.c:117,1
    - Dst: struct stconn*::app_ops::wake
      Src: /src/haproxy/src/connection.c:123,1
    - Dst: conn_reverse_in_preconnect
      Src: /src/haproxy/src/connection.c:125,1
    - Dst: conn_active_reverse_listener
      Src: /src/haproxy/src/connection.c:126,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/connection.c:136,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/connection.c:138,1
    - Dst: conn_complete_session
      Src: /src/haproxy/src/connection.c:142,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 144
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 144
    functionName: conn_create_mux
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - srv_add_to_avail_list
    - conn_reverse_in_preconnect
    - objt_server
    - struct connection*::mux::avail_streams
    - task_wakeup
    - conn_complete_session
    - session_add_conn
    - conn_is_back
    - obj_type
    - conn_install_mux_be
    - conn_active_reverse_listener
    - BUG_ON
    - struct stconn*::app_ops::wake
    - conn_install_mux_chk
    linkageType: ''
    returnType: int
    signature: conn_create_mux(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/connection.c:159,1
    - Dst: conn_create_mux
      Src: /src/haproxy/src/connection.c:160,1
    - Dst: objt_server
      Src: /src/haproxy/src/connection.c:195,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/connection.c:198,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/connection.c:199,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/connection.c:200,1
    - Dst: struct connection*::mux::wake
      Src: /src/haproxy/src/connection.c:203,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/connection.c:208,1
    - Dst: _srv_add_idle
      Src: /src/haproxy/src/connection.c:209,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/connection.c:210,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - conn
    - old_flags
    - forced_wake
    argTypes:
    - struct connection*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 215
    functionName: conn_notify_mux
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - struct connection*::mux::wake
    - objt_server
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - conn_create_mux
    - _srv_add_idle
    - unlikely
    - conn_delete_from_tree
    linkageType: ''
    returnType: int
    signature: conn_notify_mux(struct connection *conn, int old_flags, int forced_wake)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_listener
      Src: /src/haproxy/src/connection.c:223,1
    - Dst: conn_get_alpn
      Src: /src/haproxy/src/connection.c:230,1
    - Dst: ist2
      Src: /src/haproxy/src/connection.c:231,1
    - Dst: conn_get_best_mux
      Src: /src/haproxy/src/connection.c:233,1
    - Dst: init
      Src: /src/haproxy/src/connection.c:247,1
    - Dst: struct mux_ops*::destroy
      Src: /src/haproxy/src/connection.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - conn
    - ctx
    - buf
    - mux_proto
    - mode
    argTypes:
    - struct connection*
    - void*
    - struct buffer*
    - struct ist
    - int
    constantsTouched: []
    func_position:
      end: 258
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 258
    functionName: conn_upgrade_mux_fe
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - ist2
    - conn_get_best_mux
    - init
    - conn_get_alpn
    - struct mux_ops*::destroy
    - __objt_listener
    linkageType: ''
    returnType: int
    signature: "conn_upgrade_mux_fe(struct connection *conn, void *ctx, struct buffer
      *buf,\n                        struct ist mux_proto, int mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_listener
      Src: /src/haproxy/src/connection.c:266,1
    - Dst: conn_get_alpn
      Src: /src/haproxy/src/connection.c:277,1
    - Dst: ist2
      Src: /src/haproxy/src/connection.c:278,1
    - Dst: conn_get_best_mux
      Src: /src/haproxy/src/connection.c:279,1
    - Dst: conn_install_mux
      Src: /src/haproxy/src/connection.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - conn
    - ctx
    argTypes:
    - struct connection*
    - void*
    constantsTouched: []
    func_position:
      end: 293
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 293
    functionName: conn_install_mux_fe
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - ist2
    - conn_get_best_mux
    - conn_get_alpn
    - conn_install_mux
    - __objt_listener
    linkageType: ''
    returnType: int
    signature: conn_install_mux_fe(struct connection *conn, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/src/connection.c:305,1
    - Dst: objt_proxy
      Src: /src/haproxy/src/connection.c:306,1
    - Dst: likely
      Src: /src/haproxy/src/connection.c:315,1
    - Dst: unlikely
      Src: /src/haproxy/src/connection.c:318,1
    - Dst: conn_get_alpn
      Src: /src/haproxy/src/connection.c:327,1
    - Dst: ist2
      Src: /src/haproxy/src/connection.c:328,1
    - Dst: conn_get_best_mux
      Src: /src/haproxy/src/connection.c:330,1
    - Dst: conn_install_mux
      Src: /src/haproxy/src/connection.c:334,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - conn
    - ctx
    - sess
    - force_mux_ops
    argTypes:
    - struct connection*
    - void*
    - struct session*
    - struct mux_ops*
    constantsTouched: []
    func_position:
      end: 335
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 335
    functionName: conn_install_mux_be
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 2
    functionsReached:
    - objt_server
    - ist2
    - conn_get_best_mux
    - objt_proxy
    - conn_get_alpn
    - likely
    - unlikely
    - conn_install_mux
    linkageType: ''
    returnType: int
    signature: "conn_install_mux_be(struct connection *conn, void *ctx, struct session
      *sess,\n                        const struct mux_ops *force_mux_ops)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_check
      Src: /src/haproxy/src/connection.c:343,1
    - Dst: objt_server
      Src: /src/haproxy/src/connection.c:344,1
    - Dst: objt_proxy
      Src: /src/haproxy/src/connection.c:345,1
    - Dst: conn_get_alpn
      Src: /src/haproxy/src/connection.c:365,1
    - Dst: ist2
      Src: /src/haproxy/src/connection.c:366,1
    - Dst: conn_get_best_mux
      Src: /src/haproxy/src/connection.c:368,1
    - Dst: conn_install_mux
      Src: /src/haproxy/src/connection.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - conn
    - ctx
    - sess
    argTypes:
    - struct connection*
    - void*
    - struct session*
    constantsTouched: []
    func_position:
      end: 373
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 373
    functionName: conn_install_mux_chk
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 1
    functionsReached:
    - objt_server
    - objt_check
    - ist2
    - conn_get_best_mux
    - objt_proxy
    - conn_get_alpn
    - conn_install_mux
    linkageType: ''
    returnType: int
    signature: conn_install_mux_chk(struct connection *conn, void *ctx, struct session
      *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_back
      Src: /src/haproxy/src/connection.c:393,1
    - Dst: obj_type
      Src: /src/haproxy/src/connection.c:394,1
    - Dst: __objt_server
      Src: /src/haproxy/src/connection.c:395,1
    - Dst: isteqi
      Src: /src/haproxy/src/connection.c:420,1
    - Dst: ist2
      Src: /src/haproxy/src/connection.c:420,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/connection.c:429,1
    - Dst: ssl_sock_set_alpn
      Src: /src/haproxy/src/connection.c:435,1
    - Dst: istptr
      Src: /src/haproxy/src/connection.c:435,1
    - Dst: istlen
      Src: /src/haproxy/src/connection.c:435,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - conn
    - alpn
    - force
    argTypes:
    - struct connection*
    - struct ist
    - int
    constantsTouched: []
    func_position:
      end: 441
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 441
    functionName: conn_update_alpn
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - ssl_sock_set_alpn
    - istlen
    - ist2
    - istptr
    - __objt_server
    - conn_is_back
    - obj_type
    - isteqi
    linkageType: ''
    returnType: int
    signature: conn_update_alpn(struct connection *conn, const struct ist alpn, int
      force)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/connection.c:462,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/connection.c:463,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/connection.c:464,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/connection.c:466,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/connection.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - conn
    - target
    argTypes:
    - struct connection*
    - void*
    constantsTouched: []
    func_position:
      end: 475
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 475
    functionName: conn_init
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - conn_is_back
    - MT_LIST_INIT
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: conn_init(struct connection *conn, void *target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/connection.c:483,1
    - Dst: conn_alloc_hash_node
      Src: /src/haproxy/src/connection.c:486,1
    - Dst: unlikely
      Src: /src/haproxy/src/connection.c:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 491
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 491
    functionName: conn_backend_init
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - sockaddr_alloc
    - unlikely
    - conn_alloc_hash_node
    linkageType: ''
    returnType: int
    signature: conn_backend_init(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/connection.c:502,1
    - Dst: session_unown_conn
      Src: /src/haproxy/src/connection.c:503,1
    - Dst: obj_type
      Src: /src/haproxy/src/connection.c:505,1
    - Dst: __objt_server
      Src: /src/haproxy/src/connection.c:506,1
    - Dst: srv_release_conn
      Src: /src/haproxy/src/connection.c:510,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/connection.c:513,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/connection.c:518,1
    - Dst: pool_free
      Src: /src/haproxy/src/connection.c:520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 523
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 523
    functionName: conn_backend_deinit
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_DEC
    - session_unown_conn
    - srv_release_conn
    - pool_free
    - __objt_server
    - obj_type
    - LIST_INLIST
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: conn_backend_deinit(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/connection.c:533,1
    - Dst: unlikely
      Src: /src/haproxy/src/connection.c:534,1
    - Dst: conn_init
      Src: /src/haproxy/src/connection.c:537,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/connection.c:539,1
    - Dst: obj_type
      Src: /src/haproxy/src/connection.c:540,1
    - Dst: srv_use_conn
      Src: /src/haproxy/src/connection.c:541,1
    - Dst: __objt_server
      Src: /src/haproxy/src/connection.c:541,1
    - Dst: conn_backend_init
      Src: /src/haproxy/src/connection.c:543,1
    - Dst: conn_free
      Src: /src/haproxy/src/connection.c:544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - target
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 550
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 550
    functionName: conn_new
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 1
    functionsReached:
    - conn_free
    - pool_alloc
    - __objt_server
    - conn_is_back
    - conn_init
    - obj_type
    - conn_backend_init
    - srv_use_conn
    - unlikely
    linkageType: ''
    returnType: struct connection
    signature: '*conn_new(void *target)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_back
      Src: /src/haproxy/src/connection.c:557,1
    - Dst: conn_backend_deinit
      Src: /src/haproxy/src/connection.c:558,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/connection.c:566,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/connection.c:568,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/connection.c:569,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/connection.c:572,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/connection.c:573,1
    - Dst: free
      Src: /src/haproxy/src/connection.c:575,1
    - Dst: pool_free
      Src: /src/haproxy/src/connection.c:577,1
    - Dst: pool_free
      Src: /src/haproxy/src/connection.c:579,1
    - Dst: ha_free
      Src: /src/haproxy/src/connection.c:582,1
    - Dst: conn_reverse_in_preconnect
      Src: /src/haproxy/src/connection.c:584,1
    - Dst: conn_active_reverse_listener
      Src: /src/haproxy/src/connection.c:585,1
    - Dst: rhttp_notify_preconn_err
      Src: /src/haproxy/src/connection.c:586,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/connection.c:587,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/connection.c:590,1
    - Dst: conn_force_unsubscribe
      Src: /src/haproxy/src/connection.c:594,1
    - Dst: pool_free
      Src: /src/haproxy/src/connection.c:595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 596
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 596
    functionName: conn_free
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 3
    functionsReached:
    - sockaddr_free
    - conn_force_unsubscribe
    - rhttp_notify_preconn_err
    - list_for_each_entry_safe
    - ha_free
    - conn_reverse_in_preconnect
    - LIST_DELETE
    - MT_LIST_DELETE
    - pool_free
    - conn_backend_deinit
    - conn_is_back
    - free
    - HA_ATOMIC_DEC
    - conn_active_reverse_listener
    linkageType: ''
    returnType: void
    signature: conn_free(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct connection*::mux::destroy
      Src: /src/haproxy/src/connection.c:602,1
    - Dst: conn_stop_tracking
      Src: /src/haproxy/src/connection.c:605,1
    - Dst: conn_full_close
      Src: /src/haproxy/src/connection.c:606,1
    - Dst: struct connection*::destroy_cb
      Src: /src/haproxy/src/connection.c:608,1
    - Dst: conn_free
      Src: /src/haproxy/src/connection.c:609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 611
      start: 599
    functionDepth: 3
    functionLinenumber: 599
    functionLinenumberEnd: 611
    functionName: conn_release
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - conn_full_close
    - conn_free
    - struct connection*::destroy_cb
    - struct connection*::mux::destroy
    - conn_stop_tracking
    linkageType: ''
    returnType: void
    signature: conn_release(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_zalloc
      Src: /src/haproxy/src/connection.c:617,1
    - Dst: unlikely
      Src: /src/haproxy/src/connection.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 624
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 624
    functionName: conn_alloc_hash_node
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 1
    functionsReached:
    - pool_zalloc
    - unlikely
    linkageType: ''
    returnType: struct conn_hash_node
    signature: '*conn_alloc_hash_node(struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/connection.c:640,1
    - Dst: memcpy
      Src: /src/haproxy/src/connection.c:642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - sap
    - orig
    - len
    argTypes:
    - struct sockaddr_storage**
    - struct sockaddr_storage*
    - socklen_t
    constantsTouched: []
    func_position:
      end: 646
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 646
    functionName: sockaddr_alloc
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 2
    functionsReached:
    - memcpy
    - pool_alloc
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: '*sockaddr_alloc(struct sockaddr_storage **sap, const struct sockaddr_storage
      *orig, socklen_t len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free
      Src: /src/haproxy/src/connection.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sap
    argTypes:
    - struct sockaddr_storage**
    constantsTouched: []
    func_position:
      end: 658
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 658
    functionName: sockaddr_free
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 1
    functionsReached:
    - pool_free
    linkageType: ''
    returnType: void
    signature: sockaddr_free(struct sockaddr_storage **sap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xprt_get
      Src: /src/haproxy/src/connection.c:668,1
    - Dst: struct xprt_ops*::init
      Src: /src/haproxy/src/connection.c:674,1
    - Dst: xprt_get
      Src: /src/haproxy/src/connection.c:676,1
    - Dst: struct connection*::xprt::add_xprt
      Src: /src/haproxy/src/connection.c:682,1
    - Dst: struct xprt_ops*::close
      Src: /src/haproxy/src/connection.c:684,1
    - Dst: struct xprt_ops*::add_xprt
      Src: /src/haproxy/src/connection.c:688,1
    - Dst: struct xprt_ops*::close
      Src: /src/haproxy/src/connection.c:689,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 693
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 693
    functionName: xprt_add_hs
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 1
    functionsReached:
    - struct xprt_ops*::close
    - struct xprt_ops*::add_xprt
    - struct xprt_ops*::init
    - struct connection*::xprt::add_xprt
    - xprt_get
    linkageType: ''
    returnType: int
    signature: xprt_add_hs(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 118
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 761
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 761
    functionName: conn_err_code_name
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*conn_err_code_name(struct connection *c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 118
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 836
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 836
    functionName: conn_err_code_str
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*conn_err_code_str(struct connection *c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - conn
    - err
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 867
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 867
    functionName: conn_set_errno
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: conn_set_errno(struct connection *conn, int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_make
      Src: /src/haproxy/src/connection.c:883,1
    - Dst: xprt_get
      Src: /src/haproxy/src/connection.c:884,1
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/connection.c:893,1
    - Dst: struct xprt_ops*::snd_buf
      Src: /src/haproxy/src/connection.c:903,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - conn
    - buf
    - len
    - flags
    argTypes:
    - struct connection*
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 910
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 910
    functionName: conn_ctrl_send
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - conn_ctrl_ready
    - xprt_get
    - struct xprt_ops*::snd_buf
    - b_make
    linkageType: ''
    returnType: int
    signature: conn_ctrl_send(struct connection *conn, const void *buf, int len, int
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/connection.c:919,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/connection.c:920,1
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/connection.c:926,1
    - Dst: struct connection*::ctrl::ignore_events
      Src: /src/haproxy/src/connection.c:927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - conn
    - xprt_ctx
    - event_type
    - es
    argTypes:
    - struct connection*
    - void*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 930
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 930
    functionName: conn_unsubscribe
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - conn_ctrl_ready
    - BUG_ON
    - struct connection*::ctrl::ignore_events
    linkageType: ''
    returnType: int
    signature: conn_unsubscribe(struct connection *conn, void *xprt_ctx, int event_type,
      struct wait_event *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/connection.c:942,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/connection.c:943,1
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/connection.c:948,1
    - Dst: struct connection*::ctrl::check_events
      Src: /src/haproxy/src/connection.c:949,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/connection.c:951,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - conn
    - xprt_ctx
    - event_type
    - es
    argTypes:
    - struct connection*
    - void*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 957
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 957
    functionName: conn_subscribe
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - conn_ctrl_ready
    - BUG_ON
    - tasklet_wakeup
    - struct connection*::ctrl::check_events
    linkageType: ''
    returnType: int
    signature: conn_subscribe(struct connection *conn, void *xprt_ctx, int event_type,
      struct wait_event *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/connection.c:969,1
    - Dst: struct connection*::ctrl::drain
      Src: /src/haproxy/src/connection.c:972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 977
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 977
    functionName: conn_ctrl_drain
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - struct connection*::ctrl::drain
    - conn_ctrl_ready
    linkageType: ''
    returnType: int
    signature: conn_ctrl_drain(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct tlv*
    constantsTouched: []
    func_position:
      end: 985
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 985
    functionName: get_tlv_length
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: get_tlv_length(const struct tlv *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/connection.c:1020,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/connection.c:1023,1
    - Dst: fd_recv_ready
      Src: /src/haproxy/src/connection.c:1025,1
    - Dst: recv
      Src: /src/haproxy/src/connection.c:1029,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/connection.c:1034,1
    - Dst: strncmp
      Src: /src/haproxy/src/connection.c:1058,1
    - Dst: memcmp
      Src: /src/haproxy/src/connection.c:1065,1
    - Dst: inetaddr_host_lim_ret
      Src: /src/haproxy/src/connection.c:1070,1
    - Dst: inetaddr_host_lim_ret
      Src: /src/haproxy/src/connection.c:1076,1
    - Dst: read_uint
      Src: /src/haproxy/src/connection.c:1082,1
    - Dst: read_uint
      Src: /src/haproxy/src/connection.c:1088,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/connection.c:1096,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/connection.c:1096,1
    - Dst: htonl
      Src: /src/haproxy/src/connection.c:1101,1
    - Dst: htons
      Src: /src/haproxy/src/connection.c:1102,1
    - Dst: htonl
      Src: /src/haproxy/src/connection.c:1105,1
    - Dst: htons
      Src: /src/haproxy/src/connection.c:1106,1
    - Dst: memcmp
      Src: /src/haproxy/src/connection.c:1108,1
    - Dst: read_uint
      Src: /src/haproxy/src/connection.c:1145,1
    - Dst: read_uint
      Src: /src/haproxy/src/connection.c:1149,1
    - Dst: inet_pton
      Src: /src/haproxy/src/connection.c:1153,1
    - Dst: inet_pton
      Src: /src/haproxy/src/connection.c:1156,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/connection.c:1159,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/connection.c:1159,1
    - Dst: memcpy
      Src: /src/haproxy/src/connection.c:1164,1
    - Dst: htons
      Src: /src/haproxy/src/connection.c:1165,1
    - Dst: memcpy
      Src: /src/haproxy/src/connection.c:1168,1
    - Dst: htons
      Src: /src/haproxy/src/connection.c:1169,1
    - Dst: memcmp
      Src: /src/haproxy/src/connection.c:1171,1
    - Dst: memcmp
      Src: /src/haproxy/src/connection.c:1191,1
    - Dst: ntohs
      Src: /src/haproxy/src/connection.c:1197,1
    - Dst: ntohs
      Src: /src/haproxy/src/connection.c:1205,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/connection.c:1208,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/connection.c:1208,1
    - Dst: ntohs
      Src: /src/haproxy/src/connection.c:1220,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/connection.c:1223,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/connection.c:1223,1
    - Dst: memcpy
      Src: /src/haproxy/src/connection.c:1227,1
    - Dst: memcpy
      Src: /src/haproxy/src/connection.c:1230,1
    - Dst: ist2
      Src: /src/haproxy/src/connection.c:1259,1
    - Dst: get_tlv_length
      Src: /src/haproxy/src/connection.c:1259,1
    - Dst: istlen
      Src: /src/haproxy/src/connection.c:1260,1
    - Dst: istlen
      Src: /src/haproxy/src/connection.c:1272,1
    - Dst: read_n32
      Src: /src/haproxy/src/connection.c:1275,1
    - Dst: istptr
      Src: /src/haproxy/src/connection.c:1275,1
    - Dst: write_n32
      Src: /src/haproxy/src/connection.c:1276,1
    - Dst: istptr
      Src: /src/haproxy/src/connection.c:1276,1
    - Dst: hash_crc32c
      Src: /src/haproxy/src/connection.c:1278,1
    - Dst: netns_store_lookup
      Src: /src/haproxy/src/connection.c:1286,1
    - Dst: istptr
      Src: /src/haproxy/src/connection.c:1286,1
    - Dst: istlen
      Src: /src/haproxy/src/connection.c:1286,1
    - Dst: istlen
      Src: /src/haproxy/src/connection.c:1294,1
    - Dst: istlen
      Src: /src/haproxy/src/connection.c:1300,1
    - Dst: get_tlv_length
      Src: /src/haproxy/src/connection.c:1309,1
    - Dst: unlikely
      Src: /src/haproxy/src/connection.c:1312,1
    - Dst: malloc
      Src: /src/haproxy/src/connection.c:1317,1
    - Dst: get_tlv_length
      Src: /src/haproxy/src/connection.c:1317,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/connection.c:1319,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/connection.c:1321,1
    - Dst: unlikely
      Src: /src/haproxy/src/connection.c:1323,1
    - Dst: memcpy
      Src: /src/haproxy/src/connection.c:1329,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/connection.c:1332,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/connection.c:1340,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/connection.c:1381,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/connection.c:1388,1
    CyclomaticComplexity: 139
    EdgeCount: 139
    ICount: 310
    argCount: 2
    argNames:
    - conn
    - flag
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 1391
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1391
    functionName: conn_recv_proxy
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - fd_recv_ready
    - strncmp
    - hash_crc32c
    - pool_alloc
    - htonl
    - inet_pton
    - fd_cant_recv
    - BUG_ON
    - get_tlv_length
    - istlen
    - ist2
    - read_n32
    - read_uint
    - sockaddr_alloc
    - recv
    - conn_ctrl_ready
    - htons
    - inetaddr_host_lim_ret
    - write_n32
    - malloc
    - LIST_APPEND
    - istptr
    - conn_report_term_evt
    - netns_store_lookup
    - ntohs
    - unlikely
    - memcmp
    - memcpy
    linkageType: ''
    returnType: int
    signature: conn_recv_proxy(struct connection *conn, int flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/connection.c:1404,1
    - Dst: conn_get_first_sc
      Src: /src/haproxy/src/connection.c:1418,1
    - Dst: sc_strm
      Src: /src/haproxy/src/connection.c:1430,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/connection.c:1431,1
    - Dst: make_proxy_line
      Src: /src/haproxy/src/connection.c:1432,1
    - Dst: objt_server
      Src: /src/haproxy/src/connection.c:1433,1
    - Dst: sc_conn
      Src: /src/haproxy/src/connection.c:1434,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/connection.c:1434,1
    - Dst: strm_sess
      Src: /src/haproxy/src/connection.c:1435,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/connection.c:1441,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/connection.c:1441,1
    - Dst: make_proxy_line
      Src: /src/haproxy/src/connection.c:1444,1
    - Dst: objt_server
      Src: /src/haproxy/src/connection.c:1445,1
    - Dst: conn_ctrl_send
      Src: /src/haproxy/src/connection.c:1458,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/connection.c:1482,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - conn
    - flag
    argTypes:
    - struct connection*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1488
      start: 1402
    functionDepth: 2
    functionLinenumber: 1402
    functionLinenumberEnd: 1488
    functionName: conn_send_proxy
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - conn_get_first_sc
    - sc_opposite
    - objt_server
    - sc_strm
    - conn_get_src
    - conn_ctrl_ready
    - conn_ctrl_send
    - conn_report_term_evt
    - strm_sess
    - __sc_strm
    - make_proxy_line
    - conn_get_dst
    - sc_conn
    linkageType: ''
    returnType: int
    signature: conn_send_proxy(struct connection *conn, unsigned int flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/connection.c:1514,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/connection.c:1517,1
    - Dst: fd_recv_ready
      Src: /src/haproxy/src/connection.c:1519,1
    - Dst: recv
      Src: /src/haproxy/src/connection.c:1523,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/connection.c:1528,1
    - Dst: ntohl
      Src: /src/haproxy/src/connection.c:1555,1
    - Dst: read_u32
      Src: /src/haproxy/src/connection.c:1555,1
    - Dst: __objt_listener
      Src: /src/haproxy/src/connection.c:1555,1
    - Dst: ntohl
      Src: /src/haproxy/src/connection.c:1560,1
    - Dst: read_u32
      Src: /src/haproxy/src/connection.c:1560,1
    - Dst: ntohs
      Src: /src/haproxy/src/connection.c:1565,1
    - Dst: read_u32
      Src: /src/haproxy/src/connection.c:1565,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/connection.c:1601,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/connection.c:1601,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/connection.c:1632,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/connection.c:1632,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/connection.c:1685,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/connection.c:1692,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 139
    argCount: 2
    argNames:
    - conn
    - flag
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 1695
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1695
    functionName: conn_recv_netscaler_cip
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - fd_recv_ready
    - read_u32
    - sockaddr_alloc
    - recv
    - conn_ctrl_ready
    - conn_report_term_evt
    - ntohs
    - ntohl
    - fd_cant_recv
    - BUG_ON
    - __objt_listener
    linkageType: ''
    returnType: int
    signature: conn_recv_netscaler_cip(struct connection *conn, int flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/connection.c:1702,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/connection.c:1705,1
    - Dst: get_net_port
      Src: /src/haproxy/src/connection.c:1710,1
    - Dst: is_inet_addr
      Src: /src/haproxy/src/connection.c:1711,1
    - Dst: memcpy
      Src: /src/haproxy/src/connection.c:1712,1
    - Dst: conn_ctrl_send
      Src: /src/haproxy/src/connection.c:1727,1
    - Dst: DPRINTF
      Src: /src/haproxy/src/connection.c:1733,1
    - Dst: conn_fd
      Src: /src/haproxy/src/connection.c:1734,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/connection.c:1766,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 1775
      start: 1698
    functionDepth: 2
    functionLinenumber: 1698
    functionLinenumberEnd: 1775
    functionName: conn_send_socks4_proxy_request
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - conn_fd
    - is_inet_addr
    - conn_ctrl_ready
    - conn_ctrl_send
    - conn_report_term_evt
    - conn_get_dst
    - DPRINTF
    - get_net_port
    - memcpy
    linkageType: ''
    returnType: int
    signature: conn_send_socks4_proxy_request(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/connection.c:1782,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/connection.c:1785,1
    - Dst: fd_recv_ready
      Src: /src/haproxy/src/connection.c:1787,1
    - Dst: recv
      Src: /src/haproxy/src/connection.c:1794,1
    - Dst: DPRINTF
      Src: /src/haproxy/src/connection.c:1798,1
    - Dst: DPRINTF
      Src: /src/haproxy/src/connection.c:1808,1
    - Dst: DPRINTF
      Src: /src/haproxy/src/connection.c:1811,1
    - Dst: DPRINTF
      Src: /src/haproxy/src/connection.c:1814,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/connection.c:1822,1
    - Dst: DPRINTF
      Src: /src/haproxy/src/connection.c:1857,1
    - Dst: recv
      Src: /src/haproxy/src/connection.c:1867,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/connection.c:1887,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/connection.c:1896,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 89
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 1899
      start: 1777
    functionDepth: 1
    functionLinenumber: 1777
    functionLinenumberEnd: 1899
    functionName: conn_recv_socks4_proxy_response
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - fd_recv_ready
    - recv
    - conn_ctrl_ready
    - conn_report_term_evt
    - DPRINTF
    - fd_cant_recv
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: conn_recv_socks4_proxy_response(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/connection.c:1904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct mux_proto_list*
    constantsTouched: []
    func_position:
      end: 1905
      start: 1902
    functionDepth: 0
    functionLinenumber: 1902
    functionLinenumberEnd: 1905
    functionName: register_mux_proto
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: register_mux_proto(struct mux_proto_list *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/connection.c:1918,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/connection.c:1920,1
    - Dst: fprintf
      Src: /src/haproxy/src/connection.c:1943,1
    - Dst: fprintf
      Src: /src/haproxy/src/connection.c:1952,1
    - Dst: fprintf
      Src: /src/haproxy/src/connection.c:1955,1
    - Dst: fprintf
      Src: /src/haproxy/src/connection.c:1958,1
    - Dst: fprintf
      Src: /src/haproxy/src/connection.c:1961,1
    - Dst: fprintf
      Src: /src/haproxy/src/connection.c:1963,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - out
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1965
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1965
    functionName: list_mux_proto
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - fprintf
    linkageType: ''
    returnType: void
    signature: list_mux_proto(FILE *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/src/connection.c:1988,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/connection.c:1998,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/connection.c:2001,1
    - Dst: v4tov6
      Src: /src/haproxy/src/connection.c:2013,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/connection.c:2021,1
    - Dst: v4tov6
      Src: /src/haproxy/src/connection.c:2026,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/connection.c:2034,1
    - Dst: snprintf
      Src: /src/haproxy/src/connection.c:2038,1
    - Dst: ntohs
      Src: /src/haproxy/src/connection.c:2038,1
    - Dst: ntohs
      Src: /src/haproxy/src/connection.c:2038,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - buf
    - buf_len
    - src
    - dst
    argTypes:
    - char*
    - int
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 2043
      start: 1974
    functionDepth: 1
    functionLinenumber: 1974
    functionLinenumberEnd: 2043
    functionName: make_proxy_line_v1
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - ntohs
    - snprintf
    - v4tov6
    - inet_ntop
    linkageType: ''
    returnType: int
    signature: make_proxy_line_v1(char *buf, int buf_len, const struct sockaddr_storage
      *src, const struct sockaddr_storage *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/connection.c:2057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - dest
    - dest_len
    - type
    - length
    - value
    argTypes:
    - char*
    - int
    - char
    - uint16_t
    - char*
    constantsTouched: []
    func_position:
      end: 2059
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2059
    functionName: make_tlv
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: make_tlv(char *dest, int dest_len, char type, uint16_t length, const
      char *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/connection.c:2077,1
    - Dst: sc_src
      Src: /src/haproxy/src/connection.c:2080,1
    - Dst: sc_dst
      Src: /src/haproxy/src/connection.c:2081,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/connection.c:2083,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/connection.c:2083,1
    - Dst: conn_src
      Src: /src/haproxy/src/connection.c:2084,1
    - Dst: conn_dst
      Src: /src/haproxy/src/connection.c:2085,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/connection.c:2091,1
    - Dst: v4tov6
      Src: /src/haproxy/src/connection.c:2121,1
    - Dst: memcpy
      Src: /src/haproxy/src/connection.c:2122,1
    - Dst: memcpy
      Src: /src/haproxy/src/connection.c:2126,1
    - Dst: v4tov6
      Src: /src/haproxy/src/connection.c:2130,1
    - Dst: memcpy
      Src: /src/haproxy/src/connection.c:2131,1
    - Dst: memcpy
      Src: /src/haproxy/src/connection.c:2135,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/connection.c:2146,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/connection.c:2152,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/connection.c:2153,1
    - Dst: unlikely
      Src: /src/haproxy/src/connection.c:2154,1
    - Dst: sess_build_logline
      Src: /src/haproxy/src/connection.c:2157,1
    - Dst: unlikely
      Src: /src/haproxy/src/connection.c:2159,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/connection.c:2160,1
    - Dst: make_tlv
      Src: /src/haproxy/src/connection.c:2163,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/connection.c:2164,1
    - Dst: make_tlv
      Src: /src/haproxy/src/connection.c:2168,1
    - Dst: make_tlv
      Src: /src/haproxy/src/connection.c:2180,1
    - Dst: conn_get_alpn
      Src: /src/haproxy/src/connection.c:2183,1
    - Dst: make_tlv
      Src: /src/haproxy/src/connection.c:2186,1
    - Dst: conn_get_tlv
      Src: /src/haproxy/src/connection.c:2190,1
    - Dst: if
      Src: /src/haproxy/src/connection.c:2199,1
    - Dst: ssl_sock_get_sni
      Src: /src/haproxy/src/connection.c:2199,1
    - Dst: strlen
      Src: /src/haproxy/src/connection.c:2200,1
    - Dst: make_tlv
      Src: /src/haproxy/src/connection.c:2206,1
    - Dst: strm_sess
      Src: /src/haproxy/src/connection.c:2211,1
    - Dst: stream_generate_unique_id
      Src: /src/haproxy/src/connection.c:2212,1
    - Dst: make_tlv
      Src: /src/haproxy/src/connection.c:2220,1
    - Dst: memset
      Src: /src/haproxy/src/connection.c:2232,1
    - Dst: conn_is_ssl
      Src: /src/haproxy/src/connection.c:2235,1
    - Dst: ssl_sock_get_proto_version
      Src: /src/haproxy/src/connection.c:2237,1
    - Dst: make_tlv
      Src: /src/haproxy/src/connection.c:2239,1
    - Dst: strlen
      Src: /src/haproxy/src/connection.c:2239,1
    - Dst: ssl_sock_get_cert_used_sess
      Src: /src/haproxy/src/connection.c:2241,1
    - Dst: htonl
      Src: /src/haproxy/src/connection.c:2243,1
    - Dst: ssl_sock_get_verify_result
      Src: /src/haproxy/src/connection.c:2243,1
    - Dst: ssl_sock_get_cert_used_conn
      Src: /src/haproxy/src/connection.c:2244,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/connection.c:2248,1
    - Dst: ssl_sock_get_remote_common_name
      Src: /src/haproxy/src/connection.c:2249,1
    - Dst: make_tlv
      Src: /src/haproxy/src/connection.c:2250,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/connection.c:2256,1
    - Dst: ssl_sock_get_pkey_algo
      Src: /src/haproxy/src/connection.c:2257,1
    - Dst: make_tlv
      Src: /src/haproxy/src/connection.c:2258,1
    - Dst: ssl_sock_get_cert_sig
      Src: /src/haproxy/src/connection.c:2264,1
    - Dst: make_tlv
      Src: /src/haproxy/src/connection.c:2266,1
    - Dst: strlen
      Src: /src/haproxy/src/connection.c:2266,1
    - Dst: ssl_sock_get_cipher_name
      Src: /src/haproxy/src/connection.c:2270,1
    - Dst: make_tlv
      Src: /src/haproxy/src/connection.c:2272,1
    - Dst: strlen
      Src: /src/haproxy/src/connection.c:2272,1
    - Dst: make_tlv
      Src: /src/haproxy/src/connection.c:2286,1
    - Dst: htons
      Src: /src/haproxy/src/connection.c:2290,1
    - Dst: write_u32
      Src: /src/haproxy/src/connection.c:2293,1
    - Dst: htonl
      Src: /src/haproxy/src/connection.c:2293,1
    - Dst: hash_crc32c
      Src: /src/haproxy/src/connection.c:2293,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 160
    argCount: 6
    argNames:
    - buf
    - buf_len
    - srv
    - remote
    - strm
    - sess
    argTypes:
    - char*
    - int
    - struct server*
    - struct connection*
    - struct stream*
    - struct session*
    constantsTouched: []
    func_position:
      end: 2297
      start: 2062
    functionDepth: 1
    functionLinenumber: 2062
    functionLinenumberEnd: 2297
    functionName: make_proxy_line_v2
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - v4tov6
    - ssl_sock_get_cert_used_sess
    - hash_crc32c
    - conn_get_src
    - htonl
    - free_trash_chunk
    - conn_get_tlv
    - sc_src
    - strm_sess
    - conn_is_ssl
    - memset
    - ssl_sock_get_pkey_algo
    - if
    - make_tlv
    - alloc_trash_chunk
    - ssl_sock_get_cert_sig
    - conn_src
    - list_for_each_entry
    - get_trash_chunk
    - conn_get_alpn
    - ssl_sock_get_proto_version
    - lf_expr_isempty
    - ssl_sock_get_verify_result
    - sess_build_logline
    - strlen
    - sc_dst
    - ssl_sock_get_sni
    - conn_is_back
    - ssl_sock_get_cert_used_conn
    - htons
    - conn_get_dst
    - write_u32
    - ssl_sock_get_cipher_name
    - stream_generate_unique_id
    - unlikely
    - memcpy
    - conn_dst
    - ssl_sock_get_remote_common_name
    linkageType: ''
    returnType: int
    signature: make_proxy_line_v2(char *buf, int buf_len, struct server *srv, struct
      connection *remote, struct stream *strm, struct session *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_proxy_line_v2
      Src: /src/haproxy/src/connection.c:2305,1
    - Dst: sc_src
      Src: /src/haproxy/src/connection.c:2312,1
    - Dst: sc_dst
      Src: /src/haproxy/src/connection.c:2313,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/connection.c:2315,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/connection.c:2315,1
    - Dst: conn_src
      Src: /src/haproxy/src/connection.c:2316,1
    - Dst: conn_dst
      Src: /src/haproxy/src/connection.c:2317,1
    - Dst: make_proxy_line_v1
      Src: /src/haproxy/src/connection.c:2321,1
    - Dst: make_proxy_line_v1
      Src: /src/haproxy/src/connection.c:2323,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 6
    argNames:
    - buf
    - buf_len
    - srv
    - remote
    - strm
    - sess
    argTypes:
    - char*
    - int
    - struct server*
    - struct connection*
    - struct stream*
    - struct session*
    constantsTouched: []
    func_position:
      end: 2327
      start: 2300
    functionDepth: 2
    functionLinenumber: 2300
    functionLinenumberEnd: 2327
    functionName: make_proxy_line
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 1
    functionsReached:
    - make_proxy_line_v1
    - conn_src
    - sc_dst
    - conn_get_src
    - make_proxy_line_v2
    - sc_src
    - conn_get_dst
    - conn_dst
    linkageType: ''
    returnType: int
    signature: make_proxy_line(char *buf, int buf_len, struct server *srv, struct
      connection *remote, struct stream *strm, struct session *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/connection.c:2334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2338
      start: 2330
    functionDepth: 1
    functionLinenumber: 2330
    functionLinenumberEnd: 2338
    functionName: cfg_parse_pp2_never_send_local
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_pp2_never_send_local(char **args, int section_type, struct
      proxy *curpx,\n                                          const struct proxy
      *defpx, const char *file, int line,\n                                          char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/connection.c:2359,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/connection.c:2359,1
    - Dst: objt_listener
      Src: /src/haproxy/src/connection.c:2361,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/connection.c:2362,1
    - Dst: objt_server
      Src: /src/haproxy/src/connection.c:2363,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/connection.c:2364,1
    - Dst: objt_proxy
      Src: /src/haproxy/src/connection.c:2365,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/connection.c:2366,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/connection.c:2368,1
    - Dst: conn_get_xprt_name
      Src: /src/haproxy/src/connection.c:2368,1
    - Dst: conn_get_ctrl_name
      Src: /src/haproxy/src/connection.c:2368,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/connection.c:2370,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/connection.c:2371,1
    - Dst: get_host_port
      Src: /src/haproxy/src/connection.c:2371,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/connection.c:2373,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/connection.c:2374,1
    - Dst: get_host_port
      Src: /src/haproxy/src/connection.c:2374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - conn
    - pfx
    argTypes:
    - struct buffer*
    - struct connection*
    - char*
    constantsTouched: []
    func_position:
      end: 2377
      start: 2348
    functionDepth: 1
    functionLinenumber: 2348
    functionLinenumberEnd: 2377
    functionName: conn_append_debug_info
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - conn_get_xprt_name
    - objt_server
    - objt_listener
    - addr_to_str
    - objt_proxy
    - chunk_appendf
    - conn_is_back
    - conn_get_ctrl_name
    - get_host_port
    linkageType: ''
    returnType: int
    signature: conn_append_debug_info(struct buffer *buf, const struct connection
      *conn, const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/connection.c:2386,1
    - Dst: sc_conn
      Src: /src/haproxy/src/connection.c:2387,1
    - Dst: __objt_check
      Src: /src/haproxy/src/connection.c:2387,1
    - Dst: objt_conn
      Src: /src/haproxy/src/connection.c:2389,1
    - Dst: sc_conn
      Src: /src/haproxy/src/connection.c:2390,1
    - Dst: struct connection*::mux::ctl
      Src: /src/haproxy/src/connection.c:2402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2411
      start: 2380
    functionDepth: 1
    functionLinenumber: 2380
    functionLinenumberEnd: 2411
    functionName: smp_fetch_fc_glitches
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - struct connection*::mux::ctl
    - __objt_check
    - objt_conn
    - obj_type
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_glitches(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/connection.c:2424,1
    - Dst: sc_conn
      Src: /src/haproxy/src/connection.c:2425,1
    - Dst: __objt_check
      Src: /src/haproxy/src/connection.c:2425,1
    - Dst: objt_conn
      Src: /src/haproxy/src/connection.c:2427,1
    - Dst: sc_conn
      Src: /src/haproxy/src/connection.c:2428,1
    - Dst: conn_get_mux_name
      Src: /src/haproxy/src/connection.c:2440,1
    - Dst: strcmp
      Src: /src/haproxy/src/connection.c:2443,1
    - Dst: strcmp
      Src: /src/haproxy/src/connection.c:2445,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2451
      start: 2418
    functionDepth: 1
    functionLinenumber: 2418
    functionLinenumberEnd: 2451
    functionName: smp_fetch_fc_http_major
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - strcmp
    - conn_get_mux_name
    - __objt_check
    - objt_conn
    - obj_type
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_http_major(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/connection.c:2458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2472
      start: 2454
    functionDepth: 1
    functionLinenumber: 2454
    functionLinenumberEnd: 2472
    functionName: smp_fetch_fc_rcvd_proxy
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - objt_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_rcvd_proxy(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/connection.c:2484,1
    - Dst: isteqi
      Src: /src/haproxy/src/connection.c:2486,1
    - Dst: ist
      Src: /src/haproxy/src/connection.c:2486,1
    - Dst: isteqi
      Src: /src/haproxy/src/connection.c:2488,1
    - Dst: ist
      Src: /src/haproxy/src/connection.c:2488,1
    - Dst: isteqi
      Src: /src/haproxy/src/connection.c:2490,1
    - Dst: ist
      Src: /src/haproxy/src/connection.c:2490,1
    - Dst: isteqi
      Src: /src/haproxy/src/connection.c:2492,1
    - Dst: ist
      Src: /src/haproxy/src/connection.c:2492,1
    - Dst: isteqi
      Src: /src/haproxy/src/connection.c:2494,1
    - Dst: ist
      Src: /src/haproxy/src/connection.c:2494,1
    - Dst: isteqi
      Src: /src/haproxy/src/connection.c:2496,1
    - Dst: ist
      Src: /src/haproxy/src/connection.c:2496,1
    - Dst: isteqi
      Src: /src/haproxy/src/connection.c:2498,1
    - Dst: ist
      Src: /src/haproxy/src/connection.c:2498,1
    - Dst: isteqi
      Src: /src/haproxy/src/connection.c:2500,1
    - Dst: ist
      Src: /src/haproxy/src/connection.c:2500,1
    - Dst: isteqi
      Src: /src/haproxy/src/connection.c:2502,1
    - Dst: ist
      Src: /src/haproxy/src/connection.c:2502,1
    - Dst: isteqi
      Src: /src/haproxy/src/connection.c:2504,1
    - Dst: ist
      Src: /src/haproxy/src/connection.c:2504,1
    - Dst: isteqi
      Src: /src/haproxy/src/connection.c:2506,1
    - Dst: ist
      Src: /src/haproxy/src/connection.c:2506,1
    - Dst: isteqi
      Src: /src/haproxy/src/connection.c:2508,1
    - Dst: ist
      Src: /src/haproxy/src/connection.c:2508,1
    - Dst: strtoul
      Src: /src/haproxy/src/connection.c:2511,1
    - Dst: memprintf
      Src: /src/haproxy/src/connection.c:2513,1
    - Dst: memprintf
      Src: /src/haproxy/src/connection.c:2519,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/connection.c:2523,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - args
    - err
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 2528
      start: 2480
    functionDepth: 1
    functionLinenumber: 2480
    functionLinenumberEnd: 2528
    functionName: smp_check_tlv_type
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_destroy
    - ist2
    - ist
    - strtoul
    - isteqi
    linkageType: ''
    returnType: int
    signature: smp_check_tlv_type(struct arg *args, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/connection.c:2537,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/connection.c:2550,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/connection.c:2551,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2566
      start: 2531
    functionDepth: 1
    functionLinenumber: 2531
    functionLinenumberEnd: 2566
    functionName: smp_fetch_fc_pp_tlv
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_from
    - objt_conn
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_pp_tlv(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_tlv_arg
      Src: /src/haproxy/src/connection.c:2574,1
    - Dst: smp_fetch_fc_pp_tlv
      Src: /src/haproxy/src/connection.c:2575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2578
      start: 2569
    functionDepth: 2
    functionLinenumber: 2569
    functionLinenumberEnd: 2578
    functionName: smp_fetch_fc_pp_authority
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - set_tlv_arg
    - smp_fetch_fc_pp_tlv
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_pp_authority(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_tlv_arg
      Src: /src/haproxy/src/connection.c:2586,1
    - Dst: smp_fetch_fc_pp_tlv
      Src: /src/haproxy/src/connection.c:2587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2590
      start: 2581
    functionDepth: 2
    functionLinenumber: 2581
    functionLinenumberEnd: 2590
    functionName: smp_fetch_fc_pp_unique_id
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - set_tlv_arg
    - smp_fetch_fc_pp_tlv
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_pp_unique_id(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/connection.c:2597,1
    - Dst: sc_conn
      Src: /src/haproxy/src/connection.c:2598,1
    - Dst: __objt_check
      Src: /src/haproxy/src/connection.c:2598,1
    - Dst: objt_conn
      Src: /src/haproxy/src/connection.c:2600,1
    - Dst: sc_conn
      Src: /src/haproxy/src/connection.c:2601,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2616
      start: 2593
    functionDepth: 1
    functionLinenumber: 2593
    functionLinenumberEnd: 2616
    functionName: smp_fetch_fc_err
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - obj_type
    - __objt_check
    - objt_conn
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_err(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/connection.c:2624,1
    - Dst: sc_conn
      Src: /src/haproxy/src/connection.c:2625,1
    - Dst: __objt_check
      Src: /src/haproxy/src/connection.c:2625,1
    - Dst: objt_conn
      Src: /src/haproxy/src/connection.c:2627,1
    - Dst: sc_conn
      Src: /src/haproxy/src/connection.c:2628,1
    - Dst: conn_err_code_str
      Src: /src/haproxy/src/connection.c:2639,1
    - Dst: conn_err_code_name
      Src: /src/haproxy/src/connection.c:2639,1
    - Dst: strlen
      Src: /src/haproxy/src/connection.c:2647,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2650
      start: 2619
    functionDepth: 1
    functionLinenumber: 2619
    functionLinenumberEnd: 2650
    functionName: smp_fetch_fc_err_str
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - strlen
    - __objt_check
    - objt_conn
    - obj_type
    - conn_err_code_str
    - conn_err_code_name
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_err_str(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/connection.c:2659,1
    - Dst: sc_conn
      Src: /src/haproxy/src/connection.c:2659,1
    - Dst: struct connection*::mux::ctl
      Src: /src/haproxy/src/connection.c:2670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2677
      start: 2654
    functionDepth: 1
    functionLinenumber: 2654
    functionLinenumberEnd: 2677
    functionName: smp_fetch_fc_nb_streams
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - struct connection*::mux::ctl
    - objt_conn
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_nb_streams(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/connection.c:2685,1
    - Dst: sc_conn
      Src: /src/haproxy/src/connection.c:2685,1
    - Dst: struct connection*::mux::ctl
      Src: /src/haproxy/src/connection.c:2696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2703
      start: 2680
    functionDepth: 1
    functionLinenumber: 2680
    functionLinenumberEnd: 2703
    functionName: smp_fetch_fc_streams_limit
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - struct connection*::mux::ctl
    - objt_conn
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_streams_limit(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64
      Src: /src/haproxy/src/connection.c:2746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2747
      start: 2744
    functionDepth: 0
    functionLinenumber: 2744
    functionLinenumberEnd: 2747
    functionName: conn_hash_prehash
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - XXH64
    linkageType: ''
    returnType: uint64_t
    signature: conn_hash_prehash(const char *buf, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_update
      Src: /src/haproxy/src/connection.c:2757,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - hash
    - data
    - size
    - flags
    - type
    argTypes:
    - XXH64_state_t*
    - void*
    - size_t
    - enum conn_hash_params_t*
    - enum conn_hash_params_t
    constantsTouched: []
    func_position:
      end: 2759
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2759
    functionName: conn_hash_update
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - XXH64_update
    linkageType: ''
    returnType: void
    signature: "conn_hash_update(XXH64_state_t *hash,\n                             const
      void *data, size_t size,\n                             enum conn_hash_params_t
      *flags,\n                             enum conn_hash_params_t type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CONN_HASH_GET_PAYLOAD
      Src: /src/haproxy/src/connection.c:2767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - flags
    argTypes:
    - XXH64_state_t*
    - enum conn_hash_params_t
    constantsTouched: []
    func_position:
      end: 2768
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2768
    functionName: conn_hash_digest
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - CONN_HASH_GET_PAYLOAD
    linkageType: ''
    returnType: uint64_t
    signature: "conn_hash_digest(XXH64_state_t *hash,\n                                 enum
      conn_hash_params_t flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_hash_update
      Src: /src/haproxy/src/connection.c:2784,1
    - Dst: conn_hash_update
      Src: /src/haproxy/src/connection.c:2789,1
    - Dst: conn_hash_update
      Src: /src/haproxy/src/connection.c:2799,1
    - Dst: conn_hash_update
      Src: /src/haproxy/src/connection.c:2804,1
    - Dst: conn_hash_update
      Src: /src/haproxy/src/connection.c:2812,1
    - Dst: strlen
      Src: /src/haproxy/src/connection.c:2814,1
    - Dst: conn_hash_update
      Src: /src/haproxy/src/connection.c:2819,1
    - Dst: conn_hash_update
      Src: /src/haproxy/src/connection.c:2828,1
    - Dst: strnlen2
      Src: /src/haproxy/src/connection.c:2830,1
    - Dst: conn_hash_update
      Src: /src/haproxy/src/connection.c:2837,1
    - Dst: conn_hash_update
      Src: /src/haproxy/src/connection.c:2852,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 5
    argNames:
    - ss
    - hash
    - hash_flags
    - param_type_addr
    - param_type_port
    argTypes:
    - struct sockaddr_storage*
    - XXH64_state_t*
    - enum conn_hash_params_t*
    - enum conn_hash_params_t
    - enum conn_hash_params_t
    constantsTouched: []
    func_position:
      end: 2855
      start: 2771
    functionDepth: 1
    functionLinenumber: 2771
    functionLinenumberEnd: 2855
    functionName: conn_calculate_hash_sockaddr
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - strlen
    - conn_hash_update
    - strnlen2
    linkageType: ''
    returnType: void
    signature: "conn_calculate_hash_sockaddr(const struct sockaddr_storage *ss,\n
      \                                        XXH64_state_t *hash,\n                                         enum
      conn_hash_params_t *hash_flags,\n                                         enum
      conn_hash_params_t param_type_addr,\n                                         enum
      conn_hash_params_t param_type_port)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_reset
      Src: /src/haproxy/src/connection.c:2862,1
    - Dst: conn_hash_update
      Src: /src/haproxy/src/connection.c:2864,1
    - Dst: conn_hash_update
      Src: /src/haproxy/src/connection.c:2867,1
    - Dst: conn_calculate_hash_sockaddr
      Src: /src/haproxy/src/connection.c:2873,1
    - Dst: conn_calculate_hash_sockaddr
      Src: /src/haproxy/src/connection.c:2880,1
    - Dst: conn_hash_update
      Src: /src/haproxy/src/connection.c:2887,1
    - Dst: conn_hash_update
      Src: /src/haproxy/src/connection.c:2893,1
    - Dst: conn_hash_digest
      Src: /src/haproxy/src/connection.c:2898,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - params
    argTypes:
    - struct conn_hash_params*
    constantsTouched: []
    func_position:
      end: 2899
      start: 2857
    functionDepth: 2
    functionLinenumber: 2857
    functionLinenumberEnd: 2899
    functionName: conn_calculate_hash
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - XXH64_reset
    - conn_hash_update
    - conn_hash_digest
    - conn_calculate_hash_sockaddr
    linkageType: ''
    returnType: uint64_t
    signature: conn_calculate_hash(const struct conn_hash_params *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_back
      Src: /src/haproxy/src/connection.c:2921,1
    - Dst: objt_server
      Src: /src/haproxy/src/connection.c:2923,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/connection.c:2924,1
    - Dst: conn_backend_init
      Src: /src/haproxy/src/connection.c:2926,1
    - Dst: memset
      Src: /src/haproxy/src/connection.c:2930,1
    - Dst: b_data
      Src: /src/haproxy/src/connection.c:2933,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/connection.c:2935,1
    - Dst: b_data
      Src: /src/haproxy/src/connection.c:2935,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/connection.c:2935,1
    - Dst: conn_hash_prehash
      Src: /src/haproxy/src/connection.c:2938,1
    - Dst: b_head
      Src: /src/haproxy/src/connection.c:2938,1
    - Dst: b_data
      Src: /src/haproxy/src/connection.c:2939,1
    - Dst: conn_calculate_hash
      Src: /src/haproxy/src/connection.c:2942,1
    - Dst: srv_use_conn
      Src: /src/haproxy/src/connection.c:2946,1
    - Dst: session_unown_conn
      Src: /src/haproxy/src/connection.c:2949,1
    - Dst: session_free
      Src: /src/haproxy/src/connection.c:2951,1
    - Dst: conn_set_owner
      Src: /src/haproxy/src/connection.c:2952,1
    - Dst: __objt_listener
      Src: /src/haproxy/src/connection.c:2958,1
    - Dst: conn_backend_deinit
      Src: /src/haproxy/src/connection.c:2960,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/connection.c:2964,1
    - Dst: SWAP
      Src: /src/haproxy/src/connection.c:2971,1
    - Dst: ha_free
      Src: /src/haproxy/src/connection.c:2974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 2978
      start: 2915
    functionDepth: 3
    functionLinenumber: 2915
    functionLinenumberEnd: 2978
    functionName: conn_reverse
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - ha_free
    - session_unown_conn
    - conn_hash_prehash
    - b_head
    - conn_calculate_hash
    - memset
    - conn_set_owner
    - BUG_ON
    - task_wakeup
    - objt_server
    - session_free
    - conn_is_back
    - b_contig_data
    - b_data
    - conn_backend_init
    - SWAP
    - srv_use_conn
    - __objt_listener
    - conn_backend_deinit
    linkageType: ''
    returnType: int
    signature: conn_reverse(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/connection.c:2987,1
    - Dst: struct connection*::mux::wake
      Src: /src/haproxy/src/connection.c:2989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2993
      start: 2983
    functionDepth: 0
    functionLinenumber: 2983
    functionLinenumberEnd: 2993
    functionName: mux_stopping_process
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - struct connection*::mux::wake
    - list_for_each_entry_safe
    linkageType: ''
    returnType: struct task
    signature: '*mux_stopping_process(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_new_here
      Src: /src/haproxy/src/connection.c:2998,1
    - Dst: ha_alert
      Src: /src/haproxy/src/connection.c:3000,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/connection.c:3005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3008
      start: 2995
    functionDepth: 1
    functionLinenumber: 2995
    functionLinenumberEnd: 3008
    functionName: allocate_mux_cleanup
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - task_new_here
    - LIST_INIT
    linkageType: ''
    returnType: int
    signature: allocate_mux_cleanup(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_destroy
      Src: /src/haproxy/src/connection.c:3013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 3011
    functionDepth: 1
    functionLinenumber: 3011
    functionLinenumberEnd: 3015
    functionName: deallocate_mux_cleanup
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - task_destroy
    linkageType: ''
    returnType: int
    signature: deallocate_mux_cleanup(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_destroy
      Src: /src/haproxy/src/connection.c:3023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3025
      start: 3018
    functionDepth: 1
    functionLinenumber: 3018
    functionLinenumberEnd: 3025
    functionName: deinit_idle_conns
    functionSourceFile: /src/haproxy/src/connection.c
    functionUses: 0
    functionsReached:
    - task_destroy
    linkageType: ''
    returnType: void
    signature: deinit_idle_conns(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qpack_get_dte
      Src: /src/haproxy/src/qpack-tbl.c:156,1
    - Dst: fprintf
      Src: /src/haproxy/src/qpack-tbl.c:157,1
    - Dst: istpad
      Src: /src/haproxy/src/qpack-tbl.c:159,1
    - Dst: qpack_idx_to_name
      Src: /src/haproxy/src/qpack-tbl.c:159,1
    - Dst: istpad
      Src: /src/haproxy/src/qpack-tbl.c:160,1
    - Dst: qpack_idx_to_value
      Src: /src/haproxy/src/qpack-tbl.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - dht
    argTypes:
    - FILE*
    - struct qpack_dht*
    constantsTouched: []
    func_position:
      end: 163
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 163
    functionName: qpack_dht_dump
    functionSourceFile: /src/haproxy/src/qpack-tbl.c
    functionUses: 0
    functionsReached:
    - qpack_get_dte
    - istpad
    - qpack_idx_to_value
    - fprintf
    - qpack_idx_to_name
    linkageType: ''
    returnType: void
    signature: qpack_dht_dump(FILE *out, const struct qpack_dht *dht)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/qpack-tbl.c:176,1
    - Dst: abort
      Src: /src/haproxy/src/qpack-tbl.c:179,1
    - Dst: abort
      Src: /src/haproxy/src/qpack-tbl.c:182,1
    - Dst: fprintf
      Src: /src/haproxy/src/qpack-tbl.c:192,1
    - Dst: abort
      Src: /src/haproxy/src/qpack-tbl.c:193,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - dht
    argTypes:
    - struct qpack_dht*
    constantsTouched: []
    func_position:
      end: 195
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 195
    functionName: qpack_dht_check_consistency
    functionSourceFile: /src/haproxy/src/qpack-tbl.c
    functionUses: 0
    functionsReached:
    - fprintf
    - abort
    linkageType: ''
    returnType: void
    signature: qpack_dht_check_consistency(const struct qpack_dht *dht)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qpack_dht_alloc
      Src: /src/haproxy/src/qpack-tbl.c:211,1
    - Dst: qpack_dht_get_tail
      Src: /src/haproxy/src/qpack-tbl.c:224,1
    - Dst: memcpy
      Src: /src/haproxy/src/qpack-tbl.c:231,1
    - Dst: dht::dht
      Src: /src/haproxy/src/qpack-tbl.c:239,1
    - Dst: memcpy
      Src: /src/haproxy/src/qpack-tbl.c:244,1
    - Dst: qpack_dht_free
      Src: /src/haproxy/src/qpack-tbl.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - dht
    argTypes:
    - struct qpack_dht*
    constantsTouched: []
    func_position:
      end: 248
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 248
    functionName: qpack_dht_defrag
    functionSourceFile: /src/haproxy/src/qpack-tbl.c
    functionUses: 0
    functionsReached:
    - qpack_dht_free
    - qpack_dht_alloc
    - qpack_dht_get_tail
    - dht::dht
    - memcpy
    linkageType: ''
    returnType: struct qpack_dht
    signature: '*qpack_dht_defrag(struct qpack_dht *dht)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - dht
    - needed
    argTypes:
    - struct qpack_dht*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 282
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 282
    functionName: __qpack_dht_make_room
    functionSourceFile: /src/haproxy/src/qpack-tbl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: __qpack_dht_make_room(struct qpack_dht *dht, unsigned int needed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qpack_dht_make_room
      Src: /src/haproxy/src/qpack-tbl.c:296,1
    - Dst: qpack_dht_get_tail
      Src: /src/haproxy/src/qpack-tbl.c:317,1
    - Dst: qpack_dht_defrag
      Src: /src/haproxy/src/qpack-tbl.c:336,1
    - Dst: qpack_dht_defrag
      Src: /src/haproxy/src/qpack-tbl.c:349,1
    - Dst: qpack_dht_defrag
      Src: /src/haproxy/src/qpack-tbl.c:396,1
    - Dst: memcpy
      Src: /src/haproxy/src/qpack-tbl.c:412,1
    - Dst: memcpy
      Src: /src/haproxy/src/qpack-tbl.c:413,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    argCount: 3
    argNames:
    - dht
    - name
    - value
    argTypes:
    - struct qpack_dht*
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 415
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 415
    functionName: qpack_dht_insert
    functionSourceFile: /src/haproxy/src/qpack-tbl.c
    functionUses: 0
    functionsReached:
    - memcpy
    - qpack_dht_get_tail
    - qpack_dht_make_room
    - qpack_dht_defrag
    linkageType: ''
    returnType: int
    signature: qpack_dht_insert(struct qpack_dht *dht, struct ist name, struct ist
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/dgram.c:24,1
    - Dst: fd_recv_ready
      Src: /src/haproxy/src/dgram.c:27,1
    - Dst: struct dgram_conn*::data::recv
      Src: /src/haproxy/src/dgram.c:28,1
    - Dst: fd_send_ready
      Src: /src/haproxy/src/dgram.c:29,1
    - Dst: struct dgram_conn*::data::send
      Src: /src/haproxy/src/dgram.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: dgram_fd_handler
    functionSourceFile: /src/haproxy/src/dgram.c
    functionUses: 0
    functionsReached:
    - fd_recv_ready
    - struct dgram_conn*::data::recv
    - struct dgram_conn*::data::send
    - fd_send_ready
    - unlikely
    linkageType: ''
    returnType: void
    signature: dgram_fd_handler(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/dgram.c:44,1
    - Dst: memprintf
      Src: /src/haproxy/src/dgram.c:56,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/dgram.c:60,1
    - Dst: memprintf
      Src: /src/haproxy/src/dgram.c:62,1
    - Dst: memprintf
      Src: /src/haproxy/src/dgram.c:67,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 73
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 73
    functionName: dgram_parse_tune_bufs
    functionSourceFile: /src/haproxy/src/dgram.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_size_err
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "dgram_parse_tune_bufs(char **args, int section_type, struct proxy
      *curpx,\n                                 const struct proxy *defpx, const char
      *file, int line,\n                                 char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_format
      Src: /src/haproxy/src/stats-html.c:34,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:35,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:36,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:37,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:38,1
    - Dst: F2H
      Src: /src/haproxy/src/stats-html.c:39,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct field*
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: field_to_html_str
    functionSourceFile: /src/haproxy/src/stats-html.c
    functionUses: 0
    functionsReached:
    - F2H
    - field_format
    - U2H
    - field_str
    linkageType: ''
    returnType: char
    signature: '*field_to_html_str(const struct field *f)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/stats-html.c:57,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 218
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 218
    functionName: stats_dump_html_head
    functionSourceFile: /src/haproxy/src/stats-html.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: stats_dump_html_head(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stats-html.c:226,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stats-html.c:236,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/stats-html.c:239,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:256,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stats-html.c:300,1
    - Dst: ultoa
      Src: /src/haproxy/src/stats-html.c:301,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stats-html.c:304,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/stats-html.c:305,1
    - Dst: total_run_queues
      Src: /src/haproxy/src/stats-html.c:308,1
    - Dst: total_allocated_tasks
      Src: /src/haproxy/src/stats-html.c:308,1
    - Dst: total_niced_running_tasks
      Src: /src/haproxy/src/stats-html.c:308,1
    - Dst: clock_report_idle
      Src: /src/haproxy/src/stats-html.c:308,1
    - Dst: memcpy
      Src: /src/haproxy/src/stats-html.c:311,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:314,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/stats-html.c:322,1
    - Dst: memcpy
      Src: /src/haproxy/src/stats-html.c:323,1
    - Dst: strlen
      Src: /src/haproxy/src/stats-html.c:323,1
    - Dst: strlen
      Src: /src/haproxy/src/stats-html.c:324,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:328,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:335,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:344,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:351,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:359,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:366,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:372,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:378,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:394,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:404,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:414,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:425,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:441,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:452,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:462,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:472,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:481,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 483
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 483
    functionName: stats_dump_html_info
    functionSourceFile: /src/haproxy/src/stats-html.c
    functionUses: 0
    functionsReached:
    - strlcpy2
    - __sc_appctx
    - total_run_queues
    - strlen
    - chunk_appendf
    - HA_ATOMIC_LOAD
    - total_allocated_tasks
    - clock_report_idle
    - memcpy
    - total_niced_running_tasks
    - BUG_ON
    - ultoa
    - read_freq_ctr
    linkageType: ''
    returnType: void
    signature: stats_dump_html_info(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:501,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:507,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:510,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:516,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:516,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:518,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:524,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:525,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:526,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:528,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:528,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:529,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:531,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:533,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:540,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:541,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:542,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:544,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:544,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:545,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:547,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:549,1
    - Dst: LIM2A
      Src: /src/haproxy/src/stats-html.c:553,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:555,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:562,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:562,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:562,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:563,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:564,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:565,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:568,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:568,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:569,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:580,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:581,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:582,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:583,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:584,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:585,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:586,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:587,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:588,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:590,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:599,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:600,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:601,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:604,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:605,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:606,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:607,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:609,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:616,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:617,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:618,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:621,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:622,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:625,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:632,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:634,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:644,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:645,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:646,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:647,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:649,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:650,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:654,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:666,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:666,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:667,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:668,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats-html.c:671,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:672,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/src/stats-html.c:674,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:675,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:679,1
    - Dst: field_to_html_str
      Src: /src/haproxy/src/stats-html.c:681,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:684,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:689,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:693,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:696,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:699,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:702,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:707,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:707,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:709,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:709,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:709,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:712,1
    - Dst: isdigit
      Src: /src/haproxy/src/stats-html.c:714,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:714,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:715,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:715,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:716,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:717,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:717,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:718,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:719,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:719,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:721,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:721,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:724,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:727,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:739,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:739,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:739,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:740,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:740,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:740,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:742,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:754,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:754,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:755,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:756,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats-html.c:759,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:760,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/src/stats-html.c:762,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:763,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:767,1
    - Dst: field_to_html_str
      Src: /src/haproxy/src/stats-html.c:769,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:772,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:777,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:781,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:793,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:793,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:794,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:794,1
    - Dst: strncmp
      Src: /src/haproxy/src/stats-html.c:797,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:797,1
    - Dst: strlen
      Src: /src/haproxy/src/stats-html.c:797,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:800,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:800,1
    - Dst: strncmp
      Src: /src/haproxy/src/stats-html.c:803,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:803,1
    - Dst: strlen
      Src: /src/haproxy/src/stats-html.c:803,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:806,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:806,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:809,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:809,1
    - Dst: strncmp
      Src: /src/haproxy/src/stats-html.c:824,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:824,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:825,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:827,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:833,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:835,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:836,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:838,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:842,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:842,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:844,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:844,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:844,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:847,1
    - Dst: isdigit
      Src: /src/haproxy/src/stats-html.c:849,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:849,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:850,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:850,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:851,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:852,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:852,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:853,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:854,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:854,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:857,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:861,1
    - Dst: chunk_initstr
      Src: /src/haproxy/src/stats-html.c:862,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:862,1
    - Dst: chunk_htmlencode
      Src: /src/haproxy/src/stats-html.c:863,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:864,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:867,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:870,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:877,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:877,1
    - Dst: LIM2A
      Src: /src/haproxy/src/stats-html.c:877,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:878,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:878,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:880,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:897,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:898,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:899,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:900,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:901,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:902,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:903,1
    - Dst: LIM2A
      Src: /src/haproxy/src/stats-html.c:905,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:906,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:907,1
    - Dst: LIM2A
      Src: /src/haproxy/src/stats-html.c:907,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:908,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:909,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:912,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:912,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:913,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:926,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:927,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:930,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:931,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:933,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:935,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:937,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:939,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:941,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:943,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:944,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:946,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:946,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:947,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:951,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:952,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:957,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:958,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:959,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:959,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:960,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:961,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:961,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:962,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:962,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:963,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:964,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:964,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:965,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:966,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:966,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:968,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:972,1
    - Dst: human_time
      Src: /src/haproxy/src/stats-html.c:973,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:975,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:987,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:987,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:988,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:989,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:990,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:997,1
    - Dst: strncmp
      Src: /src/haproxy/src/stats-html.c:1006,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1006,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1007,1
    - Dst: human_time
      Src: /src/haproxy/src/stats-html.c:1007,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1009,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1009,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-html.c:1010,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1013,1
    - Dst: human_time
      Src: /src/haproxy/src/stats-html.c:1013,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1013,1
    - Dst: strncmp
      Src: /src/haproxy/src/stats-html.c:1014,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1014,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-html.c:1016,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-html.c:1019,1
    - Dst: strncmp
      Src: /src/haproxy/src/stats-html.c:1022,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1022,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1024,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1026,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1029,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1032,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1034,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1034,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1036,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1037,1
    - Dst: chunk_initstr
      Src: /src/haproxy/src/stats-html.c:1038,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1038,1
    - Dst: chunk_htmlencode
      Src: /src/haproxy/src/stats-html.c:1039,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1041,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1044,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1046,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1049,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1052,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1054,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1054,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1056,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1057,1
    - Dst: chunk_initstr
      Src: /src/haproxy/src/stats-html.c:1058,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1058,1
    - Dst: chunk_htmlencode
      Src: /src/haproxy/src/stats-html.c:1059,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1061,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1064,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1066,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1077,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1077,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1078,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1081,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1084,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1086,1
    - Dst: human_time
      Src: /src/haproxy/src/stats-html.c:1091,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1093,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1093,1
    - Dst: field_format
      Src: /src/haproxy/src/stats-html.c:1093,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1095,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1097,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1097,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1100,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1104,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1106,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats-html.c:1109,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1110,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/src/stats-html.c:1112,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1113,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1117,1
    - Dst: field_to_html_str
      Src: /src/haproxy/src/stats-html.c:1119,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1122,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1127,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1131,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1134,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1137,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1139,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1146,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1146,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1150,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1151,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1155,1
    - Dst: chunk_initstr
      Src: /src/haproxy/src/stats-html.c:1156,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1156,1
    - Dst: chunk_htmlencode
      Src: /src/haproxy/src/stats-html.c:1157,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1158,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1160,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1163,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1171,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1171,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1172,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1172,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1174,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1180,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1180,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1180,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1181,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1182,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1185,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1185,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1186,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1202,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1203,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1206,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1207,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1208,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1209,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1212,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1213,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1214,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1215,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1216,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1217,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1220,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1221,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1223,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1223,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1224,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1228,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1229,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1234,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1235,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1236,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1236,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1237,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1238,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1238,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1239,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1239,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1240,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1241,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1241,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1242,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1243,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1243,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1245,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1252,1
    - Dst: human_time
      Src: /src/haproxy/src/stats-html.c:1253,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1254,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1256,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1266,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1267,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1268,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1269,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1271,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1272,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1276,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1292,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1292,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1293,1
    - Dst: U2H
      Src: /src/haproxy/src/stats-html.c:1294,1
    - Dst: human_time
      Src: /src/haproxy/src/stats-html.c:1298,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1299,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1299,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-html.c:1299,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1303,1
    - Dst: human_time
      Src: /src/haproxy/src/stats-html.c:1309,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats-html.c:1312,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1313,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/src/stats-html.c:1315,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1316,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1320,1
    - Dst: field_to_html_str
      Src: /src/haproxy/src/stats-html.c:1322,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1325,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1330,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1334,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 275
    argCount: 3
    argNames:
    - out
    - stats
    - ctx
    argTypes:
    - struct buffer*
    - struct field*
    - struct show_stat_ctx*
    constantsTouched: []
    func_position:
      end: 1338
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 1338
    functionName: stats_dump_fields_html
    functionSourceFile: /src/haproxy/src/stats-html.c
    functionUses: 0
    functionsReached:
    - field_str
    - U2H
    - field_to_html_str
    - strncmp
    - list_for_each_entry
    - strcmp
    - strlen
    - chunk_strcat
    - field_format
    - LIM2A
    - chunk_appendf
    - chunk_initstr
    - chunk_htmlencode
    - stats_px_get_cap
    - human_time
    - isdigit
    linkageType: ''
    returnType: int
    signature: "stats_dump_fields_html(struct buffer *out,\n                           const
      struct field *stats,\n                           struct show_stat_ctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stats-html.c:1346,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/stats-html.c:1361,1
    - Dst: memcpy
      Src: /src/haproxy/src/stats-html.c:1362,1
    - Dst: strlen
      Src: /src/haproxy/src/stats-html.c:1362,1
    - Dst: strlen
      Src: /src/haproxy/src/stats-html.c:1363,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1366,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1371,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1376,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1385,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/stats-html.c:1386,1
    - Dst: proxy_mode_str
      Src: /src/haproxy/src/stats-html.c:1386,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1388,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1391,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1404,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1411,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1414,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats-html.c:1424,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1427,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1431,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats-html.c:1444,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1445,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1449,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - sc
    - px
    argTypes:
    - struct stconn*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1450
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1450
    functionName: stats_dump_html_px_hdr
    functionSourceFile: /src/haproxy/src/stats-html.c
    functionUses: 0
    functionsReached:
    - strlcpy2
    - __sc_appctx
    - list_for_each_entry
    - strlen
    - chunk_appendf
    - proxy_mode_str
    - proxy_cap_str
    - memcpy
    linkageType: ''
    returnType: void
    signature: stats_dump_html_px_hdr(struct stconn *sc, struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stats-html.c:1458,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1462,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1466,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - px
    argTypes:
    - struct stconn*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1491
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1491
    functionName: stats_dump_html_px_end
    functionSourceFile: /src/haproxy/src/stats-html.c
    functionUses: 0
    functionsReached:
    - __sc_appctx
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: stats_dump_html_px_end(struct stconn *sc, struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-html.c:1498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1499
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1499
    functionName: stats_dump_html_end
    functionSourceFile: /src/haproxy/src/stats-html.c
    functionUses: 0
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: stats_dump_html_end(struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stats-html.c:1505,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stats-html.c:1510,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/stats-html.c:1514,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1514,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1514,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1514,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/stats-html.c:1519,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1519,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1519,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/stats-html.c:1522,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1522,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1522,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/stats-html.c:1526,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1526,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1526,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/stats-html.c:1530,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1530,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1530,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/stats-html.c:1536,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1536,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1536,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/stats-html.c:1541,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1541,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1541,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/stats-html.c:1545,1
    - Dst: htx_reset
      Src: /src/haproxy/src/stats-html.c:1550,1
    - Dst: applet_set_eos
      Src: /src/haproxy/src/stats-html.c:1551,1
    - Dst: applet_set_error
      Src: /src/haproxy/src/stats-html.c:1552,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 2
    argNames:
    - sc
    - htx
    argTypes:
    - struct stconn*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1554
      start: 1502
    functionDepth: 1
    functionLinenumber: 1502
    functionLinenumberEnd: 1554
    functionName: stats_send_http_headers
    functionSourceFile: /src/haproxy/src/stats-html.c
    functionUses: 0
    functionsReached:
    - htx_add_header
    - __sc_appctx
    - htx_add_endof
    - ist
    - applet_set_eos
    - htx_reset
    - applet_set_error
    - BUG_ON
    - htx_add_stline
    linkageType: ''
    returnType: int
    signature: stats_send_http_headers(struct stconn *sc, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stats-html.c:1560,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stats-html.c:1565,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/stats-html.c:1573,1
    - Dst: memcpy
      Src: /src/haproxy/src/stats-html.c:1574,1
    - Dst: strlen
      Src: /src/haproxy/src/stats-html.c:1574,1
    - Dst: strlen
      Src: /src/haproxy/src/stats-html.c:1575,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/stats-html.c:1582,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/stats-html.c:1594,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1594,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1594,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1594,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/stats-html.c:1599,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1599,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1599,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/stats-html.c:1600,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1600,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1600,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/stats-html.c:1601,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1601,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1601,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/stats-html.c:1602,1
    - Dst: ist
      Src: /src/haproxy/src/stats-html.c:1602,1
    - Dst: ist2
      Src: /src/haproxy/src/stats-html.c:1602,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/stats-html.c:1605,1
    - Dst: htx_reset
      Src: /src/haproxy/src/stats-html.c:1611,1
    - Dst: applet_set_eos
      Src: /src/haproxy/src/stats-html.c:1612,1
    - Dst: applet_set_error
      Src: /src/haproxy/src/stats-html.c:1613,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - sc
    - htx
    argTypes:
    - struct stconn*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1615
      start: 1556
    functionDepth: 1
    functionLinenumber: 1556
    functionLinenumberEnd: 1615
    functionName: stats_send_http_redirect
    functionSourceFile: /src/haproxy/src/stats-html.c
    functionUses: 0
    functionsReached:
    - htx_add_header
    - strlcpy2
    - __sc_appctx
    - BUG_ON
    - strlen
    - ist2
    - htx_add_endof
    - ist
    - chunk_printf
    - applet_set_eos
    - htx_reset
    - applet_set_error
    - memcpy
    - htx_add_stline
    linkageType: ''
    returnType: int
    signature: stats_send_http_redirect(struct stconn *sc, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stats-html.c:1624,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/stats-html.c:1641,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stats-html.c:1643,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/stats-html.c:1649,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/stats-html.c:1657,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/stats-html.c:1659,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/stats-html.c:1664,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/stats-html.c:1666,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/stats-html.c:1671,1
    - Dst: strncpy
      Src: /src/haproxy/src/stats-html.c:1697,1
    - Dst: url_decode
      Src: /src/haproxy/src/stats-html.c:1713,1
    - Dst: url_decode
      Src: /src/haproxy/src/stats-html.c:1713,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1717,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/stats-html.c:1718,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1724,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1725,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1728,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1731,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1734,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1737,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1740,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1743,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1746,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1749,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1752,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1755,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1758,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1761,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1765,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1768,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1771,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1774,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-html.c:1782,1
    - Dst: findserver
      Src: /src/haproxy/src/stats-html.c:1794,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/stats-html.c:1795,1
    - Dst: srv_set_admin_flag
      Src: /src/haproxy/src/stats-html.c:1801,1
    - Dst: srv_clr_admin_flag
      Src: /src/haproxy/src/stats-html.c:1808,1
    - Dst: srv_set_admin_flag
      Src: /src/haproxy/src/stats-html.c:1813,1
    - Dst: srv_clr_admin_flag
      Src: /src/haproxy/src/stats-html.c:1820,1
    - Dst: srv_set_running
      Src: /src/haproxy/src/stats-html.c:1842,1
    - Dst: srv_set_stopping
      Src: /src/haproxy/src/stats-html.c:1850,1
    - Dst: srv_set_stopped
      Src: /src/haproxy/src/stats-html.c:1858,1
    - Dst: srv_set_running
      Src: /src/haproxy/src/stats-html.c:1880,1
    - Dst: srv_set_stopped
      Src: /src/haproxy/src/stats-html.c:1888,1
    - Dst: srv_adm_set_ready
      Src: /src/haproxy/src/stats-html.c:1894,1
    - Dst: srv_adm_set_drain
      Src: /src/haproxy/src/stats-html.c:1899,1
    - Dst: srv_adm_set_maint
      Src: /src/haproxy/src/stats-html.c:1904,1
    - Dst: srv_shutdown_streams
      Src: /src/haproxy/src/stats-html.c:1910,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/stats-html.c:1916,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 279
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1954
      start: 1622
    functionDepth: 1
    functionLinenumber: 1622
    functionLinenumberEnd: 1954
    functionName: stats_process_http_post
    functionSourceFile: /src/haproxy/src/stats-html.c
    functionUses: 0
    functionsReached:
    - proxy_be_by_name
    - srv_adm_set_maint
    - findserver
    - srv_adm_set_drain
    - chunk_memcat
    - htx_get_blk_value
    - srv_shutdown_streams
    - htx_get_next_blk
    - __sc_appctx
    - srv_set_running
    - strcmp
    - srv_clr_admin_flag
    - get_trash_chunk
    - srv_set_stopping
    - htx_get_head_blk
    - url_decode
    - srv_set_admin_flag
    - strncpy
    - HA_SPIN_UNLOCK
    - htxbuf
    - htx_get_blk_type
    - HA_SPIN_LOCK
    - applet_fl_test
    - srv_set_stopped
    - srv_adm_set_ready
    linkageType: ''
    returnType: int
    signature: stats_process_http_post(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/stats-html.c:1964,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/stats-html.c:1970,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/stats-html.c:1973,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/stats-html.c:1973,1
    - Dst: appctx_get_buf
      Src: /src/haproxy/src/stats-html.c:1977,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/stats-html.c:1977,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stats-html.c:1977,1
    - Dst: appctx_get_buf
      Src: /src/haproxy/src/stats-html.c:1981,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/stats-html.c:1985,1
    - Dst: unlikely
      Src: /src/haproxy/src/stats-html.c:1987,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/stats-html.c:1987,1
    - Dst: stats_send_http_headers
      Src: /src/haproxy/src/stats-html.c:1994,1
    - Dst: htx_sl_req_meth
      Src: /src/haproxy/src/stats-html.c:1995,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/stats-html.c:1995,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stats-html.c:1995,1
    - Dst: find_http_meth
      Src: /src/haproxy/src/stats-html.c:1997,1
    - Dst: istptr
      Src: /src/haproxy/src/stats-html.c:1997,1
    - Dst: istlen
      Src: /src/haproxy/src/stats-html.c:1997,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/stats-html.c:2001,1
    - Dst: b_make
      Src: /src/haproxy/src/stats-html.c:2008,1
    - Dst: buf_room_for_htx_data
      Src: /src/haproxy/src/stats-html.c:2012,1
    - Dst: stats_dump_stat_to_buffer
      Src: /src/haproxy/src/stats-html.c:2013,1
    - Dst: stats_process_http_post
      Src: /src/haproxy/src/stats-html.c:2018,1
    - Dst: stats_send_http_redirect
      Src: /src/haproxy/src/stats-html.c:2023,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/stats-html.c:2033,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/stats-html.c:2034,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/stats-html.c:2035,1
    - Dst: applet_set_eoi
      Src: /src/haproxy/src/stats-html.c:2040,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/stats-html.c:2041,1
    - Dst: applet_fl_clr
      Src: /src/haproxy/src/stats-html.c:2042,1
    - Dst: applet_set_eos
      Src: /src/haproxy/src/stats-html.c:2047,1
    - Dst: applet_will_consume
      Src: /src/haproxy/src/stats-html.c:2048,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/stats-html.c:2060,1
    - Dst: b_reset
      Src: /src/haproxy/src/stats-html.c:2064,1
    - Dst: applet_fl_clr
      Src: /src/haproxy/src/stats-html.c:2065,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/stats-html.c:2068,1
    - Dst: applet_wont_consume
      Src: /src/haproxy/src/stats-html.c:2069,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/stats-html.c:2074,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 81
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2077
      start: 1961
    functionDepth: 2
    functionLinenumber: 1961
    functionLinenumberEnd: 2077
    functionName: http_stats_io_handler
    functionSourceFile: /src/haproxy/src/stats-html.c
    functionUses: 0
    functionsReached:
    - applet_fl_clr
    - applet_set_eoi
    - htx_add_endof
    - applet_set_eos
    - applet_will_consume
    - stats_send_http_headers
    - applet_need_more_data
    - appctx_get_buf
    - http_get_stline
    - htx_to_buf
    - se_fl_test
    - htx_from_buf
    - istlen
    - applet_wont_consume
    - b_reset
    - htx_is_empty
    - stats_send_http_redirect
    - htxbuf
    - buf_room_for_htx_data
    - applet_fl_test
    - appctx_sc
    - b_make
    - se_fl_clr
    - htx_sl_req_meth
    - istptr
    - unlikely
    - applet_fl_set
    - find_http_meth
    - se_fl_set
    - stats_dump_stat_to_buffer
    - stats_process_http_post
    linkageType: ''
    returnType: void
    signature: http_stats_io_handler(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/stats-html.c:2082,1
    - Dst: b_make
      Src: /src/haproxy/src/stats-html.c:2086,1
    - Dst: b_tail
      Src: /src/haproxy/src/stats-html.c:2086,1
    - Dst: MIN
      Src: /src/haproxy/src/stats-html.c:2086,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/stats-html.c:2086,1
    - Dst: stats_dump_stat_to_buffer
      Src: /src/haproxy/src/stats-html.c:2087,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/stats-html.c:2088,1
    - Dst: applet_fl_clr
      Src: /src/haproxy/src/stats-html.c:2089,1
    - Dst: b_data
      Src: /src/haproxy/src/stats-html.c:2092,1
    - Dst: b_add
      Src: /src/haproxy/src/stats-html.c:2093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - appctx
    - buf
    - count
    - flags
    argTypes:
    - struct appctx*
    - struct buffer*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2095
      start: 2079
    functionDepth: 1
    functionLinenumber: 2079
    functionLinenumberEnd: 2095
    functionName: http_stats_fastfwd
    functionSourceFile: /src/haproxy/src/stats-html.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - applet_fl_clr
    - b_make
    - se_fl_clr
    - b_add
    - b_tail
    - b_data
    - b_contig_space
    - stats_dump_stat_to_buffer
    - MIN
    linkageType: ''
    returnType: size_t
    signature: "http_stats_fastfwd(struct appctx *appctx, struct buffer *buf,\n                                 size_t
      count, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: watcher_detach
      Src: /src/haproxy/src/stats-html.c:2101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2102
      start: 2097
    functionDepth: 1
    functionLinenumber: 2097
    functionLinenumberEnd: 2102
    functionName: http_stats_release
    functionSourceFile: /src/haproxy/src/stats-html.c
    functionUses: 0
    functionsReached:
    - watcher_detach
    linkageType: ''
    returnType: void
    signature: http_stats_release(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timer_settime
      Src: /src/haproxy/src/wdt.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - thr
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: wdt_ping
    functionSourceFile: /src/haproxy/src/wdt.c
    functionUses: 0
    functionsReached:
    - timer_settime
    linkageType: ''
    returnType: int
    signature: wdt_ping(int thr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/wdt.c:72,1
    - Dst: now_cpu_time_thread
      Src: /src/haproxy/src/wdt.c:93,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/wdt.c:101,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/wdt.c:102,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/wdt.c:125,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/wdt.c:128,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/wdt.c:132,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/wdt.c:139,1
    - Dst: ha_stuck_warning
      Src: /src/haproxy/src/wdt.c:142,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/wdt.c:143,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/wdt.c:169,1
    - Dst: ha_tkill
      Src: /src/haproxy/src/wdt.c:180,1
    - Dst: ha_panic
      Src: /src/haproxy/src/wdt.c:183,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/wdt.c:185,1
    - Dst: wdt_ping
      Src: /src/haproxy/src/wdt.c:189,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/wdt.c:191,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 3
    argNames:
    - sig
    - si
    - arg
    argTypes:
    - int
    - siginfo_t*
    - void*
    constantsTouched: []
    func_position:
      end: 192
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 192
    functionName: wdt_handler
    functionSourceFile: /src/haproxy/src/wdt.c
    functionUses: 0
    functionsReached:
    - ha_panic
    - _HA_ATOMIC_OR
    - now_cpu_time_thread
    - ha_stuck_warning
    - _HA_ATOMIC_AND
    - ha_tkill
    - wdt_ping
    - HA_ATOMIC_LOAD
    - _HA_ATOMIC_LOAD
    - HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: wdt_handler(int sig, siginfo_t *si, void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/wdt.c:203,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/wdt.c:207,1
    - Dst: memprintf
      Src: /src/haproxy/src/wdt.c:209,1
    - Dst: memprintf
      Src: /src/haproxy/src/wdt.c:214,1
    - Dst: memprintf
      Src: /src/haproxy/src/wdt.c:219,1
    - Dst: memprintf
      Src: /src/haproxy/src/wdt.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 230
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 230
    functionName: wdt_parse_warn_blocked
    functionSourceFile: /src/haproxy/src/wdt.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_time_err
    linkageType: ''
    returnType: int
    signature: "wdt_parse_warn_blocked(char **args, int section_type, struct proxy
      *curpx,\n                                  const struct proxy *defpx, const
      char *file, int line,\n                                  char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_setup_signal_timer
      Src: /src/haproxy/src/wdt.c:234,1
    - Dst: wdt_ping
      Src: /src/haproxy/src/wdt.c:237,1
    - Dst: timer_delete
      Src: /src/haproxy/src/wdt.c:243,1
    - Dst: ha_warning
      Src: /src/haproxy/src/wdt.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 248
    functionName: init_wdt_per_thread
    functionSourceFile: /src/haproxy/src/wdt.c
    functionUses: 0
    functionsReached:
    - wdt_ping
    - timer_delete
    - clock_setup_signal_timer
    - ha_warning
    linkageType: ''
    returnType: int
    signature: init_wdt_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: timer_delete
      Src: /src/haproxy/src/wdt.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: deinit_wdt_per_thread
    functionSourceFile: /src/haproxy/src/wdt.c
    functionUses: 0
    functionsReached:
    - timer_delete
    linkageType: ''
    returnType: void
    signature: deinit_wdt_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/haproxy/src/wdt.c:265,1
    - Dst: sigaction
      Src: /src/haproxy/src/wdt.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: init_wdt
    functionSourceFile: /src/haproxy/src/wdt.c
    functionUses: 0
    functionsReached:
    - sigaction
    - sigemptyset
    linkageType: ''
    returnType: int
    signature: init_wdt()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - col
    argTypes:
    - struct name_desc*
    - struct stat_col*
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: stcol2ndesc
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: stcol2ndesc(struct name_desc *name, const struct stat_col *col)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stcol_is_generic
      Src: /src/haproxy/src/stats.c:208,1
    - Dst: strlen
      Src: /src/haproxy/src/stats.c:209,1
    - Dst: malloc
      Src: /src/haproxy/src/stats.c:210,1
    - Dst: memcpy
      Src: /src/haproxy/src/stats.c:215,1
    - Dst: ebst_insert
      Src: /src/haproxy/src/stats.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - st_tree
    - cols
    argTypes:
    - struct eb_root*
    - struct stat_col[]
    constantsTouched: []
    func_position:
      end: 226
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 226
    functionName: generate_stat_tree
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - malloc
    - stcol_is_generic
    - strlen
    - ebst_insert
    - memcpy
    linkageType: ''
    returnType: int
    signature: generate_stat_tree(struct eb_root *st_tree, const struct stat_col cols[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRESS_RUN1
      Src: /src/haproxy/src/stats.c:235,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/stats.c:235,1
    - Dst: b_data
      Src: /src/haproxy/src/stats.c:236,1
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/stats.c:236,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/stats.c:237,1
    - Dst: htx_add_data_atonce
      Src: /src/haproxy/src/stats.c:240,1
    - Dst: ist2
      Src: /src/haproxy/src/stats.c:240,1
    - Dst: b_orig
      Src: /src/haproxy/src/stats.c:240,1
    - Dst: b_data
      Src: /src/haproxy/src/stats.c:240,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/stats.c:241,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stats.c:244,1
    - Dst: STRESS_RUN1
      Src: /src/haproxy/src/stats.c:247,1
    - Dst: b_data
      Src: /src/haproxy/src/stats.c:247,1
    - Dst: b_data
      Src: /src/haproxy/src/stats.c:247,1
    - Dst: b_room
      Src: /src/haproxy/src/stats.c:247,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/stats.c:248,1
    - Dst: b_putblk
      Src: /src/haproxy/src/stats.c:251,1
    - Dst: b_head
      Src: /src/haproxy/src/stats.c:251,1
    - Dst: b_data
      Src: /src/haproxy/src/stats.c:251,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stats.c:252,1
    - Dst: STRESS_RUN1
      Src: /src/haproxy/src/stats.c:255,1
    - Dst: applet_putchk_stress
      Src: /src/haproxy/src/stats.c:255,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/stats.c:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - appctx
    - buf
    - htx
    argTypes:
    - struct appctx*
    - struct buffer*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 261
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 261
    functionName: stats_putchk
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - b_room
    - chunk_reset
    - b_putblk
    - htx_free_data_space
    - htx_add_data_atonce
    - STRESS_RUN1
    - ist2
    - applet_fl_set
    - b_head
    - applet_putchk_stress
    - applet_putchk
    - se_fl_set
    - b_data
    - htx_is_empty
    - b_orig
    linkageType: ''
    returnType: int
    signature: stats_putchk(struct appctx *appctx, struct buffer *buf, struct htx
      *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STRESS_RUN1
      Src: /src/haproxy/src/stats.c:266,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/stats.c:266,1
    - Dst: htx_almost_full
      Src: /src/haproxy/src/stats.c:266,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/stats.c:267,1
    - Dst: STRESS_RUN1
      Src: /src/haproxy/src/stats.c:272,1
    - Dst: b_data
      Src: /src/haproxy/src/stats.c:272,1
    - Dst: buffer_almost_full
      Src: /src/haproxy/src/stats.c:272,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/stats.c:273,1
    - Dst: STRESS_RUN1
      Src: /src/haproxy/src/stats.c:278,1
    - Dst: b_data
      Src: /src/haproxy/src/stats.c:278,1
    - Dst: buffer_almost_full
      Src: /src/haproxy/src/stats.c:279,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/stats.c:280,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - appctx
    - buf
    - htx
    argTypes:
    - struct appctx*
    - struct buffer*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 287
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 287
    functionName: stats_is_full
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - STRESS_RUN1
    - buffer_almost_full
    - htx_almost_full
    - applet_fl_set
    - se_fl_set
    - b_data
    - htx_is_empty
    linkageType: ''
    returnType: int
    signature: stats_is_full(struct appctx *appctx, struct buffer *buf, struct htx
      *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/stats.c:292,1
    - Dst: ASSUME_NONNULL
      Src: /src/haproxy/src/stats.c:296,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/stats.c:296,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stats.c:297,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/stats.c:297,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/stats.c:298,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/stats.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 300
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 300
    functionName: stats_scope_ptr
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - htx_sl_req_uri
    - htx_get_head_blk
    - htx_get_blk_ptr
    - htxbuf
    - htx_get_blk_type
    - ASSUME_NONNULL
    - BUG_ON
    linkageType: ''
    returnType: char
    signature: '*stats_scope_ptr(struct appctx *appctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:331,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:334,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:339,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - domain
    - out
    argTypes:
    - enum stats_domain
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 344
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 344
    functionName: stats_dump_csv_header
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: stats_dump_csv_header(enum stats_domain domain, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_format
      Src: /src/haproxy/src/stats.c:351,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:353,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:354,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:355,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:356,1
    - Dst: flt_trim
      Src: /src/haproxy/src/stats.c:359,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:359,1
    - Dst: csv_enc_append
      Src: /src/haproxy/src/stats.c:362,1
    - Dst: field_str
      Src: /src/haproxy/src/stats.c:362,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - struct buffer*
    - struct field*
    constantsTouched: []
    func_position:
      end: 365
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 365
    functionName: stats_emit_raw_data_field
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - flt_trim
    - field_str
    - field_format
    - chunk_appendf
    - csv_enc_append
    linkageType: ''
    returnType: int
    signature: stats_emit_raw_data_field(struct buffer *out, const struct field *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_format
      Src: /src/haproxy/src/stats.c:373,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:375,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:376,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:377,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:378,1
    - Dst: flt_trim
      Src: /src/haproxy/src/stats.c:381,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:381,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:384,1
    - Dst: field_str
      Src: /src/haproxy/src/stats.c:384,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - struct buffer*
    - struct field*
    constantsTouched: []
    func_position:
      end: 387
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 387
    functionName: stats_emit_typed_data_field
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - field_str
    - flt_trim
    - field_format
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: stats_emit_typed_data_field(struct buffer *out, const struct field
      *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_origin
      Src: /src/haproxy/src/stats.c:397,1
    - Dst: field_nature
      Src: /src/haproxy/src/stats.c:406,1
    - Dst: field_scope
      Src: /src/haproxy/src/stats.c:422,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:430,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 3
    argNames:
    - out
    - f
    - delim
    argTypes:
    - struct buffer*
    - struct field*
    - char
    constantsTouched: []
    func_position:
      end: 431
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 431
    functionName: stats_emit_field_tags
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - field_origin
    - field_scope
    - field_nature
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: "stats_emit_field_tags(struct buffer *out, const struct field *f,\n\t\t\t
      \ char delim)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stats_emit_raw_data_field
      Src: /src/haproxy/src/stats.c:442,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats.c:444,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats.c:450,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats.c:455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - out
    - line
    - stats_count
    - ctx
    argTypes:
    - struct buffer*
    - struct field*
    - size_t
    - struct show_stat_ctx*
    constantsTouched: []
    func_position:
      end: 457
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 457
    functionName: stats_dump_fields_csv
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - stats_emit_raw_data_field
    - chunk_strcat
    linkageType: ''
    returnType: int
    signature: "stats_dump_fields_csv(struct buffer *out,\n                                 const
      struct field *line, size_t stats_count,\n                                 struct
      show_stat_ctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:475,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:488,1
    - Dst: stats_emit_field_tags
      Src: /src/haproxy/src/stats.c:496,1
    - Dst: stats_emit_typed_data_field
      Src: /src/haproxy/src/stats.c:498,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:502,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats.c:506,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - out
    - line
    - stats_count
    - ctx
    argTypes:
    - struct buffer*
    - struct field*
    - size_t
    - struct show_stat_ctx*
    constantsTouched: []
    func_position:
      end: 510
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 510
    functionName: stats_dump_fields_typed
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - stats_emit_field_tags
    - chunk_strcat
    - stats_emit_typed_data_field
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: "stats_dump_fields_typed(struct buffer *out,\n                                   const
      struct field *line,\n                                   size_t stats_count,\n
      \                                  struct show_stat_ctx * ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stats_dump_fields_html
      Src: /src/haproxy/src/stats.c:521,1
    - Dst: stats_dump_fields_typed
      Src: /src/haproxy/src/stats.c:523,1
    - Dst: stats_dump_fields_json
      Src: /src/haproxy/src/stats.c:525,1
    - Dst: stats_dump_fields_file
      Src: /src/haproxy/src/stats.c:527,1
    - Dst: stats_dump_fields_csv
      Src: /src/haproxy/src/stats.c:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - line
    - stats_count
    - appctx
    argTypes:
    - struct field*
    - size_t
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 532
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 532
    functionName: stats_dump_one_line
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - stats_dump_fields_json
    - stats_dump_fields_file
    - stats_dump_fields_csv
    - stats_dump_fields_html
    - stats_dump_fields_typed
    linkageType: ''
    returnType: int
    signature: "stats_dump_one_line(const struct field *line, size_t stats_count,\n
      \                       struct appctx *appctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stats.c:542,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stats.c:547,1
    - Dst: stats_dump_html_head
      Src: /src/haproxy/src/stats.c:556,1
    - Dst: stats_dump_json_schema
      Src: /src/haproxy/src/stats.c:558,1
    - Dst: stats_dump_json_header
      Src: /src/haproxy/src/stats.c:560,1
    - Dst: stats_dump_file_header
      Src: /src/haproxy/src/stats.c:562,1
    - Dst: stats_dump_csv_header
      Src: /src/haproxy/src/stats.c:564,1
    - Dst: stats_putchk
      Src: /src/haproxy/src/stats.c:566,1
    - Dst: stats_dump_html_info
      Src: /src/haproxy/src/stats.c:578,1
    - Dst: stats_putchk
      Src: /src/haproxy/src/stats.c:579,1
    - Dst: stats_dump_resolvers
      Src: /src/haproxy/src/stats.c:594,1
    - Dst: stats_dump_proxies
      Src: /src/haproxy/src/stats.c:604,1
    - Dst: stats_dump_html_end
      Src: /src/haproxy/src/stats.c:615,1
    - Dst: stats_dump_json_end
      Src: /src/haproxy/src/stats.c:617,1
    - Dst: stats_putchk
      Src: /src/haproxy/src/stats.c:618,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 3
    argNames:
    - sc
    - buf
    - htx
    argTypes:
    - struct stconn*
    - struct buffer*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 637
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 637
    functionName: stats_dump_stat_to_buffer
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 2
    functionsReached:
    - chunk_reset
    - stats_dump_json_header
    - __sc_appctx
    - stats_dump_proxies
    - stats_dump_csv_header
    - stats_putchk
    - stats_dump_json_end
    - stats_dump_html_head
    - stats_dump_resolvers
    - stats_dump_file_header
    - stats_dump_html_end
    - stats_dump_json_schema
    - stats_dump_html_info
    linkageType: ''
    returnType: int
    signature: stats_dump_stat_to_buffer(struct stconn *sc, struct buffer *buf, struct
      htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_format
      Src: /src/haproxy/src/stats.c:648,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:651,1
    - Dst: stats_emit_raw_data_field
      Src: /src/haproxy/src/stats.c:653,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:655,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats.c:657,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - out
    - line
    - ctx
    argTypes:
    - struct buffer*
    - struct field*
    - struct show_stat_ctx*
    constantsTouched: []
    func_position:
      end: 661
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 661
    functionName: stats_dump_info_fields
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - field_format
    - stats_emit_raw_data_field
    - chunk_strcat
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: "stats_dump_info_fields(struct buffer *out,\n                                  const
      struct field *line,\n                                  struct show_stat_ctx
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_format
      Src: /src/haproxy/src/stats.c:672,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:675,1
    - Dst: stats_emit_field_tags
      Src: /src/haproxy/src/stats.c:679,1
    - Dst: stats_emit_typed_data_field
      Src: /src/haproxy/src/stats.c:681,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:683,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats.c:685,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - out
    - line
    - ctx
    argTypes:
    - struct buffer*
    - struct field*
    - struct show_stat_ctx*
    constantsTouched: []
    func_position:
      end: 689
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 689
    functionName: stats_dump_typed_info_fields
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - field_format
    - chunk_strcat
    - chunk_appendf
    - stats_emit_typed_data_field
    - stats_emit_field_tags
    linkageType: ''
    returnType: int
    signature: "stats_dump_typed_info_fields(struct buffer *out,\n                                        const
      struct field *line,\n                                        struct show_stat_ctx
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/stats.c:699,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stats.c:718,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stats.c:719,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/stats.c:720,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stats.c:721,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stats.c:722,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/stats.c:727,1
    - Dst: tv_ms_remain
      Src: /src/haproxy/src/stats.c:730,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stats.c:735,1
    - Dst: memset
      Src: /src/haproxy/src/stats.c:736,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats.c:738,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats.c:739,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats.c:740,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats.c:741,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:743,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:744,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:745,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:746,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats.c:748,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/stats.c:748,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:749,1
    - Dst: mkf_flt
      Src: /src/haproxy/src/stats.c:751,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:751,1
    - Dst: mkf_flt
      Src: /src/haproxy/src/stats.c:752,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:752,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:753,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:754,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:755,1
    - Dst: pool_total_allocated
      Src: /src/haproxy/src/stats.c:755,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/stats.c:756,1
    - Dst: pool_total_allocated
      Src: /src/haproxy/src/stats.c:756,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:757,1
    - Dst: pool_total_used
      Src: /src/haproxy/src/stats.c:757,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/stats.c:758,1
    - Dst: pool_total_used
      Src: /src/haproxy/src/stats.c:758,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:759,1
    - Dst: pool_total_failures
      Src: /src/haproxy/src/stats.c:759,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:760,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:761,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:762,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:763,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:764,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:765,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:766,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:768,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:769,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:770,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:772,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:773,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:774,1
    - Dst: mkf_flt
      Src: /src/haproxy/src/stats.c:775,1
    - Dst: read_freq_ctr_flt
      Src: /src/haproxy/src/stats.c:775,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:775,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/stats.c:775,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:776,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:777,1
    - Dst: mkf_flt
      Src: /src/haproxy/src/stats.c:778,1
    - Dst: read_freq_ctr_flt
      Src: /src/haproxy/src/stats.c:778,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:778,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/stats.c:778,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:779,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:780,1
    - Dst: mkf_flt
      Src: /src/haproxy/src/stats.c:783,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:783,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:784,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:785,1
    - Dst: mkf_flt
      Src: /src/haproxy/src/stats.c:786,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:786,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:787,1
    - Dst: mkf_flt
      Src: /src/haproxy/src/stats.c:788,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:788,1
    - Dst: mkf_flt
      Src: /src/haproxy/src/stats.c:789,1
    - Dst: read_freq_ctr_flt
      Src: /src/haproxy/src/stats.c:789,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:789,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/stats.c:789,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:790,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:791,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:792,1
    - Dst: mkf_flt
      Src: /src/haproxy/src/stats.c:794,1
    - Dst: read_freq_ctr_flt
      Src: /src/haproxy/src/stats.c:794,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:794,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/stats.c:794,1
    - Dst: mkf_flt
      Src: /src/haproxy/src/stats.c:795,1
    - Dst: read_freq_ctr_flt
      Src: /src/haproxy/src/stats.c:795,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:795,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/stats.c:795,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:796,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:798,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:799,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:801,1
    - Dst: total_allocated_tasks
      Src: /src/haproxy/src/stats.c:801,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:802,1
    - Dst: total_run_queues
      Src: /src/haproxy/src/stats.c:802,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:803,1
    - Dst: clock_report_idle
      Src: /src/haproxy/src/stats.c:803,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats.c:804,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats.c:806,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:807,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:808,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:809,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:810,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:811,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:812,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:813,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:814,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:815,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/stats.c:816,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/stats.c:817,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/stats.c:818,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:819,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:820,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats.c:822,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/stats.c:822,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats.c:823,1
    - Dst: get_tainted
      Src: /src/haproxy/src/stats.c:823,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:824,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stats.c:824,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:825,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stats.c:825,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:826,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:827,1
    - Dst: total_niced_running_tasks
      Src: /src/haproxy/src/stats.c:827,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/stats.c:828,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/stats.c:829,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats.c:830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 103
    argCount: 3
    argNames:
    - line
    - len
    - flags
    argTypes:
    - struct field*
    - int
    - uint
    constantsTouched: []
    func_position:
      end: 833
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 833
    functionName: stats_fill_info
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - ns_to_sec
    - chunk_reset
    - mkf_u64
    - HA_ATOMIC_LOAD
    - chunk_newstr
    - memset
    - tv_ms_remain
    - clock_report_idle
    - total_run_queues
    - chunk_appendf
    - get_trash_chunk
    - get_tainted
    - pool_total_failures
    - mkf_str
    - read_freq_ctr
    - read_freq_ctr_flt
    - pool_total_used
    - total_allocated_tasks
    - mkf_u32
    - mkf_flt
    - total_niced_running_tasks
    - pool_total_allocated
    linkageType: ''
    returnType: int
    signature: stats_fill_info(struct field *line, int len, uint flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stats.c:841,1
    - Dst: stats_fill_info
      Src: /src/haproxy/src/stats.c:847,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stats.c:850,1
    - Dst: stats_dump_typed_info_fields
      Src: /src/haproxy/src/stats.c:855,1
    - Dst: stats_dump_json_info_fields
      Src: /src/haproxy/src/stats.c:857,1
    - Dst: stats_dump_info_fields
      Src: /src/haproxy/src/stats.c:859,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/stats.c:861,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 872
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 872
    functionName: stats_dump_info_to_buffer
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - __sc_appctx
    - applet_putchk
    - stats_dump_info_fields
    - stats_dump_typed_info_fields
    - stats_fill_info
    - stats_dump_json_info_fields
    linkageType: ''
    returnType: int
    signature: stats_dump_info_to_buffer(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/stats.c:878,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/stats.c:882,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/stats.c:883,1
    - Dst: proxy_stats_clear_counters
      Src: /src/haproxy/src/stats.c:892,1
    - Dst: resolv_stats_clear_counters
      Src: /src/haproxy/src/stats.c:894,1
    - Dst: memset
      Src: /src/haproxy/src/stats.c:896,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 898
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 898
    functionName: cli_parse_clear_counters
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cli_has_level
    - memset
    - resolv_stats_clear_counters
    - proxy_stats_clear_counters
    linkageType: ''
    returnType: int
    signature: cli_parse_clear_counters(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/stats.c:903,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats.c:912,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats.c:914,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats.c:916,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats.c:918,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 923
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 923
    functionName: cli_parse_show_info
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - strcmp
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_show_info(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/stats.c:928,1
    - Dst: watcher_init
      Src: /src/haproxy/src/stats.c:935,1
    - Dst: strm_li
      Src: /src/haproxy/src/stats.c:937,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/stats.c:937,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats.c:942,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats.c:945,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats.c:947,1
    - Dst: cli_err
      Src: /src/haproxy/src/stats.c:951,1
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/stats.c:959,1
    - Dst: atoi
      Src: /src/haproxy/src/stats.c:963,1
    - Dst: cli_err
      Src: /src/haproxy/src/stats.c:966,1
    - Dst: atoi
      Src: /src/haproxy/src/stats.c:969,1
    - Dst: atoi
      Src: /src/haproxy/src/stats.c:970,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats.c:975,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats.c:977,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats.c:979,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats.c:981,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats.c:983,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 989
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 989
    functionName: cli_parse_show_stat
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - proxy_find_by_name
    - appctx_strm
    - atoi
    - strcmp
    - cli_err
    - strm_li
    - watcher_init
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_show_stat(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/stats.c:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 997
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 997
    functionName: cli_parse_show_schema_json
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_show_schema_json(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_make
      Src: /src/haproxy/src/stats.c:1002,1
    - Dst: stats_dump_info_to_buffer
      Src: /src/haproxy/src/stats.c:1003,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/stats.c:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1004
      start: 999
    functionDepth: 4
    functionLinenumber: 999
    functionLinenumberEnd: 1004
    functionName: cli_io_handler_dump_info
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - stats_dump_info_to_buffer
    - b_make
    linkageType: ''
    returnType: int
    signature: cli_io_handler_dump_info(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_make
      Src: /src/haproxy/src/stats.c:1012,1
    - Dst: stats_dump_stat_to_buffer
      Src: /src/haproxy/src/stats.c:1013,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/stats.c:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1014
      start: 1009
    functionDepth: 3
    functionLinenumber: 1009
    functionLinenumberEnd: 1014
    functionName: cli_io_handler_dump_stat
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - stats_dump_stat_to_buffer
    - b_make
    linkageType: ''
    returnType: int
    signature: cli_io_handler_dump_stat(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: watcher_detach
      Src: /src/haproxy/src/stats.c:1020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1021
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1021
    functionName: cli_io_handler_release_stat
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - watcher_detach
    linkageType: ''
    returnType: void
    signature: cli_io_handler_release_stat(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_make
      Src: /src/haproxy/src/stats.c:1026,1
    - Dst: stats_dump_json_schema_to_buffer
      Src: /src/haproxy/src/stats.c:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1028
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1028
    functionName: cli_io_handler_dump_json_schema
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - stats_dump_json_schema_to_buffer
    - b_make
    linkageType: ''
    returnType: int
    signature: cli_io_handler_dump_json_schema(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/stats.c:1033,1
    - Dst: b_make
      Src: /src/haproxy/src/stats.c:1035,1
    - Dst: watcher_init
      Src: /src/haproxy/src/stats.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1041
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1041
    functionName: cli_parse_dump_stat_file
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - watcher_init
    - applet_reserve_svcctx
    - b_make
    linkageType: ''
    returnType: int
    signature: "cli_parse_dump_stat_file(char **args, char *payload,\n                                    struct
      appctx *appctx, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stats_dump_stat_to_buffer
      Src: /src/haproxy/src/stats.c:1061,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/stats.c:1061,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats.c:1065,1
    - Dst: stats_putchk
      Src: /src/haproxy/src/stats.c:1066,1
    - Dst: stats_dump_stat_to_buffer
      Src: /src/haproxy/src/stats.c:1074,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/stats.c:1074,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1075
      start: 1044
    functionDepth: 3
    functionLinenumber: 1044
    functionLinenumberEnd: 1075
    functionName: cli_io_handler_dump_stat_file
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - stats_putchk
    - stats_dump_stat_to_buffer
    - chunk_strcat
    linkageType: ''
    returnType: int
    signature: cli_io_handler_dump_stat_file(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: watcher_detach
      Src: /src/haproxy/src/stats.c:1081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1082
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1082
    functionName: cli_io_handler_release_dump_stat_file
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - watcher_detach
    linkageType: ''
    returnType: void
    signature: cli_io_handler_release_dump_stat_file(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EXTRA_COUNTERS_REGISTER
      Src: /src/haproxy/src/stats.c:1089,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats.c:1091,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/src/stats.c:1092,1
    - Dst: EXTRA_COUNTERS_ADD
      Src: /src/haproxy/src/stats.c:1095,1
    - Dst: EXTRA_COUNTERS_ALLOC
      Src: /src/haproxy/src/stats.c:1098,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats.c:1100,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/src/stats.c:1101,1
    - Dst: EXTRA_COUNTERS_INIT
      Src: /src/haproxy/src/stats.c:1104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - counters
    - type
    - px_cap
    argTypes:
    - struct extra_counters**
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1111
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1111
    functionName: stats_allocate_proxy_counters_internal
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - EXTRA_COUNTERS_ALLOC
    - list_for_each_entry
    - EXTRA_COUNTERS_INIT
    - EXTRA_COUNTERS_ADD
    - EXTRA_COUNTERS_REGISTER
    - stats_px_get_cap
    linkageType: ''
    returnType: int
    signature: "stats_allocate_proxy_counters_internal(struct extra_counters **counters,\n
      \                                          int type, int px_cap)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stats_allocate_proxy_counters_internal
      Src: /src/haproxy/src/stats.c:1122,1
    - Dst: stats_allocate_proxy_counters_internal
      Src: /src/haproxy/src/stats.c:1130,1
    - Dst: stats_allocate_proxy_counters_internal
      Src: /src/haproxy/src/stats.c:1138,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats.c:1145,1
    - Dst: stats_allocate_proxy_counters_internal
      Src: /src/haproxy/src/stats.c:1146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1154
      start: 1116
    functionDepth: 2
    functionLinenumber: 1116
    functionLinenumberEnd: 1154
    functionName: stats_allocate_proxy_counters
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - stats_allocate_proxy_counters_internal
    - list_for_each_entry
    linkageType: ''
    returnType: int
    signature: stats_allocate_proxy_counters(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/stats.c:1160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct stats_module*
    constantsTouched: []
    func_position:
      end: 1162
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1162
    functionName: stats_register_module
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: stats_register_module(struct stats_module *m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/stats.c:1174,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stats.c:1176,1
    - Dst: stcol2ndesc
      Src: /src/haproxy/src/stats.c:1182,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats.c:1184,1
    - Dst: stcol2ndesc
      Src: /src/haproxy/src/stats.c:1186,1
    - Dst: stats_allocate_proxy_counters
      Src: /src/haproxy/src/stats.c:1193,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stats.c:1194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1165
    functionDepth: 3
    functionLinenumber: 1165
    functionLinenumberEnd: 1203
    functionName: allocate_stats_px_postcheck
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - malloc
    - ha_alert
    - stats_allocate_proxy_counters
    - list_for_each_entry
    - stcol2ndesc
    linkageType: ''
    returnType: int
    signature: allocate_stats_px_postcheck(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/stats.c:1213,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stats.c:1215,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats.c:1220,1
    - Dst: stcol2ndesc
      Src: /src/haproxy/src/stats.c:1222,1
    - Dst: resolv_allocate_counters
      Src: /src/haproxy/src/stats.c:1228,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stats.c:1229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1207
    functionDepth: 1
    functionLinenumber: 1207
    functionLinenumberEnd: 1237
    functionName: allocate_stats_rslv_postcheck
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - malloc
    - resolv_allocate_counters
    - ha_alert
    - stcol2ndesc
    - list_for_each_entry
    linkageType: ''
    returnType: int
    signature: allocate_stats_rslv_postcheck(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/stats.c:1248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1253
    functionName: allocate_stat_lines_per_thread
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: allocate_stat_lines_per_thread(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats.c:1265,1
    - Dst: malloc
      Src: /src/haproxy/src/stats.c:1273,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stats.c:1275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1281
    functionName: allocate_trash_counters
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - malloc
    - ha_alert
    linkageType: ''
    returnType: int
    signature: allocate_trash_counters(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/stats.c:1292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1294
    functionName: deinit_stat_lines_per_thread
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: void
    signature: deinit_stat_lines_per_thread(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/stats.c:1307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1309
    functionName: deinit_stats
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: deinit_stats(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/stats.c:1316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1317
    functionName: free_trash_counters
    functionSourceFile: /src/haproxy/src/stats.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: free_trash_counters(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - c
    - esc
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: mjson_esc
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: mjson_esc(int c, int esc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mjson_esc
      Src: /src/haproxy/src/mjson.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: mjson_escape
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - mjson_esc
    linkageType: ''
    returnType: int
    signature: mjson_escape(int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mjson_escape
      Src: /src/haproxy/src/mjson.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: mjson_pass_string
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - mjson_escape
    linkageType: ''
    returnType: int
    signature: mjson_pass_string(const char *s, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MJSONEOO
      Src: /src/haproxy/src/mjson.c:102,1
    - Dst: memcmp
      Src: /src/haproxy/src/mjson.c:103,1
    - Dst: memcmp
      Src: /src/haproxy/src/mjson.c:106,1
    - Dst: memcmp
      Src: /src/haproxy/src/mjson.c:109,1
    - Dst: mystrtod
      Src: /src/haproxy/src/mjson.c:114,1
    - Dst: MJSONCALL
      Src: /src/haproxy/src/mjson.c:126,1
    - Dst: MJSONEOO
      Src: /src/haproxy/src/mjson.c:140,1
    - Dst: MJSONEOO
      Src: /src/haproxy/src/mjson.c:160,1
    - Dst: MJSONCALL
      Src: /src/haproxy/src/mjson.c:166,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 92
    argCount: 4
    argNames:
    - s
    - len
    - cb
    - ud
    argTypes:
    - char*
    - int
    - mjson_cb_t
    - void*
    constantsTouched: []
    func_position:
      end: 169
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 169
    functionName: mjson
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - mystrtod
    - memcmp
    - MJSONEOO
    - MJSONCALL
    linkageType: ''
    returnType: int
    signature: mjson(const char *s, int len, mjson_cb_t cb, void *ud)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: plen1
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: plen1(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: plen2
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: plen2(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: kcmp
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: kcmp(const char *a, const char *b, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mystrtod
      Src: /src/haproxy/src/mjson.c:225,1
    - Dst: plen1
      Src: /src/haproxy/src/mjson.c:245,1
    - Dst: kcmp
      Src: /src/haproxy/src/mjson.c:246,1
    - Dst: plen2
      Src: /src/haproxy/src/mjson.c:248,1
    - Dst: MJSON_TOK_IS_VALUE
      Src: /src/haproxy/src/mjson.c:260,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 61
    argCount: 5
    argNames:
    - tok
    - s
    - 'off'
    - len
    - ud
    argTypes:
    - int
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 270
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 270
    functionName: mjson_get_cb
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - plen1
    - MJSON_TOK_IS_VALUE
    - plen2
    - kcmp
    - mystrtod
    linkageType: ''
    returnType: int
    signature: mjson_get_cb(int tok, const char *s, int off, int len, void *ud)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mjson
      Src: /src/haproxy/src/mjson.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - s
    - len
    - jp
    - tokptr
    - toklen
    argTypes:
    - char*
    - int
    - char*
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: mjson_find
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - mjson
    linkageType: ''
    returnType: enum mjson_tok
    signature: "mjson_find(const char *s, int len, const char *jp,\n                          const
      char **tokptr, int *toklen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mjson_find
      Src: /src/haproxy/src/mjson.c:284,1
    - Dst: mystrtod
      Src: /src/haproxy/src/mjson.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - s
    - len
    - path
    - v
    argTypes:
    - char*
    - int
    - char*
    - double*
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: mjson_get_number
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - mystrtod
    - mjson_find
    linkageType: ''
    returnType: int
    signature: mjson_get_number(const char *s, int len, const char *path, double *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - s
    - len
    - path
    - v
    argTypes:
    - char*
    - int
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: mjson_get_bool
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: mjson_get_bool(const char *s, int len, const char *path, int *v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 306
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 306
    functionName: mjson_unhex_nimble
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: mjson_unhex_nimble(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mjson_unhex_nimble
      Src: /src/haproxy/src/mjson.c:316,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - s
    - len
    - to
    - n
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 330
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 330
    functionName: mjson_unescape
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - mjson_unhex_nimble
    linkageType: ''
    returnType: int
    signature: mjson_unescape(const char *s, int len, char *to, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mjson_find
      Src: /src/haproxy/src/mjson.c:336,1
    - Dst: mjson_unescape
      Src: /src/haproxy/src/mjson.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - s
    - len
    - path
    - to
    - n
    argTypes:
    - char*
    - int
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 338
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: mjson_get_string
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - mjson_unescape
    - mjson_find
    linkageType: ''
    returnType: int
    signature: "mjson_get_string(const char *s, int len, const char *path, char *to,\n
      \                    int n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mjson_find
      Src: /src/haproxy/src/mjson.c:343,1
    - Dst: mjson_unhex_nimble
      Src: /src/haproxy/src/mjson.c:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - s
    - len
    - x
    - to
    - n
    argTypes:
    - char*
    - int
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: mjson_get_hex
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - mjson_find
    - mjson_unhex_nimble
    linkageType: ''
    returnType: int
    signature: mjson_get_hex(const char *s, int len, const char *x, char *to, int
      n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 366
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 366
    functionName: mjson_base64rev
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: mjson_base64rev(int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - src
    - n
    - dst
    - dlen
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 385
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 385
    functionName: mjson_base64_dec
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: mjson_base64_dec(const char *src, int n, char *dst, int dlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mjson_find
      Src: /src/haproxy/src/mjson.c:391,1
    - Dst: mjson_base64_dec
      Src: /src/haproxy/src/mjson.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - s
    - len
    - path
    - to
    - n
    argTypes:
    - char*
    - int
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: mjson_get_base64
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - mjson_find
    - mjson_base64_dec
    linkageType: ''
    returnType: int
    signature: "mjson_get_base64(const char *s, int len, const char *path, char *to,\n
      \                    int n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 70
    argCount: 5
    argNames:
    - tok
    - s
    - 'off'
    - len
    - ud
    argTypes:
    - int
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 459
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 459
    functionName: next_cb
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: next_cb(int tok, const char *s, int off, int len, void *ud)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mjson
      Src: /src/haproxy/src/mjson.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - s
    - n
    - 'off'
    - koff
    - klen
    - voff
    - vlen
    - vtype
    argTypes:
    - char*
    - int
    - int
    - int*
    - int*
    - int*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: mjson_next
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - mjson
    linkageType: ''
    returnType: int
    signature: "mjson_next(const char *s, int n, int off, int *koff, int *klen, int
      *voff,\n               int *vlen, int *vtype)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ptr
    - len
    - fndata
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 478
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 478
    functionName: mjson_print_fixed_buf
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: mjson_print_fixed_buf(const char *ptr, int len, void *fndata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/haproxy/src/mjson.c:489,1
    - Dst: memcpy
      Src: /src/haproxy/src/mjson.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ptr
    - len
    - fndata
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 497
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 497
    functionName: mjson_print_dynamic_buf
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - realloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: mjson_print_dynamic_buf(const char *ptr, int len, void *fndata)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - len
    - userdata
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 503
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 503
    functionName: mjson_print_null
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: mjson_print_null(const char *ptr, int len, void *userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fn
    - fnd
    - buf
    - len
    argTypes:
    - mjson_print_fn_t
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: mjson_print_buf
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: int
    signature: mjson_print_buf(mjson_print_fn_t fn, void *fnd, const char *buf, int
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - fn
    - fnd
    - val
    - is_signed
    argTypes:
    - mjson_print_fn_t
    - void*
    - long
    - int
    constantsTouched: []
    func_position:
      end: 524
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 524
    functionName: mjson_print_long
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: int
    signature: mjson_print_long(mjson_print_fn_t fn, void *fnd, long val, int is_signed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mjson_print_long
      Src: /src/haproxy/src/mjson.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fn
    - fnd
    - v
    - s
    argTypes:
    - mjson_print_fn_t
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: mjson_print_int
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - mjson_print_long
    linkageType: ''
    returnType: int
    signature: mjson_print_int(mjson_print_fn_t fn, void *fnd, int v, int s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - e
    - sign
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 540
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 540
    functionName: addexp
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: addexp(char *buf, int e, int sign)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:546,1
    - Dst: isinf
      Src: /src/haproxy/src/mjson.c:547,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:547,1
    - Dst: isnan
      Src: /src/haproxy/src/mjson.c:548,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:548,1
    - Dst: mjson_print_dbl
      Src: /src/haproxy/src/mjson.c:566,1
    - Dst: addexp
      Src: /src/haproxy/src/mjson.c:568,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:569,1
    - Dst: mjson_print_dbl
      Src: /src/haproxy/src/mjson.c:572,1
    - Dst: addexp
      Src: /src/haproxy/src/mjson.c:574,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:575,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:597,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 56
    argCount: 4
    argNames:
    - fn
    - fnd
    - d
    - width
    argTypes:
    - mjson_print_fn_t
    - void*
    - double
    - int
    constantsTouched: []
    func_position:
      end: 598
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 598
    functionName: mjson_print_dbl
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 1
    functionsReached:
    - isinf
    - addexp
    - mjson_print_dbl
    - isnan
    - fn
    linkageType: ''
    returnType: int
    signature: mjson_print_dbl(mjson_print_fn_t fn, void *fnd, double d, int width)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:605,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:606,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:608,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - fn
    - fnd
    - s
    - len
    argTypes:
    - mjson_print_fn_t
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 612
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 612
    functionName: mjson_print_str
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: int
    signature: mjson_print_str(mjson_print_fn_t fn, void *fnd, const char *s, int
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:625,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - fn
    - fnd
    - s
    - n
    argTypes:
    - mjson_print_fn_t
    - void*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 628
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 628
    functionName: mjson_print_b64
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: int
    signature: "mjson_print_b64(mjson_print_fn_t fn, void *fnd, const unsigned char
      *s,\n                    int n)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/haproxy/src/mjson.c:635,1
    - Dst: mjson_print_str
      Src: /src/haproxy/src/mjson.c:646,1
    - Dst: strlen
      Src: /src/haproxy/src/mjson.c:647,1
    - Dst: strncmp
      Src: /src/haproxy/src/mjson.c:648,1
    - Dst: mjson_print_str
      Src: /src/haproxy/src/mjson.c:651,1
    - Dst: mjson_print_long
      Src: /src/haproxy/src/mjson.c:657,1
    - Dst: mjson_print_int
      Src: /src/haproxy/src/mjson.c:661,1
    - Dst: mjson_print_buf
      Src: /src/haproxy/src/mjson.c:665,1
    - Dst: strlen
      Src: /src/haproxy/src/mjson.c:665,1
    - Dst: mjson_print_buf
      Src: /src/haproxy/src/mjson.c:668,1
    - Dst: strlen
      Src: /src/haproxy/src/mjson.c:668,1
    - Dst: strncmp
      Src: /src/haproxy/src/mjson.c:669,1
    - Dst: mjson_print_buf
      Src: /src/haproxy/src/mjson.c:672,1
    - Dst: mjson_print_dbl
      Src: /src/haproxy/src/mjson.c:675,1
    - Dst: va_arg
      Src: /src/haproxy/src/mjson.c:675,1
    - Dst: strncmp
      Src: /src/haproxy/src/mjson.c:676,1
    - Dst: mjson_print_dbl
      Src: /src/haproxy/src/mjson.c:678,1
    - Dst: va_arg
      Src: /src/haproxy/src/mjson.c:678,1
    - Dst: mjson_print_b64
      Src: /src/haproxy/src/mjson.c:684,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:690,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:692,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:693,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:695,1
    - Dst: va_arg
      Src: /src/haproxy/src/mjson.c:697,1
    - Dst: vfn
      Src: /src/haproxy/src/mjson.c:698,1
    - Dst: mjson_print_buf
      Src: /src/haproxy/src/mjson.c:702,1
    - Dst: va_end
      Src: /src/haproxy/src/mjson.c:705,1
    - Dst: va_end
      Src: /src/haproxy/src/mjson.c:706,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 4
    argNames:
    - fn
    - fnd
    - fmt
    - xap
    argTypes:
    - mjson_print_fn_t
    - void*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 708
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 708
    functionName: mjson_vprintf
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_copy
    - strncmp
    - va_arg
    - strlen
    - mjson_print_b64
    - vfn
    - mjson_print_long
    - mjson_print_dbl
    - mjson_print_str
    - fn
    - mjson_print_buf
    - mjson_print_int
    linkageType: ''
    returnType: int
    signature: "mjson_vprintf(mjson_print_fn_t fn, void *fnd, const char *fmt,\n                  va_list
      xap)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/mjson.c:713,1
    - Dst: mjson_vprintf
      Src: /src/haproxy/src/mjson.c:714,1
    - Dst: va_end
      Src: /src/haproxy/src/mjson.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fn
    - fnd
    - fmt
    argTypes:
    - mjson_print_fn_t
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 717
      start: 710
    functionDepth: 3
    functionLinenumber: 710
    functionLinenumberEnd: 717
    functionName: mjson_printf
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - va_end
    - mjson_vprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: mjson_printf(mjson_print_fn_t fn, void *fnd, const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 722
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 722
    functionName: is_digit
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: is_digit(int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_digit
      Src: /src/haproxy/src/mjson.c:737,1
    - Dst: is_digit
      Src: /src/haproxy/src/mjson.c:739,1
    - Dst: is_digit
      Src: /src/haproxy/src/mjson.c:756,1
    - Dst: is_digit
      Src: /src/haproxy/src/mjson.c:757,1
    - Dst: is_digit
      Src: /src/haproxy/src/mjson.c:774,1
    - Dst: is_digit
      Src: /src/haproxy/src/mjson.c:791,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 74
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 799
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 799
    functionName: mystrtod
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 3
    functionsReached:
    - is_digit
    linkageType: ''
    returnType: double
    signature: mystrtod(const char *str, char **end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:806,1
    - Dst: mjson_next
      Src: /src/haproxy/src/mjson.c:807,1
    - Dst: memcpy
      Src: /src/haproxy/src/mjson.c:810,1
    - Dst: memcpy
      Src: /src/haproxy/src/mjson.c:811,1
    - Dst: mjson_find
      Src: /src/haproxy/src/mjson.c:813,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:818,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:819,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:820,1
    - Dst: mjson_merge
      Src: /src/haproxy/src/mjson.c:822,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:825,1
    - Dst: mjson_next
      Src: /src/haproxy/src/mjson.c:831,1
    - Dst: memcpy
      Src: /src/haproxy/src/mjson.c:835,1
    - Dst: memcpy
      Src: /src/haproxy/src/mjson.c:836,1
    - Dst: mjson_find
      Src: /src/haproxy/src/mjson.c:838,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:839,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:840,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:841,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:842,1
    - Dst: fn
      Src: /src/haproxy/src/mjson.c:845,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 6
    argNames:
    - s
    - n
    - s2
    - n2
    - fn
    - userdata
    argTypes:
    - char*
    - int
    - char*
    - int
    - mjson_print_fn_t
    - void*
    constantsTouched: []
    func_position:
      end: 847
      start: 802
    functionDepth: 3
    functionLinenumber: 802
    functionLinenumberEnd: 847
    functionName: mjson_merge
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 1
    functionsReached:
    - mjson_merge
    - mjson_find
    - mjson_next
    - fn
    - memcpy
    linkageType: ''
    returnType: int
    signature: "mjson_merge(const char *s, int n, const char *s2, int n2,\n                mjson_print_fn_t
      fn, void *userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:868,1
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:874,1
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:876,1
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:878,1
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:881,1
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:883,1
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:885,1
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:889,1
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:890,1
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:894,1
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:896,1
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:898,1
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:902,1
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:904,1
    - Dst: struct prettydata*::fn
      Src: /src/haproxy/src/mjson.c:906,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 5
    argNames:
    - ev
    - s
    - 'off'
    - len
    - ud
    argTypes:
    - int
    - char*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 911
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 911
    functionName: pretty_cb
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - struct prettydata*::fn
    linkageType: ''
    returnType: int
    signature: pretty_cb(int ev, const char *s, int off, int len, void *ud)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/mjson.c:915,1
    - Dst: mjson
      Src: /src/haproxy/src/mjson.c:916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - s
    - n
    - pad
    - fn
    - userdata
    argTypes:
    - char*
    - int
    - char*
    - mjson_print_fn_t
    - void*
    constantsTouched: []
    func_position:
      end: 918
      start: 913
    functionDepth: 2
    functionLinenumber: 913
    functionLinenumberEnd: 918
    functionName: mjson_pretty
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - strlen
    - mjson
    linkageType: ''
    returnType: int
    signature: "mjson_pretty(const char *s, int n, const char *pad, mjson_print_fn_t
      fn,\n                 void *userdata)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 4
    argNames:
    - s1
    - n1
    - s2
    - n2
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 938
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 938
    functionName: mjson_globmatch
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: mjson_globmatch(const char *s1, int n1, const char *s2, int n2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mjson_printf
      Src: /src/haproxy/src/mjson.c:944,1
    - Dst: mjson_printf
      Src: /src/haproxy/src/mjson.c:948,1
    - Dst: mjson_vprintf
      Src: /src/haproxy/src/mjson.c:949,1
    - Dst: mjson_printf
      Src: /src/haproxy/src/mjson.c:951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - r
    - code
    - message
    - data_fmt
    - ap
    argTypes:
    - struct jsonrpc_request*
    - int
    - char*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 952
      start: 940
    functionDepth: 4
    functionLinenumber: 940
    functionLinenumberEnd: 952
    functionName: jsonrpc_return_errorv
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - mjson_vprintf
    - mjson_printf
    linkageType: ''
    returnType: void
    signature: "jsonrpc_return_errorv(struct jsonrpc_request *r, int code,\n                           const
      char *message, const char *data_fmt,\n                           va_list ap)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/mjson.c:957,1
    - Dst: jsonrpc_return_errorv
      Src: /src/haproxy/src/mjson.c:958,1
    - Dst: va_end
      Src: /src/haproxy/src/mjson.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - r
    - code
    - message
    - data_fmt
    argTypes:
    - struct jsonrpc_request*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 960
      start: 954
    functionDepth: 5
    functionLinenumber: 954
    functionLinenumberEnd: 960
    functionName: jsonrpc_return_error
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - va_end
    - jsonrpc_return_errorv
    - va_start
    linkageType: ''
    returnType: void
    signature: "jsonrpc_return_error(struct jsonrpc_request *r, int code,\n                          const
      char *message, const char *data_fmt, ...)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mjson_printf
      Src: /src/haproxy/src/mjson.c:965,1
    - Dst: mjson_vprintf
      Src: /src/haproxy/src/mjson.c:967,1
    - Dst: mjson_printf
      Src: /src/haproxy/src/mjson.c:969,1
    - Dst: mjson_printf
      Src: /src/haproxy/src/mjson.c:971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - r
    - result_fmt
    - ap
    argTypes:
    - struct jsonrpc_request*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 972
      start: 962
    functionDepth: 4
    functionLinenumber: 962
    functionLinenumberEnd: 972
    functionName: jsonrpc_return_successv
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - mjson_vprintf
    - mjson_printf
    linkageType: ''
    returnType: void
    signature: "jsonrpc_return_successv(struct jsonrpc_request *r, const char *result_fmt,\n
      \                            va_list ap)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/mjson.c:977,1
    - Dst: jsonrpc_return_successv
      Src: /src/haproxy/src/mjson.c:978,1
    - Dst: va_end
      Src: /src/haproxy/src/mjson.c:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - r
    - result_fmt
    argTypes:
    - struct jsonrpc_request*
    - char*
    constantsTouched: []
    func_position:
      end: 980
      start: 974
    functionDepth: 5
    functionLinenumber: 974
    functionLinenumberEnd: 980
    functionName: jsonrpc_return_success
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - va_end
    - jsonrpc_return_successv
    - va_start
    linkageType: ''
    returnType: void
    signature: "jsonrpc_return_success(struct jsonrpc_request *r, const char *result_fmt,\n
      \                           ...)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mjson_find
      Src: /src/haproxy/src/mjson.c:990,1
    - Dst: mjson_find
      Src: /src/haproxy/src/mjson.c:991,1
    - Dst: struct jsonrpc_ctx*::response_cb
      Src: /src/haproxy/src/mjson.c:993,1
    - Dst: mjson_find
      Src: /src/haproxy/src/mjson.c:998,1
    - Dst: mjson_printf
      Src: /src/haproxy/src/mjson.c:1000,1
    - Dst: mjson_find
      Src: /src/haproxy/src/mjson.c:1006,1
    - Dst: mjson_find
      Src: /src/haproxy/src/mjson.c:1007,1
    - Dst: mjson_globmatch
      Src: /src/haproxy/src/mjson.c:1010,1
    - Dst: struct jsonrpc_method*::cb
      Src: /src/haproxy/src/mjson.c:1013,1
    - Dst: jsonrpc_return_error
      Src: /src/haproxy/src/mjson.c:1018,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 6
    argNames:
    - ctx
    - buf
    - len
    - fn
    - fndata
    - ud
    argTypes:
    - struct jsonrpc_ctx*
    - char*
    - int
    - mjson_print_fn_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1020
      start: 982
    functionDepth: 6
    functionLinenumber: 982
    functionLinenumberEnd: 1020
    functionName: jsonrpc_ctx_process
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - struct jsonrpc_ctx*::response_cb
    - mjson_find
    - mjson_globmatch
    - mjson_printf
    - jsonrpc_return_error
    - struct jsonrpc_method*::cb
    linkageType: ''
    returnType: void
    signature: "jsonrpc_ctx_process(struct jsonrpc_ctx *ctx, const char *buf, int
      len,\n                         mjson_print_fn_t fn, void *fndata, void *ud)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/haproxy/src/mjson.c:1024,1
    - Dst: mjson_print_buf
      Src: /src/haproxy/src/mjson.c:1028,1
    - Dst: mjson_print_str
      Src: /src/haproxy/src/mjson.c:1029,1
    - Dst: strlen
      Src: /src/haproxy/src/mjson.c:1029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - fn
    - fndata
    - ap
    argTypes:
    - mjson_print_fn_t
    - void*
    - va_list*
    constantsTouched: []
    func_position:
      end: 1032
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1032
    functionName: jsonrpc_print_methods
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - strlen
    - mjson_print_str
    - mjson_print_buf
    - va_arg
    linkageType: ''
    returnType: int
    signature: "jsonrpc_print_methods(mjson_print_fn_t fn, void *fndata,\n                                 va_list
      *ap)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jsonrpc_return_success
      Src: /src/haproxy/src/mjson.c:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct jsonrpc_request*
    constantsTouched: []
    func_position:
      end: 1036
      start: 1034
    functionDepth: 6
    functionLinenumber: 1034
    functionLinenumberEnd: 1036
    functionName: rpclist
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - jsonrpc_return_success
    linkageType: ''
    returnType: void
    signature: rpclist(struct jsonrpc_request *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jsonrpc_ctx_export
      Src: /src/haproxy/src/mjson.c:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - response_cb
    - response_cb_data
    argTypes:
    - struct jsonrpc_ctx*
    - mjson_print_fn_t
    - void*
    constantsTouched: []
    func_position:
      end: 1043
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1043
    functionName: jsonrpc_ctx_init
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - jsonrpc_ctx_export
    linkageType: ''
    returnType: void
    signature: "jsonrpc_ctx_init(struct jsonrpc_ctx *ctx, mjson_print_fn_t response_cb,\n
      \                     void *response_cb_data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jsonrpc_ctx_init
      Src: /src/haproxy/src/mjson.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - response_cb
    - userdata
    argTypes:
    - mjson_print_fn_t
    - void*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1047
    functionName: jsonrpc_init
    functionSourceFile: /src/haproxy/src/mjson.c
    functionUses: 0
    functionsReached:
    - jsonrpc_ctx_init
    linkageType: ''
    returnType: void
    signature: jsonrpc_init(mjson_print_fn_t response_cb, void *userdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: bind_parse_v4v6
    functionSourceFile: /src/haproxy/src/cfgparse-tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bind_parse_v4v6(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: bind_parse_v6only
    functionSourceFile: /src/haproxy/src/cfgparse-tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bind_parse_v6only(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: bind_parse_transparent
    functionSourceFile: /src/haproxy/src/cfgparse-tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bind_parse_transparent(char **args, int cur_arg, struct proxy *px,
      struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: bind_parse_defer_accept
    functionSourceFile: /src/haproxy/src/cfgparse-tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bind_parse_defer_accept(char **args, int cur_arg, struct proxy *px,
      struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: bind_parse_tfo
    functionSourceFile: /src/haproxy/src/cfgparse-tcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bind_parse_tfo(char **args, int cur_arg, struct proxy *px, struct bind_conf
      *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-tcp.c:88,1
    - Dst: atoi
      Src: /src/haproxy/src/cfgparse-tcp.c:92,1
    - Dst: abs
      Src: /src/haproxy/src/cfgparse-tcp.c:93,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-tcp.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 100
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 100
    functionName: bind_parse_mss
    functionSourceFile: /src/haproxy/src/cfgparse-tcp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - abs
    - atoi
    linkageType: ''
    returnType: int
    signature: bind_parse_mss(char **args, int cur_arg, struct proxy *px, struct bind_conf
      *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-tcp.c:111,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/cfgparse-tcp.c:115,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-tcp.c:117,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-tcp.c:122,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-tcp.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 133
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 133
    functionName: bind_parse_tcp_ut
    functionSourceFile: /src/haproxy/src/cfgparse-tcp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_time_err
    linkageType: ''
    returnType: int
    signature: bind_parse_tcp_ut(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-tcp.c:141,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-tcp.c:145,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-tcp.c:146,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-tcp.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: bind_parse_interface
    functionSourceFile: /src/haproxy/src/cfgparse-tcp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_free
    - strdup
    linkageType: ''
    returnType: int
    signature: bind_parse_interface(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-tcp.c:162,1
    - Dst: netns_store_insert
      Src: /src/haproxy/src/cfgparse-tcp.c:170,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-tcp.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: bind_parse_namespace
    functionSourceFile: /src/haproxy/src/cfgparse-tcp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - netns_store_insert
    - ha_alert
    linkageType: ''
    returnType: int
    signature: bind_parse_namespace(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-tcp.c:189,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/cfgparse-tcp.c:193,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-tcp.c:195,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-tcp.c:200,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-tcp.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 213
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 213
    functionName: srv_parse_tcp_ut
    functionSourceFile: /src/haproxy/src/cfgparse-tcp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_time_err
    linkageType: ''
    returnType: int
    signature: srv_parse_tcp_ut(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/uri_auth.c:36,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/uri_auth.c:39,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/uri_auth.c:40,1
    - Dst: stats_uri_auth_take
      Src: /src/haproxy/src/uri_auth.c:41,1
    - Dst: strlen
      Src: /src/haproxy/src/uri_auth.c:46,1
    - Dst: strdup
      Src: /src/haproxy/src/uri_auth.c:47,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:58,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct uri_auth**
    constantsTouched: []
    func_position:
      end: 61
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 61
    functionName: stats_check_init_uri_auth
    functionSourceFile: /src/haproxy/src/uri_auth.c
    functionUses: 0
    functionsReached:
    - strlen
    - calloc
    - stats_uri_auth_take
    - strdup
    - free
    - LIST_INIT
    linkageType: ''
    returnType: struct uri_auth
    signature: '*stats_check_init_uri_auth(struct uri_auth **root)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/uri_auth.c:73,1
    - Dst: strdup
      Src: /src/haproxy/src/uri_auth.c:74,1
    - Dst: stats_check_init_uri_auth
      Src: /src/haproxy/src/uri_auth.c:77,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:80,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - root
    - uri
    argTypes:
    - struct uri_auth**
    - char*
    constantsTouched: []
    func_position:
      end: 89
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 89
    functionName: stats_set_uri
    functionSourceFile: /src/haproxy/src/uri_auth.c
    functionUses: 0
    functionsReached:
    - free
    - strlen
    - stats_check_init_uri_auth
    - strdup
    linkageType: ''
    returnType: struct uri_auth
    signature: '*stats_set_uri(struct uri_auth **root, char *uri)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/haproxy/src/uri_auth.c:100,1
    - Dst: stats_check_init_uri_auth
      Src: /src/haproxy/src/uri_auth.c:103,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:106,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - root
    - realm
    argTypes:
    - struct uri_auth**
    - char*
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: stats_set_realm
    functionSourceFile: /src/haproxy/src/uri_auth.c
    functionUses: 0
    functionsReached:
    - free
    - stats_check_init_uri_auth
    - strdup
    linkageType: ''
    returnType: struct uri_auth
    signature: '*stats_set_realm(struct uri_auth **root, char *realm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/haproxy/src/uri_auth.c:127,1
    - Dst: stats_check_init_uri_auth
      Src: /src/haproxy/src/uri_auth.c:132,1
    - Dst: stats_set_flag
      Src: /src/haproxy/src/uri_auth.c:135,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:139,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - root
    - name
    argTypes:
    - struct uri_auth**
    - char*
    constantsTouched: []
    func_position:
      end: 149
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 149
    functionName: stats_set_node
    functionSourceFile: /src/haproxy/src/uri_auth.c
    functionUses: 0
    functionsReached:
    - free
    - stats_check_init_uri_auth
    - stats_set_flag
    - strdup
    linkageType: ''
    returnType: struct uri_auth
    signature: '*stats_set_node(struct uri_auth **root, char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/haproxy/src/uri_auth.c:162,1
    - Dst: stats_check_init_uri_auth
      Src: /src/haproxy/src/uri_auth.c:167,1
    - Dst: stats_set_flag
      Src: /src/haproxy/src/uri_auth.c:170,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:174,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - root
    - desc
    argTypes:
    - struct uri_auth**
    - char*
    constantsTouched: []
    func_position:
      end: 184
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 184
    functionName: stats_set_desc
    functionSourceFile: /src/haproxy/src/uri_auth.c
    functionUses: 0
    functionsReached:
    - free
    - stats_check_init_uri_auth
    - stats_set_flag
    - strdup
    linkageType: ''
    returnType: struct uri_auth
    signature: '*stats_set_desc(struct uri_auth **root, char *desc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stats_check_init_uri_auth
      Src: /src/haproxy/src/uri_auth.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - root
    - interval
    argTypes:
    - struct uri_auth**
    - int
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: stats_set_refresh
    functionSourceFile: /src/haproxy/src/uri_auth.c
    functionUses: 0
    functionsReached:
    - stats_check_init_uri_auth
    linkageType: ''
    returnType: struct uri_auth
    signature: '*stats_set_refresh(struct uri_auth **root, int interval)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stats_check_init_uri_auth
      Src: /src/haproxy/src/uri_auth.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - root
    - flag
    argTypes:
    - struct uri_auth**
    - int
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: stats_set_flag
    functionSourceFile: /src/haproxy/src/uri_auth.c
    functionUses: 2
    functionsReached:
    - stats_check_init_uri_auth
    linkageType: ''
    returnType: struct uri_auth
    signature: '*stats_set_flag(struct uri_auth **root, int flag)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/uri_auth.c:223,1
    - Dst: stats_check_init_uri_auth
      Src: /src/haproxy/src/uri_auth.c:229,1
    - Dst: calloc
      Src: /src/haproxy/src/uri_auth.c:233,1
    - Dst: strdup
      Src: /src/haproxy/src/uri_auth.c:239,1
    - Dst: strcmp
      Src: /src/haproxy/src/uri_auth.c:245,1
    - Dst: ha_warning
      Src: /src/haproxy/src/uri_auth.c:246,1
    - Dst: calloc
      Src: /src/haproxy/src/uri_auth.c:251,1
    - Dst: strdup
      Src: /src/haproxy/src/uri_auth.c:255,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:257,1
    - Dst: strdup
      Src: /src/haproxy/src/uri_auth.c:261,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:263,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:264,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - root
    - user
    argTypes:
    - struct uri_auth**
    - char*
    constantsTouched: []
    func_position:
      end: 273
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 273
    functionName: stats_add_auth
    functionSourceFile: /src/haproxy/src/uri_auth.c
    functionUses: 0
    functionsReached:
    - stats_check_init_uri_auth
    - ha_warning
    - calloc
    - strcmp
    - strdup
    - free
    - strchr
    linkageType: ''
    returnType: struct uri_auth
    signature: '*stats_add_auth(struct uri_auth **root, char *user)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stats_check_init_uri_auth
      Src: /src/haproxy/src/uri_auth.c:286,1
    - Dst: strcmp
      Src: /src/haproxy/src/uri_auth.c:291,1
    - Dst: strdup
      Src: /src/haproxy/src/uri_auth.c:297,1
    - Dst: calloc
      Src: /src/haproxy/src/uri_auth.c:300,1
    - Dst: strlen
      Src: /src/haproxy/src/uri_auth.c:304,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:310,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:312,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - root
    - scope
    argTypes:
    - struct uri_auth**
    - char*
    constantsTouched: []
    func_position:
      end: 315
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 315
    functionName: stats_add_scope
    functionSourceFile: /src/haproxy/src/uri_auth.c
    functionUses: 0
    functionsReached:
    - stats_check_init_uri_auth
    - strlen
    - strcmp
    - calloc
    - strdup
    - free
    linkageType: ''
    returnType: struct uri_auth
    signature: '*stats_add_scope(struct uri_auth **root, char *scope)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:322,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:323,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:324,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:325,1
    - Dst: userlist_free
      Src: /src/haproxy/src/uri_auth.c:327,1
    - Dst: free_act_rules
      Src: /src/haproxy/src/uri_auth.c:328,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/uri_auth.c:329,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/uri_auth.c:330,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/uri_auth.c:331,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:332,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:339,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:340,1
    - Dst: free
      Src: /src/haproxy/src/uri_auth.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - uri_auth
    argTypes:
    - struct uri_auth*
    constantsTouched: []
    func_position:
      end: 344
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 344
    functionName: stats_uri_auth_free
    functionSourceFile: /src/haproxy/src/uri_auth.c
    functionUses: 0
    functionsReached:
    - userlist_free
    - list_for_each_entry_safe
    - LIST_DELETE
    - free_acl_cond
    - free
    - free_act_rules
    linkageType: ''
    returnType: void
    signature: stats_uri_auth_free(struct uri_auth *uri_auth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_SUB_FETCH
      Src: /src/haproxy/src/uri_auth.c:350,1
    - Dst: stats_uri_auth_free
      Src: /src/haproxy/src/uri_auth.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - uri_auth
    argTypes:
    - struct uri_auth*
    constantsTouched: []
    func_position:
      end: 352
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 352
    functionName: stats_uri_auth_drop
    functionSourceFile: /src/haproxy/src/uri_auth.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_SUB_FETCH
    - stats_uri_auth_free
    linkageType: ''
    returnType: void
    signature: stats_uri_auth_drop(struct uri_auth *uri_auth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/uri_auth.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - uri_auth
    argTypes:
    - struct uri_auth*
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: stats_uri_auth_take
    functionSourceFile: /src/haproxy/src/uri_auth.c
    functionUses: 1
    functionsReached:
    - HA_ATOMIC_INC
    linkageType: ''
    returnType: void
    signature: stats_uri_auth_take(struct uri_auth *uri_auth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct act_rule*::check_ptr
      Src: /src/haproxy/src/action.c:37,1
    - Dst: ha_alert
      Src: /src/haproxy/src/action.c:38,1
    - Dst: warnif_tcp_http_cond
      Src: /src/haproxy/src/action.c:41,1
    - Dst: ha_free
      Src: /src/haproxy/src/action.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - rules
    - px
    - err_code
    argTypes:
    - struct list*
    - struct proxy*
    - int*
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: check_action_rules
    functionSourceFile: /src/haproxy/src/action.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - warnif_tcp_http_cond
    - struct act_rule*::check_ptr
    - ha_free
    linkageType: ''
    returnType: int
    signature: check_action_rules(struct list *rules, struct proxy *px, int *err_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stktable_find_by_name
      Src: /src/haproxy/src/action.c:59,1
    - Dst: memprintf
      Src: /src/haproxy/src/action.c:64,1
    - Dst: stktable_compatible_sample
      Src: /src/haproxy/src/action.c:70,1
    - Dst: memprintf
      Src: /src/haproxy/src/action.c:71,1
    - Dst: in_proxies_list
      Src: /src/haproxy/src/action.c:77,1
    - Dst: free
      Src: /src/haproxy/src/action.c:81,1
    - Dst: ha_warning
      Src: /src/haproxy/src/action.c:91,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/action.c:95,1
    - Dst: ha_warning
      Src: /src/haproxy/src/action.c:108,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/action.c:111,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - rule
    - px
    - err
    argTypes:
    - struct act_rule*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 116
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 116
    functionName: check_trk_action
    functionSourceFile: /src/haproxy/src/action.c
    functionUses: 0
    functionsReached:
    - memprintf
    - in_proxies_list
    - stktable_compatible_sample
    - ha_warning
    - stktable_find_by_name
    - free
    - proxy_type_str
    linkageType: ''
    returnType: int
    signature: check_trk_action(struct act_rule *rule, struct proxy *px, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/action.c:128,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/action.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - rule
    - px
    - err
    argTypes:
    - struct act_rule*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: check_capture
    functionSourceFile: /src/haproxy/src/action.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - proxy_type_str
    linkageType: ''
    returnType: int
    signature: check_capture(struct act_rule *rule, struct proxy *px, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_stream
      Src: /src/haproxy/src/action.c:145,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/action.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - requester
    - counters
    argTypes:
    - struct resolv_requester*
    - struct dns_counters*
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: act_resolution_cb
    functionSourceFile: /src/haproxy/src/action.c
    functionUses: 0
    functionsReached:
    - task_wakeup
    - objt_stream
    linkageType: ''
    returnType: int
    signature: act_resolution_cb(struct resolv_requester *requester, struct dns_counters
      *counters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_stream
      Src: /src/haproxy/src/action.c:167,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/action.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - requester
    - error_code
    argTypes:
    - struct resolv_requester*
    - int
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: act_resolution_error_cb
    functionSourceFile: /src/haproxy/src/action.c
    functionUses: 0
    functionsReached:
    - task_wakeup
    - objt_stream
    linkageType: ''
    returnType: int
    signature: act_resolution_error_cb(struct resolv_requester *requester, int error_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/action.c:191,1
    - Dst: memprintf
      Src: /src/haproxy/src/action.c:193,1
    - Dst: strcmp
      Src: /src/haproxy/src/action.c:198,1
    - Dst: memprintf
      Src: /src/haproxy/src/action.c:200,1
    - Dst: strcmp
      Src: /src/haproxy/src/action.c:205,1
    - Dst: memprintf
      Src: /src/haproxy/src/action.c:207,1
    - Dst: memprintf
      Src: /src/haproxy/src/action.c:213,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/action.c:219,1
    - Dst: memprintf
      Src: /src/haproxy/src/action.c:221,1
    - Dst: memprintf
      Src: /src/haproxy/src/action.c:226,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/action.c:232,1
    - Dst: memprintf
      Src: /src/haproxy/src/action.c:235,1
    - Dst: memprintf
      Src: /src/haproxy/src/action.c:241,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 5
    argNames:
    - args
    - idx
    - rule
    - px
    - err
    argTypes:
    - char**
    - int
    - struct act_rule*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 247
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 247
    functionName: cfg_parse_rule_set_timeout
    functionSourceFile: /src/haproxy/src/action.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - parse_time_err
    - sample_parse_expr
    linkageType: ''
    returnType: int
    signature: "cfg_parse_rule_set_timeout(const char **args, int idx, struct act_rule
      *rule,\n\t\t\t       struct proxy *px, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/action.c:267,1
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/action.c:270,1
    - Dst: word_fingerprint_distance
      Src: /src/haproxy/src/action.c:271,1
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/action.c:281,1
    - Dst: word_fingerprint_distance
      Src: /src/haproxy/src/action.c:282,1
    - Dst: strlen
      Src: /src/haproxy/src/action.c:295,1
    - Dst: strlen
      Src: /src/haproxy/src/action.c:296,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - word
    - keywords
    - extra
    argTypes:
    - char*
    - struct list*
    - char**
    constantsTouched: []
    func_position:
      end: 300
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 300
    functionName: action_suggest
    functionSourceFile: /src/haproxy/src/action.c
    functionUses: 0
    functionsReached:
    - make_word_fingerprint
    - strlen
    - word_fingerprint_distance
    linkageType: ''
    returnType: char
    signature: '*action_suggest(const char *word, const struct list *keywords, const
      char **extra)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/action.c:310,1
    - Dst: strdup
      Src: /src/haproxy/src/action.c:314,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/action.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - from
    - file
    - linenum
    argTypes:
    - enum act_from
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 318
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 318
    functionName: new_act_rule
    functionSourceFile: /src/haproxy/src/action.c
    functionUses: 0
    functionsReached:
    - calloc
    - LIST_INIT
    - strdup
    linkageType: ''
    returnType: struct act_rule
    signature: '*new_act_rule(enum act_from from, const char *file, int linenum)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/action.c:323,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/action.c:324,1
    - Dst: struct act_rule*::release_ptr
      Src: /src/haproxy/src/action.c:326,1
    - Dst: free
      Src: /src/haproxy/src/action.c:327,1
    - Dst: free
      Src: /src/haproxy/src/action.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: free_act_rule
    functionSourceFile: /src/haproxy/src/action.c
    functionUses: 0
    functionsReached:
    - struct act_rule*::release_ptr
    - free
    - LIST_DELETE
    - free_acl_cond
    linkageType: ''
    returnType: void
    signature: free_act_rule(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_act_rule
      Src: /src/haproxy/src/action.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rules
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: free_act_rules
    functionSourceFile: /src/haproxy/src/action.c
    functionUses: 1
    functionsReached:
    - free_act_rule
    linkageType: ''
    returnType: void
    signature: free_act_rules(struct list *rules)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strordered
      Src: /src/haproxy/src/action.c:353,1
    - Dst: printf
      Src: /src/haproxy/src/action.c:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - rules
    - pfx
    argTypes:
    - struct list*
    - char*
    constantsTouched: []
    func_position:
      end: 363
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 363
    functionName: dump_act_rules
    functionSourceFile: /src/haproxy/src/action.c
    functionUses: 0
    functionsReached:
    - printf
    - strordered
    linkageType: ''
    returnType: void
    signature: dump_act_rules(const struct list *rules, const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/http.c:380,1
    - Dst: isteq
      Src: /src/haproxy/src/http.c:382,1
    - Dst: isteq
      Src: /src/haproxy/src/http.c:383,1
    - Dst: isteq
      Src: /src/haproxy/src/http.c:384,1
    - Dst: isteq
      Src: /src/haproxy/src/http.c:385,1
    - Dst: isteq
      Src: /src/haproxy/src/http.c:386,1
    - Dst: isteq
      Src: /src/haproxy/src/http.c:387,1
    - Dst: isteq
      Src: /src/haproxy/src/http.c:388,1
    - Dst: isteq
      Src: /src/haproxy/src/http.c:389,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 391
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 391
    functionName: find_http_meth
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 1
    functionsReached:
    - ist2
    - isteq
    linkageType: ''
    returnType: enum http_meth_t
    signature: find_http_meth(const char *str, const int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - status
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 419
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 419
    functionName: http_get_status_idx
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: http_get_status_idx(unsigned int status)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 154
    argCount: 1
    argNames:
    - status
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 505
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 505
    functionName: http_get_reason
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*http_get_reason(unsigned int status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/http.c:517,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/http.c:518,1
    - Dst: ha_bit_set
      Src: /src/haproxy/src/http.c:521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - array
    - low
    - high
    argTypes:
    - long*
    - uint
    - uint
    constantsTouched: []
    func_position:
      end: 522
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 522
    functionName: http_status_add_range
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - ha_bit_set
    linkageType: ''
    returnType: void
    signature: http_status_add_range(long *array, uint low, uint high)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/http.c:534,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/http.c:535,1
    - Dst: ha_bit_clr
      Src: /src/haproxy/src/http.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - array
    - low
    - high
    argTypes:
    - long*
    - uint
    - uint
    constantsTouched: []
    func_position:
      end: 539
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 539
    functionName: http_status_del_range
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - ha_bit_clr
    linkageType: ''
    returnType: void
    signature: http_status_del_range(long *array, uint low, uint high)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istptr
      Src: /src/haproxy/src/http.c:550,1
    - Dst: istend
      Src: /src/haproxy/src/http.c:551,1
    - Dst: isdigit
      Src: /src/haproxy/src/http.c:552,1
    - Dst: likely
      Src: /src/haproxy/src/http.c:555,1
    - Dst: isttrim
      Src: /src/haproxy/src/http.c:558,1
    - Dst: istnext
      Src: /src/haproxy/src/http.c:560,1
    - Dst: ist2
      Src: /src/haproxy/src/http.c:560,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - host
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 561
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 561
    functionName: http_get_host_port
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - istend
    - ist2
    - isttrim
    - istptr
    - istnext
    - likely
    - isdigit
    linkageType: ''
    returnType: struct ist
    signature: http_get_host_port(const struct ist host)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/http.c:570,1
    - Dst: isttest
      Src: /src/haproxy/src/http.c:573,1
    - Dst: isteq
      Src: /src/haproxy/src/http.c:574,1
    - Dst: ist
      Src: /src/haproxy/src/http.c:574,1
    - Dst: isteq
      Src: /src/haproxy/src/http.c:574,1
    - Dst: ist
      Src: /src/haproxy/src/http.c:574,1
    - Dst: isteq
      Src: /src/haproxy/src/http.c:576,1
    - Dst: ist
      Src: /src/haproxy/src/http.c:576,1
    - Dst: isteqi
      Src: /src/haproxy/src/http.c:576,1
    - Dst: ist
      Src: /src/haproxy/src/http.c:576,1
    - Dst: isteq
      Src: /src/haproxy/src/http.c:577,1
    - Dst: ist
      Src: /src/haproxy/src/http.c:577,1
    - Dst: isteqi
      Src: /src/haproxy/src/http.c:577,1
    - Dst: ist
      Src: /src/haproxy/src/http.c:577,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - schm
    - port
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 578
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 578
    functionName: http_is_default_port
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - istlen
    - isttest
    - isteq
    - ist
    - isteqi
    linkageType: ''
    returnType: int
    signature: http_is_default_port(const struct ist schm, const struct ist port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/http.c:590,1
    - Dst: unlikely
      Src: /src/haproxy/src/http.c:593,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 1
    argNames:
    - schm
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 601
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 601
    functionName: http_validate_scheme
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - unlikely
    - likely
    linkageType: ''
    returnType: int
    signature: http_validate_scheme(const struct ist schm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istptr
      Src: /src/haproxy/src/http.c:619,1
    - Dst: istend
      Src: /src/haproxy/src/http.c:620,1
    - Dst: isalpha
      Src: /src/haproxy/src/http.c:622,1
    - Dst: isalnum
      Src: /src/haproxy/src/http.c:632,1
    - Dst: ist2
      Src: /src/haproxy/src/http.c:645,1
    - Dst: ist2
      Src: /src/haproxy/src/http.c:647,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct http_uri_parser*
    constantsTouched: []
    func_position:
      end: 652
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 652
    functionName: http_parse_scheme
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - istend
    - ist2
    - isalpha
    - istptr
    - isalnum
    linkageType: ''
    returnType: struct ist
    signature: http_parse_scheme(struct http_uri_parser *parser)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_parse_scheme
      Src: /src/haproxy/src/http.c:673,1
    - Dst: istptr
      Src: /src/haproxy/src/http.c:675,1
    - Dst: istend
      Src: /src/haproxy/src/http.c:676,1
    - Dst: ist2
      Src: /src/haproxy/src/http.c:686,1
    - Dst: ist2
      Src: /src/haproxy/src/http.c:688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - parser
    - no_userinfo
    argTypes:
    - struct http_uri_parser*
    - int
    constantsTouched: []
    func_position:
      end: 693
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 693
    functionName: http_parse_authority
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - istend
    - ist2
    - istptr
    - http_parse_scheme
    linkageType: ''
    returnType: struct ist
    signature: http_parse_authority(struct http_uri_parser *parser, int no_userinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istptr
      Src: /src/haproxy/src/http.c:714,1
    - Dst: istend
      Src: /src/haproxy/src/http.c:715,1
    - Dst: isttest
      Src: /src/haproxy/src/http.c:726,1
    - Dst: http_parse_scheme
      Src: /src/haproxy/src/http.c:726,1
    - Dst: http_parse_authority
      Src: /src/haproxy/src/http.c:731,1
    - Dst: istptr
      Src: /src/haproxy/src/http.c:733,1
    - Dst: ist2
      Src: /src/haproxy/src/http.c:740,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - parser
    argTypes:
    - struct http_uri_parser*
    constantsTouched: []
    func_position:
      end: 745
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 745
    functionName: http_parse_path
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 5
    functionsReached:
    - istend
    - isttest
    - ist2
    - istptr
    - http_parse_authority
    - http_parse_scheme
    linkageType: ''
    returnType: struct ist
    signature: http_parse_path(struct http_uri_parser *parser)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/http.c:780,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/http.c:780,1
    - Dst: unlikely
      Src: /src/haproxy/src/http.c:788,1
    - Dst: unlikely
      Src: /src/haproxy/src/http.c:790,1
    - Dst: unlikely
      Src: /src/haproxy/src/http.c:795,1
    - Dst: unlikely
      Src: /src/haproxy/src/http.c:802,1
    - Dst: unlikely
      Src: /src/haproxy/src/http.c:805,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/http.c:815,1
    - Dst: unlikely
      Src: /src/haproxy/src/http.c:816,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 3
    argNames:
    - value
    - body_len
    - not_first
    argTypes:
    - struct ist*
    - unsigned long long*
    - int
    constantsTouched: []
    func_position:
      end: 849
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 849
    functionName: http_parse_cont_len_header
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - unlikely
    - HTTP_IS_LWS
    linkageType: ''
    returnType: int
    signature: "http_parse_cont_len_header(struct ist *value, unsigned long long *body_len,\n
      \                              int not_first)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/haproxy/src/http.c:867,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:870,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - hdr
    - end
    - name
    - len
    argTypes:
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 875
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 875
    functionName: http_header_match2
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - HTTP_IS_SPHT
    linkageType: ''
    returnType: int
    signature: "http_header_match2(const char *hdr, const char *end,\n\t\t       const
      char *name, int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 913
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 913
    functionName: http_find_hdr_value_end
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*http_find_hdr_value_end(char *s, const char *e)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 935
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 935
    functionName: http_find_cookie_value_end
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*http_find_cookie_value_end(char *s, const char *e)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:963,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:974,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:987,1
    - Dst: http_find_cookie_value_end
      Src: /src/haproxy/src/http.c:991,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:995,1
    - Dst: memcmp
      Src: /src/haproxy/src/http.c:1017,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 36
    argCount: 7
    argNames:
    - hdr
    - hdr_end
    - cookie_name
    - cookie_name_l
    - list
    - value
    - value_l
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    - int
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1030
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 1030
    functionName: http_extract_cookie_value
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 2
    functionsReached:
    - HTTP_IS_SPHT
    - memcmp
    - http_find_cookie_value_end
    linkageType: ''
    returnType: char
    signature: "*http_extract_cookie_value(char *hdr, const char *hdr_end,\n                                char
      *cookie_name, size_t cookie_name_l,\n                                int list,
      char **value, size_t *value_l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:1060,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:1071,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:1084,1
    - Dst: http_find_cookie_value_end
      Src: /src/haproxy/src/http.c:1088,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 5
    argNames:
    - hdr_beg
    - hdr_end
    - is_req
    - ptr
    - len
    argTypes:
    - char*
    - char*
    - int
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1120
    functionName: http_extract_next_cookie_name
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 1
    functionsReached:
    - HTTP_IS_SPHT
    - http_find_cookie_value_end
    linkageType: ''
    returnType: char
    signature: "*http_extract_next_cookie_name(char *hdr_beg, char *hdr_end, int is_req,\n
      \                                   char **ptr, size_t *len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/haproxy/src/http.c:1131,1
    - Dst: isdigit
      Src: /src/haproxy/src/http.c:1138,1
    - Dst: isdigit
      Src: /src/haproxy/src/http.c:1142,1
    - Dst: isdigit
      Src: /src/haproxy/src/http.c:1146,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - qvalue
    - end
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1155
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1155
    functionName: http_parse_qvalue
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 1
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: int
    signature: http_parse_qvalue(const char *qvalue, const char **end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fix_pointer_if_wrap
      Src: /src/haproxy/src/http.c:1182,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/http.c:1208,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/http.c:1209,1
    - Dst: memcmp
      Src: /src/haproxy/src/http.c:1213,1
    - Dst: memcmp
      Src: /src/haproxy/src/http.c:1214,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/http.c:1226,1
    - Dst: memcmp
      Src: /src/haproxy/src/http.c:1229,1
    - Dst: fix_pointer_if_wrap
      Src: /src/haproxy/src/http.c:1233,1
    - Dst: http_is_param_delimiter
      Src: /src/haproxy/src/http.c:1240,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 5
    argNames:
    - chunks
    - url_param_name
    - url_param_name_l
    - delim
    - insensitive
    argTypes:
    - char**
    - char*
    - size_t
    - char
    - char
    constantsTouched: []
    func_position:
      end: 1254
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1254
    functionName: http_find_url_param_pos
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - http_is_param_delimiter
    - strncasecmp
    - memcmp
    - fix_pointer_if_wrap
    linkageType: ''
    returnType: char
    signature: "*http_find_url_param_pos(const char **chunks,\n                                    const
      char* url_param_name, size_t url_param_name_l,\n                                    char
      delim, char insensitive)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_find_url_param_pos
      Src: /src/haproxy/src/http.c:1274,1
    - Dst: memchr
      Src: /src/haproxy/src/http.c:1287,1
    - Dst: fix_pointer_if_wrap
      Src: /src/haproxy/src/http.c:1308,1
    - Dst: http_is_param_delimiter
      Src: /src/haproxy/src/http.c:1321,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 7
    argNames:
    - chunks
    - url_param_name
    - url_param_name_l
    - vstart
    - vend
    - delim
    - insensitive
    argTypes:
    - char**
    - char*
    - size_t
    - char**
    - char**
    - char
    - char
    constantsTouched: []
    func_position:
      end: 1339
      start: 1263
    functionDepth: 2
    functionLinenumber: 1263
    functionLinenumberEnd: 1339
    functionName: http_find_next_url_param
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 1
    functionsReached:
    - http_is_param_delimiter
    - memchr
    - http_find_url_param_pos
    - fix_pointer_if_wrap
    linkageType: ''
    returnType: int
    signature: "http_find_next_url_param(const char **chunks,\n                             const
      char* url_param_name, size_t url_param_name_l,\n                             const
      char **vstart, const char **vend, char delim, char insensitive)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:1352,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/http.c:1356,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:1360,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:1362,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - hdr
    - name
    - value
    argTypes:
    - struct ist
    - struct ist*
    - struct ist*
    constantsTouched: []
    func_position:
      end: 1369
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1369
    functionName: http_parse_header
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - HTTP_IS_SPHT
    - HTTP_IS_TOKEN
    linkageType: ''
    returnType: int
    signature: http_parse_header(const struct ist hdr, struct ist *name, struct ist
      *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:1382,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/http.c:1386,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:1390,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:1394,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:1398,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - line
    - p1
    - p2
    - p3
    argTypes:
    - struct ist
    - struct ist*
    - struct ist*
    - struct ist*
    constantsTouched: []
    func_position:
      end: 1405
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1405
    functionName: http_parse_stline
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - HTTP_IS_SPHT
    - HTTP_IS_TOKEN
    linkageType: ''
    returnType: int
    signature: http_parse_stline(const struct ist line, struct ist *p1, struct ist
      *p2, struct ist *p3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:1420,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/http.c:1424,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:1428,1
    - Dst: strl2ui
      Src: /src/haproxy/src/http.c:1434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - value
    - status
    - reason
    argTypes:
    - struct ist
    - struct ist*
    - struct ist*
    constantsTouched: []
    func_position:
      end: 1436
      start: 1411
    functionDepth: 1
    functionLinenumber: 1411
    functionLinenumberEnd: 1436
    functionName: http_parse_status_val
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - HTTP_IS_SPHT
    - strl2ui
    - HTTP_IS_TOKEN
    linkageType: ''
    returnType: int
    signature: http_parse_status_val(const struct ist value, struct ist *status, struct
      ist *reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_get_etag_type
      Src: /src/haproxy/src/http.c:1449,1
    - Dst: http_get_etag_type
      Src: /src/haproxy/src/http.c:1450,1
    - Dst: istadv
      Src: /src/haproxy/src/http.c:1457,1
    - Dst: istadv
      Src: /src/haproxy/src/http.c:1459,1
    - Dst: isteq
      Src: /src/haproxy/src/http.c:1461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - etag1
    - etag2
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 1462
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1462
    functionName: http_compare_etags
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - istadv
    - http_get_etag_type
    - isteq
    linkageType: ''
    returnType: int
    signature: http_compare_etags(struct ist etag1, struct ist etag2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:1473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 1479
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1479
    functionName: http_trim_leading_spht
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - HTTP_IS_SPHT
    linkageType: ''
    returnType: struct ist
    signature: http_trim_leading_spht(struct ist value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http.c:1489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 1493
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1493
    functionName: http_trim_trailing_spht
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - HTTP_IS_SPHT
    linkageType: ''
    returnType: struct ist
    signature: http_trim_trailing_spht(struct ist value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_status_add_range
      Src: /src/haproxy/src/http.c:1499,1
    - Dst: http_status_add_range
      Src: /src/haproxy/src/http.c:1500,1
    - Dst: http_status_del_range
      Src: /src/haproxy/src/http.c:1501,1
    - Dst: http_status_del_range
      Src: /src/haproxy/src/http.c:1502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1496
    functionDepth: 2
    functionLinenumber: 1496
    functionLinenumberEnd: 1503
    functionName: _http_init
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - http_status_add_range
    - http_status_del_range
    linkageType: ''
    returnType: void
    signature: _http_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/http.c:1521,1
    - Dst: strcmp
      Src: /src/haproxy/src/http.c:1523,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/http.c:1526,1
    - Dst: memprintf
      Src: /src/haproxy/src/http.c:1529,1
    - Dst: strlen
      Src: /src/haproxy/src/http.c:1549,1
    - Dst: read_uint
      Src: /src/haproxy/src/http.c:1550,1
    - Dst: read_uint
      Src: /src/haproxy/src/http.c:1558,1
    - Dst: memprintf
      Src: /src/haproxy/src/http.c:1566,1
    - Dst: memset
      Src: /src/haproxy/src/http.c:1573,1
    - Dst: http_status_add_range
      Src: /src/haproxy/src/http.c:1575,1
    - Dst: http_status_del_range
      Src: /src/haproxy/src/http.c:1577,1
    - Dst: memprintf
      Src: /src/haproxy/src/http.c:1589,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 72
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1593
      start: 1511
    functionDepth: 2
    functionLinenumber: 1511
    functionLinenumberEnd: 1593
    functionName: http_parse_http_err_fail_codes
    functionSourceFile: /src/haproxy/src/http.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ABORT_NOW
    - http_status_add_range
    - strcmp
    - strlen
    - memset
    - http_status_del_range
    - read_uint
    linkageType: ''
    returnType: int
    signature: "http_parse_http_err_fail_codes(char **args, int section_type, struct
      proxy *curpx,\n\t\t\t\t\t  const struct proxy *defpx, const char *file, int
      line,\n\t\t\t\t\t  char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_back
      Src: /src/haproxy/src/quic_sock.c:62,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_sock.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - conn
    - addr
    - len
    argTypes:
    - struct connection*
    - struct sockaddr*
    - socklen_t
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: quic_sock_get_src
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - conn_is_back
    - memcpy
    linkageType: ''
    returnType: int
    signature: quic_sock_get_src(struct connection *conn, struct sockaddr *addr, socklen_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_back
      Src: /src/haproxy/src/quic_sock.c:83,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_sock.c:87,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_sock.c:94,1
    - Dst: is_addr
      Src: /src/haproxy/src/quic_sock.c:95,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_sock.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - conn
    - addr
    - len
    argTypes:
    - struct connection*
    - struct sockaddr*
    - socklen_t
    constantsTouched: []
    func_position:
      end: 102
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 102
    functionName: quic_sock_get_dst
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - conn_is_back
    - memcpy
    - BUG_ON
    - is_addr
    linkageType: ''
    returnType: int
    signature: quic_sock_get_dst(struct connection *conn, struct sockaddr *addr, socklen_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/quic_sock.c:115,1
    - Dst: conn_new
      Src: /src/haproxy/src/quic_sock.c:115,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/quic_sock.c:118,1
    - Dst: conn_stop_tracking
      Src: /src/haproxy/src/quic_sock.c:131,1
    - Dst: conn_xprt_close
      Src: /src/haproxy/src/quic_sock.c:132,1
    - Dst: conn_free
      Src: /src/haproxy/src/quic_sock.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - qc
    - l
    - saddr
    argTypes:
    - struct quic_conn*
    - struct listener*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 137
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 137
    functionName: new_quic_cli_conn
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - conn_free
    - sockaddr_alloc
    - conn_xprt_close
    - conn_new
    - conn_stop_tracking
    - unlikely
    linkageType: ''
    returnType: int
    signature: "new_quic_cli_conn(struct quic_conn *qc, struct listener *l,\n                             struct
      sockaddr_storage *saddr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: quic_sock_accepting_conn
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: quic_sock_accepting_conn(const struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/quic_sock.c:156,1
    - Dst: new_quic_cli_conn
      Src: /src/haproxy/src/quic_sock.c:160,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_sock.c:167,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/quic_sock.c:168,1
    - Dst: MT_LIST_INSERT
      Src: /src/haproxy/src/quic_sock.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - l
    - status
    argTypes:
    - struct listener*
    - int*
    constantsTouched: []
    func_position:
      end: 181
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 181
    functionName: quic_sock_accept_conn
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - MT_LIST_INSERT
    - new_quic_cli_conn
    - HA_ATOMIC_DEC
    - BUG_ON
    - MT_LIST_POP
    linkageType: ''
    returnType: struct connection
    signature: '*quic_sock_accept_conn(struct listener *l, int *status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_sock.c:190,1
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/quic_sock.c:192,1
    - Dst: typeof
      Src: /src/haproxy/src/quic_sock.c:192,1
    - Dst: quic_dgram_parse
      Src: /src/haproxy/src/quic_sock.c:193,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_sock.c:202,1
    - Dst: MT_LIST_ISEMPTY
      Src: /src/haproxy/src/quic_sock.c:207,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_sock.c:208,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_sock.c:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 212
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 212
    functionName: quic_lstnr_dghdlr
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - MT_LIST_ISEMPTY
    - TRACE_ENTER
    - tasklet_wakeup
    - typeof
    - quic_dgram_parse
    - MT_LIST_POP
    linkageType: ''
    returnType: struct task
    signature: '*quic_lstnr_dghdlr(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_sock.c:224,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_sock.c:227,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_sock.c:247,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_sock.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - pos
    - end
    - dcid
    - dcid_len
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 253
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 253
    functionName: quic_get_dgram_dcid
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - TRACE_PROTO
    linkageType: ''
    returnType: int
    signature: "quic_get_dgram_dcid(unsigned char *pos, const unsigned char *end,\n
      \                              unsigned char **dcid, size_t *dcid_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_get_dgram_dcid
      Src: /src/haproxy/src/quic_sock.c:270,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_sock.c:273,1
    - Dst: quic_get_cid_tid
      Src: /src/haproxy/src/quic_sock.c:277,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_sock.c:301,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/quic_sock.c:302,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_sock.c:305,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_sock.c:310,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 7
    argNames:
    - pos
    - len
    - owner
    - saddr
    - daddr
    - new_dgram
    - dgrams
    argTypes:
    - unsigned char*
    - size_t
    - void*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - struct quic_dgram*
    - struct list*
    constantsTouched: []
    func_position:
      end: 312
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 312
    functionName: quic_lstnr_dgram_dispatch
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    - tasklet_wakeup
    - pool_alloc
    - quic_get_cid_tid
    - pool_free
    - MT_LIST_APPEND
    - quic_get_dgram_dcid
    linkageType: ''
    returnType: int
    signature: "quic_lstnr_dgram_dispatch(unsigned char *pos, size_t len, void *owner,\n
      \                                    struct sockaddr_storage *saddr,\n                                     struct
      sockaddr_storage *daddr,\n                                     struct quic_dgram
      *new_dgram, struct list *dgrams)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_sock.c:325,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/quic_sock.c:326,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_sock.c:329,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/quic_sock.c:333,1
    - Dst: b_del
      Src: /src/haproxy/src/quic_sock.c:334,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_sock.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rbuf
    argTypes:
    - struct quic_receiver_buf*
    constantsTouched: []
    func_position:
      end: 343
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 343
    functionName: quic_rxbuf_purge_dgrams
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - LIST_ISEMPTY
    - LIST_DELETE
    - pool_free
    - b_del
    - HA_ATOMIC_LOAD
    - LIST_ELEM
    linkageType: ''
    returnType: struct quic_dgram
    signature: '*quic_rxbuf_purge_dgrams(struct quic_receiver_buf *rbuf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/quic_sock.c:380,1
    - Dst: clear_addr
      Src: /src/haproxy/src/quic_sock.c:388,1
    - Dst: recvmsg
      Src: /src/haproxy/src/quic_sock.c:391,1
    - Dst: unlikely
      Src: /src/haproxy/src/quic_sock.c:401,1
    - Dst: port_is_restricted
      Src: /src/haproxy/src/quic_sock.c:401,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/haproxy/src/quic_sock.c:406,1
    - Dst: CMSG_NXTHDR
      Src: /src/haproxy/src/quic_sock.c:406,1
    - Dst: CMSG_DATA
      Src: /src/haproxy/src/quic_sock.c:412,1
    - Dst: CMSG_DATA
      Src: /src/haproxy/src/quic_sock.c:423,1
    - Dst: CMSG_DATA
      Src: /src/haproxy/src/quic_sock.c:438,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_sock.c:442,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 8
    argNames:
    - fd
    - out
    - len
    - from
    - from_len
    - to
    - to_len
    - dst_port
    argTypes:
    - int
    - void*
    - size_t
    - struct sockaddr*
    - socklen_t
    - struct sockaddr*
    - socklen_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 453
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 453
    functionName: quic_recv
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - CMSG_DATA
    - CMSG_FIRSTHDR
    - CMSG_NXTHDR
    - recvmsg
    - port_is_restricted
    - clear_addr
    - memset
    - unlikely
    - memcpy
    linkageType: ''
    returnType: ssize_t
    signature: "quic_recv(int fd, void *out, size_t len,\n                         struct
      sockaddr *from, socklen_t from_len,\n                         struct sockaddr
      *to, socklen_t to_len,\n                         uint16_t dst_port)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_listener
      Src: /src/haproxy/src/quic_sock.c:463,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_sock.c:472,1
    - Dst: fd_recv_ready
      Src: /src/haproxy/src/quic_sock.c:478,1
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/quic_sock.c:481,1
    - Dst: typeof
      Src: /src/haproxy/src/quic_sock.c:481,1
    - Dst: quic_rxbuf_purge_dgrams
      Src: /src/haproxy/src/quic_sock.c:493,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/quic_sock.c:497,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/quic_sock.c:500,1
    - Dst: b_tail
      Src: /src/haproxy/src/quic_sock.c:506,1
    - Dst: b_wrap
      Src: /src/haproxy/src/quic_sock.c:506,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_sock.c:507,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_sock.c:514,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_sock.c:524,1
    - Dst: b_add
      Src: /src/haproxy/src/quic_sock.c:527,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/quic_sock.c:528,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_sock.c:529,1
    - Dst: b_tail
      Src: /src/haproxy/src/quic_sock.c:534,1
    - Dst: quic_recv
      Src: /src/haproxy/src/quic_sock.c:535,1
    - Dst: get_net_port
      Src: /src/haproxy/src/quic_sock.c:538,1
    - Dst: b_add
      Src: /src/haproxy/src/quic_sock.c:542,1
    - Dst: quic_lstnr_dgram_dispatch
      Src: /src/haproxy/src/quic_sock.c:543,1
    - Dst: b_sub
      Src: /src/haproxy/src/quic_sock.c:546,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_sock.c:552,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/quic_sock.c:553,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 554
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 554
    functionName: quic_lstnr_sock_fd_iocb
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - fd_recv_ready
    - quic_recv
    - HA_ATOMIC_INC
    - pool_alloc
    - EXTRA_COUNTERS_GET
    - b_contig_space
    - MT_LIST_APPEND
    - BUG_ON
    - b_sub
    - b_wrap
    - objt_listener
    - typeof
    - b_tail
    - get_net_port
    - quic_lstnr_dgram_dispatch
    - pool_free
    - quic_rxbuf_purge_dgrams
    - MT_LIST_POP
    - LIST_APPEND
    - b_add
    linkageType: ''
    returnType: void
    signature: quic_lstnr_sock_fd_iocb(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_sock.c:561,1
    - Dst: fd_send_active
      Src: /src/haproxy/src/quic_sock.c:563,1
    - Dst: fd_send_ready
      Src: /src/haproxy/src/quic_sock.c:563,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_sock.c:564,1
    - Dst: fd_stop_send
      Src: /src/haproxy/src/quic_sock.c:565,1
    - Dst: tasklet_wakeup_after
      Src: /src/haproxy/src/quic_sock.c:566,1
    - Dst: qc_notify_send
      Src: /src/haproxy/src/quic_sock.c:567,1
    - Dst: fd_recv_ready
      Src: /src/haproxy/src/quic_sock.c:570,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_sock.c:571,1
    - Dst: tasklet_wakeup_after
      Src: /src/haproxy/src/quic_sock.c:572,1
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/quic_sock.c:573,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_sock.c:576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 577
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 577
    functionName: quic_conn_sock_fd_iocb
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - fd_recv_ready
    - TRACE_LEAVE
    - fd_stop_recv
    - TRACE_ENTER
    - fd_send_active
    - fd_stop_send
    - fd_send_ready
    - TRACE_DEVEL
    - tasklet_wakeup_after
    - qc_notify_send
    linkageType: ''
    returnType: void
    signature: quic_conn_sock_fd_iocb(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/quic_sock.c:614,1
    - Dst: ASSUME_NONNULL
      Src: /src/haproxy/src/quic_sock.c:617,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/haproxy/src/quic_sock.c:617,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/haproxy/src/quic_sock.c:619,1
    - Dst: CMSG_NXTHDR
      Src: /src/haproxy/src/quic_sock.c:619,1
    - Dst: ASSUME_NONNULL
      Src: /src/haproxy/src/quic_sock.c:620,1
    - Dst: CMSG_LEN
      Src: /src/haproxy/src/quic_sock.c:622,1
    - Dst: CMSG_DATA
      Src: /src/haproxy/src/quic_sock.c:629,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_sock.c:632,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_sock.c:637,1
    - Dst: CMSG_DATA
      Src: /src/haproxy/src/quic_sock.c:637,1
    - Dst: CMSG_DATA
      Src: /src/haproxy/src/quic_sock.c:648,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_sock.c:650,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - msg
    - cmsg
    - saddr
    argTypes:
    - struct msghdr*
    - struct cmsghdr**
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 660
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 660
    functionName: cmsg_set_saddr
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - CMSG_DATA
    - CMSG_FIRSTHDR
    - CMSG_NXTHDR
    - CMSG_LEN
    - CMSG_SPACE
    - ASSUME_NONNULL
    - memcpy
    linkageType: ''
    returnType: void
    signature: "cmsg_set_saddr(struct msghdr *msg, struct cmsghdr **cmsg,\n                           struct
      sockaddr_storage *saddr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/quic_sock.c:670,1
    - Dst: ASSUME_NONNULL
      Src: /src/haproxy/src/quic_sock.c:673,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/haproxy/src/quic_sock.c:673,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/haproxy/src/quic_sock.c:675,1
    - Dst: CMSG_NXTHDR
      Src: /src/haproxy/src/quic_sock.c:675,1
    - Dst: ASSUME_NONNULL
      Src: /src/haproxy/src/quic_sock.c:676,1
    - Dst: CMSG_LEN
      Src: /src/haproxy/src/quic_sock.c:678,1
    - Dst: CMSG_LEN
      Src: /src/haproxy/src/quic_sock.c:682,1
    - Dst: write_u16
      Src: /src/haproxy/src/quic_sock.c:683,1
    - Dst: CMSG_DATA
      Src: /src/haproxy/src/quic_sock.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - msg
    - cmsg
    - gso_size
    argTypes:
    - struct msghdr*
    - struct cmsghdr**
    - uint16_t
    constantsTouched: []
    func_position:
      end: 685
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 685
    functionName: cmsg_set_gso
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - write_u16
    - CMSG_DATA
    - CMSG_FIRSTHDR
    - CMSG_NXTHDR
    - CMSG_LEN
    - CMSG_SPACE
    - ASSUME_NONNULL
    linkageType: ''
    returnType: void
    signature: "cmsg_set_gso(struct msghdr *msg, struct cmsghdr **cmsg,\n                         uint16_t
      gso_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/quic_sock.c:711,1
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/quic_sock.c:711,1
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/quic_sock.c:714,1
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/quic_sock.c:714,1
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/quic_sock.c:716,1
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/quic_sock.c:716,1
    - Dst: memset
      Src: /src/haproxy/src/quic_sock.c:728,1
    - Dst: b_peek
      Src: /src/haproxy/src/quic_sock.c:730,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/quic_sock.c:730,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_sock.c:741,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/quic_sock.c:743,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_sock.c:756,1
    - Dst: fd_send_ready
      Src: /src/haproxy/src/quic_sock.c:756,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_sock.c:760,1
    - Dst: is_addr
      Src: /src/haproxy/src/quic_sock.c:760,1
    - Dst: cmsg_set_saddr
      Src: /src/haproxy/src/quic_sock.c:762,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/quic_sock.c:768,1
    - Dst: b_data
      Src: /src/haproxy/src/quic_sock.c:768,1
    - Dst: cmsg_set_gso
      Src: /src/haproxy/src/quic_sock.c:772,1
    - Dst: sendmsg
      Src: /src/haproxy/src/quic_sock.c:776,1
    - Dst: qc_fd
      Src: /src/haproxy/src/quic_sock.c:776,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_sock.c:788,1
    - Dst: fd_want_send
      Src: /src/haproxy/src/quic_sock.c:789,1
    - Dst: fd_cant_send
      Src: /src/haproxy/src/quic_sock.c:790,1
    - Dst: TRACE_PRINTF
      Src: /src/haproxy/src/quic_sock.c:792,1
    - Dst: strerror
      Src: /src/haproxy/src/quic_sock.c:793,1
    - Dst: TRACE_PRINTF
      Src: /src/haproxy/src/quic_sock.c:799,1
    - Dst: strerror
      Src: /src/haproxy/src/quic_sock.c:800,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 5
    argNames:
    - qc
    - buf
    - sz
    - flags
    - gso_size
    argTypes:
    - struct quic_conn*
    - struct buffer*
    - size_t
    - int
    - uint16_t
    constantsTouched: []
    func_position:
      end: 809
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 809
    functionName: qc_snd_buf
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - TRACE_PRINTF
    - strerror
    - is_addr
    - b_peek
    - cmsg_set_gso
    - qc_test_fd
    - qc_fd
    - fd_want_send
    - fd_cant_send
    - fd_send_ready
    - cmsg_set_saddr
    - b_head_ofs
    - CMSG_SPACE
    - memset
    - BUG_ON_HOT
    - b_data
    - sendmsg
    - get_addr_len
    linkageType: ''
    returnType: int
    signature: "qc_snd_buf(struct quic_conn *qc, const struct buffer *buf, size_t
      sz,\n               int flags, uint16_t gso_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_sock.c:827,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_sock.c:829,1
    - Dst: b_alloc
      Src: /src/haproxy/src/quic_sock.c:836,1
    - Dst: b_reset
      Src: /src/haproxy/src/quic_sock.c:839,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_sock.c:840,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/quic_sock.c:840,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_sock.c:843,1
    - Dst: b_tail
      Src: /src/haproxy/src/quic_sock.c:846,1
    - Dst: quic_recv
      Src: /src/haproxy/src/quic_sock.c:847,1
    - Dst: get_net_port
      Src: /src/haproxy/src/quic_sock.c:850,1
    - Dst: fd_want_recv
      Src: /src/haproxy/src/quic_sock.c:854,1
    - Dst: b_add
      Src: /src/haproxy/src/quic_sock.c:859,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_sock.c:871,1
    - Dst: quic_get_dgram_dcid
      Src: /src/haproxy/src/quic_sock.c:873,1
    - Dst: qc_check_dcid
      Src: /src/haproxy/src/quic_sock.c:879,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_sock.c:890,1
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/quic_sock.c:892,1
    - Dst: typeof
      Src: /src/haproxy/src/quic_sock.c:892,1
    - Dst: ASSUME_NONNULL
      Src: /src/haproxy/src/quic_sock.c:893,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/quic_sock.c:894,1
    - Dst: quic_rxbuf_purge_dgrams
      Src: /src/haproxy/src/quic_sock.c:896,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_sock.c:897,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/quic_sock.c:900,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_sock.c:901,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/quic_sock.c:904,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_sock.c:910,1
    - Dst: b_add
      Src: /src/haproxy/src/quic_sock.c:911,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/quic_sock.c:915,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/quic_sock.c:917,1
    - Dst: b_tail
      Src: /src/haproxy/src/quic_sock.c:921,1
    - Dst: __b_putblk
      Src: /src/haproxy/src/quic_sock.c:922,1
    - Dst: quic_lstnr_dgram_dispatch
      Src: /src/haproxy/src/quic_sock.c:923,1
    - Dst: b_sub
      Src: /src/haproxy/src/quic_sock.c:926,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/quic_sock.c:933,1
    - Dst: quic_dgram_parse
      Src: /src/haproxy/src/quic_sock.c:937,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_sock.c:939,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_sock.c:942,1
    - Dst: b_size
      Src: /src/haproxy/src/quic_sock.c:944,1
    - Dst: b_free
      Src: /src/haproxy/src/quic_sock.c:945,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/quic_sock.c:946,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_sock.c:949,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 951
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 951
    functionName: qc_rcv_buf
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - quic_recv
    - TRACE_ENTER
    - qc_check_dcid
    - pool_alloc
    - fd_want_recv
    - b_contig_space
    - MT_LIST_APPEND
    - ASSUME_NONNULL
    - quic_get_dgram_dcid
    - BUG_ON
    - b_alloc
    - b_sub
    - TRACE_LEAVE
    - b_free
    - __b_putblk
    - offer_buffers
    - b_tail
    - typeof
    - b_reset
    - b_size
    - get_net_port
    - quic_lstnr_dgram_dispatch
    - pool_free
    - TRACE_DEVEL
    - quic_dgram_parse
    - quic_rxbuf_purge_dgrams
    - b_space_wraps
    - MT_LIST_POP
    - LIST_APPEND
    - b_add
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: qc_rcv_buf(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_sock.c:969,1
    - Dst: qc_init_fd
      Src: /src/haproxy/src/quic_sock.c:971,1
    - Dst: socket
      Src: /src/haproxy/src/quic_sock.c:973,1
    - Dst: send_log
      Src: /src/haproxy/src/quic_sock.c:978,1
    - Dst: setsockopt
      Src: /src/haproxy/src/quic_sock.c:984,1
    - Dst: setsockopt
      Src: /src/haproxy/src/quic_sock.c:991,1
    - Dst: setsockopt
      Src: /src/haproxy/src/quic_sock.c:993,1
    - Dst: setsockopt
      Src: /src/haproxy/src/quic_sock.c:998,1
    - Dst: bind
      Src: /src/haproxy/src/quic_sock.c:1005,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/quic_sock.c:1005,1
    - Dst: send_log
      Src: /src/haproxy/src/quic_sock.c:1009,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/quic_sock.c:1016,1
    - Dst: connect
      Src: /src/haproxy/src/quic_sock.c:1021,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/quic_sock.c:1021,1
    - Dst: fd_set_nonblock
      Src: /src/haproxy/src/quic_sock.c:1026,1
    - Dst: fd_insert
      Src: /src/haproxy/src/quic_sock.c:1027,1
    - Dst: fd_want_recv
      Src: /src/haproxy/src/quic_sock.c:1028,1
    - Dst: close
      Src: /src/haproxy/src/quic_sock.c:1034,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 3
    argNames:
    - qc
    - src
    - dst
    argTypes:
    - struct quic_conn*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 1035
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 1035
    functionName: qc_alloc_fd
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - send_log
    - setsockopt
    - qc_init_fd
    - fd_set_nonblock
    - fd_insert
    - fd_want_recv
    - connect
    - socket
    - close
    - HA_ATOMIC_STORE
    - BUG_ON
    - bind
    - get_addr_len
    linkageType: ''
    returnType: void
    signature: "qc_alloc_fd(struct quic_conn *qc, const struct sockaddr_storage *src,\n
      \                const struct sockaddr_storage *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_sock.c:1042,1
    - Dst: fd_delete
      Src: /src/haproxy/src/quic_sock.c:1043,1
    - Dst: qc_init_fd
      Src: /src/haproxy/src/quic_sock.c:1047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - qc
    - reinit
    argTypes:
    - struct quic_conn*
    - int
    constantsTouched: []
    func_position:
      end: 1049
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1049
    functionName: qc_release_fd
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - qc_init_fd
    - fd_delete
    - qc_test_fd
    linkageType: ''
    returnType: void
    signature: qc_release_fd(struct quic_conn *qc, int reinit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_sock.c:1056,1
    - Dst: fd_want_recv
      Src: /src/haproxy/src/quic_sock.c:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1058
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1058
    functionName: qc_want_recv
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - fd_want_recv
    - qc_test_fd
    linkageType: ''
    returnType: void
    signature: qc_want_recv(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_sock.c:1073,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_sock.c:1075,1
    - Dst: MT_LIST_INLIST
      Src: /src/haproxy/src/quic_sock.c:1075,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_sock.c:1076,1
    - Dst: MT_LIST_INLIST
      Src: /src/haproxy/src/quic_sock.c:1085,1
    - Dst: MT_LIST_TRY_APPEND
      Src: /src/haproxy/src/quic_sock.c:1086,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/quic_sock.c:1089,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_sock.c:1092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1093
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1093
    functionName: quic_accept_push_qc
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - MT_LIST_TRY_APPEND
    - HA_ATOMIC_INC
    - MT_LIST_INLIST
    - tasklet_wakeup
    - MT_LIST_APPEND
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: quic_accept_push_qc(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_FOR_EACH_ENTRY_LOCKED
      Src: /src/haproxy/src/quic_sock.c:1104,1
    - Dst: listener_accept
      Src: /src/haproxy/src/quic_sock.c:1105,1
    - Dst: MT_LIST_ISEMPTY
      Src: /src/haproxy/src/quic_sock.c:1106,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_sock.c:1108,1
    - Dst: mt_list_unlock_self
      Src: /src/haproxy/src/quic_sock.c:1111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - t
    - ctx
    - i
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1117
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1117
    functionName: quic_accept_run
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - mt_list_unlock_self
    - MT_LIST_ISEMPTY
    - MT_LIST_FOR_EACH_ENTRY_LOCKED
    - tasklet_wakeup
    - listener_accept
    linkageType: ''
    returnType: struct task
    signature: '*quic_accept_run(struct task *t, void *ctx, unsigned int i)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener_backlog
      Src: /src/haproxy/src/quic_sock.c:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 1126
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1126
    functionName: quic_listener_max_handshake
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - listener_backlog
    linkageType: ''
    returnType: int
    signature: quic_listener_max_handshake(const struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener_backlog
      Src: /src/haproxy/src/quic_sock.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 1135
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1135
    functionName: quic_listener_max_accept
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - listener_backlog
    linkageType: ''
    returnType: int
    signature: quic_listener_max_accept(const struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/quic_sock.c:1141,1
    - Dst: ha_alert
      Src: /src/haproxy/src/quic_sock.c:1144,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/quic_sock.c:1150,1
    - Dst: ha_alert
      Src: /src/haproxy/src/quic_sock.c:1151,1
    - Dst: tasklet_set_tid
      Src: /src/haproxy/src/quic_sock.c:1155,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/quic_sock.c:1159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1163
    functionName: quic_alloc_accept_queues
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - calloc
    - tasklet_set_tid
    - tasklet_new
    - MT_LIST_INIT
    linkageType: ''
    returnType: int
    signature: quic_alloc_accept_queues(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tasklet_free
      Src: /src/haproxy/src/quic_sock.c:1172,1
    - Dst: free
      Src: /src/haproxy/src/quic_sock.c:1173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1177
    functionName: quic_deallocate_accept_queues
    functionSourceFile: /src/haproxy/src/quic_sock.c
    functionUses: 0
    functionsReached:
    - free
    - tasklet_free
    linkageType: ''
    returnType: int
    signature: quic_deallocate_accept_queues(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dst
    argTypes:
    - struct quic_transport_params*
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: quic_dflt_transport_params_cpy
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_dflt_transport_params_cpy(struct quic_transport_params *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dflt_transport_params_cpy
      Src: /src/haproxy/src/quic_tp.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - p
    - server
    argTypes:
    - struct quic_transport_params*
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 102
    functionName: quic_transport_params_init
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - quic_dflt_transport_params_cpy
    linkageType: ''
    returnType: void
    signature: quic_transport_params_init(struct quic_transport_params *p, int server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_n16
      Src: /src/haproxy/src/quic_tp.c:114,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:117,1
    - Dst: write_n16
      Src: /src/haproxy/src/quic_tp.c:120,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:123,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:128,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - end
    - addr
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct tp_preferred_address*
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: quic_transport_param_enc_pref_addr_val
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - write_n16
    - memcpy
    linkageType: ''
    returnType: void
    signature: "quic_transport_param_enc_pref_addr_val(unsigned char **buf,\n                                                   const
      unsigned char *end,\n                                                   struct
      tp_preferred_address *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:152,1
    - Dst: read_n16
      Src: /src/haproxy/src/quic_tp.c:155,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:158,1
    - Dst: read_n16
      Src: /src/haproxy/src/quic_tp.c:161,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:171,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - addr
    - buf
    - end
    argTypes:
    - struct tp_preferred_address*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 182
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 182
    functionName: quic_transport_param_dec_pref_addr
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - read_n16
    linkageType: ''
    returnType: int
    signature: "quic_transport_param_dec_pref_addr(struct tp_preferred_address *addr,\n
      \                                             const unsigned char **buf,\n                                              const
      unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/haproxy/src/quic_tp.c:202,1
    - Dst: read_u32
      Src: /src/haproxy/src/quic_tp.c:202,1
    - Dst: read_u32
      Src: /src/haproxy/src/quic_tp.c:212,1
    - Dst: ntohl
      Src: /src/haproxy/src/quic_tp.c:225,1
    - Dst: read_u32
      Src: /src/haproxy/src/quic_tp.c:225,1
    - Dst: ntohl
      Src: /src/haproxy/src/quic_tp.c:232,1
    - Dst: read_u32
      Src: /src/haproxy/src/quic_tp.c:232,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - tp
    - buf
    - end
    - server
    argTypes:
    - struct tp_version_information*
    - unsigned char**
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 242
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 242
    functionName: quic_transport_param_dec_version_info
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - read_u32
    - ntohl
    linkageType: ''
    returnType: int
    signature: "quic_transport_param_dec_version_info(struct tp_version_information
      *tp,\n                                                 const unsigned char **buf,\n
      \                                                const unsigned char *end, int
      server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:261,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:271,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:279,1
    - Dst: quic_transport_param_dec_pref_addr
      Src: /src/haproxy/src/quic_tp.c:286,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_tp.c:291,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_tp.c:295,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_tp.c:299,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_tp.c:303,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_tp.c:307,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_tp.c:311,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_tp.c:315,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_tp.c:319,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_tp.c:323,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_tp.c:328,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_tp.c:339,1
    - Dst: quic_transport_param_dec_version_info
      Src: /src/haproxy/src/quic_tp.c:343,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 92
    argCount: 5
    argNames:
    - p
    - server
    - type
    - buf
    - len
    argTypes:
    - struct quic_transport_params*
    - int
    - uint64_t
    - unsigned char**
    - size_t
    constantsTouched: []
    func_position:
      end: 352
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 352
    functionName: quic_transport_param_decode
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - quic_transport_param_dec_pref_addr
    - memcpy
    - quic_dec_int
    - quic_transport_param_dec_version_info
    linkageType: ''
    returnType: int
    signature: "quic_transport_param_decode(struct quic_transport_params *p,\n                                       int
      server, uint64_t type,\n                                       const unsigned
      char **buf, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_tp.c:361,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_tp.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - end
    - type
    - len
    argTypes:
    - unsigned char**
    - unsigned char*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: quic_transport_param_encode_type_len
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_transport_param_encode_type_len(unsigned char **buf,\n                                                const
      unsigned char *end,\n                                                uint64_t
      type, uint64_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_tp.c:372,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_tp.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - type
    - len
    - buf
    - end
    argTypes:
    - uint64_t*
    - uint64_t*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: quic_transport_param_decode_type_len
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_transport_param_decode_type_len(uint64_t *type, uint64_t *len,\n
      \                                               const unsigned char **buf,\n
      \                                               const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_transport_param_encode_type_len
      Src: /src/haproxy/src/quic_tp.c:381,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - buf
    - end
    - type
    - param
    - length
    argTypes:
    - unsigned char**
    - unsigned char*
    - uint64_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 392
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 392
    functionName: quic_transport_param_enc_mem
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - quic_transport_param_encode_type_len
    linkageType: ''
    returnType: int
    signature: "quic_transport_param_enc_mem(unsigned char **buf, const unsigned char
      *end,\n                                        uint64_t type, void *param, uint64_t
      length)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/quic_tp.c:403,1
    - Dst: quic_transport_param_encode_type_len
      Src: /src/haproxy/src/quic_tp.c:405,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_tp.c:406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - buf
    - end
    - type
    - val
    argTypes:
    - unsigned char**
    - unsigned char*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 407
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 407
    functionName: quic_transport_param_enc_int
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - quic_int_getsize
    - quic_transport_param_encode_type_len
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_transport_param_enc_int(unsigned char **buf,\n                                        const
      unsigned char *end,\n                                        uint64_t type,
      uint64_t val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cid
    argTypes:
    - struct tp_cid*
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: sizeof_quic_cid
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: sizeof_quic_cid(const struct tp_cid *cid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sizeof_quic_cid
      Src: /src/haproxy/src/quic_tp.c:426,1
    - Dst: quic_transport_param_encode_type_len
      Src: /src/haproxy/src/quic_tp.c:429,1
    - Dst: quic_transport_param_enc_pref_addr_val
      Src: /src/haproxy/src/quic_tp.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - end
    - addr
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct tp_preferred_address*
    constantsTouched: []
    func_position:
      end: 438
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 438
    functionName: quic_transport_param_enc_pref_addr
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - quic_transport_param_enc_pref_addr_val
    - sizeof_quic_cid
    - quic_transport_param_encode_type_len
    linkageType: ''
    returnType: int
    signature: "quic_transport_param_enc_pref_addr(unsigned char **buf,\n                                              const
      unsigned char *end,\n                                              struct tp_preferred_address
      *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_transport_param_encode_type_len
      Src: /src/haproxy/src/quic_tp.c:454,1
    - Dst: htonl
      Src: /src/haproxy/src/quic_tp.c:463,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:464,1
    - Dst: htonl
      Src: /src/haproxy/src/quic_tp.c:468,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - buf
    - end
    - chosen_version
    - server
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_version*
    - int
    constantsTouched: []
    func_position:
      end: 474
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 474
    functionName: quic_transport_param_enc_version_info
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - htonl
    - quic_transport_param_encode_type_len
    linkageType: ''
    returnType: int
    signature: "quic_transport_param_enc_version_info(unsigned char **buf,\n                                                 const
      unsigned char *end,\n                                                 const
      struct quic_version *chosen_version,\n                                                 int
      server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_transport_param_enc_mem
      Src: /src/haproxy/src/quic_tp.c:492,1
    - Dst: quic_transport_param_enc_mem
      Src: /src/haproxy/src/quic_tp.c:499,1
    - Dst: quic_transport_param_enc_mem
      Src: /src/haproxy/src/quic_tp.c:507,1
    - Dst: quic_transport_param_enc_pref_addr
      Src: /src/haproxy/src/quic_tp.c:512,1
    - Dst: quic_transport_param_enc_mem
      Src: /src/haproxy/src/quic_tp.c:516,1
    - Dst: quic_transport_param_enc_int
      Src: /src/haproxy/src/quic_tp.c:523,1
    - Dst: quic_transport_param_enc_int
      Src: /src/haproxy/src/quic_tp.c:531,1
    - Dst: quic_transport_param_enc_int
      Src: /src/haproxy/src/quic_tp.c:535,1
    - Dst: quic_transport_param_enc_int
      Src: /src/haproxy/src/quic_tp.c:539,1
    - Dst: quic_transport_param_enc_int
      Src: /src/haproxy/src/quic_tp.c:544,1
    - Dst: quic_transport_param_enc_int
      Src: /src/haproxy/src/quic_tp.c:549,1
    - Dst: quic_transport_param_enc_int
      Src: /src/haproxy/src/quic_tp.c:554,1
    - Dst: quic_transport_param_enc_int
      Src: /src/haproxy/src/quic_tp.c:559,1
    - Dst: quic_transport_param_enc_int
      Src: /src/haproxy/src/quic_tp.c:568,1
    - Dst: quic_transport_param_enc_int
      Src: /src/haproxy/src/quic_tp.c:576,1
    - Dst: quic_transport_param_encode_type_len
      Src: /src/haproxy/src/quic_tp.c:581,1
    - Dst: quic_transport_param_enc_int
      Src: /src/haproxy/src/quic_tp.c:586,1
    - Dst: quic_transport_param_enc_version_info
      Src: /src/haproxy/src/quic_tp.c:590,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 43
    argCount: 5
    argNames:
    - buf
    - end
    - p
    - chosen_version
    - server
    argTypes:
    - unsigned char*
    - unsigned char*
    - struct quic_transport_params*
    - struct quic_version*
    - int
    constantsTouched: []
    func_position:
      end: 594
      start: 481
    functionDepth: 3
    functionLinenumber: 481
    functionLinenumberEnd: 594
    functionName: quic_transport_params_encode
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - quic_transport_param_enc_mem
    - quic_transport_param_enc_version_info
    - quic_transport_param_enc_pref_addr
    - quic_transport_param_encode_type_len
    - quic_transport_param_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_transport_params_encode(unsigned char *buf,\n                                 const
      unsigned char *end,\n                                 struct quic_transport_params
      *p,\n                                 const struct quic_version *chosen_version,\n
      \                                int server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_transport_param_decode_type_len
      Src: /src/haproxy/src/quic_tp.c:611,1
    - Dst: quic_transport_param_decode
      Src: /src/haproxy/src/quic_tp.c:617,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - p
    - server
    - buf
    - end
    argTypes:
    - struct quic_transport_params*
    - int
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 637
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 637
    functionName: quic_transport_params_decode
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - quic_transport_param_decode
    - quic_transport_param_decode_type_len
    linkageType: ''
    returnType: int
    signature: "quic_transport_params_decode(struct quic_transport_params *p, int
      server,\n                                        const unsigned char *buf,\n
      \                                       const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dflt_transport_params_cpy
      Src: /src/haproxy/src/quic_tp.c:657,1
    - Dst: quic_transport_params_decode
      Src: /src/haproxy/src/quic_tp.c:659,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/src/quic_tp.c:673,1
    - Dst: QUIC_MAX
      Src: /src/haproxy/src/quic_tp.c:676,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tp.c:677,1
    - Dst: memcmp
      Src: /src/haproxy/src/quic_tp.c:684,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tp.c:685,1
    - Dst: qc_kill_conn
      Src: /src/haproxy/src/quic_tp.c:688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - qc
    - server
    - buf
    - end
    argTypes:
    - struct quic_conn*
    - int
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 692
      start: 647
    functionDepth: 4
    functionLinenumber: 647
    functionLinenumberEnd: 692
    functionName: quic_transport_params_store
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - quic_dflt_transport_params_cpy
    - TRACE_PROTO
    - QUIC_MIN
    - quic_transport_params_decode
    - QUIC_MAX
    - qc_kill_conn
    - memcmp
    linkageType: ''
    returnType: int
    signature: "quic_transport_params_store(struct quic_conn *qc, int server,\n                                const
      unsigned char *buf,\n                                const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:714,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:718,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:721,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:725,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tp.c:730,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tp.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 8
    argNames:
    - qc
    - listener_params
    - stateless_reset_token
    - dcid
    - dcidlen
    - scid
    - scidlen
    - token_odcid
    argTypes:
    - struct quic_conn*
    - struct quic_transport_params*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - struct quic_cid*
    constantsTouched: []
    func_position:
      end: 735
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 735
    functionName: qc_lstnr_params_init
    functionSourceFile: /src/haproxy/src/quic_tp.c
    functionUses: 0
    functionsReached:
    - TRACE_PROTO
    - memcpy
    linkageType: ''
    returnType: int
    signature: "qc_lstnr_params_init(struct quic_conn *qc,\n                         const
      struct quic_transport_params *listener_params,\n                         const
      unsigned char *stateless_reset_token,\n                         const unsigned
      char *dcid, size_t dcidlen,\n                         const unsigned char *scid,
      size_t scidlen,\n                         const struct quic_cid *token_odcid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/http_acl.c:38,1
    - Dst: find_http_meth
      Src: /src/haproxy/src/http_acl.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - text
    - pattern
    - mflags
    - err
    argTypes:
    - char*
    - struct pattern*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: pat_parse_meth
    functionSourceFile: /src/haproxy/src/http_acl.c
    functionUses: 0
    functionsReached:
    - strlen
    - find_http_meth
    linkageType: ''
    returnType: int
    signature: pat_parse_meth(const char *text, struct pattern *pattern, int mflags,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/http_acl.c:60,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/http_acl.c:76,1
    - Dst: strncmp
      Src: /src/haproxy/src/http_acl.c:77,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 81
    functionName: pat_match_meth
    functionSourceFile: /src/haproxy/src/http_acl.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strncasecmp
    - strncmp
    linkageType: ''
    returnType: struct pattern
    signature: '*pat_match_meth(struct sample *smp, struct pattern_expr *expr, int
      fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/xprt_quic.c:26,1
    - Dst: quic_conn_release
      Src: /src/haproxy/src/xprt_quic.c:37,1
    - Dst: qc_check_close_on_released_mux
      Src: /src/haproxy/src/xprt_quic.c:46,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/xprt_quic.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - conn
    - xprt_ctx
    argTypes:
    - struct connection*
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 49
    functionName: quic_close
    functionSourceFile: /src/haproxy/src/xprt_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - quic_conn_release
    - qc_check_close_on_released_mux
    linkageType: ''
    returnType: void
    signature: quic_close(struct connection *conn, void *xprt_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/xprt_quic.c:60,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/xprt_quic.c:62,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/xprt_quic.c:63,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/xprt_quic.c:73,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/xprt_quic.c:76,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/xprt_quic.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - conn
    - xprt_ctx
    - event_type
    - es
    argTypes:
    - struct connection*
    - void*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 81
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 81
    functionName: quic_conn_subscribe
    functionSourceFile: /src/haproxy/src/xprt_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - BUG_ON
    - TRACE_DEVEL
    linkageType: ''
    returnType: int
    signature: quic_conn_subscribe(struct connection *conn, void *xprt_ctx, int event_type,
      struct wait_event *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/xprt_quic.c:91,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/xprt_quic.c:94,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/xprt_quic.c:96,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/xprt_quic.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - conn
    - xprt_ctx
    - event_type
    - es
    argTypes:
    - struct connection*
    - void*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 107
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 107
    functionName: quic_conn_unsubscribe
    functionSourceFile: /src/haproxy/src/xprt_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - TRACE_DEVEL
    linkageType: ''
    returnType: int
    signature: quic_conn_unsubscribe(struct connection *conn, void *xprt_ctx, int
      event_type, struct wait_event *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/xprt_quic.c:116,1
    - Dst: qc_finalize_tid_rebind
      Src: /src/haproxy/src/xprt_quic.c:120,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/xprt_quic.c:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - conn
    - xprt_ctx
    argTypes:
    - struct connection*
    - void**
    constantsTouched: []
    func_position:
      end: 132
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 132
    functionName: qc_conn_init
    functionSourceFile: /src/haproxy/src/xprt_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - qc_finalize_tid_rebind
    linkageType: ''
    returnType: int
    signature: qc_conn_init(struct connection *conn, void **xprt_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/xprt_quic.c:141,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/xprt_quic.c:151,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/xprt_quic.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - conn
    - ctx
    argTypes:
    - struct connection*
    - void*
    constantsTouched: []
    func_position:
      end: 157
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 157
    functionName: qc_xprt_start
    functionSourceFile: /src/haproxy/src/xprt_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - tasklet_wakeup
    linkageType: ''
    returnType: int
    signature: qc_xprt_start(struct connection *conn, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xprt_get
      Src: /src/haproxy/src/xprt_quic.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: qc_get_ssl_sock_ctx
    functionSourceFile: /src/haproxy/src/xprt_quic.c
    functionUses: 0
    functionsReached:
    - xprt_get
    linkageType: ''
    returnType: struct ssl_sock_ctx
    signature: '*qc_get_ssl_sock_ctx(struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dump_qc_info
      Src: /src/haproxy/src/xprt_quic.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - conn
    argTypes:
    - struct buffer*
    - struct connection*
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: qc_xprt_dump_info
    functionSourceFile: /src/haproxy/src/xprt_quic.c
    functionUses: 0
    functionsReached:
    - quic_dump_qc_info
    linkageType: ''
    returnType: void
    signature: qc_xprt_dump_info(struct buffer *msg, const struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xprt_register
      Src: /src/haproxy/src/xprt_quic.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: __quic_conn_init
    functionSourceFile: /src/haproxy/src/xprt_quic.c
    functionUses: 0
    functionsReached:
    - xprt_register
    linkageType: ''
    returnType: void
    signature: __quic_conn_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct quic_cc*::algo::init
      Src: /src/haproxy/src/quic_cc.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cc
    - algo
    - qc
    argTypes:
    - struct quic_cc*
    - struct quic_cc_algo*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: quic_cc_init
    functionSourceFile: /src/haproxy/src/quic_cc.c
    functionUses: 0
    functionsReached:
    - struct quic_cc*::algo::init
    linkageType: ''
    returnType: void
    signature: "quic_cc_init(struct quic_cc *cc,\n                  struct quic_cc_algo
      *algo, struct quic_conn *qc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct quic_cc*::algo::event
      Src: /src/haproxy/src/quic_cc.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cc
    - ev
    argTypes:
    - struct quic_cc*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: quic_cc_event
    functionSourceFile: /src/haproxy/src/quic_cc.c
    functionUses: 0
    functionsReached:
    - struct quic_cc*::algo::event
    linkageType: ''
    returnType: void
    signature: quic_cc_event(struct quic_cc *cc, struct quic_cc_event *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct quic_cc*::algo::state_trace
      Src: /src/haproxy/src/quic_cc.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - cc
    argTypes:
    - struct buffer*
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: quic_cc_state_trace
    functionSourceFile: /src/haproxy/src/quic_cc.c
    functionUses: 0
    functionsReached:
    - struct quic_cc*::algo::state_trace
    linkageType: ''
    returnType: void
    signature: quic_cc_state_trace(struct buffer *buf, const struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: quic_cc_default_pacing_inter
    functionSourceFile: /src/haproxy/src/quic_cc.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: uint
    signature: quic_cc_default_pacing_inter(const struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 77
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 77
    functionName: quic_cwnd_may_increase
    functionSourceFile: /src/haproxy/src/quic_cc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: quic_cwnd_may_increase(const struct quic_cc_path *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_udp.c:149,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_udp.c:152,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_udp.c:159,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_udp.c:161,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_udp.c:166,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/proto_udp.c:174,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/proto_udp.c:180,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_udp.c:181,1
    - Dst: get_host_port
      Src: /src/haproxy/src/proto_udp.c:181,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - listener
    - errmsg
    - errlen
    argTypes:
    - struct listener*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 184
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 184
    functionName: udp_bind_listener
    functionSourceFile: /src/haproxy/src/proto_udp.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - snprintf
    - addr_to_str
    - listener_set_state
    - get_host_port
    linkageType: ''
    returnType: int
    signature: udp_bind_listener(struct listener *listener, char *errmsg, int errlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_want_recv_safe
      Src: /src/haproxy/src/proto_udp.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: udp_enable_listener
    functionSourceFile: /src/haproxy/src/proto_udp.c
    functionUses: 0
    functionsReached:
    - fd_want_recv_safe
    linkageType: ''
    returnType: void
    signature: udp_enable_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/proto_udp.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: udp_disable_listener
    functionSourceFile: /src/haproxy/src/proto_udp.c
    functionUses: 0
    functionsReached:
    - fd_stop_recv
    linkageType: ''
    returnType: void
    signature: udp_disable_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/haproxy/src/proto_udp.c:226,1
    - Dst: connect
      Src: /src/haproxy/src/proto_udp.c:229,1
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/proto_udp.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 235
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 235
    functionName: udp_suspend_receiver
    functionSourceFile: /src/haproxy/src/proto_udp.c
    functionUses: 0
    functionsReached:
    - getsockname
    - fd_stop_recv
    - connect
    linkageType: ''
    returnType: int
    signature: udp_suspend_receiver(struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: connect
      Src: /src/haproxy/src/proto_udp.c:251,1
    - Dst: fd_want_recv
      Src: /src/haproxy/src/proto_udp.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: udp_resume_receiver
    functionSourceFile: /src/haproxy/src/proto_udp.c
    functionUses: 0
    functionsReached:
    - fd_want_recv
    - connect
    linkageType: ''
    returnType: int
    signature: udp_resume_receiver(struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener_set_state
      Src: /src/haproxy/src/proto_uxdg.c:165,1
    - Dst: sa2str
      Src: /src/haproxy/src/proto_uxdg.c:171,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_uxdg.c:172,1
    - Dst: ha_free
      Src: /src/haproxy/src/proto_uxdg.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - listener
    - errmsg
    - errlen
    argTypes:
    - struct listener*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 176
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 176
    functionName: uxdg_bind_listener
    functionSourceFile: /src/haproxy/src/proto_uxdg.c
    functionUses: 0
    functionsReached:
    - sa2str
    - snprintf
    - listener_set_state
    - ha_free
    linkageType: ''
    returnType: int
    signature: uxdg_bind_listener(struct listener *listener, char *errmsg, int errlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_want_recv_safe
      Src: /src/haproxy/src/proto_uxdg.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: uxdg_enable_listener
    functionSourceFile: /src/haproxy/src/proto_uxdg.c
    functionUses: 0
    functionsReached:
    - fd_want_recv_safe
    linkageType: ''
    returnType: void
    signature: uxdg_enable_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/proto_uxdg.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: uxdg_disable_listener
    functionSourceFile: /src/haproxy/src/proto_uxdg.c
    functionUses: 0
    functionsReached:
    - fd_stop_recv
    linkageType: ''
    returnType: void
    signature: uxdg_disable_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/proto_uxdg.c:203,1
    - Dst: uxdg_disable_listener
      Src: /src/haproxy/src/proto_uxdg.c:206,1
    - Dst: do_unbind_listener
      Src: /src/haproxy/src/proto_uxdg.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 214
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 214
    functionName: uxdg_suspend_receiver
    functionSourceFile: /src/haproxy/src/proto_uxdg.c
    functionUses: 0
    functionsReached:
    - do_unbind_listener
    - uxdg_disable_listener
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: uxdg_suspend_receiver(struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_init
      Src: /src/haproxy/src/chunk.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: get_trash_chunk
    functionSourceFile: /src/haproxy/src/chunk.c
    functionUses: 16
    functionsReached:
    - chunk_init
    linkageType: ''
    returnType: struct buffer
    signature: '*get_trash_chunk(void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_init
      Src: /src/haproxy/src/chunk.c:70,1
    - Dst: my_realloc2
      Src: /src/haproxy/src/chunk.c:70,1
    - Dst: my_realloc2
      Src: /src/haproxy/src/chunk.c:72,1
    - Dst: my_realloc2
      Src: /src/haproxy/src/chunk.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - bufsize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: alloc_trash_buffers
    functionSourceFile: /src/haproxy/src/chunk.c
    functionUses: 0
    functionsReached:
    - my_realloc2
    - chunk_init
    linkageType: ''
    returnType: int
    signature: alloc_trash_buffers(int bufsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_buffers
      Src: /src/haproxy/src/chunk.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: alloc_trash_buffers_per_thread
    functionSourceFile: /src/haproxy/src/chunk.c
    functionUses: 0
    functionsReached:
    - alloc_trash_buffers
    linkageType: ''
    returnType: int
    signature: alloc_trash_buffers_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_destroy
      Src: /src/haproxy/src/chunk.c:84,1
    - Dst: ha_free
      Src: /src/haproxy/src/chunk.c:85,1
    - Dst: ha_free
      Src: /src/haproxy/src/chunk.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: free_trash_buffers_per_thread
    functionSourceFile: /src/haproxy/src/chunk.c
    functionUses: 0
    functionsReached:
    - chunk_destroy
    - ha_free
    linkageType: ''
    returnType: void
    signature: free_trash_buffers_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_evict_from_local_cache
      Src: /src/haproxy/src/chunk.c:95,1
    - Dst: pool_flush
      Src: /src/haproxy/src/chunk.c:96,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/chunk.c:99,1
    - Dst: pool_used
      Src: /src/haproxy/src/chunk.c:99,1
    - Dst: pool_destroy
      Src: /src/haproxy/src/chunk.c:100,1
    - Dst: create_pool
      Src: /src/haproxy/src/chunk.c:101,1
    - Dst: alloc_trash_buffers
      Src: /src/haproxy/src/chunk.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - first
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 107
    functionName: init_trash_buffers
    functionSourceFile: /src/haproxy/src/chunk.c
    functionUses: 0
    functionsReached:
    - pool_used
    - pool_evict_from_local_cache
    - create_pool
    - pool_destroy
    - BUG_ON
    - pool_flush
    - alloc_trash_buffers
    linkageType: ''
    returnType: int
    signature: init_trash_buffers(int first)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_trash_buffers
      Src: /src/haproxy/src/chunk.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: alloc_early_trash
    functionSourceFile: /src/haproxy/src/chunk.c
    functionUses: 0
    functionsReached:
    - init_trash_buffers
    linkageType: ''
    returnType: int
    signature: alloc_early_trash(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/chunk.c:131,1
    - Dst: vsnprintf
      Src: /src/haproxy/src/chunk.c:132,1
    - Dst: va_end
      Src: /src/haproxy/src/chunk.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - chk
    - fmt
    argTypes:
    - struct buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: chunk_printf
    functionSourceFile: /src/haproxy/src/chunk.c
    functionUses: 3
    functionsReached:
    - vsnprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: chunk_printf(struct buffer *chk, const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/chunk.c:160,1
    - Dst: vsnprintf
      Src: /src/haproxy/src/chunk.c:161,1
    - Dst: va_end
      Src: /src/haproxy/src/chunk.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - chk
    - fmt
    argTypes:
    - struct buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 169
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 169
    functionName: chunk_appendf
    functionSourceFile: /src/haproxy/src/chunk.c
    functionUses: 16
    functionsReached:
    - vsnprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: chunk_appendf(struct buffer *chk, const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/haproxy/src/chunk.c:194,1
    - Dst: isprint
      Src: /src/haproxy/src/chunk.c:194,1
    - Dst: snprintf
      Src: /src/haproxy/src/chunk.c:195,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct buffer*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 211
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 211
    functionName: chunk_htmlencode
    functionSourceFile: /src/haproxy/src/chunk.c
    functionUses: 1
    functionsReached:
    - isascii
    - isprint
    - snprintf
    linkageType: ''
    returnType: int
    signature: chunk_htmlencode(struct buffer *dst, struct buffer *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isascii
      Src: /src/haproxy/src/chunk.c:236,1
    - Dst: isprint
      Src: /src/haproxy/src/chunk.c:236,1
    - Dst: snprintf
      Src: /src/haproxy/src/chunk.c:237,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - dst
    - src
    - qc
    argTypes:
    - struct buffer*
    - struct buffer*
    - char
    constantsTouched: []
    func_position:
      end: 253
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 253
    functionName: chunk_asciiencode
    functionSourceFile: /src/haproxy/src/chunk.c
    functionUses: 0
    functionsReached:
    - isascii
    - isprint
    - snprintf
    linkageType: ''
    returnType: int
    signature: chunk_asciiencode(struct buffer *dst, struct buffer *src, char qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - chk
    - str
    argTypes:
    - struct buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: chunk_strcmp
    functionSourceFile: /src/haproxy/src/chunk.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: chunk_strcmp(const struct buffer *chk, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/chunk.c:291,1
    - Dst: likely
      Src: /src/haproxy/src/chunk.c:298,1
    - Dst: likely
      Src: /src/haproxy/src/chunk.c:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - chk
    - str
    argTypes:
    - struct buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 307
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 307
    functionName: chunk_strcasecmp
    functionSourceFile: /src/haproxy/src/chunk.c
    functionUses: 0
    functionsReached:
    - unlikely
    - likely
    linkageType: ''
    returnType: int
    signature: chunk_strcasecmp(const struct buffer *chk, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/pipe.c:44,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/pipe.c:47,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/pipe.c:48,1
    - Dst: likely
      Src: /src/haproxy/src/pipe.c:52,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/pipe.c:53,1
    - Dst: likely
      Src: /src/haproxy/src/pipe.c:55,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/pipe.c:57,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/pipe.c:59,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/pipe.c:60,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/pipe.c:65,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/pipe.c:69,1
    - Dst: pipe
      Src: /src/haproxy/src/pipe.c:73,1
    - Dst: fcntl
      Src: /src/haproxy/src/pipe.c:78,1
    - Dst: pool_free
      Src: /src/haproxy/src/pipe.c:87,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/pipe.c:88,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 91
    functionName: get_pipe
    functionSourceFile: /src/haproxy/src/pipe.c
    functionUses: 0
    functionsReached:
    - fcntl
    - HA_ATOMIC_INC
    - pipe
    - HA_SPIN_UNLOCK
    - pool_alloc
    - HA_SPIN_LOCK
    - pool_free
    - HA_ATOMIC_DEC
    - likely
    linkageType: ''
    returnType: struct pipe
    signature: '*get_pipe()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/haproxy/src/pipe.c:98,1
    - Dst: close
      Src: /src/haproxy/src/pipe.c:99,1
    - Dst: pool_free
      Src: /src/haproxy/src/pipe.c:100,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/pipe.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct pipe*
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: kill_pipe
    functionSourceFile: /src/haproxy/src/pipe.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_DEC
    - close
    - pool_free
    linkageType: ''
    returnType: void
    signature: kill_pipe(struct pipe *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/pipe.c:110,1
    - Dst: kill_pipe
      Src: /src/haproxy/src/pipe.c:111,1
    - Dst: likely
      Src: /src/haproxy/src/pipe.c:115,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/pipe.c:122,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/pipe.c:125,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/pipe.c:127,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/pipe.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct pipe*
    constantsTouched: []
    func_position:
      end: 129
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 129
    functionName: put_pipe
    functionSourceFile: /src/haproxy/src/pipe.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - HA_ATOMIC_DEC
    - likely
    - kill_pipe
    - unlikely
    linkageType: ''
    returnType: void
    signature: put_pipe(struct pipe *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_stateless_reset_token_cpy
      Src: /src/haproxy/src/quic_cid.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn_id
    argTypes:
    - struct quic_connection_id*
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: quic_stateless_reset_token_init
    functionSourceFile: /src/haproxy/src/quic_cid.c
    functionUses: 0
    functionsReached:
    - quic_stateless_reset_token_cpy
    linkageType: ''
    returnType: int
    signature: quic_stateless_reset_token_init(struct quic_connection_id *conn_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/quic_cid.c:75,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_cid.c:83,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_cid.c:85,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_cid.c:92,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_cid.c:94,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/quic_cid.c:100,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_cid.c:104,1
    - Dst: XXH64
      Src: /src/haproxy/src/quic_cid.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - orig
    - addr
    argTypes:
    - struct quic_cid*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 115
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 115
    functionName: quic_derive_cid
    functionSourceFile: /src/haproxy/src/quic_cid.c
    functionUses: 0
    functionsReached:
    - ABORT_NOW
    - memcpy
    - XXH64
    linkageType: ''
    returnType: struct quic_cid
    signature: "quic_derive_cid(const struct quic_cid *orig,\n                                       const
      struct sockaddr_storage *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cid.c:132,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_cid.c:135,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_cid.c:137,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_cid.c:139,1
    - Dst: quic_newcid_from_hash64
      Src: /src/haproxy/src/quic_cid.c:147,1
    - Dst: RAND_bytes
      Src: /src/haproxy/src/quic_cid.c:149,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_cid.c:151,1
    - Dst: quic_derive_cid
      Src: /src/haproxy/src/quic_cid.c:157,1
    - Dst: quic_stateless_reset_token_init
      Src: /src/haproxy/src/quic_cid.c:160,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_cid.c:161,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/quic_cid.c:166,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/quic_cid.c:172,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cid.c:174,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_cid.c:178,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cid.c:179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - root
    - qc
    - orig
    - addr
    argTypes:
    - struct eb_root*
    - struct quic_conn*
    - struct quic_cid*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 181
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 181
    functionName: new_quic_cid
    functionSourceFile: /src/haproxy/src/quic_cid.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - RAND_bytes
    - quic_derive_cid
    - eb64_insert
    - TRACE_ENTER
    - pool_alloc
    - pool_free
    - quic_stateless_reset_token_init
    - TRACE_ERROR
    - quic_newcid_from_hash64
    - HA_ATOMIC_STORE
    - BUG_ON
    linkageType: ''
    returnType: struct quic_connection_id
    signature: "*new_quic_cid(struct eb_root *root,\n                                        struct
      quic_conn *qc,\n                                        const struct quic_cid
      *orig,\n                                        const struct sockaddr_storage
      *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cid_tree_idx
      Src: /src/haproxy/src/quic_cid.c:196,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/quic_cid.c:198,1
    - Dst: ebmb_insert
      Src: /src/haproxy/src/quic_cid.c:199,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/quic_cid.c:202,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_cid.c:203,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/quic_cid.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - conn_id
    - new_tid
    argTypes:
    - struct quic_connection_id*
    - int*
    constantsTouched: []
    func_position:
      end: 212
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 212
    functionName: quic_cid_insert
    functionSourceFile: /src/haproxy/src/quic_cid.c
    functionUses: 0
    functionsReached:
    - quic_cid_tree_idx
    - ebmb_entry
    - HA_RWLOCK_WRUNLOCK
    - HA_ATOMIC_LOAD
    - ebmb_insert
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: quic_cid_insert(struct quic_connection_id *conn_id, int *new_tid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _quic_cid_tree_idx
      Src: /src/haproxy/src/quic_cid.c:227,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/quic_cid.c:228,1
    - Dst: ebmb_lookup
      Src: /src/haproxy/src/quic_cid.c:229,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/quic_cid.c:231,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/quic_cid.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cid
    - cid_len
    - qc
    argTypes:
    - unsigned char*
    - size_t
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 238
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 238
    functionName: quic_cmp_cid_conn
    functionSourceFile: /src/haproxy/src/quic_cid.c
    functionUses: 0
    functionsReached:
    - _quic_cid_tree_idx
    - HA_RWLOCK_RDLOCK
    - ebmb_lookup
    - ebmb_entry
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: "quic_cmp_cid_conn(const unsigned char *cid, size_t cid_len,\n                      struct
      quic_conn *qc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _quic_cid_tree_idx
      Src: /src/haproxy/src/quic_cid.c:257,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/quic_cid.c:258,1
    - Dst: ebmb_lookup
      Src: /src/haproxy/src/quic_cid.c:259,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/quic_cid.c:261,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_cid.c:262,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/quic_cid.c:264,1
    - Dst: qc_parse_hd_form
      Src: /src/haproxy/src/quic_cid.c:273,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_cid.c:282,1
    - Dst: quic_derive_cid
      Src: /src/haproxy/src/quic_cid.c:284,1
    - Dst: quic_cid_tree_idx
      Src: /src/haproxy/src/quic_cid.c:286,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/quic_cid.c:287,1
    - Dst: ebmb_lookup
      Src: /src/haproxy/src/quic_cid.c:288,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/quic_cid.c:290,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_cid.c:291,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/quic_cid.c:293,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 5
    argNames:
    - cid
    - cid_len
    - cli_addr
    - pos
    - len
    argTypes:
    - unsigned char*
    - size_t
    - struct sockaddr_storage*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 298
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 298
    functionName: quic_get_cid_tid
    functionSourceFile: /src/haproxy/src/quic_cid.c
    functionUses: 1
    functionsReached:
    - quic_cid_tree_idx
    - _quic_cid_tree_idx
    - quic_derive_cid
    - HA_RWLOCK_RDLOCK
    - ebmb_lookup
    - ebmb_entry
    - qc_parse_hd_form
    - HA_ATOMIC_LOAD
    - memcpy
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: "quic_get_cid_tid(const unsigned char *cid, size_t cid_len,\n                     const
      struct sockaddr_storage *cli_addr,\n                     unsigned char *pos,
      size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cid.c:316,1
    - Dst: _quic_cid_tree_idx
      Src: /src/haproxy/src/quic_cid.c:320,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/quic_cid.c:321,1
    - Dst: ebmb_lookup
      Src: /src/haproxy/src/quic_cid.c:322,1
    - Dst: quic_derive_cid
      Src: /src/haproxy/src/quic_cid.c:330,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/quic_cid.c:332,1
    - Dst: quic_cid_tree_idx
      Src: /src/haproxy/src/quic_cid.c:334,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/quic_cid.c:335,1
    - Dst: ebmb_lookup
      Src: /src/haproxy/src/quic_cid.c:336,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/quic_cid.c:342,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_cid.c:343,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_cid.c:349,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/quic_cid.c:352,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cid.c:353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - pkt
    - saddr
    - new_tid
    argTypes:
    - struct quic_rx_packet*
    - struct sockaddr_storage*
    - int*
    constantsTouched: []
    func_position:
      end: 355
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 355
    functionName: retrieve_qc_conn_from_cid
    functionSourceFile: /src/haproxy/src/quic_cid.c
    functionUses: 0
    functionsReached:
    - quic_cid_tree_idx
    - TRACE_LEAVE
    - _quic_cid_tree_idx
    - TRACE_ENTER
    - HA_RWLOCK_RDLOCK
    - ebmb_lookup
    - ebmb_entry
    - HA_ATOMIC_LOAD
    - TRACE_DEVEL
    - quic_derive_cid
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: struct quic_conn
    signature: "*retrieve_qc_conn_from_cid(struct quic_rx_packet *pkt,\n                                            struct
      sockaddr_storage *saddr,\n                                            int *new_tid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cid.c:368,1
    - Dst: qc_frm_alloc
      Src: /src/haproxy/src/quic_cid.c:371,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_cid.c:373,1
    - Dst: quic_connection_id_to_frm_cpy
      Src: /src/haproxy/src/quic_cid.c:377,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_cid.c:378,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cid.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - qc
    - conn_id
    argTypes:
    - struct quic_conn*
    - struct quic_connection_id*
    constantsTouched: []
    func_position:
      end: 383
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 383
    functionName: qc_build_new_connection_id_frm
    functionSourceFile: /src/haproxy/src/quic_cid.c
    functionUses: 0
    functionsReached:
    - qc_frm_alloc
    - TRACE_LEAVE
    - TRACE_ENTER
    - LIST_APPEND
    - quic_connection_id_to_frm_cpy
    - TRACE_ERROR
    linkageType: ''
    returnType: int
    signature: "qc_build_new_connection_id_frm(struct quic_conn *qc,\n                                   struct
      quic_connection_id *conn_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/quic_cid.c:389,1
    - Dst: ha_alert
      Src: /src/haproxy/src/quic_cid.c:391,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/quic_cid.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 401
    functionName: quic_alloc_global_cid_tree
    functionSourceFile: /src/haproxy/src/quic_cid.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - calloc
    - HA_RWLOCK_INIT
    linkageType: ''
    returnType: int
    signature: quic_alloc_global_cid_tree(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/quic_cid.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: quic_deallocate_global_cid_tree
    functionSourceFile: /src/haproxy/src/quic_cid.c
    functionUses: 0
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: int
    signature: quic_deallocate_global_cid_tree(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_fwrr.c:40,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_fwrr.c:43,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_fwrr.c:46,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_fwrr.c:48,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_fwrr.c:68,1
    - Dst: fwrr_dequeue_srv
      Src: /src/haproxy/src/lb_fwrr.c:76,1
    - Dst: fwrr_remove_from_tree
      Src: /src/haproxy/src/lb_fwrr.c:77,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_fwrr.c:81,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_fwrr.c:82,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fwrr.c:85,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 86
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 86
    functionName: fwrr_set_server_status_down
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 0
    functionsReached:
    - srv_lb_status_changed
    - srv_currently_usable
    - update_backend_weight
    - fwrr_remove_from_tree
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - fwrr_dequeue_srv
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    linkageType: ''
    returnType: void
    signature: fwrr_set_server_status_down(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_fwrr.c:102,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_fwrr.c:105,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_fwrr.c:108,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_fwrr.c:110,1
    - Dst: fwrr_get_srv
      Src: /src/haproxy/src/lb_fwrr.c:143,1
    - Dst: fwrr_queue_srv
      Src: /src/haproxy/src/lb_fwrr.c:145,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_fwrr.c:149,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_fwrr.c:150,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fwrr.c:153,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 154
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 154
    functionName: fwrr_set_server_status_up
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 0
    functionsReached:
    - fwrr_get_srv
    - srv_lb_status_changed
    - srv_currently_usable
    - update_backend_weight
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - fwrr_queue_srv
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    linkageType: ''
    returnType: void
    signature: fwrr_set_server_status_up(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_fwrr.c:167,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_fwrr.c:178,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_fwrr.c:179,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fwrr.c:182,1
    - Dst: fwrr_set_server_status_up
      Src: /src/haproxy/src/lb_fwrr.c:186,1
    - Dst: fwrr_set_server_status_down
      Src: /src/haproxy/src/lb_fwrr.c:190,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_fwrr.c:194,1
    - Dst: fwrr_dequeue_srv
      Src: /src/haproxy/src/lb_fwrr.c:203,1
    - Dst: fwrr_queue_by_weight
      Src: /src/haproxy/src/lb_fwrr.c:204,1
    - Dst: fwrr_dequeue_srv
      Src: /src/haproxy/src/lb_fwrr.c:210,1
    - Dst: fwrr_get_srv
      Src: /src/haproxy/src/lb_fwrr.c:211,1
    - Dst: fwrr_queue_srv
      Src: /src/haproxy/src/lb_fwrr.c:213,1
    - Dst: fwrr_get_srv
      Src: /src/haproxy/src/lb_fwrr.c:219,1
    - Dst: fwrr_dequeue_srv
      Src: /src/haproxy/src/lb_fwrr.c:237,1
    - Dst: fwrr_queue_srv
      Src: /src/haproxy/src/lb_fwrr.c:238,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_fwrr.c:241,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_fwrr.c:242,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fwrr.c:244,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 245
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 245
    functionName: fwrr_update_server_weight
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 0
    functionsReached:
    - fwrr_get_srv
    - fwrr_queue_by_weight
    - srv_lb_status_changed
    - srv_currently_usable
    - fwrr_set_server_status_up
    - update_backend_weight
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - fwrr_dequeue_srv
    - fwrr_queue_srv
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    - fwrr_set_server_status_down
    linkageType: ''
    returnType: void
    signature: fwrr_update_server_weight(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: fwrr_remove_from_tree
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fwrr_remove_from_tree(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_insert
      Src: /src/haproxy/src/lb_fwrr.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - root
    - s
    argTypes:
    - struct eb_root*
    - struct server*
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: fwrr_queue_by_weight
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 1
    functionsReached:
    - eb32_insert
    linkageType: ''
    returnType: void
    signature: fwrr_queue_by_weight(struct eb_root *root, struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fwrr.c:287,1
    - Dst: recount_servers
      Src: /src/haproxy/src/lb_fwrr.c:290,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_fwrr.c:291,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_fwrr.c:311,1
    - Dst: fwrr_queue_by_weight
      Src: /src/haproxy/src/lb_fwrr.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 318
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 318
    functionName: fwrr_init_server_groups
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 0
    functionsReached:
    - fwrr_queue_by_weight
    - update_backend_weight
    - srv_currently_usable
    - srv_lb_commit_status
    - recount_servers
    linkageType: ''
    returnType: void
    signature: fwrr_init_server_groups(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_delete
      Src: /src/haproxy/src/lb_fwrr.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: fwrr_dequeue_srv
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 2
    functionsReached:
    - eb32_delete
    linkageType: ''
    returnType: void
    signature: fwrr_dequeue_srv(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_fwrr.c:345,1
    - Dst: fwrr_remove_from_tree
      Src: /src/haproxy/src/lb_fwrr.c:346,1
    - Dst: fwrr_queue_by_weight
      Src: /src/haproxy/src/lb_fwrr.c:354,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/lb_fwrr.c:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 370
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 370
    functionName: fwrr_queue_srv
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 2
    functionsReached:
    - fwrr_remove_from_tree
    - fwrr_queue_by_weight
    - srv_willbe_usable
    - eb32_insert
    linkageType: ''
    returnType: void
    signature: fwrr_queue_srv(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: fwrr_get_srv_init
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fwrr_get_srv_init(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 392
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 392
    functionName: fwrr_get_srv_next
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fwrr_get_srv_next(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 405
    functionName: fwrr_get_srv_down
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fwrr_get_srv_down(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fwrr_get_srv_init
      Src: /src/haproxy/src/lb_fwrr.c:419,1
    - Dst: fwrr_get_srv_next
      Src: /src/haproxy/src/lb_fwrr.c:422,1
    - Dst: fwrr_get_srv_down
      Src: /src/haproxy/src/lb_fwrr.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 427
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 427
    functionName: fwrr_get_srv
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 2
    functionsReached:
    - fwrr_get_srv_init
    - fwrr_get_srv_next
    - fwrr_get_srv_down
    linkageType: ''
    returnType: void
    signature: fwrr_get_srv(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - grp
    argTypes:
    - struct fwrr_group*
    constantsTouched: []
    func_position:
      end: 442
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 442
    functionName: fwrr_switch_trees
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fwrr_switch_trees(struct fwrr_group *grp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_first
      Src: /src/haproxy/src/lb_fwrr.c:456,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/lb_fwrr.c:458,1
    - Dst: eb32_first
      Src: /src/haproxy/src/lb_fwrr.c:467,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/lb_fwrr.c:469,1
    - Dst: fwrr_get_srv_init
      Src: /src/haproxy/src/lb_fwrr.c:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - grp
    argTypes:
    - struct fwrr_group*
    constantsTouched: []
    func_position:
      end: 476
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 476
    functionName: fwrr_get_server_from_group
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 0
    functionsReached:
    - fwrr_get_srv_init
    - eb32_entry
    - eb32_first
    linkageType: ''
    returnType: struct server
    signature: '*fwrr_get_server_from_group(struct fwrr_group *grp)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - grp
    - s
    argTypes:
    - struct fwrr_group*
    - struct server*
    constantsTouched: []
    func_position:
      end: 503
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 503
    functionName: fwrr_update_position
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fwrr_update_position(struct fwrr_group *grp, struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_fwrr.c:517,1
    - Dst: fwrr_get_server_from_group
      Src: /src/haproxy/src/lb_fwrr.c:545,1
    - Dst: fwrr_switch_trees
      Src: /src/haproxy/src/lb_fwrr.c:556,1
    - Dst: fwrr_update_position
      Src: /src/haproxy/src/lb_fwrr.c:564,1
    - Dst: fwrr_dequeue_srv
      Src: /src/haproxy/src/lb_fwrr.c:565,1
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/src/lb_fwrr.c:567,1
    - Dst: fwrr_queue_srv
      Src: /src/haproxy/src/lb_fwrr.c:583,1
    - Dst: unlikely
      Src: /src/haproxy/src/lb_fwrr.c:591,1
    - Dst: likely
      Src: /src/haproxy/src/lb_fwrr.c:598,1
    - Dst: fwrr_queue_by_weight
      Src: /src/haproxy/src/lb_fwrr.c:599,1
    - Dst: likely
      Src: /src/haproxy/src/lb_fwrr.c:607,1
    - Dst: fwrr_queue_srv
      Src: /src/haproxy/src/lb_fwrr.c:608,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_fwrr.c:614,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 72
    argCount: 2
    argNames:
    - p
    - srvtoavoid
    argTypes:
    - struct proxy*
    - struct server*
    constantsTouched: []
    func_position:
      end: 616
      start: 511
    functionDepth: 3
    functionLinenumber: 511
    functionLinenumberEnd: 616
    functionName: fwrr_get_next_server
    functionSourceFile: /src/haproxy/src/lb_fwrr.c
    functionUses: 0
    functionsReached:
    - fwrr_update_position
    - srv_dynamic_maxconn
    - fwrr_get_server_from_group
    - fwrr_queue_by_weight
    - HA_RWLOCK_WRUNLOCK
    - likely
    - fwrr_dequeue_srv
    - fwrr_switch_trees
    - fwrr_queue_srv
    - HA_RWLOCK_WRLOCK
    - unlikely
    linkageType: ''
    returnType: struct server
    signature: '*fwrr_get_next_server(struct proxy *p, struct server *srvtoavoid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h1.c:281,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h1.c:284,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h1.c:287,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h1.c:290,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h1.c:293,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h1.c:296,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h1.c:300,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h1.c:303,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - data
    - stats
    - selected_field
    argTypes:
    - void*
    - struct field*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 319
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 319
    functionName: h1_fill_stats
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - mkf_u64
    linkageType: ''
    returnType: int
    signature: h1_fill_stats(void *data, struct field *stats, unsigned int *selected_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h1s
    argTypes:
    - struct h1s*
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: h1s_sc
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: '*h1s_sc(const struct h1s *h1s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:381,1
    - Dst: h1c_st_to_str
      Src: /src/haproxy/src/mux_h1.c:381,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:385,1
    - Dst: h1m_state_str
      Src: /src/haproxy/src/mux_h1.c:386,1
    - Dst: h1m_state_str
      Src: /src/haproxy/src/mux_h1.c:386,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:389,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:391,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:402,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/mux_h1.c:405,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h1.c:406,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/mux_h1.c:407,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h1.c:408,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:411,1
    - Dst: HTX_SL_P1_LEN
      Src: /src/haproxy/src/mux_h1.c:412,1
    - Dst: HTX_SL_P1_PTR
      Src: /src/haproxy/src/mux_h1.c:412,1
    - Dst: HTX_SL_P2_LEN
      Src: /src/haproxy/src/mux_h1.c:413,1
    - Dst: HTX_SL_P2_PTR
      Src: /src/haproxy/src/mux_h1.c:413,1
    - Dst: HTX_SL_P3_LEN
      Src: /src/haproxy/src/mux_h1.c:414,1
    - Dst: HTX_SL_P3_PTR
      Src: /src/haproxy/src/mux_h1.c:414,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:418,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:420,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:421,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:423,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/mux_h1.c:424,1
    - Dst: human_time
      Src: /src/haproxy/src/mux_h1.c:425,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/mux_h1.c:425,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/mux_h1.c:425,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:427,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/mux_h1.c:428,1
    - Dst: human_time
      Src: /src/haproxy/src/mux_h1.c:429,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/mux_h1.c:429,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/mux_h1.c:429,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:431,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:433,1
    - Dst: se_fl_get
      Src: /src/haproxy/src/mux_h1.c:433,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:434,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:435,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:435,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:435,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:445,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:446,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h1.c:446,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_h1.c:447,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h1.c:447,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:450,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:451,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h1.c:451,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_h1.c:452,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h1.c:452,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:455,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h1.c:474,1
    - Dst: htx_dump
      Src: /src/haproxy/src/mux_h1.c:475,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 57
    argCount: 9
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - struct ist
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 477
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 477
    functionName: h1_trace
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_ptr
    - chunk_memcat
    - h1m_state_str
    - TICKS_TO_MS
    - HTX_SL_P3_PTR
    - human_time
    - b_orig
    - h1c_st_to_str
    - HTX_SL_P2_PTR
    - HTX_SL_P2_LEN
    - se_fl_get
    - HTX_SL_P3_LEN
    - htx_nbblks
    - chunk_appendf
    - h1s_sc
    - b_size
    - HTX_SL_P1_LEN
    - htx_get_head_blk
    - tick_is_expired
    - htx_get_blk_type
    - b_data
    - HTX_SL_P1_PTR
    - htx_dump
    - b_head_ofs
    linkageType: ''
    returnType: void
    signature: "h1_trace(enum trace_level level, uint64_t mask, const struct trace_source
      *src,\n                     const struct ist where, const struct ist func,\n
      \                    const void *a1, const void *a2, const void *a3, const void
      *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:501,1
    - Dst: sc_strm
      Src: /src/haproxy/src/mux_h1.c:502,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:502,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 6
    argNames:
    - ctx
    - src
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - struct trace_ctx*
    - struct trace_source*
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 504
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 504
    functionName: h1_trace_fill_ctx
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1s_sc
    - sc_strm
    linkageType: ''
    returnType: void
    signature: "h1_trace_fill_ctx(struct trace_ctx *ctx, const struct trace_source
      *src,\n                              const void *a1, const void *a2, const void
      *a3, const void *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:526,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:531,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 541
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 541
    functionName: h1_recv_allowed
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_DEVEL
    linkageType: ''
    returnType: int
    signature: h1_recv_allowed(const struct h1c *h1c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:559,1
    - Dst: h1_wake_stream_for_send
      Src: /src/haproxy/src/mux_h1.c:562,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:566,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h1.c:569,1
    - Dst: h1_recv_allowed
      Src: /src/haproxy/src/mux_h1.c:572,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:573,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h1.c:574,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - target
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 578
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 578
    functionName: h1_buf_available
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_recv_allowed
    - TRACE_STATE
    - h1_wake_stream_for_send
    - tasklet_wakeup
    linkageType: ''
    returnType: int
    signature: h1_buf_available(void *target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h1.c:591,1
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_h1.c:591,1
    - Dst: b_queue
      Src: /src/haproxy/src/mux_h1.c:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 600
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 600
    functionName: h1_get_ibuf
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - b_queue
    - unlikely
    - b_alloc
    linkageType: ''
    returnType: struct buffer
    signature: '*h1_get_ibuf(struct h1c *h1c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h1.c:610,1
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_h1.c:610,1
    - Dst: b_queue
      Src: /src/haproxy/src/mux_h1.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 619
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 619
    functionName: h1_get_obuf
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - b_queue
    - unlikely
    - b_alloc
    linkageType: ''
    returnType: struct buffer
    signature: '*h1_get_obuf(struct h1c *h1c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h1.c:630,1
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_h1.c:630,1
    - Dst: b_queue
      Src: /src/haproxy/src/mux_h1.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - h1s
    argTypes:
    - struct h1s*
    constantsTouched: []
    func_position:
      end: 639
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 639
    functionName: h1_get_rxbuf
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - b_queue
    - unlikely
    - b_alloc
    linkageType: ''
    returnType: struct buffer
    signature: '*h1_get_rxbuf(struct h1s *h1s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_free
      Src: /src/haproxy/src/mux_h1.c:648,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_h1.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - h1c
    - bptr
    argTypes:
    - struct h1c*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 651
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 651
    functionName: h1_release_buf
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - offer_buffers
    - b_free
    linkageType: ''
    returnType: void
    signature: h1_release_buf(struct h1c *h1c, struct buffer *bptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tevt_report_event
      Src: /src/haproxy/src/mux_h1.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h1c
    - type
    argTypes:
    - struct h1c*
    - enum muxc_term_event_type
    constantsTouched: []
    func_position:
      end: 660
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 660
    functionName: h1c_report_term_evt
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - tevt_report_event
    linkageType: ''
    returnType: void
    signature: h1c_report_term_evt(struct h1c *h1c, enum muxc_term_event_type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 668
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 668
    functionName: h1_is_alive
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: h1_is_alive(const struct h1c *h1c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: h1_close
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - b_data
    linkageType: ''
    returnType: void
    signature: h1_close(struct h1c *h1c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 689
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 689
    functionName: h1_used_streams
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: h1_used_streams(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1_used_streams
      Src: /src/haproxy/src/mux_h1.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 695
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 695
    functionName: h1_avail_streams
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_used_streams
    linkageType: ''
    returnType: int
    signature: h1_avail_streams(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1_is_alive
      Src: /src/haproxy/src/mux_h1.c:703,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_h1.c:708,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:709,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:712,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_h1.c:714,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:715,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h1.c:719,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_h1.c:719,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:720,1
    - Dst: tick_first
      Src: /src/haproxy/src/mux_h1.c:725,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_h1.c:725,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:726,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:735,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h1.c:739,1
    - Dst: tick_is_le
      Src: /src/haproxy/src/mux_h1.c:752,1
    - Dst: tick_add
      Src: /src/haproxy/src/mux_h1.c:756,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/mux_h1.c:756,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:757,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/mux_h1.c:764,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:767,1
    - Dst: task_queue
      Src: /src/haproxy/src/mux_h1.c:768,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 770
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 770
    functionName: h1_refresh_timeout
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - statistical_prng_range
    - tick_add
    - task_wakeup
    - tick_is_le
    - task_queue
    - tick_first
    - tick_isset
    - TRACE_DEVEL
    - b_data
    - tick_add_ifset
    - h1_is_alive
    linkageType: ''
    returnType: void
    signature: h1_refresh_timeout(struct h1c *h1c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:775,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h1.c:780,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:782,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h1.c:783,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_h1.c:784,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:785,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_h1.c:788,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:789,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h1.c:794,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_h1.c:795,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:796,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:801,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 803
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 803
    functionName: h1_set_idle_expiration
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - b_data
    - tick_add_ifset
    - TRACE_DEVEL
    - tick_isset
    linkageType: ''
    returnType: void
    signature: h1_set_idle_expiration(struct h1c *h1c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:821,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - h1s
    - h1m
    argTypes:
    - struct h1s*
    - struct h1m*
    constantsTouched: []
    func_position:
      end: 822
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 822
    functionName: h1s_set_se_eoi_cond
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - se_fl_set
    linkageType: ''
    returnType: void
    signature: h1s_set_se_eoi_cond(struct h1s *h1s, const struct h1m *h1m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h1s
    argTypes:
    - struct h1s*
    constantsTouched: []
    func_position:
      end: 831
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 831
    functionName: h1s_data_pending
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - b_data
    linkageType: ''
    returnType: size_t
    signature: h1s_data_pending(const struct h1s *h1s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:844,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:847,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:849,1
    - Dst: sc_new_from_endp
      Src: /src/haproxy/src/mux_h1.c:851,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:852,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:857,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:858,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - h1s
    - input
    argTypes:
    - struct h1s*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 863
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 863
    functionName: h1s_new_sc
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - h1s_sc
    - se_fl_set
    - TRACE_ERROR
    - TRACE_DEVEL
    - sc_new_from_endp
    linkageType: ''
    returnType: struct stconn
    signature: '*h1s_new_sc(struct h1s *h1s, struct buffer *input)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:867,1
    - Dst: stream_upgrade_from_sc
      Src: /src/haproxy/src/mux_h1.c:869,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:869,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:870,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:874,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:877,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:878,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - h1s
    - input
    argTypes:
    - struct h1s*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 883
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 883
    functionName: h1s_upgrade_sc
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - h1s_sc
    - stream_upgrade_from_sc
    - TRACE_ERROR
    - TRACE_DEVEL
    - TRACE_STATE
    linkageType: ''
    returnType: struct stconn
    signature: '*h1s_upgrade_sc(struct h1s *h1s, struct buffer *input)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:889,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/mux_h1.c:891,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:893,1
    - Dst: memset
      Src: /src/haproxy/src/mux_h1.c:903,1
    - Dst: h1m_init_req
      Src: /src/haproxy/src/mux_h1.c:905,1
    - Dst: h1m_init_res
      Src: /src/haproxy/src/mux_h1.c:908,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:918,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:922,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 924
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 924
    functionName: h1s_new
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - pool_alloc
    - h1m_init_req
    - TRACE_ERROR
    - TRACE_DEVEL
    - h1m_init_res
    - memset
    linkageType: ''
    returnType: struct h1s
    signature: '*h1s_new(struct h1c *h1c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:930,1
    - Dst: h1s_new
      Src: /src/haproxy/src/mux_h1.c:932,1
    - Dst: sc_attach_mux
      Src: /src/haproxy/src/mux_h1.c:937,1
    - Dst: sedesc_new
      Src: /src/haproxy/src/mux_h1.c:942,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:947,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:955,1
    - Dst: se_expect_no_data
      Src: /src/haproxy/src/mux_h1.c:956,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:962,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:963,1
    - Dst: h1_set_idle_expiration
      Src: /src/haproxy/src/mux_h1.c:966,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:968,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:969,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:973,1
    - Dst: h1s_destroy
      Src: /src/haproxy/src/mux_h1.c:974,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - h1c
    - sc
    - sess
    argTypes:
    - struct h1c*
    - struct stconn*
    - struct session*
    constantsTouched: []
    func_position:
      end: 976
      start: 926
    functionDepth: 2
    functionLinenumber: 926
    functionLinenumberEnd: 976
    functionName: h1c_frt_stream_new
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - sedesc_new
    - TRACE_LEAVE
    - sc_attach_mux
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - se_expect_no_data
    - h1_set_idle_expiration
    - se_fl_set
    - TRACE_DEVEL
    - h1s_new
    - TRACE_STATE
    - h1s_destroy
    linkageType: ''
    returnType: struct h1s
    signature: '*h1c_frt_stream_new(struct h1c *h1c, struct stconn *sc, struct session
      *sess)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:982,1
    - Dst: h1s_new
      Src: /src/haproxy/src/mux_h1.c:984,1
    - Dst: sc_attach_mux
      Src: /src/haproxy/src/mux_h1.c:988,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:996,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:1002,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:1003,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1005,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:1006,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:1010,1
    - Dst: h1s_destroy
      Src: /src/haproxy/src/mux_h1.c:1011,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - h1c
    - sc
    - sess
    argTypes:
    - struct h1c*
    - struct stconn*
    - struct session*
    constantsTouched: []
    func_position:
      end: 1013
      start: 978
    functionDepth: 2
    functionLinenumber: 978
    functionLinenumberEnd: 1013
    functionName: h1c_bck_stream_new
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - sc_attach_mux
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - se_fl_set
    - TRACE_DEVEL
    - h1s_new
    - TRACE_STATE
    - h1s_destroy
    linkageType: ''
    returnType: struct h1s
    signature: '*h1c_bck_stream_new(struct h1c *h1c, struct stconn *sc, struct session
      *sess)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h1.c:1020,1
    - Dst: h1_release_buf
      Src: /src/haproxy/src/mux_h1.c:1026,1
    - Dst: h1_is_alive
      Src: /src/haproxy/src/mux_h1.c:1034,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1040,1
    - Dst: h1_close
      Src: /src/haproxy/src/mux_h1.c:1043,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1044,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/mux_h1.c:1047,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:1048,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h1.c:1048,1
    - Dst: sedesc_free
      Src: /src/haproxy/src/mux_h1.c:1049,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_h1.c:1050,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - h1s
    argTypes:
    - struct h1s*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1052
    functionName: h1s_destroy
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 2
    functionsReached:
    - h1_release_buf
    - TRACE_POINT
    - h1_close
    - se_fl_test
    - pool_free
    - sedesc_free
    - HA_ATOMIC_DEC
    - TRACE_STATE
    - BUG_ON
    - h1_is_alive
    linkageType: ''
    returnType: void
    signature: h1s_destroy(struct h1s *h1s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:1064,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h1.c:1066,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1067,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1071,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1075,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1079,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1083,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1088,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:1092,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - h1s
    argTypes:
    - struct h1s*
    constantsTouched: []
    func_position:
      end: 1094
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1094
    functionName: h1s_must_shut_conn
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_STATE
    - TRACE_LEAVE
    - se_fl_test
    linkageType: ''
    returnType: int
    signature: h1s_must_shut_conn(struct h1s *h1s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:1107,1
    - Dst: h1s_destroy
      Src: /src/haproxy/src/mux_h1.c:1118,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:1132,1
    - Dst: h1_release_buf
      Src: /src/haproxy/src/mux_h1.c:1133,1
    - Dst: h1_close
      Src: /src/haproxy/src/mux_h1.c:1134,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:1135,1
    - Dst: session_add_conn
      Src: /src/haproxy/src/mux_h1.c:1141,1
    - Dst: struct h1c*::conn::mux::destroy
      Src: /src/haproxy/src/mux_h1.c:1143,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/mux_h1.c:1151,1
    - Dst: session_check_idle_conn
      Src: /src/haproxy/src/mux_h1.c:1152,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:1154,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/mux_h1.c:1165,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:1166,1
    - Dst: xprt_set_idle
      Src: /src/haproxy/src/mux_h1.c:1167,1
    - Dst: srv_add_to_idle_list
      Src: /src/haproxy/src/mux_h1.c:1169,1
    - Dst: objt_server
      Src: /src/haproxy/src/mux_h1.c:1169,1
    - Dst: struct h1c*::conn::mux::destroy
      Src: /src/haproxy/src/mux_h1.c:1171,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:1172,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:1187,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:1189,1
    - Dst: h1_release
      Src: /src/haproxy/src/mux_h1.c:1190,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h1.c:1198,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:1198,1
    - Dst: h1_process
      Src: /src/haproxy/src/mux_h1.c:1199,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:1205,1
    - Dst: h1_set_idle_expiration
      Src: /src/haproxy/src/mux_h1.c:1207,1
    - Dst: h1_refresh_timeout
      Src: /src/haproxy/src/mux_h1.c:1208,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:1211,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:1215,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 1
    argNames:
    - h1s
    argTypes:
    - struct h1s*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1101
    functionDepth: 3
    functionLinenumber: 1101
    functionLinenumberEnd: 1217
    functionName: h1s_finish_detach
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - h1_refresh_timeout
    - TRACE_LEAVE
    - h1_close
    - h1_set_idle_expiration
    - h1_process
    - xprt_set_idle
    - struct h1c*::conn::xprt::subscribe
    - objt_server
    - session_add_conn
    - srv_add_to_idle_list
    - b_data
    - TRACE_DEVEL
    - h1s_destroy
    - h1_release_buf
    - struct h1c*::conn::mux::destroy
    - h1_release
    - unlikely
    - session_check_idle_conn
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: h1s_finish_detach(struct h1s *h1s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:1235,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/mux_h1.c:1237,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:1239,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_h1.c:1255,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/mux_h1.c:1256,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_h1.c:1264,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h1.c:1267,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/mux_h1.c:1270,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h1.c:1274,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/mux_h1.c:1277,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_h1.c:1280,1
    - Dst: task_new_here
      Src: /src/haproxy/src/mux_h1.c:1284,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:1286,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_h1.c:1292,1
    - Dst: h1c_bck_stream_new
      Src: /src/haproxy/src/mux_h1.c:1298,1
    - Dst: h1c_frt_stream_new
      Src: /src/haproxy/src/mux_h1.c:1303,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:1308,1
    - Dst: h1_set_idle_expiration
      Src: /src/haproxy/src/mux_h1.c:1313,1
    - Dst: tick_first
      Src: /src/haproxy/src/mux_h1.c:1314,1
    - Dst: task_queue
      Src: /src/haproxy/src/mux_h1.c:1315,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:1319,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h1.c:1320,1
    - Dst: h1_recv_allowed
      Src: /src/haproxy/src/mux_h1.c:1321,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:1322,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_h1.c:1324,1
    - Dst: proxy_inc_fe_cum_sess_ver_ctr
      Src: /src/haproxy/src/mux_h1.c:1325,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:1326,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:1327,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:1330,1
    - Dst: task_destroy
      Src: /src/haproxy/src/mux_h1.c:1334,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_h1.c:1335,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_h1.c:1336,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_h1.c:1338,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_h1.c:1339,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:1341,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 91
    argCount: 4
    argNames:
    - conn
    - proxy
    - sess
    - input
    argTypes:
    - struct connection*
    - struct proxy*
    - struct session*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1228
    functionDepth: 3
    functionLinenumber: 1228
    functionLinenumberEnd: 1343
    functionName: h1_init
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - pool_alloc
    - EXTRA_COUNTERS_GET
    - tasklet_new
    - task_new_here
    - h1c_bck_stream_new
    - TRACE_LEAVE
    - proxy_inc_fe_cum_sess_ver_ctr
    - task_queue
    - h1_set_idle_expiration
    - h1c_frt_stream_new
    - LIST_DEL_INIT
    - struct h1c*::conn::xprt::subscribe
    - tasklet_free
    - tasklet_wakeup
    - pool_free
    - conn_is_back
    - LIST_INIT
    - tick_add_ifset
    - TRACE_DEVEL
    - b_data
    - h1_recv_allowed
    - LIST_APPEND
    - tick_first
    - TRACE_ERROR
    - task_destroy
    - tick_isset
    linkageType: ''
    returnType: int
    signature: "h1_init(struct connection *conn, struct proxy *proxy, struct session
      *sess,\n\t\t   struct buffer *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h1.c:1352,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:1359,1
    - Dst: struct connection*::xprt::unsubscribe
      Src: /src/haproxy/src/mux_h1.c:1362,1
    - Dst: conn_upgrade_mux_fe
      Src: /src/haproxy/src/mux_h1.c:1364,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:1364,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:1369,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h1.c:1370,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/mux_h1.c:1373,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:1373,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/mux_h1.c:1374,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:1374,1
    - Dst: b_dequeue
      Src: /src/haproxy/src/mux_h1.c:1376,1
    - Dst: h1_release_buf
      Src: /src/haproxy/src/mux_h1.c:1377,1
    - Dst: h1_release_buf
      Src: /src/haproxy/src/mux_h1.c:1378,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/mux_h1.c:1382,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_h1.c:1387,1
    - Dst: h1s_destroy
      Src: /src/haproxy/src/mux_h1.c:1391,1
    - Dst: struct connection*::xprt::unsubscribe
      Src: /src/haproxy/src/mux_h1.c:1394,1
    - Dst: h1_shutw_conn
      Src: /src/haproxy/src/mux_h1.c:1396,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/mux_h1.c:1399,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_h1.c:1400,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_h1.c:1403,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_h1.c:1404,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:1408,1
    - Dst: conn_stop_tracking
      Src: /src/haproxy/src/mux_h1.c:1410,1
    - Dst: conn_full_close
      Src: /src/haproxy/src/mux_h1.c:1411,1
    - Dst: struct connection*::destroy_cb
      Src: /src/haproxy/src/mux_h1.c:1413,1
    - Dst: conn_free
      Src: /src/haproxy/src/mux_h1.c:1414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 1416
      start: 1348
    functionDepth: 3
    functionLinenumber: 1348
    functionLinenumberEnd: 1416
    functionName: h1_release
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 1
    functionsReached:
    - h1_shutw_conn
    - struct connection*::destroy_cb
    - ist
    - conn_upgrade_mux_fe
    - sess_log
    - task_wakeup
    - HA_ATOMIC_DEC
    - LIST_DEL_INIT
    - COUNT_IF
    - TRACE_POINT
    - tasklet_free
    - pool_free
    - conn_stop_tracking
    - conn_is_back
    - TRACE_DEVEL
    - b_data
    - b_dequeue
    - h1_release_buf
    - conn_full_close
    - conn_free
    - TRACE_ERROR
    - struct connection*::xprt::unsubscribe
    - h1s_destroy
    linkageType: ''
    returnType: void
    signature: h1_release(struct h1c *h1c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/mux_h1.c:1428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - h1m
    - sl
    argTypes:
    - struct h1m*
    - struct htx_sl*
    constantsTouched: []
    func_position:
      end: 1432
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1432
    functionName: h1_parse_req_vsn
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - HTX_SL_REQ_VLEN
    linkageType: ''
    returnType: void
    signature: h1_parse_req_vsn(struct h1m *h1m, const struct htx_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HTX_SL_RES_VLEN
      Src: /src/haproxy/src/mux_h1.c:1441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - h1m
    - sl
    argTypes:
    - struct h1m*
    - struct htx_sl*
    constantsTouched: []
    func_position:
      end: 1445
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1445
    functionName: h1_parse_res_vsn
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - HTX_SL_RES_VLEN
    linkageType: ''
    returnType: void
    signature: h1_parse_res_vsn(struct h1m *h1m, const struct htx_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1470,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1479,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1485,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1494,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h1.c:1509,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/mux_h1.c:1515,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1523,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 2
    argNames:
    - h1s
    - h1m
    argTypes:
    - struct h1s*
    - struct h1m*
    constantsTouched: []
    func_position:
      end: 1526
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1526
    functionName: h1_set_cli_conn_mode
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - statistical_prng_range
    - tick_isset
    linkageType: ''
    returnType: void
    signature: h1_set_cli_conn_mode(struct h1s *h1s, struct h1m *h1m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1553,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1563,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1572,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1580,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1587,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 2
    argNames:
    - h1s
    - h1m
    argTypes:
    - struct h1s*
    - struct h1m*
    constantsTouched: []
    func_position:
      end: 1589
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1589
    functionName: h1_set_srv_conn_mode
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    linkageType: ''
    returnType: void
    signature: h1_set_srv_conn_mode(struct h1s *h1s, struct h1m *h1m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1603,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:1604,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1609,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:1610,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - h1s
    - h1m
    - conn_val
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct ist*
    constantsTouched: []
    func_position:
      end: 1613
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1613
    functionName: h1_update_req_conn_value
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - ist
    linkageType: ''
    returnType: void
    signature: h1_update_req_conn_value(struct h1s *h1s, struct h1m *h1m, struct ist
      *conn_val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1626,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:1627,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1632,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:1633,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - h1s
    - h1m
    - conn_val
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct ist*
    constantsTouched: []
    func_position:
      end: 1636
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1636
    functionName: h1_update_res_conn_value
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - ist
    linkageType: ''
    returnType: void
    signature: h1_update_res_conn_value(struct h1s *h1s, struct h1m *h1m, struct ist
      *conn_val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1_set_cli_conn_mode
      Src: /src/haproxy/src/mux_h1.c:1641,1
    - Dst: h1_set_srv_conn_mode
      Src: /src/haproxy/src/mux_h1.c:1643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - h1s
    - h1m
    - htx
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1644
      start: 1638
    functionDepth: 2
    functionLinenumber: 1638
    functionLinenumberEnd: 1644
    functionName: h1_process_input_conn_mode
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_set_srv_conn_mode
    - h1_set_cli_conn_mode
    linkageType: ''
    returnType: void
    signature: h1_process_input_conn_mode(struct h1s *h1s, struct h1m *h1m, struct
      htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1_set_cli_conn_mode
      Src: /src/haproxy/src/mux_h1.c:1649,1
    - Dst: h1_set_srv_conn_mode
      Src: /src/haproxy/src/mux_h1.c:1651,1
    - Dst: h1_update_req_conn_value
      Src: /src/haproxy/src/mux_h1.c:1654,1
    - Dst: h1_update_res_conn_value
      Src: /src/haproxy/src/mux_h1.c:1656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - h1s
    - h1m
    - conn_val
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct ist*
    constantsTouched: []
    func_position:
      end: 1657
      start: 1646
    functionDepth: 2
    functionLinenumber: 1646
    functionLinenumberEnd: 1657
    functionName: h1_process_output_conn_mode
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_set_srv_conn_mode
    - h1_update_req_conn_value
    - h1_set_cli_conn_mode
    - h1_update_res_conn_value
    linkageType: ''
    returnType: void
    signature: h1_process_output_conn_mode(struct h1s *h1s, struct h1m *h1m, struct
      ist *conn_val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_h1.c:1668,1
    - Dst: ebis_lookup_len
      Src: /src/haproxy/src/mux_h1.c:1679,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_h1.c:1682,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - h1s
    - h1m
    - name
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct ist*
    constantsTouched: []
    func_position:
      end: 1685
      start: 1662
    functionDepth: 1
    functionLinenumber: 1662
    functionLinenumberEnd: 1685
    functionName: h1_adjust_case_outgoing_hdr
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - container_of
    - ebis_lookup_len
    - eb_is_empty
    linkageType: ''
    returnType: void
    signature: h1_adjust_case_outgoing_hdr(struct h1s *h1s, struct h1m *h1m, struct
      ist *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:1693,1
    - Dst: h1m_state_str
      Src: /src/haproxy/src/mux_h1.c:1698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - es
    argTypes:
    - struct buffer*
    - struct error_snapshot*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1691
    functionDepth: 1
    functionLinenumber: 1691
    functionLinenumberEnd: 1700
    functionName: h1_show_error_snapshot
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1m_state_str
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: h1_show_error_snapshot(struct buffer *out, const struct error_snapshot
      *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_strm
      Src: /src/haproxy/src/mux_h1.c:1719,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:1719,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/mux_h1.c:1721,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:1721,1
    - Dst: proxy_capture_error
      Src: /src/haproxy/src/mux_h1.c:1735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - h1c
    - h1s
    - h1m
    - buf
    argTypes:
    - struct h1c*
    - struct h1s*
    - struct h1m*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1739
      start: 1709
    functionDepth: 1
    functionLinenumber: 1709
    functionLinenumberEnd: 1739
    functionName: h1_capture_bad_message
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - __sc_strm
    - h1s_sc
    - proxy_capture_error
    linkageType: ''
    returnType: void
    signature: "h1_capture_bad_message(struct h1c *h1c, struct h1s *h1s,\n\t\t\t\t
      \  struct h1m *h1m, struct buffer *buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_head
      Src: /src/haproxy/src/mux_h1.c:1754,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h1.c:1769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - chksz
    - length
    argTypes:
    - struct buffer*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1770
      start: 1750
    functionDepth: 1
    functionLinenumber: 1750
    functionLinenumberEnd: 1770
    functionName: h1_prepend_chunk_size
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - b_head
    - b_add
    linkageType: ''
    returnType: void
    signature: h1_prepend_chunk_size(struct buffer *buf, size_t chksz, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h1.c:1787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - chksz
    argTypes:
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 1788
      start: 1775
    functionDepth: 1
    functionLinenumber: 1775
    functionLinenumberEnd: 1788
    functionName: h1_append_chunk_size
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - chunk_memcat
    linkageType: ''
    returnType: int
    signature: h1_append_chunk_size(struct buffer *buf, size_t chksz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_head
      Src: /src/haproxy/src/mux_h1.c:1798,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h1.c:1802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1803
      start: 1794
    functionDepth: 1
    functionLinenumber: 1794
    functionLinenumberEnd: 1803
    functionName: h1_prepend_chunk_crlf
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - b_head
    - b_add
    linkageType: ''
    returnType: void
    signature: h1_prepend_chunk_crlf(struct buffer *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek
      Src: /src/haproxy/src/mux_h1.c:1810,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:1810,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_h1.c:1811,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:1811,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h1.c:1812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1813
      start: 1808
    functionDepth: 1
    functionLinenumber: 1808
    functionLinenumberEnd: 1813
    functionName: h1_append_chunk_crlf
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - b_add
    - b_peek
    - b_data
    linkageType: ''
    returnType: void
    signature: h1_append_chunk_crlf(struct buffer *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1829,1
    - Dst: h1_wake_stream_for_recv
      Src: /src/haproxy/src/mux_h1.c:1833,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1834,1
    - Dst: h1_wake_stream_for_send
      Src: /src/haproxy/src/mux_h1.c:1838,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - h1s
    argTypes:
    - struct h1s*
    constantsTouched: []
    func_position:
      end: 1841
      start: 1819
    functionDepth: 1
    functionLinenumber: 1819
    functionLinenumberEnd: 1841
    functionName: h1_set_tunnel_mode
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - h1_wake_stream_for_send
    - h1_wake_stream_for_recv
    linkageType: ''
    returnType: void
    signature: h1_set_tunnel_mode(struct h1s *h1s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_head
      Src: /src/haproxy/src/mux_h1.c:1862,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/mux_h1.c:1863,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/mux_h1.c:1864,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h1.c:1865,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/mux_h1.c:1873,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/mux_h1.c:1874,1
    - Dst: isteqi
      Src: /src/haproxy/src/mux_h1.c:1877,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:1877,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h1.c:1883,1
    - Dst: isteqi
      Src: /src/haproxy/src/mux_h1.c:1887,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:1887,1
    - Dst: h1_calculate_ws_output_key
      Src: /src/haproxy/src/mux_h1.c:1894,1
    - Dst: isteqi
      Src: /src/haproxy/src/mux_h1.c:1895,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:1895,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - h1s
    - h1m
    - htx
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1908
      start: 1855
    functionDepth: 1
    functionLinenumber: 1855
    functionLinenumberEnd: 1908
    functionName: h1_search_websocket_key
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - htx_get_head
    - h1_calculate_ws_output_key
    - htx_get_blk_name
    - ist
    - htx_get_blk
    - htx_get_blk_type
    - htx_get_blk_value
    - memcpy
    - isteqi
    - htx_get_next
    linkageType: ''
    returnType: int
    signature: h1_search_websocket_key(struct h1s *h1s, struct h1m *h1m, struct htx
      *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:1922,1
    - Dst: h1_parse_msg_hdrs
      Src: /src/haproxy/src/mux_h1.c:1929,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:1931,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:1936,1
    - Dst: h1_capture_bad_message
      Src: /src/haproxy/src/mux_h1.c:1937,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:1940,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:1961,1
    - Dst: h1_capture_bad_message
      Src: /src/haproxy/src/mux_h1.c:1962,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:1977,1
    - Dst: h1_capture_bad_message
      Src: /src/haproxy/src/mux_h1.c:1978,1
    - Dst: h1_capture_bad_message
      Src: /src/haproxy/src/mux_h1.c:1989,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:1995,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:2001,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2013,1
    - Dst: h1_capture_bad_message
      Src: /src/haproxy/src/mux_h1.c:2014,1
    - Dst: h1_process_input_conn_mode
      Src: /src/haproxy/src/mux_h1.c:2027,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:2031,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 79
    argCount: 6
    argNames:
    - h1s
    - h1m
    - htx
    - buf
    - ofs
    - max
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct htx*
    - struct buffer*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2033
      start: 1916
    functionDepth: 3
    functionLinenumber: 1916
    functionLinenumberEnd: 2033
    functionName: h1_handle_headers
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_process_input_conn_mode
    - h1_capture_bad_message
    - TRACE_LEAVE
    - TRACE_ENTER
    - h1_parse_msg_hdrs
    - TRACE_ERROR
    - TRACE_DEVEL
    - TRACE_STATE
    linkageType: ''
    returnType: size_t
    signature: "h1_handle_headers(struct h1s *h1s, struct h1m *h1m, struct htx *htx,\n\t\t\t\tstruct
      buffer *buf, size_t *ofs, size_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:2046,1
    - Dst: h1_parse_msg_data
      Src: /src/haproxy/src/mux_h1.c:2047,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:2049,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:2052,1
    - Dst: h1_capture_bad_message
      Src: /src/haproxy/src/mux_h1.c:2053,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:2061,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2062,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:2066,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 7
    argNames:
    - h1s
    - h1m
    - htx
    - buf
    - ofs
    - max
    - htxbuf
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct htx**
    - struct buffer*
    - size_t*
    - size_t
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 2068
      start: 2040
    functionDepth: 2
    functionLinenumber: 2040
    functionLinenumberEnd: 2068
    functionName: h1_handle_data
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - h1_capture_bad_message
    - TRACE_LEAVE
    - TRACE_ENTER
    - TRACE_ERROR
    - TRACE_DEVEL
    - b_data
    - h1_parse_msg_data
    linkageType: ''
    returnType: size_t
    signature: "h1_handle_data(struct h1s *h1s, struct h1m *h1m, struct htx **htx,\n\t\t\t
      \    struct buffer *buf, size_t *ofs, size_t max,\n\t\t\t     struct buffer
      *htxbuf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:2082,1
    - Dst: h1_parse_msg_tlrs
      Src: /src/haproxy/src/mux_h1.c:2083,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:2085,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:2088,1
    - Dst: h1_capture_bad_message
      Src: /src/haproxy/src/mux_h1.c:2089,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2092,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:2102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 6
    argNames:
    - h1s
    - h1m
    - htx
    - buf
    - ofs
    - max
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct htx*
    - struct buffer*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 2104
      start: 2077
    functionDepth: 2
    functionLinenumber: 2077
    functionLinenumberEnd: 2104
    functionName: h1_handle_trailers
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_capture_bad_message
    - TRACE_LEAVE
    - TRACE_ENTER
    - TRACE_ERROR
    - TRACE_DEVEL
    - h1_parse_msg_tlrs
    - TRACE_STATE
    linkageType: ''
    returnType: size_t
    signature: "h1_handle_trailers(struct h1s *h1s, struct h1m *h1m, struct htx *htx,\n\t\t\t\t
      struct buffer *buf, size_t *ofs, size_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_h1.c:2122,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:2123,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:2141,1
    - Dst: h1_handle_headers
      Src: /src/haproxy/src/mux_h1.c:2142,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h1.c:2146,1
    - Dst: h1m_init_res
      Src: /src/haproxy/src/mux_h1.c:2151,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2153,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:2157,1
    - Dst: h1_handle_data
      Src: /src/haproxy/src/mux_h1.c:2158,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:2162,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:2166,1
    - Dst: h1_handle_trailers
      Src: /src/haproxy/src/mux_h1.c:2167,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:2171,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h1.c:2175,1
    - Dst: se_expect_data
      Src: /src/haproxy/src/mux_h1.c:2182,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2188,1
    - Dst: h1_capture_bad_message
      Src: /src/haproxy/src/mux_h1.c:2191,1
    - Dst: h1_set_tunnel_mode
      Src: /src/haproxy/src/mux_h1.c:2194,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2200,1
    - Dst: h1_wake_stream_for_send
      Src: /src/haproxy/src/mux_h1.c:2204,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2205,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:2211,1
    - Dst: h1_handle_data
      Src: /src/haproxy/src/mux_h1.c:2212,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:2216,1
    - Dst: htx_used_space
      Src: /src/haproxy/src/mux_h1.c:2224,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:2229,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:2232,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:2234,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:2236,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:2240,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:2242,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:2244,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_h1.c:2249,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:2251,1
    - Dst: buf_room_for_htx_data
      Src: /src/haproxy/src/mux_h1.c:2254,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2256,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:2257,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:2260,1
    - Dst: h1_release_buf
      Src: /src/haproxy/src/mux_h1.c:2261,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:2271,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:2274,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:2275,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:2275,1
    - Dst: h1s_new_sc
      Src: /src/haproxy/src/mux_h1.c:2276,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:2282,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:2283,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:2283,1
    - Dst: h1s_upgrade_sc
      Src: /src/haproxy/src/mux_h1.c:2284,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:2286,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2297,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:2298,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2301,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/mux_h1.c:2302,1
    - Dst: h1s_set_se_eoi_cond
      Src: /src/haproxy/src/mux_h1.c:2306,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:2316,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2317,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/mux_h1.c:2320,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:2323,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2324,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:2328,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2329,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:2332,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:2334,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:2335,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h1.c:2339,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:2340,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:2341,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:2344,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:2345,1
    - Dst: h1_wake_stream_for_send
      Src: /src/haproxy/src/mux_h1.c:2351,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2352,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:2357,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h1.c:2359,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:2360,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:2361,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:2364,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:2365,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2367,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_h1.c:2372,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:2373,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_h1.c:2377,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:2378,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:2379,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 197
    argCount: 3
    argNames:
    - h1c
    - buf
    - count
    argTypes:
    - struct h1c*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 2381
      start: 2113
    functionDepth: 4
    functionLinenumber: 2113
    functionLinenumberEnd: 2381
    functionName: h1_process_demux
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1s_new_sc
    - TRACE_ENTER
    - h1s_upgrade_sc
    - se_report_term_evt
    - htx_to_buf
    - h1_handle_data
    - BUG_ON
    - TRACE_LEAVE
    - se_expect_data
    - h1_handle_trailers
    - se_fl_test
    - htx_from_buf
    - h1s_sc
    - h1_capture_bad_message
    - struct h1c*::conn::xprt::subscribe
    - h1_handle_headers
    - h1_wake_stream_for_send
    - TRACE_DEVEL
    - b_data
    - h1m_init_res
    - buf_room_for_htx_data
    - h1_release_buf
    - TRACE_USER
    - htx_used_space
    - se_fl_clr
    - TRACE_PROTO
    - h1s_set_se_eoi_cond
    - b_del
    - se_fl_set
    - TRACE_ERROR
    - h1c_report_term_evt
    - TRACE_STATE
    - h1_set_tunnel_mode
    linkageType: ''
    returnType: size_t
    signature: h1_process_demux(struct h1c *h1c, struct buffer *buf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:2397,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h1.c:2400,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h1.c:2403,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_h1.c:2404,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h1.c:2412,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h1.c:2414,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_h1.c:2415,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:2415,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_h1.c:2416,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_h1.c:2416,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h1.c:2416,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/mux_h1.c:2418,1
    - Dst: h1_format_htx_reqline
      Src: /src/haproxy/src/mux_h1.c:2419,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h1.c:2422,1
    - Dst: h1_parse_req_vsn
      Src: /src/haproxy/src/mux_h1.c:2425,1
    - Dst: h1_wake_stream_for_recv
      Src: /src/haproxy/src/mux_h1.c:2444,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2445,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_h1.c:2450,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:2453,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2457,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:2464,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:2465,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 4
    argNames:
    - h1s
    - h1m
    - htx
    - count
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct htx*
    - size_t
    constantsTouched: []
    func_position:
      end: 2468
      start: 2387
    functionDepth: 1
    functionLinenumber: 2387
    functionLinenumberEnd: 2468
    functionName: h1_make_reqline
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_ptr
    - TRACE_ENTER
    - b_contig_space
    - TRACE_LEAVE
    - b_tail
    - htx_get_blksz
    - htx_get_head_blk
    - h1_wake_stream_for_recv
    - htx_get_blk_type
    - b_slow_realign
    - h1_format_htx_reqline
    - b_data
    - b_space_wraps
    - TRACE_USER
    - b_make
    - b_add
    - se_fl_set
    - TRACE_ERROR
    - h1_parse_req_vsn
    - TRACE_STATE
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: h1_make_reqline(struct h1s *h1s, struct h1m *h1m, struct htx *htx,
      size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:2484,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h1.c:2487,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h1.c:2491,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_h1.c:2492,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h1.c:2501,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h1.c:2503,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_h1.c:2504,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:2504,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_h1.c:2505,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_h1.c:2505,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h1.c:2505,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/mux_h1.c:2507,1
    - Dst: h1_format_htx_stline
      Src: /src/haproxy/src/mux_h1.c:2508,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h1.c:2511,1
    - Dst: h1_parse_res_vsn
      Src: /src/haproxy/src/mux_h1.c:2514,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_h1.c:2532,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:2535,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2539,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:2546,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:2547,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 4
    argNames:
    - h1s
    - h1m
    - htx
    - count
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct htx*
    - size_t
    constantsTouched: []
    func_position:
      end: 2550
      start: 2474
    functionDepth: 1
    functionLinenumber: 2474
    functionLinenumberEnd: 2550
    functionName: h1_make_stline
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_ptr
    - TRACE_ENTER
    - h1_format_htx_stline
    - b_contig_space
    - TRACE_LEAVE
    - b_tail
    - h1_parse_res_vsn
    - htx_get_blksz
    - htx_get_head_blk
    - htx_get_blk_type
    - b_slow_realign
    - b_data
    - b_space_wraps
    - TRACE_USER
    - b_make
    - b_add
    - se_fl_set
    - TRACE_ERROR
    - TRACE_STATE
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: h1_make_stline(struct h1s *h1s, struct h1m *h1m, struct htx *htx, size_t
      count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:2566,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h1.c:2568,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_h1.c:2569,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:2569,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_h1.c:2570,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_h1.c:2570,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h1.c:2570,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h1.c:2572,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h1.c:2574,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_h1.c:2575,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/mux_h1.c:2581,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/mux_h1.c:2582,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h1.c:2588,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2588,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2595,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h1.c:2598,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2598,1
    - Dst: h1_parse_cont_len_header
      Src: /src/haproxy/src/mux_h1.c:2606,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h1.c:2612,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2612,1
    - Dst: h1_parse_connection_header
      Src: /src/haproxy/src/mux_h1.c:2613,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h1.c:2617,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2617,1
    - Dst: h1_parse_upgrade_header
      Src: /src/haproxy/src/mux_h1.c:2618,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h1.c:2620,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2620,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h1.c:2621,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2621,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h1.c:2624,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2624,1
    - Dst: istist
      Src: /src/haproxy/src/mux_h1.c:2628,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2628,1
    - Dst: isttest
      Src: /src/haproxy/src/mux_h1.c:2629,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2631,1
    - Dst: isttest
      Src: /src/haproxy/src/mux_h1.c:2635,1
    - Dst: isteqi
      Src: /src/haproxy/src/mux_h1.c:2636,1
    - Dst: h1_adjust_case_outgoing_hdr
      Src: /src/haproxy/src/mux_h1.c:2641,1
    - Dst: h1_format_htx_hdr
      Src: /src/haproxy/src/mux_h1.c:2642,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_h1.c:2657,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h1.c:2661,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:2664,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2668,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:2676,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:2677,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 113
    argCount: 4
    argNames:
    - h1s
    - h1m
    - htx
    - count
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct htx*
    - size_t
    constantsTouched: []
    func_position:
      end: 2680
      start: 2556
    functionDepth: 2
    functionLinenumber: 2556
    functionLinenumberEnd: 2680
    functionName: h1_make_headers
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_parse_upgrade_header
    - h1_parse_cont_len_header
    - TRACE_ENTER
    - isttest
    - ist
    - htx_get_blk_value
    - b_contig_space
    - isteqi
    - TRACE_LEAVE
    - isteq
    - istist
    - b_tail
    - h1_format_htx_hdr
    - htx_get_blksz
    - htx_get_head_blk
    - h1_parse_connection_header
    - b_slow_realign
    - htx_get_blk_type
    - b_data
    - b_space_wraps
    - h1_adjust_case_outgoing_hdr
    - htx_get_blk_name
    - b_make
    - b_add
    - se_fl_set
    - TRACE_ERROR
    - TRACE_STATE
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: h1_make_headers(struct h1s *h1s, struct h1m *h1m, struct htx *htx,
      size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:2696,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h1.c:2699,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h1.c:2703,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_h1.c:2704,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h1.c:2713,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_h1.c:2714,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:2714,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_h1.c:2715,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_h1.c:2715,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h1.c:2715,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2720,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2737,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2741,1
    - Dst: h1_adjust_case_outgoing_hdr
      Src: /src/haproxy/src/mux_h1.c:2743,1
    - Dst: h1_format_htx_hdr
      Src: /src/haproxy/src/mux_h1.c:2744,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2744,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2750,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2762,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2768,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2772,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2773,1
    - Dst: h1_process_output_conn_mode
      Src: /src/haproxy/src/mux_h1.c:2774,1
    - Dst: h1_adjust_case_outgoing_hdr
      Src: /src/haproxy/src/mux_h1.c:2778,1
    - Dst: h1_format_htx_hdr
      Src: /src/haproxy/src/mux_h1.c:2779,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2797,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2798,1
    - Dst: h1_adjust_case_outgoing_hdr
      Src: /src/haproxy/src/mux_h1.c:2800,1
    - Dst: h1_format_htx_hdr
      Src: /src/haproxy/src/mux_h1.c:2801,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2803,1
    - Dst: isttest
      Src: /src/haproxy/src/mux_h1.c:2809,1
    - Dst: objt_server
      Src: /src/haproxy/src/mux_h1.c:2810,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2814,1
    - Dst: h1_adjust_case_outgoing_hdr
      Src: /src/haproxy/src/mux_h1.c:2818,1
    - Dst: h1_format_htx_hdr
      Src: /src/haproxy/src/mux_h1.c:2819,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2822,1
    - Dst: h1_generate_random_ws_input_key
      Src: /src/haproxy/src/mux_h1.c:2834,1
    - Dst: h1_format_htx_hdr
      Src: /src/haproxy/src/mux_h1.c:2836,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2836,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2837,1
    - Dst: h1_calculate_ws_output_key
      Src: /src/haproxy/src/mux_h1.c:2846,1
    - Dst: h1_format_htx_hdr
      Src: /src/haproxy/src/mux_h1.c:2847,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2847,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:2848,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h1.c:2860,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2867,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h1.c:2871,1
    - Dst: h1_set_tunnel_mode
      Src: /src/haproxy/src/mux_h1.c:2876,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h1.c:2880,1
    - Dst: h1m_init_res
      Src: /src/haproxy/src/mux_h1.c:2883,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2886,1
    - Dst: htx_is_unique_blk
      Src: /src/haproxy/src/mux_h1.c:2888,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h1.c:2895,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h1.c:2898,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h1.c:2903,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:2908,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_h1.c:2911,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h1.c:2914,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:2916,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:2920,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:2927,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:2928,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 174
    argCount: 4
    argNames:
    - h1s
    - h1m
    - htx
    - count
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct htx*
    - size_t
    constantsTouched: []
    func_position:
      end: 2931
      start: 2686
    functionDepth: 3
    functionLinenumber: 2686
    functionLinenumberEnd: 2931
    functionName: h1_make_eoh
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_calculate_ws_output_key
    - TRACE_ENTER
    - h1_process_output_conn_mode
    - isttest
    - chunk_memcat
    - ist
    - htx_is_unique_blk
    - b_contig_space
    - TRACE_LEAVE
    - b_tail
    - h1_format_htx_hdr
    - htx_get_blksz
    - htx_get_head_blk
    - objt_server
    - htx_get_blk_type
    - b_slow_realign
    - b_data
    - h1_generate_random_ws_input_key
    - h1m_init_res
    - b_space_wraps
    - h1_adjust_case_outgoing_hdr
    - b_make
    - TRACE_PROTO
    - b_add
    - se_fl_set
    - TRACE_ERROR
    - TRACE_STATE
    - h1_set_tunnel_mode
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: h1_make_eoh(struct h1s *h1s, struct h1m *h1m, struct htx *htx, size_t
      count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_h1.c:2941,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:2949,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h1.c:2950,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:2963,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/mux_h1.c:2965,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h1.c:2966,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/mux_h1.c:2967,1
    - Dst: htx_reset
      Src: /src/haproxy/src/mux_h1.c:2982,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/mux_h1.c:2987,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:2988,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/mux_h1.c:3011,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:3012,1
    - Dst: h1_prepend_chunk_size
      Src: /src/haproxy/src/mux_h1.c:3021,1
    - Dst: h1_prepend_chunk_crlf
      Src: /src/haproxy/src/mux_h1.c:3023,1
    - Dst: h1_append_chunk_crlf
      Src: /src/haproxy/src/mux_h1.c:3032,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/mux_h1.c:3039,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:3040,1
    - Dst: b_putblk
      Src: /src/haproxy/src/mux_h1.c:3045,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:3052,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h1.c:3056,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_h1.c:3057,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3057,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_h1.c:3058,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_h1.c:3058,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h1.c:3058,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/mux_h1.c:3064,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:3065,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h1.c:3069,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h1.c:3078,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_h1.c:3079,1
    - Dst: htx_is_unique_blk
      Src: /src/haproxy/src/mux_h1.c:3086,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:3089,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:3095,1
    - Dst: h1_append_chunk_size
      Src: /src/haproxy/src/mux_h1.c:3104,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_h1.c:3123,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_h1.c:3125,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_h1.c:3127,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/mux_h1.c:3131,1
    - Dst: h1_format_htx_data
      Src: /src/haproxy/src/mux_h1.c:3133,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/mux_h1.c:3138,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:3139,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h1.c:3149,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/mux_h1.c:3155,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:3156,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h1.c:3160,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h1.c:3176,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_h1.c:3191,1
    - Dst: htx_cut_data_blk
      Src: /src/haproxy/src/mux_h1.c:3193,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_h1.c:3194,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:3203,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h1.c:3204,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:3206,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3209,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:3216,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:3217,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 208
    argCount: 4
    argNames:
    - h1s
    - h1m
    - buf
    - count
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 3220
      start: 2938
    functionDepth: 2
    functionLinenumber: 2938
    functionLinenumberEnd: 3220
    functionName: h1_make_data
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - b_room
    - TRACE_ENTER
    - chunk_memcat
    - htx_reset
    - h1_append_chunk_crlf
    - htx_is_unique_blk
    - htx_get_blk_value
    - b_contig_space
    - TRACE_LEAVE
    - htx_from_buf
    - htx_nbblks
    - b_tail
    - h1_prepend_chunk_size
    - COUNT_IF
    - htx_cut_data_blk
    - htx_get_blksz
    - htx_get_head_blk
    - htx_get_blk_type
    - b_slow_realign
    - b_data
    - TRACE_DEVEL
    - h1_prepend_chunk_crlf
    - h1_append_chunk_size
    - b_space_wraps
    - h1_format_htx_data
    - b_putblk
    - b_make
    - TRACE_PROTO
    - b_add
    - se_fl_set
    - TRACE_ERROR
    - TRACE_STATE
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: h1_make_data(struct h1s *h1s, struct h1m *h1m, struct buffer *buf,
      size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_h1.c:3230,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:3238,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h1.c:3240,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3251,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/mux_h1.c:3252,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h1.c:3253,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_h1.c:3254,1
    - Dst: htx_reset
      Src: /src/haproxy/src/mux_h1.c:3266,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:3269,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h1.c:3273,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_h1.c:3274,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3274,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_h1.c:3275,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_h1.c:3275,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h1.c:3275,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h1.c:3280,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_h1.c:3281,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_h1.c:3290,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_h1.c:3292,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/mux_h1.c:3295,1
    - Dst: h1_format_htx_data
      Src: /src/haproxy/src/mux_h1.c:3297,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_h1.c:3309,1
    - Dst: htx_cut_data_blk
      Src: /src/haproxy/src/mux_h1.c:3311,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:3317,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h1.c:3318,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:3321,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3325,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:3333,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:3334,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 4
    argNames:
    - h1s
    - h1m
    - buf
    - count
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 3337
      start: 3227
    functionDepth: 1
    functionLinenumber: 3227
    functionLinenumberEnd: 3337
    functionName: h1_make_tunnel
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - b_room
    - TRACE_ENTER
    - htx_reset
    - htx_get_blk_value
    - b_contig_space
    - TRACE_LEAVE
    - htx_from_buf
    - htx_nbblks
    - b_tail
    - htx_cut_data_blk
    - htx_get_blksz
    - htx_get_head_blk
    - htx_get_blk_type
    - b_slow_realign
    - b_data
    - b_space_wraps
    - h1_format_htx_data
    - b_make
    - TRACE_PROTO
    - b_add
    - se_fl_set
    - TRACE_ERROR
    - TRACE_STATE
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: h1_make_tunnel(struct h1s *h1s, struct h1m *h1m, struct buffer *buf,
      size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:3353,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h1.c:3355,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_h1.c:3356,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3356,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/mux_h1.c:3357,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_h1.c:3358,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_h1.c:3358,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h1.c:3358,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h1.c:3360,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h1.c:3362,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_h1.c:3363,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/mux_h1.c:3374,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/mux_h1.c:3375,1
    - Dst: h1_adjust_case_outgoing_hdr
      Src: /src/haproxy/src/mux_h1.c:3379,1
    - Dst: h1_format_htx_hdr
      Src: /src/haproxy/src/mux_h1.c:3380,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:3387,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h1.c:3391,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:3393,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_h1.c:3406,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h1.c:3410,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:3413,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3417,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:3425,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:3426,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 69
    argCount: 4
    argNames:
    - h1s
    - h1m
    - htx
    - count
    argTypes:
    - struct h1s*
    - struct h1m*
    - struct htx*
    - size_t
    constantsTouched: []
    func_position:
      end: 3429
      start: 3343
    functionDepth: 2
    functionLinenumber: 3343
    functionLinenumberEnd: 3429
    functionName: h1_make_trailers
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - TRACE_ENTER
    - chunk_memcat
    - htx_get_blk_value
    - b_contig_space
    - TRACE_LEAVE
    - b_tail
    - h1_format_htx_hdr
    - htx_get_blksz
    - htx_get_head_blk
    - b_slow_realign
    - htx_get_blk_type
    - b_data
    - b_space_wraps
    - h1_adjust_case_outgoing_hdr
    - htx_get_blk_name
    - b_make
    - TRACE_PROTO
    - b_add
    - se_fl_set
    - TRACE_ERROR
    - TRACE_STATE
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: h1_make_trailers(struct h1s *h1s, struct h1m *h1m, struct htx *htx,
      size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:3440,1
    - Dst: h1_get_obuf
      Src: /src/haproxy/src/mux_h1.c:3442,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3443,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h1.c:3447,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_h1.c:3448,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3448,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_h1.c:3449,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_h1.c:3449,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h1.c:3449,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h1.c:3452,1
    - Dst: h1_append_chunk_size
      Src: /src/haproxy/src/mux_h1.c:3456,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h1.c:3461,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h1.c:3462,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:3466,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3469,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - h1s
    - h1m
    - len
    argTypes:
    - struct h1s*
    - struct h1m*
    - size_t
    constantsTouched: []
    func_position:
      end: 3472
      start: 3434
    functionDepth: 2
    functionLinenumber: 3434
    functionLinenumberEnd: 3472
    functionName: h1_make_chunk
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - b_make
    - h1_append_chunk_size
    - TRACE_ENTER
    - chunk_memcat
    - TRACE_PROTO
    - b_add
    - b_slow_realign
    - b_tail
    - b_data
    - b_contig_space
    - TRACE_STATE
    - h1_get_obuf
    - b_space_wraps
    linkageType: ''
    returnType: size_t
    signature: h1_make_chunk(struct h1s *h1s, struct h1m * h1m, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/mux_h1.c:3486,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:3487,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h1.c:3489,1
    - Dst: h1_get_obuf
      Src: /src/haproxy/src/mux_h1.c:3495,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3496,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h1.c:3503,1
    - Dst: h1_make_reqline
      Src: /src/haproxy/src/mux_h1.c:3506,1
    - Dst: h1_make_stline
      Src: /src/haproxy/src/mux_h1.c:3510,1
    - Dst: h1_make_headers
      Src: /src/haproxy/src/mux_h1.c:3514,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h1.c:3515,1
    - Dst: h1_make_eoh
      Src: /src/haproxy/src/mux_h1.c:3516,1
    - Dst: h1_make_eoh
      Src: /src/haproxy/src/mux_h1.c:3520,1
    - Dst: h1_make_data
      Src: /src/haproxy/src/mux_h1.c:3526,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_h1.c:3528,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h1.c:3529,1
    - Dst: h1_make_trailers
      Src: /src/haproxy/src/mux_h1.c:3530,1
    - Dst: h1_make_tunnel
      Src: /src/haproxy/src/mux_h1.c:3534,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_h1.c:3536,1
    - Dst: h1_make_trailers
      Src: /src/haproxy/src/mux_h1.c:3540,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3544,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:3551,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:3552,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h1.c:3562,1
    - Dst: h1_wake_stream_for_recv
      Src: /src/haproxy/src/mux_h1.c:3567,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3568,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_h1.c:3573,1
    - Dst: buf_room_for_htx_data
      Src: /src/haproxy/src/mux_h1.c:3574,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3575,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:3581,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:3583,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:3593,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h1.c:3594,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:3597,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:3598,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:3599,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:3603,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 96
    argCount: 3
    argNames:
    - h1c
    - buf
    - count
    argTypes:
    - struct h1c*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 3605
      start: 3479
    functionDepth: 4
    functionLinenumber: 3479
    functionLinenumberEnd: 3605
    functionName: h1_process_mux
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - htx_to_buf
    - se_report_term_evt
    - h1_make_stline
    - h1_make_tunnel
    - TRACE_LEAVE
    - htx_from_buf
    - htx_is_empty
    - h1_get_obuf
    - h1_make_data
    - h1_make_headers
    - h1_make_eoh
    - htxbuf
    - h1_wake_stream_for_recv
    - buf_room_for_htx_data
    - h1_make_reqline
    - TRACE_USER
    - unlikely
    - se_fl_set
    - TRACE_ERROR
    - h1c_report_term_evt
    - TRACE_STATE
    - h1_make_trailers
    linkageType: ''
    returnType: size_t
    signature: h1_process_mux(struct h1c *h1c, struct buffer *buf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h1.c:3613,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h1.c:3614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - h1s
    argTypes:
    - struct h1s*
    constantsTouched: []
    func_position:
      end: 3619
      start: 3610
    functionDepth: 0
    functionLinenumber: 3610
    functionLinenumberEnd: 3619
    functionName: h1_wake_stream_for_recv
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 3
    functionsReached:
    - TRACE_POINT
    - tasklet_wakeup
    linkageType: ''
    returnType: void
    signature: h1_wake_stream_for_recv(struct h1s *h1s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h1.c:3623,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h1.c:3624,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - h1s
    argTypes:
    - struct h1s*
    constantsTouched: []
    func_position:
      end: 3629
      start: 3620
    functionDepth: 0
    functionLinenumber: 3620
    functionLinenumberEnd: 3629
    functionName: h1_wake_stream_for_send
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 3
    functionsReached:
    - TRACE_POINT
    - tasklet_wakeup
    linkageType: ''
    returnType: void
    signature: h1_wake_stream_for_send(struct h1s *h1s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1_wake_stream_for_recv
      Src: /src/haproxy/src/mux_h1.c:3639,1
    - Dst: h1_wake_stream_for_send
      Src: /src/haproxy/src/mux_h1.c:3640,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:3642,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:3642,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h1.c:3643,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:3644,1
    - Dst: wake
      Src: /src/haproxy/src/mux_h1.c:3644,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:3644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - h1s
    argTypes:
    - struct h1s*
    constantsTouched: []
    func_position:
      end: 3646
      start: 3636
    functionDepth: 1
    functionLinenumber: 3636
    functionLinenumberEnd: 3646
    functionName: h1_alert
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - h1_wake_stream_for_send
    - h1_wake_stream_for_recv
    - h1s_sc
    - wake
    linkageType: ''
    returnType: void
    signature: h1_alert(struct h1s *h1s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:3658,1
    - Dst: b_is_null
      Src: /src/haproxy/src/mux_h1.c:3665,1
    - Dst: h1_get_obuf
      Src: /src/haproxy/src/mux_h1.c:3676,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3678,1
    - Dst: b_istput
      Src: /src/haproxy/src/mux_h1.c:3681,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:3681,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h1.c:3682,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3685,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:3695,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:3695,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:3696,1
    - Dst: h1s_destroy
      Src: /src/haproxy/src/mux_h1.c:3697,1
    - Dst: h1_close
      Src: /src/haproxy/src/mux_h1.c:3702,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:3704,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 3706
      start: 3653
    functionDepth: 3
    functionLinenumber: 3653
    functionLinenumberEnd: 3706
    functionName: h1_send_error
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - b_istput
    - TRACE_LEAVE
    - h1_close
    - BUG_ON
    - TRACE_ENTER
    - b_is_null
    - ist
    - h1s_sc
    - TRACE_DEVEL
    - TRACE_STATE
    - unlikely
    - h1_get_obuf
    - h1s_destroy
    linkageType: ''
    returnType: int
    signature: h1_send_error(struct h1c *h1c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1s_destroy
      Src: /src/haproxy/src/mux_h1.c:3718,1
    - Dst: session_inc_http_req_ctr
      Src: /src/haproxy/src/mux_h1.c:3721,1
    - Dst: proxy_inc_fe_req_ctr
      Src: /src/haproxy/src/mux_h1.c:3722,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:3723,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:3724,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:3726,1
    - Dst: h1_send_error
      Src: /src/haproxy/src/mux_h1.c:3729,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h1.c:3730,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 3733
      start: 3711
    functionDepth: 4
    functionLinenumber: 3711
    functionLinenumberEnd: 3733
    functionName: h1_handle_internal_err
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - session_inc_http_req_ctr
    - _HA_ATOMIC_INC
    - h1_send_error
    - proxy_inc_fe_req_ctr
    - h1s_destroy
    - sess_log
    linkageType: ''
    returnType: int
    signature: h1_handle_internal_err(struct h1c *h1c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1s_destroy
      Src: /src/haproxy/src/mux_h1.c:3747,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3750,1
    - Dst: h1_close
      Src: /src/haproxy/src/mux_h1.c:3752,1
    - Dst: session_inc_http_req_ctr
      Src: /src/haproxy/src/mux_h1.c:3756,1
    - Dst: session_inc_http_err_ctr
      Src: /src/haproxy/src/mux_h1.c:3757,1
    - Dst: proxy_inc_fe_req_ctr
      Src: /src/haproxy/src/mux_h1.c:3758,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:3759,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:3760,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:3762,1
    - Dst: h1_send_error
      Src: /src/haproxy/src/mux_h1.c:3766,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3767,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h1.c:3768,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 3772
      start: 3740
    functionDepth: 4
    functionLinenumber: 3740
    functionLinenumberEnd: 3772
    functionName: h1_handle_parsing_error
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_close
    - session_inc_http_req_ctr
    - _HA_ATOMIC_INC
    - h1_send_error
    - proxy_inc_fe_req_ctr
    - session_inc_http_err_ctr
    - b_data
    - h1s_destroy
    - sess_log
    linkageType: ''
    returnType: int
    signature: h1_handle_parsing_error(struct h1c *h1c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1s_destroy
      Src: /src/haproxy/src/mux_h1.c:3785,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3788,1
    - Dst: h1_close
      Src: /src/haproxy/src/mux_h1.c:3790,1
    - Dst: session_inc_http_req_ctr
      Src: /src/haproxy/src/mux_h1.c:3794,1
    - Dst: proxy_inc_fe_req_ctr
      Src: /src/haproxy/src/mux_h1.c:3795,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:3796,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:3797,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:3799,1
    - Dst: h1_send_error
      Src: /src/haproxy/src/mux_h1.c:3802,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3803,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h1.c:3804,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 3808
      start: 3778
    functionDepth: 4
    functionLinenumber: 3778
    functionLinenumberEnd: 3808
    functionName: h1_handle_not_impl_err
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_close
    - session_inc_http_req_ctr
    - _HA_ATOMIC_INC
    - h1_send_error
    - proxy_inc_fe_req_ctr
    - b_data
    - h1s_destroy
    - sess_log
    linkageType: ''
    returnType: int
    signature: h1_handle_not_impl_err(struct h1c *h1c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1s_destroy
      Src: /src/haproxy/src/mux_h1.c:3820,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3823,1
    - Dst: h1_close
      Src: /src/haproxy/src/mux_h1.c:3825,1
    - Dst: session_inc_http_req_ctr
      Src: /src/haproxy/src/mux_h1.c:3829,1
    - Dst: proxy_inc_fe_req_ctr
      Src: /src/haproxy/src/mux_h1.c:3830,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:3831,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:3832,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h1.c:3834,1
    - Dst: h1_send_error
      Src: /src/haproxy/src/mux_h1.c:3837,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3838,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h1.c:3839,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 3843
      start: 3813
    functionDepth: 4
    functionLinenumber: 3813
    functionLinenumberEnd: 3843
    functionName: h1_handle_req_tout
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_close
    - session_inc_http_req_ctr
    - _HA_ATOMIC_INC
    - h1_send_error
    - proxy_inc_fe_req_ctr
    - b_data
    - h1s_destroy
    - sess_log
    linkageType: ''
    returnType: int
    signature: h1_handle_req_tout(struct h1c *h1c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:3855,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:3858,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3859,1
    - Dst: h1_recv_allowed
      Src: /src/haproxy/src/mux_h1.c:3862,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:3863,1
    - Dst: h1_get_ibuf
      Src: /src/haproxy/src/mux_h1.c:3867,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3868,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3876,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3876,1
    - Dst: b_slow_realign_ofs
      Src: /src/haproxy/src/mux_h1.c:3877,1
    - Dst: buf_room_for_htx_data
      Src: /src/haproxy/src/mux_h1.c:3879,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3906,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3909,1
    - Dst: struct connection*::xprt::rcv_buf
      Src: /src/haproxy/src/mux_h1.c:3915,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/mux_h1.c:3916,1
    - Dst: conn_xprt_read0_pending
      Src: /src/haproxy/src/mux_h1.c:3919,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:3920,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:3924,1
    - Dst: h1_recv_allowed
      Src: /src/haproxy/src/mux_h1.c:3928,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3929,1
    - Dst: struct connection*::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:3930,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_h1.c:3933,1
    - Dst: h1_wake_stream_for_recv
      Src: /src/haproxy/src/mux_h1.c:3934,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3937,1
    - Dst: h1_release_buf
      Src: /src/haproxy/src/mux_h1.c:3938,1
    - Dst: buf_room_for_htx_data
      Src: /src/haproxy/src/mux_h1.c:3939,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3941,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:3944,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 3946
      start: 3849
    functionDepth: 2
    functionLinenumber: 3849
    functionLinenumberEnd: 3946
    functionName: h1_recv
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - h1_release_buf
    - TRACE_DATA
    - TRACE_LEAVE
    - conn_xprt_read0_pending
    - TRACE_ENTER
    - h1_get_ibuf
    - struct connection*::xprt::subscribe
    - h1_wake_stream_for_recv
    - struct connection*::xprt::rcv_buf
    - b_data
    - TRACE_DEVEL
    - buf_room_for_htx_data
    - HA_ATOMIC_ADD
    - h1_recv_allowed
    - b_slow_realign_ofs
    linkageType: ''
    returnType: int
    signature: h1_recv(struct h1c *h1c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:3959,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:3962,1
    - Dst: b_reset
      Src: /src/haproxy/src/mux_h1.c:3963,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3969,1
    - Dst: struct connection*::xprt::snd_buf
      Src: /src/haproxy/src/mux_h1.c:3977,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:3977,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_h1.c:3979,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:3982,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/mux_h1.c:3984,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_h1.c:3985,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:3991,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:3993,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:4001,1
    - Dst: b_reset
      Src: /src/haproxy/src/mux_h1.c:4003,1
    - Dst: h1_wake_stream_for_send
      Src: /src/haproxy/src/mux_h1.c:4008,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4011,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4012,1
    - Dst: h1_release_buf
      Src: /src/haproxy/src/mux_h1.c:4013,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:4015,1
    - Dst: h1_shutw_conn
      Src: /src/haproxy/src/mux_h1.c:4016,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:4020,1
    - Dst: struct connection*::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:4021,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:4024,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 4026
      start: 3952
    functionDepth: 2
    functionLinenumber: 3952
    functionLinenumberEnd: 4026
    functionName: h1_send
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_release_buf
    - TRACE_DATA
    - struct h1c*::conn::xprt::subscribe
    - TRACE_LEAVE
    - h1_shutw_conn
    - TRACE_ENTER
    - h1_wake_stream_for_send
    - struct connection*::xprt::subscribe
    - struct connection*::xprt::snd_buf
    - b_del
    - h1c_report_term_evt
    - b_data
    - TRACE_DEVEL
    - b_reset
    - HA_ATOMIC_ADD
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: h1_send(struct h1c *h1c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:4036,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4039,1
    - Dst: b_isteq
      Src: /src/haproxy/src/mux_h1.c:4056,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4056,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:4056,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:4059,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:4060,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:4062,1
    - Dst: h1c_frt_stream_new
      Src: /src/haproxy/src/mux_h1.c:4069,1
    - Dst: b_reset
      Src: /src/haproxy/src/mux_h1.c:4071,1
    - Dst: h1_handle_internal_err
      Src: /src/haproxy/src/mux_h1.c:4072,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:4073,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/mux_h1.c:4079,1
    - Dst: h1_get_rxbuf
      Src: /src/haproxy/src/mux_h1.c:4082,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:4084,1
    - Dst: h1_process_demux
      Src: /src/haproxy/src/mux_h1.c:4089,1
    - Dst: h1_release_buf
      Src: /src/haproxy/src/mux_h1.c:4090,1
    - Dst: h1_set_idle_expiration
      Src: /src/haproxy/src/mux_h1.c:4091,1
    - Dst: h1_handle_internal_err
      Src: /src/haproxy/src/mux_h1.c:4094,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:4095,1
    - Dst: h1_handle_not_impl_err
      Src: /src/haproxy/src/mux_h1.c:4098,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:4099,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h1.c:4101,1
    - Dst: h1_handle_parsing_error
      Src: /src/haproxy/src/mux_h1.c:4102,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:4103,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:4106,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:4107,1
    - Dst: h1_send
      Src: /src/haproxy/src/mux_h1.c:4113,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4121,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:4125,1
    - Dst: h1_handle_parsing_error
      Src: /src/haproxy/src/mux_h1.c:4129,1
    - Dst: h1_send
      Src: /src/haproxy/src/mux_h1.c:4130,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:4134,1
    - Dst: h1_send_error
      Src: /src/haproxy/src/mux_h1.c:4135,1
    - Dst: h1_send
      Src: /src/haproxy/src/mux_h1.c:4136,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:4139,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h1.c:4139,1
    - Dst: h1s_destroy
      Src: /src/haproxy/src/mux_h1.c:4140,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:4141,1
    - Dst: h1_close
      Src: /src/haproxy/src/mux_h1.c:4144,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:4145,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:4161,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_h1.c:4164,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:4165,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h1.c:4167,1
    - Dst: h1_alert
      Src: /src/haproxy/src/mux_h1.c:4168,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:4172,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h1.c:4173,1
    - Dst: h1s_must_shut_conn
      Src: /src/haproxy/src/mux_h1.c:4174,1
    - Dst: h1_shutw_conn
      Src: /src/haproxy/src/mux_h1.c:4175,1
    - Dst: h1s_finish_detach
      Src: /src/haproxy/src/mux_h1.c:4178,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4183,1
    - Dst: h1_release_buf
      Src: /src/haproxy/src/mux_h1.c:4184,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h1.c:4190,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h1.c:4199,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/mux_h1.c:4205,1
    - Dst: h1s_data_pending
      Src: /src/haproxy/src/mux_h1.c:4216,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4217,1
    - Dst: h1_wake_stream_for_recv
      Src: /src/haproxy/src/mux_h1.c:4218,1
    - Dst: h1_refresh_timeout
      Src: /src/haproxy/src/mux_h1.c:4222,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:4223,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:4232,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:4235,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:4236,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_h1.c:4239,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:4240,1
    - Dst: h1_alert
      Src: /src/haproxy/src/mux_h1.c:4242,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4243,1
    - Dst: h1_release
      Src: /src/haproxy/src/mux_h1.c:4246,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4247,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 157
    argCount: 1
    argNames:
    - h1c
    argTypes:
    - struct h1c*
    constantsTouched: []
    func_position:
      end: 4251
      start: 4032
    functionDepth: 5
    functionLinenumber: 4032
    functionLinenumberEnd: 4251
    functionName: h1_process
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 1
    functionsReached:
    - statistical_prng_range
    - h1_shutw_conn
    - TRACE_ENTER
    - h1_send_error
    - h1_handle_parsing_error
    - ist
    - h1s_must_shut_conn
    - h1s_data_pending
    - b_isteq
    - h1_refresh_timeout
    - BUG_ON
    - TRACE_LEAVE
    - h1_close
    - h1_process_demux
    - se_fl_test
    - h1_set_idle_expiration
    - h1c_frt_stream_new
    - tick_isset
    - b_reset
    - h1_send
    - TRACE_POINT
    - struct h1c*::conn::xprt::subscribe
    - se_fl_set_error
    - h1s_finish_detach
    - h1_wake_stream_for_recv
    - h1_alert
    - b_data
    - TRACE_DEVEL
    - h1_release_buf
    - h1_get_rxbuf
    - h1_release
    - h1_handle_not_impl_err
    - unlikely
    - se_fl_set
    - TRACE_ERROR
    - h1_handle_internal_err
    - ns_to_ms
    - h1c_report_term_evt
    - TRACE_STATE
    - h1s_destroy
    linkageType: ''
    returnType: int
    signature: h1_process(struct h1c * h1c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_h1.c:4265,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h1.c:4271,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_h1.c:4272,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h1.c:4276,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/mux_h1.c:4283,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h1.c:4285,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:4289,1
    - Dst: h1_send
      Src: /src/haproxy/src/mux_h1.c:4294,1
    - Dst: h1_recv
      Src: /src/haproxy/src/mux_h1.c:4296,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4297,1
    - Dst: h1_process
      Src: /src/haproxy/src/mux_h1.c:4298,1
    - Dst: __objt_server
      Src: /src/haproxy/src/mux_h1.c:4309,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_h1.c:4311,1
    - Dst: _srv_add_idle
      Src: /src/haproxy/src/mux_h1.c:4312,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h1.c:4313,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4316
      start: 4253
    functionDepth: 6
    functionLinenumber: 4253
    functionLinenumberEnd: 4316
    functionName: h1_io_cb
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_process
    - TRACE_POINT
    - tasklet_free
    - TRACE_ENTER
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - h1_recv
    - __objt_server
    - b_data
    - _srv_add_idle
    - h1_send
    - conn_delete_from_tree
    linkageType: ''
    returnType: struct task
    signature: '*h1_io_cb(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h1.c:4323,1
    - Dst: h1_send
      Src: /src/haproxy/src/mux_h1.c:4325,1
    - Dst: h1_process
      Src: /src/haproxy/src/mux_h1.c:4326,1
    - Dst: h1_alert
      Src: /src/haproxy/src/mux_h1.c:4331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 4334
      start: 4318
    functionDepth: 6
    functionLinenumber: 4318
    functionLinenumberEnd: 4334
    functionName: h1_wake
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_process
    - h1_alert
    - TRACE_POINT
    - h1_send
    linkageType: ''
    returnType: int
    signature: h1_wake(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:4344,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_h1.c:4348,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h1.c:4355,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h1.c:4360,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4361,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h1.c:4369,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4371,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4377,1
    - Dst: h1_handle_req_tout
      Src: /src/haproxy/src/mux_h1.c:4378,1
    - Dst: h1_send
      Src: /src/haproxy/src/mux_h1.c:4379,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4380,1
    - Dst: h1_refresh_timeout
      Src: /src/haproxy/src/mux_h1.c:4381,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h1.c:4382,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h1.c:4387,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:4390,1
    - Dst: h1_alert
      Src: /src/haproxy/src/mux_h1.c:4391,1
    - Dst: h1_refresh_timeout
      Src: /src/haproxy/src/mux_h1.c:4392,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h1.c:4393,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4394,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/mux_h1.c:4402,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h1.c:4404,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:4406,1
    - Dst: task_destroy
      Src: /src/haproxy/src/mux_h1.c:4410,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4414,1
    - Dst: h1_release
      Src: /src/haproxy/src/mux_h1.c:4419,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:4420,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4422
      start: 4339
    functionDepth: 5
    functionLinenumber: 4339
    functionLinenumberEnd: 4422
    functionName: h1_timeout_task
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - se_fl_test
    - h1_release
    - TRACE_ENTER
    - h1_handle_req_tout
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - h1_alert
    - h1_refresh_timeout
    - TRACE_DEVEL
    - b_data
    - se_fl_set
    - h1c_report_term_evt
    - task_destroy
    - h1_send
    - conn_delete_from_tree
    linkageType: ''
    returnType: struct task
    signature: '*h1_timeout_task(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:4440,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:4442,1
    - Dst: h1c_bck_stream_new
      Src: /src/haproxy/src/mux_h1.c:4446,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:4448,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/mux_h1.c:4453,1
    - Dst: xprt_set_used
      Src: /src/haproxy/src/mux_h1.c:4454,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:4456,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - conn
    - sd
    - sess
    argTypes:
    - struct connection*
    - struct sedesc*
    - struct session*
    constantsTouched: []
    func_position:
      end: 4461
      start: 4432
    functionDepth: 3
    functionLinenumber: 4432
    functionLinenumberEnd: 4461
    functionName: h1_attach
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1c_bck_stream_new
    - TRACE_LEAVE
    - HA_ATOMIC_AND
    - TRACE_ENTER
    - xprt_set_used
    - TRACE_ERROR
    - TRACE_DEVEL
    linkageType: ''
    returnType: int
    signature: h1_attach(struct connection *conn, struct sedesc *sd, struct session
      *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:4472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 4475
      start: 4466
    functionDepth: 1
    functionLinenumber: 4466
    functionLinenumberEnd: 4475
    functionName: h1_get_first_sc
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1s_sc
    linkageType: ''
    returnType: struct stconn
    signature: '*h1_get_first_sc(const struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h1.c:4481,1
    - Dst: h1_release
      Src: /src/haproxy/src/mux_h1.c:4483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4484
      start: 4477
    functionDepth: 4
    functionLinenumber: 4477
    functionLinenumberEnd: 4484
    functionName: h1_destroy
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - h1_release
    linkageType: ''
    returnType: void
    signature: h1_destroy(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:4494,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:4497,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:4504,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/mux_h1.c:4505,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4506,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h1.c:4510,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4510,1
    - Dst: h1_process
      Src: /src/haproxy/src/mux_h1.c:4511,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:4515,1
    - Dst: h1_set_idle_expiration
      Src: /src/haproxy/src/mux_h1.c:4516,1
    - Dst: h1_refresh_timeout
      Src: /src/haproxy/src/mux_h1.c:4517,1
    - Dst: h1s_finish_detach
      Src: /src/haproxy/src/mux_h1.c:4520,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:4523,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - sd
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 4524
      start: 4489
    functionDepth: 6
    functionLinenumber: 4489
    functionLinenumberEnd: 4524
    functionName: h1_detach
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_process
    - TRACE_LEAVE
    - struct h1c*::conn::xprt::subscribe
    - TRACE_ENTER
    - h1s_finish_detach
    - unlikely
    - h1_set_idle_expiration
    - h1_refresh_timeout
    - TRACE_DEVEL
    - b_data
    - h1c_report_term_evt
    - COUNT_IF
    linkageType: ''
    returnType: void
    signature: h1_detach(struct sedesc *sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h1.c:4528,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:4535,1
    - Dst: h1s_must_shut_conn
      Src: /src/haproxy/src/mux_h1.c:4537,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:4541,1
    - Dst: h1_close
      Src: /src/haproxy/src/mux_h1.c:4542,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4546,1
    - Dst: h1_shutw_conn
      Src: /src/haproxy/src/mux_h1.c:4547,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:4549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - sc
    - mode
    - reason
    argTypes:
    - struct stconn*
    - unsigned int
    - struct se_abort_info*
    constantsTouched: []
    func_position:
      end: 4550
      start: 4526
    functionDepth: 2
    functionLinenumber: 4526
    functionLinenumberEnd: 4550
    functionName: h1_shut
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - h1_close
    - __sc_mux_strm
    - h1_shutw_conn
    - TRACE_ENTER
    - h1s_must_shut_conn
    - b_data
    - h1c_report_term_evt
    linkageType: ''
    returnType: void
    signature: h1_shut(struct stconn *sc, unsigned int mode, struct se_abort_info
      *reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:4556,1
    - Dst: h1_close
      Src: /src/haproxy/src/mux_h1.c:4557,1
    - Dst: conn_xprt_shutw
      Src: /src/haproxy/src/mux_h1.c:4561,1
    - Dst: conn_sock_shutw
      Src: /src/haproxy/src/mux_h1.c:4562,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h1.c:4565,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:4567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 4568
      start: 4552
    functionDepth: 2
    functionLinenumber: 4552
    functionLinenumberEnd: 4568
    functionName: h1_shutw_conn
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 4
    functionsReached:
    - TRACE_LEAVE
    - h1_close
    - TRACE_ENTER
    - tasklet_wakeup
    - conn_sock_shutw
    - conn_xprt_shutw
    linkageType: ''
    returnType: void
    signature: h1_shutw_conn(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h1.c:4576,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:4581,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:4582,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4589,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4592,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - sc
    - event_type
    - es
    argTypes:
    - struct stconn*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 4595
      start: 4574
    functionDepth: 1
    functionLinenumber: 4574
    functionLinenumberEnd: 4595
    functionName: h1_unsubscribe
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_DEVEL
    - BUG_ON
    - __sc_mux_strm
    linkageType: ''
    returnType: int
    signature: h1_unsubscribe(struct stconn *sc, int event_type, struct wait_event
      *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h1.c:4606,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:4612,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:4613,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4619,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4623,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:4632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - sc
    - event_type
    - es
    argTypes:
    - struct stconn*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 4638
      start: 4604
    functionDepth: 1
    functionLinenumber: 4604
    functionLinenumberEnd: 4638
    functionName: h1_subscribe
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_DEVEL
    - BUG_ON
    - __sc_mux_strm
    - struct h1c*::conn::xprt::subscribe
    linkageType: ''
    returnType: int
    signature: h1_subscribe(struct stconn *sc, int event_type, struct wait_event *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h1.c:4654,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:4659,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4663,1
    - Dst: h1_process_demux
      Src: /src/haproxy/src/mux_h1.c:4668,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4670,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h1.c:4672,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:4674,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:4678,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:4682,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - sc
    - buf
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 4684
      start: 4652
    functionDepth: 5
    functionLinenumber: 4652
    functionLinenumberEnd: 4684
    functionName: h1_rcv_buf
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - struct h1c*::conn::xprt::subscribe
    - __sc_mux_strm
    - se_fl_test
    - h1_process_demux
    - TRACE_ENTER
    - TRACE_DEVEL
    - TRACE_STATE
    linkageType: ''
    returnType: size_t
    signature: h1_rcv_buf(struct stconn *sc, struct buffer *buf, size_t count, int
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h1.c:4690,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:4698,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:4705,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_h1.c:4710,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:4711,1
    - Dst: h1_process_mux
      Src: /src/haproxy/src/mux_h1.c:4726,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4728,1
    - Dst: h1_send
      Src: /src/haproxy/src/mux_h1.c:4739,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_h1.c:4749,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:4750,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:4751,1
    - Dst: h1_refresh_timeout
      Src: /src/haproxy/src/mux_h1.c:4754,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:4755,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 4
    argNames:
    - sc
    - buf
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 4757
      start: 4688
    functionDepth: 5
    functionLinenumber: 4688
    functionLinenumberEnd: 4757
    functionName: h1_snd_buf
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - __sc_mux_strm
    - se_fl_set_error
    - h1_process_mux
    - TRACE_ENTER
    - h1_refresh_timeout
    - TRACE_ERROR
    - TRACE_DEVEL
    - se_report_term_evt
    - h1_send
    linkageType: ''
    returnType: size_t
    signature: h1_snd_buf(struct stconn *sc, struct buffer *buf, size_t count, int
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_opposite
      Src: /src/haproxy/src/mux_h1.c:4761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h1s
    argTypes:
    - struct h1s*
    constantsTouched: []
    func_position:
      end: 4762
      start: 4759
    functionDepth: 1
    functionLinenumber: 4759
    functionLinenumberEnd: 4762
    functionName: h1s_opposite_sd
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - se_opposite
    linkageType: ''
    returnType: struct sedesc
    signature: '*h1s_opposite_sd(struct h1s *h1s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h1.c:4766,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:4771,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:4781,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:4788,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:4795,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:4798,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:4806,1
    - Dst: h1_make_chunk
      Src: /src/haproxy/src/mux_h1.c:4808,1
    - Dst: MAX_RANGE
      Src: /src/haproxy/src/mux_h1.c:4820,1
    - Dst: MAX_RANGE
      Src: /src/haproxy/src/mux_h1.c:4821,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4838,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4838,1
    - Dst: get_pipe
      Src: /src/haproxy/src/mux_h1.c:4840,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4848,1
    - Dst: h1_get_obuf
      Src: /src/haproxy/src/mux_h1.c:4852,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:4854,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h1.c:4858,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_h1.c:4859,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4859,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h1.c:4861,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:4864,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h1.c:4869,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4878,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4881,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4882,1
    - Dst: b_xfer
      Src: /src/haproxy/src/mux_h1.c:4884,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4888,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:4895,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 102
    argCount: 4
    argNames:
    - sc
    - input
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4897
      start: 4764
    functionDepth: 3
    functionLinenumber: 4764
    functionLinenumberEnd: 4897
    functionName: h1_nego_ff
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - h1_make_chunk
    - __sc_mux_strm
    - h1_get_obuf
    - TRACE_ENTER
    - MAX_RANGE
    - get_pipe
    - b_contig_space
    - b_slow_realign
    - TRACE_ERROR
    - b_data
    - TRACE_DEVEL
    - TRACE_STATE
    - BUG_ON
    - b_space_wraps
    - b_xfer
    linkageType: ''
    returnType: size_t
    signature: h1_nego_ff(struct stconn *sc, struct buffer *input, size_t count, unsigned
      int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h1.c:4901,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:4907,1
    - Dst: struct h1c*::conn::xprt::snd_pipe
      Src: /src/haproxy/src/mux_h1.c:4911,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/mux_h1.c:4913,1
    - Dst: put_pipe
      Src: /src/haproxy/src/mux_h1.c:4915,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_h1.c:4922,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_h1.c:4926,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h1.c:4926,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h1.c:4926,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/mux_h1.c:4927,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:4927,1
    - Dst: h1_prepend_chunk_size
      Src: /src/haproxy/src/mux_h1.c:4929,1
    - Dst: h1_prepend_chunk_crlf
      Src: /src/haproxy/src/mux_h1.c:4931,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h1.c:4932,1
    - Dst: h1_send
      Src: /src/haproxy/src/mux_h1.c:4947,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/mux_h1.c:4961,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:4966,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:4974,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_h1.c:4976,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:4977,1
    - Dst: put_pipe
      Src: /src/haproxy/src/mux_h1.c:4979,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:4982,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:4985,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 4987
      start: 4899
    functionDepth: 3
    functionLinenumber: 4899
    functionLinenumberEnd: 4987
    functionName: h1_done_ff
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - b_room
    - TRACE_ENTER
    - put_pipe
    - se_report_term_evt
    - b_orig
    - b_peek_ofs
    - TRACE_LEAVE
    - __sc_mux_strm
    - HA_ATOMIC_ADD
    - b_size
    - h1_prepend_chunk_size
    - h1_send
    - struct h1c*::conn::xprt::snd_pipe
    - struct h1c*::conn::xprt::subscribe
    - se_fl_set_error
    - b_data
    - TRACE_DEVEL
    - h1_prepend_chunk_crlf
    - b_make
    - b_add
    - h1c_report_term_evt
    linkageType: ''
    returnType: size_t
    signature: h1_done_ff(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h1.c:4991,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:4999,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:5003,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/mux_h1.c:5007,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:5013,1
    - Dst: h1s_opposite_sd
      Src: /src/haproxy/src/mux_h1.c:5017,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:5019,1
    - Dst: se_nego_ff
      Src: /src/haproxy/src/mux_h1.c:5034,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_h1.c:5035,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:5037,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:5039,1
    - Dst: h1_release_buf
      Src: /src/haproxy/src/mux_h1.c:5040,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:5045,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:5049,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:5050,1
    - Dst: struct h1c*::conn::xprt::rcv_pipe
      Src: /src/haproxy/src/mux_h1.c:5059,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:5062,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:5064,1
    - Dst: put_pipe
      Src: /src/haproxy/src/mux_h1.c:5065,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:5072,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:5073,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/mux_h1.c:5075,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h1.c:5079,1
    - Dst: struct h1c*::conn::xprt::rcv_buf
      Src: /src/haproxy/src/mux_h1.c:5080,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:5082,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:5083,1
    - Dst: b_sub
      Src: /src/haproxy/src/mux_h1.c:5085,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h1.c:5097,1
    - Dst: se_done_ff
      Src: /src/haproxy/src/mux_h1.c:5099,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:5107,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/mux_h1.c:5108,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:5109,1
    - Dst: h1s_set_se_eoi_cond
      Src: /src/haproxy/src/mux_h1.c:5117,1
    - Dst: se_expect_data
      Src: /src/haproxy/src/mux_h1.c:5127,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:5130,1
    - Dst: conn_xprt_read0_pending
      Src: /src/haproxy/src/mux_h1.c:5134,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:5135,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:5136,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:5140,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:5142,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:5143,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:5146,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:5149,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h1.c:5150,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h1.c:5155,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:5156,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:5157,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:5160,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:5161,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:5165,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:5168,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h1.c:5171,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:5172,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:5173,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:5176,1
    - Dst: h1c_report_term_evt
      Src: /src/haproxy/src/mux_h1.c:5177,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:5179,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h1.c:5184,1
    - Dst: se_done_ff
      Src: /src/haproxy/src/mux_h1.c:5189,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/mux_h1.c:5192,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h1.c:5195,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:5201,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/mux_h1.c:5202,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h1.c:5204,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:5205,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:5209,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 176
    argCount: 3
    argNames:
    - sc
    - count
    - flags
    argTypes:
    - struct stconn*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 5211
      start: 4989
    functionDepth: 2
    functionLinenumber: 4989
    functionLinenumberEnd: 5211
    functionName: h1_fastfwd
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - b_room
    - conn_xprt_read0_pending
    - TRACE_ENTER
    - se_nego_ff
    - put_pipe
    - se_report_term_evt
    - BUG_ON
    - b_sub
    - TRACE_LEAVE
    - se_expect_data
    - __sc_mux_strm
    - se_fl_test
    - HA_ATOMIC_ADD
    - b_size
    - COUNT_IF
    - h1s_opposite_sd
    - struct h1c*::conn::xprt::rcv_pipe
    - struct h1c*::conn::xprt::subscribe
    - se_done_ff
    - TRACE_DEVEL
    - b_data
    - h1_release_buf
    - se_fl_clr
    - h1s_set_se_eoi_cond
    - b_add
    - struct h1c*::conn::xprt::rcv_buf
    - se_fl_set
    - TRACE_ERROR
    - h1c_report_term_evt
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: h1_fastfwd(struct stconn *sc, unsigned int count, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h1.c:5215,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h1.c:5219,1
    - Dst: struct h1c*::conn::xprt::snd_pipe
      Src: /src/haproxy/src/mux_h1.c:5226,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/mux_h1.c:5228,1
    - Dst: put_pipe
      Src: /src/haproxy/src/mux_h1.c:5230,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/mux_h1.c:5243,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:5257,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_h1.c:5259,1
    - Dst: put_pipe
      Src: /src/haproxy/src/mux_h1.c:5261,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h1.c:5264,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h1.c:5267,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - sc
    - flags
    argTypes:
    - struct stconn*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 5269
      start: 5213
    functionDepth: 2
    functionLinenumber: 5213
    functionLinenumberEnd: 5269
    functionName: h1_resume_fastfwd
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - struct h1c*::conn::xprt::snd_pipe
    - TRACE_LEAVE
    - struct h1c*::conn::xprt::subscribe
    - __sc_mux_strm
    - se_fl_set_error
    - TRACE_ENTER
    - put_pipe
    - TRACE_DEVEL
    - HA_ATOMIC_ADD
    linkageType: ''
    returnType: int
    signature: h1_resume_fastfwd(struct stconn *sc, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:5292,1
    - Dst: h1_used_streams
      Src: /src/haproxy/src/mux_h1.c:5295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - conn
    - mux_ctl
    - output
    argTypes:
    - struct connection*
    - enum mux_ctl_type
    - void*
    constantsTouched: []
    func_position:
      end: 5303
      start: 5271
    functionDepth: 1
    functionLinenumber: 5271
    functionLinenumberEnd: 5303
    functionName: h1_ctl
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - struct h1c*::conn::xprt::subscribe
    - h1_used_streams
    linkageType: ''
    returnType: int
    signature: h1_ctl(struct connection *conn, enum mux_ctl_type mux_ctl, void *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h1.c:5308,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/mux_h1.c:5319,1
    - Dst: h1_dump_h1s_info
      Src: /src/haproxy/src/mux_h1.c:5322,1
    - Dst: h1_dump_h1c_info
      Src: /src/haproxy/src/mux_h1.c:5325,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5328,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_h1.c:5330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - sc
    - mux_sctl
    - output
    argTypes:
    - struct stconn*
    - enum mux_sctl_type
    - void*
    constantsTouched: []
    func_position:
      end: 5340
      start: 5305
    functionDepth: 2
    functionLinenumber: 5305
    functionLinenumberEnd: 5340
    functionName: h1_sctl
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - tevt_evts2str
    - __sc_mux_strm
    - h1_dump_h1c_info
    - h1_dump_h1s_info
    - chunk_appendf
    - get_trash_chunk
    linkageType: ''
    returnType: int
    signature: h1_sctl(struct stconn *sc, enum mux_sctl_type mux_sctl, void *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5354,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:5356,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h1.c:5356,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_h1.c:5357,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h1.c:5357,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h1.c:5358,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h1.c:5358,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_h1.c:5359,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h1.c:5359,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_h1.c:5360,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5362,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5364,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/mux_h1.c:5365,1
    - Dst: human_time
      Src: /src/haproxy/src/mux_h1.c:5366,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/mux_h1.c:5366,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/mux_h1.c:5366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - h1c
    - pfx
    argTypes:
    - struct buffer*
    - struct h1c*
    - char*
    constantsTouched: []
    func_position:
      end: 5370
      start: 5347
    functionDepth: 1
    functionLinenumber: 5347
    functionLinenumberEnd: 5370
    functionName: h1_dump_h1c_info
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 1
    functionsReached:
    - tevt_evts2str
    - tick_is_expired
    - TICKS_TO_MS
    - chunk_appendf
    - b_data
    - b_size
    - b_head_ofs
    - human_time
    - b_orig
    linkageType: ''
    returnType: int
    signature: h1_dump_h1c_info(struct buffer *msg, struct h1c *h1c, const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5394,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5395,1
    - Dst: h1m_state_str
      Src: /src/haproxy/src/mux_h1.c:5395,1
    - Dst: h1m_state_str
      Src: /src/haproxy/src/mux_h1.c:5395,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5398,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5400,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5404,1
    - Dst: se_fl_get
      Src: /src/haproxy/src/mux_h1.c:5404,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_h1.c:5404,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h1.c:5405,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5406,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:5407,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:5407,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_h1.c:5407,1
    - Dst: h1s_sc
      Src: /src/haproxy/src/mux_h1.c:5407,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5412,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5414,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5416,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5417,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/mux_h1.c:5422,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5423,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - msg
    - h1s
    - pfx
    argTypes:
    - struct buffer*
    - struct h1s*
    - char*
    constantsTouched: []
    func_position:
      end: 5426
      start: 5381
    functionDepth: 1
    functionLinenumber: 5381
    functionLinenumberEnd: 5426
    functionName: h1_dump_h1s_info
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 1
    functionsReached:
    - tevt_evts2str
    - se_fl_test
    - se_fl_get
    - h1m_state_str
    - chunk_appendf
    - h1s_sc
    - resolve_sym_name
    linkageType: ''
    returnType: int
    signature: h1_dump_h1s_info(struct buffer *msg, const struct h1s *h1s, const char
      *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1_dump_h1c_info
      Src: /src/haproxy/src/mux_h1.c:5435,1
    - Dst: h1_dump_h1s_info
      Src: /src/haproxy/src/mux_h1.c:5438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - conn
    argTypes:
    - struct buffer*
    - struct connection*
    constantsTouched: []
    func_position:
      end: 5441
      start: 5429
    functionDepth: 2
    functionLinenumber: 5429
    functionLinenumberEnd: 5441
    functionName: h1_show_fd
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_dump_h1c_info
    - h1_dump_h1s_info
    linkageType: ''
    returnType: int
    signature: h1_show_fd(struct buffer *msg, struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1_dump_h1s_info
      Src: /src/haproxy/src/mux_h1.c:5456,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5458,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h1.c:5459,1
    - Dst: h1_dump_h1c_info
      Src: /src/haproxy/src/mux_h1.c:5460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - sd
    - pfx
    argTypes:
    - struct buffer*
    - struct sedesc*
    - char*
    constantsTouched: []
    func_position:
      end: 5462
      start: 5448
    functionDepth: 2
    functionLinenumber: 5448
    functionLinenumberEnd: 5462
    functionName: h1_show_sd
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - h1_dump_h1c_info
    - h1_dump_h1s_info
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: h1_show_sd(struct buffer *msg, struct sedesc *sd, const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/mux_h1.c:5471,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h1.c:5472,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/mux_h1.c:5477,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h1.c:5478,1
    - Dst: ebis_lookup
      Src: /src/haproxy/src/mux_h1.c:5483,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h1.c:5484,1
    - Dst: malloc
      Src: /src/haproxy/src/mux_h1.c:5489,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h1.c:5491,1
    - Dst: strdup
      Src: /src/haproxy/src/mux_h1.c:5495,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h1.c:5496,1
    - Dst: strdup
      Src: /src/haproxy/src/mux_h1.c:5496,1
    - Dst: isttest
      Src: /src/haproxy/src/mux_h1.c:5497,1
    - Dst: free
      Src: /src/haproxy/src/mux_h1.c:5498,1
    - Dst: istfree
      Src: /src/haproxy/src/mux_h1.c:5499,1
    - Dst: free
      Src: /src/haproxy/src/mux_h1.c:5500,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h1.c:5501,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/mux_h1.c:5504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - from
    - to
    - err
    argTypes:
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 5506
      start: 5466
    functionDepth: 1
    functionLinenumber: 5466
    functionLinenumberEnd: 5506
    functionName: add_hdr_case_adjust
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - memprintf
    - malloc
    - istfree
    - strcasecmp
    - strlen
    - isttest
    - ebis_lookup
    - ist
    - ebis_insert
    - strdup
    - free
    linkageType: ''
    returnType: int
    signature: add_hdr_case_adjust(const char *from, const char *to, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h1.c:5528,1
    - Dst: task_new_here
      Src: /src/haproxy/src/mux_h1.c:5531,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/mux_h1.c:5532,1
    - Dst: fd_takeover
      Src: /src/haproxy/src/mux_h1.c:5537,1
    - Dst: struct connection*::xprt::takeover
      Src: /src/haproxy/src/mux_h1.c:5540,1
    - Dst: tasklet_wakeup_on
      Src: /src/haproxy/src/mux_h1.c:5547,1
    - Dst: struct h1c*::conn::xprt::unsubscribe
      Src: /src/haproxy/src/mux_h1.c:5552,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/mux_h1.c:5562,1
    - Dst: task_kill
      Src: /src/haproxy/src/mux_h1.c:5563,1
    - Dst: tasklet_wakeup_on
      Src: /src/haproxy/src/mux_h1.c:5577,1
    - Dst: struct h1c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h1.c:5583,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h1.c:5596,1
    - Dst: thread_isolated
      Src: /src/haproxy/src/mux_h1.c:5596,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h1.c:5597,1
    - Dst: _b_dequeue
      Src: /src/haproxy/src/mux_h1.c:5598,1
    - Dst: __task_free
      Src: /src/haproxy/src/mux_h1.c:5602,1
    - Dst: __task_free
      Src: /src/haproxy/src/mux_h1.c:5606,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_h1.c:5607,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - conn
    - orig_tid
    - release
    argTypes:
    - struct connection*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 5609
      start: 5512
    functionDepth: 1
    functionLinenumber: 5512
    functionLinenumberEnd: 5609
    functionName: h1_takeover
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - fd_takeover
    - _b_dequeue
    - struct h1c*::conn::xprt::subscribe
    - tasklet_free
    - tasklet_wakeup_on
    - __ha_barrier_store
    - struct connection*::xprt::takeover
    - thread_isolated
    - task_kill
    - tasklet_new
    - struct h1c*::conn::xprt::unsubscribe
    - __task_free
    - LIST_INLIST
    - task_new_here
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: h1_takeover(struct connection *conn, int orig_tid, int release)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_first
      Src: /src/haproxy/src/mux_h1.c:5617,1
    - Dst: ebpt_next
      Src: /src/haproxy/src/mux_h1.c:5619,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/mux_h1.c:5620,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_h1.c:5621,1
    - Dst: free
      Src: /src/haproxy/src/mux_h1.c:5622,1
    - Dst: istfree
      Src: /src/haproxy/src/mux_h1.c:5623,1
    - Dst: free
      Src: /src/haproxy/src/mux_h1.c:5624,1
    - Dst: free
      Src: /src/haproxy/src/mux_h1.c:5627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5628
      start: 5612
    functionDepth: 1
    functionLinenumber: 5612
    functionLinenumberEnd: 5628
    functionName: h1_hdeaders_case_adjust_deinit
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - istfree
    - container_of
    - free
    - ebpt_first
    - ebpt_delete
    - ebpt_next
    linkageType: ''
    returnType: void
    signature: h1_hdeaders_case_adjust_deinit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/haproxy/src/mux_h1.c:5640,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mux_h1.c:5642,1
    - Dst: fgets
      Src: /src/haproxy/src/mux_h1.c:5652,1
    - Dst: add_hdr_case_adjust
      Src: /src/haproxy/src/mux_h1.c:5689,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mux_h1.c:5691,1
    - Dst: free
      Src: /src/haproxy/src/mux_h1.c:5694,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mux_h1.c:5698,1
    - Dst: free
      Src: /src/haproxy/src/mux_h1.c:5701,1
    - Dst: fclose
      Src: /src/haproxy/src/mux_h1.c:5707,1
    - Dst: hap_register_post_deinit
      Src: /src/haproxy/src/mux_h1.c:5708,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5710
      start: 5630
    functionDepth: 2
    functionLinenumber: 5630
    functionLinenumberEnd: 5710
    functionName: cfg_h1_headers_case_adjust_postparser
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - add_hdr_case_adjust
    - ha_warning
    - free
    - hap_register_post_deinit
    - fopen
    - fclose
    - fgets
    linkageType: ''
    returnType: int
    signature: cfg_h1_headers_case_adjust_postparser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/mux_h1.c:5717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 5721
      start: 5713
    functionDepth: 1
    functionLinenumber: 5713
    functionLinenumberEnd: 5721
    functionName: cfg_parse_h1_accept_payload_with_any_method
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_h1_accept_payload_with_any_method(char **args, int section_type,
      struct proxy *curpx,\n\t\t\t\t\t\t       const struct proxy *defpx, const char
      *file, int line,\n\t\t\t\t\t\t       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/mux_h1.c:5729,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h1.c:5732,1
    - Dst: add_hdr_case_adjust
      Src: /src/haproxy/src/mux_h1.c:5735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 5736
      start: 5725
    functionDepth: 2
    functionLinenumber: 5725
    functionLinenumberEnd: 5736
    functionName: cfg_parse_h1_header_case_adjust
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - memprintf
    - add_hdr_case_adjust
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_h1_header_case_adjust(char **args, int section_type, struct
      proxy *curpx,\n\t\t\t\t\t   const struct proxy *defpx, const char *file, int
      line,\n\t\t\t\t\t   char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/mux_h1.c:5743,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h1.c:5746,1
    - Dst: free
      Src: /src/haproxy/src/mux_h1.c:5749,1
    - Dst: strdup
      Src: /src/haproxy/src/mux_h1.c:5750,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h1.c:5752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 5756
      start: 5739
    functionDepth: 1
    functionLinenumber: 5739
    functionLinenumberEnd: 5756
    functionName: cfg_parse_h1_headers_case_adjust_file
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - too_many_args
    - strdup
    linkageType: ''
    returnType: int
    signature: "cfg_parse_h1_headers_case_adjust_file(char **args, int section_type,
      struct proxy *curpx,\n\t\t\t\t\t\t const struct proxy *defpx, const char *file,
      int line,\n\t\t\t\t\t\t char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/mux_h1.c:5763,1
    - Dst: strcmp
      Src: /src/haproxy/src/mux_h1.c:5766,1
    - Dst: strcmp
      Src: /src/haproxy/src/mux_h1.c:5768,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h1.c:5771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 5775
      start: 5759
    functionDepth: 1
    functionLinenumber: 5759
    functionLinenumberEnd: 5775
    functionName: cfg_parse_h1_zero_copy_fwd_rcv
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_h1_zero_copy_fwd_rcv(char **args, int section_type, struct
      proxy *curpx,\n\t\t\t\t\t   const struct proxy *defpx, const char *file, int
      line,\n\t\t\t\t\t   char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/mux_h1.c:5782,1
    - Dst: strcmp
      Src: /src/haproxy/src/mux_h1.c:5785,1
    - Dst: strcmp
      Src: /src/haproxy/src/mux_h1.c:5787,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h1.c:5790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 5794
      start: 5778
    functionDepth: 1
    functionLinenumber: 5778
    functionLinenumberEnd: 5794
    functionName: cfg_parse_h1_zero_copy_fwd_snd
    functionSourceFile: /src/haproxy/src/mux_h1.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_h1_zero_copy_fwd_snd(char **args, int section_type, struct
      proxy *curpx,\n\t\t\t\t\t  const struct proxy *defpx, const char *file, int
      line,\n\t\t\t\t\t  char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/quic_rules.c:35,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/quic_rules.c:36,1
    - Dst: struct act_rule*::action_ptr
      Src: /src/haproxy/src/quic_rules.c:40,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/quic_rules.c:53,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - li
    - dgram
    argTypes:
    - struct listener*
    - struct quic_dgram*
    constantsTouched: []
    func_position:
      end: 67
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 67
    functionName: quic_init_exec_rules
    functionSourceFile: /src/haproxy/src/quic_rules.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - struct act_rule*::action_ptr
    - ABORT_NOW
    - acl_match_cond
    linkageType: ''
    returnType: int
    signature: quic_init_exec_rules(struct listener *li, struct quic_dgram *dgram)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: parse_accept
    functionSourceFile: /src/haproxy/src/quic_rules.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_accept(const char **args, int *orig_arg,\n                                       struct
      proxy *px,\n                                       struct act_rule *rule, char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: parse_dgram_drop
    functionSourceFile: /src/haproxy/src/quic_rules.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_dgram_drop(const char **args, int *orig_arg,\n                                           struct
      proxy *px,\n                                           struct act_rule *rule,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_orig_register
      Src: /src/haproxy/src/quic_rules.c:91,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_rules.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: init_do_log
    functionSourceFile: /src/haproxy/src/quic_rules.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - log_orig_register
    linkageType: ''
    returnType: void
    signature: init_do_log(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_log_parse_act
      Src: /src/haproxy/src/quic_rules.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: parse_do_log
    functionSourceFile: /src/haproxy/src/quic_rules.c
    functionUses: 0
    functionsReached:
    - do_log_parse_act
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_do_log(const char **args, int *orig_arg,\n                                       struct
      proxy *px,\n                                       struct act_rule *rule, char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_dgram
      Src: /src/haproxy/src/quic_rules.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: quic_init_action_reject
    functionSourceFile: /src/haproxy/src/quic_rules.c
    functionUses: 0
    functionsReached:
    - __objt_dgram
    linkageType: ''
    returnType: enum act_return
    signature: "quic_init_action_reject(struct act_rule *rule, struct proxy *px,\n
      \                                              struct session *sess, struct
      stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_dgram
      Src: /src/haproxy/src/quic_rules.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: quic_init_action_send_retry
    functionSourceFile: /src/haproxy/src/quic_rules.c
    functionUses: 0
    functionsReached:
    - __objt_dgram
    linkageType: ''
    returnType: enum act_return
    signature: "quic_init_action_send_retry(struct act_rule *rule, struct proxy *px,\n
      \                                                  struct session *sess, struct
      stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: parse_reject
    functionSourceFile: /src/haproxy/src/quic_rules.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_reject(const char **args, int *orig_arg,\n                                       struct
      proxy *px,\n                                       struct act_rule *rule, char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: parse_send_retry
    functionSourceFile: /src/haproxy/src/quic_rules.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_send_retry(const char **args, int *orig_arg,\n                                           struct
      proxy *px,\n                                           struct act_rule *rule,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_rules.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw_list
    argTypes:
    - struct action_kw_list*
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: quic_init_actions_register
    functionSourceFile: /src/haproxy/src/quic_rules.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: quic_init_actions_register(struct action_kw_list *kw_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: action_lookup
      Src: /src/haproxy/src/quic_rules.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: action_quic_init_custom
    functionSourceFile: /src/haproxy/src/quic_rules.c
    functionUses: 0
    functionsReached:
    - action_lookup
    linkageType: ''
    returnType: struct action_kw
    signature: '*action_quic_init_custom(const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_newreno.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: quic_cc_nr_init
    functionSourceFile: /src/haproxy/src/quic_cc_newreno.c
    functionUses: 0
    functionsReached:
    - quic_cc_priv
    linkageType: ''
    returnType: int
    signature: quic_cc_nr_init(struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_newreno.c:55,1
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_newreno.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: quic_cc_nr_slow_start
    functionSourceFile: /src/haproxy/src/quic_cc_newreno.c
    functionUses: 0
    functionsReached:
    - container_of
    - quic_cc_priv
    linkageType: ''
    returnType: void
    signature: quic_cc_nr_slow_start(struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_newreno.c:69,1
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_newreno.c:71,1
    - Dst: QUIC_MAX
      Src: /src/haproxy/src/quic_cc_newreno.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: quic_cc_nr_enter_recovery
    functionSourceFile: /src/haproxy/src/quic_cc_newreno.c
    functionUses: 0
    functionsReached:
    - container_of
    - QUIC_MAX
    - quic_cc_priv
    linkageType: ''
    returnType: void
    signature: quic_cc_nr_enter_recovery(struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_newreno.c:82,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_newreno.c:84,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_newreno.c:85,1
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_newreno.c:86,1
    - Dst: quic_cwnd_may_increase
      Src: /src/haproxy/src/quic_cc_newreno.c:89,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/src/quic_cc_newreno.c:91,1
    - Dst: QUIC_MAX
      Src: /src/haproxy/src/quic_cc_newreno.c:92,1
    - Dst: quic_cc_nr_enter_recovery
      Src: /src/haproxy/src/quic_cc_newreno.c:100,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_newreno.c:107,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cc_newreno.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - cc
    - ev
    argTypes:
    - struct quic_cc*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 109
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 109
    functionName: quic_cc_nr_ss_cb
    functionSourceFile: /src/haproxy/src/quic_cc_newreno.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - quic_cc_priv
    - container_of
    - TRACE_ENTER
    - TRACE_PROTO
    - QUIC_MIN
    - QUIC_MAX
    - quic_cwnd_may_increase
    - quic_cc_nr_enter_recovery
    linkageType: ''
    returnType: void
    signature: quic_cc_nr_ss_cb(struct quic_cc *cc, struct quic_cc_event *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_newreno.c:115,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_newreno.c:117,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_newreno.c:118,1
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_newreno.c:119,1
    - Dst: quic_cwnd_may_increase
      Src: /src/haproxy/src/quic_cc_newreno.c:129,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/src/quic_cc_newreno.c:131,1
    - Dst: QUIC_MAX
      Src: /src/haproxy/src/quic_cc_newreno.c:132,1
    - Dst: quic_cc_nr_enter_recovery
      Src: /src/haproxy/src/quic_cc_newreno.c:138,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_newreno.c:147,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cc_newreno.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - cc
    - ev
    argTypes:
    - struct quic_cc*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 149
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 149
    functionName: quic_cc_nr_ca_cb
    functionSourceFile: /src/haproxy/src/quic_cc_newreno.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - quic_cc_priv
    - container_of
    - TRACE_ENTER
    - TRACE_PROTO
    - QUIC_MIN
    - QUIC_MAX
    - quic_cwnd_may_increase
    - quic_cc_nr_enter_recovery
    linkageType: ''
    returnType: void
    signature: quic_cc_nr_ca_cb(struct quic_cc *cc, struct quic_cc_event *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_newreno.c:155,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_newreno.c:157,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_newreno.c:158,1
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_newreno.c:159,1
    - Dst: tick_is_le
      Src: /src/haproxy/src/quic_cc_newreno.c:166,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_newreno.c:167,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_newreno.c:184,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_newreno.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - cc
    - ev
    argTypes:
    - struct quic_cc*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 186
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 186
    functionName: quic_cc_nr_rp_cb
    functionSourceFile: /src/haproxy/src/quic_cc_newreno.c
    functionUses: 0
    functionsReached:
    - quic_cc_priv
    - container_of
    - TRACE_ENTER
    - tick_is_le
    - TRACE_PROTO
    linkageType: ''
    returnType: void
    signature: quic_cc_nr_rp_cb(struct quic_cc *cc, struct quic_cc_event *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_newreno.c:190,1
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_newreno.c:192,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cc_newreno.c:193,1
    - Dst: quic_cc_state_str
      Src: /src/haproxy/src/quic_cc_newreno.c:194,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_cc_newreno.c:198,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/quic_cc_newreno.c:199,1
    - Dst: tick_remain
      Src: /src/haproxy/src/quic_cc_newreno.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - cc
    argTypes:
    - struct buffer*
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: quic_cc_nr_state_trace
    functionSourceFile: /src/haproxy/src/quic_cc_newreno.c
    functionUses: 0
    functionsReached:
    - container_of
    - quic_cc_priv
    - quic_cc_state_str
    - tick_remain
    - TICKS_TO_MS
    - chunk_appendf
    - tick_isset
    linkageType: ''
    returnType: void
    signature: quic_cc_nr_state_trace(struct buffer *buf, const struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cc
    - pn
    argTypes:
    - struct quic_cc*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: quic_cc_nr_hystart_start_round
    functionSourceFile: /src/haproxy/src/quic_cc_newreno.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_cc_nr_hystart_start_round(struct quic_cc *cc, uint64_t pn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_newreno.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cc
    - ev
    argTypes:
    - struct quic_cc*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: quic_cc_nr_event
    functionSourceFile: /src/haproxy/src/quic_cc_newreno.c
    functionUses: 0
    functionsReached:
    - quic_cc_priv
    linkageType: ''
    returnType: void
    signature: quic_cc_nr_event(struct quic_cc *cc, struct quic_cc_event *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/quic_cc_newreno.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: quic_cc_nr_check
    functionSourceFile: /src/haproxy/src/quic_cc_newreno.c
    functionUses: 0
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: quic_cc_nr_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 67
    argCount: 1
    argNames:
    - ft
    argTypes:
    - enum quic_frame_type
    constantsTouched: []
    func_position:
      end: 98
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 98
    functionName: quic_frame_type_string
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*quic_frame_type_string(enum quic_frame_type ft)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:103,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:105,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - phr
    - phrlen
    argTypes:
    - struct buffer*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: chunk_cc_phrase_appendf
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "chunk_cc_phrase_appendf(struct buffer *buf,\n                                    const
      unsigned char *phr, size_t phrlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:112,1
    - Dst: quic_frame_type_string
      Src: /src/haproxy/src/quic_frame.c:112,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:117,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:124,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:131,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:138,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:147,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:153,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:160,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:166,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:172,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:178,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:185,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:191,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:197,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:204,1
    - Dst: chunk_cc_phrase_appendf
      Src: /src/haproxy/src/quic_frame.c:209,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_frame.c:216,1
    - Dst: chunk_cc_phrase_appendf
      Src: /src/haproxy/src/quic_frame.c:220,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 2
    argNames:
    - buf
    - frm
    argTypes:
    - struct buffer*
    - struct quic_frame*
    constantsTouched: []
    func_position:
      end: 224
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 224
    functionName: chunk_frm_appendf
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_frame_type_string
    - chunk_cc_phrase_appendf
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: chunk_frm_appendf(struct buffer *buf, const struct quic_frame *frm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/quic_frame.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: quic_build_padding_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: "quic_build_padding_frame(unsigned char **pos, const unsigned char
      *end,\n                                    struct quic_frame *frm, struct quic_conn
      *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 260
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 260
    functionName: quic_parse_padding_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "quic_parse_padding_frame(struct quic_frame *frm, struct quic_conn
      *qc,\n                                    const unsigned char **pos, const unsigned
      char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: quic_build_ping_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "quic_build_ping_frame(unsigned char **pos, const unsigned char *end,\n
      \                                struct quic_frame *frm, struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 280
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 280
    functionName: quic_parse_ping_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "quic_parse_ping_frame(struct quic_frame *frm, struct quic_conn *qc,\n
      \                                const unsigned char **pos, const unsigned char
      *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_last
      Src: /src/haproxy/src/quic_frame.c:292,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_frame.c:293,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_frame.c:294,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:296,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:297,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:298,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:299,1
    - Dst: eb64_prev
      Src: /src/haproxy/src/quic_frame.c:302,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_frame.c:303,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_frame.c:304,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:306,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:307,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_frame.c:311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - qc
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 315
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 315
    functionName: quic_build_ack_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - TRACE_PROTO
    - eb64_last
    - eb64_entry
    - quic_enc_int
    - eb64_prev
    linkageType: ''
    returnType: int
    signature: "quic_build_ack_frame(unsigned char **pos, const unsigned char *end,\n
      \                               struct quic_frame *frm, struct quic_conn *qc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:326,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:330,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:334,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 343
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 343
    functionName: quic_parse_ack_frame_header
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_ack_frame_header(struct quic_frame *frm, struct quic_conn
      *qc,\n                                       const unsigned char **pos, const
      unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:353,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:354,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:355,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 357
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 357
    functionName: quic_build_ack_ecn_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_ack_ecn_frame(unsigned char **pos, const unsigned char
      *end,\n                                    struct quic_frame *frm, struct quic_conn
      *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:367,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:368,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:369,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 371
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 371
    functionName: quic_parse_ack_ecn_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_ack_ecn_frame(struct quic_frame *frm, struct quic_conn
      *qc,\n                                    const unsigned char **pos, const unsigned
      char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:381,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:382,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: quic_build_reset_stream_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_reset_stream_frame(unsigned char **pos, const unsigned
      char *end,\n                                         struct quic_frame *frm,
      struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:394,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:395,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 397
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 397
    functionName: quic_parse_reset_stream_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_reset_stream_frame(struct quic_frame *frm, struct quic_conn
      *qc,\n                                         const unsigned char **pos, const
      unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:407,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 409
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 409
    functionName: quic_build_stop_sending_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_stop_sending_frame(unsigned char **pos, const unsigned
      char *end,\n                                         struct quic_frame *frm,
      struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:419,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: quic_parse_stop_sending_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_stop_sending_frame(struct quic_frame *frm, struct quic_conn
      *qc,\n                                         const unsigned char **pos, const
      unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:433,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:434,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 456
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 456
    functionName: quic_build_crypto_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - memcpy
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_crypto_frame(unsigned char **pos, const unsigned char *end,\n
      \                                  struct quic_frame *frm, struct quic_conn
      *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:466,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 474
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 474
    functionName: quic_parse_crypto_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_crypto_frame(struct quic_frame *frm, struct quic_conn *qc,\n
      \                                  const unsigned char **pos, const unsigned
      char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:485,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 492
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 492
    functionName: quic_build_new_token_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - memcpy
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_new_token_frame(unsigned char **pos, const unsigned char
      *end,\n                                      struct quic_frame *frm, struct
      quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:503,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 511
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 511
    functionName: quic_parse_new_token_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - memcpy
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_new_token_frame(struct quic_frame *frm, struct quic_conn
      *qc,\n                                      const unsigned char **pos, const
      unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_frame.c:523,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:526,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:527,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:529,1
    - Dst: b_wrap
      Src: /src/haproxy/src/quic_frame.c:536,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:539,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:543,1
    - Dst: b_orig
      Src: /src/haproxy/src/quic_frame.c:543,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:547,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 552
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 552
    functionName: quic_build_stream_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - b_wrap
    - b_orig
    - quic_enc_int
    - memcpy
    linkageType: ''
    returnType: int
    signature: "quic_build_stream_frame(unsigned char **pos, const unsigned char *end,\n
      \                                  struct quic_frame *frm, struct quic_conn
      *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:562,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:568,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 582
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 582
    functionName: quic_parse_stream_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_stream_frame(struct quic_frame *frm, struct quic_conn *qc,\n
      \                                  const unsigned char **pos, const unsigned
      char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 593
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 593
    functionName: quic_build_max_data_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_max_data_frame(unsigned char **pos, const unsigned char
      *end,\n                                     struct quic_frame *frm, struct quic_conn
      *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: quic_parse_max_data_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_max_data_frame(struct quic_frame *frm, struct quic_conn
      *qc,\n                                     const unsigned char **pos, const
      unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:614,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 616
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 616
    functionName: quic_build_max_stream_data_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_max_stream_data_frame(unsigned char **pos, const unsigned
      char *end,\n                                            struct quic_frame *frm,
      struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:626,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 628
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 628
    functionName: quic_parse_max_stream_data_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_max_stream_data_frame(struct quic_frame *frm, struct quic_conn
      *qc,\n                                            const unsigned char **pos,
      const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 639
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 639
    functionName: quic_build_max_streams_bidi_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_max_streams_bidi_frame(unsigned char **pos, const unsigned
      char *end,\n                                             struct quic_frame *frm,
      struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 651
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 651
    functionName: quic_parse_max_streams_bidi_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_max_streams_bidi_frame(struct quic_frame *frm, struct quic_conn
      *qc,\n                                             const unsigned char **pos,
      const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 662
    functionName: quic_build_max_streams_uni_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_max_streams_uni_frame(unsigned char **pos, const unsigned
      char *end,\n                                            struct quic_frame *frm,
      struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 674
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 674
    functionName: quic_parse_max_streams_uni_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_max_streams_uni_frame(struct quic_frame *frm, struct quic_conn
      *qc,\n                                            const unsigned char **pos,
      const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 685
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 685
    functionName: quic_build_data_blocked_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_data_blocked_frame(unsigned char **pos, const unsigned
      char *end,\n                                         struct quic_frame *frm,
      struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 696
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 696
    functionName: quic_parse_data_blocked_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_data_blocked_frame(struct quic_frame *frm, struct quic_conn
      *qc,\n                                         const unsigned char **pos, const
      unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:706,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: quic_build_stream_data_blocked_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_stream_data_blocked_frame(unsigned char **pos, const unsigned
      char *end,\n                                                struct quic_frame
      *frm, struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:718,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 720
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 720
    functionName: quic_parse_stream_data_blocked_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_stream_data_blocked_frame(struct quic_frame *frm, struct
      quic_conn *qc,\n                                                const unsigned
      char **pos, const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 731
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 731
    functionName: quic_build_streams_blocked_bidi_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_streams_blocked_bidi_frame(unsigned char **pos, const unsigned
      char *end,\n                                                 struct quic_frame
      *frm, struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 743
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 743
    functionName: quic_parse_streams_blocked_bidi_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_streams_blocked_bidi_frame(struct quic_frame *frm, struct
      quic_conn *qc,\n                                                 const unsigned
      char **pos, const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 754
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 754
    functionName: quic_build_streams_blocked_uni_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_streams_blocked_uni_frame(unsigned char **pos, const unsigned
      char *end,\n                                                struct quic_frame
      *frm, struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 766
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 766
    functionName: quic_parse_streams_blocked_uni_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_streams_blocked_uni_frame(struct quic_frame *frm, struct
      quic_conn *qc,\n                                                const unsigned
      char **pos, const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:776,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:777,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:784,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 791
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 791
    functionName: quic_build_new_connection_id_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - memcpy
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_new_connection_id_frame(unsigned char **pos, const unsigned
      char *end,\n                                              struct quic_frame
      *frm, struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:801,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:802,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 817
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 817
    functionName: quic_parse_new_connection_id_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_new_connection_id_frame(struct quic_frame *frm, struct
      quic_conn *qc,\n                                              const unsigned
      char **pos, const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 828
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 828
    functionName: quic_build_retire_connection_id_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_retire_connection_id_frame(unsigned char **pos, const unsigned
      char *end,\n                                                 struct quic_frame
      *frm, struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 839
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 839
    functionName: quic_parse_retire_connection_id_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_retire_connection_id_frame(struct quic_frame *frm, struct
      quic_conn *qc,\n                                                 const unsigned
      char **pos, const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 856
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 856
    functionName: quic_build_path_challenge_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "quic_build_path_challenge_frame(unsigned char **pos, const unsigned
      char *end,\n                                           struct quic_frame *frm,
      struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 873
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 873
    functionName: quic_parse_path_challenge_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "quic_parse_path_challenge_frame(struct quic_frame *frm, struct quic_conn
      *qc,\n                                           const unsigned char **pos,
      const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 891
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 891
    functionName: quic_build_path_response_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "quic_build_path_response_frame(unsigned char **pos, const unsigned
      char *end,\n                                          struct quic_frame *frm,
      struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 908
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 908
    functionName: quic_parse_path_response_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "quic_parse_path_response_frame(struct quic_frame *frm, struct quic_conn
      *qc,\n                                          const unsigned char **pos, const
      unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:920,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:921,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:922,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 930
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 930
    functionName: quic_build_connection_close_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - memcpy
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_connection_close_frame(unsigned char **pos, const unsigned
      char *end,\n                                             struct quic_frame *frm,
      struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:943,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:944,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:945,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/src/quic_frame.c:949,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 954
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 954
    functionName: quic_parse_connection_close_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - QUIC_MIN
    - memcpy
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_connection_close_frame(struct quic_frame *frm, struct quic_conn
      *qc,\n                                             const unsigned char **pos,
      const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:966,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:967,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:971,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 975
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 975
    functionName: quic_build_connection_close_app_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - memcpy
    - quic_enc_int
    linkageType: ''
    returnType: int
    signature: "quic_build_connection_close_app_frame(unsigned char **pos, const unsigned
      char *end,\n                                                 struct quic_frame
      *frm, struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:988,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:989,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/src/quic_frame.c:993,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_frame.c:994,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 998
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 998
    functionName: quic_parse_connection_close_app_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - QUIC_MIN
    - memcpy
    - quic_dec_int
    linkageType: ''
    returnType: int
    signature: "quic_parse_connection_close_app_frame(struct quic_frame *frm, struct
      quic_conn *qc,\n                                                 const unsigned
      char **pos, const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pos
    - end
    - frm
    - conn
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1008
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1008
    functionName: quic_build_handshake_done_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "quic_build_handshake_done_frame(unsigned char **pos, const unsigned
      char *end,\n                                           struct quic_frame *frm,
      struct quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - frm
    - qc
    - pos
    - end
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1018
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1018
    functionName: quic_parse_handshake_done_frame
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "quic_parse_handshake_done_frame(struct quic_frame *frm, struct quic_conn
      *qc,\n                                           const unsigned char **pos,
      const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1125
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1125
    functionName: quic_frame_type_is_known
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: quic_frame_type_is_known(uint64_t type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/quic_frame.c:1134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1136
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1136
    functionName: qf_parser
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - ABORT_NOW
    linkageType: ''
    returnType: struct quic_frame_parser
    signature: '*qf_parser(uint64_t type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/quic_frame.c:1145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1147
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1147
    functionName: qf_builder
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - ABORT_NOW
    linkageType: ''
    returnType: struct quic_frame_builder
    signature: '*qf_builder(uint64_t type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_frame.c:1159,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_frame.c:1161,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_frame.c:1165,1
    - Dst: quic_frame_type_is_known
      Src: /src/haproxy/src/quic_frame.c:1166,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_frame.c:1172,1
    - Dst: quic_set_connection_close
      Src: /src/haproxy/src/quic_frame.c:1173,1
    - Dst: quic_err_transport
      Src: /src/haproxy/src/quic_frame.c:1173,1
    - Dst: qf_parser
      Src: /src/haproxy/src/quic_frame.c:1177,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_frame.c:1179,1
    - Dst: struct quic_frame_parser*::func
      Src: /src/haproxy/src/quic_frame.c:1183,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_frame.c:1184,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_frame.c:1188,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_frame.c:1194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 5
    argNames:
    - frm
    - pkt
    - pos
    - end
    - qc
    argTypes:
    - struct quic_frame*
    - struct quic_rx_packet*
    - unsigned char**
    - unsigned char*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1196
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1196
    functionName: qc_parse_frm
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_err_transport
    - TRACE_LEAVE
    - quic_dec_int
    - TRACE_ENTER
    - TRACE_PROTO
    - quic_set_connection_close
    - TRACE_DEVEL
    - struct quic_frame_parser*::func
    - qf_parser
    - quic_frame_type_is_known
    linkageType: ''
    returnType: int
    signature: "qc_parse_frm(struct quic_frame *frm, struct quic_rx_packet *pkt,\n
      \                const unsigned char **pos, const unsigned char *end,\n                 struct
      quic_conn *qc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_frame.c:1211,1
    - Dst: qf_builder
      Src: /src/haproxy/src/quic_frame.c:1212,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_frame.c:1215,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_frame.c:1216,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_frame.c:1219,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_frame.c:1220,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_frame.c:1224,1
    - Dst: struct quic_frame_builder*::func
      Src: /src/haproxy/src/quic_frame.c:1225,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_frame.c:1226,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_frame.c:1235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - pos
    - end
    - frm
    - pkt
    - qc
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_frame*
    - struct quic_tx_packet*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1237
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1237
    functionName: qc_build_frm
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - struct quic_frame_builder*::func
    - TRACE_LEAVE
    - TRACE_ENTER
    - TRACE_PROTO
    - quic_enc_int
    - TRACE_ERROR
    - TRACE_DEVEL
    - qf_builder
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: "qc_build_frm(unsigned char **pos, const unsigned char *end,\n                 struct
      quic_frame *frm, struct quic_tx_packet *pkt,\n                 struct quic_conn
      *qc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_frame.c:1244,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_frame.c:1246,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_frame.c:1248,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_frame.c:1250,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_frame.c:1254,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_frame.c:1259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - frm
    - qc
    argTypes:
    - struct quic_frame*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1260
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1260
    functionName: qc_frm_unref
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - list_for_each_entry_safe
    - TRACE_ENTER
    - TRACE_DEVEL
    - LIST_DEL_INIT
    linkageType: ''
    returnType: void
    signature: qc_frm_unref(struct quic_frame *frm, struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_frame.c:1266,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_frame.c:1270,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_frame.c:1270,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_frame.c:1271,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/quic_frame.c:1271,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_frame.c:1277,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_frame.c:1279,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_frame.c:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - qc
    - frm
    argTypes:
    - struct quic_conn*
    - struct quic_frame**
    constantsTouched: []
    func_position:
      end: 1282
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1282
    functionName: qc_frm_free
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - TRACE_ENTER
    - pool_free
    - LIST_DEL_INIT
    - LIST_INLIST
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: qc_frm_free(struct quic_conn *qc, struct quic_frame **frm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_frame.c:1294,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_frame.c:1296,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_frame.c:1309,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_frame.c:1313,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_frame.c:1315,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_frame.c:1319,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_frame.c:1321,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_frame.c:1322,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_frame.c:1325,1
    - Dst: quic_tx_packet_refdec
      Src: /src/haproxy/src/quic_frame.c:1327,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_frame.c:1328,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_frame.c:1330,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_frame.c:1332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - qc
    - frm
    argTypes:
    - struct quic_conn*
    - struct quic_frame*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1285
    functionDepth: 1
    functionLinenumber: 1285
    functionLinenumberEnd: 1333
    functionName: qc_release_frm
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - list_for_each_entry_safe
    - TRACE_ENTER
    - qc_frm_free
    - TRACE_DEVEL
    - LIST_DEL_INIT
    - BUG_ON
    - quic_tx_packet_refdec
    linkageType: ''
    returnType: void
    signature: qc_release_frm(struct quic_conn *qc, struct quic_frame *frm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/quic_frame.c:1351,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/quic_frame.c:1353,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/quic_frame.c:1358,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/quic_frame.c:1363,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/quic_frame.c:1383,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/quic_frame.c:1388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - room
    - frm
    - split
    argTypes:
    - size_t
    - struct quic_frame*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1394
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1394
    functionName: quic_strm_frm_fillbuf
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - quic_int_getsize
    - ABORT_NOW
    linkageType: ''
    returnType: size_t
    signature: quic_strm_frm_fillbuf(size_t room, struct quic_frame *frm, size_t *split)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_frm_alloc::qc_frm_alloc
      Src: /src/haproxy/src/quic_frame.c:1407,1
    - Dst: stream::stream
      Src: /src/haproxy/src/quic_frame.c:1412,1
    - Dst: stream::stream
      Src: /src/haproxy/src/quic_frame.c:1413,1
    - Dst: stream::stream
      Src: /src/haproxy/src/quic_frame.c:1414,1
    - Dst: stream::stream
      Src: /src/haproxy/src/quic_frame.c:1415,1
    - Dst: stream::stream
      Src: /src/haproxy/src/quic_frame.c:1416,1
    - Dst: stream::stream
      Src: /src/haproxy/src/quic_frame.c:1419,1
    - Dst: stream::stream
      Src: /src/haproxy/src/quic_frame.c:1420,1
    - Dst: b_make
      Src: /src/haproxy/src/quic_frame.c:1424,1
    - Dst: b_orig
      Src: /src/haproxy/src/quic_frame.c:1424,1
    - Dst: b_size
      Src: /src/haproxy/src/quic_frame.c:1425,1
    - Dst: b_orig
      Src: /src/haproxy/src/quic_frame.c:1426,1
    - Dst: b_peek
      Src: /src/haproxy/src/quic_frame.c:1429,1
    - Dst: crypto::crypto
      Src: /src/haproxy/src/quic_frame.c:1432,1
    - Dst: crypto::crypto
      Src: /src/haproxy/src/quic_frame.c:1433,1
    - Dst: crypto::crypto
      Src: /src/haproxy/src/quic_frame.c:1434,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/quic_frame.c:1442,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_frame.c:1447,1
    - Dst: ref::ref
      Src: /src/haproxy/src/quic_frame.c:1447,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_frame.c:1449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - frm
    - split
    argTypes:
    - struct quic_frame*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1454
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1454
    functionName: quic_strm_frm_split
    functionSourceFile: /src/haproxy/src/quic_frame.c
    functionUses: 0
    functionsReached:
    - ABORT_NOW
    - b_make
    - ref::ref
    - b_peek
    - LIST_APPEND
    - stream::stream
    - crypto::crypto
    - LIST_DEL_INIT
    - b_size
    - b_orig
    - qc_frm_alloc::qc_frm_alloc
    linkageType: ''
    returnType: struct quic_frame
    signature: '*quic_strm_frm_split(struct quic_frame *frm, uint64_t split)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_djb2
      Src: /src/haproxy/src/backend.c:72,1
    - Dst: hash_wt6
      Src: /src/haproxy/src/backend.c:75,1
    - Dst: hash_crc32
      Src: /src/haproxy/src/backend.c:78,1
    - Dst: read_int64
      Src: /src/haproxy/src/backend.c:85,1
    - Dst: hash_sdbm
      Src: /src/haproxy/src/backend.c:91,1
    - Dst: full_hash
      Src: /src/haproxy/src/backend.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - px
    - key
    - len
    argTypes:
    - struct proxy*
    - char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 99
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 99
    functionName: gen_hash
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - hash_djb2
    - full_hash
    - hash_sdbm
    - read_int64
    - hash_wt6
    - hash_crc32
    linkageType: ''
    returnType: unsigned int
    signature: gen_hash(const struct proxy* px, const char* key, unsigned long len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/backend.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 138
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 138
    functionName: recount_servers
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 4
    functionsReached:
    - srv_willbe_usable
    linkageType: ''
    returnType: void
    signature: recount_servers(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: update_backend_weight
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: update_backend_weight(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/haproxy/src/backend.c:186,1
    - Dst: full_hash
      Src: /src/haproxy/src/backend.c:194,1
    - Dst: chash_get_server_hash
      Src: /src/haproxy/src/backend.c:197,1
    - Dst: map_get_server_hash
      Src: /src/haproxy/src/backend.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - px
    - addr
    - len
    - avoid
    argTypes:
    - struct proxy*
    - char*
    - int
    - struct server*
    constantsTouched: []
    func_position:
      end: 200
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 200
    functionName: get_server_sh
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - full_hash
    - chash_get_server_hash
    - map_get_server_hash
    - ntohl
    linkageType: ''
    returnType: struct server
    signature: '*get_server_sh(struct proxy *px, const char *addr, int len, const
      struct server *avoid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/haproxy/src/backend.c:231,1
    - Dst: gen_hash
      Src: /src/haproxy/src/backend.c:246,1
    - Dst: chash_get_server_hash
      Src: /src/haproxy/src/backend.c:250,1
    - Dst: map_get_server_hash
      Src: /src/haproxy/src/backend.c:252,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - px
    - uri
    - uri_len
    - avoid
    argTypes:
    - struct proxy*
    - char*
    - int
    - struct server*
    constantsTouched: []
    func_position:
      end: 253
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 253
    functionName: get_server_uh
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - chash_get_server_hash
    - map_get_server_hash
    - MIN
    - gen_hash
    linkageType: ''
    returnType: struct server
    signature: '*get_server_uh(struct proxy *px, char *uri, int uri_len, const struct
      server *avoid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/haproxy/src/backend.c:276,1
    - Dst: memcmp
      Src: /src/haproxy/src/backend.c:288,1
    - Dst: gen_hash
      Src: /src/haproxy/src/backend.c:301,1
    - Dst: chash_get_server_hash
      Src: /src/haproxy/src/backend.c:304,1
    - Dst: map_get_server_hash
      Src: /src/haproxy/src/backend.c:306,1
    - Dst: memchr
      Src: /src/haproxy/src/backend.c:310,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - px
    - uri
    - uri_len
    - avoid
    argTypes:
    - struct proxy*
    - char*
    - int
    - struct server*
    constantsTouched: []
    func_position:
      end: 318
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 318
    functionName: get_server_ph
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - chash_get_server_hash
    - memchr
    - map_get_server_hash
    - gen_hash
    - memcmp
    linkageType: ''
    returnType: struct server
    signature: '*get_server_ph(struct proxy *px, const char *uri, int uri_len, const
      struct server *avoid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/backend.c:328,1
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/backend.c:339,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/backend.c:339,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/backend.c:340,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/backend.c:345,1
    - Dst: memcmp
      Src: /src/haproxy/src/backend.c:354,1
    - Dst: unlikely
      Src: /src/haproxy/src/backend.c:364,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/backend.c:364,1
    - Dst: likely
      Src: /src/haproxy/src/backend.c:368,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/backend.c:368,1
    - Dst: gen_hash
      Src: /src/haproxy/src/backend.c:378,1
    - Dst: chash_get_server_hash
      Src: /src/haproxy/src/backend.c:381,1
    - Dst: map_get_server_hash
      Src: /src/haproxy/src/backend.c:383,1
    - Dst: memchr
      Src: /src/haproxy/src/backend.c:387,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - s
    - avoid
    argTypes:
    - struct stream*
    - struct server*
    constantsTouched: []
    func_position:
      end: 395
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 395
    functionName: get_server_ph_post
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - chash_get_server_hash
    - map_get_server_hash
    - HTTP_IS_LWS
    - memchr
    - htx_get_first_blk
    - htxbuf
    - gen_hash
    - htx_get_blk_type
    - likely
    - htx_get_blk_value
    - unlikely
    - memcmp
    - htx_get_next_blk
    - HTTP_IS_TOKEN
    linkageType: ''
    returnType: struct server
    signature: '*get_server_ph_post(struct stream *s, const struct server *avoid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/backend.c:416,1
    - Dst: http_find_header
      Src: /src/haproxy/src/backend.c:427,1
    - Dst: ist2
      Src: /src/haproxy/src/backend.c:427,1
    - Dst: gen_hash
      Src: /src/haproxy/src/backend.c:440,1
    - Dst: gen_hash
      Src: /src/haproxy/src/backend.c:470,1
    - Dst: chash_get_server_hash
      Src: /src/haproxy/src/backend.c:475,1
    - Dst: map_get_server_hash
      Src: /src/haproxy/src/backend.c:477,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - s
    - avoid
    argTypes:
    - struct stream*
    - struct server*
    constantsTouched: []
    func_position:
      end: 478
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 478
    functionName: get_server_hh
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - chash_get_server_hash
    - map_get_server_hash
    - ist2
    - htxbuf
    - gen_hash
    - http_find_header
    linkageType: ''
    returnType: struct server
    signature: '*get_server_hh(struct stream *s, const struct server *avoid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/backend.c:494,1
    - Dst: co_data
      Src: /src/haproxy/src/backend.c:496,1
    - Dst: c_rew
      Src: /src/haproxy/src/backend.c:497,1
    - Dst: fetch_rdp_cookie_name
      Src: /src/haproxy/src/backend.c:499,1
    - Dst: c_adv
      Src: /src/haproxy/src/backend.c:502,1
    - Dst: gen_hash
      Src: /src/haproxy/src/backend.c:514,1
    - Dst: chash_get_server_hash
      Src: /src/haproxy/src/backend.c:518,1
    - Dst: map_get_server_hash
      Src: /src/haproxy/src/backend.c:520,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - s
    - avoid
    argTypes:
    - struct stream*
    - struct server*
    constantsTouched: []
    func_position:
      end: 521
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 521
    functionName: get_server_rch
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - chash_get_server_hash
    - map_get_server_hash
    - co_data
    - fetch_rdp_cookie_name
    - memset
    - c_adv
    - gen_hash
    - c_rew
    linkageType: ''
    returnType: struct server
    signature: '*get_server_rch(struct stream *s, const struct server *avoid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/backend.c:539,1
    - Dst: gen_hash
      Src: /src/haproxy/src/backend.c:546,1
    - Dst: chash_get_server_hash
      Src: /src/haproxy/src/backend.c:550,1
    - Dst: map_get_server_hash
      Src: /src/haproxy/src/backend.c:552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - s
    - avoid
    argTypes:
    - struct stream*
    - struct server*
    constantsTouched: []
    func_position:
      end: 553
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 553
    functionName: get_server_expr
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - chash_get_server_hash
    - sample_fetch_as_type
    - map_get_server_hash
    - gen_hash
    linkageType: ''
    returnType: struct server
    signature: '*get_server_expr(struct stream *s, const struct server *avoid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: statistical_prng
      Src: /src/haproxy/src/backend.c:570,1
    - Dst: chash_get_server_hash
      Src: /src/haproxy/src/backend.c:571,1
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/src/backend.c:587,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - s
    - avoid
    argTypes:
    - struct stream*
    - struct server*
    constantsTouched: []
    func_position:
      end: 591
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 591
    functionName: get_server_rnd
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - chash_get_server_hash
    - srv_dynamic_maxconn
    - statistical_prng
    linkageType: ''
    returnType: struct server
    signature: '*get_server_rnd(struct stream *s, const struct server *avoid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/backend.c:626,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:629,1
    - Dst: sess_change_server
      Src: /src/haproxy/src/backend.c:636,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/backend.c:650,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:651,1
    - Dst: server_has_room
      Src: /src/haproxy/src/backend.c:656,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/backend.c:658,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/backend.c:659,1
    - Dst: fwrr_get_next_server
      Src: /src/haproxy/src/backend.c:698,1
    - Dst: fas_get_next_server
      Src: /src/haproxy/src/backend.c:702,1
    - Dst: fwlc_get_next_server
      Src: /src/haproxy/src/backend.c:706,1
    - Dst: get_server_rnd
      Src: /src/haproxy/src/backend.c:714,1
    - Dst: map_get_server_rr
      Src: /src/haproxy/src/backend.c:716,1
    - Dst: sc_src
      Src: /src/haproxy/src/backend.c:729,1
    - Dst: get_server_sh
      Src: /src/haproxy/src/backend.c:731,1
    - Dst: get_server_sh
      Src: /src/haproxy/src/backend.c:736,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/backend.c:744,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/backend.c:747,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/backend.c:747,1
    - Dst: htxbuf
      Src: /src/haproxy/src/backend.c:747,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/backend.c:750,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/backend.c:752,1
    - Dst: isttest
      Src: /src/haproxy/src/backend.c:753,1
    - Dst: ist
      Src: /src/haproxy/src/backend.c:754,1
    - Dst: get_server_uh
      Src: /src/haproxy/src/backend.c:756,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/backend.c:762,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/backend.c:765,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/backend.c:765,1
    - Dst: htxbuf
      Src: /src/haproxy/src/backend.c:765,1
    - Dst: get_server_ph
      Src: /src/haproxy/src/backend.c:766,1
    - Dst: get_server_ph_post
      Src: /src/haproxy/src/backend.c:769,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/backend.c:775,1
    - Dst: get_server_hh
      Src: /src/haproxy/src/backend.c:776,1
    - Dst: get_server_rch
      Src: /src/haproxy/src/backend.c:781,1
    - Dst: get_server_expr
      Src: /src/haproxy/src/backend.c:786,1
    - Dst: chash_get_next_server
      Src: /src/haproxy/src/backend.c:800,1
    - Dst: map_get_server_rr
      Src: /src/haproxy/src/backend.c:802,1
    - Dst: ss_get_server
      Src: /src/haproxy/src/backend.c:813,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:827,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:828,1
    - Dst: sess_change_server
      Src: /src/haproxy/src/backend.c:850,1
    - Dst: may_dequeue_tasks
      Src: /src/haproxy/src/backend.c:852,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/backend.c:853,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 158
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 859
      start: 618
    functionDepth: 4
    functionLinenumber: 618
    functionLinenumberEnd: 859
    functionName: assign_server
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - map_get_server_rr
    - process_srv_queue
    - server_has_room
    - isttest
    - ist
    - ss_get_server
    - get_server_uh
    - fwlc_get_next_server
    - get_server_rch
    - sc_src
    - get_server_ph
    - http_get_stline
    - get_server_rnd
    - htx_sl_req_uri
    - list_for_each_entry
    - sess_change_server
    - srv_currently_usable
    - get_server_hh
    - http_parse_path
    - objt_server
    - _HA_ATOMIC_INC
    - htxbuf
    - http_uri_parser_init
    - fas_get_next_server
    - get_server_expr
    - chash_get_next_server
    - IS_HTX_STRM
    - get_server_ph_post
    - may_dequeue_tasks
    - fwrr_get_next_server
    - unlikely
    - get_server_sh
    linkageType: ''
    returnType: int
    signature: assign_server(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/backend.c:888,1
    - Dst: ASSUME_NONNULL
      Src: /src/haproxy/src/backend.c:891,1
    - Dst: set_host_port
      Src: /src/haproxy/src/backend.c:894,1
    - Dst: is_addr
      Src: /src/haproxy/src/backend.c:895,1
    - Dst: sc_dst
      Src: /src/haproxy/src/backend.c:901,1
    - Dst: sc_dst
      Src: /src/haproxy/src/backend.c:918,1
    - Dst: get_host_port
      Src: /src/haproxy/src/backend.c:921,1
    - Dst: get_host_port
      Src: /src/haproxy/src/backend.c:924,1
    - Dst: set_host_port
      Src: /src/haproxy/src/backend.c:925,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/backend.c:930,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/backend.c:937,1
    - Dst: sc_dst
      Src: /src/haproxy/src/backend.c:941,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 3
    argNames:
    - ss
    - srv
    - s
    argTypes:
    - struct sockaddr_storage**
    - struct server*
    - struct stream*
    constantsTouched: []
    func_position:
      end: 951
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 951
    functionName: alloc_dst_address
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - set_host_port
    - is_addr
    - sockaddr_alloc
    - sc_dst
    - ASSUME_NONNULL
    - get_host_port
    linkageType: ''
    returnType: int
    signature: "alloc_dst_address(struct sockaddr_storage **ss,\n                             struct
      server *srv, struct stream *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:983,1
    - Dst: assign_server
      Src: /src/haproxy/src/backend.c:985,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:996,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:1002,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:1003,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:1005,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:1006,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:1014,1
    - Dst: sess_change_server
      Src: /src/haproxy/src/backend.c:1030,1
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/src/backend.c:1050,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/backend.c:1057,1
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/src/backend.c:1059,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/backend.c:1060,1
    - Dst: pendconn_add
      Src: /src/haproxy/src/backend.c:1066,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:1083,1
    - Dst: sess_change_server
      Src: /src/haproxy/src/backend.c:1086,1
    - Dst: pendconn_add
      Src: /src/haproxy/src/backend.c:1091,1
    - Dst: unlikely
      Src: /src/haproxy/src/backend.c:1108,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/src/backend.c:1111,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/backend.c:1115,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/backend.c:1118,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/backend.c:1131,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/backend.c:1137,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/backend.c:1140,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/backend.c:1141,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/backend.c:1143,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:1144,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/backend.c:1145,1
    - Dst: pool_free
      Src: /src/haproxy/src/backend.c:1147,1
    - Dst: sess_change_server
      Src: /src/haproxy/src/backend.c:1152,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 94
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 1171
      start: 972
    functionDepth: 5
    functionLinenumber: 972
    functionLinenumberEnd: 1171
    functionName: assign_server_and_queue
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - srv_dynamic_maxconn
    - eb32_delete
    - _HA_ATOMIC_DEC
    - objt_server
    - sess_change_server
    - _HA_ATOMIC_INC
    - _HA_ATOMIC_CAS
    - pendconn_add
    - _HA_ATOMIC_LOAD
    - HA_SPIN_UNLOCK
    - pool_free
    - HA_SPIN_LOCK
    - __ha_cpu_relax
    - HA_ATOMIC_XCHG
    - unlikely
    - assign_server
    linkageType: ''
    returnType: int
    signature: assign_server_and_queue(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/backend.c:1201,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/backend.c:1215,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/backend.c:1223,1
    - Dst: sc_src
      Src: /src/haproxy/src/backend.c:1226,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/backend.c:1230,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/backend.c:1246,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/backend.c:1248,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/backend.c:1251,1
    - Dst: http_get_htx_hdr
      Src: /src/haproxy/src/backend.c:1259,1
    - Dst: htxbuf
      Src: /src/haproxy/src/backend.c:1259,1
    - Dst: ist2
      Src: /src/haproxy/src/backend.c:1260,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/backend.c:1262,1
    - Dst: htonl
      Src: /src/haproxy/src/backend.c:1266,1
    - Dst: inetaddr_host_lim
      Src: /src/haproxy/src/backend.c:1266,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 4
    argNames:
    - ss
    - srv
    - be
    - s
    argTypes:
    - struct sockaddr_storage**
    - struct server*
    - struct proxy*
    - struct stream*
    constantsTouched: []
    func_position:
      end: 1275
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1275
    functionName: alloc_bind_address
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 1
    functionsReached:
    - sockaddr_free
    - sockaddr_alloc
    - ist2
    - IS_HTX_STRM
    - http_get_htx_hdr
    - htxbuf
    - htonl
    - sc_src
    - BUG_ON
    - inetaddr_host_lim
    linkageType: ''
    returnType: int
    signature: "alloc_bind_address(struct sockaddr_storage **ss,\n                       struct
      server *srv, struct proxy *be,\n                       struct stream *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/backend.c:1305,1
    - Dst: srv_lookup_conn
      Src: /src/haproxy/src/backend.c:1306,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/backend.c:1308,1
    - Dst: srv_lookup_conn
      Src: /src/haproxy/src/backend.c:1314,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/backend.c:1316,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/backend.c:1320,1
    - Dst: protocol_lookup
      Src: /src/haproxy/src/backend.c:1340,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/backend.c:1359,1
    - Dst: srv_lookup_conn
      Src: /src/haproxy/src/backend.c:1361,1
    - Dst: struct connection*::mux::takeover
      Src: /src/haproxy/src/backend.c:1363,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/backend.c:1364,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:1365,1
    - Dst: srv_lookup_conn_next
      Src: /src/haproxy/src/backend.c:1370,1
    - Dst: srv_lookup_conn
      Src: /src/haproxy/src/backend.c:1374,1
    - Dst: struct connection*::mux::takeover
      Src: /src/haproxy/src/backend.c:1376,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/backend.c:1377,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:1378,1
    - Dst: srv_lookup_conn_next
      Src: /src/haproxy/src/backend.c:1384,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/backend.c:1387,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/backend.c:1407,1
    - Dst: srv_use_conn
      Src: /src/haproxy/src/backend.c:1409,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/backend.c:1411,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/backend.c:1412,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/backend.c:1413,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/backend.c:1415,1
    - Dst: session_add_conn
      Src: /src/haproxy/src/backend.c:1420,1
    - Dst: srv_add_to_avail_list
      Src: /src/haproxy/src/backend.c:1423,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 93
    argCount: 5
    argNames:
    - reuse_mode
    - srv
    - sess
    - is_safe
    - hash
    argTypes:
    - int
    - struct server*
    - struct session*
    - int
    - int64_t
    constantsTouched: []
    func_position:
      end: 1428
      start: 1289
    functionDepth: 2
    functionLinenumber: 1289
    functionLinenumberEnd: 1428
    functionName: conn_backend_get
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - srv_lookup_conn
    - __ha_barrier_atomic_store
    - srv_add_to_avail_list
    - _HA_ATOMIC_DEC
    - _HA_ATOMIC_INC
    - _HA_ATOMIC_STORE
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - srv_lookup_conn_next
    - HA_SPIN_LOCK
    - session_add_conn
    - protocol_lookup
    - srv_use_conn
    - struct connection*::mux::takeover
    - conn_delete_from_tree
    linkageType: ''
    returnType: struct connection
    signature: "*conn_backend_get(int reuse_mode,\n                                    struct
      server *srv, struct session *sess,\n                                    int
      is_safe, int64_t hash)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/backend.c:1435,1
    - Dst: co_data
      Src: /src/haproxy/src/backend.c:1438,1
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/backend.c:1442,1
    - Dst: conn_xprt_ready
      Src: /src/haproxy/src/backend.c:1442,1
    - Dst: struct connection*::ctrl::connect
      Src: /src/haproxy/src/backend.c:1443,1
    - Dst: struct connection*::mux::ctl
      Src: /src/haproxy/src/backend.c:1455,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/backend.c:1463,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - s
    - conn
    argTypes:
    - struct stream*
    - struct connection*
    constantsTouched: []
    func_position:
      end: 1466
      start: 1430
    functionDepth: 1
    functionLinenumber: 1430
    functionLinenumberEnd: 1466
    functionName: do_connect_server
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - struct connection*::mux::ctl
    - co_data
    - conn_get_src
    - conn_ctrl_ready
    - struct connection*::ctrl::connect
    - unlikely
    - conn_xprt_ready
    linkageType: ''
    returnType: int
    signature: do_connect_server(struct stream *s, struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_first
      Src: /src/haproxy/src/backend.c:1477,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/backend.c:1480,1
    - Dst: struct connection*::mux::takeover
      Src: /src/haproxy/src/backend.c:1482,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/backend.c:1483,1
    - Dst: eb64_next
      Src: /src/haproxy/src/backend.c:1486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - root
    - curtid
    argTypes:
    - struct eb_root*
    - int
    constantsTouched: []
    func_position:
      end: 1490
      start: 1472
    functionDepth: 2
    functionLinenumber: 1472
    functionLinenumberEnd: 1490
    functionName: takeover_random_idle_conn
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - eb64_first
    - eb64_entry
    - eb64_next
    - struct connection*::mux::takeover
    - conn_delete_from_tree
    linkageType: ''
    returnType: struct connection
    signature: '*

      takeover_random_idle_conn(struct eb_root *root, int curtid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/backend.c:1512,1
    - Dst: takeover_random_idle_conn
      Src: /src/haproxy/src/backend.c:1514,1
    - Dst: takeover_random_idle_conn
      Src: /src/haproxy/src/backend.c:1516,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/backend.c:1517,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/backend.c:1528,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/backend.c:1529,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/backend.c:1530,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:1537,1
    - Dst: struct connection*::mux::destroy
      Src: /src/haproxy/src/backend.c:1539,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 1543
      start: 1499
    functionDepth: 3
    functionLinenumber: 1499
    functionLinenumberEnd: 1543
    functionName: kill_random_idle_conn
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_DEC
    - _HA_ATOMIC_INC
    - struct connection*::mux::destroy
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - takeover_random_idle_conn
    linkageType: ''
    returnType: int
    signature: kill_random_idle_conn(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - be
    - srv
    argTypes:
    - struct proxy*
    - struct server*
    constantsTouched: []
    func_position:
      end: 1556
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1556
    functionName: be_reuse_mode
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: be_reuse_mode(struct proxy *be, struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/backend.c:1582,1
    - Dst: memset
      Src: /src/haproxy/src/backend.c:1585,1
    - Dst: istlen
      Src: /src/haproxy/src/backend.c:1591,1
    - Dst: conn_hash_prehash
      Src: /src/haproxy/src/backend.c:1593,1
    - Dst: istptr
      Src: /src/haproxy/src/backend.c:1593,1
    - Dst: istlen
      Src: /src/haproxy/src/backend.c:1593,1
    - Dst: objt_conn
      Src: /src/haproxy/src/backend.c:1604,1
    - Dst: strm_orig
      Src: /src/haproxy/src/backend.c:1604,1
    - Dst: conn_hash_prehash
      Src: /src/haproxy/src/backend.c:1609,1
    - Dst: conn_calculate_hash
      Src: /src/haproxy/src/backend.c:1643,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 6
    argNames:
    - srv
    - strm
    - sess
    - src
    - dst
    - name
    argTypes:
    - struct server*
    - struct stream*
    - struct session*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - struct ist
    constantsTouched: []
    func_position:
      end: 1644
      start: 1573
    functionDepth: 3
    functionLinenumber: 1573
    functionLinenumberEnd: 1644
    functionName: be_calculate_conn_hash
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - istlen
    - objt_conn
    - istptr
    - conn_hash_prehash
    - strm_orig
    - conn_calculate_hash
    - BUG_ON_HOT
    - memset
    linkageType: ''
    returnType: int64_t
    signature: "be_calculate_conn_hash(struct server *srv, struct stream *strm,\n
      \                              struct session *sess,\n                               struct
      sockaddr_storage *src,\n                               struct sockaddr_storage
      *dst,\n                               struct ist name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_get_conn
      Src: /src/haproxy/src/backend.c:1669,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/backend.c:1692,1
    - Dst: srv_lookup_conn
      Src: /src/haproxy/src/backend.c:1693,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/backend.c:1696,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/backend.c:1696,1
    - Dst: conn_backend_get
      Src: /src/haproxy/src/backend.c:1711,1
    - Dst: conn_backend_get
      Src: /src/haproxy/src/backend.c:1717,1
    - Dst: conn_backend_get
      Src: /src/haproxy/src/backend.c:1723,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/backend.c:1739,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/backend.c:1740,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/backend.c:1741,1
    - Dst: struct connection*::mux::attach
      Src: /src/haproxy/src/backend.c:1745,1
    - Dst: sc_reset_endp
      Src: /src/haproxy/src/backend.c:1746,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/backend.c:1748,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 50
    argCount: 7
    argNames:
    - hash
    - sess
    - be
    - srv
    - sc
    - target
    - not_first_req
    argTypes:
    - int64_t
    - struct session*
    - struct proxy*
    - struct server*
    - struct stconn*
    - enum obj_type*
    - int
    constantsTouched: []
    func_position:
      end: 1765
      start: 1661
    functionDepth: 3
    functionLinenumber: 1661
    functionLinenumberEnd: 1765
    functionName: be_reuse_connection
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - srv_lookup_conn
    - sc_reset_endp
    - sc_ep_clr
    - session_get_conn
    - HA_SPIN_UNLOCK
    - eb_is_empty
    - HA_SPIN_LOCK
    - struct connection*::mux::attach
    - LIST_INLIST
    - BUG_ON
    - conn_backend_get
    - conn_delete_from_tree
    linkageType: ''
    returnType: int
    signature: "be_reuse_connection(int64_t hash, struct session *sess,\n                        struct
      proxy *be, struct server *srv,\n                        struct stconn *sc, enum
      obj_type *target, int not_first_req)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/backend.c:1783,1
    - Dst: strm_orig
      Src: /src/haproxy/src/backend.c:1783,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:1795,1
    - Dst: be_reuse_mode
      Src: /src/haproxy/src/backend.c:1796,1
    - Dst: alloc_dst_address
      Src: /src/haproxy/src/backend.c:1798,1
    - Dst: alloc_bind_address
      Src: /src/haproxy/src/backend.c:1802,1
    - Dst: unlikely
      Src: /src/haproxy/src/backend.c:1809,1
    - Dst: srv_check_reuse_ws
      Src: /src/haproxy/src/backend.c:1809,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:1810,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/backend.c:1818,1
    - Dst: ist2
      Src: /src/haproxy/src/backend.c:1822,1
    - Dst: be_calculate_conn_hash
      Src: /src/haproxy/src/backend.c:1827,1
    - Dst: be_reuse_connection
      Src: /src/haproxy/src/backend.c:1828,1
    - Dst: sc_conn
      Src: /src/haproxy/src/backend.c:1834,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/backend.c:1843,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/backend.c:1844,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/backend.c:1845,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/backend.c:1846,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/backend.c:1847,1
    - Dst: struct connection*::mux::destroy
      Src: /src/haproxy/src/backend.c:1853,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/backend.c:1856,1
    - Dst: ALREADY_CHECKED
      Src: /src/haproxy/src/backend.c:1868,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/backend.c:1870,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/backend.c:1873,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/backend.c:1874,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/backend.c:1875,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/backend.c:1877,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/backend.c:1882,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/backend.c:1884,1
    - Dst: DBG_TRACE_USER
      Src: /src/haproxy/src/backend.c:1899,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/backend.c:1914,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/backend.c:1917,1
    - Dst: conn_new
      Src: /src/haproxy/src/backend.c:1939,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:1941,1
    - Dst: conn_set_private
      Src: /src/haproxy/src/backend.c:1948,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/backend.c:1971,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/backend.c:1975,1
    - Dst: conn_prepare
      Src: /src/haproxy/src/backend.c:1988,1
    - Dst: protocol_lookup
      Src: /src/haproxy/src/backend.c:1988,1
    - Dst: conn_free
      Src: /src/haproxy/src/backend.c:1989,1
    - Dst: obj_type
      Src: /src/haproxy/src/backend.c:1992,1
    - Dst: conn_prepare
      Src: /src/haproxy/src/backend.c:1996,1
    - Dst: protocol_lookup
      Src: /src/haproxy/src/backend.c:1996,1
    - Dst: xprt_get
      Src: /src/haproxy/src/backend.c:1996,1
    - Dst: conn_free
      Src: /src/haproxy/src/backend.c:1998,1
    - Dst: conn_free
      Src: /src/haproxy/src/backend.c:2003,1
    - Dst: sc_attach_mux
      Src: /src/haproxy/src/backend.c:2007,1
    - Dst: conn_free
      Src: /src/haproxy/src/backend.c:2008,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/backend.c:2016,1
    - Dst: unlikely
      Src: /src/haproxy/src/backend.c:2035,1
    - Dst: conn_update_alpn
      Src: /src/haproxy/src/backend.c:2055,1
    - Dst: ist
      Src: /src/haproxy/src/backend.c:2055,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2056,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/backend.c:2066,1
    - Dst: struct connection*::mux::ctl
      Src: /src/haproxy/src/backend.c:2068,1
    - Dst: strm_fe
      Src: /src/haproxy/src/backend.c:2073,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2081,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2083,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2085,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2087,1
    - Dst: do_connect_server
      Src: /src/haproxy/src/backend.c:2090,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/backend.c:2099,1
    - Dst: smp_make_safe
      Src: /src/haproxy/src/backend.c:2102,1
    - Dst: ssl_sock_set_servername
      Src: /src/haproxy/src/backend.c:2103,1
    - Dst: xprt_add_hs
      Src: /src/haproxy/src/backend.c:2111,1
    - Dst: conn_full_close
      Src: /src/haproxy/src/backend.c:2112,1
    - Dst: conn_xprt_start
      Src: /src/haproxy/src/backend.c:2116,1
    - Dst: likely
      Src: /src/haproxy/src/backend.c:2125,1
    - Dst: srv_get_ws_proto
      Src: /src/haproxy/src/backend.c:2125,1
    - Dst: conn_install_mux_be
      Src: /src/haproxy/src/backend.c:2126,1
    - Dst: conn_full_close
      Src: /src/haproxy/src/backend.c:2127,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/backend.c:2130,1
    - Dst: struct connection*::mux::avail_streams
      Src: /src/haproxy/src/backend.c:2141,1
    - Dst: srv_add_to_avail_list
      Src: /src/haproxy/src/backend.c:2142,1
    - Dst: session_add_conn
      Src: /src/haproxy/src/backend.c:2148,1
    - Dst: co_data
      Src: /src/haproxy/src/backend.c:2164,1
    - Dst: sc_oc
      Src: /src/haproxy/src/backend.c:2164,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/backend.c:2170,1
    - Dst: _HA_ATOMIC_ADD_FETCH
      Src: /src/haproxy/src/backend.c:2176,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/backend.c:2177,1
    - Dst: struct stream*::be::lbprm::server_take_conn
      Src: /src/haproxy/src/backend.c:2179,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/backend.c:2196,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/backend.c:2198,1
    - Dst: sc_oc
      Src: /src/haproxy/src/backend.c:2201,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/backend.c:2213,1
    - Dst: sc_ic
      Src: /src/haproxy/src/backend.c:2215,1
    - Dst: conn_create_mux
      Src: /src/haproxy/src/backend.c:2220,1
    - Dst: conn_full_close
      Src: /src/haproxy/src/backend.c:2221,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 236
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2227
      start: 1781
    functionDepth: 4
    functionLinenumber: 1781
    functionLinenumberEnd: 2227
    functionName: connect_server
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 1
    functionsReached:
    - ALREADY_CHECKED
    - conn_set_private
    - srv_add_to_avail_list
    - HA_ATOMIC_UPDATE_MAX
    - struct connection*::mux::avail_streams
    - objt_conn
    - ist
    - DBG_TRACE_STATE
    - likely
    - sc_ep_test
    - MT_LIST_APPEND
    - strm_fe
    - sc_oc
    - BUG_ON
    - do_connect_server
    - DBG_TRACE_USER
    - LIST_ISEMPTY
    - be_reuse_mode
    - be_calculate_conn_hash
    - ist2
    - alloc_bind_address
    - task_wakeup
    - _HA_ATOMIC_CAS
    - conn_prepare
    - co_data
    - _HA_ATOMIC_ADD_FETCH
    - sc_state_in
    - conn_install_mux_be
    - protocol_lookup
    - conn_update_alpn
    - sockaddr_free
    - sc_attach_mux
    - smp_make_safe
    - objt_server
    - alloc_dst_address
    - _HA_ATOMIC_INC
    - srv_get_ws_proto
    - struct connection*::mux::destroy
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - session_add_conn
    - HA_SPIN_LOCK
    - sample_fetch_as_type
    - obj_type
    - strm_orig
    - tick_add_ifset
    - conn_create_mux
    - ssl_sock_set_servername
    - __ha_cpu_relax
    - be_reuse_connection
    - xprt_get
    - LIST_ELEM
    - conn_delete_from_tree
    - sc_conn
    - xprt_add_hs
    - conn_full_close
    - conn_free
    - _HA_ATOMIC_DEC
    - struct connection*::mux::ctl
    - sc_ep_clr
    - conn_xprt_start
    - sc_ic
    - conn_new
    - srv_check_reuse_ws
    - IS_HTX_STRM
    - struct stream*::be::lbprm::server_take_conn
    - unlikely
    linkageType: ''
    returnType: int
    signature: connect_server(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assign_server_and_queue
      Src: /src/haproxy/src/backend.c:2247,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:2248,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/backend.c:2265,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2273,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2274,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2283,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/backend.c:2287,1
    - Dst: unlikely
      Src: /src/haproxy/src/backend.c:2296,1
    - Dst: may_dequeue_tasks
      Src: /src/haproxy/src/backend.c:2296,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/backend.c:2297,1
    - Dst: srv_inc_sess_ctr
      Src: /src/haproxy/src/backend.c:2308,1
    - Dst: srv_set_sess_last
      Src: /src/haproxy/src/backend.c:2310,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2312,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2313,1
    - Dst: may_dequeue_tasks
      Src: /src/haproxy/src/backend.c:2316,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/backend.c:2317,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2324
      start: 2238
    functionDepth: 6
    functionLinenumber: 2238
    functionLinenumberEnd: 2324
    functionName: srv_redispatch_connect
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - sockaddr_free
    - objt_server
    - process_srv_queue
    - _HA_ATOMIC_INC
    - srv_inc_sess_ctr
    - srv_set_sess_last
    - tick_add_ifset
    - may_dequeue_tasks
    - assign_server_and_queue
    - unlikely
    linkageType: ''
    returnType: int
    signature: srv_redispatch_connect(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: co_data
      Src: /src/haproxy/src/backend.c:2331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - req
    - s
    argTypes:
    - struct channel*
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2332
      start: 2327
    functionDepth: 1
    functionLinenumber: 2327
    functionLinenumberEnd: 2332
    functionName: back_may_abort_req
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - co_data
    linkageType: ''
    returnType: int
    signature: back_may_abort_req(struct channel *req, struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:2342,1
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/backend.c:2346,1
    - Dst: back_may_abort_req
      Src: /src/haproxy/src/backend.c:2355,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2357,1
    - Dst: connect_server
      Src: /src/haproxy/src/backend.c:2361,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:2362,1
    - Dst: srv_inc_sess_ctr
      Src: /src/haproxy/src/backend.c:2367,1
    - Dst: srv_set_sess_last
      Src: /src/haproxy/src/backend.c:2369,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2370,1
    - Dst: srv_inc_sess_ctr
      Src: /src/haproxy/src/backend.c:2383,1
    - Dst: srv_set_sess_last
      Src: /src/haproxy/src/backend.c:2385,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2387,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2388,1
    - Dst: sess_change_server
      Src: /src/haproxy/src/backend.c:2391,1
    - Dst: may_dequeue_tasks
      Src: /src/haproxy/src/backend.c:2392,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/backend.c:2393,1
    - Dst: sc_abort
      Src: /src/haproxy/src/backend.c:2396,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/backend.c:2397,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/backend.c:2400,1
    - Dst: pendconn_cond_unlink
      Src: /src/haproxy/src/backend.c:2403,1
    - Dst: struct stream*::srv_error
      Src: /src/haproxy/src/backend.c:2408,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2409,1
    - Dst: back_handle_st_cer
      Src: /src/haproxy/src/backend.c:2419,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2421,1
    - Dst: pendconn_dequeue
      Src: /src/haproxy/src/backend.c:2426,1
    - Dst: unlikely
      Src: /src/haproxy/src/backend.c:2433,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/backend.c:2436,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2439,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/backend.c:2448,1
    - Dst: pendconn_cond_unlink
      Src: /src/haproxy/src/backend.c:2451,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2454,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2455,1
    - Dst: sc_abort
      Src: /src/haproxy/src/backend.c:2456,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/backend.c:2457,1
    - Dst: struct stream*::srv_error
      Src: /src/haproxy/src/backend.c:2463,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2464,1
    - Dst: back_may_abort_req
      Src: /src/haproxy/src/backend.c:2469,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/backend.c:2470,1
    - Dst: pendconn_cond_unlink
      Src: /src/haproxy/src/backend.c:2473,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2476,1
    - Dst: back_may_abort_req
      Src: /src/haproxy/src/backend.c:2484,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2486,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2505,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/backend.c:2509,1
    - Dst: sc_abort
      Src: /src/haproxy/src/backend.c:2516,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/backend.c:2517,1
    - Dst: struct stream*::srv_error
      Src: /src/haproxy/src/backend.c:2520,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/backend.c:2521,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 123
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2523
      start: 2340
    functionDepth: 5
    functionLinenumber: 2340
    functionLinenumberEnd: 2523
    functionName: back_try_conn_req
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - back_may_abort_req
    - process_srv_queue
    - struct stream*::srv_error
    - DBG_TRACE_STATE
    - connect_server
    - sc_abort
    - DBG_TRACE_ENTER
    - DBG_TRACE_LEAVE
    - sess_change_server
    - pendconn_cond_unlink
    - objt_server
    - _HA_ATOMIC_INC
    - srv_inc_sess_ctr
    - back_handle_st_cer
    - pendconn_dequeue
    - DBG_TRACE_DEVEL
    - sc_shutdown
    - srv_set_sess_last
    - may_dequeue_tasks
    - ns_to_ms
    - unlikely
    linkageType: ''
    returnType: void
    signature: back_try_conn_req(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/backend.c:2538,1
    - Dst: unlikely
      Src: /src/haproxy/src/backend.c:2540,1
    - Dst: obj_type
      Src: /src/haproxy/src/backend.c:2540,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/backend.c:2547,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/backend.c:2547,1
    - Dst: sc_applet_create
      Src: /src/haproxy/src/backend.c:2548,1
    - Dst: objt_applet
      Src: /src/haproxy/src/backend.c:2548,1
    - Dst: sc_abort
      Src: /src/haproxy/src/backend.c:2556,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/backend.c:2557,1
    - Dst: struct stream*::srv_error
      Src: /src/haproxy/src/backend.c:2562,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2563,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2567,1
    - Dst: srv_redispatch_connect
      Src: /src/haproxy/src/backend.c:2572,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2577,1
    - Dst: sc_abort
      Src: /src/haproxy/src/backend.c:2582,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/backend.c:2583,1
    - Dst: struct stream*::srv_error
      Src: /src/haproxy/src/backend.c:2589,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2590,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/backend.c:2595,1
    - Dst: be_set_sess_last
      Src: /src/haproxy/src/backend.c:2597,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2598,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/backend.c:2601,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2602
      start: 2531
    functionDepth: 7
    functionLinenumber: 2531
    functionLinenumberEnd: 2602
    functionName: back_handle_st_req
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - sc_abort
    - DBG_TRACE_ENTER
    - DBG_TRACE_LEAVE
    - struct stream*::srv_error
    - srv_redispatch_connect
    - sc_appctx
    - sc_applet_create
    - obj_type
    - objt_applet
    - sc_shutdown
    - DBG_TRACE_STATE
    - ns_to_ms
    - be_set_sess_last
    - unlikely
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: back_handle_st_req(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/backend.c:2616,1
    - Dst: co_data
      Src: /src/haproxy/src/backend.c:2621,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/backend.c:2623,1
    - Dst: struct stream*::srv_error
      Src: /src/haproxy/src/backend.c:2626,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2628,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2643,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/backend.c:2647,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2648
      start: 2611
    functionDepth: 1
    functionLinenumber: 2611
    functionLinenumberEnd: 2648
    functionName: back_handle_st_con
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - co_data
    - struct stream*::srv_error
    - DBG_TRACE_STATE
    - sc_shutdown
    linkageType: ''
    returnType: void
    signature: back_handle_st_con(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/backend.c:2664,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:2670,1
    - Dst: sc_conn
      Src: /src/haproxy/src/backend.c:2671,1
    - Dst: health_adjust
      Src: /src/haproxy/src/backend.c:2673,1
    - Dst: __objt_server
      Src: /src/haproxy/src/backend.c:2673,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/backend.c:2677,1
    - Dst: __objt_server
      Src: /src/haproxy/src/backend.c:2677,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/backend.c:2699,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:2709,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2710,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:2710,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2711,1
    - Dst: sess_change_server
      Src: /src/haproxy/src/backend.c:2712,1
    - Dst: may_dequeue_tasks
      Src: /src/haproxy/src/backend.c:2713,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:2713,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/backend.c:2714,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:2714,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/backend.c:2717,1
    - Dst: struct stream*::srv_error
      Src: /src/haproxy/src/backend.c:2722,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2724,1
    - Dst: sc_reset_endp
      Src: /src/haproxy/src/backend.c:2738,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:2742,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2743,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:2743,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2744,1
    - Dst: sess_change_server
      Src: /src/haproxy/src/backend.c:2745,1
    - Dst: may_dequeue_tasks
      Src: /src/haproxy/src/backend.c:2746,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:2746,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/backend.c:2747,1
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:2747,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/backend.c:2750,1
    - Dst: struct stream*::srv_error
      Src: /src/haproxy/src/backend.c:2755,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2757,1
    - Dst: stream_choose_redispatch
      Src: /src/haproxy/src/backend.c:2762,1
    - Dst: tick_add
      Src: /src/haproxy/src/backend.c:2787,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/backend.c:2787,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2789,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/backend.c:2793,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2794
      start: 2659
    functionDepth: 1
    functionLinenumber: 2659
    functionLinenumberEnd: 2794
    functionName: back_handle_st_cer
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 1
    functionsReached:
    - process_srv_queue
    - struct stream*::srv_error
    - DBG_TRACE_STATE
    - sc_reset_endp
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - sess_change_server
    - __objt_server
    - health_adjust
    - objt_server
    - _HA_ATOMIC_INC
    - MS_TO_TICKS
    - sc_conn
    - _HA_ATOMIC_DEC
    - tick_add
    - DBG_TRACE_DEVEL
    - sc_shutdown
    - may_dequeue_tasks
    - stream_choose_redispatch
    linkageType: ''
    returnType: void
    signature: back_handle_st_cer(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/backend.c:2808,1
    - Dst: unlikely
      Src: /src/haproxy/src/backend.c:2810,1
    - Dst: obj_type
      Src: /src/haproxy/src/backend.c:2810,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/backend.c:2814,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/backend.c:2814,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/backend.c:2818,1
    - Dst: be_set_sess_last
      Src: /src/haproxy/src/backend.c:2819,1
    - Dst: co_data
      Src: /src/haproxy/src/backend.c:2844,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/backend.c:2847,1
    - Dst: struct stream*::srv_error
      Src: /src/haproxy/src/backend.c:2850,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2851,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2860,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/backend.c:2868,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/backend.c:2873,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2874
      start: 2803
    functionDepth: 1
    functionLinenumber: 2803
    functionLinenumberEnd: 2874
    functionName: back_handle_st_rdy
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - co_data
    - struct stream*::srv_error
    - sc_appctx
    - obj_type
    - sc_shutdown
    - ns_to_ms
    - be_set_sess_last
    - DBG_TRACE_STATE
    - unlikely
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: back_handle_st_rdy(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ns_to_sec
      Src: /src/haproxy/src/backend.c:2881,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/backend.c:2882,1
    - Dst: ha_alert
      Src: /src/haproxy/src/backend.c:2885,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/backend.c:2885,1
    - Dst: send_log
      Src: /src/haproxy/src/backend.c:2886,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/backend.c:2886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - be
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2888
      start: 2879
    functionDepth: 1
    functionLinenumber: 2879
    functionLinenumberEnd: 2888
    functionName: set_backend_down
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - ns_to_sec
    - ha_alert
    - send_log
    - _HA_ATOMIC_INC
    - proxy_type_str
    linkageType: ''
    returnType: void
    signature: set_backend_down(struct proxy *be)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/backend.c:2906,1
    - Dst: memset
      Src: /src/haproxy/src/backend.c:2911,1
    - Dst: fetch_rdp_cookie_name
      Src: /src/haproxy/src/backend.c:2913,1
    - Dst: strtoul
      Src: /src/haproxy/src/backend.c:2922,1
    - Dst: ntohs
      Src: /src/haproxy/src/backend.c:2927,1
    - Dst: strtoul
      Src: /src/haproxy/src/backend.c:2927,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/backend.c:2949,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 3
    argNames:
    - s
    - req
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 2951
      start: 2896
    functionDepth: 1
    functionLinenumber: 2896
    functionLinenumberEnd: 2951
    functionName: tcp_persist_rdp_cookie
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - strtoul
    - fetch_rdp_cookie_name
    - ntohs
    - memset
    linkageType: ''
    returnType: int
    signature: tcp_persist_rdp_cookie(struct stream *s, struct channel *req, int an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ns_to_sec
      Src: /src/haproxy/src/backend.c:2954,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/backend.c:2957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2958
      start: 2953
    functionDepth: 1
    functionLinenumber: 2953
    functionLinenumberEnd: 2958
    functionName: be_downtime
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - ns_to_sec
    linkageType: ''
    returnType: int
    signature: be_downtime(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - algo
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2991
      start: 2965
    functionDepth: 0
    functionLinenumber: 2965
    functionLinenumberEnd: 2991
    functionName: backend_lb_algo_str
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*backend_lb_algo_str(int algo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3009,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3013,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3017,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3021,1
    - Dst: strncmp
      Src: /src/haproxy/src/backend.c:3025,1
    - Dst: strtol
      Src: /src/haproxy/src/backend.c:3035,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3039,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3041,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3046,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3051,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3055,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3065,1
    - Dst: atoi
      Src: /src/haproxy/src/backend.c:3066,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3067,1
    - Dst: atoi
      Src: /src/haproxy/src/backend.c:3070,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3073,1
    - Dst: atoi
      Src: /src/haproxy/src/backend.c:3074,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3075,1
    - Dst: atoi
      Src: /src/haproxy/src/backend.c:3081,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3084,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3088,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3093,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3098,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3100,1
    - Dst: free
      Src: /src/haproxy/src/backend.c:3106,1
    - Dst: strdup
      Src: /src/haproxy/src/backend.c:3107,1
    - Dst: strlen
      Src: /src/haproxy/src/backend.c:3108,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3110,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3111,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3116,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3118,1
    - Dst: ha_free
      Src: /src/haproxy/src/backend.c:3124,1
    - Dst: strdup
      Src: /src/haproxy/src/backend.c:3125,1
    - Dst: strlen
      Src: /src/haproxy/src/backend.c:3126,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3129,1
    - Dst: strncmp
      Src: /src/haproxy/src/backend.c:3133,1
    - Dst: strchr
      Src: /src/haproxy/src/backend.c:3137,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3140,1
    - Dst: free
      Src: /src/haproxy/src/backend.c:3147,1
    - Dst: my_strndup
      Src: /src/haproxy/src/backend.c:3149,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3153,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3154,1
    - Dst: strncmp
      Src: /src/haproxy/src/backend.c:3160,1
    - Dst: strchr
      Src: /src/haproxy/src/backend.c:3168,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3171,1
    - Dst: free
      Src: /src/haproxy/src/backend.c:3175,1
    - Dst: my_strndup
      Src: /src/haproxy/src/backend.c:3176,1
    - Dst: free
      Src: /src/haproxy/src/backend.c:3180,1
    - Dst: strdup
      Src: /src/haproxy/src/backend.c:3181,1
    - Dst: strlen
      Src: /src/haproxy/src/backend.c:3182,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3185,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3189,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3191,1
    - Dst: ha_free
      Src: /src/haproxy/src/backend.c:3197,1
    - Dst: strdup
      Src: /src/haproxy/src/backend.c:3198,1
    - Dst: strcmp
      Src: /src/haproxy/src/backend.c:3200,1
    - Dst: memprintf
      Src: /src/haproxy/src/backend.c:3205,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 175
    argCount: 3
    argNames:
    - args
    - err
    - curproxy
    argTypes:
    - char**
    - char**
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 3209
      start: 3000
    functionDepth: 1
    functionLinenumber: 3000
    functionLinenumberEnd: 3209
    functionName: backend_parse_balance
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strncmp
    - atoi
    - ha_free
    - strcmp
    - strlen
    - strdup
    - free
    - strtol
    - strchr
    - my_strndup
    linkageType: ''
    returnType: int
    signature: backend_parse_balance(const char **args, char **err, struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_usable_srv
      Src: /src/haproxy/src/backend.c:3233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3236
      start: 3220
    functionDepth: 1
    functionLinenumber: 3220
    functionLinenumberEnd: 3236
    functionName: smp_fetch_nbsrv
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - be_usable_srv
    linkageType: ''
    returnType: int
    signature: smp_fetch_nbsrv(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3256
      start: 3243
    functionDepth: 0
    functionLinenumber: 3243
    functionLinenumberEnd: 3256
    functionName: smp_fetch_srv_is_up
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_srv_is_up(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3292
      start: 3262
    functionDepth: 0
    functionLinenumber: 3262
    functionLinenumberEnd: 3292
    functionName: smp_fetch_connslots
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_connslots(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/backend.c:3302,1
    - Dst: __objt_check
      Src: /src/haproxy/src/backend.c:3303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3311
      start: 3295
    functionDepth: 1
    functionLinenumber: 3295
    functionLinenumberEnd: 3311
    functionName: smp_fetch_be_id
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - obj_type
    - __objt_check
    linkageType: ''
    returnType: int
    signature: smp_fetch_be_id(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/backend.c:3321,1
    - Dst: __objt_check
      Src: /src/haproxy/src/backend.c:3322,1
    - Dst: strlen
      Src: /src/haproxy/src/backend.c:3332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3335
      start: 3314
    functionDepth: 1
    functionLinenumber: 3314
    functionLinenumberEnd: 3335
    functionName: smp_fetch_be_name
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - strlen
    - obj_type
    - __objt_check
    linkageType: ''
    returnType: int
    signature: smp_fetch_be_name(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:3344,1
    - Dst: obj_type
      Src: /src/haproxy/src/backend.c:3345,1
    - Dst: __objt_check
      Src: /src/haproxy/src/backend.c:3346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3354
      start: 3338
    functionDepth: 1
    functionLinenumber: 3338
    functionLinenumberEnd: 3354
    functionName: smp_fetch_srv_id
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - objt_server
    - obj_type
    - __objt_check
    linkageType: ''
    returnType: int
    signature: smp_fetch_srv_id(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/src/backend.c:3363,1
    - Dst: obj_type
      Src: /src/haproxy/src/backend.c:3364,1
    - Dst: __objt_check
      Src: /src/haproxy/src/backend.c:3365,1
    - Dst: strlen
      Src: /src/haproxy/src/backend.c:3374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3377
      start: 3357
    functionDepth: 1
    functionLinenumber: 3357
    functionLinenumberEnd: 3377
    functionName: smp_fetch_srv_name
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - objt_server
    - strlen
    - obj_type
    - __objt_check
    linkageType: ''
    returnType: int
    signature: smp_fetch_srv_name(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/backend.c:3395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3397
      start: 3383
    functionDepth: 1
    functionLinenumber: 3383
    functionLinenumberEnd: 3397
    functionName: smp_fetch_be_sess_rate
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - read_freq_ctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_be_sess_rate(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3417
      start: 3403
    functionDepth: 0
    functionLinenumber: 3403
    functionLinenumberEnd: 3417
    functionName: smp_fetch_be_conn
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_be_conn(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/backend.c:3445,1
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/src/backend.c:3456,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3462
      start: 3424
    functionDepth: 1
    functionLinenumber: 3424
    functionLinenumberEnd: 3462
    functionName: smp_fetch_be_conn_free
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - srv_dynamic_maxconn
    - srv_currently_usable
    linkageType: ''
    returnType: int
    signature: smp_fetch_be_conn_free(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3482
      start: 3468
    functionDepth: 0
    functionLinenumber: 3468
    functionLinenumberEnd: 3482
    functionName: smp_fetch_queue_size
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_queue_size(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_usable_srv
      Src: /src/haproxy/src/backend.c:3506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3514
      start: 3492
    functionDepth: 1
    functionLinenumber: 3492
    functionLinenumberEnd: 3514
    functionName: smp_fetch_avg_queue_size
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - be_usable_srv
    linkageType: ''
    returnType: int
    signature: smp_fetch_avg_queue_size(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3527
      start: 3520
    functionDepth: 0
    functionLinenumber: 3520
    functionLinenumberEnd: 3527
    functionName: smp_fetch_srv_conn
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_srv_conn(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/src/backend.c:3547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3554
      start: 3533
    functionDepth: 1
    functionLinenumber: 3533
    functionLinenumberEnd: 3554
    functionName: smp_fetch_srv_conn_free
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - srv_dynamic_maxconn
    linkageType: ''
    returnType: int
    signature: smp_fetch_srv_conn_free(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3567
      start: 3560
    functionDepth: 0
    functionLinenumber: 3560
    functionLinenumberEnd: 3567
    functionName: smp_fetch_srv_queue
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_srv_queue(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/backend.c:3578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3580
      start: 3573
    functionDepth: 1
    functionLinenumber: 3573
    functionLinenumberEnd: 3580
    functionName: smp_fetch_srv_sess_rate
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - read_freq_ctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_srv_sess_rate(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3596
      start: 3586
    functionDepth: 0
    functionLinenumber: 3586
    functionLinenumberEnd: 3596
    functionName: smp_fetch_srv_weight
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_srv_weight(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3609
      start: 3602
    functionDepth: 0
    functionLinenumber: 3602
    functionLinenumberEnd: 3609
    functionName: smp_fetch_srv_iweight
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_srv_iweight(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3622
      start: 3615
    functionDepth: 0
    functionLinenumber: 3615
    functionLinenumberEnd: 3622
    functionName: smp_fetch_srv_uweight
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_srv_uweight(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/backend.c:3631,1
    - Dst: __objt_check
      Src: /src/haproxy/src/backend.c:3632,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/backend.c:3638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3640
      start: 3624
    functionDepth: 1
    functionLinenumber: 3624
    functionLinenumberEnd: 3640
    functionName: smp_fetch_be_server_timeout
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - obj_type
    - TICKS_TO_MS
    - __objt_check
    linkageType: ''
    returnType: int
    signature: smp_fetch_be_server_timeout(const struct arg *args, struct sample *smp,
      const char *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/backend.c:3649,1
    - Dst: __objt_check
      Src: /src/haproxy/src/backend.c:3650,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/backend.c:3656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3658
      start: 3642
    functionDepth: 1
    functionLinenumber: 3642
    functionLinenumberEnd: 3658
    functionName: smp_fetch_be_tunnel_timeout
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - obj_type
    - TICKS_TO_MS
    - __objt_check
    linkageType: ''
    returnType: int
    signature: smp_fetch_be_tunnel_timeout(const struct arg *args, struct sample *smp,
      const char *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_make_safe
      Src: /src/haproxy/src/backend.c:3665,1
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/backend.c:3668,1
    - Dst: be_usable_srv
      Src: /src/haproxy/src/backend.c:3673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3676
      start: 3660
    functionDepth: 1
    functionLinenumber: 3660
    functionLinenumberEnd: 3676
    functionName: sample_conv_nbsrv
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - proxy_find_by_name
    - smp_make_safe
    - be_usable_srv
    linkageType: ''
    returnType: int
    signature: sample_conv_nbsrv(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_make_safe
      Src: /src/haproxy/src/backend.c:3685,1
    - Dst: strchr
      Src: /src/haproxy/src/backend.c:3688,1
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/backend.c:3692,1
    - Dst: server_find_by_name
      Src: /src/haproxy/src/backend.c:3702,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3709
      start: 3678
    functionDepth: 1
    functionLinenumber: 3678
    functionLinenumberEnd: 3709
    functionName: sample_conv_srv_queue
    functionSourceFile: /src/haproxy/src/backend.c
    functionUses: 0
    functionsReached:
    - proxy_find_by_name
    - server_find_by_name
    - smp_make_safe
    - strchr
    linkageType: ''
    returnType: int
    signature: sample_conv_srv_queue(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:54,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:54,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:62,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:64,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:69,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:76,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:79,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:89,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:90,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 2
    argNames:
    - h1m
    - value
    argTypes:
    - struct h1m*
    - struct ist*
    constantsTouched: []
    func_position:
      end: 122
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 122
    functionName: h1_parse_cont_len_header
    functionSourceFile: /src/haproxy/src/h1.c
    functionUses: 1
    functionsReached:
    - unlikely
    - HTTP_IS_LWS
    linkageType: ''
    returnType: int
    signature: h1_parse_cont_len_header(struct h1m *h1m, struct ist *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istptr
      Src: /src/haproxy/src/h1.c:142,1
    - Dst: istend
      Src: /src/haproxy/src/h1.c:142,1
    - Dst: istend
      Src: /src/haproxy/src/h1.c:150,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:154,1
    - Dst: http_find_hdr_value_end
      Src: /src/haproxy/src/h1.c:157,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:165,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:173,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:173,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - h1m
    - value
    argTypes:
    - struct h1m*
    - struct ist
    constantsTouched: []
    func_position:
      end: 203
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 203
    functionName: h1_parse_xfer_enc_header
    functionSourceFile: /src/haproxy/src/h1.c
    functionUses: 0
    functionsReached:
    - HTTP_IS_LWS
    - istend
    - http_find_hdr_value_end
    - ist
    - istptr
    - isteqi
    linkageType: ''
    returnType: int
    signature: h1_parse_xfer_enc_header(struct h1m *h1m, struct ist value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isttest
      Src: /src/haproxy/src/h1.c:213,1
    - Dst: isttest
      Src: /src/haproxy/src/h1.c:213,1
    - Dst: http_get_host_port
      Src: /src/haproxy/src/h1.c:216,1
    - Dst: istlen
      Src: /src/haproxy/src/h1.c:217,1
    - Dst: istlen
      Src: /src/haproxy/src/h1.c:219,1
    - Dst: isttest
      Src: /src/haproxy/src/h1.c:221,1
    - Dst: http_get_host_port
      Src: /src/haproxy/src/h1.c:226,1
    - Dst: isttest
      Src: /src/haproxy/src/h1.c:227,1
    - Dst: istlen
      Src: /src/haproxy/src/h1.c:228,1
    - Dst: istlen
      Src: /src/haproxy/src/h1.c:230,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:231,1
    - Dst: isteq
      Src: /src/haproxy/src/h1.c:231,1
    - Dst: http_is_default_port
      Src: /src/haproxy/src/h1.c:233,1
    - Dst: http_is_default_port
      Src: /src/haproxy/src/h1.c:237,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:237,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 3
    argNames:
    - scheme
    - authority
    - host_hdr
    argTypes:
    - struct ist
    - struct ist
    - struct ist*
    constantsTouched: []
    func_position:
      end: 249
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 249
    functionName: h1_validate_connect_authority
    functionSourceFile: /src/haproxy/src/h1.c
    functionUses: 0
    functionsReached:
    - istlen
    - isttest
    - isteq
    - http_get_host_port
    - http_is_default_port
    - isteqi
    linkageType: ''
    returnType: int
    signature: h1_validate_connect_authority(struct ist scheme, struct ist authority,
      struct ist *host_hdr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isttest
      Src: /src/haproxy/src/h1.c:262,1
    - Dst: http_get_host_port
      Src: /src/haproxy/src/h1.c:266,1
    - Dst: isttest
      Src: /src/haproxy/src/h1.c:267,1
    - Dst: istlen
      Src: /src/haproxy/src/h1.c:268,1
    - Dst: http_get_host_port
      Src: /src/haproxy/src/h1.c:271,1
    - Dst: isttest
      Src: /src/haproxy/src/h1.c:272,1
    - Dst: istlen
      Src: /src/haproxy/src/h1.c:273,1
    - Dst: isttest
      Src: /src/haproxy/src/h1.c:275,1
    - Dst: isttest
      Src: /src/haproxy/src/h1.c:275,1
    - Dst: isttest
      Src: /src/haproxy/src/h1.c:281,1
    - Dst: http_is_default_port
      Src: /src/haproxy/src/h1.c:281,1
    - Dst: isttest
      Src: /src/haproxy/src/h1.c:287,1
    - Dst: http_is_default_port
      Src: /src/haproxy/src/h1.c:287,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:297,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - scheme
    - authority
    - host_hdr
    argTypes:
    - struct ist
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 305
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 305
    functionName: h1_validate_mismatch_authority
    functionSourceFile: /src/haproxy/src/h1.c
    functionUses: 0
    functionsReached:
    - istlen
    - isttest
    - http_get_host_port
    - http_is_default_port
    - isteqi
    linkageType: ''
    returnType: int
    signature: h1_validate_mismatch_authority(struct ist scheme, struct ist authority,
      struct ist host_hdr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:329,1
    - Dst: http_find_hdr_value_end
      Src: /src/haproxy/src/h1.c:332,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:336,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:339,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:339,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:344,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:344,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:349,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:349,1
    - Dst: istcat
      Src: /src/haproxy/src/h1.c:360,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - h1m
    - value
    argTypes:
    - struct h1m*
    - struct ist*
    constantsTouched: []
    func_position:
      end: 367
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 367
    functionName: h1_parse_connection_header
    functionSourceFile: /src/haproxy/src/h1.c
    functionUses: 1
    functionsReached:
    - HTTP_IS_LWS
    - http_find_hdr_value_end
    - ist
    - istcat
    - isteqi
    linkageType: ''
    returnType: void
    signature: h1_parse_connection_header(struct h1m *h1m, struct ist *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istend
      Src: /src/haproxy/src/h1.c:381,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:385,1
    - Dst: http_find_hdr_value_end
      Src: /src/haproxy/src/h1.c:388,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:392,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:395,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:395,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:397,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:397,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:397,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - h1m
    - value
    argTypes:
    - struct h1m*
    - struct ist
    constantsTouched: []
    func_position:
      end: 402
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 402
    functionName: h1_parse_upgrade_header
    functionSourceFile: /src/haproxy/src/h1.c
    functionUses: 1
    functionsReached:
    - HTTP_IS_LWS
    - istend
    - http_find_hdr_value_end
    - ist
    - isteqi
    linkageType: ''
    returnType: void
    signature: h1_parse_upgrade_header(struct h1m *h1m, struct ist value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:522,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:532,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/h1.c:532,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:546,1
    - Dst: HTTP_IS_CRLF
      Src: /src/haproxy/src/h1.c:546,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:551,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:552,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:553,1
    - Dst: EXPECT_LF_HERE
      Src: /src/haproxy/src/h1.c:558,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:559,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:564,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/h1.c:564,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:565,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:567,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/h1.c:567,1
    - Dst: find_http_meth
      Src: /src/haproxy/src/h1.c:569,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:570,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:573,1
    - Dst: HTTP_IS_CRLF
      Src: /src/haproxy/src/h1.c:573,1
    - Dst: find_http_meth
      Src: /src/haproxy/src/h1.c:576,1
    - Dst: ist2
      Src: /src/haproxy/src/h1.c:582,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:590,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:590,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:594,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/h1.c:594,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:595,1
    - Dst: is_char4_outside
      Src: /src/haproxy/src/h1.c:604,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:615,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:622,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:625,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/h1.c:625,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:627,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:629,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:638,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:641,1
    - Dst: HTTP_IS_CRLF
      Src: /src/haproxy/src/h1.c:641,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:653,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:653,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:657,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/h1.c:657,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:658,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:665,1
    - Dst: HTTP_IS_VER_TOKEN
      Src: /src/haproxy/src/h1.c:665,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:666,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:668,1
    - Dst: HTTP_IS_CRLF
      Src: /src/haproxy/src/h1.c:668,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:678,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:684,1
    - Dst: http_set_hdr
      Src: /src/haproxy/src/h1.c:689,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:689,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:691,1
    - Dst: http_set_hdr
      Src: /src/haproxy/src/h1.c:696,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:696,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:700,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:701,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:720,1
    - Dst: EXPECT_LF_HERE
      Src: /src/haproxy/src/h1.c:723,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:724,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:732,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/h1.c:732,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:746,1
    - Dst: HTTP_IS_CRLF
      Src: /src/haproxy/src/h1.c:746,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:751,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:752,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:753,1
    - Dst: EXPECT_LF_HERE
      Src: /src/haproxy/src/h1.c:758,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:759,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:764,1
    - Dst: HTTP_IS_VER_TOKEN
      Src: /src/haproxy/src/h1.c:764,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:765,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:767,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/h1.c:767,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:775,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:782,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:782,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:787,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/h1.c:787,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:788,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:795,1
    - Dst: HTTP_IS_DIGIT
      Src: /src/haproxy/src/h1.c:795,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:797,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:800,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:800,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:805,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/h1.c:805,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:807,1
    - Dst: ist2
      Src: /src/haproxy/src/h1.c:814,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:819,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:819,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:823,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/h1.c:823,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:824,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:830,1
    - Dst: HTTP_IS_CRLF
      Src: /src/haproxy/src/h1.c:830,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:831,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:841,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:842,1
    - Dst: http_set_hdr
      Src: /src/haproxy/src/h1.c:847,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:847,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:851,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:852,1
    - Dst: EXPECT_LF_HERE
      Src: /src/haproxy/src/h1.c:858,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:859,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:865,1
    - Dst: HTTP_IS_CRLF
      Src: /src/haproxy/src/h1.c:865,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:869,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:870,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:876,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/h1.c:876,1
    - Dst: isupper
      Src: /src/haproxy/src/h1.c:879,1
    - Dst: tolower
      Src: /src/haproxy/src/h1.c:880,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:882,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:885,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:891,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:894,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:903,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:908,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/h1.c:908,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:909,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:914,1
    - Dst: HTTP_IS_CRLF
      Src: /src/haproxy/src/h1.c:914,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:918,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:919,1
    - Dst: EXPECT_LF_HERE
      Src: /src/haproxy/src/h1.c:924,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:925,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:929,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/h1.c:929,1
    - Dst: is_char8_below_opt
      Src: /src/haproxy/src/h1.c:954,1
    - Dst: is_char4_below_opt
      Src: /src/haproxy/src/h1.c:961,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:971,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:982,1
    - Dst: HTTP_IS_CRLF
      Src: /src/haproxy/src/h1.c:982,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:983,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:990,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:991,1
    - Dst: EXPECT_LF_HERE
      Src: /src/haproxy/src/h1.c:996,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:997,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:1001,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/h1.c:1001,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:1019,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:1020,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h1.c:1023,1
    - Dst: ist2
      Src: /src/haproxy/src/h1.c:1027,1
    - Dst: ist2
      Src: /src/haproxy/src/h1.c:1028,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:1033,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:1038,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:1038,1
    - Dst: h1_parse_xfer_enc_header
      Src: /src/haproxy/src/h1.c:1039,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:1056,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:1056,1
    - Dst: h1_parse_cont_len_header
      Src: /src/haproxy/src/h1.c:1057,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:1069,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:1069,1
    - Dst: h1_parse_connection_header
      Src: /src/haproxy/src/h1.c:1070,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:1076,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:1076,1
    - Dst: h1_parse_upgrade_header
      Src: /src/haproxy/src/h1.c:1077,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:1079,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:1079,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:1083,1
    - Dst: http_set_hdr
      Src: /src/haproxy/src/h1.c:1093,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:1099,1
    - Dst: HTTP_IS_CRLF
      Src: /src/haproxy/src/h1.c:1099,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:1102,1
    - Dst: EAT_AND_JUMP_OR_RETURN
      Src: /src/haproxy/src/h1.c:1103,1
    - Dst: EXPECT_LF_HERE
      Src: /src/haproxy/src/h1.c:1108,1
    - Dst: likely
      Src: /src/haproxy/src/h1.c:1114,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1.c:1115,1
    - Dst: http_set_hdr
      Src: /src/haproxy/src/h1.c:1119,1
    - Dst: ist2
      Src: /src/haproxy/src/h1.c:1119,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:1119,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/h1.c:1134,1
    - Dst: ALREADY_CHECKED
      Src: /src/haproxy/src/h1.c:1142,1
    - Dst: istlen
      Src: /src/haproxy/src/h1.c:1146,1
    - Dst: http_parse_scheme
      Src: /src/haproxy/src/h1.c:1160,1
    - Dst: isttest
      Src: /src/haproxy/src/h1.c:1161,1
    - Dst: http_parse_authority
      Src: /src/haproxy/src/h1.c:1170,1
    - Dst: h1_validate_connect_authority
      Src: /src/haproxy/src/h1.c:1171,1
    - Dst: ALREADY_CHECKED
      Src: /src/haproxy/src/h1.c:1179,1
    - Dst: http_parse_authority
      Src: /src/haproxy/src/h1.c:1197,1
    - Dst: isttest
      Src: /src/haproxy/src/h1.c:1199,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1.c:1199,1
    - Dst: h1_validate_mismatch_authority
      Src: /src/haproxy/src/h1.c:1200,1
    - Dst: http_del_hdr
      Src: /src/haproxy/src/h1.c:1229,1
    - Dst: ist
      Src: /src/haproxy/src/h1.c:1229,1
    CyclomaticComplexity: 229
    EdgeCount: 229
    ICount: 658
    argCount: 6
    argNames:
    - start
    - stop
    - hdr
    - hdr_num
    - h1m
    - slp
    argTypes:
    - char*
    - char*
    - struct http_hdr*
    - unsigned int
    - struct h1m*
    - union h1_sl*
    constantsTouched: []
    func_position:
      end: 1299
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 1299
    functionName: h1_headers_to_hdr_list
    functionSourceFile: /src/haproxy/src/h1.c
    functionUses: 1
    functionsReached:
    - HTTP_IS_DIGIT
    - ALREADY_CHECKED
    - h1_parse_upgrade_header
    - h1_parse_cont_len_header
    - isttest
    - h1_validate_connect_authority
    - ist
    - HTTP_IS_SPHT
    - likely
    - HTTP_IS_CRLF
    - isteqi
    - HTTP_IS_LWS
    - HTTP_IS_VER_TOKEN
    - istlen
    - ist2
    - EXPECT_LF_HERE
    - http_set_hdr
    - h1_validate_mismatch_authority
    - h1_parse_xfer_enc_header
    - tolower
    - h1_parse_connection_header
    - is_char4_outside
    - http_uri_parser_init
    - isupper
    - HTTP_IS_TOKEN
    - is_char4_below_opt
    - EAT_AND_JUMP_OR_RETURN
    - is_char8_below_opt
    - http_del_hdr
    - find_http_meth
    - http_parse_authority
    - unlikely
    - http_parse_scheme
    linkageType: ''
    returnType: int
    signature: "h1_headers_to_hdr_list(char *start, const char *stop,\n                           struct
      http_hdr *hdr, unsigned int hdr_num,\n                           struct h1m
      *h1m, union h1_sl *slp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/h1.c:1311,1
    - Dst: memcpy
      Src: /src/haproxy/src/h1.c:1312,1
    - Dst: a2base64
      Src: /src/haproxy/src/h1.c:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key_out
    argTypes:
    - char[]
    constantsTouched: []
    func_position:
      end: 1314
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1314
    functionName: h1_generate_random_ws_input_key
    functionSourceFile: /src/haproxy/src/h1.c
    functionUses: 1
    functionsReached:
    - a2base64
    - memcpy
    linkageType: ''
    returnType: void
    signature: h1_generate_random_ws_input_key(char key_out[25])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/h1.c:1329,1
    - Dst: memcpy
      Src: /src/haproxy/src/h1.c:1330,1
    - Dst: blk_SHA1_Init
      Src: /src/haproxy/src/h1.c:1333,1
    - Dst: blk_SHA1_Update
      Src: /src/haproxy/src/h1.c:1334,1
    - Dst: blk_SHA1_Final
      Src: /src/haproxy/src/h1.c:1335,1
    - Dst: a2base64
      Src: /src/haproxy/src/h1.c:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1339
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1339
    functionName: h1_calculate_ws_output_key
    functionSourceFile: /src/haproxy/src/h1.c
    functionUses: 2
    functionsReached:
    - blk_SHA1_Final
    - a2base64
    - blk_SHA1_Update
    - blk_SHA1_Init
    - memcpy
    linkageType: ''
    returnType: void
    signature: h1_calculate_ws_output_key(const char *key, char *result)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/h1.c:1346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1351
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1351
    functionName: cfg_parse_h1_do_not_close_insecure_t_e
    functionSourceFile: /src/haproxy/src/h1.c
    functionUses: 0
    functionsReached:
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_h1_do_not_close_insecure_t_e(char **args, int section_type,
      struct proxy *curpx,\n                                                const
      struct proxy *defpx, const char *file, int line,\n                                                char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_sess
      Src: /src/haproxy/src/vars.c:73,1
    - Dst: objt_check
      Src: /src/haproxy/src/vars.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - sess
    - strm
    - desc
    argTypes:
    - struct session*
    - struct stream*
    - struct var_desc*
    constantsTouched: []
    func_position:
      end: 93
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 93
    functionName: get_vars
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - objt_check
    - strm_sess
    linkageType: ''
    returnType: struct vars
    signature: '*get_vars(struct session *sess, struct stream *strm, const struct
      var_desc *desc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/vars.c:104,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/vars.c:108,1
    - Dst: objt_check
      Src: /src/haproxy/src/vars.c:112,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/vars.c:115,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/vars.c:121,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/vars.c:125,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - vars
    - sess
    - strm
    - size
    argTypes:
    - struct vars*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 127
    functionName: var_accounting_diff
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - objt_check
    - _HA_ATOMIC_ADD
    linkageType: ''
    returnType: void
    signature: var_accounting_diff(struct vars *vars, struct session *sess, struct
      stream *strm, int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_check
      Src: /src/haproxy/src/vars.c:149,1
    - Dst: var_accounting_diff
      Src: /src/haproxy/src/vars.c:169,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 4
    argNames:
    - vars
    - sess
    - strm
    - size
    argTypes:
    - struct vars*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 171
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 171
    functionName: var_accounting_add
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - objt_check
    - var_accounting_diff
    linkageType: ''
    returnType: int
    signature: var_accounting_add(struct vars *vars, struct session *sess, struct
      stream *strm, int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/vars.c:182,1
    - Dst: ha_free
      Src: /src/haproxy/src/vars.c:186,1
    - Dst: cebu64_delete
      Src: /src/haproxy/src/vars.c:193,1
    - Dst: pool_free
      Src: /src/haproxy/src/vars.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - vars
    - var
    - force
    argTypes:
    - struct vars*
    - struct var*
    - int
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: var_clear
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - cebu64_delete
    - ha_free
    - pool_free
    linkageType: ''
    returnType: unsigned int
    signature: var_clear(struct vars *vars, struct var *var, int force)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cebu64_first
      Src: /src/haproxy/src/vars.c:211,1
    - Dst: container_of
      Src: /src/haproxy/src/vars.c:212,1
    - Dst: var_clear
      Src: /src/haproxy/src/vars.c:213,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/src/vars.c:221,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/src/vars.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - vars
    argTypes:
    - struct vars*
    constantsTouched: []
    func_position:
      end: 224
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 224
    functionName: vars_prune_per_sess
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - var_clear
    - container_of
    - cebu64_first
    - _HA_ATOMIC_SUB
    linkageType: ''
    returnType: void
    signature: vars_prune_per_sess(struct vars *vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/vars.c:229,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/vars.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vars
    - scope
    argTypes:
    - struct vars*
    - enum vars_scope
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: vars_init_head
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - memset
    - HA_RWLOCK_INIT
    linkageType: ''
    returnType: void
    signature: vars_init_head(struct vars *vars, enum vars_scope scope)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:246,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:251,1
    - Dst: strncmp
      Src: /src/haproxy/src/vars.c:258,1
    - Dst: strncmp
      Src: /src/haproxy/src/vars.c:264,1
    - Dst: strncmp
      Src: /src/haproxy/src/vars.c:270,1
    - Dst: strncmp
      Src: /src/haproxy/src/vars.c:276,1
    - Dst: strncmp
      Src: /src/haproxy/src/vars.c:282,1
    - Dst: strncmp
      Src: /src/haproxy/src/vars.c:287,1
    - Dst: strncmp
      Src: /src/haproxy/src/vars.c:292,1
    - Dst: strncmp
      Src: /src/haproxy/src/vars.c:297,1
    - Dst: strncmp
      Src: /src/haproxy/src/vars.c:302,1
    - Dst: strncmp
      Src: /src/haproxy/src/vars.c:307,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:313,1
    - Dst: isalnum
      Src: /src/haproxy/src/vars.c:320,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:321,1
    - Dst: XXH3
      Src: /src/haproxy/src/vars.c:326,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 4
    argNames:
    - name
    - len
    - desc
    - err
    argTypes:
    - char*
    - int
    - struct var_desc*
    - char**
    constantsTouched: []
    func_position:
      end: 328
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 328
    functionName: vars_fill_desc
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - memprintf
    - isalnum
    - strncmp
    - XXH3
    linkageType: ''
    returnType: int
    signature: vars_fill_desc(const char *name, int len, struct var_desc *desc, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cebu64_lookup
      Src: /src/haproxy/src/vars.c:339,1
    - Dst: container_of
      Src: /src/haproxy/src/vars.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - vars
    - name_hash
    argTypes:
    - struct vars*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: var_get
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - container_of
    - cebu64_lookup
    linkageType: ''
    returnType: struct var
    signature: '*var_get(struct vars *vars, uint64_t name_hash)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_get_by_desc
      Src: /src/haproxy/src/vars.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: smp_fetch_var
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - vars_get_by_desc
    linkageType: ''
    returnType: int
    signature: smp_fetch_var(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/vars.c:366,1
    - Dst: var_accounting_diff
      Src: /src/haproxy/src/vars.c:367,1
    - Dst: ha_free
      Src: /src/haproxy/src/vars.c:371,1
    - Dst: var_accounting_diff
      Src: /src/haproxy/src/vars.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - smp
    - vars
    - var
    - var_type
    argTypes:
    - struct sample*
    - struct vars*
    - struct var*
    - int
    constantsTouched: []
    func_position:
      end: 375
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 375
    functionName: var_clear_buffer
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - var_accounting_diff
    - ha_free
    linkageType: ''
    returnType: void
    signature: var_clear_buffer(struct sample *smp, struct vars *vars, struct var
      *var, int var_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_vars
      Src: /src/haproxy/src/vars.c:410,1
    - Dst: vars_wrlock
      Src: /src/haproxy/src/vars.c:414,1
    - Dst: var_get
      Src: /src/haproxy/src/vars.c:417,1
    - Dst: var_accounting_add
      Src: /src/haproxy/src/vars.c:432,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/vars.c:436,1
    - Dst: cebu64_insert
      Src: /src/haproxy/src/vars.c:442,1
    - Dst: var_clear_buffer
      Src: /src/haproxy/src/vars.c:475,1
    - Dst: var_clear_buffer
      Src: /src/haproxy/src/vars.c:484,1
    - Dst: var_clear_buffer
      Src: /src/haproxy/src/vars.c:488,1
    - Dst: var_clear_buffer
      Src: /src/haproxy/src/vars.c:492,1
    - Dst: var_clear_buffer
      Src: /src/haproxy/src/vars.c:502,1
    - Dst: var_accounting_add
      Src: /src/haproxy/src/vars.c:503,1
    - Dst: malloc
      Src: /src/haproxy/src/vars.c:508,1
    - Dst: var_accounting_diff
      Src: /src/haproxy/src/vars.c:510,1
    - Dst: memcpy
      Src: /src/haproxy/src/vars.c:516,1
    - Dst: var_clear_buffer
      Src: /src/haproxy/src/vars.c:520,1
    - Dst: var_accounting_add
      Src: /src/haproxy/src/vars.c:525,1
    - Dst: malloc
      Src: /src/haproxy/src/vars.c:530,1
    - Dst: var_accounting_diff
      Src: /src/haproxy/src/vars.c:532,1
    - Dst: memcpy
      Src: /src/haproxy/src/vars.c:539,1
    - Dst: vars_wrunlock
      Src: /src/haproxy/src/vars.c:547,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 122
    argCount: 3
    argNames:
    - desc
    - smp
    - flags
    argTypes:
    - struct var_desc*
    - struct sample*
    - uint
    constantsTouched: []
    func_position:
      end: 549
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 549
    functionName: var_set
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - malloc
    - pool_alloc
    - cebu64_insert
    - var_accounting_add
    - var_clear_buffer
    - var_accounting_diff
    - vars_wrlock
    - get_vars
    - var_get
    - memcpy
    - vars_wrunlock
    linkageType: ''
    returnType: int
    signature: var_set(const struct var_desc *desc, struct sample *smp, uint flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_vars
      Src: /src/haproxy/src/vars.c:564,1
    - Dst: vars_wrlock
      Src: /src/haproxy/src/vars.c:569,1
    - Dst: var_get
      Src: /src/haproxy/src/vars.c:570,1
    - Dst: var_clear
      Src: /src/haproxy/src/vars.c:572,1
    - Dst: var_accounting_diff
      Src: /src/haproxy/src/vars.c:573,1
    - Dst: vars_wrunlock
      Src: /src/haproxy/src/vars.c:575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - desc
    - smp
    argTypes:
    - struct var_desc*
    - struct sample*
    constantsTouched: []
    func_position:
      end: 577
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 577
    functionName: var_unset
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - var_clear
    - var_accounting_diff
    - vars_wrlock
    - get_vars
    - var_get
    - vars_wrunlock
    linkageType: ''
    returnType: int
    signature: var_unset(const struct var_desc *desc, struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_strcmp
      Src: /src/haproxy/src/vars.c:592,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - cond
    - cond_bitmap
    - err
    argTypes:
    - struct buffer*
    - uint*
    - char**
    constantsTouched: []
    func_position:
      end: 603
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 603
    functionName: vars_parse_cond_param
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_strcmp
    linkageType: ''
    returnType: int
    signature: vars_parse_cond_param(const struct buffer *cond, uint *cond_bitmap,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_parse_cond_param
      Src: /src/haproxy/src/vars.c:612,1
    - Dst: var_set
      Src: /src/haproxy/src/vars.c:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 617
      start: 606
    functionDepth: 4
    functionLinenumber: 606
    functionLinenumberEnd: 617
    functionName: smp_conv_store
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - var_set
    - vars_parse_cond_param
    linkageType: ''
    returnType: int
    signature: smp_conv_store(const struct arg *args, struct sample *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: var_unset
      Src: /src/haproxy/src/vars.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 623
      start: 620
    functionDepth: 3
    functionLinenumber: 620
    functionLinenumberEnd: 623
    functionName: smp_conv_clear
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - var_unset
    linkageType: ''
    returnType: int
    signature: smp_conv_clear(const struct arg *args, struct sample *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:636,1
    - Dst: vars_fill_desc
      Src: /src/haproxy/src/vars.c:641,1
    - Dst: var_set
      Src: /src/haproxy/src/vars.c:644,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/vars.c:648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - arg
    - err
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 654
      start: 629
    functionDepth: 4
    functionLinenumber: 629
    functionLinenumberEnd: 654
    functionName: vars_check_arg
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - memprintf
    - vars_fill_desc
    - var_set
    - chunk_destroy
    linkageType: ''
    returnType: int
    signature: vars_check_arg(struct arg *arg, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_fill_desc
      Src: /src/haproxy/src/vars.c:666,1
    - Dst: var_set
      Src: /src/haproxy/src/vars.c:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - name
    - len
    - smp
    argTypes:
    - char*
    - size_t
    - struct sample*
    constantsTouched: []
    func_position:
      end: 671
      start: 661
    functionDepth: 4
    functionLinenumber: 661
    functionLinenumberEnd: 671
    functionName: vars_set_by_name_ifexist
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - vars_fill_desc
    - var_set
    linkageType: ''
    returnType: int
    signature: vars_set_by_name_ifexist(const char *name, size_t len, struct sample
      *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_fill_desc
      Src: /src/haproxy/src/vars.c:682,1
    - Dst: var_set
      Src: /src/haproxy/src/vars.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - name
    - len
    - smp
    argTypes:
    - char*
    - size_t
    - struct sample*
    constantsTouched: []
    func_position:
      end: 686
      start: 677
    functionDepth: 4
    functionLinenumber: 677
    functionLinenumberEnd: 686
    functionName: vars_set_by_name
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - vars_fill_desc
    - var_set
    linkageType: ''
    returnType: int
    signature: vars_set_by_name(const char *name, size_t len, struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_fill_desc
      Src: /src/haproxy/src/vars.c:696,1
    - Dst: var_unset
      Src: /src/haproxy/src/vars.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - name
    - len
    - smp
    argTypes:
    - char*
    - size_t
    - struct sample*
    constantsTouched: []
    func_position:
      end: 700
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 700
    functionName: vars_unset_by_name_ifexist
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - vars_fill_desc
    - var_unset
    linkageType: ''
    returnType: int
    signature: vars_unset_by_name_ifexist(const char *name, size_t len, struct sample
      *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_rdlock
      Src: /src/haproxy/src/vars.c:718,1
    - Dst: var_get
      Src: /src/haproxy/src/vars.c:719,1
    - Dst: vars_rdunlock
      Src: /src/haproxy/src/vars.c:722,1
    - Dst: smp_dup
      Src: /src/haproxy/src/vars.c:734,1
    - Dst: vars_rdunlock
      Src: /src/haproxy/src/vars.c:736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - vars
    - name_hash
    - smp
    - def
    argTypes:
    - struct vars*
    - uint64_t
    - struct sample*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 738
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 738
    functionName: var_to_smp
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - var_get
    - smp_dup
    - vars_rdlock
    - vars_rdunlock
    linkageType: ''
    returnType: int
    signature: var_to_smp(struct vars *vars, uint64_t name_hash, struct sample *smp,
      const struct buffer *def)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_fill_desc
      Src: /src/haproxy/src/vars.c:758,1
    - Dst: get_vars
      Src: /src/haproxy/src/vars.c:762,1
    - Dst: var_to_smp
      Src: /src/haproxy/src/vars.c:766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - name
    - len
    - smp
    - def
    argTypes:
    - char*
    - size_t
    - struct sample*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 767
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 767
    functionName: vars_get_by_name
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - get_vars
    - vars_fill_desc
    - var_to_smp
    linkageType: ''
    returnType: int
    signature: vars_get_by_name(const char *name, size_t len, struct sample *smp,
      const struct buffer *def)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_vars
      Src: /src/haproxy/src/vars.c:787,1
    - Dst: var_to_smp
      Src: /src/haproxy/src/vars.c:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - var_desc
    - smp
    - def
    argTypes:
    - struct var_desc*
    - struct sample*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 794
      start: 782
    functionDepth: 2
    functionLinenumber: 782
    functionLinenumberEnd: 794
    functionName: vars_get_by_desc
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 1
    functionsReached:
    - get_vars
    - var_to_smp
    linkageType: ''
    returnType: int
    signature: vars_get_by_desc(const struct var_desc *var_desc, struct sample *smp,
      const struct buffer *def)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send_log
      Src: /src/haproxy/src/vars.c:815,1
    - Dst: ha_alert
      Src: /src/haproxy/src/vars.c:817,1
    - Dst: memset
      Src: /src/haproxy/src/vars.c:822,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/vars.c:824,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/vars.c:827,1
    - Dst: send_log
      Src: /src/haproxy/src/vars.c:829,1
    - Dst: ha_alert
      Src: /src/haproxy/src/vars.c:831,1
    - Dst: sess_build_logline
      Src: /src/haproxy/src/vars.c:836,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/vars.c:841,1
    - Dst: var_set
      Src: /src/haproxy/src/vars.c:844,1
    - Dst: sample_process
      Src: /src/haproxy/src/vars.c:848,1
    - Dst: var_set
      Src: /src/haproxy/src/vars.c:854,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/vars.c:855,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 857
      start: 797
    functionDepth: 4
    functionLinenumber: 797
    functionLinenumberEnd: 857
    functionName: action_store
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - alloc_trash_chunk
    - send_log
    - lf_expr_isempty
    - smp_set_owner
    - sess_build_logline
    - sample_process
    - var_set
    - free_trash_chunk
    - memset
    linkageType: ''
    returnType: enum act_return
    signature: "action_store(struct act_rule *rule, struct proxy *px,\n                                    struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/vars.c:865,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/vars.c:866,1
    - Dst: var_unset
      Src: /src/haproxy/src/vars.c:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 871
      start: 860
    functionDepth: 3
    functionLinenumber: 860
    functionLinenumberEnd: 871
    functionName: action_clear
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - memset
    - smp_set_owner
    - var_unset
    linkageType: ''
    returnType: enum act_return
    signature: "action_clear(struct act_rule *rule, struct proxy *px,\n                                    struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/vars.c:875,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/vars.c:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 878
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 878
    functionName: release_store_rule
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - release_sample_expr
    - lf_expr_deinit
    linkageType: ''
    returnType: void
    signature: release_store_rule(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_check_arg
      Src: /src/haproxy/src/vars.c:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - args
    - err
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 891
      start: 888
    functionDepth: 5
    functionLinenumber: 888
    functionLinenumberEnd: 891
    functionName: smp_check_var
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - vars_check_arg
    linkageType: ''
    returnType: int
    signature: smp_check_var(struct arg *args, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_parse_cond_param
      Src: /src/haproxy/src/vars.c:901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err_msg
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 904
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 904
    functionName: conv_check_var
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - vars_parse_cond_param
    linkageType: ''
    returnType: int
    signature: "conv_check_var(struct arg *args, struct sample_conv *conv,\n                          const
      char *file, int line, char **err_msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/vars.c:930,1
    - Dst: strncmp
      Src: /src/haproxy/src/vars.c:934,1
    - Dst: strncmp
      Src: /src/haproxy/src/vars.c:938,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:944,1
    - Dst: strlen
      Src: /src/haproxy/src/vars.c:949,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:952,1
    - Dst: ist2
      Src: /src/haproxy/src/vars.c:958,1
    - Dst: istsplit
      Src: /src/haproxy/src/vars.c:959,1
    - Dst: istlen
      Src: /src/haproxy/src/vars.c:960,1
    - Dst: istsplit
      Src: /src/haproxy/src/vars.c:962,1
    - Dst: istlen
      Src: /src/haproxy/src/vars.c:964,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:965,1
    - Dst: istlen
      Src: /src/haproxy/src/vars.c:969,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/vars.c:972,1
    - Dst: istptr
      Src: /src/haproxy/src/vars.c:972,1
    - Dst: istlen
      Src: /src/haproxy/src/vars.c:972,1
    - Dst: vars_parse_cond_param
      Src: /src/haproxy/src/vars.c:973,1
    - Dst: istsplit
      Src: /src/haproxy/src/vars.c:976,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/vars.c:979,1
    - Dst: vars_fill_desc
      Src: /src/haproxy/src/vars.c:980,1
    - Dst: var_set
      Src: /src/haproxy/src/vars.c:984,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:1048,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/vars.c:1055,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/vars.c:1061,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:1067,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/vars.c:1069,1
    - Dst: free
      Src: /src/haproxy/src/vars.c:1070,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 121
    argCount: 5
    argNames:
    - args
    - arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 1079
      start: 918
    functionDepth: 4
    functionLinenumber: 918
    functionLinenumberEnd: 1079
    functionName: parse_store
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - memprintf
    - istsplit
    - strncmp
    - lf_expr_init
    - strlen
    - ist2
    - istlen
    - var_set
    - istptr
    - vars_parse_cond_param
    - sample_parse_expr
    - vars_fill_desc
    - free
    - sample_src_names
    - parse_logformat_string
    - chunk_initlen
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_store(const char **args, int *arg, struct proxy *px,\n                                      struct
      act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/vars.c:1113,1
    - Dst: strcmp
      Src: /src/haproxy/src/vars.c:1115,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:1119,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:1121,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:1126,1
    - Dst: parse_store
      Src: /src/haproxy/src/vars.c:1131,1
    - Dst: free
      Src: /src/haproxy/src/vars.c:1132,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:1138,1
    - Dst: smp_resolve_args
      Src: /src/haproxy/src/vars.c:1142,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/vars.c:1143,1
    - Dst: indent_msg
      Src: /src/haproxy/src/vars.c:1144,1
    - Dst: session_new
      Src: /src/haproxy/src/vars.c:1148,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/vars.c:1149,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:1150,1
    - Dst: action_store
      Src: /src/haproxy/src/vars.c:1154,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/vars.c:1155,1
    - Dst: session_free
      Src: /src/haproxy/src/vars.c:1157,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1162
      start: 1090
    functionDepth: 5
    functionLinenumber: 1090
    functionLinenumberEnd: 1162
    functionName: vars_parse_global_set_var
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - memprintf
    - smp_resolve_args
    - indent_msg
    - action_store
    - strcmp
    - session_free
    - free
    - session_new
    - LIST_INIT
    - release_sample_expr
    - parse_store
    linkageType: ''
    returnType: int
    signature: "vars_parse_global_set_var(char **args, int section_type, struct proxy
      *curpx,\n                                     const struct proxy *defpx, const
      char *file, int line,\n                                     char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/vars.c:1172,1
    - Dst: cli_err
      Src: /src/haproxy/src/vars.c:1176,1
    - Dst: get_vars
      Src: /src/haproxy/src/vars.c:1181,1
    - Dst: vars_get_by_name
      Src: /src/haproxy/src/vars.c:1185,1
    - Dst: strlen
      Src: /src/haproxy/src/vars.c:1185,1
    - Dst: cli_err
      Src: /src/haproxy/src/vars.c:1186,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/vars.c:1191,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/vars.c:1195,1
    - Dst: b_putchr
      Src: /src/haproxy/src/vars.c:1198,1
    - Dst: isprint
      Src: /src/haproxy/src/vars.c:1200,1
    - Dst: b_putchr
      Src: /src/haproxy/src/vars.c:1201,1
    - Dst: b_putchr
      Src: /src/haproxy/src/vars.c:1203,1
    - Dst: b_putchr
      Src: /src/haproxy/src/vars.c:1205,1
    - Dst: b_putchr
      Src: /src/haproxy/src/vars.c:1206,1
    - Dst: b_putchr
      Src: /src/haproxy/src/vars.c:1207,1
    - Dst: cli_msg
      Src: /src/haproxy/src/vars.c:1209,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1210
      start: 1165
    functionDepth: 3
    functionLinenumber: 1165
    functionLinenumberEnd: 1210
    functionName: vars_parse_cli_get_var
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - b_putchr
    - strlen
    - cli_err
    - isprint
    - chunk_printf
    - chunk_appendf
    - vars_get_by_name
    - cli_msg
    - cli_has_level
    - get_vars
    linkageType: ''
    returnType: int
    signature: vars_parse_cli_get_var(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/vars.c:1239,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/vars.c:1241,1
    - Dst: cli_err
      Src: /src/haproxy/src/vars.c:1245,1
    - Dst: cli_err
      Src: /src/haproxy/src/vars.c:1248,1
    - Dst: strcmp
      Src: /src/haproxy/src/vars.c:1252,1
    - Dst: strcmp
      Src: /src/haproxy/src/vars.c:1254,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:1255,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:1261,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:1262,1
    - Dst: parse_store
      Src: /src/haproxy/src/vars.c:1271,1
    - Dst: free
      Src: /src/haproxy/src/vars.c:1272,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:1278,1
    - Dst: smp_resolve_args
      Src: /src/haproxy/src/vars.c:1283,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/vars.c:1285,1
    - Dst: indent_msg
      Src: /src/haproxy/src/vars.c:1286,1
    - Dst: session_new
      Src: /src/haproxy/src/vars.c:1290,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/vars.c:1291,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:1292,1
    - Dst: action_store
      Src: /src/haproxy/src/vars.c:1296,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/vars.c:1297,1
    - Dst: session_free
      Src: /src/haproxy/src/vars.c:1299,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/vars.c:1304,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1305
      start: 1217
    functionDepth: 5
    functionLinenumber: 1217
    functionLinenumberEnd: 1305
    functionName: vars_parse_cli_set_var
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - memprintf
    - smp_resolve_args
    - indent_msg
    - action_store
    - cli_dynerr
    - strcmp
    - cli_err
    - session_free
    - free
    - session_new
    - LIST_INIT
    - cli_has_level
    - release_sample_expr
    - parse_store
    linkageType: ''
    returnType: int
    signature: vars_parse_cli_set_var(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/haproxy/src/vars.c:1313,1
    - Dst: memprintf
      Src: /src/haproxy/src/vars.c:1315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    - limit
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1319
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1319
    functionName: vars_max_size
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strtol
    linkageType: ''
    returnType: int
    signature: "vars_max_size(char **args, int section_type, struct proxy *curpx,\n
      \                        const struct proxy *defpx, const char *file, int line,\n
      \                        char **err, unsigned int *limit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_max_size
      Src: /src/haproxy/src/vars.c:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1326
      start: 1321
    functionDepth: 2
    functionLinenumber: 1321
    functionLinenumberEnd: 1326
    functionName: vars_max_size_global
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - vars_max_size
    linkageType: ''
    returnType: int
    signature: "vars_max_size_global(char **args, int section_type, struct proxy *curpx,\n
      \                               const struct proxy *defpx, const char *file,
      int line,\n                                char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_max_size
      Src: /src/haproxy/src/vars.c:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1333
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1333
    functionName: vars_max_size_proc
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - vars_max_size
    linkageType: ''
    returnType: int
    signature: "vars_max_size_proc(char **args, int section_type, struct proxy *curpx,\n
      \                               const struct proxy *defpx, const char *file,
      int line,\n                                char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_max_size
      Src: /src/haproxy/src/vars.c:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1340
      start: 1335
    functionDepth: 2
    functionLinenumber: 1335
    functionLinenumberEnd: 1340
    functionName: vars_max_size_sess
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - vars_max_size
    linkageType: ''
    returnType: int
    signature: "vars_max_size_sess(char **args, int section_type, struct proxy *curpx,\n
      \                             const struct proxy *defpx, const char *file, int
      line,\n                              char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_max_size
      Src: /src/haproxy/src/vars.c:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1347
      start: 1342
    functionDepth: 2
    functionLinenumber: 1342
    functionLinenumberEnd: 1347
    functionName: vars_max_size_txn
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - vars_max_size
    linkageType: ''
    returnType: int
    signature: "vars_max_size_txn(char **args, int section_type, struct proxy *curpx,\n
      \                            const struct proxy *defpx, const char *file, int
      line,\n                             char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_max_size
      Src: /src/haproxy/src/vars.c:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1354
      start: 1349
    functionDepth: 2
    functionLinenumber: 1349
    functionLinenumberEnd: 1354
    functionName: vars_max_size_reqres
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - vars_max_size
    linkageType: ''
    returnType: int
    signature: "vars_max_size_reqres(char **args, int section_type, struct proxy *curpx,\n
      \                               const struct proxy *defpx, const char *file,
      int line,\n                                char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_max_size
      Src: /src/haproxy/src/vars.c:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1361
      start: 1356
    functionDepth: 2
    functionLinenumber: 1356
    functionLinenumberEnd: 1361
    functionName: vars_max_size_check
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - vars_max_size
    linkageType: ''
    returnType: int
    signature: "vars_max_size_check(char **args, int section_type, struct proxy *curpx,\n
      \                               const struct proxy *defpx, const char *file,
      int line,\n                                char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_random64
      Src: /src/haproxy/src/vars.c:1366,1
    - Dst: vars_init_head
      Src: /src/haproxy/src/vars.c:1368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1364
    functionDepth: 1
    functionLinenumber: 1364
    functionLinenumberEnd: 1369
    functionName: vars_init
    functionSourceFile: /src/haproxy/src/vars.c
    functionUses: 0
    functionsReached:
    - vars_init_head
    - ha_random64
    linkageType: ''
    returnType: void
    signature: vars_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ebmb_lookup
      Src: /src/haproxy/src/ebmbtree.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - root
    - x
    - len
    argTypes:
    - struct eb_root*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: ebmb_lookup
    functionSourceFile: /src/haproxy/src/ebmbtree.c
    functionUses: 4
    functionsReached:
    - __ebmb_lookup
    linkageType: ''
    returnType: struct ebmb_node
    signature: '*

      ebmb_lookup(struct eb_root *root, const void *x, unsigned int len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ebmb_insert
      Src: /src/haproxy/src/ebmbtree.c:42,1
    - Dst: len::len
      Src: /src/haproxy/src/ebmbtree.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - root
    - new
    - len
    argTypes:
    - struct eb_root*
    - struct ebmb_node*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: ebmb_insert
    functionSourceFile: /src/haproxy/src/ebmbtree.c
    functionUses: 2
    functionsReached:
    - len::len
    - __ebmb_insert
    linkageType: ''
    returnType: struct ebmb_node
    signature: '*

      ebmb_insert(struct eb_root *root, struct ebmb_node *new, unsigned int len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ebmb_lookup_longest
      Src: /src/haproxy/src/ebmbtree.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - void*
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: ebmb_lookup_longest
    functionSourceFile: /src/haproxy/src/ebmbtree.c
    functionUses: 1
    functionsReached:
    - __ebmb_lookup_longest
    linkageType: ''
    returnType: struct ebmb_node
    signature: '*

      ebmb_lookup_longest(struct eb_root *root, const void *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ebmb_lookup_prefix
      Src: /src/haproxy/src/ebmbtree.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - root
    - x
    - pfx
    argTypes:
    - struct eb_root*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: ebmb_lookup_prefix
    functionSourceFile: /src/haproxy/src/ebmbtree.c
    functionUses: 1
    functionsReached:
    - __ebmb_lookup_prefix
    linkageType: ''
    returnType: struct ebmb_node
    signature: '*

      ebmb_lookup_prefix(struct eb_root *root, const void *x, unsigned int pfx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ebmb_insert_prefix
      Src: /src/haproxy/src/ebmbtree.c:76,1
    - Dst: len::len
      Src: /src/haproxy/src/ebmbtree.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - root
    - new
    - len
    argTypes:
    - struct eb_root*
    - struct ebmb_node*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: ebmb_insert_prefix
    functionSourceFile: /src/haproxy/src/ebmbtree.c
    functionUses: 1
    functionsReached:
    - len::len
    - __ebmb_insert_prefix
    linkageType: ''
    returnType: struct ebmb_node
    signature: '*

      ebmb_insert_prefix(struct eb_root *root, struct ebmb_node *new, unsigned int
      len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:31,1
    - Dst: istsplit
      Src: /src/haproxy/src/uri_normalizer.c:32,1
    - Dst: istcat
      Src: /src/haproxy/src/uri_normalizer.c:34,1
    - Dst: istend
      Src: /src/haproxy/src/uri_normalizer.c:39,1
    - Dst: istend
      Src: /src/haproxy/src/uri_normalizer.c:39,1
    - Dst: istcat
      Src: /src/haproxy/src/uri_normalizer.c:40,1
    - Dst: ist
      Src: /src/haproxy/src/uri_normalizer.c:40,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - input
    - dst
    argTypes:
    - struct ist
    - struct ist*
    constantsTouched: []
    func_position:
      end: 54
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 54
    functionName: uri_normalizer_fragment_encode
    functionSourceFile: /src/haproxy/src/uri_normalizer.c
    functionUses: 0
    functionsReached:
    - istsplit
    - istend
    - istlen
    - ist
    - istcat
    linkageType: ''
    returnType: enum uri_normalizer_err
    signature: uri_normalizer_fragment_encode(const struct ist input, struct ist *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: is_unreserved_character
    functionSourceFile: /src/haproxy/src/uri_normalizer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: is_unreserved_character(unsigned char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:99,1
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:104,1
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:108,1
    - Dst: ishex
      Src: /src/haproxy/src/uri_normalizer.c:109,1
    - Dst: istptr
      Src: /src/haproxy/src/uri_normalizer.c:109,1
    - Dst: ishex
      Src: /src/haproxy/src/uri_normalizer.c:109,1
    - Dst: istptr
      Src: /src/haproxy/src/uri_normalizer.c:109,1
    - Dst: istshift
      Src: /src/haproxy/src/uri_normalizer.c:112,1
    - Dst: istshift
      Src: /src/haproxy/src/uri_normalizer.c:113,1
    - Dst: hex2i
      Src: /src/haproxy/src/uri_normalizer.c:114,1
    - Dst: hex2i
      Src: /src/haproxy/src/uri_normalizer.c:114,1
    - Dst: is_unreserved_character
      Src: /src/haproxy/src/uri_normalizer.c:116,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:117,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:120,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:121,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:122,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:134,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:138,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - input
    - strict
    - dst
    argTypes:
    - struct ist
    - int
    - struct ist*
    constantsTouched: []
    func_position:
      end: 149
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 149
    functionName: uri_normalizer_percent_decode_unreserved
    functionSourceFile: /src/haproxy/src/uri_normalizer.c
    functionUses: 0
    functionsReached:
    - is_unreserved_character
    - __istappend
    - istlen
    - istshift
    - istptr
    - hex2i
    - ishex
    linkageType: ''
    returnType: enum uri_normalizer_err
    signature: uri_normalizer_percent_decode_unreserved(const struct ist input, int
      strict, struct ist *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:168,1
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:173,1
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:177,1
    - Dst: ishex
      Src: /src/haproxy/src/uri_normalizer.c:178,1
    - Dst: istptr
      Src: /src/haproxy/src/uri_normalizer.c:178,1
    - Dst: ishex
      Src: /src/haproxy/src/uri_normalizer.c:178,1
    - Dst: istptr
      Src: /src/haproxy/src/uri_normalizer.c:178,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:179,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:180,1
    - Dst: toupper
      Src: /src/haproxy/src/uri_normalizer.c:180,1
    - Dst: istshift
      Src: /src/haproxy/src/uri_normalizer.c:180,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:181,1
    - Dst: toupper
      Src: /src/haproxy/src/uri_normalizer.c:181,1
    - Dst: istshift
      Src: /src/haproxy/src/uri_normalizer.c:181,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:191,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:195,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - input
    - strict
    - dst
    argTypes:
    - struct ist
    - int
    - struct ist*
    constantsTouched: []
    func_position:
      end: 206
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 206
    functionName: uri_normalizer_percent_upper
    functionSourceFile: /src/haproxy/src/uri_normalizer.c
    functionUses: 0
    functionsReached:
    - toupper
    - __istappend
    - istlen
    - istshift
    - istptr
    - ishex
    linkageType: ''
    returnType: enum uri_normalizer_err
    signature: uri_normalizer_percent_upper(const struct ist input, int strict, struct
      ist *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:219,1
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:224,1
    - Dst: istsplit
      Src: /src/haproxy/src/uri_normalizer.c:225,1
    - Dst: isteq
      Src: /src/haproxy/src/uri_normalizer.c:227,1
    - Dst: ist
      Src: /src/haproxy/src/uri_normalizer.c:227,1
    - Dst: istcat
      Src: /src/haproxy/src/uri_normalizer.c:228,1
    - Dst: my_unreachable
      Src: /src/haproxy/src/uri_normalizer.c:230,1
    - Dst: istend
      Src: /src/haproxy/src/uri_normalizer.c:235,1
    - Dst: istend
      Src: /src/haproxy/src/uri_normalizer.c:235,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:236,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - path
    - dst
    argTypes:
    - struct ist
    - struct ist*
    constantsTouched: []
    func_position:
      end: 247
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 247
    functionName: uri_normalizer_path_dot
    functionSourceFile: /src/haproxy/src/uri_normalizer.c
    functionUses: 0
    functionsReached:
    - istsplit
    - __istappend
    - istend
    - istlen
    - isteq
    - ist
    - my_unreachable
    - istcat
    linkageType: ''
    returnType: enum uri_normalizer_err
    signature: uri_normalizer_path_dot(const struct ist path, struct ist *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:268,1
    - Dst: istmatch
      Src: /src/haproxy/src/uri_normalizer.c:274,1
    - Dst: istadv
      Src: /src/haproxy/src/uri_normalizer.c:274,1
    - Dst: ist
      Src: /src/haproxy/src/uri_normalizer.c:274,1
    - Dst: istmatch
      Src: /src/haproxy/src/uri_normalizer.c:280,1
    - Dst: istadv
      Src: /src/haproxy/src/uri_normalizer.c:280,1
    - Dst: ist
      Src: /src/haproxy/src/uri_normalizer.c:280,1
    - Dst: istptr
      Src: /src/haproxy/src/uri_normalizer.c:297,1
    - Dst: istptr
      Src: /src/haproxy/src/uri_normalizer.c:303,1
    - Dst: istptr
      Src: /src/haproxy/src/uri_normalizer.c:307,1
    - Dst: istptr
      Src: /src/haproxy/src/uri_normalizer.c:308,1
    - Dst: ist2
      Src: /src/haproxy/src/uri_normalizer.c:329,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - path
    - full
    - dst
    argTypes:
    - struct ist
    - int
    - struct ist*
    constantsTouched: []
    func_position:
      end: 336
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 336
    functionName: uri_normalizer_path_dotdot
    functionSourceFile: /src/haproxy/src/uri_normalizer.c
    functionUses: 0
    functionsReached:
    - istmatch
    - istlen
    - ist2
    - ist
    - istptr
    - istadv
    linkageType: ''
    returnType: enum uri_normalizer_err
    signature: uri_normalizer_path_dotdot(const struct ist path, int full, struct
      ist *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:349,1
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:354,1
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:358,1
    - Dst: istptr
      Src: /src/haproxy/src/uri_normalizer.c:358,1
    - Dst: istnext
      Src: /src/haproxy/src/uri_normalizer.c:359,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - path
    - dst
    argTypes:
    - struct ist
    - struct ist*
    constantsTouched: []
    func_position:
      end: 372
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 372
    functionName: uri_normalizer_path_merge_slashes
    functionSourceFile: /src/haproxy/src/uri_normalizer.c
    functionUses: 0
    functionsReached:
    - istnext
    - istlen
    - __istappend
    - istptr
    linkageType: ''
    returnType: enum uri_normalizer_err
    signature: uri_normalizer_path_merge_slashes(const struct ist path, struct ist
      *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iststop
      Src: /src/haproxy/src/uri_normalizer.c:383,1
    - Dst: iststop
      Src: /src/haproxy/src/uri_normalizer.c:384,1
    - Dst: istptr
      Src: /src/haproxy/src/uri_normalizer.c:392,1
    - Dst: istptr
      Src: /src/haproxy/src/uri_normalizer.c:392,1
    - Dst: istptr
      Src: /src/haproxy/src/uri_normalizer.c:395,1
    - Dst: istptr
      Src: /src/haproxy/src/uri_normalizer.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 399
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 399
    functionName: query_param_cmp
    functionSourceFile: /src/haproxy/src/uri_normalizer.c
    functionUses: 0
    functionsReached:
    - istptr
    - iststop
    linkageType: ''
    returnType: int
    signature: query_param_cmp(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/uri_normalizer.c:411,1
    - Dst: b_orig
      Src: /src/haproxy/src/uri_normalizer.c:412,1
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:419,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:425,1
    - Dst: istshift
      Src: /src/haproxy/src/uri_normalizer.c:425,1
    - Dst: istlen
      Src: /src/haproxy/src/uri_normalizer.c:427,1
    - Dst: istsplit
      Src: /src/haproxy/src/uri_normalizer.c:428,1
    - Dst: qsort
      Src: /src/haproxy/src/uri_normalizer.c:439,1
    - Dst: __istappend
      Src: /src/haproxy/src/uri_normalizer.c:443,1
    - Dst: istcat
      Src: /src/haproxy/src/uri_normalizer.c:445,1
    - Dst: my_unreachable
      Src: /src/haproxy/src/uri_normalizer.c:447,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - query
    - delim
    - dst
    argTypes:
    - struct ist
    - char
    - struct ist*
    constantsTouched: []
    func_position:
      end: 460
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 460
    functionName: uri_normalizer_query_sort
    functionSourceFile: /src/haproxy/src/uri_normalizer.c
    functionUses: 0
    functionsReached:
    - istsplit
    - __istappend
    - istlen
    - istshift
    - get_trash_chunk
    - my_unreachable
    - istcat
    - b_orig
    - qsort
    linkageType: ''
    returnType: enum uri_normalizer_err
    signature: uri_normalizer_query_sort(const struct ist query, const char delim,
      struct ist *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - len_in
    - b
    argTypes:
    - unsigned char**
    - uint64_t*
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 94
    functionName: qpack_get_varint
    functionSourceFile: /src/haproxy/src/qpack-dec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: qpack_get_varint(const unsigned char **buf, uint64_t *len_in, int b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qcc_set_error
      Src: /src/haproxy/src/qpack-dec.c:114,1
    - Dst: b_data
      Src: /src/haproxy/src/qpack-dec.c:118,1
    - Dst: qpack_debug_hexdump
      Src: /src/haproxy/src/qpack-dec.c:119,1
    - Dst: b_head
      Src: /src/haproxy/src/qpack-dec.c:119,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:122,1
    - Dst: b_head
      Src: /src/haproxy/src/qpack-dec.c:126,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/qpack-dec.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - fin
    - ctx
    argTypes:
    - struct buffer*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 154
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 154
    functionName: qpack_decode_enc
    functionSourceFile: /src/haproxy/src/qpack-dec.c
    functionUses: 0
    functionsReached:
    - qpack_debug_hexdump
    - b_head
    - qpack_debug_printf
    - b_data
    - qcc_set_error
    linkageType: ''
    returnType: int
    signature: qpack_decode_enc(struct buffer *buf, int fin, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qcc_set_error
      Src: /src/haproxy/src/qpack-dec.c:174,1
    - Dst: b_data
      Src: /src/haproxy/src/qpack-dec.c:178,1
    - Dst: qpack_debug_hexdump
      Src: /src/haproxy/src/qpack-dec.c:179,1
    - Dst: b_head
      Src: /src/haproxy/src/qpack-dec.c:179,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:182,1
    - Dst: b_head
      Src: /src/haproxy/src/qpack-dec.c:186,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/qpack-dec.c:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - fin
    - ctx
    argTypes:
    - struct buffer*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 210
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 210
    functionName: qpack_decode_dec
    functionSourceFile: /src/haproxy/src/qpack-dec.c
    functionUses: 0
    functionsReached:
    - qpack_debug_hexdump
    - b_head
    - qpack_debug_printf
    - b_data
    - qcc_set_error
    linkageType: ''
    returnType: int
    signature: qpack_decode_dec(struct buffer *buf, int fin, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qpack_get_varint
      Src: /src/haproxy/src/qpack-dec.c:219,1
    - Dst: qpack_get_varint
      Src: /src/haproxy/src/qpack-dec.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - enc_ric
    - db
    - sign_bit
    - raw
    - len
    argTypes:
    - uint64_t*
    - uint64_t*
    - int*
    - unsigned char**
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 229
    functionName: qpack_decode_fs_pfx
    functionSourceFile: /src/haproxy/src/qpack-dec.c
    functionUses: 0
    functionsReached:
    - qpack_get_varint
    linkageType: ''
    returnType: int
    signature: "qpack_decode_fs_pfx(uint64_t *enc_ric, uint64_t *db, int *sign_bit,\n
      \                              const unsigned char **raw, uint64_t *len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qpack_debug_hexdump
      Src: /src/haproxy/src/qpack-dec.c:249,1
    - Dst: qpack_decode_fs_pfx
      Src: /src/haproxy/src/qpack-dec.c:252,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:254,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/qpack-dec.c:258,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:259,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:264,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:271,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:281,1
    - Dst: qpack_get_varint
      Src: /src/haproxy/src/qpack-dec.c:283,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:285,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:290,1
    - Dst: qpack_get_varint
      Src: /src/haproxy/src/qpack-dec.c:292,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:294,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:299,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:302,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:328,1
    - Dst: qpack_get_varint
      Src: /src/haproxy/src/qpack-dec.c:329,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:331,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:336,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:354,1
    - Dst: qpack_get_varint
      Src: /src/haproxy/src/qpack-dec.c:356,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:358,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:381,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:388,1
    - Dst: qpack_get_varint
      Src: /src/haproxy/src/qpack-dec.c:391,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:393,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:415,1
    - Dst: qpack_get_varint
      Src: /src/haproxy/src/qpack-dec.c:417,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:419,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:424,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/qpack-dec.c:429,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:431,1
    - Dst: huff_dec
      Src: /src/haproxy/src/qpack-dec.c:435,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:437,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:442,1
    - Dst: b_add
      Src: /src/haproxy/src/qpack-dec.c:444,1
    - Dst: ist2
      Src: /src/haproxy/src/qpack-dec.c:445,1
    - Dst: ist2
      Src: /src/haproxy/src/qpack-dec.c:448,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:452,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:465,1
    - Dst: qpack_get_varint
      Src: /src/haproxy/src/qpack-dec.c:468,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:470,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:475,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:479,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/qpack-dec.c:488,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:490,1
    - Dst: huff_dec
      Src: /src/haproxy/src/qpack-dec.c:494,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:496,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:501,1
    - Dst: b_add
      Src: /src/haproxy/src/qpack-dec.c:503,1
    - Dst: ist2
      Src: /src/haproxy/src/qpack-dec.c:504,1
    - Dst: ist2
      Src: /src/haproxy/src/qpack-dec.c:507,1
    - Dst: qpack_get_varint
      Src: /src/haproxy/src/qpack-dec.c:514,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:516,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:521,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:524,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/qpack-dec.c:533,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:535,1
    - Dst: huff_dec
      Src: /src/haproxy/src/qpack-dec.c:539,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:541,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:546,1
    - Dst: b_add
      Src: /src/haproxy/src/qpack-dec.c:548,1
    - Dst: ist2
      Src: /src/haproxy/src/qpack-dec.c:549,1
    - Dst: ist2
      Src: /src/haproxy/src/qpack-dec.c:552,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:563,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:572,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:576,1
    - Dst: qpack_debug_printf
      Src: /src/haproxy/src/qpack-dec.c:586,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 238
    argCount: 5
    argNames:
    - raw
    - len
    - tmp
    - list
    - list_size
    argTypes:
    - unsigned char*
    - uint64_t
    - struct buffer*
    - struct http_hdr*
    - int
    constantsTouched: []
    func_position:
      end: 588
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 588
    functionName: qpack_decode_fs
    functionSourceFile: /src/haproxy/src/qpack-dec.c
    functionUses: 1
    functionsReached:
    - chunk_reset
    - qpack_debug_hexdump
    - ist2
    - huff_dec
    - b_add
    - qpack_get_varint
    - qpack_debug_printf
    - chunk_newstr
    - qpack_decode_fs_pfx
    linkageType: ''
    returnType: int
    signature: "qpack_decode_fs(const unsigned char *raw, uint64_t len, struct buffer
      *tmp,\n                    struct http_hdr *list, int list_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 596
    functionName: qpack_err_decode
    functionSourceFile: /src/haproxy/src/qpack-dec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: qpack_err_decode(const int value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pat
    argTypes:
    - struct pattern*
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: pat2acl
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum acl_test_res
    signature: pat2acl(struct pattern *pat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/acl.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kwl
    argTypes:
    - struct acl_kw_list*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: acl_register_keywords
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: acl_register_keywords(struct acl_kw_list *kwl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/acl.c:61,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/acl.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kwl
    argTypes:
    - struct acl_kw_list*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: acl_unregister_keywords
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - LIST_DELETE
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: acl_unregister_keywords(struct acl_kw_list *kwl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - head
    argTypes:
    - char*
    - struct list*
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: find_acl_by_name
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct acl
    signature: '*find_acl_by_name(const char *name, struct list *head)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_idchar
      Src: /src/haproxy/src/acl.c:89,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:92,1
    - Dst: strncmp
      Src: /src/haproxy/src/acl.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - kw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 100
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 100
    functionName: find_acl_kw
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - is_idchar
    - strncmp
    linkageType: ''
    returnType: struct acl_keyword
    signature: '*find_acl_kw(const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pattern_prune
      Src: /src/haproxy/src/acl.c:106,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/acl.c:112,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/acl.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - expr
    argTypes:
    - struct acl_expr*
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: prune_acl_expr
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - chunk_destroy
    - release_sample_expr
    - pattern_prune
    linkageType: ''
    returnType: struct acl_expr
    signature: '*prune_acl_expr(struct acl_expr *expr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_acl_kw
      Src: /src/haproxy/src/acl.c:171,1
    - Dst: calloc
      Src: /src/haproxy/src/acl.c:176,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:178,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/acl.c:181,1
    - Dst: is_idchar
      Src: /src/haproxy/src/acl.c:186,1
    - Dst: make_arg_list
      Src: /src/haproxy/src/acl.c:193,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:197,1
    - Dst: struct sample_expr*::fetch::val_args
      Src: /src/haproxy/src/acl.c:204,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:208,1
    - Dst: sample_parse_expr_cnv
      Src: /src/haproxy/src/acl.c:217,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:219,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/acl.c:222,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/acl.c:230,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:232,1
    - Dst: smp_expr_output_type
      Src: /src/haproxy/src/acl.c:238,1
    - Dst: calloc
      Src: /src/haproxy/src/acl.c:240,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:242,1
    - Dst: pattern_init_head
      Src: /src/haproxy/src/acl.c:246,1
    - Dst: ha_warning
      Src: /src/haproxy/src/acl.c:302,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:326,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:328,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:330,1
    - Dst: strtol
      Src: /src/haproxy/src/acl.c:331,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:333,1
    - Dst: pat_ref_lookupid
      Src: /src/haproxy/src/acl.c:338,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:339,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:345,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:347,1
    - Dst: pattern_read_from_file
      Src: /src/haproxy/src/acl.c:351,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:356,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:360,1
    - Dst: pat_find_match_name
      Src: /src/haproxy/src/acl.c:364,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:366,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:372,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:382,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:386,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:391,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:399,1
    - Dst: snprintf
      Src: /src/haproxy/src/acl.c:404,1
    - Dst: pat_ref_newid
      Src: /src/haproxy/src/acl.c:409,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:411,1
    - Dst: pattern_new_expr
      Src: /src/haproxy/src/acl.c:416,1
    - Dst: get_std_op
      Src: /src/haproxy/src/acl.c:457,1
    - Dst: strchr
      Src: /src/haproxy/src/acl.c:465,1
    - Dst: strchr
      Src: /src/haproxy/src/acl.c:465,1
    - Dst: strchr
      Src: /src/haproxy/src/acl.c:473,1
    - Dst: strlen
      Src: /src/haproxy/src/acl.c:477,1
    - Dst: strl2llrc
      Src: /src/haproxy/src/acl.c:484,1
    - Dst: strlen
      Src: /src/haproxy/src/acl.c:484,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:485,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:489,1
    - Dst: strl2llrc
      Src: /src/haproxy/src/acl.c:497,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:498,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:503,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:512,1
    - Dst: snprintf
      Src: /src/haproxy/src/acl.c:521,1
    - Dst: snprintf
      Src: /src/haproxy/src/acl.c:523,1
    - Dst: snprintf
      Src: /src/haproxy/src/acl.c:534,1
    - Dst: snprintf
      Src: /src/haproxy/src/acl.c:536,1
    - Dst: pat_ref_add
      Src: /src/haproxy/src/acl.c:547,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:551,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:551,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:552,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:552,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/acl.c:553,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:554,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:554,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/acl.c:555,1
    - Dst: find_acl_kw
      Src: /src/haproxy/src/acl.c:556,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/acl.c:557,1
    - Dst: is_idchar
      Src: /src/haproxy/src/acl.c:561,1
    - Dst: find_sample_fetch
      Src: /src/haproxy/src/acl.c:564,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/acl.c:565,1
    - Dst: prune_acl_expr
      Src: /src/haproxy/src/acl.c:574,1
    - Dst: free
      Src: /src/haproxy/src/acl.c:575,1
    - Dst: free
      Src: /src/haproxy/src/acl.c:577,1
    - Dst: free
      Src: /src/haproxy/src/acl.c:578,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 295
    argCount: 5
    argNames:
    - args
    - err
    - al
    - file
    - line
    argTypes:
    - char**
    - char**
    - struct arg_list*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 581
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 581
    functionName: parse_acl_expr
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strl2llrc
    - pattern_init_head
    - ha_warning
    - pat_ref_newid
    - pattern_new_expr
    - ha_diag_warning
    - find_acl_kw
    - sample_parse_expr_cnv
    - get_std_op
    - LIST_ISEMPTY
    - strcmp
    - free
    - strtol
    - pat_find_match_name
    - smp_expr_output_type
    - is_idchar
    - make_arg_list
    - strlen
    - snprintf
    - sample_parse_expr
    - prune_acl_expr
    - LIST_INIT
    - struct sample_expr*::fetch::val_args
    - pat_ref_lookupid
    - strchr
    - pattern_read_from_file
    - pat_ref_add
    - calloc
    - find_sample_fetch
    linkageType: ''
    returnType: struct acl_expr
    signature: "*parse_acl_expr(const char **args, char **err, struct arg_list *al,\n
      \                               const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/acl.c:588,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/acl.c:590,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/acl.c:591,1
    - Dst: prune_acl_expr
      Src: /src/haproxy/src/acl.c:592,1
    - Dst: free
      Src: /src/haproxy/src/acl.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - acl
    argTypes:
    - struct acl*
    constantsTouched: []
    func_position:
      end: 597
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 597
    functionName: prune_acl
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - free
    - prune_acl_expr
    - LIST_DELETE
    - list_for_each_entry_safe
    linkageType: ''
    returnType: struct acl
    signature: '*prune_acl(struct acl *acl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:608,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:615,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:618,1
    - Dst: parse_acl_recurse
      Src: /src/haproxy/src/acl.c:619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - acl
    - expr
    - max_recurse
    argTypes:
    - struct acl*
    - struct acl_expr*
    - int
    constantsTouched: []
    func_position:
      end: 626
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 626
    functionName: parse_acl_recurse
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    - strcmp
    - parse_acl_recurse
    linkageType: ''
    returnType: int
    signature: parse_acl_recurse(struct acl *acl, struct acl_expr *expr, int max_recurse)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: invalid_char
      Src: /src/haproxy/src/acl.c:647,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:648,1
    - Dst: parse_acl_expr
      Src: /src/haproxy/src/acl.c:652,1
    - Dst: strchr
      Src: /src/haproxy/src/acl.c:662,1
    - Dst: ha_warning
      Src: /src/haproxy/src/acl.c:663,1
    - Dst: find_acl_by_name
      Src: /src/haproxy/src/acl.c:671,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:679,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:681,1
    - Dst: strdup
      Src: /src/haproxy/src/acl.c:685,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:687,1
    - Dst: calloc
      Src: /src/haproxy/src/acl.c:690,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:692,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/acl.c:696,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/acl.c:697,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/acl.c:707,1
    - Dst: free
      Src: /src/haproxy/src/acl.c:711,1
    - Dst: prune_acl_expr
      Src: /src/haproxy/src/acl.c:713,1
    - Dst: free
      Src: /src/haproxy/src/acl.c:714,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 6
    argNames:
    - args
    - known_acl
    - err
    - al
    - file
    - line
    argTypes:
    - char**
    - struct list*
    - char**
    - struct arg_list*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 717
      start: 638
    functionDepth: 3
    functionLinenumber: 638
    functionLinenumberEnd: 717
    functionName: parse_acl
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_acl_expr
    - ha_warning
    - calloc
    - LIST_APPEND
    - strdup
    - free
    - find_acl_by_name
    - LIST_INIT
    - prune_acl_expr
    - strchr
    - invalid_char
    linkageType: ''
    returnType: struct acl
    signature: "*parse_acl(const char **args, struct list *known_acl, char **err,
      struct arg_list *al,\n                      const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:771,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:776,1
    - Dst: parse_acl_expr
      Src: /src/haproxy/src/acl.c:780,1
    - Dst: strdup
      Src: /src/haproxy/src/acl.c:786,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:788,1
    - Dst: calloc
      Src: /src/haproxy/src/acl.c:792,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:794,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/acl.c:801,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/acl.c:802,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/acl.c:804,1
    - Dst: free
      Src: /src/haproxy/src/acl.c:809,1
    - Dst: prune_acl_expr
      Src: /src/haproxy/src/acl.c:811,1
    - Dst: free
      Src: /src/haproxy/src/acl.c:812,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 6
    argNames:
    - acl_name
    - known_acl
    - err
    - al
    - file
    - line
    argTypes:
    - char*
    - struct list*
    - char**
    - struct arg_list*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 815
      start: 760
    functionDepth: 3
    functionLinenumber: 760
    functionLinenumberEnd: 815
    functionName: find_acl_default
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_acl_expr
    - strcmp
    - calloc
    - LIST_APPEND
    - strdup
    - free
    - prune_acl_expr
    - LIST_INIT
    linkageType: ''
    returnType: struct acl
    signature: "*find_acl_default(const char *acl_name, struct list *known_acl,\n
      \                            char **err, struct arg_list *al,\n                             const
      char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/acl.c:839,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:841,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/acl.c:845,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/acl.c:846,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/acl.c:868,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:868,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:877,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:884,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:888,1
    - Dst: calloc
      Src: /src/haproxy/src/acl.c:892,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:894,1
    - Dst: memcpy
      Src: /src/haproxy/src/acl.c:899,1
    - Dst: parse_acl
      Src: /src/haproxy/src/acl.c:901,1
    - Dst: free
      Src: /src/haproxy/src/acl.c:902,1
    - Dst: find_acl_by_name
      Src: /src/haproxy/src/acl.c:916,1
    - Dst: find_acl_default
      Src: /src/haproxy/src/acl.c:918,1
    - Dst: calloc
      Src: /src/haproxy/src/acl.c:926,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:928,1
    - Dst: calloc
      Src: /src/haproxy/src/acl.c:948,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:950,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/acl.c:953,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/acl.c:954,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/acl.c:956,1
    - Dst: free
      Src: /src/haproxy/src/acl.c:964,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/acl.c:966,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 97
    argCount: 7
    argNames:
    - args
    - known_acl
    - pol
    - err
    - al
    - file
    - line
    argTypes:
    - char**
    - struct list*
    - enum acl_cond_pol
    - char**
    - struct arg_list*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 969
      start: 826
    functionDepth: 4
    functionLinenumber: 826
    functionLinenumberEnd: 969
    functionName: parse_acl_cond
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcasecmp
    - find_acl_default
    - calloc
    - strcmp
    - LIST_APPEND
    - free_acl_cond
    - free
    - parse_acl
    - LIST_INIT
    - find_acl_by_name
    - memcpy
    linkageType: ''
    returnType: struct acl_cond
    signature: "*parse_acl_cond(const char **args, struct list *known_acl,\n                                enum
      acl_cond_pol pol, char **err, struct arg_list *al,\n                                const
      char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:989,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:993,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:998,1
    - Dst: parse_acl_cond
      Src: /src/haproxy/src/acl.c:1002,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 6
    argNames:
    - file
    - line
    - known_acl
    - px
    - args
    - err
    argTypes:
    - char*
    - int
    - struct list*
    - struct proxy*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 1012
      start: 980
    functionDepth: 5
    functionLinenumber: 980
    functionLinenumberEnd: 1012
    functionName: build_acl_cond
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - parse_acl_cond
    linkageType: ''
    returnType: struct acl_cond
    signature: "*build_acl_cond(const char *file, int line, struct list *known_acl,\n\t\t\t\tstruct
      proxy *px, const char **args, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:1046,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:1056,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:1067,1
    - Dst: memset
      Src: /src/haproxy/src/acl.c:1069,1
    - Dst: sample_process
      Src: /src/haproxy/src/acl.c:1071,1
    - Dst: pat2acl
      Src: /src/haproxy/src/acl.c:1078,1
    - Dst: pattern_exec_match
      Src: /src/haproxy/src/acl.c:1078,1
    - Dst: acl_neg
      Src: /src/haproxy/src/acl.c:1110,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 5
    argNames:
    - cond
    - px
    - sess
    - strm
    - opt
    argTypes:
    - struct acl_cond*
    - struct proxy*
    - struct session*
    - struct stream*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1125
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1125
    functionName: acl_exec_cond
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - sample_process
    - pattern_exec_match
    - list_for_each_entry
    - acl_neg
    - pat2acl
    - memset
    linkageType: ''
    returnType: enum acl_test_res
    signature: acl_exec_cond(struct acl_cond *cond, struct proxy *px, struct session
      *sess, struct stream *strm, unsigned int opt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:1138,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:1139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cond
    - where
    argTypes:
    - struct acl_cond*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1146
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1146
    functionName: acl_cond_conflicts
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: struct acl
    signature: '*acl_cond_conflicts(const struct acl_cond *cond, unsigned int where)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:1160,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:1161,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:1162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - cond
    - where
    - acl
    - kw
    argTypes:
    - struct acl_cond*
    - unsigned int
    - struct acl**
    - char**
    constantsTouched: []
    func_position:
      end: 1174
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1174
    functionName: acl_cond_kw_conflicts
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: int
    signature: acl_cond_kw_conflicts(const struct acl_cond *cond, unsigned int where,
      struct acl const **acl, char const **kw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:1190,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:1191,1
    - Dst: strcmp
      Src: /src/haproxy/src/acl.c:1192,1
    - Dst: ha_alert
      Src: /src/haproxy/src/acl.c:1197,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/acl.c:1204,1
    - Dst: ha_alert
      Src: /src/haproxy/src/acl.c:1205,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:1212,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/acl.c:1213,1
    - Dst: ha_alert
      Src: /src/haproxy/src/acl.c:1214,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:1220,1
    - Dst: check_group
      Src: /src/haproxy/src/acl.c:1222,1
    - Dst: ha_alert
      Src: /src/haproxy/src/acl.c:1223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1234
    functionName: acl_find_targets
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - LIST_ISEMPTY
    - list_for_each_entry
    - strcmp
    - check_group
    linkageType: ''
    returnType: int
    signature: acl_find_targets(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:1247,1
    - Dst: find_sample_fetch
      Src: /src/haproxy/src/acl.c:1253,1
    - Dst: strlen
      Src: /src/haproxy/src/acl.c:1253,1
    - Dst: ha_alert
      Src: /src/haproxy/src/acl.c:1255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1264
    functionName: init_acl
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strlen
    - ha_alert
    - find_sample_fetch
    linkageType: ''
    returnType: int
    signature: init_acl()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/acl.c:1275,1
    - Dst: strordered
      Src: /src/haproxy/src/acl.c:1277,1
    - Dst: printf
      Src: /src/haproxy/src/acl.c:1291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1293
    functionName: acl_dump_kwd
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strordered
    - printf
    linkageType: ''
    returnType: void
    signature: acl_dump_kwd(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/acl.c:1304,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/acl.c:1305,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/acl.c:1306,1
    - Dst: free
      Src: /src/haproxy/src/acl.c:1307,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/acl.c:1309,1
    - Dst: free
      Src: /src/haproxy/src/acl.c:1310,1
    - Dst: free
      Src: /src/haproxy/src/acl.c:1313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - cond
    argTypes:
    - struct acl_cond*
    constantsTouched: []
    func_position:
      end: 1314
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1314
    functionName: free_acl_cond
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 3
    functionsReached:
    - free
    - LIST_DELETE
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: free_acl_cond(struct acl_cond *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acl_exec_cond
      Src: /src/haproxy/src/acl.c:1322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1328
      start: 1317
    functionDepth: 2
    functionLinenumber: 1317
    functionLinenumberEnd: 1328
    functionName: smp_fetch_acl
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - acl_exec_cond
    linkageType: ''
    returnType: int
    signature: smp_fetch_acl(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/acl.c:1338,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/acl.c:1339,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/acl.c:1340,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/acl.c:1341,1
    - Dst: find_acl_by_name
      Src: /src/haproxy/src/acl.c:1355,1
    - Dst: find_acl_default
      Src: /src/haproxy/src/acl.c:1356,1
    - Dst: memprintf
      Src: /src/haproxy/src/acl.c:1358,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/acl.c:1365,1
    - Dst: free
      Src: /src/haproxy/src/acl.c:1371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - args
    - err_msg
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 1373
      start: 1330
    functionDepth: 4
    functionLinenumber: 1330
    functionLinenumberEnd: 1373
    functionName: smp_fetch_acl_parse
    functionSourceFile: /src/haproxy/src/acl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - find_acl_default
    - calloc
    - LIST_APPEND
    - free
    - find_acl_by_name
    - LIST_INIT
    linkageType: ''
    returnType: int
    signature: smp_fetch_acl_parse(struct arg *args, char **err_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ev_kqueue.c:42,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ev_kqueue.c:43,1
    - Dst: EV_SET
      Src: /src/haproxy/src/ev_kqueue.c:51,1
    - Dst: EV_SET
      Src: /src/haproxy/src/ev_kqueue.c:52,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_kqueue.c:54,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_kqueue.c:56,1
    - Dst: EV_SET
      Src: /src/haproxy/src/ev_kqueue.c:63,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_kqueue.c:64,1
    - Dst: EV_SET
      Src: /src/haproxy/src/ev_kqueue.c:68,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_kqueue.c:69,1
    - Dst: EV_SET
      Src: /src/haproxy/src/ev_kqueue.c:74,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_kqueue.c:75,1
    - Dst: EV_SET
      Src: /src/haproxy/src/ev_kqueue.c:79,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_kqueue.c:80,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - fd
    - start
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 85
    functionName: _update_fd
    functionSourceFile: /src/haproxy/src/ev_kqueue.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_OR
    - HA_ATOMIC_AND
    - _HA_ATOMIC_AND
    - _HA_ATOMIC_LOAD
    - EV_SET
    linkageType: ''
    returnType: int
    signature: _update_fd(int fd, int start)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - poller
    - fd
    - old_ltid
    - old_tgid
    argTypes:
    - struct poller*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: _do_fixup_tgid_takeover
    functionSourceFile: /src/haproxy/src/ev_kqueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _do_fixup_tgid_takeover(struct poller *poller, const int fd, const
      int old_ltid, const int old_tgid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_grab_tgid
      Src: /src/haproxy/src/ev_kqueue.c:113,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_kqueue.c:119,1
    - Dst: _update_fd
      Src: /src/haproxy/src/ev_kqueue.c:122,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/ev_kqueue.c:126,1
    - Dst: fd_grab_tgid
      Src: /src/haproxy/src/ev_kqueue.c:139,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/ev_kqueue.c:146,1
    - Dst: done_update_polling
      Src: /src/haproxy/src/ev_kqueue.c:150,1
    - Dst: _update_fd
      Src: /src/haproxy/src/ev_kqueue.c:153,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/ev_kqueue.c:157,1
    - Dst: thread_idle_now
      Src: /src/haproxy/src/ev_kqueue.c:160,1
    - Dst: thread_harmless_now
      Src: /src/haproxy/src/ev_kqueue.c:161,1
    - Dst: EV_SET
      Src: /src/haproxy/src/ev_kqueue.c:171,1
    - Dst: kevent
      Src: /src/haproxy/src/ev_kqueue.c:173,1
    - Dst: compute_poll_timeout
      Src: /src/haproxy/src/ev_kqueue.c:178,1
    - Dst: clock_entering_poll
      Src: /src/haproxy/src/ev_kqueue.c:180,1
    - Dst: kevent
      Src: /src/haproxy/src/ev_kqueue.c:188,1
    - Dst: clock_update_local_date
      Src: /src/haproxy/src/ev_kqueue.c:194,1
    - Dst: tick_isset
      Src: /src/haproxy/src/ev_kqueue.c:202,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/ev_kqueue.c:202,1
    - Dst: clock_update_global_date
      Src: /src/haproxy/src/ev_kqueue.c:206,1
    - Dst: fd_leaving_poll
      Src: /src/haproxy/src/ev_kqueue.c:207,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/ev_kqueue.c:216,1
    - Dst: fd_tgid
      Src: /src/haproxy/src/ev_kqueue.c:218,1
    - Dst: EV_SET
      Src: /src/haproxy/src/ev_kqueue.c:225,1
    - Dst: EV_SET
      Src: /src/haproxy/src/ev_kqueue.c:226,1
    - Dst: kevent
      Src: /src/haproxy/src/ev_kqueue.c:227,1
    - Dst: fd_update_events
      Src: /src/haproxy/src/ev_kqueue.c:243,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 87
    argCount: 3
    argNames:
    - p
    - exp
    - wake
    argTypes:
    - struct poller*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 245
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 245
    functionName: _do_poll
    functionSourceFile: /src/haproxy/src/ev_kqueue.c
    functionUses: 0
    functionsReached:
    - thread_harmless_now
    - fd_update_events
    - clock_entering_poll
    - clock_update_global_date
    - done_update_polling
    - fd_drop_tgid
    - thread_idle_now
    - kevent
    - fd_grab_tgid
    - tick_is_expired
    - _HA_ATOMIC_INC
    - clock_update_local_date
    - _HA_ATOMIC_AND
    - fd_leaving_poll
    - fd_tgid
    - _update_fd
    - tick_isset
    - EV_SET
    - compute_poll_timeout
    linkageType: ''
    returnType: void
    signature: _do_poll(struct poller *p, int exp, int wake)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ev_kqueue.c:255,1
    - Dst: kqueue
      Src: /src/haproxy/src/ev_kqueue.c:260,1
    - Dst: fd_reregister_all
      Src: /src/haproxy/src/ev_kqueue.c:270,1
    - Dst: free
      Src: /src/haproxy/src/ev_kqueue.c:274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 277
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 277
    functionName: init_kqueue_per_thread
    functionSourceFile: /src/haproxy/src/ev_kqueue.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - fd_reregister_all
    - kqueue
    linkageType: ''
    returnType: int
    signature: init_kqueue_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/haproxy/src/ev_kqueue.c:282,1
    - Dst: ha_free
      Src: /src/haproxy/src/ev_kqueue.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: deinit_kqueue_per_thread
    functionSourceFile: /src/haproxy/src/ev_kqueue.c
    functionUses: 0
    functionsReached:
    - close
    - ha_free
    linkageType: ''
    returnType: void
    signature: deinit_kqueue_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ev_kqueue.c:301,1
    - Dst: kqueue
      Src: /src/haproxy/src/ev_kqueue.c:305,1
    - Dst: hap_register_per_thread_init
      Src: /src/haproxy/src/ev_kqueue.c:309,1
    - Dst: hap_register_per_thread_deinit
      Src: /src/haproxy/src/ev_kqueue.c:310,1
    - Dst: ha_free
      Src: /src/haproxy/src/ev_kqueue.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 318
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 318
    functionName: _do_init
    functionSourceFile: /src/haproxy/src/ev_kqueue.c
    functionUses: 0
    functionsReached:
    - ha_free
    - hap_register_per_thread_init
    - calloc
    - kqueue
    - hap_register_per_thread_deinit
    linkageType: ''
    returnType: int
    signature: _do_init(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/haproxy/src/ev_kqueue.c:327,1
    - Dst: ha_free
      Src: /src/haproxy/src/ev_kqueue.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 336
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 336
    functionName: _do_term
    functionSourceFile: /src/haproxy/src/ev_kqueue.c
    functionUses: 0
    functionsReached:
    - close
    - ha_free
    linkageType: ''
    returnType: void
    signature: _do_term(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kqueue
      Src: /src/haproxy/src/ev_kqueue.c:346,1
    - Dst: close
      Src: /src/haproxy/src/ev_kqueue.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 351
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 351
    functionName: _do_test
    functionSourceFile: /src/haproxy/src/ev_kqueue.c
    functionUses: 0
    functionsReached:
    - kqueue
    - close
    linkageType: ''
    returnType: int
    signature: _do_test(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kqueue
      Src: /src/haproxy/src/ev_kqueue.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 364
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 364
    functionName: _do_fork
    functionSourceFile: /src/haproxy/src/ev_kqueue.c
    functionUses: 0
    functionsReached:
    - kqueue
    linkageType: ''
    returnType: int
    signature: _do_fork(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 394
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 394
    functionName: _do_register
    functionSourceFile: /src/haproxy/src/ev_kqueue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _do_register(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: cmp_kw_entries
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: cmp_kw_entries(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/cli.c:137,1
    - Dst: ha_free
      Src: /src/haproxy/src/cli.c:145,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:147,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:153,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:168,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/cli.c:177,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/cli.c:179,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/cli.c:181,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/cli.c:183,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/cli.c:184,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/cli.c:187,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/cli.c:189,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:201,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:215,1
    - Dst: memset
      Src: /src/haproxy/src/cli.c:232,1
    - Dst: update_word_fingerprint
      Src: /src/haproxy/src/cli.c:234,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:235,1
    - Dst: memset
      Src: /src/haproxy/src/cli.c:238,1
    - Dst: update_word_fingerprint
      Src: /src/haproxy/src/cli.c:240,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:241,1
    - Dst: word_fingerprint_distance
      Src: /src/haproxy/src/cli.c:244,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:280,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:307,1
    - Dst: qsort
      Src: /src/haproxy/src/cli.c:316,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:319,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/cli.c:322,1
    - Dst: chunk_init
      Src: /src/haproxy/src/cli.c:327,1
    - Dst: chunk_dup
      Src: /src/haproxy/src/cli.c:328,1
    - Dst: cli_msg
      Src: /src/haproxy/src/cli.c:331,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 121
    argCount: 2
    argNames:
    - appctx
    - args
    argTypes:
    - struct appctx*
    - char**
    constantsTouched: []
    func_position:
      end: 333
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 333
    functionName: cli_gen_usage_msg
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - update_word_fingerprint
    - ha_free
    - chunk_init
    - list_for_each_entry
    - strcmp
    - chunk_strcat
    - strlen
    - chunk_appendf
    - get_trash_chunk
    - cli_msg
    - chunk_dup
    - word_fingerprint_distance
    - memset
    - qsort
    linkageType: ''
    returnType: char
    signature: '*cli_gen_usage_msg(struct appctx *appctx, char * const *args)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cli.c:343,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:346,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - args
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 367
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 367
    functionName: cli_find_kw
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strcmp
    - LIST_ISEMPTY
    linkageType: ''
    returnType: struct cli_kw
    signature: '* cli_find_kw(char **args)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cli.c:376,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:379,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:390,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - args
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 400
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 400
    functionName: cli_find_kw_exact
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strcmp
    - LIST_ISEMPTY
    linkageType: ''
    returnType: struct cli_kw
    signature: '* cli_find_kw_exact(char **args)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cli.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw_list
    argTypes:
    - struct cli_kw_list*
    constantsTouched: []
    func_position:
      end: 405
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 405
    functionName: cli_register_kw
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: cli_register_kw(struct cli_kw_list *kw_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:415,1
    - Dst: strordered
      Src: /src/haproxy/src/cli.c:420,1
    - Dst: printf
      Src: /src/haproxy/src/cli.c:431,1
    - Dst: printf
      Src: /src/haproxy/src/cli.c:434,1
    - Dst: printf
      Src: /src/haproxy/src/cli.c:436,1
    - Dst: printf
      Src: /src/haproxy/src/cli.c:438,1
    - Dst: printf
      Src: /src/haproxy/src/cli.c:440,1
    - Dst: printf
      Src: /src/haproxy/src/cli.c:441,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 443
    functionName: cli_list_keywords
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strordered
    - printf
    linkageType: ''
    returnType: void
    signature: cli_list_keywords(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_new_proxy
      Src: /src/haproxy/src/cli.c:453,1
    - Dst: ha_free
      Src: /src/haproxy/src/cli.c:455,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/cli.c:462,1
    - Dst: copy_file_name
      Src: /src/haproxy/src/cli.c:463,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/cli.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - name
    - file
    - line
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 472
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 472
    functionName: cli_alloc_fe
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - ha_free
    - eb32_insert
    - MS_TO_TICKS
    - copy_file_name
    - alloc_new_proxy
    linkageType: ''
    returnType: struct proxy
    signature: '*cli_alloc_fe(const char *name, const char *file, int line)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:487,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:491,1
    - Dst: cli_alloc_fe
      Src: /src/haproxy/src/cli.c:496,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:497,1
    - Dst: bind_conf_alloc
      Src: /src/haproxy/src/cli.c:502,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cli.c:502,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:504,1
    - Dst: str2listener
      Src: /src/haproxy/src/cli.c:510,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:511,1
    - Dst: bind_find_kw
      Src: /src/haproxy/src/cli.c:522,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:525,1
    - Dst: struct bind_kw*::parse
      Src: /src/haproxy/src/cli.c:530,1
    - Dst: indent_msg
      Src: /src/haproxy/src/cli.c:537,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:538,1
    - Dst: ha_free
      Src: /src/haproxy/src/cli.c:539,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:544,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:546,1
    - Dst: bind_find_best_kw
      Src: /src/haproxy/src/cli.c:555,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:557,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:560,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:569,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:573,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:578,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:583,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:588,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:593,1
    - Dst: cli_alloc_fe
      Src: /src/haproxy/src/cli.c:597,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:598,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/cli.c:602,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:604,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:608,1
    - Dst: cli_alloc_fe
      Src: /src/haproxy/src/cli.c:613,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:614,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:620,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:621,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:625,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 105
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 629
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 629
    functionName: cli_parse_global
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - indent_msg
    - ha_free
    - bind_find_best_kw
    - ha_warning
    - strcmp
    - list_for_each_entry
    - bind_find_kw
    - cli_alloc_fe
    - MS_TO_TICKS
    - bind_conf_alloc
    - struct bind_kw*::parse
    - str2listener
    - xprt_get
    linkageType: ''
    returnType: int
    signature: "cli_parse_global(char **args, int section_type, struct proxy *curpx,\n
      \                           const struct proxy *defpx, const char *file, int
      line,\n                            char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/cli.c:639,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:643,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:646,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:658,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:660,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/cli.c:663,1
    - Dst: port_to_str
      Src: /src/haproxy/src/cli.c:664,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:665,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/cli.c:667,1
    - Dst: port_to_str
      Src: /src/haproxy/src/cli.c:668,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:669,1
    - Dst: setenv
      Src: /src/haproxy/src/cli.c:677,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - frontend
    - varname
    argTypes:
    - struct proxy*
    - char*
    constantsTouched: []
    func_position:
      end: 682
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 682
    functionName: listeners_setenv
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - addr_to_str
    - setenv
    - chunk_appendf
    - get_trash_chunk
    - port_to_str
    linkageType: ''
    returnType: int
    signature: listeners_setenv(struct proxy *frontend, const char *varname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listeners_setenv
      Src: /src/haproxy/src/cli.c:686,1
    - Dst: listeners_setenv
      Src: /src/haproxy/src/cli.c:688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 692
      start: 684
    functionDepth: 3
    functionLinenumber: 684
    functionLinenumberEnd: 692
    functionName: cli_socket_setenv
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - listeners_setenv
    linkageType: ''
    returnType: int
    signature: cli_socket_setenv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - appctx
    - level
    argTypes:
    - struct appctx*
    - int
    constantsTouched: []
    func_position:
      end: 709
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 709
    functionName: cli_has_level
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 3
    functionsReached:
    - cli_err
    linkageType: ''
    returnType: int
    signature: cli_has_level(struct appctx *appctx, int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - level
    argTypes:
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 718
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 718
    functionName: pcli_has_level
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: pcli_has_level(struct stream *s, int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_li
      Src: /src/haproxy/src/cli.c:725,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/cli.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: cli_get_severity_output
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - appctx_strm
    - strm_li
    linkageType: ''
    returnType: int
    signature: cli_get_severity_output(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_head
      Src: /src/haproxy/src/cli.c:745,1
    - Dst: b_tail
      Src: /src/haproxy/src/cli.c:746,1
    - Dst: strspn
      Src: /src/haproxy/src/cli.c:755,1
    - Dst: strncmp
      Src: /src/haproxy/src/cli.c:761,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:761,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:765,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:766,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:771,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:771,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:772,1
    - Dst: strcspn
      Src: /src/haproxy/src/cli.c:779,1
    - Dst: b_tail
      Src: /src/haproxy/src/cli.c:808,1
    - Dst: cli_find_kw
      Src: /src/haproxy/src/cli.c:815,1
    - Dst: cli_gen_usage_msg
      Src: /src/haproxy/src/cli.c:821,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:827,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:832,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/cli.c:837,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/cli.c:839,1
    - Dst: struct cli_kw*::parse
      Src: /src/haproxy/src/cli.c:844,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 79
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 857
      start: 739
    functionDepth: 3
    functionLinenumber: 739
    functionLinenumberEnd: 857
    functionName: cli_parse_request
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - strspn
    - strncmp
    - strlen
    - strcmp
    - cli_find_kw
    - cli_err
    - cli_gen_usage_msg
    - strcspn
    - struct cli_kw*::parse
    - b_head
    - b_tail
    - mark_tainted
    linkageType: ''
    returnType: int
    signature: cli_parse_request(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/cli.c:865,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/cli.c:866,1
    - Dst: likely
      Src: /src/haproxy/src/cli.c:868,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:872,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/cli.c:873,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/cli.c:878,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/cli.c:881,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:884,1
    - Dst: ist
      Src: /src/haproxy/src/cli.c:893,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/cli.c:896,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/cli.c:897,1
    - Dst: ist
      Src: /src/haproxy/src/cli.c:897,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/cli.c:899,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - appctx
    - msg
    - severity
    - severity_output
    argTypes:
    - struct appctx*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 900
      start: 860
    functionDepth: 2
    functionLinenumber: 860
    functionLinenumberEnd: 900
    functionName: cli_output_msg
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - chunk_istcat
    - chunk_reset
    - ha_warning
    - ist
    - chunk_printf
    - get_trash_chunk
    - applet_putchk
    - likely
    linkageType: ''
    returnType: int
    signature: cli_output_msg(struct appctx *appctx, const char *msg, int severity,
      int severity_output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/cli.c:904,1
    - Dst: strm_li
      Src: /src/haproxy/src/cli.c:905,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/cli.c:905,1
    - Dst: applet_reset_svcctx
      Src: /src/haproxy/src/cli.c:908,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/cli.c:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 916
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 916
    functionName: cli_init
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - applet_reset_svcctx
    - strm_li
    - applet_need_more_data
    - __sc_strm
    linkageType: ''
    returnType: int
    signature: cli_init(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_init
      Src: /src/haproxy/src/cli.c:925,1
    - Dst: b_del
      Src: /src/haproxy/src/cli.c:929,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/cli.c:935,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/cli.c:936,1
    - Dst: b_data
      Src: /src/haproxy/src/cli.c:936,1
    - Dst: b_tail
      Src: /src/haproxy/src/cli.c:945,1
    - Dst: b_getdelim
      Src: /src/haproxy/src/cli.c:947,1
    - Dst: b_room
      Src: /src/haproxy/src/cli.c:947,1
    - Dst: b_getline
      Src: /src/haproxy/src/cli.c:949,1
    - Dst: b_room
      Src: /src/haproxy/src/cli.c:949,1
    - Dst: b_room
      Src: /src/haproxy/src/cli.c:952,1
    - Dst: b_room
      Src: /src/haproxy/src/cli.c:952,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:953,1
    - Dst: applet_set_error
      Src: /src/haproxy/src/cli.c:954,1
    - Dst: b_reset
      Src: /src/haproxy/src/cli.c:955,1
    - Dst: applet_set_eos
      Src: /src/haproxy/src/cli.c:958,1
    - Dst: applet_set_error
      Src: /src/haproxy/src/cli.c:959,1
    - Dst: b_reset
      Src: /src/haproxy/src/cli.c:960,1
    - Dst: b_add
      Src: /src/haproxy/src/cli.c:974,1
    - Dst: b_add
      Src: /src/haproxy/src/cli.c:984,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:989,1
    - Dst: strncmp
      Src: /src/haproxy/src/cli.c:991,1
    - Dst: b_sub
      Src: /src/haproxy/src/cli.c:993,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:993,1
    - Dst: b_tail
      Src: /src/haproxy/src/cli.c:994,1
    - Dst: b_tail
      Src: /src/haproxy/src/cli.c:1015,1
    - Dst: b_head
      Src: /src/haproxy/src/cli.c:1015,1
    - Dst: strncmp
      Src: /src/haproxy/src/cli.c:1022,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:1022,1
    - Dst: strncpy
      Src: /src/haproxy/src/cli.c:1031,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:1031,1
    - Dst: b_add
      Src: /src/haproxy/src/cli.c:1033,1
    - Dst: b_del
      Src: /src/haproxy/src/cli.c:1047,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 84
    argCount: 4
    argNames:
    - appctx
    - buf
    - count
    - flags
    argTypes:
    - struct appctx*
    - struct buffer*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 1051
      start: 918
    functionDepth: 2
    functionLinenumber: 918
    functionLinenumberEnd: 1051
    functionName: cli_snd_buf
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - b_room
    - b_getdelim
    - strncmp
    - applet_set_eos
    - b_head
    - cli_init
    - applet_set_error
    - b_sub
    - b_tail
    - b_reset
    - strlen
    - strncpy
    - b_slow_realign
    - b_data
    - b_space_wraps
    - cli_err
    - b_getline
    - b_add
    - b_del
    linkageType: ''
    returnType: size_t
    signature: cli_snd_buf(struct appctx *appctx, struct buffer *buf, size_t count,
      unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_fl_test
      Src: /src/haproxy/src/cli.c:1063,1
    - Dst: appctx_get_buf
      Src: /src/haproxy/src/cli.c:1066,1
    - Dst: unlikely
      Src: /src/haproxy/src/cli.c:1070,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/cli.c:1070,1
    - Dst: cli_init
      Src: /src/haproxy/src/cli.c:1078,1
    - Dst: applet_set_eos
      Src: /src/haproxy/src/cli.c:1081,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/cli.c:1090,1
    - Dst: buffer_almost_full
      Src: /src/haproxy/src/cli.c:1100,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/cli.c:1101,1
    - Dst: cli_parse_request
      Src: /src/haproxy/src/cli.c:1109,1
    - Dst: b_reset
      Src: /src/haproxy/src/cli.c:1110,1
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/cli.c:1128,1
    - Dst: usermsgs_str
      Src: /src/haproxy/src/cli.c:1147,1
    - Dst: cli_output_msg
      Src: /src/haproxy/src/cli.c:1154,1
    - Dst: cli_get_severity_output
      Src: /src/haproxy/src/cli.c:1154,1
    - Dst: ha_free
      Src: /src/haproxy/src/cli.c:1157,1
    - Dst: usermsgs_clr
      Src: /src/haproxy/src/cli.c:1161,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/cli.c:1166,1
    - Dst: struct appctx*::io_handler
      Src: /src/haproxy/src/cli.c:1175,1
    - Dst: struct appctx*::io_release
      Src: /src/haproxy/src/cli.c:1179,1
    - Dst: applet_set_error
      Src: /src/haproxy/src/cli.c:1189,1
    - Dst: b_data
      Src: /src/haproxy/src/cli.c:1203,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/cli.c:1206,1
    - Dst: snprintf
      Src: /src/haproxy/src/cli.c:1207,1
    - Dst: applet_putstr
      Src: /src/haproxy/src/cli.c:1220,1
    - Dst: applet_reset_svcctx
      Src: /src/haproxy/src/cli.c:1221,1
    - Dst: applet_wont_consume
      Src: /src/haproxy/src/cli.c:1228,1
    - Dst: applet_set_eoi
      Src: /src/haproxy/src/cli.c:1238,1
    - Dst: applet_reset_svcctx
      Src: /src/haproxy/src/cli.c:1244,1
    - Dst: applet_will_consume
      Src: /src/haproxy/src/cli.c:1246,1
    - Dst: applet_expect_data
      Src: /src/haproxy/src/cli.c:1247,1
    - Dst: b_reset
      Src: /src/haproxy/src/cli.c:1265,1
    - Dst: applet_fl_clr
      Src: /src/haproxy/src/cli.c:1266,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 144
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1061
    functionDepth: 4
    functionLinenumber: 1061
    functionLinenumberEnd: 1269
    functionName: cli_io_handler
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - ns_to_sec
    - applet_fl_clr
    - ha_free
    - applet_set_eoi
    - applet_set_eos
    - buffer_almost_full
    - applet_will_consume
    - cli_init
    - appctx_get_buf
    - cli_get_severity_output
    - applet_set_error
    - applet_reserve_svcctx
    - struct appctx*::io_release
    - struct appctx*::io_handler
    - se_fl_test
    - applet_expect_data
    - applet_reset_svcctx
    - applet_wont_consume
    - b_reset
    - usermsgs_clr
    - cli_output_msg
    - snprintf
    - b_data
    - cli_parse_request
    - applet_fl_test
    - applet_putstr
    - applet_fl_set
    - unlikely
    - usermsgs_str
    linkageType: ''
    returnType: void
    signature: cli_io_handler(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct appctx*::io_release
      Src: /src/haproxy/src/cli.c:1278,1
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/cli.c:1282,1
    - Dst: ha_free
      Src: /src/haproxy/src/cli.c:1284,1
    - Dst: usermsgs_clr
      Src: /src/haproxy/src/cli.c:1287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1289
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1289
    functionName: cli_release_handler
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - applet_reserve_svcctx
    - struct appctx*::io_release
    - ha_free
    - usermsgs_clr
    linkageType: ''
    returnType: void
    signature: cli_release_handler(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/cli.c:1301,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/cli.c:1307,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/cli.c:1309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1320
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1320
    functionName: cli_io_handler_show_env
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - applet_putchk
    - chunk_reset
    - chunk_printf
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_env(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/cli.c:1335,1
    - Dst: thread_isolate
      Src: /src/haproxy/src/cli.c:1340,1
    - Dst: objt_listener
      Src: /src/haproxy/src/cli.c:1380,1
    - Dst: objt_server
      Src: /src/haproxy/src/cli.c:1381,1
    - Dst: objt_proxy
      Src: /src/haproxy/src/cli.c:1382,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/cli.c:1383,1
    - Dst: atleast2
      Src: /src/haproxy/src/cli.c:1384,1
    - Dst: objt_listener
      Src: /src/haproxy/src/cli.c:1402,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/cli.c:1422,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/cli.c:1448,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1451,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1454,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1457,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1460,1
    - Dst: getsockname
      Src: /src/haproxy/src/cli.c:1467,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1470,1
    - Dst: ntohs
      Src: /src/haproxy/src/cli.c:1470,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1472,1
    - Dst: ntohs
      Src: /src/haproxy/src/cli.c:1472,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1474,1
    - Dst: getpeername
      Src: /src/haproxy/src/cli.c:1478,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1480,1
    - Dst: ntohs
      Src: /src/haproxy/src/cli.c:1480,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1482,1
    - Dst: ntohs
      Src: /src/haproxy/src/cli.c:1482,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1487,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1489,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1491,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1494,1
    - Dst: struct mux_ops*::show_fd
      Src: /src/haproxy/src/cli.c:1498,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1501,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1503,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1506,1
    - Dst: struct xprt_ops*::show_fd
      Src: /src/haproxy/src/cli.c:1508,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1515,1
    - Dst: listener_state_str
      Src: /src/haproxy/src/cli.c:1516,1
    - Dst: getsockname
      Src: /src/haproxy/src/cli.c:1520,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1523,1
    - Dst: ntohs
      Src: /src/haproxy/src/cli.c:1523,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1525,1
    - Dst: ntohs
      Src: /src/haproxy/src/cli.c:1525,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1527,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1531,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1534,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1538,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/cli.c:1540,1
    - Dst: thread_release
      Src: /src/haproxy/src/cli.c:1555,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 130
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1557
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1557
    functionName: cli_io_handler_show_fd
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - atleast2
    - getpeername
    - objt_server
    - getsockname
    - struct xprt_ops*::show_fd
    - objt_listener
    - thread_isolate
    - thread_release
    - objt_proxy
    - chunk_printf
    - chunk_appendf
    - conn_is_back
    - applet_putchk
    - struct mux_ops*::show_fd
    - ntohs
    - listener_state_str
    - resolve_sym_name
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_fd(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/cli.c:1566,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/cli.c:1572,1
    - Dst: applet_putstr
      Src: /src/haproxy/src/cli.c:1576,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/cli.c:1578,1
    - Dst: typeof
      Src: /src/haproxy/src/cli.c:1578,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/cli.c:1581,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/cli.c:1585,1
    - Dst: typeof
      Src: /src/haproxy/src/cli.c:1585,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/cli.c:1587,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1599,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1601,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/cli.c:1604,1
    - Dst: port_to_str
      Src: /src/haproxy/src/cli.c:1605,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1606,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/cli.c:1608,1
    - Dst: port_to_str
      Src: /src/haproxy/src/cli.c:1609,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1610,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1612,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1614,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1617,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1619,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1621,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1623,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:1625,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/cli.c:1627,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1638
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1638
    functionName: cli_io_handler_show_cli_sock
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - addr_to_str
    - applet_putstr
    - chunk_appendf
    - applet_putchk
    - typeof
    - list_for_each_entry_from
    - applet_reserve_svcctx
    - port_to_str
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_cli_sock(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/cli.c:1648,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/cli.c:1652,1
    - Dst: strncmp
      Src: /src/haproxy/src/cli.c:1661,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:1666,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1672
      start: 1646
    functionDepth: 2
    functionLinenumber: 1646
    functionLinenumberEnd: 1672
    functionName: cli_parse_show_env
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - strncmp
    - cli_err
    - applet_reserve_svcctx
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_show_env(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/cli.c:1680,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/cli.c:1684,1
    - Dst: isdigit
      Src: /src/haproxy/src/cli.c:1693,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:1707,1
    - Dst: atoi
      Src: /src/haproxy/src/cli.c:1723,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1728
      start: 1678
    functionDepth: 2
    functionLinenumber: 1678
    functionLinenumberEnd: 1728
    functionName: cli_parse_show_fd
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - atoi
    - cli_err
    - cli_has_level
    - applet_reserve_svcctx
    - isdigit
    linkageType: ''
    returnType: int
    signature: cli_parse_show_fd(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_strm
      Src: /src/haproxy/src/cli.c:1733,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1735,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:1740,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/cli.c:1742,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:1744,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/cli.c:1746,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/cli.c:1747,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:1751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1752
      start: 1731
    functionDepth: 1
    functionLinenumber: 1731
    functionLinenumberEnd: 1752
    functionName: cli_parse_set_timeout
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - appctx_strm
    - strcmp
    - cli_err
    - task_wakeup
    - MS_TO_TICKS
    - parse_time_err
    linkageType: ''
    returnType: int
    signature: cli_parse_set_timeout(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/cli.c:1759,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:1763,1
    - Dst: atoi
      Src: /src/haproxy/src/cli.c:1765,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:1767,1
    - Dst: dequeue_all_listeners
      Src: /src/haproxy/src/cli.c:1776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1779
      start: 1755
    functionDepth: 2
    functionLinenumber: 1755
    functionLinenumberEnd: 1779
    functionName: cli_parse_set_maxconn_global
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - dequeue_all_listeners
    - cli_err
    - atoi
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_set_maxconn_global(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1783,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1787,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - target
    - argument
    argTypes:
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 1796
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1796
    functionName: set_severity_output
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: set_severity_output(int *target, char *argument)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1802,1
    - Dst: set_severity_output
      Src: /src/haproxy/src/cli.c:1805,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:1808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1809
      start: 1799
    functionDepth: 1
    functionLinenumber: 1799
    functionLinenumberEnd: 1809
    functionName: cli_parse_set_severity_output
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cli_err
    - set_severity_output
    linkageType: ''
    returnType: int
    signature: cli_parse_set_severity_output(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_msg
      Src: /src/haproxy/src/cli.c:1816,1
    - Dst: cli_msg
      Src: /src/haproxy/src/cli.c:1818,1
    - Dst: cli_msg
      Src: /src/haproxy/src/cli.c:1820,1
    - Dst: cli_msg
      Src: /src/haproxy/src/cli.c:1822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1823
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1823
    functionName: cli_parse_show_lvl
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - cli_msg
    linkageType: ''
    returnType: int
    signature: cli_parse_show_lvl(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1829,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1832,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/cli.c:1833,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1839,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/cli.c:1840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1848
      start: 1826
    functionDepth: 2
    functionLinenumber: 1826
    functionLinenumberEnd: 1848
    functionName: cli_parse_set_lvl
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_set_lvl(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1859,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/cli.c:1862,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1865,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1869,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1873,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:1882,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/cli.c:1884,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1888,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1891
      start: 1852
    functionDepth: 2
    functionLinenumber: 1852
    functionLinenumberEnd: 1891
    functionName: cli_parse_expert_experimental_mode
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - cli_dynmsg
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_expert_experimental_mode(char **args, char *payload, struct
      appctx *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/cli.c:1898,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:1898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1899
      start: 1894
    functionDepth: 1
    functionLinenumber: 1894
    functionLinenumberEnd: 1899
    functionName: cli_parse_show_version
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynmsg
    linkageType: ''
    returnType: int
    signature: cli_parse_show_version(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1904
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1904
    functionName: cli_parse_default
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: cli_parse_default(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1912,1
    - Dst: atoll
      Src: /src/haproxy/src/cli.c:1915,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:1917,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/cli.c:1921,1
    - Dst: ha_random32
      Src: /src/haproxy/src/cli.c:1925,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1928,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:1931,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:1938,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1944
      start: 1907
    functionDepth: 1
    functionLinenumber: 1907
    functionLinenumberEnd: 1944
    functionName: cli_parse_set_anon
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cli_err
    - atoll
    - HA_ATOMIC_LOAD
    - ha_random32
    linkageType: ''
    returnType: int
    signature: cli_parse_set_anon(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/cli.c:1951,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:1952,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:1954,1
    - Dst: atoll
      Src: /src/haproxy/src/cli.c:1956,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:1958,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/cli.c:1960,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1962
      start: 1947
    functionDepth: 2
    functionLinenumber: 1947
    functionLinenumberEnd: 1962
    functionName: cli_parse_set_global_key
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - cli_err
    - HA_ATOMIC_STORE
    - atoll
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_set_global_key(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/cli.c:1977,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:1977,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/cli.c:1980,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:1980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1984
      start: 1965
    functionDepth: 1
    functionLinenumber: 1965
    functionLinenumberEnd: 1984
    functionName: cli_parse_show_anon
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynmsg
    linkageType: ''
    returnType: int
    signature: cli_parse_show_anon(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/cli.c:1993,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1996,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1996,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1998,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:1998,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2001,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2001,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2004,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2004,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:2009,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 2017
      start: 1987
    functionDepth: 2
    functionLinenumber: 1987
    functionLinenumberEnd: 2017
    functionName: cli_parse_set_ratelimit
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cli_err
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_set_ratelimit(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/cli.c:2040,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/cli.c:2044,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:2048,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/cli.c:2050,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2053,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:2056,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2059,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:2063,1
    - Dst: ist
      Src: /src/haproxy/src/cli.c:2065,1
    - Dst: istsplit
      Src: /src/haproxy/src/cli.c:2066,1
    - Dst: istlen
      Src: /src/haproxy/src/cli.c:2067,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:2068,1
    - Dst: istdup
      Src: /src/haproxy/src/cli.c:2070,1
    - Dst: istdup
      Src: /src/haproxy/src/cli.c:2071,1
    - Dst: isttest
      Src: /src/haproxy/src/cli.c:2072,1
    - Dst: isttest
      Src: /src/haproxy/src/cli.c:2072,1
    - Dst: free
      Src: /src/haproxy/src/cli.c:2073,1
    - Dst: istptr
      Src: /src/haproxy/src/cli.c:2073,1
    - Dst: free
      Src: /src/haproxy/src/cli.c:2074,1
    - Dst: istptr
      Src: /src/haproxy/src/cli.c:2074,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:2075,1
    - Dst: ist0
      Src: /src/haproxy/src/cli.c:2078,1
    - Dst: ist0
      Src: /src/haproxy/src/cli.c:2079,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2094,1
    - Dst: cli_msg
      Src: /src/haproxy/src/cli.c:2095,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:2097,1
    - Dst: tick_add
      Src: /src/haproxy/src/cli.c:2101,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 2105
      start: 2038
    functionDepth: 2
    functionLinenumber: 2038
    functionLinenumberEnd: 2105
    functionName: cli_parse_wait
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - istsplit
    - tick_add
    - strcmp
    - cli_err
    - istlen
    - istdup
    - ist
    - isttest
    - istptr
    - free
    - cli_msg
    - cli_has_level
    - parse_time_err
    - applet_reserve_svcctx
    - ist0
    linkageType: ''
    returnType: int
    signature: cli_parse_wait(char **args, char *payload, struct appctx *appctx, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_isset
      Src: /src/haproxy/src/cli.c:2121,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/cli.c:2122,1
    - Dst: srv_check_for_deletion
      Src: /src/haproxy/src/cli.c:2129,1
    - Dst: tick_remain
      Src: /src/haproxy/src/cli.c:2144,1
    - Dst: tick_remain
      Src: /src/haproxy/src/cli.c:2156,1
    - Dst: tick_add
      Src: /src/haproxy/src/cli.c:2164,1
    - Dst: unlikely
      Src: /src/haproxy/src/cli.c:2168,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/cli.c:2168,1
    - Dst: b_data
      Src: /src/haproxy/src/cli.c:2168,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2174
      start: 2114
    functionDepth: 1
    functionLinenumber: 2114
    functionLinenumberEnd: 2174
    functionName: cli_io_handler_wait
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - tick_is_expired
    - se_fl_test
    - srv_check_for_deletion
    - tick_add
    - tick_remain
    - b_data
    - tick_isset
    - unlikely
    linkageType: ''
    returnType: int
    signature: cli_io_handler_wait(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/cli.c:2192,1
    - Dst: cli_msg
      Src: /src/haproxy/src/cli.c:2195,1
    - Dst: cli_err
      Src: /src/haproxy/src/cli.c:2197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2198
      start: 2178
    functionDepth: 1
    functionLinenumber: 2178
    functionLinenumberEnd: 2198
    functionName: cli_release_wait
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - cli_err
    - ha_free
    - cli_msg
    linkageType: ''
    returnType: void
    signature: cli_release_wait(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:2204,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2207,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:2210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2216
      start: 2201
    functionDepth: 1
    functionLinenumber: 2201
    functionLinenumberEnd: 2216
    functionName: bind_parse_expose_fd
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: bind_parse_expose_fd(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:2222,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2226,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2229,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2232,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:2236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2242
      start: 2219
    functionDepth: 1
    functionLinenumber: 2219
    functionLinenumberEnd: 2242
    functionName: bind_parse_level
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: bind_parse_level(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:2247,1
    - Dst: set_severity_output
      Src: /src/haproxy/src/cli.c:2251,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:2254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2258
      start: 2244
    functionDepth: 1
    functionLinenumber: 2244
    functionLinenumberEnd: 2258
    functionName: bind_parse_severity_output
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - set_severity_output
    linkageType: ''
    returnType: int
    signature: bind_parse_severity_output(char **args, int cur_arg, struct proxy *px,
      struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/cli.c:2267,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/cli.c:2268,1
    - Dst: sc_conn
      Src: /src/haproxy/src/cli.c:2269,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/cli.c:2269,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:2285,1
    - Dst: fcntl
      Src: /src/haproxy/src/cli.c:2292,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:2294,1
    - Dst: malloc
      Src: /src/haproxy/src/cli.c:2297,1
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/cli.c:2297,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:2299,1
    - Dst: fcntl
      Src: /src/haproxy/src/cli.c:2302,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:2303,1
    - Dst: setsockopt
      Src: /src/haproxy/src/cli.c:2306,1
    - Dst: strm_li
      Src: /src/haproxy/src/cli.c:2309,1
    - Dst: memset
      Src: /src/haproxy/src/cli.c:2311,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:2321,1
    - Dst: sendmsg
      Src: /src/haproxy/src/cli.c:2330,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:2332,1
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/cli.c:2338,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/haproxy/src/cli.c:2339,1
    - Dst: CMSG_LEN
      Src: /src/haproxy/src/cli.c:2340,1
    - Dst: CMSG_DATA
      Src: /src/haproxy/src/cli.c:2343,1
    - Dst: malloc
      Src: /src/haproxy/src/cli.c:2355,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:2357,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/cli.c:2368,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:2381,1
    - Dst: memcpy
      Src: /src/haproxy/src/cli.c:2398,1
    - Dst: memcpy
      Src: /src/haproxy/src/cli.c:2404,1
    - Dst: memset
      Src: /src/haproxy/src/cli.c:2408,1
    - Dst: sendmsg
      Src: /src/haproxy/src/cli.c:2414,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:2415,1
    - Dst: recv
      Src: /src/haproxy/src/cli.c:2421,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:2425,1
    - Dst: CMSG_LEN
      Src: /src/haproxy/src/cli.c:2438,1
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/cli.c:2439,1
    - Dst: sendmsg
      Src: /src/haproxy/src/cli.c:2440,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:2441,1
    - Dst: recv
      Src: /src/haproxy/src/cli.c:2447,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:2451,1
    - Dst: fcntl
      Src: /src/haproxy/src/cli.c:2457,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cli.c:2458,1
    - Dst: applet_set_eoi
      Src: /src/haproxy/src/cli.c:2459,1
    - Dst: free
      Src: /src/haproxy/src/cli.c:2461,1
    - Dst: free
      Src: /src/haproxy/src/cli.c:2462,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 136
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 2464
      start: 2261
    functionDepth: 1
    functionLinenumber: 2261
    functionLinenumberEnd: 2464
    functionName: _getsocks
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - applet_set_eoi
    - ha_warning
    - memset
    - CMSG_DATA
    - free
    - CMSG_SPACE
    - __sc_strm
    - CMSG_FIRSTHDR
    - setsockopt
    - CMSG_LEN
    - strlen
    - recv
    - sc_conn
    - appctx_sc
    - malloc
    - fcntl
    - sc_opposite
    - strm_li
    - sendmsg
    - memcpy
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: _getsocks(char **args, char *payload, struct appctx *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_gen_usage_msg
      Src: /src/haproxy/src/cli.c:2470,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2473,1
    - Dst: applet_set_eoi
      Src: /src/haproxy/src/cli.c:2481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 2486
      start: 2466
    functionDepth: 3
    functionLinenumber: 2466
    functionLinenumberEnd: 2486
    functionName: cli_parse_simple
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cli_gen_usage_msg
    - applet_set_eoi
    linkageType: ''
    returnType: int
    signature: cli_parse_simple(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/cli.c:2492,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/cli.c:2497,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:2499,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:2502,1
    - Dst: cli_msg
      Src: /src/haproxy/src/cli.c:2504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 2507
      start: 2488
    functionDepth: 1
    functionLinenumber: 2488
    functionLinenumberEnd: 2507
    functionName: cli_parse_echo
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - cli_msg
    - chunk_reset
    - chunk_printf
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: cli_parse_echo(char **args, char *payload, struct appctx *appctx, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/cli.c:2516,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2516,1
    - Dst: atoi
      Src: /src/haproxy/src/cli.c:2519,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:2521,1
    - Dst: stop_listener
      Src: /src/haproxy/src/cli.c:2526,1
    - Dst: kill
      Src: /src/haproxy/src/cli.c:2533,1
    - Dst: handle_pidfile
      Src: /src/haproxy/src/cli.c:2544,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cli.c:2545,1
    - Dst: exit
      Src: /src/haproxy/src/cli.c:2546,1
    - Dst: tell_old_pids
      Src: /src/haproxy/src/cli.c:2554,1
    - Dst: write
      Src: /src/haproxy/src/cli.c:2558,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:2558,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cli.c:2559,1
    - Dst: strerror
      Src: /src/haproxy/src/cli.c:2559,1
    - Dst: exit
      Src: /src/haproxy/src/cli.c:2560,1
    - Dst: close
      Src: /src/haproxy/src/cli.c:2562,1
    - Dst: ha_notice
      Src: /src/haproxy/src/cli.c:2567,1
    - Dst: sd_notifyf
      Src: /src/haproxy/src/cli.c:2570,1
    - Dst: getpid
      Src: /src/haproxy/src/cli.c:2570,1
    - Dst: getenv
      Src: /src/haproxy/src/cli.c:2578,1
    - Dst: stdio_quiet
      Src: /src/haproxy/src/cli.c:2579,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 2585
      start: 2509
    functionDepth: 1
    functionLinenumber: 2509
    functionLinenumberEnd: 2585
    functionName: _send_status
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - write
    - stdio_quiet
    - atoi
    - getpid
    - sd_notifyf
    - handle_pidfile
    - BUG_ON
    - close
    - kill
    - strerror
    - list_for_each_entry
    - strcmp
    - exit
    - strlen
    - stop_listener
    - ha_notice
    - getenv
    - tell_old_pids
    linkageType: ''
    returnType: int
    signature: _send_status(char **args, char *payload, struct appctx *appctx, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/cli.c:2589,1
    - Dst: sc_oc
      Src: /src/haproxy/src/cli.c:2590,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:2596,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/cli.c:2601,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:2602,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:2606,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:2617,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:2627,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:2632,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:2636,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:2640,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:2643,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:2646,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:2649,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:2651,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cli.c:2654,1
    - Dst: co_inject
      Src: /src/haproxy/src/cli.c:2658,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2659
      start: 2587
    functionDepth: 2
    functionLinenumber: 2587
    functionLinenumberEnd: 2659
    functionName: pcli_write_prompt
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - ns_to_sec
    - co_inject
    - list_for_each_entry
    - chunk_appendf
    - get_trash_chunk
    - sc_oc
    linkageType: ''
    returnType: void
    signature: pcli_write_prompt(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/cli.c:2667,1
    - Dst: chunk_initstr
      Src: /src/haproxy/src/cli.c:2671,1
    - Dst: likely
      Src: /src/haproxy/src/cli.c:2673,1
    - Dst: co_inject
      Src: /src/haproxy/src/cli.c:2674,1
    - Dst: channel_erase
      Src: /src/haproxy/src/cli.c:2676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - msg
    argTypes:
    - struct stream*
    - char*
    constantsTouched: []
    func_position:
      end: 2678
      start: 2665
    functionDepth: 2
    functionLinenumber: 2665
    functionLinenumberEnd: 2678
    functionName: pcli_error
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - co_inject
    - channel_erase
    - get_trash_chunk
    - chunk_initstr
    - likely
    linkageType: ''
    returnType: void
    signature: pcli_error(struct stream *s, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/cli.c:2683,1
    - Dst: chunk_initstr
      Src: /src/haproxy/src/cli.c:2685,1
    - Dst: stream_retnclose
      Src: /src/haproxy/src/cli.c:2686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - msg
    argTypes:
    - struct stream*
    - char*
    constantsTouched: []
    func_position:
      end: 2687
      start: 2681
    functionDepth: 2
    functionLinenumber: 2681
    functionLinenumberEnd: 2687
    functionName: pcli_reply_and_close
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - stream_retnclose
    - chunk_initstr
    linkageType: ''
    returnType: void
    signature: pcli_reply_and_close(struct stream *s, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:2697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - proc_pid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2703
      start: 2689
    functionDepth: 0
    functionLinenumber: 2689
    functionLinenumberEnd: 2703
    functionName: pcli_pid_to_server
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: enum obj_type
    signature: '*pcli_pid_to_server(int proc_pid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2724,1
    - Dst: strtol
      Src: /src/haproxy/src/cli.c:2731,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:2734,1
    - Dst: strtol
      Src: /src/haproxy/src/cli.c:2745,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:2757,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2769
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2769
    functionName: pcli_prefix_to_pid
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strcmp
    - strtol
    linkageType: ''
    returnType: int
    signature: pcli_prefix_to_pid(const char *prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:2790,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2800,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2801,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2808,1
    - Dst: sc_schedule_abort
      Src: /src/haproxy/src/cli.c:2809,1
    - Dst: sc_schedule_shutdown
      Src: /src/haproxy/src/cli.c:2810,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2812,1
    - Dst: pcli_has_level
      Src: /src/haproxy/src/cli.c:2813,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:2814,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2821,1
    - Dst: pcli_has_level
      Src: /src/haproxy/src/cli.c:2822,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:2823,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2830,1
    - Dst: pcli_has_level
      Src: /src/haproxy/src/cli.c:2831,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:2832,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2837,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2841,1
    - Dst: pcli_has_level
      Src: /src/haproxy/src/cli.c:2842,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:2843,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2847,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2850,1
    - Dst: pcli_has_level
      Src: /src/haproxy/src/cli.c:2851,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:2852,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2856,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2859,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2860,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2861,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2863,1
    - Dst: strcmp
      Src: /src/haproxy/src/cli.c:2865,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:2868,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 92
    argCount: 5
    argNames:
    - s
    - args
    - argl
    - errmsg
    - next_pid
    argTypes:
    - struct stream*
    - char**
    - int
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 2877
      start: 2780
    functionDepth: 1
    functionLinenumber: 2780
    functionLinenumberEnd: 2877
    functionName: pcli_find_and_exec_kw
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - pcli_has_level
    - sc_schedule_abort
    - sc_schedule_shutdown
    linkageType: ''
    returnType: int
    signature: pcli_find_and_exec_kw(struct stream *s, char **args, int argl, char
      **errmsg, int *next_pid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_head
      Src: /src/haproxy/src/cli.c:2904,1
    - Dst: b_data
      Src: /src/haproxy/src/cli.c:2904,1
    - Dst: b_wrap
      Src: /src/haproxy/src/cli.c:2904,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/cli.c:2905,1
    - Dst: co_data
      Src: /src/haproxy/src/cli.c:2905,1
    - Dst: ci_head
      Src: /src/haproxy/src/cli.c:2907,1
    - Dst: ci_stop
      Src: /src/haproxy/src/cli.c:2908,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:2951,1
    - Dst: strncmp
      Src: /src/haproxy/src/cli.c:2953,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:2953,1
    - Dst: strspn
      Src: /src/haproxy/src/cli.c:2966,1
    - Dst: strcspn
      Src: /src/haproxy/src/cli.c:2972,1
    - Dst: strncmp
      Src: /src/haproxy/src/cli.c:2989,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:2989,1
    - Dst: strncpy
      Src: /src/haproxy/src/cli.c:2999,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:2999,1
    - Dst: pcli_find_and_exec_kw
      Src: /src/haproxy/src/cli.c:3007,1
    - Dst: b_del
      Src: /src/haproxy/src/cli.c:3025,1
    - Dst: ci_insert
      Src: /src/haproxy/src/cli.c:3042,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:3042,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:3043,1
    - Dst: ci_insert
      Src: /src/haproxy/src/cli.c:3047,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:3047,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:3048,1
    - Dst: ci_insert
      Src: /src/haproxy/src/cli.c:3052,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:3052,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:3053,1
    - Dst: ci_insert
      Src: /src/haproxy/src/cli.c:3057,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:3057,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:3058,1
    - Dst: ci_insert
      Src: /src/haproxy/src/cli.c:3062,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:3062,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:3063,1
    - Dst: pcli_has_level
      Src: /src/haproxy/src/cli.c:3066,1
    - Dst: pcli_has_level
      Src: /src/haproxy/src/cli.c:3068,1
    - Dst: ci_insert
      Src: /src/haproxy/src/cli.c:3070,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:3070,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:3071,1
    - Dst: pcli_has_level
      Src: /src/haproxy/src/cli.c:3072,1
    - Dst: ci_insert
      Src: /src/haproxy/src/cli.c:3074,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:3074,1
    - Dst: strlen
      Src: /src/haproxy/src/cli.c:3075,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 133
    argCount: 4
    argNames:
    - s
    - req
    - errmsg
    - next_pid
    argTypes:
    - struct stream*
    - struct channel*
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 3081
      start: 2888
    functionDepth: 2
    functionLinenumber: 2888
    functionLinenumberEnd: 3081
    functionName: pcli_parse_request
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - ci_insert
    - strncmp
    - strspn
    - b_wrap
    - co_data
    - ci_head
    - strlen
    - strncpy
    - pcli_find_and_exec_kw
    - strcspn
    - pcli_has_level
    - b_head
    - b_slow_realign
    - ci_stop
    - b_del
    - b_data
    linkageType: ''
    returnType: int
    signature: pcli_parse_request(struct stream *s, struct channel *req, char **errmsg,
      int *next_pid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_li
      Src: /src/haproxy/src/cli.c:3097,1
    - Dst: strm_li
      Src: /src/haproxy/src/cli.c:3102,1
    - Dst: channel_dont_close
      Src: /src/haproxy/src/cli.c:3110,1
    - Dst: channel_dont_connect
      Src: /src/haproxy/src/cli.c:3113,1
    - Dst: ci_data
      Src: /src/haproxy/src/cli.c:3118,1
    - Dst: c_data
      Src: /src/haproxy/src/cli.c:3122,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/cli.c:3123,1
    - Dst: pcli_parse_request
      Src: /src/haproxy/src/cli.c:3125,1
    - Dst: channel_forward
      Src: /src/haproxy/src/cli.c:3131,1
    - Dst: sc_schedule_shutdown
      Src: /src/haproxy/src/cli.c:3135,1
    - Dst: pcli_write_prompt
      Src: /src/haproxy/src/cli.c:3137,1
    - Dst: pcli_pid_to_server
      Src: /src/haproxy/src/cli.c:3149,1
    - Dst: channel_auto_connect
      Src: /src/haproxy/src/cli.c:3155,1
    - Dst: pcli_write_prompt
      Src: /src/haproxy/src/cli.c:3160,1
    - Dst: pcli_error
      Src: /src/haproxy/src/cli.c:3167,1
    - Dst: pcli_write_prompt
      Src: /src/haproxy/src/cli.c:3168,1
    - Dst: b_reset
      Src: /src/haproxy/src/cli.c:3174,1
    - Dst: b_putblk
      Src: /src/haproxy/src/cli.c:3175,1
    - Dst: b_reset
      Src: /src/haproxy/src/cli.c:3181,1
    - Dst: b_putblk
      Src: /src/haproxy/src/cli.c:3182,1
    - Dst: sc_schedule_shutdown
      Src: /src/haproxy/src/cli.c:3189,1
    - Dst: channel_full
      Src: /src/haproxy/src/cli.c:3193,1
    - Dst: pcli_reply_and_close
      Src: /src/haproxy/src/cli.c:3200,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 82
    argCount: 3
    argNames:
    - s
    - req
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 3202
      start: 3083
    functionDepth: 3
    functionLinenumber: 3083
    functionLinenumberEnd: 3202
    functionName: pcli_wait_for_request
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - channel_forward
    - b_putblk
    - channel_full
    - channel_dont_close
    - pcli_reply_and_close
    - channel_dont_connect
    - pcli_pid_to_server
    - strm_li
    - pcli_parse_request
    - ns_to_ms
    - sc_schedule_shutdown
    - ci_data
    - c_data
    - pcli_write_prompt
    - pcli_error
    - b_reset
    - channel_auto_connect
    linkageType: ''
    returnType: int
    signature: pcli_wait_for_request(struct stream *s, struct channel *req, int an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_fe
      Src: /src/haproxy/src/cli.c:3206,1
    - Dst: co_data
      Src: /src/haproxy/src/cli.c:3210,1
    - Dst: pcli_reply_and_close
      Src: /src/haproxy/src/cli.c:3211,1
    - Dst: channel_dont_close
      Src: /src/haproxy/src/cli.c:3220,1
    - Dst: channel_dont_close
      Src: /src/haproxy/src/cli.c:3221,1
    - Dst: ci_data
      Src: /src/haproxy/src/cli.c:3230,1
    - Dst: c_adv
      Src: /src/haproxy/src/cli.c:3231,1
    - Dst: ci_data
      Src: /src/haproxy/src/cli.c:3231,1
    - Dst: pcli_write_prompt
      Src: /src/haproxy/src/cli.c:3240,1
    - Dst: sc_abort
      Src: /src/haproxy/src/cli.c:3243,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/cli.c:3244,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/cli.c:3255,1
    - Dst: unlikely
      Src: /src/haproxy/src/cli.c:3256,1
    - Dst: sess_change_server
      Src: /src/haproxy/src/cli.c:3257,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/cli.c:3260,1
    - Dst: stream_process_counters
      Src: /src/haproxy/src/cli.c:3261,1
    - Dst: ci_data
      Src: /src/haproxy/src/cli.c:3264,1
    - Dst: ci_data
      Src: /src/haproxy/src/cli.c:3265,1
    - Dst: pendconn_free
      Src: /src/haproxy/src/cli.c:3268,1
    - Dst: log_orig_proxy
      Src: /src/haproxy/src/cli.c:3272,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/cli.c:3275,1
    - Dst: struct stream*::do_log
      Src: /src/haproxy/src/cli.c:3281,1
    - Dst: log_orig
      Src: /src/haproxy/src/cli.c:3281,1
    - Dst: stream_stop_content_counters
      Src: /src/haproxy/src/cli.c:3285,1
    - Dst: stream_update_time_stats
      Src: /src/haproxy/src/cli.c:3286,1
    - Dst: ci_data
      Src: /src/haproxy/src/cli.c:3300,1
    - Dst: ci_data
      Src: /src/haproxy/src/cli.c:3301,1
    - Dst: stream_del_srv_conn
      Src: /src/haproxy/src/cli.c:3303,1
    - Dst: objt_server
      Src: /src/haproxy/src/cli.c:3304,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/cli.c:3307,1
    - Dst: __objt_server
      Src: /src/haproxy/src/cli.c:3307,1
    - Dst: may_dequeue_tasks
      Src: /src/haproxy/src/cli.c:3309,1
    - Dst: __objt_server
      Src: /src/haproxy/src/cli.c:3309,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/cli.c:3310,1
    - Dst: __objt_server
      Src: /src/haproxy/src/cli.c:3310,1
    - Dst: sc_reset_endp
      Src: /src/haproxy/src/cli.c:3317,1
    - Dst: struct stream*::srv_error
      Src: /src/haproxy/src/cli.c:3321,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/cli.c:3324,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/cli.c:3326,1
    - Dst: sc_set_state
      Src: /src/haproxy/src/cli.c:3328,1
    - Dst: strm_fe
      Src: /src/haproxy/src/cli.c:3345,1
    - Dst: strm_fe
      Src: /src/haproxy/src/cli.c:3346,1
    - Dst: stream_del_srv_conn
      Src: /src/haproxy/src/cli.c:3348,1
    - Dst: _HA_ATOMIC_FETCH_ADD
      Src: /src/haproxy/src/cli.c:3352,1
    - Dst: se_have_more_data
      Src: /src/haproxy/src/cli.c:3358,1
    - Dst: unlikely
      Src: /src/haproxy/src/cli.c:3372,1
    - Dst: ci_data
      Src: /src/haproxy/src/cli.c:3372,1
    - Dst: b_set_data
      Src: /src/haproxy/src/cli.c:3373,1
    - Dst: co_data
      Src: /src/haproxy/src/cli.c:3373,1
    - Dst: c_realign_if_empty
      Src: /src/haproxy/src/cli.c:3376,1
    - Dst: strm_fe
      Src: /src/haproxy/src/cli.c:3378,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/cli.c:3388,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/cli.c:3389,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/cli.c:3390,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 117
    argCount: 3
    argNames:
    - s
    - rep
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 3396
      start: 3204
    functionDepth: 3
    functionLinenumber: 3204
    functionLinenumberEnd: 3396
    functionName: pcli_wait_for_response
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - channel_auto_read
    - process_srv_queue
    - struct stream*::srv_error
    - pcli_write_prompt
    - se_have_more_data
    - strm_fe
    - channel_auto_close
    - sc_reset_endp
    - sc_abort
    - co_data
    - sess_change_server
    - _HA_ATOMIC_FETCH_ADD
    - __objt_server
    - HA_ATOMIC_DEC
    - b_set_data
    - log_orig_proxy
    - sc_set_state
    - log_orig
    - sockaddr_free
    - lf_expr_isempty
    - struct stream*::do_log
    - stream_stop_content_counters
    - objt_server
    - stream_process_counters
    - pendconn_free
    - c_adv
    - c_realign_if_empty
    - channel_dont_close
    - pcli_reply_and_close
    - se_fl_clr
    - stream_del_srv_conn
    - sc_shutdown
    - ns_to_ms
    - may_dequeue_tasks
    - ci_data
    - stream_update_time_stats
    - unlikely
    linkageType: ''
    returnType: int
    signature: pcli_wait_for_response(struct stream *s, struct channel *rep, int an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stop_proxy
      Src: /src/haproxy/src/cli.c:3408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3405
    functionDepth: 1
    functionLinenumber: 3405
    functionLinenumberEnd: 3409
    functionName: mworker_cli_proxy_stop
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - stop_proxy
    linkageType: ''
    returnType: void
    signature: mworker_cli_proxy_stop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_new_proxy
      Src: /src/haproxy/src/cli.c:3416,1
    - Dst: strdup
      Src: /src/haproxy/src/cli.c:3426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - errmsg
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 3438
      start: 3414
    functionDepth: 1
    functionLinenumber: 3414
    functionLinenumberEnd: 3438
    functionName: mworker_cli_create_master_proxy
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - alloc_new_proxy
    - strdup
    linkageType: ''
    returnType: int
    signature: mworker_cli_create_master_proxy(char **errmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/cli.c:3451,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:3455,1
    - Dst: new_server
      Src: /src/haproxy/src/cli.c:3465,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:3470,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:3472,1
    - Dst: strdup
      Src: /src/haproxy/src/cli.c:3476,1
    - Dst: strdup
      Src: /src/haproxy/src/cli.c:3477,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:3480,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/cli.c:3481,1
    - Dst: ha_free
      Src: /src/haproxy/src/cli.c:3485,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/cli.c:3497,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:3506,1
    - Dst: free
      Src: /src/haproxy/src/cli.c:3507,1
    - Dst: free
      Src: /src/haproxy/src/cli.c:3508,1
    - Dst: ha_free
      Src: /src/haproxy/src/cli.c:3509,1
    - Dst: free
      Src: /src/haproxy/src/cli.c:3511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - errmsg
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 3514
      start: 3446
    functionDepth: 1
    functionLinenumber: 3446
    functionLinenumberEnd: 3514
    functionName: mworker_cli_attach_server
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - new_server
    - ha_free
    - list_for_each_entry
    - str2sa_range
    - strdup
    - free
    - srv_lb_commit_status
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: mworker_cli_attach_server(char **errmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bind_conf_alloc
      Src: /src/haproxy/src/cli.c:3545,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cli.c:3545,1
    - Dst: str2listener
      Src: /src/haproxy/src/cli.c:3553,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cli.c:3554,1
    - Dst: bind_find_kw
      Src: /src/haproxy/src/cli.c:3564,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:3567,1
    - Dst: struct bind_kw*::parse
      Src: /src/haproxy/src/cli.c:3572,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:3574,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:3576,1
    - Dst: bind_find_best_kw
      Src: /src/haproxy/src/cli.c:3585,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:3587,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:3590,1
    - Dst: thread_set_pin_grp1
      Src: /src/haproxy/src/cli.c:3601,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:3603,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cli.c:3612,1
    - Dst: free
      Src: /src/haproxy/src/cli.c:3613,1
    - Dst: free
      Src: /src/haproxy/src/cli.c:3614,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3617
      start: 3519
    functionDepth: 1
    functionLinenumber: 3519
    functionLinenumberEnd: 3617
    functionName: mworker_cli_master_proxy_new_listener
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - memprintf
    - thread_set_pin_grp1
    - bind_find_best_kw
    - list_for_each_entry
    - free
    - bind_find_kw
    - bind_conf_alloc
    - struct bind_kw*::parse
    - str2listener
    - xprt_get
    linkageType: ''
    returnType: struct bind_conf
    signature: '*mworker_cli_master_proxy_new_listener(char *line)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_alloc_fe
      Src: /src/haproxy/src/cli.c:3633,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cli.c:3634,1
    - Dst: bind_conf_alloc
      Src: /src/haproxy/src/cli.c:3639,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cli.c:3639,1
    - Dst: memprintf
      Src: /src/haproxy/src/cli.c:3647,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cli.c:3648,1
    - Dst: str2listener
      Src: /src/haproxy/src/cli.c:3652,1
    - Dst: free
      Src: /src/haproxy/src/cli.c:3653,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cli.c:3654,1
    - Dst: ha_free
      Src: /src/haproxy/src/cli.c:3657,1
    - Dst: thread_set_pin_grp1
      Src: /src/haproxy/src/cli.c:3664,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cli.c:3666,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/cli.c:3667,1
    - Dst: close
      Src: /src/haproxy/src/cli.c:3676,1
    - Dst: free
      Src: /src/haproxy/src/cli.c:3677,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - proc
    argTypes:
    - struct mworker_proc*
    constantsTouched: []
    func_position:
      end: 3680
      start: 3624
    functionDepth: 2
    functionLinenumber: 3624
    functionLinenumberEnd: 3680
    functionName: mworker_cli_global_proxy_new_listener
    functionSourceFile: /src/haproxy/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_alert
    - thread_set_pin_grp1
    - ha_free
    - list_for_each_entry
    - HA_ATOMIC_INC
    - free
    - cli_alloc_fe
    - close
    - str2listener
    - bind_conf_alloc
    - xprt_get
    linkageType: ''
    returnType: int
    signature: mworker_cli_global_proxy_new_listener(struct mworker_proc *proc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/cfgcond.c:45,1
    - Dst: strncmp
      Src: /src/haproxy/src/cfgcond.c:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: cfg_lookup_cond_pred
    functionSourceFile: /src/haproxy/src/cfgcond.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: struct cond_pred_kw
    signature: '*cfg_lookup_cond_pred(const char *str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfg_free_cond_expr
      Src: /src/haproxy/src/cfgcond.c:61,1
    - Dst: free_args
      Src: /src/haproxy/src/cfgcond.c:65,1
    - Dst: free
      Src: /src/haproxy/src/cfgcond.c:66,1
    - Dst: free
      Src: /src/haproxy/src/cfgcond.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - term
    argTypes:
    - struct cfg_cond_term*
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: cfg_free_cond_term
    functionSourceFile: /src/haproxy/src/cfgcond.c
    functionUses: 0
    functionsReached:
    - free
    - free_args
    - cfg_free_cond_expr
    linkageType: ''
    returnType: void
    signature: cfg_free_cond_term(struct cfg_cond_term *term)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/cfgcond.c:101,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgcond.c:103,1
    - Dst: strtol
      Src: /src/haproxy/src/cfgcond.c:117,1
    - Dst: cfg_parse_cond_expr
      Src: /src/haproxy/src/cfgcond.c:132,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgcond.c:142,1
    - Dst: cfg_lookup_cond_pred
      Src: /src/haproxy/src/cfgcond.c:153,1
    - Dst: make_arg_list
      Src: /src/haproxy/src/cfgcond.c:156,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgcond.c:156,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgcond.c:160,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgcond.c:170,1
    - Dst: cfg_free_cond_term
      Src: /src/haproxy/src/cfgcond.c:175,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 5
    argNames:
    - text
    - term
    - err
    - errptr
    - maxdepth
    argTypes:
    - char**
    - struct cfg_cond_term**
    - char**
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 178
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 178
    functionName: cfg_parse_cond_term
    functionSourceFile: /src/haproxy/src/cfgcond.c
    functionUses: 0
    functionsReached:
    - memprintf
    - make_arg_list
    - cfg_parse_cond_expr
    - cfg_free_cond_term
    - calloc
    - strlen
    - cfg_lookup_cond_pred
    - strtol
    linkageType: ''
    returnType: int
    signature: cfg_parse_cond_term(const char **text, struct cfg_cond_term **term,
      char **err, const char **errptr, int maxdepth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cfgcond.c:186,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgcond.c:188,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgcond.c:190,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgcond.c:192,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgcond.c:194,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgcond.c:196,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgcond.c:198,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgcond.c:200,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgcond.c:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 205
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 205
    functionName: cfg_eval_cond_enabled
    functionSourceFile: /src/haproxy/src/cfgcond.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: cfg_eval_cond_enabled(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/haproxy/src/cfgcond.c:226,1
    - Dst: strstr
      Src: /src/haproxy/src/cfgcond.c:233,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgcond.c:251,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgcond.c:255,1
    - Dst: strstr
      Src: /src/haproxy/src/cfgcond.c:259,1
    - Dst: compare_current_version
      Src: /src/haproxy/src/cfgcond.c:263,1
    - Dst: compare_current_version
      Src: /src/haproxy/src/cfgcond.c:267,1
    - Dst: openssl_compare_current_name
      Src: /src/haproxy/src/cfgcond.c:289,1
    - Dst: cfg_eval_cond_enabled
      Src: /src/haproxy/src/cfgcond.c:293,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgcond.c:297,1
    - Dst: cfg_eval_cond_expr
      Src: /src/haproxy/src/cfgcond.c:302,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgcond.c:305,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 74
    argCount: 2
    argNames:
    - term
    - err
    argTypes:
    - struct cfg_cond_term*
    - char**
    constantsTouched: []
    func_position:
      end: 311
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 311
    functionName: cfg_eval_cond_term
    functionSourceFile: /src/haproxy/src/cfgcond.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cfg_eval_cond_expr
    - strcmp
    - strstr
    - openssl_compare_current_name
    - cfg_eval_cond_enabled
    - compare_current_version
    - getenv
    linkageType: ''
    returnType: int
    signature: cfg_eval_cond_term(const struct cfg_cond_term *term, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfg_free_cond_term
      Src: /src/haproxy/src/cfgcond.c:320,1
    - Dst: free
      Src: /src/haproxy/src/cfgcond.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - expr
    argTypes:
    - struct cfg_cond_and*
    constantsTouched: []
    func_position:
      end: 325
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 325
    functionName: cfg_free_cond_and
    functionSourceFile: /src/haproxy/src/cfgcond.c
    functionUses: 0
    functionsReached:
    - free
    - cfg_free_cond_term
    linkageType: ''
    returnType: void
    signature: cfg_free_cond_and(struct cfg_cond_and *expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfg_free_cond_and
      Src: /src/haproxy/src/cfgcond.c:333,1
    - Dst: free
      Src: /src/haproxy/src/cfgcond.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - expr
    argTypes:
    - struct cfg_cond_expr*
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: cfg_free_cond_expr
    functionSourceFile: /src/haproxy/src/cfgcond.c
    functionUses: 1
    functionsReached:
    - free
    - cfg_free_cond_and
    linkageType: ''
    returnType: void
    signature: cfg_free_cond_expr(struct cfg_cond_expr *expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgcond.c:362,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgcond.c:368,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgcond.c:370,1
    - Dst: cfg_parse_cond_term
      Src: /src/haproxy/src/cfgcond.c:374,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgcond.c:380,1
    - Dst: cfg_parse_cond_and
      Src: /src/haproxy/src/cfgcond.c:402,1
    - Dst: cfg_free_cond_and
      Src: /src/haproxy/src/cfgcond.c:407,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 5
    argNames:
    - text
    - expr
    - err
    - errptr
    - maxdepth
    argTypes:
    - char**
    - struct cfg_cond_and**
    - char**
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 411
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 411
    functionName: cfg_parse_cond_and
    functionSourceFile: /src/haproxy/src/cfgcond.c
    functionUses: 1
    functionsReached:
    - memprintf
    - cfg_free_cond_and
    - calloc
    - cfg_parse_cond_term
    - cfg_parse_cond_and
    linkageType: ''
    returnType: int
    signature: cfg_parse_cond_and(const char **text, struct cfg_cond_and **expr, char
      **err, const char **errptr, int maxdepth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgcond.c:435,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgcond.c:441,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgcond.c:443,1
    - Dst: cfg_parse_cond_and
      Src: /src/haproxy/src/cfgcond.c:447,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgcond.c:453,1
    - Dst: cfg_parse_cond_expr
      Src: /src/haproxy/src/cfgcond.c:475,1
    - Dst: cfg_free_cond_expr
      Src: /src/haproxy/src/cfgcond.c:480,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 5
    argNames:
    - text
    - expr
    - err
    - errptr
    - maxdepth
    argTypes:
    - char**
    - struct cfg_cond_expr**
    - char**
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 484
      start: 424
    functionDepth: 4
    functionLinenumber: 424
    functionLinenumberEnd: 484
    functionName: cfg_parse_cond_expr
    functionSourceFile: /src/haproxy/src/cfgcond.c
    functionUses: 2
    functionsReached:
    - memprintf
    - cfg_parse_cond_expr
    - calloc
    - cfg_free_cond_expr
    - cfg_parse_cond_and
    linkageType: ''
    returnType: int
    signature: cfg_parse_cond_expr(const char **text, struct cfg_cond_expr **expr,
      char **err, const char **errptr, int maxdepth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfg_eval_cond_term
      Src: /src/haproxy/src/cfgcond.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - expr
    - err
    argTypes:
    - struct cfg_cond_and*
    - char**
    constantsTouched: []
    func_position:
      end: 501
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 501
    functionName: cfg_eval_cond_and
    functionSourceFile: /src/haproxy/src/cfgcond.c
    functionUses: 0
    functionsReached:
    - cfg_eval_cond_term
    linkageType: ''
    returnType: int
    signature: cfg_eval_cond_and(struct cfg_cond_and *expr, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfg_eval_cond_and
      Src: /src/haproxy/src/cfgcond.c:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - expr
    - err
    argTypes:
    - struct cfg_cond_expr*
    - char**
    constantsTouched: []
    func_position:
      end: 516
      start: 508
    functionDepth: 3
    functionLinenumber: 508
    functionLinenumberEnd: 516
    functionName: cfg_eval_cond_expr
    functionSourceFile: /src/haproxy/src/cfgcond.c
    functionUses: 1
    functionsReached:
    - cfg_eval_cond_and
    linkageType: ''
    returnType: int
    signature: cfg_eval_cond_expr(struct cfg_cond_expr *expr, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_cond_expr
      Src: /src/haproxy/src/cfgcond.c:532,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgcond.c:541,1
    - Dst: cfg_eval_cond_expr
      Src: /src/haproxy/src/cfgcond.c:546,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgcond.c:552,1
    - Dst: cfg_free_cond_expr
      Src: /src/haproxy/src/cfgcond.c:557,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - args
    - err
    - errptr
    argTypes:
    - char**
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 559
      start: 523
    functionDepth: 5
    functionLinenumber: 523
    functionLinenumberEnd: 559
    functionName: cfg_eval_condition
    functionSourceFile: /src/haproxy/src/cfgcond.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cfg_eval_cond_expr
    - cfg_parse_cond_expr
    - cfg_free_cond_expr
    linkageType: ''
    returnType: int
    signature: cfg_eval_condition(char **args, char **err, const char **errptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 161
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 161
    functionName: hlua_panic_safe
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hlua_panic_safe(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:162,1
    - Dst: longjmp
      Src: /src/haproxy/src/hlua.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 162
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 162
    functionName: hlua_panic_ljmp
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - WILL_LJMP
    - longjmp
    linkageType: ''
    returnType: int
    signature: hlua_panic_ljmp(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: lua_take_global_lock
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    linkageType: ''
    returnType: void
    signature: lua_take_global_lock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: lua_drop_global_lock
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: void
    signature: lua_drop_global_lock()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_take_global_lock
      Src: /src/haproxy/src/hlua.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hlua
    argTypes:
    - struct hlua*
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: hlua_lock
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_take_global_lock
    linkageType: ''
    returnType: void
    signature: hlua_lock(struct hlua *hlua)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua.c:217,1
    - Dst: lua_drop_global_lock
      Src: /src/haproxy/src/hlua.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - hlua
    argTypes:
    - struct hlua*
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: hlua_unlock
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - lua_drop_global_lock
    linkageType: ''
    returnType: void
    signature: hlua_unlock(struct hlua *hlua)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: _hlua_tostring_safe
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __LJMP
    signature: _hlua_tostring_safe(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:246,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:252,1
    - Dst: lua_pushcfunction
      Src: /src/haproxy/src/hlua.c:257,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:258,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:259,1
    - Dst: lua_remove
      Src: /src/haproxy/src/hlua.c:261,1
    - Dst: lua_pcall
      Src: /src/haproxy/src/hlua.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - L
    - index
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 274
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 274
    functionName: hlua_tostring_safe
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pcall
    - lua_pushcfunction
    - lua_pushvalue
    - lua_remove
    - lua_pushlightuserdata
    - lua_checkstack
    linkageType: ''
    returnType: char
    signature: '*hlua_tostring_safe(lua_State *L, int index)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua.c:290,1
    - Dst: lua_pushvfstring
      Src: /src/haproxy/src/hlua.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: _hlua_pushvfstring_safe
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_touserdata
    - lua_pushvfstring
    linkageType: ''
    returnType: __LJMP
    signature: _hlua_pushvfstring_safe(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:300,1
    - Dst: va_copy
      Src: /src/haproxy/src/hlua.c:303,1
    - Dst: lua_pushcfunction
      Src: /src/haproxy/src/hlua.c:308,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:309,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:310,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:311,1
    - Dst: lua_pcall
      Src: /src/haproxy/src/hlua.c:316,1
    - Dst: va_end
      Src: /src/haproxy/src/hlua.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - L
    - fmt
    - argp
    argTypes:
    - lua_State*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 326
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 326
    functionName: hlua_pushvfstring_safe
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_copy
    - lua_pcall
    - lua_pushcfunction
    - lua_pushlightuserdata
    - lua_checkstack
    linkageType: ''
    returnType: char
    signature: '*hlua_pushvfstring_safe(lua_State *L, const char *fmt, va_list argp)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/hlua.c:333,1
    - Dst: hlua_pushvfstring_safe
      Src: /src/haproxy/src/hlua.c:334,1
    - Dst: va_end
      Src: /src/haproxy/src/hlua.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - L
    - fmt
    argTypes:
    - lua_State*
    - char*
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: hlua_pushfstring_safe
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - va_end
    - hlua_pushvfstring_safe
    - va_start
    linkageType: ''
    returnType: char
    signature: '*hlua_pushfstring_safe(lua_State *L, const char *fmt, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: now_cpu_time_fast
      Src: /src/haproxy/src/hlua.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 534
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 534
    functionName: _hlua_time_ms
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - now_cpu_time_fast
    linkageType: ''
    returnType: uint32_t
    signature: _hlua_time_ms()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _hlua_time_ms
      Src: /src/haproxy/src/hlua.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timer
    argTypes:
    - struct hlua_timer*
    constantsTouched: []
    func_position:
      end: 547
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 547
    functionName: _hlua_time_burst
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - _hlua_time_ms
    linkageType: ''
    returnType: uint32_t
    signature: _hlua_time_burst(const struct hlua_timer *timer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - timer
    - max
    argTypes:
    - struct hlua_timer*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 554
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 554
    functionName: hlua_timer_init
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: hlua_timer_init(struct hlua_timer *timer, unsigned int max)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timer
    argTypes:
    - struct hlua_timer*
    constantsTouched: []
    func_position:
      end: 561
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 561
    functionName: hlua_timer_reset
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: hlua_timer_reset(struct hlua_timer *timer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _hlua_time_ms
      Src: /src/haproxy/src/hlua.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timer
    argTypes:
    - struct hlua_timer*
    constantsTouched: []
    func_position:
      end: 567
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 567
    functionName: hlua_timer_start
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - _hlua_time_ms
    linkageType: ''
    returnType: void
    signature: hlua_timer_start(struct hlua_timer *timer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _hlua_time_burst
      Src: /src/haproxy/src/hlua.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timer
    argTypes:
    - struct hlua_timer*
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: hlua_timer_stop
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - _hlua_time_burst
    linkageType: ''
    returnType: void
    signature: hlua_timer_stop(struct hlua_timer *timer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - timer
    argTypes:
    - struct hlua_timer*
    constantsTouched: []
    func_position:
      end: 593
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 593
    functionName: hlua_timer_check
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hlua_timer_check(const struct hlua_timer *timer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua.c:646,1
    - Dst: MAX
      Src: /src/haproxy/src/hlua.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - hlua
    argTypes:
    - struct hlua*
    constantsTouched: []
    func_position:
      end: 661
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 661
    functionName: hlua_get_nb_instruction
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - MAX
    linkageType: ''
    returnType: unsigned int
    signature: hlua_get_nb_instruction(struct hlua *hlua)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:727,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/hlua.c:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 734
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 734
    functionName: new_hlua_function
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - calloc
    - LIST_APPEND
    linkageType: ''
    returnType: struct hlua_function
    signature: '*new_hlua_function()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:741,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/hlua.c:742,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fcn
    argTypes:
    - struct hlua_function*
    constantsTouched: []
    func_position:
      end: 744
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 744
    functionName: release_hlua_function
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - LIST_DELETE
    - ha_free
    linkageType: ''
    returnType: void
    signature: release_hlua_function(struct hlua_function *fcn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fcn
    argTypes:
    - struct hlua_function*
    constantsTouched: []
    func_position:
      end: 752
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 752
    functionName: fcn_ref_to_stack_id
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fcn_ref_to_stack_id(struct hlua_function *fcn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:760,1
    - Dst: strdup
      Src: /src/haproxy/src/hlua.c:763,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:765,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/hlua.c:768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 774
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 774
    functionName: new_hlua_reg_filter
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - LIST_APPEND
    - strdup
    linkageType: ''
    returnType: struct hlua_reg_filter
    signature: '*new_hlua_reg_filter(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:782,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/hlua.c:783,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - reg_flt
    argTypes:
    - struct hlua_reg_filter*
    constantsTouched: []
    func_position:
      end: 785
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 785
    functionName: release_hlua_reg_filter
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - LIST_DELETE
    - ha_free
    linkageType: ''
    returnType: void
    signature: release_hlua_reg_filter(struct hlua_reg_filter *reg_flt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - reg_flt
    argTypes:
    - struct hlua_reg_filter*
    constantsTouched: []
    func_position:
      end: 793
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 793
    functionName: reg_flt_to_stack_id
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: reg_flt_to_stack_id(struct hlua_reg_filter *reg_flt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_isfunction
      Src: /src/haproxy/src/hlua.c:802,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:804,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua.c:804,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:806,1
    - Dst: luaL_ref
      Src: /src/haproxy/src/hlua.c:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - L
    - argno
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 808
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 808
    functionName: hlua_checkfunction
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_isfunction
    - luaL_ref
    - lua_pushvalue
    - WILL_LJMP
    - luaL_argerror
    linkageType: ''
    returnType: __LJMP
    signature: hlua_checkfunction(lua_State *L, int argno)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_istable
      Src: /src/haproxy/src/hlua.c:817,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:819,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua.c:819,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:821,1
    - Dst: luaL_ref
      Src: /src/haproxy/src/hlua.c:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - L
    - argno
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 823
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 823
    functionName: hlua_checktable
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_ref
    - lua_pushvalue
    - lua_istable
    - WILL_LJMP
    - luaL_argerror
    linkageType: ''
    returnType: __LJMP
    signature: hlua_checktable(lua_State *L, int argno)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:833,1
    - Dst: luaL_ref
      Src: /src/haproxy/src/hlua.c:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 834
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 834
    functionName: hlua_ref
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_ref
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_ref(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ref
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 849
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 849
    functionName: hlua_pushref
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_rawgeti
    linkageType: ''
    returnType: void
    signature: hlua_pushref(lua_State *L, int ref)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: luaL_unref
      Src: /src/haproxy/src/hlua.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ref
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 863
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 863
    functionName: hlua_unref
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_unref
    linkageType: ''
    returnType: void
    signature: hlua_unref(lua_State *L, int ref)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua.c:867,1
    - Dst: lua_getinfo
      Src: /src/haproxy/src/hlua.c:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 876
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 876
    functionName: _hlua_traceback
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_touserdata
    - lua_getinfo
    linkageType: ''
    returnType: __LJMP
    signature: _hlua_traceback(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/hlua.c:884,1
    - Dst: lua_getstack
      Src: /src/haproxy/src/hlua.c:886,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:887,1
    - Dst: lua_pushcfunction
      Src: /src/haproxy/src/hlua.c:890,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:891,1
    - Dst: lua_pcall
      Src: /src/haproxy/src/hlua.c:894,1
    - Dst: b_data
      Src: /src/haproxy/src/hlua.c:906,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/hlua.c:907,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/hlua.c:911,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/hlua.c:913,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/hlua.c:923,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/hlua.c:926,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/hlua.c:929,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/hlua.c:932,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/hlua.c:937,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - L
    - sep
    argTypes:
    - lua_State*
    - char*
    constantsTouched: []
    func_position:
      end: 942
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 942
    functionName: hlua_traceback
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_getstack
    - lua_pcall
    - lua_pushcfunction
    - chunk_appendf
    - get_trash_chunk
    - b_data
    - lua_pushlightuserdata
    - lua_checkstack
    linkageType: ''
    returnType: char
    signature: '*hlua_traceback(lua_State *L, const char* sep)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:951,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:953,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - L
    - nb
    - fcn
    argTypes:
    - lua_State*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 954
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 954
    functionName: check_args
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - WILL_LJMP
    - lua_gettop
    - luaL_error
    linkageType: ''
    returnType: __LJMP
    signature: check_args(lua_State *L, int nb, char *fcn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua.c:964,1
    - Dst: luaL_where
      Src: /src/haproxy/src/hlua.c:966,1
    - Dst: lua_pushvfstring
      Src: /src/haproxy/src/hlua.c:967,1
    - Dst: lua_concat
      Src: /src/haproxy/src/hlua.c:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 971
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 971
    functionName: _hlua_pusherror
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_concat
    - lua_touserdata
    - luaL_where
    - lua_pushvfstring
    linkageType: ''
    returnType: __LJMP
    signature: _hlua_pusherror(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:977,1
    - Dst: va_start
      Src: /src/haproxy/src/hlua.c:980,1
    - Dst: lua_pushcfunction
      Src: /src/haproxy/src/hlua.c:985,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:986,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:987,1
    - Dst: lua_pcall
      Src: /src/haproxy/src/hlua.c:992,1
    - Dst: va_end
      Src: /src/haproxy/src/hlua.c:999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - L
    - fmt
    argTypes:
    - lua_State*
    - char*
    constantsTouched: []
    func_position:
      end: 1002
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1002
    functionName: hlua_pusherror
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - va_end
    - lua_pcall
    - lua_pushcfunction
    - lua_pushlightuserdata
    - lua_checkstack
    - va_start
    linkageType: ''
    returnType: int
    signature: hlua_pusherror(lua_State *L, const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:1017,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:1021,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:1035,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - L
    - arg
    argTypes:
    - lua_State*
    - struct arg*
    constantsTouched: []
    func_position:
      end: 1039
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1039
    functionName: hlua_arg2lua
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - lua_pushlstring
    - lua_pushinteger
    linkageType: ''
    returnType: __LJMP
    signature: hlua_arg2lua(lua_State *L, const struct arg *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:1063,1
    - Dst: lua_tointeger
      Src: /src/haproxy/src/hlua.c:1068,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:1073,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - L
    - ud
    - arg
    argTypes:
    - lua_State*
    - int
    - struct arg*
    constantsTouched: []
    func_position:
      end: 1090
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1090
    functionName: hlua_lua2arg
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_tointeger
    - lua_type
    - lua_tolstring
    linkageType: ''
    returnType: int
    signature: hlua_lua2arg(lua_State *L, int ud, struct arg *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:1100,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:1104,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:1106,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:1111,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1116,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1117,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1118,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1119,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1120,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1121,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1122,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1123,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:1125,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:1128,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:1138,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:1140,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:1143,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 2
    argNames:
    - L
    - smp
    argTypes:
    - lua_State*
    - struct sample*
    constantsTouched: []
    func_position:
      end: 1147
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1147
    functionName: hlua_smp2lua
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - lua_pushstring
    - lua_pushlstring
    - lua_pushboolean
    - lua_pushinteger
    linkageType: ''
    returnType: __LJMP
    signature: hlua_smp2lua(lua_State *L, struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:1159,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1164,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1165,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1166,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1167,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1168,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1169,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1170,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1171,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:1173,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1176,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:1188,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1190,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:1193,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 2
    argNames:
    - L
    - smp
    argTypes:
    - lua_State*
    - struct sample*
    constantsTouched: []
    func_position:
      end: 1197
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1197
    functionName: hlua_smp2lua_str
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_pushlstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_smp2lua_str(lua_State *L, struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:1224,1
    - Dst: lua_tointeger
      Src: /src/haproxy/src/hlua.c:1228,1
    - Dst: lua_toboolean
      Src: /src/haproxy/src/hlua.c:1234,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:1240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - L
    - ud
    - smp
    argTypes:
    - lua_State*
    - int
    - struct sample*
    constantsTouched: []
    func_position:
      end: 1259
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1259
    functionName: hlua_lua2smp
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_tointeger
    - lua_type
    - lua_tolstring
    - lua_toboolean
    linkageType: ''
    returnType: int
    signature: hlua_lua2smp(lua_State *L, int ud, struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ARGM
      Src: /src/haproxy/src/hlua.c:1280,1
    - Dst: proxy_fe_by_name
      Src: /src/haproxy/src/hlua.c:1385,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/hlua.c:1398,1
    - Dst: stktable_find_by_name
      Src: /src/haproxy/src/hlua.c:1411,1
    - Dst: strrchr
      Src: /src/haproxy/src/hlua.c:1424,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/hlua.c:1428,1
    - Dst: findserver
      Src: /src/haproxy/src/hlua.c:1438,1
    - Dst: inet_pton
      Src: /src/haproxy/src/hlua.c:1451,1
    - Dst: len2mask4
      Src: /src/haproxy/src/hlua.c:1460,1
    - Dst: str2mask
      Src: /src/haproxy/src/hlua.c:1462,1
    - Dst: inet_pton
      Src: /src/haproxy/src/hlua.c:1479,1
    - Dst: len2mask6
      Src: /src/haproxy/src/hlua.c:1488,1
    - Dst: str2mask6
      Src: /src/haproxy/src/hlua.c:1490,1
    - Dst: regex_comp
      Src: /src/haproxy/src/hlua.c:1507,1
    - Dst: hlua_pushfstring_safe
      Src: /src/haproxy/src/hlua.c:1509,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:1511,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:1524,1
    - Dst: auth_find_userlist
      Src: /src/haproxy/src/hlua.c:1527,1
    - Dst: hlua_pushfstring_safe
      Src: /src/haproxy/src/hlua.c:1530,1
    - Dst: chunk_dup
      Src: /src/haproxy/src/hlua.c:1539,1
    - Dst: hlua_pushfstring_safe
      Src: /src/haproxy/src/hlua.c:1555,1
    - Dst: free_args
      Src: /src/haproxy/src/hlua.c:1569,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:1570,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua.c:1570,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 275
    argCount: 5
    argNames:
    - L
    - first
    - argp
    - mask
    - p
    argTypes:
    - lua_State*
    - int
    - struct arg*
    - uint64_t
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1572
      start: 1268
    functionDepth: 2
    functionLinenumber: 1268
    functionLinenumberEnd: 1572
    functionName: hlua_lua2arg_check
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - proxy_be_by_name
    - strrchr
    - findserver
    - auth_find_userlist
    - inet_pton
    - str2mask
    - hlua_pushfstring_safe
    - strcmp
    - stktable_find_by_name
    - free
    - regex_comp
    - len2mask6
    - str2mask6
    - chunk_dup
    - WILL_LJMP
    - ARGM
    - len2mask4
    - free_args
    - proxy_fe_by_name
    - luaL_argerror
    linkageType: ''
    returnType: __LJMP
    signature: "hlua_lua2arg_check(lua_State *L, int first, struct arg *argp,\n                              uint64_t
      mask, struct proxy *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_getextraspace
      Src: /src/haproxy/src/hlua.c:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1585
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1585
    functionName: hlua_gethlua
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_getextraspace
    linkageType: ''
    returnType: struct hlua
    signature: '*hlua_gethlua(lua_State *L)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_getextraspace
      Src: /src/haproxy/src/hlua.c:1588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hlua
    argTypes:
    - struct hlua*
    constantsTouched: []
    func_position:
      end: 1590
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1590
    functionName: hlua_sethlua
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_getextraspace
    linkageType: ''
    returnType: void
    signature: hlua_sethlua(struct hlua *hlua)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_getstack
      Src: /src/haproxy/src/hlua.c:1603,1
    - Dst: hlua_traceback
      Src: /src/haproxy/src/hlua.c:1604,1
    - Dst: lua_getstack
      Src: /src/haproxy/src/hlua.c:1607,1
    - Dst: hlua_traceback
      Src: /src/haproxy/src/hlua.c:1608,1
    - Dst: lua_getstack
      Src: /src/haproxy/src/hlua.c:1611,1
    - Dst: hlua_traceback
      Src: /src/haproxy/src/hlua.c:1612,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 1
    argNames:
    - pfx
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1615
      start: 1597
    functionDepth: 3
    functionLinenumber: 1597
    functionLinenumberEnd: 1615
    functionName: hlua_show_current_location
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_getstack
    - hlua_traceback
    linkageType: ''
    returnType: char
    signature: '*hlua_show_current_location(const char *pfx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/haproxy/src/hlua.c:1637,1
    - Dst: send_log
      Src: /src/haproxy/src/hlua.c:1645,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/hlua.c:1658,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/hlua.c:1662,1
    - Dst: get_localtime
      Src: /src/haproxy/src/hlua.c:1669,1
    - Dst: fprintf
      Src: /src/haproxy/src/hlua.c:1670,1
    - Dst: getpid
      Src: /src/haproxy/src/hlua.c:1672,1
    - Dst: fflush
      Src: /src/haproxy/src/hlua.c:1673,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - px
    - level
    - msg
    argTypes:
    - struct proxy*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1675
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1675
    functionName: hlua_sendlog
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - send_log
    - LIST_ISEMPTY
    - isprint
    - getpid
    - get_localtime
    - fflush
    - fprintf
    linkageType: ''
    returnType: void
    signature: hlua_sendlog(struct proxy *px, int level, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:1687,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:1700,1
    - Dst: lua_yieldk
      Src: /src/haproxy/src/hlua.c:1700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - L
    - nresults
    - ctx
    - k
    - timeout
    - flags
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    - lua_KFunction
    - int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1701
      start: 1681
    functionDepth: 1
    functionLinenumber: 1681
    functionLinenumberEnd: 1701
    functionName: hlua_yieldk
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_gethlua
    - lua_yieldk
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: "hlua_yieldk(lua_State *L, int nresults, lua_KContext ctx,\n                        lua_KFunction
      k, int timeout, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_timer_init
      Src: /src/haproxy/src/hlua.c:1723,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/hlua.c:1724,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/hlua.c:1725,1
    - Dst: SET_SAFE_LJMP_PARENT
      Src: /src/haproxy/src/hlua.c:1726,1
    - Dst: lua_newthread
      Src: /src/haproxy/src/hlua.c:1730,1
    - Dst: RESET_SAFE_LJMP_PARENT
      Src: /src/haproxy/src/hlua.c:1733,1
    - Dst: hlua_sethlua
      Src: /src/haproxy/src/hlua.c:1736,1
    - Dst: luaL_ref
      Src: /src/haproxy/src/hlua.c:1737,1
    - Dst: RESET_SAFE_LJMP_PARENT
      Src: /src/haproxy/src/hlua.c:1739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - lua
    - state_id
    - task
    argTypes:
    - struct hlua*
    - int
    - struct task*
    constantsTouched: []
    func_position:
      end: 1741
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1741
    functionName: hlua_ctx_init
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_ref
    - RESET_SAFE_LJMP_PARENT
    - hlua_timer_init
    - lua_newthread
    - LIST_INIT
    - hlua_sethlua
    - MT_LIST_INIT
    - SET_SAFE_LJMP_PARENT
    linkageType: ''
    returnType: int
    signature: hlua_ctx_init(struct hlua *lua, int state_id, struct task *task)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/hlua.c:1764,1
    - Dst: typeof
      Src: /src/haproxy/src/hlua.c:1764,1
    - Dst: httpclient_stop_and_destroy
      Src: /src/haproxy/src/hlua.c:1765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hlua
    argTypes:
    - struct hlua*
    constantsTouched: []
    func_position:
      end: 1768
      start: 1747
    functionDepth: 1
    functionLinenumber: 1747
    functionLinenumberEnd: 1768
    functionName: hlua_httpclient_destroy_all
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - typeof
    - httpclient_stop_and_destroy
    - MT_LIST_POP
    linkageType: ''
    returnType: void
    signature: hlua_httpclient_destroy_all(struct hlua *hlua)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_httpclient_destroy_all
      Src: /src/haproxy/src/hlua.c:1784,1
    - Dst: notification_purge
      Src: /src/haproxy/src/hlua.c:1787,1
    - Dst: SET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:1789,1
    - Dst: luaL_unref
      Src: /src/haproxy/src/hlua.c:1791,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:1792,1
    - Dst: SET_SAFE_LJMP_PARENT
      Src: /src/haproxy/src/hlua.c:1794,1
    - Dst: luaL_unref
      Src: /src/haproxy/src/hlua.c:1796,1
    - Dst: RESET_SAFE_LJMP_PARENT
      Src: /src/haproxy/src/hlua.c:1797,1
    - Dst: SET_SAFE_LJMP_PARENT
      Src: /src/haproxy/src/hlua.c:1808,1
    - Dst: lua_gc
      Src: /src/haproxy/src/hlua.c:1810,1
    - Dst: RESET_SAFE_LJMP_PARENT
      Src: /src/haproxy/src/hlua.c:1811,1
    - Dst: pool_free
      Src: /src/haproxy/src/hlua.c:1817,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - lua
    argTypes:
    - struct hlua*
    constantsTouched: []
    func_position:
      end: 1818
      start: 1775
    functionDepth: 2
    functionLinenumber: 1775
    functionLinenumberEnd: 1818
    functionName: hlua_ctx_destroy
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - RESET_SAFE_LJMP
    - SET_SAFE_LJMP
    - RESET_SAFE_LJMP_PARENT
    - luaL_unref
    - lua_gc
    - pool_free
    - notification_purge
    - hlua_httpclient_destroy_all
    - SET_SAFE_LJMP_PARENT
    linkageType: ''
    returnType: void
    signature: hlua_ctx_destroy(struct hlua *lua)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SET_SAFE_LJMP_PARENT
      Src: /src/haproxy/src/hlua.c:1832,1
    - Dst: lua_newthread
      Src: /src/haproxy/src/hlua.c:1836,1
    - Dst: RESET_SAFE_LJMP_PARENT
      Src: /src/haproxy/src/hlua.c:1838,1
    - Dst: lua_xmove
      Src: /src/haproxy/src/hlua.c:1844,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:1847,1
    - Dst: lua_xmove
      Src: /src/haproxy/src/hlua.c:1848,1
    - Dst: luaL_ref
      Src: /src/haproxy/src/hlua.c:1849,1
    - Dst: luaL_unref
      Src: /src/haproxy/src/hlua.c:1852,1
    - Dst: luaL_unref
      Src: /src/haproxy/src/hlua.c:1855,1
    - Dst: luaL_ref
      Src: /src/haproxy/src/hlua.c:1860,1
    - Dst: RESET_SAFE_LJMP_PARENT
      Src: /src/haproxy/src/hlua.c:1862,1
    - Dst: hlua_sethlua
      Src: /src/haproxy/src/hlua.c:1865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - lua
    - keep_msg
    argTypes:
    - struct hlua*
    - int
    constantsTouched: []
    func_position:
      end: 1868
      start: 1827
    functionDepth: 1
    functionLinenumber: 1827
    functionLinenumberEnd: 1868
    functionName: hlua_ctx_renew
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_ref
    - RESET_SAFE_LJMP_PARENT
    - luaL_unref
    - lua_xmove
    - lua_newthread
    - hlua_sethlua
    - lua_rawgeti
    - SET_SAFE_LJMP_PARENT
    linkageType: ''
    returnType: int
    signature: hlua_ctx_renew(struct hlua *lua, int keep_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - state_id
    argTypes:
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 1877
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1877
    functionName: hlua_stream_ctx_get
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct hlua
    signature: '*hlua_stream_ctx_get(struct stream *s, int state_id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/hlua.c:1896,1
    - Dst: HLUA_INIT
      Src: /src/haproxy/src/hlua.c:1899,1
    - Dst: hlua_ctx_init
      Src: /src/haproxy/src/hlua.c:1900,1
    - Dst: pool_free
      Src: /src/haproxy/src/hlua.c:1901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - s
    - state_id
    argTypes:
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 1907
      start: 1886
    functionDepth: 2
    functionLinenumber: 1886
    functionLinenumberEnd: 1907
    functionName: hlua_stream_ctx_prepare
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - pool_free
    - HLUA_INIT
    - hlua_ctx_init
    - pool_alloc
    linkageType: ''
    returnType: struct hlua
    signature: '*hlua_stream_ctx_prepare(struct stream *s, int state_id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:1915,1
    - Dst: lua_gethookmask
      Src: /src/haproxy/src/hlua.c:1935,1
    - Dst: lua_sethook
      Src: /src/haproxy/src/hlua.c:1936,1
    - Dst: lua_isyieldable
      Src: /src/haproxy/src/hlua.c:1943,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:1950,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:1950,1
    - Dst: hlua_timer_check
      Src: /src/haproxy/src/hlua.c:1967,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:1970,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:1972,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:1973,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:1973,1
    - Dst: lua_sethook
      Src: /src/haproxy/src/hlua.c:1979,1
    - Dst: hlua_get_nb_instruction
      Src: /src/haproxy/src/hlua.c:1979,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - L
    - ar
    argTypes:
    - lua_State*
    - lua_Debug*
    constantsTouched: []
    func_position:
      end: 1980
      start: 1909
    functionDepth: 2
    functionLinenumber: 1909
    functionLinenumberEnd: 1980
    functionName: hlua_hook
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_isyieldable
    - lua_pushfstring
    - lua_gethookmask
    - hlua_get_nb_instruction
    - hlua_timer_check
    - lua_error
    - MAY_LJMP
    - hlua_yieldk
    - hlua_gethlua
    - WILL_LJMP
    - lua_sethook
    linkageType: ''
    returnType: void
    signature: hlua_hook(lua_State *L, lua_Debug *ar)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:2009,1
    - Dst: hlua_timer_reset
      Src: /src/haproxy/src/hlua.c:2015,1
    - Dst: lua_sethook
      Src: /src/haproxy/src/hlua.c:2022,1
    - Dst: hlua_get_nb_instruction
      Src: /src/haproxy/src/hlua.c:2022,1
    - Dst: HLUA_SET_RUN
      Src: /src/haproxy/src/hlua.c:2025,1
    - Dst: HLUA_CLR_CTRLYIELD
      Src: /src/haproxy/src/hlua.c:2026,1
    - Dst: HLUA_CLR_WAKERESWR
      Src: /src/haproxy/src/hlua.c:2027,1
    - Dst: HLUA_CLR_WAKEREQWR
      Src: /src/haproxy/src/hlua.c:2028,1
    - Dst: HLUA_CLR_NOYIELD
      Src: /src/haproxy/src/hlua.c:2029,1
    - Dst: HLUA_SET_NOYIELD
      Src: /src/haproxy/src/hlua.c:2031,1
    - Dst: hlua_timer_start
      Src: /src/haproxy/src/hlua.c:2037,1
    - Dst: HLUA_SET_BUSY
      Src: /src/haproxy/src/hlua.c:2039,1
    - Dst: lua_resume
      Src: /src/haproxy/src/hlua.c:2043,1
    - Dst: lua_resume
      Src: /src/haproxy/src/hlua.c:2045,1
    - Dst: HLUA_CLR_BUSY
      Src: /src/haproxy/src/hlua.c:2048,1
    - Dst: hlua_timer_stop
      Src: /src/haproxy/src/hlua.c:2051,1
    - Dst: hlua_timer_check
      Src: /src/haproxy/src/hlua.c:2074,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:2080,1
    - Dst: HLUA_IS_CTRLYIELDING
      Src: /src/haproxy/src/hlua.c:2090,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/hlua.c:2093,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:2096,1
    - Dst: hlua_ctx_renew
      Src: /src/haproxy/src/hlua.c:2111,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:2116,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:2120,1
    - Dst: hlua_traceback
      Src: /src/haproxy/src/hlua.c:2121,1
    - Dst: hlua_pushfstring_safe
      Src: /src/haproxy/src/hlua.c:2123,1
    - Dst: hlua_pushfstring_safe
      Src: /src/haproxy/src/hlua.c:2126,1
    - Dst: lua_insert
      Src: /src/haproxy/src/hlua.c:2130,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:2131,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:2137,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:2143,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:2147,1
    - Dst: hlua_pushfstring_safe
      Src: /src/haproxy/src/hlua.c:2149,1
    - Dst: hlua_pushfstring_safe
      Src: /src/haproxy/src/hlua.c:2152,1
    - Dst: lua_insert
      Src: /src/haproxy/src/hlua.c:2156,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:2157,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:2163,1
    - Dst: notification_purge
      Src: /src/haproxy/src/hlua.c:2173,1
    - Dst: hlua_ctx_renew
      Src: /src/haproxy/src/hlua.c:2174,1
    - Dst: HLUA_CLR_RUN
      Src: /src/haproxy/src/hlua.c:2175,1
    - Dst: HLUA_CLR_RUN
      Src: /src/haproxy/src/hlua.c:2183,1
    - Dst: notification_purge
      Src: /src/haproxy/src/hlua.c:2184,1
    - Dst: hlua_ctx_renew
      Src: /src/haproxy/src/hlua.c:2185,1
    - Dst: HLUA_CLR_RUN
      Src: /src/haproxy/src/hlua.c:2189,1
    - Dst: notification_purge
      Src: /src/haproxy/src/hlua.c:2190,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:2195,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 117
    argCount: 2
    argNames:
    - lua
    - yield_allowed
    argTypes:
    - struct hlua*
    - int
    constantsTouched: []
    func_position:
      end: 2198
      start: 1997
    functionDepth: 4
    functionLinenumber: 1997
    functionLinenumberEnd: 2198
    functionName: hlua_ctx_resume
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - HLUA_CLR_WAKEREQWR
    - hlua_tostring_safe
    - hlua_lock
    - HLUA_SET_RUN
    - hlua_timer_reset
    - HLUA_CLR_CTRLYIELD
    - hlua_ctx_renew
    - hlua_timer_stop
    - hlua_traceback
    - HLUA_CLR_NOYIELD
    - hlua_unlock
    - hlua_pushfstring_safe
    - task_wakeup
    - hlua_timer_check
    - HLUA_CLR_WAKERESWR
    - hlua_timer_start
    - hlua_get_nb_instruction
    - notification_purge
    - lua_resume
    - HLUA_IS_CTRLYIELDING
    - lua_insert
    - HLUA_SET_BUSY
    - lua_settop
    - HLUA_CLR_BUSY
    - HLUA_CLR_RUN
    - lua_checkstack
    - HLUA_SET_NOYIELD
    - lua_sethook
    linkageType: ''
    returnType: enum hlua_exec
    signature: hlua_ctx_resume(struct hlua *lua, int yield_allowed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:2206,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2211,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:2211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2214
      start: 2201
    functionDepth: 1
    functionLinenumber: 2201
    functionLinenumberEnd: 2214
    functionName: hlua_done
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_error
    - hlua_gethlua
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_done(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2225,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:2225,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2227,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:2227,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2228,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:2228,1
    - Dst: pat_ref_lookup
      Src: /src/haproxy/src/hlua.c:2230,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2232,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:2232,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/hlua.c:2234,1
    - Dst: pat_ref_delete
      Src: /src/haproxy/src/hlua.c:2235,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua.c:2236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2238
      start: 2219
    functionDepth: 1
    functionLinenumber: 2219
    functionLinenumberEnd: 2238
    functionName: hlua_del_acl
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - pat_ref_lookup
    - luaL_error
    - check_args
    - HA_RWLOCK_WRUNLOCK
    - pat_ref_delete
    - MAY_LJMP
    - luaL_checkstring
    - HA_RWLOCK_WRLOCK
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_del_acl(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2249,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:2249,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2251,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:2251,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2252,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:2252,1
    - Dst: pat_ref_lookup
      Src: /src/haproxy/src/hlua.c:2254,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2256,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:2256,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/hlua.c:2258,1
    - Dst: pat_ref_delete
      Src: /src/haproxy/src/hlua.c:2259,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua.c:2260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2262
      start: 2243
    functionDepth: 1
    functionLinenumber: 2243
    functionLinenumberEnd: 2262
    functionName: hlua_del_map
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - pat_ref_lookup
    - luaL_error
    - check_args
    - HA_RWLOCK_WRUNLOCK
    - pat_ref_delete
    - MAY_LJMP
    - luaL_checkstring
    - HA_RWLOCK_WRLOCK
    - WILL_LJMP
    linkageType: ''
    returnType: int
    signature: hlua_del_map(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2273,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:2273,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2275,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:2275,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2276,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:2276,1
    - Dst: pat_ref_lookup
      Src: /src/haproxy/src/hlua.c:2278,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2280,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:2280,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/hlua.c:2282,1
    - Dst: pat_ref_find_elt
      Src: /src/haproxy/src/hlua.c:2283,1
    - Dst: pat_ref_add
      Src: /src/haproxy/src/hlua.c:2284,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua.c:2285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2287
      start: 2267
    functionDepth: 1
    functionLinenumber: 2267
    functionLinenumberEnd: 2287
    functionName: hlua_add_acl
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - pat_ref_find_elt
    - pat_ref_lookup
    - pat_ref_add
    - luaL_error
    - check_args
    - HA_RWLOCK_WRUNLOCK
    - MAY_LJMP
    - luaL_checkstring
    - HA_RWLOCK_WRLOCK
    - WILL_LJMP
    linkageType: ''
    returnType: int
    signature: hlua_add_acl(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2301,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:2301,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2303,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:2303,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2304,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:2304,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2305,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:2305,1
    - Dst: pat_ref_lookup
      Src: /src/haproxy/src/hlua.c:2307,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2309,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:2309,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/hlua.c:2311,1
    - Dst: pat_ref_find_elt
      Src: /src/haproxy/src/hlua.c:2312,1
    - Dst: pat_ref_set_elt_duplicate
      Src: /src/haproxy/src/hlua.c:2314,1
    - Dst: pat_ref_add
      Src: /src/haproxy/src/hlua.c:2316,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua.c:2317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2319
      start: 2293
    functionDepth: 1
    functionLinenumber: 2293
    functionLinenumberEnd: 2319
    functionName: hlua_set_map
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - pat_ref_find_elt
    - pat_ref_lookup
    - pat_ref_add
    - luaL_error
    - check_args
    - HA_RWLOCK_WRUNLOCK
    - MAY_LJMP
    - luaL_checkstring
    - HA_RWLOCK_WRLOCK
    - WILL_LJMP
    - pat_ref_set_elt_duplicate
    linkageType: ''
    returnType: int
    signature: hlua_set_map(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2329,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:2329,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2331,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:2331,1
    - Dst: pat_ref_lookup
      Src: /src/haproxy/src/hlua.c:2333,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2335,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:2335,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2338,1
    - Dst: hlua_fcn_new_patref
      Src: /src/haproxy/src/hlua.c:2338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2341
      start: 2324
    functionDepth: 1
    functionLinenumber: 2324
    functionLinenumberEnd: 2341
    functionName: hlua_get_patref
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - pat_ref_lookup
    - luaL_error
    - check_args
    - MAY_LJMP
    - luaL_checkstring
    - WILL_LJMP
    - hlua_fcn_new_patref
    linkageType: ''
    returnType: int
    signature: hlua_get_patref(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2352,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:2352,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2354,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:2354,1
    - Dst: strncmp
      Src: /src/haproxy/src/hlua.c:2358,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2359,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:2359,1
    - Dst: memset
      Src: /src/haproxy/src/hlua.c:2361,1
    - Dst: vars_get_by_name
      Src: /src/haproxy/src/hlua.c:2362,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:2363,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2367,1
    - Dst: hlua_smp2lua
      Src: /src/haproxy/src/hlua.c:2367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2368
      start: 2346
    functionDepth: 3
    functionLinenumber: 2346
    functionLinenumberEnd: 2368
    functionName: hlua_core_get_var
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - strncmp
    - hlua_smp2lua
    - luaL_error
    - vars_get_by_name
    - check_args
    - MAY_LJMP
    - memset
    - luaL_checklstring
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_core_get_var(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:2378,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2379,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:2379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2383
      start: 2376
    functionDepth: 1
    functionLinenumber: 2376
    functionLinenumberEnd: 2383
    functionName: hlua_disable_legacy_mailers
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_gethlua
    - WILL_LJMP
    - luaL_error
    linkageType: ''
    returnType: __LJMP
    signature: hlua_disable_legacy_mailers(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2489,1
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua.c:2489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 2490
      start: 2487
    functionDepth: 1
    functionLinenumber: 2487
    functionLinenumberEnd: 2490
    functionName: hlua_checkmap
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - MAY_LJMP
    - hlua_checkudata
    linkageType: ''
    returnType: __LJMP
    signature: '*hlua_checkmap(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:2508,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:2508,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2509,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:2509,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2511,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:2511,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:2513,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2514,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:2514,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2516,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:2516,1
    - Dst: lua_getstack
      Src: /src/haproxy/src/hlua.c:2520,1
    - Dst: lua_getinfo
      Src: /src/haproxy/src/hlua.c:2521,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2546,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:2546,1
    - Dst: strdup
      Src: /src/haproxy/src/hlua.c:2551,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:2552,1
    - Dst: sample_load_map
      Src: /src/haproxy/src/hlua.c:2557,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:2561,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:2562,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/hlua.c:2563,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2564,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:2564,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:2568,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:2569,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:2570,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:2573,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua.c:2574,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 2578
      start: 2497
    functionDepth: 1
    functionLinenumber: 2497
    functionLinenumberEnd: 2578
    functionName: hlua_map_new
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chunk_destroy
    - sample_load_map
    - lua_error
    - lua_rawseti
    - lua_rawgeti
    - luaL_error
    - luaL_checkinteger
    - free
    - MAY_LJMP
    - lua_pushlightuserdata
    - lua_newtable
    - lua_getstack
    - strlen
    - strdup
    - lua_setmetatable
    - lua_gettop
    - WILL_LJMP
    - lua_getinfo
    - hlua_pusherror
    - luaL_checkstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_map_new(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2586,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:2586,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2587,1
    - Dst: hlua_checkmap
      Src: /src/haproxy/src/hlua.c:2587,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2590,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:2590,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2595,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:2595,1
    - Dst: pattern_exec_match
      Src: /src/haproxy/src/hlua.c:2599,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:2602,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:2604,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:2609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - L
    - str
    argTypes:
    - struct lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 2611
      start: 2580
    functionDepth: 2
    functionLinenumber: 2580
    functionLinenumberEnd: 2611
    functionName: _hlua_map_lookup
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - hlua_checkmap
    - pattern_exec_match
    - lua_pushnil
    - lua_pushlstring
    - luaL_checkinteger
    - check_args
    - MAY_LJMP
    - luaL_checklstring
    linkageType: ''
    returnType: __LJMP
    signature: _hlua_map_lookup(struct lua_State *L, int str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _hlua_map_lookup
      Src: /src/haproxy/src/hlua.c:2615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 2616
      start: 2613
    functionDepth: 3
    functionLinenumber: 2613
    functionLinenumberEnd: 2616
    functionName: hlua_map_lookup
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 1
    functionsReached:
    - _hlua_map_lookup
    linkageType: ''
    returnType: __LJMP
    signature: hlua_map_lookup(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _hlua_map_lookup
      Src: /src/haproxy/src/hlua.c:2620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 2621
      start: 2618
    functionDepth: 3
    functionLinenumber: 2618
    functionLinenumberEnd: 2621
    functionName: hlua_map_slookup
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - _hlua_map_lookup
    linkageType: ''
    returnType: __LJMP
    signature: hlua_map_slookup(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2633,1
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua.c:2633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 2634
      start: 2631
    functionDepth: 1
    functionLinenumber: 2631
    functionLinenumberEnd: 2634
    functionName: hlua_checksocket
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - MAY_LJMP
    - hlua_checkudata
    linkageType: ''
    returnType: __LJMP
    signature: '*hlua_checksocket(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:2643,1
    - Dst: unlikely
      Src: /src/haproxy/src/hlua.c:2645,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/hlua.c:2645,1
    - Dst: co_skip
      Src: /src/haproxy/src/hlua.c:2646,1
    - Dst: sc_oc
      Src: /src/haproxy/src/hlua.c:2646,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:2646,1
    - Dst: sc_oc
      Src: /src/haproxy/src/hlua.c:2646,1
    - Dst: notification_wake
      Src: /src/haproxy/src/hlua.c:2647,1
    - Dst: notification_wake
      Src: /src/haproxy/src/hlua.c:2648,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/hlua.c:2653,1
    - Dst: notification_wake
      Src: /src/haproxy/src/hlua.c:2654,1
    - Dst: notification_wake
      Src: /src/haproxy/src/hlua.c:2655,1
    - Dst: channel_output_closed
      Src: /src/haproxy/src/hlua.c:2660,1
    - Dst: sc_ic
      Src: /src/haproxy/src/hlua.c:2660,1
    - Dst: notification_wake
      Src: /src/haproxy/src/hlua.c:2661,1
    - Dst: channel_input_closed
      Src: /src/haproxy/src/hlua.c:2664,1
    - Dst: sc_oc
      Src: /src/haproxy/src/hlua.c:2664,1
    - Dst: notification_wake
      Src: /src/haproxy/src/hlua.c:2665,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/hlua.c:2670,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/hlua.c:2671,1
    - Dst: se_need_remote_conn
      Src: /src/haproxy/src/hlua.c:2672,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/hlua.c:2673,1
    - Dst: channel_may_recv
      Src: /src/haproxy/src/hlua.c:2681,1
    - Dst: sc_ic
      Src: /src/haproxy/src/hlua.c:2681,1
    - Dst: notification_wake
      Src: /src/haproxy/src/hlua.c:2682,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:2685,1
    - Dst: sc_oc
      Src: /src/haproxy/src/hlua.c:2685,1
    - Dst: notification_wake
      Src: /src/haproxy/src/hlua.c:2686,1
    - Dst: applet_wont_consume
      Src: /src/haproxy/src/hlua.c:2687,1
    - Dst: notification_registered
      Src: /src/haproxy/src/hlua.c:2693,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/hlua.c:2694,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2695
      start: 2640
    functionDepth: 1
    functionLinenumber: 2640
    functionLinenumberEnd: 2695
    functionName: hlua_socket_handler
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - channel_output_closed
    - se_fl_test
    - sc_ic
    - sc_opposite
    - co_data
    - applet_have_more_data
    - channel_input_closed
    - applet_wont_consume
    - se_need_remote_conn
    - co_skip
    - se_fl_set
    - applet_need_more_data
    - notification_registered
    - unlikely
    - sc_oc
    - channel_may_recv
    - notification_wake
    linkageType: ''
    returnType: void
    signature: hlua_socket_handler(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_finalize_startup
      Src: /src/haproxy/src/hlua.c:2702,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/hlua.c:2705,1
    - Dst: sc_set_state
      Src: /src/haproxy/src/hlua.c:2711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2727
      start: 2697
    functionDepth: 1
    functionLinenumber: 2697
    functionLinenumberEnd: 2727
    functionName: hlua_socket_init
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - sc_set_state
    - appctx_strm
    - appctx_finalize_startup
    linkageType: ''
    returnType: int
    signature: hlua_socket_init(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xref_get_peer_and_lock
      Src: /src/haproxy/src/hlua.c:2739,1
    - Dst: xref_disconnect
      Src: /src/haproxy/src/hlua.c:2741,1
    - Dst: notification_wake
      Src: /src/haproxy/src/hlua.c:2744,1
    - Dst: notification_wake
      Src: /src/haproxy/src/hlua.c:2745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2746
      start: 2733
    functionDepth: 1
    functionLinenumber: 2733
    functionLinenumberEnd: 2746
    functionName: hlua_socket_release
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - notification_wake
    - xref_disconnect
    - xref_get_peer_and_lock
    linkageType: ''
    returnType: void
    signature: hlua_socket_release(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2760,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:2760,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2762,1
    - Dst: hlua_checksocket
      Src: /src/haproxy/src/hlua.c:2762,1
    - Dst: xref_get_peer_and_lock
      Src: /src/haproxy/src/hlua.c:2763,1
    - Dst: container_of
      Src: /src/haproxy/src/hlua.c:2767,1
    - Dst: xref_disconnect
      Src: /src/haproxy/src/hlua.c:2770,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/hlua.c:2772,1
    - Dst: appctx_free
      Src: /src/haproxy/src/hlua.c:2774,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/hlua.c:2779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2783
      start: 2754
    functionDepth: 2
    functionLinenumber: 2754
    functionLinenumberEnd: 2783
    functionName: hlua_socket_gc
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    - container_of
    - xref_get_peer_and_lock
    - hlua_checksocket
    - se_fl_test
    - xref_disconnect
    - check_args
    - MAY_LJMP
    - appctx_free
    linkageType: ''
    returnType: __LJMP
    signature: hlua_socket_gc(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:2796,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2800,1
    - Dst: hlua_checksocket
      Src: /src/haproxy/src/hlua.c:2800,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2806,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:2806,1
    - Dst: xref_get_peer_and_lock
      Src: /src/haproxy/src/hlua.c:2808,1
    - Dst: container_of
      Src: /src/haproxy/src/hlua.c:2813,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/hlua.c:2817,1
    - Dst: xref_disconnect
      Src: /src/haproxy/src/hlua.c:2820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2822
      start: 2788
    functionDepth: 2
    functionLinenumber: 2788
    functionLinenumberEnd: 2822
    functionName: hlua_socket_close_helper
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    - container_of
    - xref_get_peer_and_lock
    - hlua_checksocket
    - luaL_error
    - xref_disconnect
    - MAY_LJMP
    - hlua_gethlua
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_socket_close_helper(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2828,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:2828,1
    - Dst: hlua_socket_close_helper
      Src: /src/haproxy/src/hlua.c:2829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2830
      start: 2826
    functionDepth: 3
    functionLinenumber: 2826
    functionLinenumberEnd: 2830
    functionName: hlua_socket_close
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - check_args
    - hlua_socket_close_helper
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_socket_close(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2845,1
    - Dst: hlua_checksocket
      Src: /src/haproxy/src/hlua.c:2845,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:2863,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2867,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:2867,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2874,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:2874,1
    - Dst: xref_get_peer_and_lock
      Src: /src/haproxy/src/hlua.c:2877,1
    - Dst: container_of
      Src: /src/haproxy/src/hlua.c:2881,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/hlua.c:2886,1
    - Dst: co_getline_nc
      Src: /src/haproxy/src/hlua.c:2891,1
    - Dst: co_getblk_nc
      Src: /src/haproxy/src/hlua.c:2922,1
    - Dst: co_getblk_nc
      Src: /src/haproxy/src/hlua.c:2931,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:2947,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:2950,1
    - Dst: co_skip
      Src: /src/haproxy/src/hlua.c:2954,1
    - Dst: applet_will_consume
      Src: /src/haproxy/src/hlua.c:2957,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/hlua.c:2958,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:2969,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:2970,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:2975,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:2981,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:2984,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:2985,1
    - Dst: notification_new
      Src: /src/haproxy/src/hlua.c:2990,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:2991,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:2992,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:2992,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:2994,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:2995,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:2995,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 108
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - struct lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 2997
      start: 2843
    functionDepth: 2
    functionLinenumber: 2843
    functionLinenumberEnd: 2997
    functionName: hlua_socket_receive_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_pushresult
    - xref_unlock
    - co_getblk_nc
    - applet_will_consume
    - luaL_addlstring
    - co_skip
    - notification_new
    - appctx_strm
    - appctx_wakeup
    - lua_pushnil
    - xref_get_peer_and_lock
    - luaL_error
    - MAY_LJMP
    - lua_pushstring
    - hlua_checksocket
    - co_getline_nc
    - hlua_gethlua
    - WILL_LJMP
    - hlua_yieldk
    - container_of
    linkageType: ''
    returnType: __LJMP
    signature: hlua_socket_receive_yield(struct lua_State *L, int status, lua_KContext
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:3023,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:3023,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3024,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3024,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3026,1
    - Dst: hlua_checksocket
      Src: /src/haproxy/src/hlua.c:3026,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3032,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3032,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:3035,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:3036,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:3038,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:3039,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:3041,1
    - Dst: strtoll
      Src: /src/haproxy/src/hlua.c:3044,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3046,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3046,1
    - Dst: lua_tointeger
      Src: /src/haproxy/src/hlua.c:3050,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3052,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3052,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:3057,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:3060,1
    - Dst: lua_replace
      Src: /src/haproxy/src/hlua.c:3061,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:3066,1
    - Dst: luaL_buffinit
      Src: /src/haproxy/src/hlua.c:3069,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:3073,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3074,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3074,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:3075,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:3076,1
    - Dst: __LJMP
      Src: /src/haproxy/src/hlua.c:3079,1
    - Dst: hlua_socket_receive_yield
      Src: /src/haproxy/src/hlua.c:3079,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 3080
      start: 3014
    functionDepth: 3
    functionLinenumber: 3014
    functionLinenumberEnd: 3080
    functionName: hlua_socket_receive
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_buffinit
    - hlua_checksocket
    - strcmp
    - hlua_socket_receive_yield
    - luaL_error
    - lua_replace
    - __LJMP
    - lua_pushinteger
    - luaL_addlstring
    - lua_gettop
    - MAY_LJMP
    - lua_tointeger
    - lua_tostring
    - lua_type
    - WILL_LJMP
    - lua_tolstring
    - strtoll
    linkageType: ''
    returnType: __LJMP
    signature: hlua_socket_receive(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:3101,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3105,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3105,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3109,1
    - Dst: hlua_checksocket
      Src: /src/haproxy/src/hlua.c:3109,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3110,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:3110,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3111,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:3111,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3117,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3117,1
    - Dst: xref_get_peer_and_lock
      Src: /src/haproxy/src/hlua.c:3120,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:3122,1
    - Dst: container_of
      Src: /src/haproxy/src/hlua.c:3126,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3128,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:3129,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:3134,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/hlua.c:3135,1
    - Dst: channel_output_closed
      Src: /src/haproxy/src/hlua.c:3138,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3139,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:3140,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3150,1
    - Dst: sc_alloc_ibuf
      Src: /src/haproxy/src/hlua.c:3158,1
    - Dst: b_room
      Src: /src/haproxy/src/hlua.c:3163,1
    - Dst: ci_putblk
      Src: /src/haproxy/src/hlua.c:3171,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3182,1
    - Dst: hlua_socket_close_helper
      Src: /src/haproxy/src/hlua.c:3182,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:3183,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:3184,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3185,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/hlua.c:3190,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:3193,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:3194,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3198,1
    - Dst: notification_new
      Src: /src/haproxy/src/hlua.c:3203,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3204,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3205,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3205,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3207,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3208,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:3208,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - struct lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 3210
      start: 3085
    functionDepth: 3
    functionLinenumber: 3085
    functionLinenumberEnd: 3210
    functionName: hlua_socket_write_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - b_room
    - xref_unlock
    - notification_new
    - luaL_checklstring
    - channel_output_closed
    - appctx_wakeup
    - xref_get_peer_and_lock
    - luaL_error
    - sc_alloc_ibuf
    - luaL_checkinteger
    - lua_pushinteger
    - MAY_LJMP
    - __sc_strm
    - ci_putblk
    - hlua_checksocket
    - hlua_gethlua
    - WILL_LJMP
    - hlua_yieldk
    - appctx_sc
    - lua_pop
    - container_of
    - hlua_socket_close_helper
    linkageType: ''
    returnType: int
    signature: hlua_socket_write_yield(struct lua_State *L,int status, lua_KContext
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:3233,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:3233,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3234,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3234,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3237,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:3237,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:3240,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3241,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:3241,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:3246,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:3252,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3253,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:3253,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:3258,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:3264,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:3268,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:3277,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:3282,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:3285,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3287,1
    - Dst: hlua_socket_write_yield
      Src: /src/haproxy/src/hlua.c:3287,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 3288
      start: 3225
    functionDepth: 4
    functionLinenumber: 3225
    functionLinenumberEnd: 3288
    functionName: hlua_socket_send
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_pushlstring
    - hlua_socket_write_yield
    - luaL_error
    - luaL_checkinteger
    - lua_pushinteger
    - lua_gettop
    - MAY_LJMP
    - luaL_checklstring
    - WILL_LJMP
    linkageType: ''
    returnType: int
    signature: hlua_socket_send(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_to_str
      Src: /src/haproxy/src/hlua.c:3298,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:3300,1
    - Dst: real_family
      Src: /src/haproxy/src/hlua.c:3304,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:3307,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:3312,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:3321,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:3326,1
    - Dst: port_to_str
      Src: /src/haproxy/src/hlua.c:3330,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:3331,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:3335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 2
    argNames:
    - L
    - addr
    argTypes:
    - struct lua_State*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 3337
      start: 3291
    functionDepth: 1
    functionLinenumber: 3291
    functionLinenumberEnd: 3337
    functionName: hlua_socket_info
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - real_family
    - lua_pushstring
    - lua_pushnil
    - strlen
    - addr_to_str
    - port_to_str
    linkageType: ''
    returnType: __LJMP
    signature: hlua_socket_info(struct lua_State *L, const struct sockaddr_storage
      *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3350,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:3350,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3352,1
    - Dst: hlua_checksocket
      Src: /src/haproxy/src/hlua.c:3352,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3358,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3358,1
    - Dst: xref_get_peer_and_lock
      Src: /src/haproxy/src/hlua.c:3361,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:3363,1
    - Dst: container_of
      Src: /src/haproxy/src/hlua.c:3367,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3369,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:3370,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:3375,1
    - Dst: sc_dst
      Src: /src/haproxy/src/hlua.c:3376,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/hlua.c:3376,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3378,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:3379,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3383,1
    - Dst: hlua_socket_info
      Src: /src/haproxy/src/hlua.c:3383,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 3386
      start: 3340
    functionDepth: 2
    functionLinenumber: 3340
    functionLinenumberEnd: 3386
    functionName: hlua_socket_getpeername
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - lua_pushnil
    - container_of
    - xref_get_peer_and_lock
    - hlua_checksocket
    - xref_unlock
    - sc_opposite
    - sc_dst
    - luaL_error
    - check_args
    - MAY_LJMP
    - hlua_socket_info
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_socket_getpeername(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3399,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:3399,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3401,1
    - Dst: hlua_checksocket
      Src: /src/haproxy/src/hlua.c:3401,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3407,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3407,1
    - Dst: xref_get_peer_and_lock
      Src: /src/haproxy/src/hlua.c:3410,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:3412,1
    - Dst: container_of
      Src: /src/haproxy/src/hlua.c:3416,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3418,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:3419,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/hlua.c:3424,1
    - Dst: sc_conn
      Src: /src/haproxy/src/hlua.c:3426,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/hlua.c:3427,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3428,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:3429,1
    - Dst: hlua_socket_info
      Src: /src/haproxy/src/hlua.c:3433,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 3436
      start: 3389
    functionDepth: 2
    functionLinenumber: 3389
    functionLinenumberEnd: 3436
    functionName: hlua_socket_getsockname
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - appctx_strm
    - container_of
    - xref_get_peer_and_lock
    - hlua_checksocket
    - xref_unlock
    - luaL_error
    - conn_get_src
    - check_args
    - MAY_LJMP
    - hlua_socket_info
    - WILL_LJMP
    - sc_conn
    linkageType: ''
    returnType: int
    signature: hlua_socket_getsockname(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3449,1
    - Dst: hlua_checksocket
      Src: /src/haproxy/src/hlua.c:3449,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:3457,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3465,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3465,1
    - Dst: xref_get_peer_and_lock
      Src: /src/haproxy/src/hlua.c:3468,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:3470,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:3471,1
    - Dst: container_of
      Src: /src/haproxy/src/hlua.c:3475,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/hlua.c:3477,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3483,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3484,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3484,1
    - Dst: channel_output_closed
      Src: /src/haproxy/src/hlua.c:3488,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3489,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:3490,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:3491,1
    - Dst: __sc_appctx
      Src: /src/haproxy/src/hlua.c:3495,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3499,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:3500,1
    - Dst: notification_new
      Src: /src/haproxy/src/hlua.c:3504,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3505,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3506,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3506,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3508,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3509,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:3509,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - struct lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 3511
      start: 3447
    functionDepth: 2
    functionLinenumber: 3447
    functionLinenumberEnd: 3511
    functionName: hlua_socket_connect_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - lua_pushstring
    - container_of
    - appctx_strm
    - xref_get_peer_and_lock
    - hlua_checksocket
    - xref_unlock
    - channel_output_closed
    - __sc_appctx
    - luaL_error
    - lua_pushinteger
    - notification_new
    - MAY_LJMP
    - hlua_gethlua
    - WILL_LJMP
    - hlua_yieldk
    linkageType: ''
    returnType: __LJMP
    signature: hlua_socket_connect_yield(struct lua_State *L, int status, lua_KContext
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:3528,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:3532,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3533,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3533,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3536,1
    - Dst: hlua_checksocket
      Src: /src/haproxy/src/hlua.c:3536,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3542,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3542,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3544,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:3544,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:3545,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3547,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:3547,1
    - Dst: luaL_buffinit
      Src: /src/haproxy/src/hlua.c:3553,1
    - Dst: luaL_addstring
      Src: /src/haproxy/src/hlua.c:3554,1
    - Dst: luaL_addchar
      Src: /src/haproxy/src/hlua.c:3555,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:3556,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:3557,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:3557,1
    - Dst: xref_get_peer_and_lock
      Src: /src/haproxy/src/hlua.c:3562,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:3564,1
    - Dst: container_of
      Src: /src/haproxy/src/hlua.c:3568,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/hlua.c:3573,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3576,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3577,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3577,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3584,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3585,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3585,1
    - Dst: htons
      Src: /src/haproxy/src/hlua.c:3587,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3590,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3591,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3591,1
    - Dst: htons
      Src: /src/haproxy/src/hlua.c:3593,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:3598,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3599,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3600,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3600,1
    - Dst: appctx_init
      Src: /src/haproxy/src/hlua.c:3603,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3604,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3605,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3605,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:3608,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/hlua.c:3610,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/hlua.c:3610,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3611,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3612,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3612,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/hlua.c:3618,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/hlua.c:3619,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/hlua.c:3620,1
    - Dst: notification_new
      Src: /src/haproxy/src/hlua.c:3622,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3623,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3624,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3624,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3626,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3629,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:3629,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 73
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 3632
      start: 3514
    functionDepth: 2
    functionLinenumber: 3514
    functionLinenumberEnd: 3632
    functionName: hlua_socket_connect
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_pushresult
    - xref_unlock
    - notification_new
    - applet_need_more_data
    - applet_have_more_data
    - luaL_buffinit
    - luaL_addchar
    - lua_pushnil
    - appctx_wakeup
    - xref_get_peer_and_lock
    - luaL_error
    - luaL_checkinteger
    - MAY_LJMP
    - appctx_init
    - hlua_checksocket
    - str2sa_range
    - sockaddr_alloc
    - luaL_addstring
    - lua_gettop
    - hlua_gethlua
    - htons
    - WILL_LJMP
    - lua_tolstring
    - hlua_yieldk
    - appctx_sc
    - container_of
    - sc_opposite
    - luaL_checkstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_socket_connect(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3640,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:3640,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3641,1
    - Dst: hlua_checksocket
      Src: /src/haproxy/src/hlua.c:3641,1
    - Dst: xref_get_peer_and_lock
      Src: /src/haproxy/src/hlua.c:3644,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:3646,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3652,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3653,1
    - Dst: hlua_socket_connect
      Src: /src/haproxy/src/hlua.c:3653,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 3654
      start: 3635
    functionDepth: 3
    functionLinenumber: 3635
    functionLinenumberEnd: 3654
    functionName: hlua_socket_connect_ssl
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - xref_get_peer_and_lock
    - hlua_checksocket
    - xref_unlock
    - check_args
    - MAY_LJMP
    - hlua_socket_connect
    linkageType: ''
    returnType: __LJMP
    signature: hlua_socket_connect_ssl(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 3660
      start: 3657
    functionDepth: 0
    functionLinenumber: 3657
    functionLinenumberEnd: 3660
    functionName: hlua_socket_setoption
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __LJMP
    signature: hlua_socket_setoption(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3672,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:3672,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3674,1
    - Dst: hlua_checksocket
      Src: /src/haproxy/src/hlua.c:3674,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3677,1
    - Dst: luaL_checknumber
      Src: /src/haproxy/src/hlua.c:3677,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3681,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3681,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3684,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3684,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/hlua.c:3686,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3694,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:3694,1
    - Dst: xref_get_peer_and_lock
      Src: /src/haproxy/src/hlua.c:3697,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:3699,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3700,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:3700,1
    - Dst: container_of
      Src: /src/haproxy/src/hlua.c:3704,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:3708,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/hlua.c:3711,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/hlua.c:3717,1
    - Dst: tick_first
      Src: /src/haproxy/src/hlua.c:3718,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/hlua.c:3718,1
    - Dst: task_queue
      Src: /src/haproxy/src/hlua.c:3719,1
    - Dst: xref_unlock
      Src: /src/haproxy/src/hlua.c:3722,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:3723,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 3725
      start: 3662
    functionDepth: 2
    functionLinenumber: 3662
    functionLinenumberEnd: 3725
    functionName: hlua_socket_settimeout
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - xref_unlock
    - lua_error
    - appctx_strm
    - xref_get_peer_and_lock
    - luaL_error
    - task_queue
    - lua_pushinteger
    - MAY_LJMP
    - tick_is_expired
    - hlua_checksocket
    - tick_add_ifset
    - MS_TO_TICKS
    - luaL_checknumber
    - WILL_LJMP
    - appctx_sc
    - container_of
    - check_args
    - tick_first
    - hlua_pusherror
    linkageType: ''
    returnType: __LJMP
    signature: hlua_socket_settimeout(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:3735,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:3740,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:3741,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:3746,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3747,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua.c:3747,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:3748,1
    - Dst: memset
      Src: /src/haproxy/src/hlua.c:3749,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:3754,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:3759,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua.c:3760,1
    - Dst: appctx_new_here
      Src: /src/haproxy/src/hlua.c:3763,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:3765,1
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/hlua.c:3768,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/hlua.c:3774,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/hlua.c:3775,1
    - Dst: xref_create
      Src: /src/haproxy/src/hlua.c:3780,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3784,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:3784,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 3786
      start: 3727
    functionDepth: 1
    functionLinenumber: 3727
    functionLinenumberEnd: 3786
    functionName: hlua_socket_new
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_newuserdata
    - memset
    - xref_create
    - lua_rawgeti
    - lua_setmetatable
    - lua_rawseti
    - hlua_pusherror
    - lua_error
    - MAY_LJMP
    - lua_checkstack
    - lua_newtable
    - hlua_gethlua
    - MT_LIST_INIT
    - WILL_LJMP
    - applet_reserve_svcctx
    - appctx_new_here
    linkageType: ''
    returnType: __LJMP
    signature: hlua_socket_new(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3801,1
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua.c:3801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 3802
      start: 3799
    functionDepth: 1
    functionLinenumber: 3799
    functionLinenumberEnd: 3802
    functionName: hlua_checkchannel
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - MAY_LJMP
    - hlua_checkudata
    linkageType: ''
    returnType: __LJMP
    signature: '*hlua_checkchannel(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:3810,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:3813,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:3814,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:3815,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:3818,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua.c:3819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - L
    - channel
    argTypes:
    - lua_State*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 3821
      start: 3807
    functionDepth: 0
    functionLinenumber: 3807
    functionLinenumberEnd: 3821
    functionName: hlua_channel_new
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_checkstack
    - lua_setmetatable
    - lua_rawseti
    - lua_pushlightuserdata
    - lua_rawgeti
    - lua_newtable
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_new(lua_State *L, struct channel *channel)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:3832,1
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua.c:3835,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:3837,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:3838,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:3839,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:3843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - L
    - ud
    - chn
    - offset
    - len
    argTypes:
    - lua_State*
    - int
    - struct channel*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 3845
      start: 3828
    functionDepth: 1
    functionLinenumber: 3828
    functionLinenumberEnd: 3845
    functionName: hlua_channel_filter
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_touserdata
    - CHN_IDX
    - lua_getfield
    - hlua_filter_from_payload
    linkageType: ''
    returnType: struct filter
    signature: '*hlua_channel_filter(lua_State *L, int ud, struct channel *chn, size_t
      *offset, size_t *len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_contig_data
      Src: /src/haproxy/src/hlua.c:3859,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/hlua.c:3859,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/hlua.c:3860,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/hlua.c:3860,1
    - Dst: luaL_buffinit
      Src: /src/haproxy/src/hlua.c:3863,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:3864,1
    - Dst: b_peek
      Src: /src/haproxy/src/hlua.c:3864,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:3866,1
    - Dst: b_orig
      Src: /src/haproxy/src/hlua.c:3866,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:3867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - chn
    - L
    - offset
    - len
    argTypes:
    - struct channel*
    - lua_State*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 3869
      start: 3853
    functionDepth: 1
    functionLinenumber: 3853
    functionLinenumberEnd: 3869
    functionName: _hlua_channel_dup
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_buffinit
    - luaL_pushresult
    - b_peek
    - b_contig_data
    - luaL_addlstring
    - b_orig
    - b_peek_ofs
    linkageType: ''
    returnType: int
    signature: _hlua_channel_dup(struct channel *chn, lua_State *L, size_t offset,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/hlua.c:3880,1
    - Dst: istlen
      Src: /src/haproxy/src/hlua.c:3880,1
    - Dst: istlen
      Src: /src/haproxy/src/hlua.c:3883,1
    - Dst: c_room
      Src: /src/haproxy/src/hlua.c:3883,1
    - Dst: b_insert_blk
      Src: /src/haproxy/src/hlua.c:3887,1
    - Dst: istptr
      Src: /src/haproxy/src/hlua.c:3887,1
    - Dst: istlen
      Src: /src/haproxy/src/hlua.c:3887,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - chn
    - L
    - str
    - offset
    argTypes:
    - struct channel*
    - lua_State*
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 3891
      start: 3875
    functionDepth: 1
    functionLinenumber: 3875
    functionLinenumberEnd: 3891
    functionName: _hlua_channel_insert
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - b_insert_blk
    - c_room
    - istlen
    - istptr
    - unlikely
    linkageType: ''
    returnType: int
    signature: _hlua_channel_insert(struct channel *chn, lua_State *L, struct ist
      str, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek
      Src: /src/haproxy/src/hlua.c:3899,1
    - Dst: b_tail
      Src: /src/haproxy/src/hlua.c:3899,1
    - Dst: b_move
      Src: /src/haproxy/src/hlua.c:3900,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/hlua.c:3900,1
    - Dst: b_data
      Src: /src/haproxy/src/hlua.c:3901,1
    - Dst: b_sub
      Src: /src/haproxy/src/hlua.c:3902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - chn
    - offset
    - len
    argTypes:
    - struct channel*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 3903
      start: 3895
    functionDepth: 1
    functionLinenumber: 3895
    functionLinenumberEnd: 3903
    functionName: _hlua_channel_delete
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - b_peek
    - b_move
    - b_tail
    - b_sub
    - b_data
    - b_peek_ofs
    linkageType: ''
    returnType: void
    signature: _hlua_channel_delete(struct channel *chn, size_t offset, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3920,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:3920,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:3922,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:3923,1
    - Dst: hlua_channel_filter
      Src: /src/haproxy/src/hlua.c:3925,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:3926,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3927,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:3927,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:3930,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3931,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:3931,1
    - Dst: MAX
      Src: /src/haproxy/src/hlua.c:3933,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:3936,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3937,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:3937,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:3941,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3942,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:3942,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:3948,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:3949,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:3949,1
    - Dst: HLUA_CANT_YIELD
      Src: /src/haproxy/src/hlua.c:3957,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:3957,1
    - Dst: channel_input_closed
      Src: /src/haproxy/src/hlua.c:3957,1
    - Dst: channel_may_recv
      Src: /src/haproxy/src/hlua.c:3957,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3959,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:3959,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:3964,1
    - Dst: _hlua_channel_dup
      Src: /src/haproxy/src/hlua.c:3973,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 3975
      start: 3913
    functionDepth: 2
    functionLinenumber: 3913
    functionLinenumberEnd: 3975
    functionName: hlua_channel_get_data_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_error
    - _hlua_channel_dup
    - lua_pushnil
    - lua_pushfstring
    - co_data
    - MAX
    - luaL_checkinteger
    - MAY_LJMP
    - hlua_filter_from_payload
    - channel_may_recv
    - channel_input_closed
    - HLUA_CANT_YIELD
    - lua_gettop
    - hlua_gethlua
    - WILL_LJMP
    - hlua_yieldk
    - ci_data
    - hlua_channel_filter
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_get_data_yield(lua_State *L, int status, lua_KContext
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:3995,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:3995,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:3996,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:3997,1
    - Dst: hlua_channel_filter
      Src: /src/haproxy/src/hlua.c:3999,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:4000,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4001,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4001,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4004,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4005,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:4005,1
    - Dst: MAX
      Src: /src/haproxy/src/hlua.c:4007,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4010,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4011,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4011,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4016,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4017,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:4017,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4023,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4024,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4024,1
    - Dst: b_peek
      Src: /src/haproxy/src/hlua.c:4031,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4040,1
    - Dst: HLUA_CANT_YIELD
      Src: /src/haproxy/src/hlua.c:4041,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:4041,1
    - Dst: channel_input_closed
      Src: /src/haproxy/src/hlua.c:4041,1
    - Dst: channel_may_recv
      Src: /src/haproxy/src/hlua.c:4041,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4043,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:4043,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:4048,1
    - Dst: _hlua_channel_dup
      Src: /src/haproxy/src/hlua.c:4057,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 4059
      start: 3988
    functionDepth: 2
    functionLinenumber: 3988
    functionLinenumberEnd: 4059
    functionName: hlua_channel_get_line_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_error
    - _hlua_channel_dup
    - lua_pushnil
    - lua_pushfstring
    - co_data
    - b_peek
    - MAX
    - luaL_checkinteger
    - MAY_LJMP
    - hlua_filter_from_payload
    - channel_may_recv
    - channel_input_closed
    - HLUA_CANT_YIELD
    - lua_gettop
    - hlua_gethlua
    - WILL_LJMP
    - hlua_yieldk
    - ci_data
    - hlua_channel_filter
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_get_line_yield(lua_State *L, int status, lua_KContext
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4075,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:4075,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4076,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4076,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:4077,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:4077,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4078,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4079,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4079,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:4082,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4083,1
    - Dst: hlua_channel_filter
      Src: /src/haproxy/src/hlua.c:4085,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:4086,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4087,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4087,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4089,1
    - Dst: channel_input_closed
      Src: /src/haproxy/src/hlua.c:4089,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:4090,1
    - Dst: _hlua_channel_dup
      Src: /src/haproxy/src/hlua.c:4094,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4096
      start: 4069
    functionDepth: 2
    functionLinenumber: 4069
    functionLinenumberEnd: 4096
    functionName: hlua_channel_dup
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 3
    functionsReached:
    - lua_pushnil
    - chn_strm
    - lua_pushfstring
    - co_data
    - channel_input_closed
    - IS_HTX_STRM
    - check_args
    - lua_error
    - MAY_LJMP
    - ci_data
    - _hlua_channel_dup
    - hlua_filter_from_payload
    - WILL_LJMP
    - hlua_checkchannel
    - hlua_channel_filter
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_dup(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4114,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:4114,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4115,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4115,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:4116,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:4116,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4117,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4118,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4118,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:4121,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4122,1
    - Dst: hlua_channel_filter
      Src: /src/haproxy/src/hlua.c:4124,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:4125,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4126,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4126,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4128,1
    - Dst: channel_input_closed
      Src: /src/haproxy/src/hlua.c:4128,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:4129,1
    - Dst: _hlua_channel_dup
      Src: /src/haproxy/src/hlua.c:4133,1
    - Dst: _hlua_channel_delete
      Src: /src/haproxy/src/hlua.c:4134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4136
      start: 4107
    functionDepth: 2
    functionLinenumber: 4107
    functionLinenumberEnd: 4136
    functionName: hlua_channel_get
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - chn_strm
    - lua_pushfstring
    - co_data
    - channel_input_closed
    - IS_HTX_STRM
    - check_args
    - lua_error
    - _hlua_channel_delete
    - MAY_LJMP
    - ci_data
    - _hlua_channel_dup
    - hlua_filter_from_payload
    - WILL_LJMP
    - hlua_checkchannel
    - hlua_channel_filter
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_get(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4153,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4153,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:4155,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4156,1
    - Dst: hlua_channel_filter
      Src: /src/haproxy/src/hlua.c:4158,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:4159,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4160,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4160,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4162,1
    - Dst: channel_input_closed
      Src: /src/haproxy/src/hlua.c:4162,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:4163,1
    - Dst: b_peek
      Src: /src/haproxy/src/hlua.c:4168,1
    - Dst: HLUA_CANT_YIELD
      Src: /src/haproxy/src/hlua.c:4174,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:4174,1
    - Dst: channel_input_closed
      Src: /src/haproxy/src/hlua.c:4174,1
    - Dst: channel_may_recv
      Src: /src/haproxy/src/hlua.c:4174,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4176,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:4176,1
    - Dst: _hlua_channel_dup
      Src: /src/haproxy/src/hlua.c:4180,1
    - Dst: _hlua_channel_delete
      Src: /src/haproxy/src/hlua.c:4181,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 4183
      start: 4146
    functionDepth: 2
    functionLinenumber: 4146
    functionLinenumberEnd: 4183
    functionName: hlua_channel_getline_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - _hlua_channel_dup
    - lua_pushnil
    - co_data
    - WILL_LJMP
    - channel_input_closed
    - b_peek
    - hlua_yieldk
    - HLUA_CANT_YIELD
    - lua_error
    - channel_may_recv
    - _hlua_channel_delete
    - MAY_LJMP
    - ci_data
    - hlua_gethlua
    - hlua_filter_from_payload
    - hlua_channel_filter
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_getline_yield(lua_State *L, int status, lua_KContext ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4193,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:4193,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4194,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4194,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:4195,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:4195,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4196,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4197,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4197,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4199,1
    - Dst: hlua_channel_getline_yield
      Src: /src/haproxy/src/hlua.c:4199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4200
      start: 4189
    functionDepth: 3
    functionLinenumber: 4189
    functionLinenumberEnd: 4200
    functionName: hlua_channel_getline
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - lua_pushfstring
    - IS_HTX_STRM
    - check_args
    - hlua_channel_getline_yield
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_getline(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4211,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4211,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4212,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:4212,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4213,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4213,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:4214,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:4214,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4215,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4216,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4216,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4218,1
    - Dst: hlua_channel_get_data_yield
      Src: /src/haproxy/src/hlua.c:4218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4219
      start: 4207
    functionDepth: 3
    functionLinenumber: 4207
    functionLinenumberEnd: 4219
    functionName: hlua_channel_get_data
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - lua_pushfstring
    - luaL_error
    - IS_HTX_STRM
    - hlua_channel_get_data_yield
    - lua_gettop
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_get_data(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4230,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4230,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4231,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:4231,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4232,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4232,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:4233,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:4233,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4234,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4235,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4235,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4237,1
    - Dst: hlua_channel_get_line_yield
      Src: /src/haproxy/src/hlua.c:4237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4238
      start: 4226
    functionDepth: 3
    functionLinenumber: 4226
    functionLinenumberEnd: 4238
    functionName: hlua_channel_get_line
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - lua_pushfstring
    - luaL_error
    - IS_HTX_STRM
    - lua_gettop
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - hlua_checkchannel
    - hlua_channel_get_line_yield
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_get_line(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4255,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:4255,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4256,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4256,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4257,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:4257,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:4258,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:4258,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4259,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4260,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4260,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:4263,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4264,1
    - Dst: hlua_channel_filter
      Src: /src/haproxy/src/hlua.c:4266,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:4267,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4268,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4268,1
    - Dst: _hlua_channel_insert
      Src: /src/haproxy/src/hlua.c:4270,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:4270,1
    - Dst: flt_update_offsets
      Src: /src/haproxy/src/hlua.c:4274,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:4275,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4279
      start: 4247
    functionDepth: 2
    functionLinenumber: 4247
    functionLinenumberEnd: 4279
    functionName: hlua_channel_append
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - lua_pushfstring
    - co_data
    - ist2
    - flt_update_offsets
    - CHN_IDX
    - IS_HTX_STRM
    - lua_pushinteger
    - check_args
    - lua_error
    - MAY_LJMP
    - ci_data
    - luaL_checklstring
    - hlua_filter_from_payload
    - WILL_LJMP
    - hlua_checkchannel
    - _hlua_channel_insert
    - hlua_channel_filter
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_append(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4296,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:4296,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4297,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4297,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4298,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:4298,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:4299,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:4299,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4300,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4301,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4301,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:4304,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4305,1
    - Dst: hlua_channel_filter
      Src: /src/haproxy/src/hlua.c:4307,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:4308,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4309,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4309,1
    - Dst: _hlua_channel_insert
      Src: /src/haproxy/src/hlua.c:4311,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:4311,1
    - Dst: flt_update_offsets
      Src: /src/haproxy/src/hlua.c:4315,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:4316,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4321
      start: 4288
    functionDepth: 2
    functionLinenumber: 4288
    functionLinenumberEnd: 4321
    functionName: hlua_channel_prepend
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - lua_pushfstring
    - co_data
    - ist2
    - flt_update_offsets
    - CHN_IDX
    - IS_HTX_STRM
    - lua_pushinteger
    - check_args
    - lua_error
    - MAY_LJMP
    - ci_data
    - luaL_checklstring
    - hlua_filter_from_payload
    - WILL_LJMP
    - hlua_checkchannel
    - _hlua_channel_insert
    - hlua_channel_filter
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_prepend(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4338,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4338,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4339,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:4339,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4340,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4340,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4341,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:4341,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:4343,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4344,1
    - Dst: hlua_channel_filter
      Src: /src/haproxy/src/hlua.c:4346,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:4347,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4348,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4348,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4351,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4352,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:4352,1
    - Dst: MAX
      Src: /src/haproxy/src/hlua.c:4354,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4357,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4358,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4358,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:4361,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:4361,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4362,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4363,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4363,1
    - Dst: _hlua_channel_insert
      Src: /src/haproxy/src/hlua.c:4366,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:4366,1
    - Dst: flt_update_offsets
      Src: /src/haproxy/src/hlua.c:4370,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:4371,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4374,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4376
      start: 4330
    functionDepth: 2
    functionLinenumber: 4330
    functionLinenumberEnd: 4376
    functionName: hlua_channel_insert_data
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - lua_error
    - luaL_checklstring
    - _hlua_channel_insert
    - lua_pushfstring
    - co_data
    - ist2
    - luaL_error
    - flt_update_offsets
    - MAX
    - luaL_checkinteger
    - lua_pushinteger
    - MAY_LJMP
    - hlua_filter_from_payload
    - CHN_IDX
    - lua_gettop
    - WILL_LJMP
    - IS_HTX_STRM
    - ci_data
    - hlua_channel_filter
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_insert_data(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4392,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4392,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4393,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:4393,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4394,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4394,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4395,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:4395,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:4397,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:4397,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4398,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4399,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4399,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:4402,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4403,1
    - Dst: hlua_channel_filter
      Src: /src/haproxy/src/hlua.c:4405,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:4406,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4407,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4407,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4410,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4411,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:4411,1
    - Dst: MAX
      Src: /src/haproxy/src/hlua.c:4413,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4416,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4417,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4417,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4422,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4423,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:4423,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4429,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4430,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4430,1
    - Dst: c_room
      Src: /src/haproxy/src/hlua.c:4436,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4437,1
    - Dst: _hlua_channel_delete
      Src: /src/haproxy/src/hlua.c:4439,1
    - Dst: _hlua_channel_insert
      Src: /src/haproxy/src/hlua.c:4440,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:4440,1
    - Dst: flt_update_offsets
      Src: /src/haproxy/src/hlua.c:4445,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:4446,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4449,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4452
      start: 4384
    functionDepth: 2
    functionLinenumber: 4384
    functionLinenumberEnd: 4452
    functionName: hlua_channel_set_data
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - c_room
    - lua_error
    - luaL_checklstring
    - _hlua_channel_insert
    - lua_pushfstring
    - co_data
    - ist2
    - luaL_error
    - flt_update_offsets
    - MAX
    - luaL_checkinteger
    - lua_pushinteger
    - MAY_LJMP
    - hlua_filter_from_payload
    - _hlua_channel_delete
    - CHN_IDX
    - lua_gettop
    - WILL_LJMP
    - IS_HTX_STRM
    - ci_data
    - hlua_channel_filter
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_set_data(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4467,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4467,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4468,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:4468,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4469,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4469,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:4471,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:4471,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4472,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4473,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4473,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:4476,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4477,1
    - Dst: hlua_channel_filter
      Src: /src/haproxy/src/hlua.c:4479,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:4480,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4481,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4481,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4484,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4485,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:4485,1
    - Dst: MAX
      Src: /src/haproxy/src/hlua.c:4487,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4490,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4491,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4491,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4496,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4497,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:4497,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4503,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4504,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4504,1
    - Dst: _hlua_channel_delete
      Src: /src/haproxy/src/hlua.c:4508,1
    - Dst: flt_update_offsets
      Src: /src/haproxy/src/hlua.c:4512,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:4513,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4517,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4519
      start: 4460
    functionDepth: 2
    functionLinenumber: 4460
    functionLinenumberEnd: 4519
    functionName: hlua_channel_del_data
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - lua_error
    - lua_pushfstring
    - co_data
    - flt_update_offsets
    - luaL_error
    - MAX
    - luaL_checkinteger
    - lua_pushinteger
    - MAY_LJMP
    - hlua_filter_from_payload
    - _hlua_channel_delete
    - CHN_IDX
    - lua_gettop
    - WILL_LJMP
    - IS_HTX_STRM
    - ci_data
    - hlua_channel_filter
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_del_data(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:4536,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:4538,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4542,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4542,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4543,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:4543,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4544,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:4544,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:4546,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4547,1
    - Dst: hlua_channel_filter
      Src: /src/haproxy/src/hlua.c:4549,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:4550,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4551,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4551,1
    - Dst: unlikely
      Src: /src/haproxy/src/hlua.c:4554,1
    - Dst: channel_output_closed
      Src: /src/haproxy/src/hlua.c:4554,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4555,1
    - Dst: c_room
      Src: /src/haproxy/src/hlua.c:4559,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4562,1
    - Dst: _hlua_channel_insert
      Src: /src/haproxy/src/hlua.c:4568,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:4568,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:4570,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4571,1
    - Dst: flt_update_offsets
      Src: /src/haproxy/src/hlua.c:4579,1
    - Dst: FLT_OFF
      Src: /src/haproxy/src/hlua.c:4580,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:4581,1
    - Dst: c_adv
      Src: /src/haproxy/src/hlua.c:4584,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:4587,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4588,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:4594,1
    - Dst: HLUA_CANT_YIELD
      Src: /src/haproxy/src/hlua.c:4594,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:4594,1
    - Dst: HLUA_SET_WAKERESWR
      Src: /src/haproxy/src/hlua.c:4602,1
    - Dst: HLUA_SET_WAKEREQWR
      Src: /src/haproxy/src/hlua.c:4604,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4605,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:4605,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 4609
      start: 4526
    functionDepth: 2
    functionLinenumber: 4526
    functionLinenumberEnd: 4609
    functionName: hlua_channel_send_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - c_room
    - lua_error
    - luaL_checklstring
    - HLUA_SET_WAKERESWR
    - _hlua_channel_insert
    - lua_pushnil
    - channel_output_closed
    - co_data
    - ist2
    - flt_update_offsets
    - luaL_checkinteger
    - lua_pushinteger
    - MAY_LJMP
    - hlua_filter_from_payload
    - CHN_IDX
    - HLUA_CANT_YIELD
    - hlua_gethlua
    - c_adv
    - WILL_LJMP
    - FLT_OFF
    - hlua_yieldk
    - lua_pop
    - HLUA_SET_WAKEREQWR
    - ci_data
    - unlikely
    - hlua_channel_filter
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_send_yield(lua_State *L, int status, lua_KContext ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4621,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:4621,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4622,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4622,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:4623,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:4623,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4624,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4625,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4625,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4627,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4628,1
    - Dst: hlua_channel_send_yield
      Src: /src/haproxy/src/hlua.c:4628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4629
      start: 4617
    functionDepth: 3
    functionLinenumber: 4617
    functionLinenumberEnd: 4629
    functionName: hlua_channel_send
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - hlua_channel_send_yield
    - lua_pushfstring
    - IS_HTX_STRM
    - lua_pushinteger
    - check_args
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_send(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:4647,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:4649,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4653,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4653,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4654,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:4654,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4655,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:4655,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:4657,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4658,1
    - Dst: hlua_channel_filter
      Src: /src/haproxy/src/hlua.c:4660,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:4661,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4662,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4662,1
    - Dst: FLT_OFF
      Src: /src/haproxy/src/hlua.c:4671,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:4672,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:4673,1
    - Dst: channel_forward
      Src: /src/haproxy/src/hlua.c:4676,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:4679,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4680,1
    - Dst: channel_input_closed
      Src: /src/haproxy/src/hlua.c:4687,1
    - Dst: channel_output_closed
      Src: /src/haproxy/src/hlua.c:4687,1
    - Dst: HLUA_CANT_YIELD
      Src: /src/haproxy/src/hlua.c:4687,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:4687,1
    - Dst: HLUA_SET_WAKERESWR
      Src: /src/haproxy/src/hlua.c:4695,1
    - Dst: HLUA_SET_WAKEREQWR
      Src: /src/haproxy/src/hlua.c:4697,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4700,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:4700,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 4704
      start: 4638
    functionDepth: 2
    functionLinenumber: 4638
    functionLinenumberEnd: 4704
    functionName: hlua_channel_forward_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_error
    - HLUA_SET_WAKERESWR
    - lua_pushnil
    - channel_forward
    - channel_output_closed
    - co_data
    - luaL_checkinteger
    - lua_pushinteger
    - MAY_LJMP
    - hlua_filter_from_payload
    - channel_input_closed
    - CHN_IDX
    - HLUA_CANT_YIELD
    - hlua_gethlua
    - FLT_OFF
    - WILL_LJMP
    - hlua_yieldk
    - lua_pop
    - HLUA_SET_WAKEREQWR
    - ci_data
    - hlua_channel_filter
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_forward_yield(lua_State *L, int status, lua_KContext ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4715,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:4715,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4716,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4716,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:4717,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:4717,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4718,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4719,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4719,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4721,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4722,1
    - Dst: hlua_channel_forward_yield
      Src: /src/haproxy/src/hlua.c:4722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4723
      start: 4711
    functionDepth: 3
    functionLinenumber: 4711
    functionLinenumberEnd: 4723
    functionName: hlua_channel_forward
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - lua_pushfstring
    - IS_HTX_STRM
    - lua_pushinteger
    - check_args
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - hlua_checkchannel
    - hlua_channel_forward_yield
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_forward(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4734,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:4734,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4735,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4735,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:4737,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4738,1
    - Dst: hlua_channel_filter
      Src: /src/haproxy/src/hlua.c:4739,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:4740,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:4740,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4741,1
    - Dst: htxbuf
      Src: /src/haproxy/src/hlua.c:4743,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4745,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:4745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4748
      start: 4728
    functionDepth: 2
    functionLinenumber: 4728
    functionLinenumberEnd: 4748
    functionName: hlua_channel_get_in_len
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - co_data
    - IS_HTX_STRM
    - lua_pushinteger
    - htxbuf
    - check_args
    - ci_data
    - MAY_LJMP
    - hlua_channel_filter
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_get_in_len(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4755,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:4755,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4756,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4756,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:4760,1
    - Dst: channel_full
      Src: /src/haproxy/src/hlua.c:4760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4762
      start: 4751
    functionDepth: 2
    functionLinenumber: 4751
    functionLinenumberEnd: 4762
    functionName: hlua_channel_is_full
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - channel_full
    - lua_pushboolean
    - check_args
    - MAY_LJMP
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_is_full(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4769,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:4769,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4770,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4770,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:4771,1
    - Dst: channel_input_closed
      Src: /src/haproxy/src/hlua.c:4771,1
    - Dst: channel_may_recv
      Src: /src/haproxy/src/hlua.c:4771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4773
      start: 4765
    functionDepth: 2
    functionLinenumber: 4765
    functionLinenumberEnd: 4773
    functionName: hlua_channel_may_recv
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - channel_input_closed
    - check_args
    - channel_may_recv
    - MAY_LJMP
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_may_recv(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4780,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:4780,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4781,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4781,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:4783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4785
      start: 4776
    functionDepth: 2
    functionLinenumber: 4776
    functionLinenumberEnd: 4785
    functionName: hlua_channel_is_resp
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - check_args
    - hlua_checkchannel
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_is_resp(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4795,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:4795,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4796,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:4796,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:4798,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:4799,1
    - Dst: hlua_channel_filter
      Src: /src/haproxy/src/hlua.c:4800,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:4802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4804
      start: 4790
    functionDepth: 2
    functionLinenumber: 4790
    functionLinenumberEnd: 4804
    functionName: hlua_channel_get_out_len
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - co_data
    - lua_pushinteger
    - check_args
    - ci_data
    - MAY_LJMP
    - hlua_channel_filter
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_channel_get_out_len(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4819,1
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua.c:4819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 4820
      start: 4817
    functionDepth: 1
    functionLinenumber: 4817
    functionLinenumberEnd: 4820
    functionName: hlua_checkfetches
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - MAY_LJMP
    - hlua_checkudata
    linkageType: ''
    returnType: __LJMP
    signature: '*hlua_checkfetches(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:4830,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:4837,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua.c:4838,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:4839,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:4847,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua.c:4848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - L
    - txn
    - flags
    argTypes:
    - lua_State*
    - struct hlua_txn*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4851
      start: 4825
    functionDepth: 0
    functionLinenumber: 4825
    functionLinenumberEnd: 4851
    functionName: hlua_fetches_new
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_newuserdata
    - lua_checkstack
    - lua_setmetatable
    - lua_rawseti
    - lua_rawgeti
    - lua_newtable
    linkageType: ''
    returnType: __LJMP
    signature: hlua_fetches_new(lua_State *L, struct hlua_txn *txn, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua.c:4869,1
    - Dst: lua_upvalueindex
      Src: /src/haproxy/src/hlua.c:4869,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4872,1
    - Dst: hlua_checkfetches
      Src: /src/haproxy/src/hlua.c:4872,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:4877,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4879,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4879,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4883,1
    - Dst: hlua_lua2arg
      Src: /src/haproxy/src/hlua.c:4886,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4892,1
    - Dst: hlua_lua2arg_check
      Src: /src/haproxy/src/hlua.c:4892,1
    - Dst: struct sample_fetch*::val_args
      Src: /src/haproxy/src/hlua.c:4895,1
    - Dst: hlua_pushfstring_safe
      Src: /src/haproxy/src/hlua.c:4896,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:4897,1
    - Dst: memset
      Src: /src/haproxy/src/hlua.c:4902,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/hlua.c:4905,1
    - Dst: struct sample_fetch*::process
      Src: /src/haproxy/src/hlua.c:4906,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:4908,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:4910,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4916,1
    - Dst: hlua_smp2lua_str
      Src: /src/haproxy/src/hlua.c:4916,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4918,1
    - Dst: hlua_smp2lua
      Src: /src/haproxy/src/hlua.c:4918,1
    - Dst: free_args
      Src: /src/haproxy/src/hlua.c:4921,1
    - Dst: free_args
      Src: /src/haproxy/src/hlua.c:4925,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:4926,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:4926,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 4928
      start: 4859
    functionDepth: 3
    functionLinenumber: 4859
    functionLinenumberEnd: 4928
    functionName: hlua_run_sample_fetch
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - ha_free
    - struct sample_fetch*::val_args
    - hlua_smp2lua_str
    - hlua_lua2arg_check
    - lua_error
    - memset
    - hlua_pushfstring_safe
    - lua_pushnil
    - hlua_smp2lua
    - lua_pushfstring
    - MAY_LJMP
    - lua_touserdata
    - lua_pushstring
    - lua_upvalueindex
    - lua_gettop
    - struct sample_fetch*::process
    - WILL_LJMP
    - smp_set_owner
    - hlua_lua2arg
    - free_args
    - hlua_checkfetches
    linkageType: ''
    returnType: __LJMP
    signature: hlua_run_sample_fetch(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4943,1
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua.c:4943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 4944
      start: 4941
    functionDepth: 1
    functionLinenumber: 4941
    functionLinenumberEnd: 4944
    functionName: hlua_checkconverters
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - MAY_LJMP
    - hlua_checkudata
    linkageType: ''
    returnType: __LJMP
    signature: '*hlua_checkconverters(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:4954,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:4961,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua.c:4962,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:4963,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:4971,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua.c:4972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - L
    - txn
    - flags
    argTypes:
    - lua_State*
    - struct hlua_txn*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4975
      start: 4949
    functionDepth: 0
    functionLinenumber: 4949
    functionLinenumberEnd: 4975
    functionName: hlua_converters_new
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_newuserdata
    - lua_checkstack
    - lua_setmetatable
    - lua_rawseti
    - lua_rawgeti
    - lua_newtable
    linkageType: ''
    returnType: __LJMP
    signature: hlua_converters_new(lua_State *L, struct hlua_txn *txn, unsigned int
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua.c:4993,1
    - Dst: lua_upvalueindex
      Src: /src/haproxy/src/hlua.c:4993,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:4996,1
    - Dst: hlua_checkconverters
      Src: /src/haproxy/src/hlua.c:4996,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:4999,1
    - Dst: hlua_lua2arg
      Src: /src/haproxy/src/hlua.c:5002,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5008,1
    - Dst: hlua_lua2arg_check
      Src: /src/haproxy/src/hlua.c:5008,1
    - Dst: struct sample_conv*::val_args
      Src: /src/haproxy/src/hlua.c:5011,1
    - Dst: hlua_pushfstring_safe
      Src: /src/haproxy/src/hlua.c:5012,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:5013,1
    - Dst: memset
      Src: /src/haproxy/src/hlua.c:5018,1
    - Dst: hlua_lua2smp
      Src: /src/haproxy/src/hlua.c:5019,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:5020,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/hlua.c:5024,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:5028,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:5034,1
    - Dst: struct sample_conv*::process
      Src: /src/haproxy/src/hlua.c:5039,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5041,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:5043,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5049,1
    - Dst: hlua_smp2lua_str
      Src: /src/haproxy/src/hlua.c:5049,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5051,1
    - Dst: hlua_smp2lua
      Src: /src/haproxy/src/hlua.c:5051,1
    - Dst: free_args
      Src: /src/haproxy/src/hlua.c:5053,1
    - Dst: free_args
      Src: /src/haproxy/src/hlua.c:5057,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:5058,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:5058,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5060
      start: 4983
    functionDepth: 3
    functionLinenumber: 4983
    functionLinenumberEnd: 5060
    functionName: hlua_run_sample_conv
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - ha_free
    - hlua_smp2lua_str
    - hlua_lua2arg_check
    - lua_error
    - memset
    - hlua_pushfstring_safe
    - lua_pushnil
    - hlua_smp2lua
    - hlua_lua2smp
    - MAY_LJMP
    - lua_touserdata
    - lua_pushstring
    - lua_upvalueindex
    - lua_gettop
    - hlua_checkconverters
    - struct sample_conv*::process
    - struct sample_conv*::val_args
    - WILL_LJMP
    - smp_set_owner
    - hlua_lua2arg
    - free_args
    - hlua_pusherror
    linkageType: ''
    returnType: __LJMP
    signature: hlua_run_sample_conv(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5075,1
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua.c:5075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 5076
      start: 5073
    functionDepth: 1
    functionLinenumber: 5073
    functionLinenumberEnd: 5076
    functionName: hlua_checkapplet_tcp
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - MAY_LJMP
    - hlua_checkudata
    linkageType: ''
    returnType: __LJMP
    signature: '*hlua_checkapplet_tcp(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASSUME_NONNULL
      Src: /src/haproxy/src/hlua.c:5084,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/hlua.c:5084,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:5090,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:5097,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua.c:5098,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:5099,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5105,1
    - Dst: hlua_fetches_new
      Src: /src/haproxy/src/hlua.c:5106,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5108,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5111,1
    - Dst: hlua_fetches_new
      Src: /src/haproxy/src/hlua.c:5112,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5114,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5117,1
    - Dst: hlua_converters_new
      Src: /src/haproxy/src/hlua.c:5118,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5120,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5123,1
    - Dst: hlua_converters_new
      Src: /src/haproxy/src/hlua.c:5124,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5126,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:5129,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua.c:5130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - L
    - ctx
    argTypes:
    - lua_State*
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 5133
      start: 5081
    functionDepth: 1
    functionLinenumber: 5081
    functionLinenumberEnd: 5133
    functionName: hlua_applet_tcp_new
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_settable
    - hlua_converters_new
    - appctx_strm
    - lua_pushstring
    - lua_newuserdata
    - hlua_fetches_new
    - lua_rawgeti
    - lua_setmetatable
    - lua_rawseti
    - lua_checkstack
    - lua_newtable
    - ASSUME_NONNULL
    linkageType: ''
    returnType: int
    signature: hlua_applet_tcp_new(lua_State *L, struct appctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:5143,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:5143,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:5144,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:5144,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5149,1
    - Dst: hlua_checkapplet_tcp
      Src: /src/haproxy/src/hlua.c:5149,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5150,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:5150,1
    - Dst: memset
      Src: /src/haproxy/src/hlua.c:5154,1
    - Dst: hlua_lua2smp
      Src: /src/haproxy/src/hlua.c:5155,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/hlua.c:5160,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:5162,1
    - Dst: lua_toboolean
      Src: /src/haproxy/src/hlua.c:5162,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:5163,1
    - Dst: vars_set_by_name_ifexist
      Src: /src/haproxy/src/hlua.c:5163,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:5165,1
    - Dst: vars_set_by_name
      Src: /src/haproxy/src/hlua.c:5165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5168
      start: 5135
    functionDepth: 5
    functionLinenumber: 5135
    functionLinenumberEnd: 5168
    functionName: hlua_applet_tcp_set_var
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - smp_set_owner
    - hlua_checkapplet_tcp
    - lua_pushboolean
    - vars_set_by_name
    - luaL_error
    - lua_toboolean
    - hlua_lua2smp
    - lua_gettop
    - vars_set_by_name_ifexist
    - MAY_LJMP
    - memset
    - luaL_checklstring
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_tcp_set_var(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5178,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:5178,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5183,1
    - Dst: hlua_checkapplet_tcp
      Src: /src/haproxy/src/hlua.c:5183,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5184,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:5184,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/hlua.c:5188,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:5189,1
    - Dst: vars_unset_by_name_ifexist
      Src: /src/haproxy/src/hlua.c:5189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5191
      start: 5170
    functionDepth: 4
    functionLinenumber: 5170
    functionLinenumberEnd: 5191
    functionName: hlua_applet_tcp_unset_var
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - smp_set_owner
    - vars_unset_by_name_ifexist
    - hlua_checkapplet_tcp
    - lua_pushboolean
    - check_args
    - MAY_LJMP
    - luaL_checklstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_tcp_unset_var(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5201,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:5201,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5206,1
    - Dst: hlua_checkapplet_tcp
      Src: /src/haproxy/src/hlua.c:5206,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5207,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:5207,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/hlua.c:5210,1
    - Dst: vars_get_by_name
      Src: /src/haproxy/src/hlua.c:5211,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:5212,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5216,1
    - Dst: hlua_smp2lua
      Src: /src/haproxy/src/hlua.c:5216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5217
      start: 5193
    functionDepth: 3
    functionLinenumber: 5193
    functionLinenumberEnd: 5217
    functionName: hlua_applet_tcp_get_var
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - smp_set_owner
    - lua_pushnil
    - hlua_checkapplet_tcp
    - hlua_smp2lua
    - vars_get_by_name
    - check_args
    - MAY_LJMP
    - luaL_checklstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_tcp_get_var(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5221,1
    - Dst: hlua_checkapplet_tcp
      Src: /src/haproxy/src/hlua.c:5221,1
    - Dst: hlua_stream_ctx_get
      Src: /src/haproxy/src/hlua.c:5224,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5230,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:5230,1
    - Dst: luaL_unref
      Src: /src/haproxy/src/hlua.c:5233,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:5236,1
    - Dst: luaL_ref
      Src: /src/haproxy/src/hlua.c:5237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5240
      start: 5219
    functionDepth: 2
    functionLinenumber: 5219
    functionLinenumberEnd: 5240
    functionName: hlua_applet_tcp_set_priv
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_ref
    - hlua_checkapplet_tcp
    - luaL_unref
    - lua_pushvalue
    - check_args
    - MAY_LJMP
    - hlua_stream_ctx_get
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_tcp_set_priv(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5244,1
    - Dst: hlua_checkapplet_tcp
      Src: /src/haproxy/src/hlua.c:5244,1
    - Dst: hlua_stream_ctx_get
      Src: /src/haproxy/src/hlua.c:5247,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:5251,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:5256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5259
      start: 5242
    functionDepth: 2
    functionLinenumber: 5242
    functionLinenumberEnd: 5259
    functionName: hlua_applet_tcp_get_priv
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - hlua_checkapplet_tcp
    - MAY_LJMP
    - lua_rawgeti
    - hlua_stream_ctx_get
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_tcp_get_priv(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5267,1
    - Dst: hlua_checkapplet_tcp
      Src: /src/haproxy/src/hlua.c:5267,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:5268,1
    - Dst: co_getline_nc
      Src: /src/haproxy/src/hlua.c:5276,1
    - Dst: sc_oc
      Src: /src/haproxy/src/hlua.c:5276,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/hlua.c:5280,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5281,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:5281,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:5286,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:5295,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:5296,1
    - Dst: co_skip
      Src: /src/haproxy/src/hlua.c:5299,1
    - Dst: sc_oc
      Src: /src/haproxy/src/hlua.c:5299,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:5300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 5302
      start: 5265
    functionDepth: 2
    functionLinenumber: 5265
    functionLinenumberEnd: 5302
    functionName: hlua_applet_tcp_getline_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - luaL_pushresult
    - hlua_checkapplet_tcp
    - co_getline_nc
    - luaL_addlstring
    - co_skip
    - MAY_LJMP
    - applet_need_more_data
    - sc_oc
    - hlua_yieldk
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_tcp_getline_yield(lua_State *L, int status, lua_KContext
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5307,1
    - Dst: hlua_checkapplet_tcp
      Src: /src/haproxy/src/hlua.c:5307,1
    - Dst: luaL_buffinit
      Src: /src/haproxy/src/hlua.c:5310,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5312,1
    - Dst: hlua_applet_tcp_getline_yield
      Src: /src/haproxy/src/hlua.c:5312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5313
      start: 5305
    functionDepth: 3
    functionLinenumber: 5305
    functionLinenumberEnd: 5313
    functionName: hlua_applet_tcp_getline
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_buffinit
    - hlua_checkapplet_tcp
    - hlua_applet_tcp_getline_yield
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_tcp_getline(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5320,1
    - Dst: hlua_checkapplet_tcp
      Src: /src/haproxy/src/hlua.c:5320,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:5321,1
    - Dst: b_getblk_nc
      Src: /src/haproxy/src/hlua.c:5332,1
    - Dst: b_data
      Src: /src/haproxy/src/hlua.c:5332,1
    - Dst: co_getblk_nc
      Src: /src/haproxy/src/hlua.c:5334,1
    - Dst: sc_oc
      Src: /src/haproxy/src/hlua.c:5334,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/hlua.c:5338,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:5340,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/hlua.c:5344,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:5350,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:5364,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:5365,1
    - Dst: b_del
      Src: /src/haproxy/src/hlua.c:5367,1
    - Dst: co_skip
      Src: /src/haproxy/src/hlua.c:5369,1
    - Dst: sc_oc
      Src: /src/haproxy/src/hlua.c:5369,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/hlua.c:5371,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:5373,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/hlua.c:5377,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:5385,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:5391,1
    - Dst: b_del
      Src: /src/haproxy/src/hlua.c:5395,1
    - Dst: co_skip
      Src: /src/haproxy/src/hlua.c:5397,1
    - Dst: sc_oc
      Src: /src/haproxy/src/hlua.c:5397,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/hlua.c:5400,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:5401,1
    - Dst: lua_replace
      Src: /src/haproxy/src/hlua.c:5402,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/hlua.c:5403,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:5408,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:5413,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:5414,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:5414,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5416
      start: 5318
    functionDepth: 2
    functionLinenumber: 5318
    functionLinenumberEnd: 5416
    functionName: hlua_applet_tcp_recv_try
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - luaL_pushresult
    - hlua_checkapplet_tcp
    - tick_is_expired
    - co_getblk_nc
    - b_getblk_nc
    - WILL_LJMP
    - lua_replace
    - lua_pushinteger
    - luaL_addlstring
    - b_del
    - co_skip
    - hlua_pusherror
    - b_data
    - MAY_LJMP
    - applet_need_more_data
    - lua_error
    - sc_oc
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_tcp_recv_try(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_applet_tcp_recv_try
      Src: /src/haproxy/src/hlua.c:5427,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5430,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:5430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 5433
      start: 5422
    functionDepth: 3
    functionLinenumber: 5422
    functionLinenumberEnd: 5433
    functionName: hlua_applet_tcp_recv_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_applet_tcp_recv_try
    - MAY_LJMP
    - hlua_yieldk
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_tcp_recv_yield(lua_State *L, int status, lua_KContext ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5438,1
    - Dst: hlua_checkapplet_tcp
      Src: /src/haproxy/src/hlua.c:5438,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:5443,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:5444,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:5444,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:5445,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:5446,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5447,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:5447,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:5448,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5450,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:5450,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:5451,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:5455,1
    - Dst: tick_add
      Src: /src/haproxy/src/hlua.c:5458,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:5459,1
    - Dst: luaL_buffinit
      Src: /src/haproxy/src/hlua.c:5462,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5464,1
    - Dst: hlua_applet_tcp_recv_yield
      Src: /src/haproxy/src/hlua.c:5464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5465
      start: 5436
    functionDepth: 4
    functionLinenumber: 5436
    functionLinenumberEnd: 5465
    functionName: hlua_applet_tcp_recv
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - luaL_buffinit
    - hlua_checkapplet_tcp
    - tick_add
    - luaL_error
    - luaL_checkinteger
    - lua_pushinteger
    - lua_gettop
    - hlua_applet_tcp_recv_yield
    - MAY_LJMP
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_tcp_recv(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5470,1
    - Dst: hlua_checkapplet_tcp
      Src: /src/haproxy/src/hlua.c:5470,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:5473,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:5474,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:5474,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:5477,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:5480,1
    - Dst: luaL_buffinit
      Src: /src/haproxy/src/hlua.c:5483,1
    - Dst: hlua_applet_tcp_recv_try
      Src: /src/haproxy/src/hlua.c:5485,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:5488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5493
      start: 5468
    functionDepth: 3
    functionLinenumber: 5468
    functionLinenumberEnd: 5493
    functionName: hlua_applet_tcp_try_recv
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_buffinit
    - luaL_pushresult
    - hlua_checkapplet_tcp
    - luaL_error
    - lua_pushinteger
    - lua_gettop
    - hlua_applet_tcp_recv_try
    - MAY_LJMP
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_tcp_try_recv(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5503,1
    - Dst: hlua_checkapplet_tcp
      Src: /src/haproxy/src/hlua.c:5503,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:5506,1
    - Dst: sc_ic
      Src: /src/haproxy/src/hlua.c:5507,1
    - Dst: b_room
      Src: /src/haproxy/src/hlua.c:5512,1
    - Dst: channel_recv_max
      Src: /src/haproxy/src/hlua.c:5514,1
    - Dst: applet_putblk
      Src: /src/haproxy/src/hlua.c:5520,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:5524,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:5525,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/hlua.c:5532,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/hlua.c:5534,1
    - Dst: channel_recv_max
      Src: /src/haproxy/src/hlua.c:5534,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5535,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:5535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 5539
      start: 5500
    functionDepth: 2
    functionLinenumber: 5500
    functionLinenumberEnd: 5539
    functionName: hlua_applet_tcp_send_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - channel_recv_max
    - b_room
    - lua_pop
    - hlua_checkapplet_tcp
    - sc_ic
    - applet_putblk
    - lua_pushinteger
    - MAY_LJMP
    - applet_have_more_data
    - hlua_yieldk
    - sc_need_room
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_tcp_send_yield(lua_State *L, int status, lua_KContext ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5547,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:5547,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:5548,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5550,1
    - Dst: hlua_applet_tcp_send_yield
      Src: /src/haproxy/src/hlua.c:5550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5551
      start: 5545
    functionDepth: 3
    functionLinenumber: 5545
    functionLinenumberEnd: 5551
    functionName: hlua_applet_tcp_send
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - check_args
    - hlua_applet_tcp_send_yield
    - MAY_LJMP
    - lua_pushinteger
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_tcp_send(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5566,1
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua.c:5566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 5567
      start: 5564
    functionDepth: 1
    functionLinenumber: 5564
    functionLinenumberEnd: 5567
    functionName: hlua_checkapplet_http
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - MAY_LJMP
    - hlua_checkudata
    linkageType: ''
    returnType: __LJMP
    signature: '*hlua_checkapplet_http(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_strm
      Src: /src/haproxy/src/hlua.c:5579,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:5590,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:5597,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua.c:5598,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:5599,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5607,1
    - Dst: hlua_fetches_new
      Src: /src/haproxy/src/hlua.c:5608,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5610,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5613,1
    - Dst: hlua_fetches_new
      Src: /src/haproxy/src/hlua.c:5614,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5616,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5619,1
    - Dst: hlua_converters_new
      Src: /src/haproxy/src/hlua.c:5620,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5622,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5625,1
    - Dst: hlua_converters_new
      Src: /src/haproxy/src/hlua.c:5626,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5628,1
    - Dst: htxbuf
      Src: /src/haproxy/src/hlua.c:5630,1
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/hlua.c:5631,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua.c:5632,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/hlua.c:5632,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/hlua.c:5633,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5636,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:5637,1
    - Dst: HTX_SL_REQ_MPTR
      Src: /src/haproxy/src/hlua.c:5637,1
    - Dst: HTX_SL_REQ_MLEN
      Src: /src/haproxy/src/hlua.c:5637,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5638,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5641,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:5642,1
    - Dst: HTX_SL_REQ_VPTR
      Src: /src/haproxy/src/hlua.c:5642,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/hlua.c:5642,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5643,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5648,1
    - Dst: hlua_http_get_headers
      Src: /src/haproxy/src/hlua.c:5652,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5654,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/hlua.c:5656,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/hlua.c:5656,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/hlua.c:5657,1
    - Dst: isttest
      Src: /src/haproxy/src/hlua.c:5658,1
    - Dst: istend
      Src: /src/haproxy/src/hlua.c:5662,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5668,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:5669,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5670,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5673,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:5676,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5677,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/hlua.c:5680,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/hlua.c:5680,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/hlua.c:5681,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/hlua.c:5682,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/hlua.c:5687,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5693,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:5694,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5695,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:5698,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:5699,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:5700,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:5703,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua.c:5704,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 78
    argCount: 2
    argNames:
    - L
    - ctx
    argTypes:
    - lua_State*
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 5707
      start: 5574
    functionDepth: 4
    functionLinenumber: 5574
    functionLinenumberEnd: 5707
    functionName: hlua_applet_http_new
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_ptr
    - isttest
    - lua_rawseti
    - lua_rawgeti
    - BUG_ON
    - htx_get_first
    - lua_settable
    - appctx_strm
    - lua_pushlstring
    - htx_sl_req_uri
    - hlua_fetches_new
    - htx_get_blk
    - lua_pushinteger
    - HTX_SL_REQ_VPTR
    - lua_newtable
    - hlua_http_get_headers
    - http_parse_path
    - lua_pushstring
    - htx_get_blksz
    - lua_newuserdata
    - HTX_SL_REQ_VLEN
    - istend
    - htxbuf
    - HTX_SL_REQ_MLEN
    - htx_get_blk_type
    - lua_setmetatable
    - http_uri_parser_init
    - HTX_SL_REQ_MPTR
    - hlua_converters_new
    - htx_get_first_blk
    - lua_checkstack
    - htx_get_next
    linkageType: ''
    returnType: int
    signature: hlua_applet_http_new(lua_State *L, struct appctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:5717,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:5717,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:5718,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:5718,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5723,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:5723,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5724,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:5724,1
    - Dst: memset
      Src: /src/haproxy/src/hlua.c:5728,1
    - Dst: hlua_lua2smp
      Src: /src/haproxy/src/hlua.c:5729,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/hlua.c:5734,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:5736,1
    - Dst: lua_toboolean
      Src: /src/haproxy/src/hlua.c:5736,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:5737,1
    - Dst: vars_set_by_name_ifexist
      Src: /src/haproxy/src/hlua.c:5737,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:5739,1
    - Dst: vars_set_by_name
      Src: /src/haproxy/src/hlua.c:5739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5742
      start: 5709
    functionDepth: 5
    functionLinenumber: 5709
    functionLinenumberEnd: 5742
    functionName: hlua_applet_http_set_var
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - smp_set_owner
    - lua_pushboolean
    - hlua_checkapplet_http
    - vars_set_by_name
    - luaL_error
    - lua_toboolean
    - hlua_lua2smp
    - lua_gettop
    - vars_set_by_name_ifexist
    - MAY_LJMP
    - memset
    - luaL_checklstring
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_set_var(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5752,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:5752,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5757,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:5757,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5758,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:5758,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/hlua.c:5762,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:5763,1
    - Dst: vars_unset_by_name_ifexist
      Src: /src/haproxy/src/hlua.c:5763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5765
      start: 5744
    functionDepth: 4
    functionLinenumber: 5744
    functionLinenumberEnd: 5765
    functionName: hlua_applet_http_unset_var
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - smp_set_owner
    - vars_unset_by_name_ifexist
    - lua_pushboolean
    - hlua_checkapplet_http
    - check_args
    - MAY_LJMP
    - luaL_checklstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_unset_var(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5775,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:5775,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5780,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:5780,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5781,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:5781,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/hlua.c:5784,1
    - Dst: vars_get_by_name
      Src: /src/haproxy/src/hlua.c:5785,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:5786,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5790,1
    - Dst: hlua_smp2lua
      Src: /src/haproxy/src/hlua.c:5790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5791
      start: 5767
    functionDepth: 3
    functionLinenumber: 5767
    functionLinenumberEnd: 5791
    functionName: hlua_applet_http_get_var
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - smp_set_owner
    - lua_pushnil
    - hlua_smp2lua
    - hlua_checkapplet_http
    - vars_get_by_name
    - check_args
    - MAY_LJMP
    - luaL_checklstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_get_var(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5795,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:5795,1
    - Dst: hlua_stream_ctx_get
      Src: /src/haproxy/src/hlua.c:5798,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5804,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:5804,1
    - Dst: luaL_unref
      Src: /src/haproxy/src/hlua.c:5807,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:5810,1
    - Dst: luaL_ref
      Src: /src/haproxy/src/hlua.c:5811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5814
      start: 5793
    functionDepth: 2
    functionLinenumber: 5793
    functionLinenumberEnd: 5814
    functionName: hlua_applet_http_set_priv
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_ref
    - luaL_unref
    - hlua_checkapplet_http
    - lua_pushvalue
    - check_args
    - MAY_LJMP
    - hlua_stream_ctx_get
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_set_priv(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5818,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:5818,1
    - Dst: hlua_stream_ctx_get
      Src: /src/haproxy/src/hlua.c:5821,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:5825,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:5830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5833
      start: 5816
    functionDepth: 2
    functionLinenumber: 5816
    functionLinenumberEnd: 5833
    functionName: hlua_applet_http_get_priv
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - hlua_checkapplet_http
    - MAY_LJMP
    - lua_rawgeti
    - hlua_stream_ctx_get
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_get_priv(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5841,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:5841,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:5842,1
    - Dst: sc_oc
      Src: /src/haproxy/src/hlua.c:5843,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hlua.c:5849,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:5850,1
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/hlua.c:5851,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/hlua.c:5854,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/hlua.c:5872,1
    - Dst: istchr
      Src: /src/haproxy/src/hlua.c:5874,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:5879,1
    - Dst: c_rew
      Src: /src/haproxy/src/hlua.c:5891,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/hlua.c:5894,1
    - Dst: htx_cut_data_blk
      Src: /src/haproxy/src/hlua.c:5896,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/hlua.c:5904,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/hlua.c:5904,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/hlua.c:5907,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/hlua.c:5909,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5910,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:5910,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:5914,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 5916
      start: 5839
    functionDepth: 2
    functionLinenumber: 5839
    functionLinenumberEnd: 5916
    functionName: hlua_applet_http_getline_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_pushresult
    - luaL_addlstring
    - htx_get_blk_value
    - applet_need_more_data
    - htx_to_buf
    - sc_oc
    - htx_from_buf
    - hlua_checkapplet_http
    - co_data
    - MAY_LJMP
    - htx_is_empty
    - htx_cut_data_blk
    - htx_get_blk_type
    - hlua_yieldk
    - c_rew
    - appctx_sc
    - istchr
    - sc_opposite
    - htx_get_first_blk
    - htx_remove_blk
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_getline_yield(lua_State *L, int status, lua_KContext
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5922,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:5922,1
    - Dst: luaL_buffinit
      Src: /src/haproxy/src/hlua.c:5925,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5927,1
    - Dst: hlua_applet_http_getline_yield
      Src: /src/haproxy/src/hlua.c:5927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 5928
      start: 5920
    functionDepth: 3
    functionLinenumber: 5920
    functionLinenumberEnd: 5928
    functionName: hlua_applet_http_getline
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkapplet_http
    - luaL_buffinit
    - MAY_LJMP
    - hlua_applet_http_getline_yield
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_getline(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5936,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:5936,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:5937,1
    - Dst: sc_oc
      Src: /src/haproxy/src/hlua.c:5938,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hlua.c:5944,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:5945,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:5945,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:5946,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/hlua.c:5947,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/hlua.c:5949,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/hlua.c:5968,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:5969,1
    - Dst: c_rew
      Src: /src/haproxy/src/hlua.c:5981,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/hlua.c:5986,1
    - Dst: htx_cut_data_blk
      Src: /src/haproxy/src/hlua.c:5988,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/hlua.c:5996,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/hlua.c:5996,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/hlua.c:5999,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:6004,1
    - Dst: lua_replace
      Src: /src/haproxy/src/hlua.c:6005,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/hlua.c:6007,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6008,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:6008,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:6012,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 6014
      start: 5934
    functionDepth: 2
    functionLinenumber: 5934
    functionLinenumberEnd: 6014
    functionName: hlua_applet_http_recv_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_pushresult
    - luaL_addlstring
    - htx_get_blk_value
    - applet_need_more_data
    - htx_to_buf
    - sc_oc
    - htx_from_buf
    - hlua_checkapplet_http
    - co_data
    - luaL_checkinteger
    - lua_pushinteger
    - MAY_LJMP
    - htx_is_empty
    - htx_cut_data_blk
    - htx_get_head_blk
    - htx_get_blk_type
    - c_rew
    - hlua_yieldk
    - appctx_sc
    - sc_opposite
    - lua_replace
    - htx_remove_blk
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_recv_yield(lua_State *L, int status, lua_KContext
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6019,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:6019,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:6023,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6024,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:6024,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:6025,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6026,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:6026,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:6027,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:6030,1
    - Dst: luaL_buffinit
      Src: /src/haproxy/src/hlua.c:6033,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6035,1
    - Dst: hlua_applet_http_recv_yield
      Src: /src/haproxy/src/hlua.c:6035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6036
      start: 6017
    functionDepth: 3
    functionLinenumber: 6017
    functionLinenumberEnd: 6036
    functionName: hlua_applet_http_recv
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - luaL_buffinit
    - hlua_checkapplet_http
    - hlua_applet_http_recv_yield
    - luaL_error
    - luaL_checkinteger
    - lua_pushinteger
    - lua_gettop
    - MAY_LJMP
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_recv(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6045,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:6045,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:6046,1
    - Dst: sc_ic
      Src: /src/haproxy/src/hlua.c:6047,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hlua.c:6048,1
    - Dst: htx_get_max_blksz
      Src: /src/haproxy/src/hlua.c:6054,1
    - Dst: channel_htx_recv_max
      Src: /src/haproxy/src/hlua.c:6054,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6058,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:6058,1
    - Dst: htx_add_data
      Src: /src/haproxy/src/hlua.c:6065,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:6065,1
    - Dst: channel_add_input
      Src: /src/haproxy/src/hlua.c:6066,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:6070,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:6071,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/hlua.c:6078,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/hlua.c:6079,1
    - Dst: channel_recv_max
      Src: /src/haproxy/src/hlua.c:6079,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6080,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:6080,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/hlua.c:6083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 6085
      start: 6043
    functionDepth: 2
    functionLinenumber: 6043
    functionLinenumberEnd: 6085
    functionName: hlua_applet_http_send_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - lua_pop
    - channel_recv_max
    - htx_from_buf
    - sc_ic
    - hlua_checkapplet_http
    - ist2
    - htx_get_max_blksz
    - channel_add_input
    - lua_pushinteger
    - sc_need_room
    - MAY_LJMP
    - hlua_yieldk
    - htx_to_buf
    - luaL_checklstring
    - htx_add_data
    - channel_htx_recv_max
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_send_yield(lua_State *L, int status, lua_KContext
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6093,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:6093,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6098,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6099,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6099,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:6103,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6105,1
    - Dst: hlua_applet_http_send_yield
      Src: /src/haproxy/src/hlua.c:6105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6106
      start: 6091
    functionDepth: 3
    functionLinenumber: 6091
    functionLinenumberEnd: 6106
    functionName: hlua_applet_http_send
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkapplet_http
    - lua_pushinteger
    - lua_error
    - hlua_pusherror
    - hlua_applet_http_send_yield
    - MAY_LJMP
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_send(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6113,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:6113,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6114,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:6114,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6115,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:6115,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:6118,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6120,1
    - Dst: lua_typename
      Src: /src/haproxy/src/hlua.c:6121,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6122,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6122,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:6128,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:6132,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:6137,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:6138,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:6139,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:6140,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6145,1
    - Dst: lua_typename
      Src: /src/haproxy/src/hlua.c:6146,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6147,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6147,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:6153,1
    - Dst: lua_rawlen
      Src: /src/haproxy/src/hlua.c:6154,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:6155,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:6156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6158
      start: 6108
    functionDepth: 2
    functionLinenumber: 6108
    functionLinenumberEnd: 6158
    functionName: hlua_applet_http_addheader
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_settable
    - lua_pushboolean
    - hlua_checkapplet_http
    - WILL_LJMP
    - lua_typename
    - lua_pushvalue
    - lua_rawlen
    - lua_error
    - hlua_pusherror
    - lua_rawseti
    - lua_getfield
    - MAY_LJMP
    - lua_newtable
    - luaL_checkstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_addheader(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6162,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:6162,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:6168,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:6174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6176
      start: 6160
    functionDepth: 2
    functionLinenumber: 6160
    functionLinenumberEnd: 6176
    functionName: hlua_applet_http_status
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - hlua_checkapplet_http
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_status(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6181,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:6181,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:6183,1
    - Dst: sc_ic
      Src: /src/haproxy/src/hlua.c:6184,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hlua.c:6194,1
    - Dst: h1m_init_res
      Src: /src/haproxy/src/hlua.c:6195,1
    - Dst: ultoa_r
      Src: /src/haproxy/src/hlua.c:6198,1
    - Dst: http_get_reason
      Src: /src/haproxy/src/hlua.c:6201,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/hlua.c:6204,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:6204,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:6204,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:6204,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/hlua.c:6208,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:6208,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:6208,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:6208,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6211,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6213,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6213,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:6218,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6219,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6221,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6221,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:6225,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:6226,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:6228,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6229,1
    - Dst: lua_typename
      Src: /src/haproxy/src/hlua.c:6231,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:6231,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6232,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6232,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:6234,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:6237,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6238,1
    - Dst: lua_typename
      Src: /src/haproxy/src/hlua.c:6241,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:6241,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6242,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6242,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:6246,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:6247,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:6251,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6252,1
    - Dst: lua_typename
      Src: /src/haproxy/src/hlua.c:6255,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:6255,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6256,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6256,1
    - Dst: lua_tointeger
      Src: /src/haproxy/src/hlua.c:6258,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:6261,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6262,1
    - Dst: lua_typename
      Src: /src/haproxy/src/hlua.c:6265,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:6265,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6266,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6266,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:6268,1
    - Dst: isteqi
      Src: /src/haproxy/src/hlua.c:6271,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:6271,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:6271,1
    - Dst: h1_parse_xfer_enc_header
      Src: /src/haproxy/src/hlua.c:6274,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:6274,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6276,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6279,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6279,1
    - Dst: isteqi
      Src: /src/haproxy/src/hlua.c:6284,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:6284,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:6284,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:6285,1
    - Dst: h1_parse_cont_len_header
      Src: /src/haproxy/src/hlua.c:6288,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6290,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6293,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6293,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/hlua.c:6300,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:6300,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:6300,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6301,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6304,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6304,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:6308,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:6312,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/hlua.c:6344,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:6344,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:6344,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6345,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6347,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6347,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/hlua.c:6352,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6353,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6355,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6355,1
    - Dst: htx_used_space
      Src: /src/haproxy/src/hlua.c:6358,1
    - Dst: b_size
      Src: /src/haproxy/src/hlua.c:6358,1
    - Dst: b_reset
      Src: /src/haproxy/src/hlua.c:6359,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6360,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6361,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6361,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/hlua.c:6364,1
    - Dst: channel_add_input
      Src: /src/haproxy/src/hlua.c:6365,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 112
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6371
      start: 6179
    functionDepth: 2
    functionLinenumber: 6179
    functionLinenumberEnd: 6371
    functionName: hlua_applet_http_send_response
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - ultoa_r
    - h1_parse_cont_len_header
    - htx_add_endof
    - ist
    - lua_error
    - http_get_reason
    - htx_to_buf
    - isteqi
    - htx_add_stline
    - lua_pushnil
    - htx_from_buf
    - hlua_checkapplet_http
    - ist2
    - MAY_LJMP
    - lua_getfield
    - b_size
    - lua_type
    - b_reset
    - channel_add_input
    - h1_parse_xfer_enc_header
    - h1m_init_res
    - lua_tointeger
    - WILL_LJMP
    - lua_tolstring
    - appctx_sc
    - htx_add_header
    - lua_pop
    - htx_used_space
    - sc_ic
    - lua_typename
    - hlua_pusherror
    - lua_next
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_send_response(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6378,1
    - Dst: hlua_checkapplet_http
      Src: /src/haproxy/src/hlua.c:6378,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:6379,1
    - Dst: sc_ic
      Src: /src/haproxy/src/hlua.c:6380,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:6382,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/hlua.c:6383,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6384,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:6384,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6386,1
    - Dst: hlua_applet_http_send_response
      Src: /src/haproxy/src/hlua.c:6386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 6387
      start: 6376
    functionDepth: 3
    functionLinenumber: 6376
    functionLinenumberEnd: 6387
    functionName: hlua_applet_http_start_response_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - sc_ic
    - hlua_checkapplet_http
    - co_data
    - MAY_LJMP
    - hlua_applet_http_send_response
    - hlua_yieldk
    - sc_need_room
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_start_response_yield(lua_State *L, int status, lua_KContext
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6392,1
    - Dst: hlua_applet_http_start_response_yield
      Src: /src/haproxy/src/hlua.c:6392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6393
      start: 6390
    functionDepth: 4
    functionLinenumber: 6390
    functionLinenumberEnd: 6393
    functionName: hlua_applet_http_start_response
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_applet_http_start_response_yield
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_applet_http_start_response(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6408,1
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua.c:6408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 6409
      start: 6406
    functionDepth: 1
    functionLinenumber: 6406
    functionLinenumberEnd: 6409
    functionName: hlua_checkhttp
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - MAY_LJMP
    - hlua_checkudata
    linkageType: ''
    returnType: __LJMP
    signature: '*hlua_checkhttp(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:6419,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:6426,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua.c:6427,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:6428,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:6436,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua.c:6437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - L
    - txn
    argTypes:
    - lua_State*
    - struct hlua_txn*
    constantsTouched: []
    func_position:
      end: 6440
      start: 6414
    functionDepth: 0
    functionLinenumber: 6414
    functionLinenumberEnd: 6440
    functionName: hlua_http_new
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_newuserdata
    - lua_checkstack
    - lua_setmetatable
    - lua_rawseti
    - lua_rawgeti
    - lua_newtable
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_new(lua_State *L, struct hlua_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:6448,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:6451,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:6452,1
    - Dst: HTX_SL_RES_VPTR
      Src: /src/haproxy/src/hlua.c:6452,1
    - Dst: HTX_SL_RES_VLEN
      Src: /src/haproxy/src/hlua.c:6452,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:6453,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:6454,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:6455,1
    - Dst: HTX_SL_RES_CPTR
      Src: /src/haproxy/src/hlua.c:6455,1
    - Dst: HTX_SL_RES_CLEN
      Src: /src/haproxy/src/hlua.c:6455,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:6456,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:6457,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:6458,1
    - Dst: HTX_SL_RES_RPTR
      Src: /src/haproxy/src/hlua.c:6458,1
    - Dst: HTX_SL_RES_RLEN
      Src: /src/haproxy/src/hlua.c:6458,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:6459,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:6462,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:6463,1
    - Dst: HTX_SL_REQ_MPTR
      Src: /src/haproxy/src/hlua.c:6463,1
    - Dst: HTX_SL_REQ_MLEN
      Src: /src/haproxy/src/hlua.c:6463,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:6464,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:6465,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:6466,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/src/hlua.c:6466,1
    - Dst: HTX_SL_REQ_ULEN
      Src: /src/haproxy/src/hlua.c:6466,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:6467,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:6468,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:6469,1
    - Dst: HTX_SL_REQ_VPTR
      Src: /src/haproxy/src/hlua.c:6469,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/hlua.c:6469,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:6470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - L
    - sl
    argTypes:
    - lua_State*
    - struct htx_sl*
    constantsTouched: []
    func_position:
      end: 6473
      start: 6445
    functionDepth: 0
    functionLinenumber: 6445
    functionLinenumberEnd: 6473
    functionName: hlua_http_get_stline
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_settable
    - lua_pushstring
    - lua_pushlstring
    - HTX_SL_RES_CPTR
    - HTX_SL_RES_VPTR
    - HTX_SL_RES_CLEN
    - HTX_SL_REQ_ULEN
    - HTX_SL_REQ_VLEN
    - HTX_SL_RES_VLEN
    - HTX_SL_REQ_UPTR
    - HTX_SL_REQ_MLEN
    - HTX_SL_REQ_VPTR
    - lua_newtable
    - HTX_SL_RES_RLEN
    - HTX_SL_RES_RPTR
    - HTX_SL_REQ_MPTR
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_get_stline(lua_State *L, struct htx_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:6485,1
    - Dst: htxbuf
      Src: /src/haproxy/src/hlua.c:6488,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/hlua.c:6489,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/hlua.c:6489,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/hlua.c:6490,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/hlua.c:6491,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/hlua.c:6496,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/hlua.c:6497,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:6509,1
    - Dst: lua_gettable
      Src: /src/haproxy/src/hlua.c:6510,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:6512,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:6515,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:6516,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:6517,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:6518,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:6519,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:6520,1
    - Dst: lua_rawlen
      Src: /src/haproxy/src/hlua.c:6525,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:6526,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:6527,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:6528,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:6533,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6534,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6534,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - L
    - msg
    argTypes:
    - lua_State*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 6538
      start: 6479
    functionDepth: 1
    functionLinenumber: 6479
    functionLinenumberEnd: 6538
    functionName: hlua_http_get_headers
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 1
    functionsReached:
    - lua_gettable
    - lua_pop
    - lua_pushlstring
    - htx_get_blk_name
    - htxbuf
    - htx_get_blk
    - htx_get_blk_type
    - lua_rawlen
    - lua_rawseti
    - hlua_pusherror
    - htx_get_blk_value
    - lua_error
    - lua_rawset
    - lua_newtable
    - lua_type
    - WILL_LJMP
    - htx_get_next
    - htx_get_first
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_get_headers(lua_State *L, struct http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6544,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6544,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6545,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6545,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6547,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6548,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6548,1
    - Dst: hlua_http_get_headers
      Src: /src/haproxy/src/hlua.c:6550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6551
      start: 6540
    functionDepth: 2
    functionLinenumber: 6540
    functionLinenumberEnd: 6551
    functionName: hlua_http_req_get_headers
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - IS_HTX_STRM
    - check_args
    - lua_error
    - MAY_LJMP
    - hlua_http_get_headers
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_req_get_headers(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6557,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6557,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6558,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6558,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6560,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6561,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6561,1
    - Dst: hlua_http_get_headers
      Src: /src/haproxy/src/hlua.c:6563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6564
      start: 6553
    functionDepth: 2
    functionLinenumber: 6553
    functionLinenumberEnd: 6564
    functionName: hlua_http_res_get_headers
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - IS_HTX_STRM
    - check_args
    - lua_error
    - MAY_LJMP
    - hlua_http_get_headers
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_res_get_headers(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: regex_comp
      Src: /src/haproxy/src/hlua.c:6579,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6580,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua.c:6580,1
    - Dst: htxbuf
      Src: /src/haproxy/src/hlua.c:6582,1
    - Dst: http_replace_hdrs
      Src: /src/haproxy/src/hlua.c:6583,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:6583,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:6583,1
    - Dst: regex_free
      Src: /src/haproxy/src/hlua.c:6584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - L
    - msg
    - full
    argTypes:
    - lua_State*
    - struct http_msg*
    - int
    constantsTouched: []
    func_position:
      end: 6586
      start: 6570
    functionDepth: 2
    functionLinenumber: 6570
    functionLinenumberEnd: 6586
    functionName: hlua_http_rep_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - http_replace_hdrs
    - ist2
    - htxbuf
    - regex_comp
    - regex_free
    - WILL_LJMP
    - luaL_argerror
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_rep_hdr(lua_State *L, struct http_msg *msg, int full)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6592,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6592,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6593,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6593,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6595,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6596,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6596,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6598,1
    - Dst: hlua_http_rep_hdr
      Src: /src/haproxy/src/hlua.c:6598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6599
      start: 6588
    functionDepth: 3
    functionLinenumber: 6588
    functionLinenumberEnd: 6599
    functionName: hlua_http_req_rep_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - IS_HTX_STRM
    - check_args
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - hlua_http_rep_hdr
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_req_rep_hdr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6605,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6605,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6606,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6606,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6608,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6609,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6609,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6611,1
    - Dst: hlua_http_rep_hdr
      Src: /src/haproxy/src/hlua.c:6611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6612
      start: 6601
    functionDepth: 3
    functionLinenumber: 6601
    functionLinenumberEnd: 6612
    functionName: hlua_http_res_rep_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - IS_HTX_STRM
    - check_args
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - hlua_http_rep_hdr
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_res_rep_hdr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6618,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6618,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6619,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6619,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6621,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6622,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6622,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6624,1
    - Dst: hlua_http_rep_hdr
      Src: /src/haproxy/src/hlua.c:6624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6625
      start: 6614
    functionDepth: 3
    functionLinenumber: 6614
    functionLinenumberEnd: 6625
    functionName: hlua_http_req_rep_val
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - IS_HTX_STRM
    - check_args
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - hlua_http_rep_hdr
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_req_rep_val(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6631,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6631,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6632,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6632,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6634,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6635,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6635,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6637,1
    - Dst: hlua_http_rep_hdr
      Src: /src/haproxy/src/hlua.c:6637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6638
      start: 6627
    functionDepth: 3
    functionLinenumber: 6627
    functionLinenumberEnd: 6638
    functionName: hlua_http_res_rep_val
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - IS_HTX_STRM
    - check_args
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - hlua_http_rep_hdr
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_res_rep_val(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/hlua.c:6647,1
    - Dst: http_find_header
      Src: /src/haproxy/src/hlua.c:6651,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:6651,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/hlua.c:6652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - L
    - msg
    argTypes:
    - lua_State*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 6654
      start: 6643
    functionDepth: 1
    functionLinenumber: 6643
    functionLinenumberEnd: 6654
    functionName: hlua_http_del_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - ist2
    - http_remove_header
    - http_find_header
    - htxbuf
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_del_hdr(lua_State *L, struct http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6660,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6660,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6661,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6661,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6663,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6664,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6664,1
    - Dst: hlua_http_del_hdr
      Src: /src/haproxy/src/hlua.c:6666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6667
      start: 6656
    functionDepth: 2
    functionLinenumber: 6656
    functionLinenumberEnd: 6667
    functionName: hlua_http_req_del_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - IS_HTX_STRM
    - check_args
    - lua_error
    - MAY_LJMP
    - hlua_http_del_hdr
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_req_del_hdr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6673,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6673,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6674,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6674,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6676,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6677,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6677,1
    - Dst: hlua_http_del_hdr
      Src: /src/haproxy/src/hlua.c:6679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6680
      start: 6669
    functionDepth: 2
    functionLinenumber: 6669
    functionLinenumberEnd: 6680
    functionName: hlua_http_res_del_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - IS_HTX_STRM
    - check_args
    - lua_error
    - MAY_LJMP
    - hlua_http_del_hdr
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_res_del_hdr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/hlua.c:6691,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:6693,1
    - Dst: http_add_header
      Src: /src/haproxy/src/hlua.c:6693,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:6693,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:6694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - L
    - msg
    argTypes:
    - lua_State*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 6696
      start: 6685
    functionDepth: 1
    functionLinenumber: 6685
    functionLinenumberEnd: 6696
    functionName: hlua_http_add_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - http_add_header
    - ist2
    - htxbuf
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_add_hdr(lua_State *L, struct http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6702,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6702,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6703,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6703,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6705,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6706,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6706,1
    - Dst: hlua_http_add_hdr
      Src: /src/haproxy/src/hlua.c:6708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6709
      start: 6698
    functionDepth: 2
    functionLinenumber: 6698
    functionLinenumberEnd: 6709
    functionName: hlua_http_req_add_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - hlua_http_add_hdr
    - IS_HTX_STRM
    - check_args
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_req_add_hdr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6715,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6715,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6716,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6716,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6718,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6719,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6719,1
    - Dst: hlua_http_add_hdr
      Src: /src/haproxy/src/hlua.c:6721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6722
      start: 6711
    functionDepth: 2
    functionLinenumber: 6711
    functionLinenumberEnd: 6722
    functionName: hlua_http_res_add_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - hlua_http_add_hdr
    - IS_HTX_STRM
    - check_args
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_res_add_hdr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6728,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6728,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6729,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6729,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6731,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6732,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6732,1
    - Dst: hlua_http_del_hdr
      Src: /src/haproxy/src/hlua.c:6734,1
    - Dst: hlua_http_add_hdr
      Src: /src/haproxy/src/hlua.c:6735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6736
      start: 6724
    functionDepth: 2
    functionLinenumber: 6724
    functionLinenumberEnd: 6736
    functionName: hlua_http_req_set_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - hlua_http_add_hdr
    - IS_HTX_STRM
    - check_args
    - lua_error
    - MAY_LJMP
    - hlua_http_del_hdr
    - WILL_LJMP
    linkageType: ''
    returnType: int
    signature: hlua_http_req_set_hdr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6742,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6742,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6743,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6743,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6745,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6746,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6746,1
    - Dst: hlua_http_del_hdr
      Src: /src/haproxy/src/hlua.c:6748,1
    - Dst: hlua_http_add_hdr
      Src: /src/haproxy/src/hlua.c:6749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6750
      start: 6738
    functionDepth: 2
    functionLinenumber: 6738
    functionLinenumberEnd: 6750
    functionName: hlua_http_res_set_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - hlua_http_add_hdr
    - IS_HTX_STRM
    - check_args
    - lua_error
    - MAY_LJMP
    - hlua_http_del_hdr
    - WILL_LJMP
    linkageType: ''
    returnType: int
    signature: hlua_http_res_set_hdr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6755,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6755,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6759,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6760,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6760,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:6762,1
    - Dst: http_req_replace_stline
      Src: /src/haproxy/src/hlua.c:6762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6764
      start: 6753
    functionDepth: 2
    functionLinenumber: 6753
    functionLinenumberEnd: 6764
    functionName: hlua_http_req_set_meth
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - lua_pushboolean
    - IS_HTX_STRM
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - http_req_replace_stline
    linkageType: ''
    returnType: int
    signature: hlua_http_req_set_meth(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6769,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6769,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6773,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6774,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6774,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:6776,1
    - Dst: http_req_replace_stline
      Src: /src/haproxy/src/hlua.c:6776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6778
      start: 6767
    functionDepth: 2
    functionLinenumber: 6767
    functionLinenumberEnd: 6778
    functionName: hlua_http_req_set_path
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - lua_pushboolean
    - IS_HTX_STRM
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - http_req_replace_stline
    linkageType: ''
    returnType: int
    signature: hlua_http_req_set_path(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6783,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6783,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6787,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6788,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6788,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:6792,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/hlua.c:6797,1
    - Dst: memcpy
      Src: /src/haproxy/src/hlua.c:6799,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:6802,1
    - Dst: http_req_replace_stline
      Src: /src/haproxy/src/hlua.c:6803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6805
      start: 6781
    functionDepth: 2
    functionLinenumber: 6781
    functionLinenumberEnd: 6805
    functionName: hlua_http_req_set_query
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - chunk_reset
    - lua_pushboolean
    - IS_HTX_STRM
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - memcpy
    - http_req_replace_stline
    linkageType: ''
    returnType: int
    signature: hlua_http_req_set_query(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6810,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6810,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6814,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6815,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6815,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:6817,1
    - Dst: http_req_replace_stline
      Src: /src/haproxy/src/hlua.c:6817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6819
      start: 6808
    functionDepth: 2
    functionLinenumber: 6808
    functionLinenumberEnd: 6819
    functionName: hlua_http_req_set_uri
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - lua_pushboolean
    - IS_HTX_STRM
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - http_req_replace_stline
    linkageType: ''
    returnType: int
    signature: hlua_http_req_set_uri(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6824,1
    - Dst: hlua_checkhttp
      Src: /src/haproxy/src/hlua.c:6824,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:6827,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:6827,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:6829,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6830,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6830,1
    - Dst: http_res_set_status
      Src: /src/haproxy/src/hlua.c:6832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6834
      start: 6822
    functionDepth: 2
    functionLinenumber: 6822
    functionLinenumberEnd: 6834
    functionName: hlua_http_res_set_status
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_checkhttp
    - strlen
    - ist2
    - IS_HTX_STRM
    - http_res_set_status
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    linkageType: ''
    returnType: int
    signature: hlua_http_res_set_status(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6849,1
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua.c:6849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 6850
      start: 6847
    functionDepth: 1
    functionLinenumber: 6847
    functionLinenumberEnd: 6850
    functionName: hlua_checkhttpmsg
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - MAY_LJMP
    - hlua_checkudata
    linkageType: ''
    returnType: __LJMP
    signature: '*hlua_checkhttpmsg(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:6857,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:6860,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:6861,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:6862,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:6865,1
    - Dst: hlua_channel_new
      Src: /src/haproxy/src/hlua.c:6866,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:6868,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:6871,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua.c:6872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - L
    - msg
    argTypes:
    - lua_State*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 6875
      start: 6854
    functionDepth: 1
    functionLinenumber: 6854
    functionLinenumberEnd: 6875
    functionName: hlua_http_msg_new
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - hlua_channel_new
    - lua_rawset
    - lua_rawgeti
    - lua_setmetatable
    - lua_rawseti
    - lua_pushlightuserdata
    - lua_checkstack
    - lua_newtable
    linkageType: ''
    returnType: int
    signature: hlua_http_msg_new(lua_State *L, struct http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/hlua.c:6885,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:6888,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:6889,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:6891,1
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua.c:6892,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:6896,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:6897,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:6901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - L
    - ud
    - msg
    - offset
    - len
    argTypes:
    - lua_State*
    - int
    - struct http_msg*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 6903
      start: 6882
    functionDepth: 1
    functionLinenumber: 6882
    functionLinenumberEnd: 6903
    functionName: hlua_http_msg_filter
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_touserdata
    - co_data
    - CHN_IDX
    - htxbuf
    - lua_getfield
    linkageType: ''
    returnType: struct filter
    signature: '*hlua_http_msg_filter(lua_State *L, int ud, struct http_msg *msg,
      size_t *offset, size_t *len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6912,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6912,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6913,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:6913,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:6915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6917
      start: 6908
    functionDepth: 2
    functionLinenumber: 6908
    functionLinenumberEnd: 6917
    functionName: hlua_http_msg_is_resp
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - check_args
    - hlua_checkhttpmsg
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_is_resp(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6928,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6928,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6929,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:6929,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6932,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6932,1
    - Dst: htxbuf
      Src: /src/haproxy/src/hlua.c:6934,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/hlua.c:6935,1
    - Dst: hlua_http_get_stline
      Src: /src/haproxy/src/hlua.c:6938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6939
      start: 6922
    functionDepth: 2
    functionLinenumber: 6922
    functionLinenumberEnd: 6939
    functionName: hlua_http_msg_get_stline
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_http_get_stline
    - htxbuf
    - check_args
    - lua_error
    - MAY_LJMP
    - http_get_stline
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_get_stline(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6948,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6948,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6949,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:6949,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6952,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6952,1
    - Dst: hlua_http_get_headers
      Src: /src/haproxy/src/hlua.c:6954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6955
      start: 6944
    functionDepth: 2
    functionLinenumber: 6944
    functionLinenumberEnd: 6955
    functionName: hlua_http_msg_get_headers
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - check_args
    - lua_error
    - MAY_LJMP
    - hlua_http_get_headers
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_get_headers(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6964,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6964,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6965,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:6965,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6968,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6968,1
    - Dst: hlua_http_del_hdr
      Src: /src/haproxy/src/hlua.c:6970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6971
      start: 6960
    functionDepth: 2
    functionLinenumber: 6960
    functionLinenumberEnd: 6971
    functionName: hlua_http_msg_del_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - check_args
    - lua_error
    - MAY_LJMP
    - hlua_http_del_hdr
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_del_hdr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6981,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6981,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6982,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:6982,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:6985,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:6985,1
    - Dst: hlua_http_rep_hdr
      Src: /src/haproxy/src/hlua.c:6987,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 6988
      start: 6977
    functionDepth: 3
    functionLinenumber: 6977
    functionLinenumberEnd: 6988
    functionName: hlua_http_msg_rep_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_http_rep_hdr
    - check_args
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_rep_hdr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6998,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:6998,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:6999,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:6999,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7002,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7002,1
    - Dst: hlua_http_rep_hdr
      Src: /src/haproxy/src/hlua.c:7004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7005
      start: 6994
    functionDepth: 3
    functionLinenumber: 6994
    functionLinenumberEnd: 7005
    functionName: hlua_http_msg_rep_val
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_http_rep_hdr
    - check_args
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_rep_val(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7012,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7012,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7013,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7013,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7016,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7016,1
    - Dst: hlua_http_add_hdr
      Src: /src/haproxy/src/hlua.c:7018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7019
      start: 7008
    functionDepth: 2
    functionLinenumber: 7008
    functionLinenumberEnd: 7019
    functionName: hlua_http_msg_add_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_http_add_hdr
    - check_args
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_add_hdr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7028,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7028,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7029,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7029,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7032,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7032,1
    - Dst: hlua_http_del_hdr
      Src: /src/haproxy/src/hlua.c:7034,1
    - Dst: hlua_http_add_hdr
      Src: /src/haproxy/src/hlua.c:7035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7036
      start: 7024
    functionDepth: 2
    functionLinenumber: 7024
    functionLinenumberEnd: 7036
    functionName: hlua_http_msg_set_hdr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_http_add_hdr
    - check_args
    - lua_error
    - MAY_LJMP
    - hlua_http_del_hdr
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_set_hdr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7046,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7046,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7047,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7047,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7048,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:7048,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7051,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7051,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:7053,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:7054,1
    - Dst: http_req_replace_stline
      Src: /src/haproxy/src/hlua.c:7054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7056
      start: 7039
    functionDepth: 2
    functionLinenumber: 7039
    functionLinenumberEnd: 7056
    functionName: hlua_http_msg_set_meth
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - lua_pushboolean
    - http_req_replace_stline
    - check_args
    - lua_error
    - MAY_LJMP
    - luaL_checklstring
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_set_meth(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7066,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7066,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7067,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7067,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7068,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:7068,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7071,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7071,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:7073,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:7074,1
    - Dst: http_req_replace_stline
      Src: /src/haproxy/src/hlua.c:7074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7076
      start: 7059
    functionDepth: 2
    functionLinenumber: 7059
    functionLinenumberEnd: 7076
    functionName: hlua_http_msg_set_path
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - lua_pushboolean
    - http_req_replace_stline
    - check_args
    - lua_error
    - MAY_LJMP
    - luaL_checklstring
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_set_path(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7086,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7086,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7087,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7087,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7088,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:7088,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7091,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7091,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:7095,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/hlua.c:7100,1
    - Dst: memcpy
      Src: /src/haproxy/src/hlua.c:7102,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:7105,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:7106,1
    - Dst: http_req_replace_stline
      Src: /src/haproxy/src/hlua.c:7106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7108
      start: 7079
    functionDepth: 2
    functionLinenumber: 7079
    functionLinenumberEnd: 7108
    functionName: hlua_http_msg_set_query
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - chn_strm
    - lua_pushboolean
    - http_req_replace_stline
    - check_args
    - lua_error
    - MAY_LJMP
    - luaL_checklstring
    - WILL_LJMP
    - memcpy
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_set_query(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7118,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7118,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7119,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7119,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7120,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:7120,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7123,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7123,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:7125,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:7126,1
    - Dst: http_req_replace_stline
      Src: /src/haproxy/src/hlua.c:7126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7128
      start: 7111
    functionDepth: 2
    functionLinenumber: 7111
    functionLinenumberEnd: 7128
    functionName: hlua_http_msg_set_uri
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - lua_pushboolean
    - http_req_replace_stline
    - check_args
    - lua_error
    - MAY_LJMP
    - luaL_checklstring
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_set_uri(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7138,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7138,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7139,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:7139,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7140,1
    - Dst: luaL_optlstring
      Src: /src/haproxy/src/hlua.c:7140,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7143,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7143,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:7145,1
    - Dst: http_res_set_status
      Src: /src/haproxy/src/hlua.c:7145,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:7145,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:7145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7147
      start: 7131
    functionDepth: 2
    functionLinenumber: 7131
    functionLinenumberEnd: 7147
    functionName: hlua_http_msg_set_status
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - chn_strm
    - lua_pushboolean
    - ist2
    - luaL_checkinteger
    - http_res_set_status
    - lua_error
    - MAY_LJMP
    - WILL_LJMP
    - hlua_checkhttpmsg
    - luaL_optlstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_set_status(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7154,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7154,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7155,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7155,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:7156,1
    - Dst: channel_full
      Src: /src/haproxy/src/hlua.c:7156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7158
      start: 7150
    functionDepth: 2
    functionLinenumber: 7150
    functionLinenumberEnd: 7158
    functionName: hlua_http_msg_is_full
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - channel_full
    - lua_pushboolean
    - check_args
    - MAY_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_is_full(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7166,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7166,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7167,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7167,1
    - Dst: htxbuf
      Src: /src/haproxy/src/hlua.c:7168,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:7169,1
    - Dst: htx_expect_more
      Src: /src/haproxy/src/hlua.c:7169,1
    - Dst: channel_input_closed
      Src: /src/haproxy/src/hlua.c:7169,1
    - Dst: channel_may_recv
      Src: /src/haproxy/src/hlua.c:7169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7171
      start: 7161
    functionDepth: 2
    functionLinenumber: 7161
    functionLinenumberEnd: 7171
    functionName: hlua_http_msg_may_recv
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - htx_expect_more
    - channel_input_closed
    - htxbuf
    - check_args
    - MAY_LJMP
    - channel_may_recv
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_may_recv(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7179,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7179,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7180,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7180,1
    - Dst: htxbuf
      Src: /src/haproxy/src/hlua.c:7181,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:7182,1
    - Dst: htx_expect_more
      Src: /src/haproxy/src/hlua.c:7182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7184
      start: 7174
    functionDepth: 2
    functionLinenumber: 7174
    functionLinenumberEnd: 7184
    functionName: hlua_http_msg_is_eom
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - htx_expect_more
    - htxbuf
    - check_args
    - MAY_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_is_eom(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7194,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7194,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7195,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7195,1
    - Dst: hlua_http_msg_filter
      Src: /src/haproxy/src/hlua.c:7196,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:7197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7199
      start: 7189
    functionDepth: 2
    functionLinenumber: 7189
    functionLinenumberEnd: 7199
    functionName: hlua_http_msg_get_in_len
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_http_msg_filter
    - lua_pushinteger
    - check_args
    - MAY_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_get_in_len(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7209,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7209,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7210,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7210,1
    - Dst: hlua_http_msg_filter
      Src: /src/haproxy/src/hlua.c:7211,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:7212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7214
      start: 7204
    functionDepth: 2
    functionLinenumber: 7204
    functionLinenumberEnd: 7214
    functionName: hlua_http_msg_get_out_len
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_http_msg_filter
    - lua_pushinteger
    - check_args
    - MAY_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_get_out_len(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/hlua.c:7224,1
    - Dst: luaL_buffinit
      Src: /src/haproxy/src/hlua.c:7230,1
    - Dst: htx_find_offset
      Src: /src/haproxy/src/hlua.c:7231,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/hlua.c:7232,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/hlua.c:7233,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/hlua.c:7241,1
    - Dst: istadv
      Src: /src/haproxy/src/hlua.c:7242,1
    - Dst: isttrim
      Src: /src/haproxy/src/hlua.c:7243,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:7245,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:7260,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:7265,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:7266,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - msg
    - L
    - offset
    - len
    argTypes:
    - struct http_msg*
    - lua_State*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 7268
      start: 7222
    functionDepth: 1
    functionLinenumber: 7222
    functionLinenumberEnd: 7268
    functionName: _hlua_http_msg_dup
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - luaL_buffinit
    - luaL_pushresult
    - htx_find_offset
    - lua_pushnil
    - isttrim
    - htxbuf
    - htx_get_blk_type
    - istadv
    - luaL_addlstring
    - htx_get_blk_value
    - htx_get_next_blk
    linkageType: ''
    returnType: int
    signature: _hlua_http_msg_dup(struct http_msg *msg, lua_State *L, size_t offset,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hlua.c:7277,1
    - Dst: unlikely
      Src: /src/haproxy/src/hlua.c:7282,1
    - Dst: istlen
      Src: /src/haproxy/src/hlua.c:7282,1
    - Dst: istlen
      Src: /src/haproxy/src/hlua.c:7285,1
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/hlua.c:7285,1
    - Dst: htx_find_offset
      Src: /src/haproxy/src/hlua.c:7290,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/hlua.c:7291,1
    - Dst: htx_add_last_data
      Src: /src/haproxy/src/hlua.c:7292,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/hlua.c:7296,1
    - Dst: htx_replace_blk_value
      Src: /src/haproxy/src/hlua.c:7299,1
    - Dst: flt_update_offsets
      Src: /src/haproxy/src/hlua.c:7305,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:7306,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/hlua.c:7310,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - msg
    - filter
    - str
    - offset
    argTypes:
    - struct http_msg*
    - struct filter*
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 7312
      start: 7275
    functionDepth: 1
    functionLinenumber: 7275
    functionLinenumberEnd: 7312
    functionName: _hlua_http_msg_insert
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - htx_find_offset
    - htx_free_data_space
    - htx_from_buf
    - istlen
    - flt_update_offsets
    - CHN_IDX
    - htx_get_blk_type
    - htx_get_blk_value
    - htx_to_buf
    - unlikely
    - htx_replace_blk_value
    - htx_add_last_data
    linkageType: ''
    returnType: int
    signature: _hlua_http_msg_insert(struct http_msg *msg, struct filter *filter,
      struct ist str, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hlua.c:7323,1
    - Dst: htx_get_tail_type
      Src: /src/haproxy/src/hlua.c:7329,1
    - Dst: htx_truncate
      Src: /src/haproxy/src/hlua.c:7335,1
    - Dst: htx_find_offset
      Src: /src/haproxy/src/hlua.c:7340,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/hlua.c:7346,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/hlua.c:7349,1
    - Dst: istadv
      Src: /src/haproxy/src/hlua.c:7350,1
    - Dst: isttrim
      Src: /src/haproxy/src/hlua.c:7352,1
    - Dst: htx_replace_blk_value
      Src: /src/haproxy/src/hlua.c:7356,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/hlua.c:7362,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/hlua.c:7371,1
    - Dst: htx_cut_data_blk
      Src: /src/haproxy/src/hlua.c:7383,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/hlua.c:7397,1
    - Dst: flt_update_offsets
      Src: /src/haproxy/src/hlua.c:7401,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:7402,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 4
    argNames:
    - msg
    - filter
    - offset
    - len
    argTypes:
    - struct http_msg*
    - struct filter*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 7406
      start: 7320
    functionDepth: 1
    functionLinenumber: 7320
    functionLinenumberEnd: 7406
    functionName: _hlua_http_msg_delete
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - htx_find_offset
    - htx_from_buf
    - flt_update_offsets
    - htx_cut_data_blk
    - isttrim
    - CHN_IDX
    - htx_get_tail_type
    - htx_get_blk_type
    - istadv
    - htx_get_blk_value
    - htx_remove_blk
    - htx_truncate
    - htx_replace_blk_value
    - htx_get_next_blk
    linkageType: ''
    returnType: void
    signature: _hlua_http_msg_delete(struct http_msg *msg, struct filter *filter,
      size_t offset, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7421,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7421,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7422,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:7422,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7423,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7423,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7426,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7426,1
    - Dst: hlua_http_msg_filter
      Src: /src/haproxy/src/hlua.c:7428,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:7429,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7430,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7430,1
    - Dst: ci_data
      Src: /src/haproxy/src/hlua.c:7432,1
    - Dst: channel_input_closed
      Src: /src/haproxy/src/hlua.c:7432,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:7433,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7438,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7439,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:7439,1
    - Dst: MAX
      Src: /src/haproxy/src/hlua.c:7441,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:7444,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7445,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7445,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7449,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7450,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:7450,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:7456,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7457,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7457,1
    - Dst: _hlua_http_msg_dup
      Src: /src/haproxy/src/hlua.c:7462,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7464
      start: 7414
    functionDepth: 2
    functionLinenumber: 7414
    functionLinenumberEnd: 7464
    functionName: hlua_http_msg_get_body
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - hlua_http_msg_filter
    - lua_pushfstring
    - luaL_error
    - channel_input_closed
    - MAX
    - luaL_checkinteger
    - lua_gettop
    - lua_error
    - _hlua_http_msg_dup
    - MAY_LJMP
    - ci_data
    - hlua_filter_from_payload
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_get_body(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7480,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7480,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7481,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7481,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7484,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7484,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7486,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:7486,1
    - Dst: hlua_http_msg_filter
      Src: /src/haproxy/src/hlua.c:7487,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:7488,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7489,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7489,1
    - Dst: _hlua_http_msg_insert
      Src: /src/haproxy/src/hlua.c:7491,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:7491,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:7492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7494
      start: 7472
    functionDepth: 2
    functionLinenumber: 7472
    functionLinenumberEnd: 7494
    functionName: hlua_http_msg_append
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_http_msg_filter
    - ist2
    - lua_pushinteger
    - check_args
    - _hlua_http_msg_insert
    - lua_error
    - MAY_LJMP
    - luaL_checklstring
    - hlua_filter_from_payload
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_append(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7510,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7510,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7511,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7511,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7514,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7514,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7516,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:7516,1
    - Dst: hlua_http_msg_filter
      Src: /src/haproxy/src/hlua.c:7517,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:7518,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7519,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7519,1
    - Dst: _hlua_http_msg_insert
      Src: /src/haproxy/src/hlua.c:7521,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:7521,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:7522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7524
      start: 7502
    functionDepth: 2
    functionLinenumber: 7502
    functionLinenumberEnd: 7524
    functionName: hlua_http_msg_prepend
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_http_msg_filter
    - ist2
    - lua_pushinteger
    - check_args
    - _hlua_http_msg_insert
    - lua_error
    - MAY_LJMP
    - luaL_checklstring
    - hlua_filter_from_payload
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_prepend(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7542,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7542,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7543,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:7543,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7544,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7544,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7547,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7547,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7549,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:7549,1
    - Dst: hlua_http_msg_filter
      Src: /src/haproxy/src/hlua.c:7550,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:7551,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7552,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7552,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7555,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7556,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:7556,1
    - Dst: MAX
      Src: /src/haproxy/src/hlua.c:7558,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:7561,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7562,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7562,1
    - Dst: _hlua_http_msg_insert
      Src: /src/haproxy/src/hlua.c:7566,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:7566,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:7567,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7569
      start: 7533
    functionDepth: 2
    functionLinenumber: 7533
    functionLinenumberEnd: 7569
    functionName: hlua_http_msg_insert_data
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_http_msg_filter
    - lua_pushfstring
    - ist2
    - luaL_error
    - MAX
    - luaL_checkinteger
    - lua_pushinteger
    - _hlua_http_msg_insert
    - lua_gettop
    - lua_error
    - MAY_LJMP
    - luaL_checklstring
    - hlua_filter_from_payload
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_insert_data(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7584,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7584,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7585,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:7585,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7586,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7586,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7589,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7589,1
    - Dst: hlua_http_msg_filter
      Src: /src/haproxy/src/hlua.c:7591,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:7592,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7593,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7593,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7596,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7597,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:7597,1
    - Dst: MAX
      Src: /src/haproxy/src/hlua.c:7599,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:7602,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7603,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7603,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7608,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7609,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:7609,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:7615,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7616,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7616,1
    - Dst: _hlua_http_msg_delete
      Src: /src/haproxy/src/hlua.c:7620,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:7623,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7625
      start: 7577
    functionDepth: 2
    functionLinenumber: 7577
    functionLinenumberEnd: 7625
    functionName: hlua_http_msg_del_data
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_http_msg_filter
    - lua_pushfstring
    - _hlua_http_msg_delete
    - luaL_error
    - MAX
    - luaL_checkinteger
    - lua_pushinteger
    - lua_gettop
    - lua_error
    - MAY_LJMP
    - hlua_filter_from_payload
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_del_data(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7644,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7644,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7645,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:7645,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7646,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7646,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7649,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7649,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7651,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:7651,1
    - Dst: hlua_http_msg_filter
      Src: /src/haproxy/src/hlua.c:7652,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:7653,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7654,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7654,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7657,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7658,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:7658,1
    - Dst: MAX
      Src: /src/haproxy/src/hlua.c:7660,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:7663,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7664,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7664,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:7669,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7670,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:7670,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:7676,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7677,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7677,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hlua.c:7683,1
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/hlua.c:7684,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:7685,1
    - Dst: _hlua_http_msg_delete
      Src: /src/haproxy/src/hlua.c:7687,1
    - Dst: _hlua_http_msg_insert
      Src: /src/haproxy/src/hlua.c:7688,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:7688,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:7689,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7692
      start: 7634
    functionDepth: 2
    functionLinenumber: 7634
    functionLinenumberEnd: 7692
    functionName: hlua_http_msg_set_data
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - htx_free_data_space
    - hlua_http_msg_filter
    - htx_from_buf
    - lua_pushfstring
    - _hlua_http_msg_delete
    - ist2
    - luaL_error
    - MAX
    - luaL_checkinteger
    - lua_pushinteger
    - _hlua_http_msg_insert
    - lua_gettop
    - lua_error
    - MAY_LJMP
    - luaL_checklstring
    - hlua_filter_from_payload
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_set_data(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7709,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7709,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7710,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7710,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7713,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7713,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7715,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:7715,1
    - Dst: hlua_http_msg_filter
      Src: /src/haproxy/src/hlua.c:7716,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:7717,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7718,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7718,1
    - Dst: unlikely
      Src: /src/haproxy/src/hlua.c:7721,1
    - Dst: channel_output_closed
      Src: /src/haproxy/src/hlua.c:7721,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:7722,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hlua.c:7726,1
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/hlua.c:7727,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:7728,1
    - Dst: _hlua_http_msg_insert
      Src: /src/haproxy/src/hlua.c:7732,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:7732,1
    - Dst: FLT_OFF
      Src: /src/haproxy/src/hlua.c:7736,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:7737,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:7738,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:7741,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7743
      start: 7700
    functionDepth: 2
    functionLinenumber: 7700
    functionLinenumberEnd: 7743
    functionName: hlua_http_msg_send
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - channel_output_closed
    - FLT_OFF
    - htx_free_data_space
    - hlua_http_msg_filter
    - htx_from_buf
    - ist2
    - CHN_IDX
    - unlikely
    - lua_pushinteger
    - check_args
    - _hlua_http_msg_insert
    - lua_error
    - MAY_LJMP
    - luaL_checklstring
    - hlua_filter_from_payload
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_send(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7759,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7759,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7760,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7760,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7763,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7763,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7765,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:7765,1
    - Dst: hlua_http_msg_filter
      Src: /src/haproxy/src/hlua.c:7766,1
    - Dst: hlua_filter_from_payload
      Src: /src/haproxy/src/hlua.c:7767,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7768,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7768,1
    - Dst: unlikely
      Src: /src/haproxy/src/hlua.c:7775,1
    - Dst: channel_output_closed
      Src: /src/haproxy/src/hlua.c:7775,1
    - Dst: FLT_OFF
      Src: /src/haproxy/src/hlua.c:7787,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:7788,1
    - Dst: CHN_IDX
      Src: /src/haproxy/src/hlua.c:7789,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:7793,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7795
      start: 7752
    functionDepth: 2
    functionLinenumber: 7752
    functionLinenumberEnd: 7795
    functionName: hlua_http_msg_forward
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - channel_output_closed
    - FLT_OFF
    - hlua_http_msg_filter
    - CHN_IDX
    - unlikely
    - luaL_checkinteger
    - lua_pushinteger
    - check_args
    - lua_error
    - MAY_LJMP
    - hlua_filter_from_payload
    - WILL_LJMP
    - hlua_checkhttpmsg
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_forward(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7807,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7807,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7808,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7808,1
    - Dst: htxbuf
      Src: /src/haproxy/src/hlua.c:7809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7812
      start: 7802
    functionDepth: 2
    functionLinenumber: 7802
    functionLinenumberEnd: 7812
    functionName: hlua_http_msg_set_eom
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - htxbuf
    - check_args
    - hlua_checkhttpmsg
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_set_eom(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7824,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7824,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7825,1
    - Dst: hlua_checkhttpmsg
      Src: /src/haproxy/src/hlua.c:7825,1
    - Dst: htxbuf
      Src: /src/haproxy/src/hlua.c:7826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7829
      start: 7819
    functionDepth: 2
    functionLinenumber: 7819
    functionLinenumberEnd: 7829
    functionName: hlua_http_msg_unset_eom
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - htxbuf
    - check_args
    - hlua_checkhttpmsg
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_http_msg_unset_eom(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7840,1
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua.c:7840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 7841
      start: 7838
    functionDepth: 1
    functionLinenumber: 7838
    functionLinenumberEnd: 7841
    functionName: hlua_checkhttpclient
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - MAY_LJMP
    - hlua_checkudata
    linkageType: ''
    returnType: __LJMP
    signature: '*hlua_checkhttpclient(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7849,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:7849,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7851,1
    - Dst: hlua_checkhttpclient
      Src: /src/haproxy/src/hlua.c:7851,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/hlua.c:7853,1
    - Dst: httpclient_stop_and_destroy
      Src: /src/haproxy/src/hlua.c:7855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7860
      start: 7845
    functionDepth: 2
    functionLinenumber: 7845
    functionLinenumberEnd: 7860
    functionName: hlua_httpclient_gc
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - MT_LIST_DELETE
    - check_args
    - httpclient_stop_and_destroy
    - hlua_checkhttpclient
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_httpclient_gc(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:7869,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:7874,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:7875,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:7879,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:7880,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua.c:7880,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:7881,1
    - Dst: memset
      Src: /src/haproxy/src/hlua.c:7882,1
    - Dst: httpclient_new
      Src: /src/haproxy/src/hlua.c:7884,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/hlua.c:7888,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:7891,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua.c:7892,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7897,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7897,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 7899
      start: 7863
    functionDepth: 1
    functionLinenumber: 7863
    functionLinenumberEnd: 7899
    functionName: hlua_httpclient_new
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - MT_LIST_APPEND
    - httpclient_new
    - lua_newuserdata
    - memset
    - lua_rawgeti
    - lua_setmetatable
    - lua_rawseti
    - hlua_pusherror
    - lua_error
    - MAY_LJMP
    - lua_checkstack
    - lua_newtable
    - hlua_gethlua
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_httpclient_new(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_wakeup
      Src: /src/haproxy/src/hlua.c:7915,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 7916
      start: 7908
    functionDepth: 0
    functionLinenumber: 7908
    functionLinenumberEnd: 7916
    functionName: hlua_httpclient_cb
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - task_wakeup
    linkageType: ''
    returnType: void
    signature: hlua_httpclient_cb(struct httpclient *hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:7926,1
    - Dst: isttest
      Src: /src/haproxy/src/hlua.c:7928,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:7941,1
    - Dst: lua_gettable
      Src: /src/haproxy/src/hlua.c:7942,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:7944,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:7947,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:7948,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:7949,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:7950,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:7951,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:7952,1
    - Dst: lua_rawlen
      Src: /src/haproxy/src/hlua.c:7957,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:7958,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:7959,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:7960,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:7965,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:7966,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:7966,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - L
    - hlua_hc
    argTypes:
    - lua_State*
    - struct hlua_httpclient*
    constantsTouched: []
    func_position:
      end: 7970
      start: 7922
    functionDepth: 1
    functionLinenumber: 7922
    functionLinenumberEnd: 7970
    functionName: hlua_httpclient_get_headers
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_gettable
    - lua_pop
    - lua_pushlstring
    - isttest
    - lua_rawlen
    - lua_rawseti
    - hlua_pusherror
    - lua_error
    - lua_rawset
    - lua_newtable
    - lua_type
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_httpclient_get_headers(lua_State *L, struct hlua_httpclient *hlua_hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:7983,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:7984,1
    - Dst: lua_isstring
      Src: /src/haproxy/src/hlua.c:7989,1
    - Dst: lua_istable
      Src: /src/haproxy/src/hlua.c:7989,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:7994,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:7995,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:7998,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:7999,1
    - Dst: lua_isstring
      Src: /src/haproxy/src/hlua.c:8000,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:8005,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:8006,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:8007,1
    - Dst: istdup
      Src: /src/haproxy/src/hlua.c:8009,1
    - Dst: istdup
      Src: /src/haproxy/src/hlua.c:8010,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:8015,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:8019,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:8025,1
    - Dst: memcpy
      Src: /src/haproxy/src/hlua.c:8028,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8037
      start: 7977
    functionDepth: 1
    functionLinenumber: 7977
    functionLinenumberEnd: 8037
    functionName: hlua_httpclient_table_to_hdrs
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_pushnil
    - lua_isstring
    - calloc
    - ist2
    - istdup
    - memcpy
    - lua_istable
    - lua_next
    - lua_tolstring
    linkageType: ''
    returnType: struct http_hdr
    signature: '*hlua_httpclient_table_to_hdrs(lua_State *L)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:8049,1
    - Dst: hlua_checkhttpclient
      Src: /src/haproxy/src/hlua.c:8050,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/hlua.c:8053,1
    - Dst: httpclient_res_xfer
      Src: /src/haproxy/src/hlua.c:8055,1
    - Dst: luaL_addlstring
      Src: /src/haproxy/src/hlua.c:8056,1
    - Dst: b_orig
      Src: /src/haproxy/src/hlua.c:8056,1
    - Dst: httpclient_data
      Src: /src/haproxy/src/hlua.c:8058,1
    - Dst: httpclient_ended
      Src: /src/haproxy/src/hlua.c:8058,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua.c:8060,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:8061,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8063,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:8064,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:8065,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8068,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua.c:8069,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:8070,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8072,1
    - Dst: hlua_httpclient_get_headers
      Src: /src/haproxy/src/hlua.c:8073,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:8074,1
    - Dst: httpclient_data
      Src: /src/haproxy/src/hlua.c:8079,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/hlua.c:8080,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8082,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:8082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 8085
      start: 8045
    functionDepth: 2
    functionLinenumber: 8045
    functionLinenumberEnd: 8085
    functionName: hlua_httpclient_rcv_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_settable
    - lua_pushstring
    - luaL_pushresult
    - lua_pushlstring
    - hlua_httpclient_get_headers
    - httpclient_ended
    - task_wakeup
    - hlua_yieldk
    - lua_pushinteger
    - get_trash_chunk
    - luaL_addlstring
    - hlua_checkhttpclient
    - MAY_LJMP
    - httpclient_res_xfer
    - hlua_gethlua
    - b_orig
    - httpclient_data
    linkageType: ''
    returnType: __LJMP
    signature: hlua_httpclient_rcv_yield(lua_State *L, int status, lua_KContext ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkhttpclient
      Src: /src/haproxy/src/hlua.c:8093,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:8100,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8103,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:8103,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:8106,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:8110,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:8111,1
    - Dst: httpclient_req_xfer
      Src: /src/haproxy/src/hlua.c:8119,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:8119,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8123,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:8123,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:8133,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8135,1
    - Dst: luaL_buffinit
      Src: /src/haproxy/src/hlua.c:8136,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/hlua.c:8138,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8139,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:8139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 8142
      start: 8090
    functionDepth: 2
    functionLinenumber: 8090
    functionLinenumberEnd: 8142
    functionName: hlua_httpclient_snd_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_newtable
    - lua_pushstring
    - luaL_buffinit
    - httpclient_req_xfer
    - luaL_error
    - ist2
    - hlua_yieldk
    - task_wakeup
    - lua_getfield
    - hlua_checkhttpclient
    - MAY_LJMP
    - hlua_gethlua
    - WILL_LJMP
    - lua_tolstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_httpclient_snd_yield(lua_State *L, int status, lua_KContext ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:8159,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8162,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:8162,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:8165,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:8165,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8166,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:8166,1
    - Dst: hlua_checkhttpclient
      Src: /src/haproxy/src/hlua.c:8168,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:8170,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:8171,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:8172,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:8172,1
    - Dst: httpclient_set_dst
      Src: /src/haproxy/src/hlua.c:8173,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:8173,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8174,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:8174,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:8176,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:8176,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:8177,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8178,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:8178,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:8179,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:8181,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:8181,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:8182,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8183,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:8183,1
    - Dst: httpclient_set_timeout
      Src: /src/haproxy/src/hlua.c:8184,1
    - Dst: lua_tointeger
      Src: /src/haproxy/src/hlua.c:8184,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:8186,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:8186,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:8187,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8188,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:8188,1
    - Dst: hlua_httpclient_table_to_hdrs
      Src: /src/haproxy/src/hlua.c:8189,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:8191,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:8191,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:8192,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8193,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:8193,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:8194,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8197,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:8197,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:8197,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:8200,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8204,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:8204,1
    - Dst: istfree
      Src: /src/haproxy/src/hlua.c:8210,1
    - Dst: istdup
      Src: /src/haproxy/src/hlua.c:8211,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:8211,1
    - Dst: httpclient_req_gen
      Src: /src/haproxy/src/hlua.c:8225,1
    - Dst: isttest
      Src: /src/haproxy/src/hlua.c:8229,1
    - Dst: istfree
      Src: /src/haproxy/src/hlua.c:8230,1
    - Dst: istfree
      Src: /src/haproxy/src/hlua.c:8231,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:8234,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8238,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:8238,1
    - Dst: httpclient_start
      Src: /src/haproxy/src/hlua.c:8242,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8243,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:8243,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8245,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:8245,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - L
    - meth
    argTypes:
    - lua_State*
    - enum http_meth_t
    constantsTouched: []
    func_position:
      end: 8248
      start: 8148
    functionDepth: 2
    functionLinenumber: 8148
    functionLinenumberEnd: 8248
    functionName: hlua_httpclient_send
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - httpclient_req_gen
    - ha_free
    - isttest
    - ist
    - lua_tostring
    - lua_pushnil
    - istfree
    - strcmp
    - luaL_error
    - hlua_checkhttpclient
    - MAY_LJMP
    - lua_type
    - lua_gettop
    - hlua_httpclient_table_to_hdrs
    - lua_tointeger
    - hlua_gethlua
    - WILL_LJMP
    - lua_tolstring
    - hlua_yieldk
    - lua_pop
    - httpclient_set_dst
    - istdup
    - httpclient_set_timeout
    - httpclient_start
    - lua_next
    linkageType: ''
    returnType: __LJMP
    signature: hlua_httpclient_send(lua_State *L, enum http_meth_t meth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_httpclient_send
      Src: /src/haproxy/src/hlua.c:8257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8258
      start: 8255
    functionDepth: 3
    functionLinenumber: 8255
    functionLinenumberEnd: 8258
    functionName: hlua_httpclient_head
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_httpclient_send
    linkageType: ''
    returnType: __LJMP
    signature: hlua_httpclient_head(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_httpclient_send
      Src: /src/haproxy/src/hlua.c:8267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8269
      start: 8265
    functionDepth: 3
    functionLinenumber: 8265
    functionLinenumberEnd: 8269
    functionName: hlua_httpclient_get
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_httpclient_send
    linkageType: ''
    returnType: __LJMP
    signature: hlua_httpclient_get(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_httpclient_send
      Src: /src/haproxy/src/hlua.c:8278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8279
      start: 8276
    functionDepth: 3
    functionLinenumber: 8276
    functionLinenumberEnd: 8279
    functionName: hlua_httpclient_put
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_httpclient_send
    linkageType: ''
    returnType: __LJMP
    signature: hlua_httpclient_put(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_httpclient_send
      Src: /src/haproxy/src/hlua.c:8288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8289
      start: 8286
    functionDepth: 3
    functionLinenumber: 8286
    functionLinenumberEnd: 8289
    functionName: hlua_httpclient_post
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_httpclient_send
    linkageType: ''
    returnType: __LJMP
    signature: hlua_httpclient_post(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_httpclient_send
      Src: /src/haproxy/src/hlua.c:8299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8300
      start: 8297
    functionDepth: 3
    functionLinenumber: 8297
    functionLinenumberEnd: 8300
    functionName: hlua_httpclient_delete
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_httpclient_send
    linkageType: ''
    returnType: __LJMP
    signature: hlua_httpclient_delete(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8315,1
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua.c:8315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 8316
      start: 8313
    functionDepth: 1
    functionLinenumber: 8313
    functionLinenumberEnd: 8316
    functionName: hlua_checktxn
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - MAY_LJMP
    - hlua_checkudata
    linkageType: ''
    returnType: __LJMP
    signature: '*hlua_checktxn(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:8325,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:8325,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8326,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:8326,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8331,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8331,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8332,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:8332,1
    - Dst: memset
      Src: /src/haproxy/src/hlua.c:8335,1
    - Dst: hlua_lua2smp
      Src: /src/haproxy/src/hlua.c:8336,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/hlua.c:8341,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:8343,1
    - Dst: lua_toboolean
      Src: /src/haproxy/src/hlua.c:8343,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:8344,1
    - Dst: vars_set_by_name_ifexist
      Src: /src/haproxy/src/hlua.c:8344,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:8346,1
    - Dst: vars_set_by_name
      Src: /src/haproxy/src/hlua.c:8346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8349
      start: 8318
    functionDepth: 5
    functionLinenumber: 8318
    functionLinenumberEnd: 8349
    functionName: hlua_set_var
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - smp_set_owner
    - lua_pushboolean
    - vars_set_by_name
    - luaL_error
    - lua_toboolean
    - hlua_lua2smp
    - lua_gettop
    - vars_set_by_name_ifexist
    - MAY_LJMP
    - luaL_checklstring
    - memset
    - hlua_checktxn
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_set_var(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8358,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8358,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8363,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8363,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8364,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:8364,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/hlua.c:8367,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:8368,1
    - Dst: vars_unset_by_name_ifexist
      Src: /src/haproxy/src/hlua.c:8368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8370
      start: 8351
    functionDepth: 4
    functionLinenumber: 8351
    functionLinenumberEnd: 8370
    functionName: hlua_unset_var
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - smp_set_owner
    - vars_unset_by_name_ifexist
    - lua_pushboolean
    - check_args
    - luaL_checklstring
    - MAY_LJMP
    - hlua_checktxn
    linkageType: ''
    returnType: __LJMP
    signature: hlua_unset_var(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8379,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8379,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8384,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8384,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8385,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua.c:8385,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/hlua.c:8387,1
    - Dst: vars_get_by_name
      Src: /src/haproxy/src/hlua.c:8388,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:8389,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8393,1
    - Dst: hlua_smp2lua
      Src: /src/haproxy/src/hlua.c:8393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8394
      start: 8372
    functionDepth: 3
    functionLinenumber: 8372
    functionLinenumberEnd: 8394
    functionName: hlua_get_var
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - smp_set_owner
    - lua_pushnil
    - hlua_smp2lua
    - vars_get_by_name
    - check_args
    - luaL_checklstring
    - MAY_LJMP
    - hlua_checktxn
    linkageType: ''
    returnType: __LJMP
    signature: hlua_get_var(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8400,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8400,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8405,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8405,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:8408,1
    - Dst: luaL_unref
      Src: /src/haproxy/src/hlua.c:8413,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:8416,1
    - Dst: luaL_ref
      Src: /src/haproxy/src/hlua.c:8417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8420
      start: 8396
    functionDepth: 2
    functionLinenumber: 8396
    functionLinenumberEnd: 8420
    functionName: hlua_set_priv
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_gethlua
    - luaL_ref
    - luaL_unref
    - lua_pushvalue
    - check_args
    - MAY_LJMP
    - hlua_checktxn
    linkageType: ''
    returnType: __LJMP
    signature: hlua_set_priv(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8426,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8426,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8431,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8431,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:8434,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:8436,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:8441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8444
      start: 8422
    functionDepth: 2
    functionLinenumber: 8422
    functionLinenumberEnd: 8444
    functionName: hlua_get_priv
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_gethlua
    - lua_pushnil
    - check_args
    - MAY_LJMP
    - lua_rawgeti
    - hlua_checktxn
    linkageType: ''
    returnType: __LJMP
    signature: hlua_get_priv(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:8455,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:8463,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua.c:8464,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:8465,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8473,1
    - Dst: hlua_fetches_new
      Src: /src/haproxy/src/hlua.c:8474,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:8476,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8479,1
    - Dst: hlua_fetches_new
      Src: /src/haproxy/src/hlua.c:8480,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:8482,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8485,1
    - Dst: hlua_converters_new
      Src: /src/haproxy/src/hlua.c:8486,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:8488,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8491,1
    - Dst: hlua_converters_new
      Src: /src/haproxy/src/hlua.c:8492,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:8494,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8497,1
    - Dst: hlua_channel_new
      Src: /src/haproxy/src/hlua.c:8498,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:8500,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8503,1
    - Dst: hlua_channel_new
      Src: /src/haproxy/src/hlua.c:8504,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:8506,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8509,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:8510,1
    - Dst: hlua_http_new
      Src: /src/haproxy/src/hlua.c:8511,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:8515,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:8516,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8524,1
    - Dst: hlua_http_msg_new
      Src: /src/haproxy/src/hlua.c:8526,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:8530,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:8531,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8534,1
    - Dst: hlua_http_msg_new
      Src: /src/haproxy/src/hlua.c:8536,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:8540,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:8541,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:8545,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua.c:8546,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 5
    argNames:
    - L
    - s
    - p
    - dir
    - flags
    argTypes:
    - lua_State*
    - struct stream*
    - struct proxy*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 8549
      start: 8450
    functionDepth: 2
    functionLinenumber: 8450
    functionLinenumberEnd: 8549
    functionName: hlua_txn_new
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_converters_new
    - lua_pushstring
    - lua_pushnil
    - hlua_channel_new
    - lua_newuserdata
    - hlua_fetches_new
    - lua_rawset
    - IS_HTX_STRM
    - hlua_http_new
    - lua_rawgeti
    - lua_setmetatable
    - lua_rawseti
    - hlua_http_msg_new
    - lua_checkstack
    - lua_newtable
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_new(lua_State *L, struct stream *s, struct proxy *p, int dir,
      int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8556,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8556,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8557,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8557,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8558,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:8558,1
    - Dst: hlua_sendlog
      Src: /src/haproxy/src/hlua.c:8560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8562
      start: 8551
    functionDepth: 2
    functionLinenumber: 8551
    functionLinenumberEnd: 8562
    functionName: hlua_txn_deflog
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - check_args
    - MAY_LJMP
    - hlua_checktxn
    - luaL_checkstring
    - hlua_sendlog
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_deflog(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8570,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8570,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8571,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8571,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8572,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:8572,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8573,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:8573,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8576,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua.c:8576,1
    - Dst: hlua_sendlog
      Src: /src/haproxy/src/hlua.c:8578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8580
      start: 8564
    functionDepth: 2
    functionLinenumber: 8564
    functionLinenumberEnd: 8580
    functionName: hlua_txn_log
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - WILL_LJMP
    - luaL_checkinteger
    - check_args
    - MAY_LJMP
    - hlua_checktxn
    - luaL_checkstring
    - hlua_sendlog
    - luaL_argerror
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_log(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8587,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8587,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8588,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8588,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8589,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:8589,1
    - Dst: hlua_sendlog
      Src: /src/haproxy/src/hlua.c:8590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8592
      start: 8582
    functionDepth: 2
    functionLinenumber: 8582
    functionLinenumberEnd: 8592
    functionName: hlua_txn_log_debug
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - check_args
    - MAY_LJMP
    - hlua_checktxn
    - luaL_checkstring
    - hlua_sendlog
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_log_debug(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8599,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8599,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8600,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8600,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8601,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:8601,1
    - Dst: hlua_sendlog
      Src: /src/haproxy/src/hlua.c:8602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8604
      start: 8594
    functionDepth: 2
    functionLinenumber: 8594
    functionLinenumberEnd: 8604
    functionName: hlua_txn_log_info
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - check_args
    - MAY_LJMP
    - hlua_checktxn
    - luaL_checkstring
    - hlua_sendlog
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_log_info(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8611,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8611,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8612,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8612,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8613,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:8613,1
    - Dst: hlua_sendlog
      Src: /src/haproxy/src/hlua.c:8614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8616
      start: 8606
    functionDepth: 2
    functionLinenumber: 8606
    functionLinenumberEnd: 8616
    functionName: hlua_txn_log_warning
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - check_args
    - MAY_LJMP
    - hlua_checktxn
    - luaL_checkstring
    - hlua_sendlog
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_log_warning(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8623,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8623,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8624,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8624,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8625,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:8625,1
    - Dst: hlua_sendlog
      Src: /src/haproxy/src/hlua.c:8626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8628
      start: 8618
    functionDepth: 2
    functionLinenumber: 8618
    functionLinenumberEnd: 8628
    functionName: hlua_txn_log_alert
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - check_args
    - MAY_LJMP
    - hlua_checktxn
    - luaL_checkstring
    - hlua_sendlog
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_log_alert(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8635,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8635,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8636,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8636,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8637,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:8637,1
    - Dst: conn_set_mark
      Src: /src/haproxy/src/hlua.c:8639,1
    - Dst: objt_conn
      Src: /src/haproxy/src/hlua.c:8639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8641
      start: 8630
    functionDepth: 2
    functionLinenumber: 8630
    functionLinenumberEnd: 8641
    functionName: hlua_txn_set_fc_mark
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - objt_conn
    - luaL_checkinteger
    - check_args
    - conn_set_mark
    - MAY_LJMP
    - hlua_checktxn
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_set_fc_mark(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8648,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8648,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8649,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8649,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8650,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:8650,1
    - Dst: conn_set_tos
      Src: /src/haproxy/src/hlua.c:8652,1
    - Dst: objt_conn
      Src: /src/haproxy/src/hlua.c:8652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8654
      start: 8643
    functionDepth: 2
    functionLinenumber: 8643
    functionLinenumberEnd: 8654
    functionName: hlua_txn_set_fc_tos
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - objt_conn
    - luaL_checkinteger
    - check_args
    - MAY_LJMP
    - hlua_checktxn
    - conn_set_tos
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_set_fc_tos(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8661,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8661,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8662,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8662,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8663,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:8663,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8666,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua.c:8666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8672
      start: 8656
    functionDepth: 2
    functionLinenumber: 8656
    functionLinenumberEnd: 8672
    functionName: hlua_txn_set_loglevel
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_checkinteger
    - check_args
    - MAY_LJMP
    - hlua_checktxn
    - WILL_LJMP
    - luaL_argerror
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_set_loglevel(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8678,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8678,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8679,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8679,1
    - Dst: queue_limit_class
      Src: /src/haproxy/src/hlua.c:8680,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8680,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:8680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8682
      start: 8674
    functionDepth: 2
    functionLinenumber: 8674
    functionLinenumberEnd: 8682
    functionName: hlua_txn_set_priority_class
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - queue_limit_class
    - luaL_checkinteger
    - check_args
    - MAY_LJMP
    - hlua_checktxn
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_set_priority_class(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8688,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:8688,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8689,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8689,1
    - Dst: queue_limit_offset
      Src: /src/haproxy/src/hlua.c:8690,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8690,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:8690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8692
      start: 8684
    functionDepth: 2
    functionLinenumber: 8684
    functionLinenumberEnd: 8692
    functionName: hlua_txn_set_priority_offset
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - queue_limit_offset
    - luaL_checkinteger
    - check_args
    - MAY_LJMP
    - hlua_checktxn
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_set_priority_offset(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:8711,1
    - Dst: lua_tointeger
      Src: /src/haproxy/src/hlua.c:8713,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:8714,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:8716,1
    - Dst: http_get_reason
      Src: /src/haproxy/src/hlua.c:8718,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:8719,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:8720,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:8722,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:8723,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:8727,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:8729,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:8730,1
    - Dst: h1m_init_res
      Src: /src/haproxy/src/hlua.c:8733,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hlua.c:8734,1
    - Dst: channel_htx_truncate
      Src: /src/haproxy/src/hlua.c:8735,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/hlua.c:8738,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:8738,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:8739,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:8739,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/hlua.c:8743,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:8743,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:8744,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:8744,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:8751,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:8755,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:8756,1
    - Dst: lua_isstring
      Src: /src/haproxy/src/hlua.c:8761,1
    - Dst: lua_istable
      Src: /src/haproxy/src/hlua.c:8761,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:8766,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:8767,1
    - Dst: isteqi
      Src: /src/haproxy/src/hlua.c:8768,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:8768,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:8776,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:8777,1
    - Dst: lua_isstring
      Src: /src/haproxy/src/hlua.c:8778,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua.c:8783,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:8784,1
    - Dst: isteqi
      Src: /src/haproxy/src/hlua.c:8786,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:8786,1
    - Dst: h1_parse_xfer_enc_header
      Src: /src/haproxy/src/hlua.c:8787,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/hlua.c:8788,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:8788,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:8788,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:8792,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:8796,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:8799,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/hlua.c:8806,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:8806,1
    - Dst: ist
      Src: /src/haproxy/src/hlua.c:8806,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/hlua.c:8827,1
    - Dst: htx_add_data_atonce
      Src: /src/haproxy/src/hlua.c:8828,1
    - Dst: ist2
      Src: /src/haproxy/src/hlua.c:8828,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/hlua.c:8835,1
    - Dst: http_forward_proxy_resp
      Src: /src/haproxy/src/hlua.c:8836,1
    - Dst: channel_htx_truncate
      Src: /src/haproxy/src/hlua.c:8842,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 110
    argCount: 2
    argNames:
    - L
    - s
    argTypes:
    - lua_State*
    - struct stream*
    constantsTouched: []
    func_position:
      end: 8844
      start: 8699
    functionDepth: 2
    functionLinenumber: 8699
    functionLinenumberEnd: 8844
    functionName: hlua_txn_forward_reply
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - channel_htx_truncate
    - htx_add_data_atonce
    - htx_add_endof
    - ist
    - http_get_reason
    - htx_to_buf
    - isteqi
    - htx_add_stline
    - lua_pushnil
    - htx_from_buf
    - ist2
    - lua_getfield
    - h1_parse_xfer_enc_header
    - lua_isstring
    - http_forward_proxy_resp
    - strlen
    - h1m_init_res
    - lua_tointeger
    - lua_tolstring
    - lua_pop
    - htx_add_header
    - lua_istable
    - lua_next
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_forward_reply(lua_State *L, struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8860,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8860,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8865,1
    - Dst: hlua_done
      Src: /src/haproxy/src/hlua.c:8865,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:8868,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/hlua.c:8872,1
    - Dst: channel_abort
      Src: /src/haproxy/src/hlua.c:8873,1
    - Dst: channel_erase
      Src: /src/haproxy/src/hlua.c:8874,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/hlua.c:8876,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/hlua.c:8877,1
    - Dst: sc_schedule_abort
      Src: /src/haproxy/src/hlua.c:8878,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:8884,1
    - Dst: lua_istable
      Src: /src/haproxy/src/hlua.c:8884,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/hlua.c:8887,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:8891,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:8892,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:8892,1
    - Dst: hlua_txn_forward_reply
      Src: /src/haproxy/src/hlua.c:8894,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:8897,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8898,1
    - Dst: hlua_done
      Src: /src/haproxy/src/hlua.c:8898,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/hlua.c:8908,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:8918,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:8920,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8921,1
    - Dst: hlua_done
      Src: /src/haproxy/src/hlua.c:8921,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 8923
      start: 8854
    functionDepth: 3
    functionLinenumber: 8854
    functionLinenumberEnd: 8923
    functionName: hlua_txn_done
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_istable
    - channel_erase
    - channel_auto_read
    - hlua_txn_forward_reply
    - _HA_ATOMIC_INC
    - IS_HTX_STRM
    - lua_pushinteger
    - sc_schedule_abort
    - lua_gettop
    - http_reply_and_close
    - MAY_LJMP
    - channel_abort
    - hlua_checktxn
    - WILL_LJMP
    - hlua_done
    - channel_auto_close
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_done(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:8942,1
    - Dst: hlua_checktxn
      Src: /src/haproxy/src/hlua.c:8942,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/hlua.c:8943,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:8944,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:8945,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:8945,1
    - Dst: http_get_reason
      Src: /src/haproxy/src/hlua.c:8950,1
    - Dst: lua_istable
      Src: /src/haproxy/src/hlua.c:8952,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:8954,1
    - Dst: lua_tointeger
      Src: /src/haproxy/src/hlua.c:8961,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:8964,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:8965,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:8967,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:8970,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:8971,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:8973,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:8974,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:8978,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8981,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:8982,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:8983,1
    - Dst: http_get_reason
      Src: /src/haproxy/src/hlua.c:8986,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8987,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8988,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:8989,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8992,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:8994,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:8996,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:8997,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9000,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:9001,1
    - Dst: lua_istable
      Src: /src/haproxy/src/hlua.c:9004,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:9006,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:9009,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:9010,1
    - Dst: lua_isstring
      Src: /src/haproxy/src/hlua.c:9012,1
    - Dst: lua_istable
      Src: /src/haproxy/src/hlua.c:9012,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:9014,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:9020,1
    - Dst: lua_insert
      Src: /src/haproxy/src/hlua.c:9021,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:9024,1
    - Dst: lua_insert
      Src: /src/haproxy/src/hlua.c:9025,1
    - Dst: lua_isstring
      Src: /src/haproxy/src/hlua.c:9028,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:9030,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:9033,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:9034,1
    - Dst: lua_isstring
      Src: /src/haproxy/src/hlua.c:9036,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:9038,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:9042,1
    - Dst: lua_rawlen
      Src: /src/haproxy/src/hlua.c:9042,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:9045,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9052,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:9056,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9059,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua.c:9063,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua.c:9064,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 82
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9066
      start: 8936
    functionDepth: 2
    functionLinenumber: 8936
    functionLinenumberEnd: 9066
    functionName: hlua_txn_reply_new
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_error
    - http_get_reason
    - lua_rawseti
    - lua_rawgeti
    - lua_tostring
    - lua_settable
    - lua_pushnil
    - lua_pushinteger
    - MAY_LJMP
    - lua_getfield
    - lua_newtable
    - lua_pushstring
    - lua_isstring
    - lua_pushvalue
    - lua_setmetatable
    - lua_rawlen
    - lua_tointeger
    - lua_istable
    - WILL_LJMP
    - lua_pop
    - lua_insert
    - IS_HTX_STRM
    - hlua_pusherror
    - hlua_checktxn
    - lua_next
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_reply_new(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9077,1
    - Dst: luaL_checktype
      Src: /src/haproxy/src/hlua.c:9077,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9080,1
    - Dst: http_get_reason
      Src: /src/haproxy/src/hlua.c:9084,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:9086,1
    - Dst: lua_setfield
      Src: /src/haproxy/src/hlua.c:9087,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9089,1
    - Dst: lua_setfield
      Src: /src/haproxy/src/hlua.c:9090,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9094
      start: 9071
    functionDepth: 1
    functionLinenumber: 9071
    functionLinenumberEnd: 9094
    functionName: hlua_txn_reply_set_status
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_checktype
    - lua_setfield
    - lua_pushstring
    - lua_pushboolean
    - lua_pushinteger
    - http_get_reason
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_reply_set_status(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9107,1
    - Dst: luaL_checktype
      Src: /src/haproxy/src/hlua.c:9107,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:9110,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:9112,1
    - Dst: lua_typename
      Src: /src/haproxy/src/hlua.c:9112,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:9113,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:9113,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:9117,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:9120,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:9125,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9126,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:9127,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9128,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:9131,1
    - Dst: lua_typename
      Src: /src/haproxy/src/hlua.c:9131,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:9132,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:9132,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9138,1
    - Dst: lua_rawlen
      Src: /src/haproxy/src/hlua.c:9139,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:9140,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9144
      start: 9100
    functionDepth: 1
    functionLinenumber: 9100
    functionLinenumberEnd: 9144
    functionName: hlua_txn_reply_add_header
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_settable
    - luaL_checktype
    - lua_pushstring
    - lua_pushboolean
    - lua_typename
    - lua_pushvalue
    - lua_rawlen
    - lua_error
    - hlua_pusherror
    - lua_rawseti
    - lua_getfield
    - MAY_LJMP
    - lua_newtable
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_reply_add_header(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9153,1
    - Dst: luaL_checktype
      Src: /src/haproxy/src/hlua.c:9153,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:9156,1
    - Dst: hlua_pusherror
      Src: /src/haproxy/src/hlua.c:9158,1
    - Dst: lua_typename
      Src: /src/haproxy/src/hlua.c:9158,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:9159,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:9159,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9162,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:9163,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9164,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9168
      start: 9147
    functionDepth: 1
    functionLinenumber: 9147
    functionLinenumberEnd: 9168
    functionName: hlua_txn_reply_del_header
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_settable
    - luaL_checktype
    - lua_pushstring
    - lua_pushnil
    - lua_pushboolean
    - lua_typename
    - lua_error
    - hlua_pusherror
    - lua_getfield
    - MAY_LJMP
    - WILL_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_reply_del_header(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9176,1
    - Dst: luaL_checktype
      Src: /src/haproxy/src/hlua.c:9176,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9178,1
    - Dst: lua_setfield
      Src: /src/haproxy/src/hlua.c:9179,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9183
      start: 9171
    functionDepth: 0
    functionLinenumber: 9171
    functionLinenumberEnd: 9183
    functionName: hlua_txn_reply_set_body
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - luaL_checktype
    - lua_setfield
    - lua_pushboolean
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_txn_reply_set_body(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9190,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:9190,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9191,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:9191,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9192,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:9192,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:9195,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua.c:9195,1
    - Dst: hlua_sendlog
      Src: /src/haproxy/src/hlua.c:9197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9199
      start: 9185
    functionDepth: 2
    functionLinenumber: 9185
    functionLinenumberEnd: 9199
    functionName: hlua_log
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - luaL_checkinteger
    - check_args
    - MAY_LJMP
    - luaL_checkstring
    - WILL_LJMP
    - hlua_sendlog
    - luaL_argerror
    linkageType: ''
    returnType: __LJMP
    signature: hlua_log(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9205,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:9205,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9206,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:9206,1
    - Dst: hlua_sendlog
      Src: /src/haproxy/src/hlua.c:9207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9209
      start: 9201
    functionDepth: 2
    functionLinenumber: 9201
    functionLinenumberEnd: 9209
    functionName: hlua_log_debug
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - check_args
    - luaL_checkstring
    - hlua_sendlog
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_log_debug(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9215,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:9215,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9216,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:9216,1
    - Dst: hlua_sendlog
      Src: /src/haproxy/src/hlua.c:9217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9219
      start: 9211
    functionDepth: 2
    functionLinenumber: 9211
    functionLinenumberEnd: 9219
    functionName: hlua_log_info
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - check_args
    - luaL_checkstring
    - hlua_sendlog
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_log_info(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9225,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:9225,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9226,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:9226,1
    - Dst: hlua_sendlog
      Src: /src/haproxy/src/hlua.c:9227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9229
      start: 9221
    functionDepth: 2
    functionLinenumber: 9221
    functionLinenumberEnd: 9229
    functionName: hlua_log_warning
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - check_args
    - luaL_checkstring
    - hlua_sendlog
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_log_warning(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9235,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:9235,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9236,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:9236,1
    - Dst: hlua_sendlog
      Src: /src/haproxy/src/hlua.c:9237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9239
      start: 9231
    functionDepth: 2
    functionLinenumber: 9231
    functionLinenumberEnd: 9239
    functionName: hlua_log_alert
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - check_args
    - luaL_checkstring
    - hlua_sendlog
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_log_alert(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_is_expired
      Src: /src/haproxy/src/hlua.c:9244,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9245,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:9245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 9247
      start: 9241
    functionDepth: 2
    functionLinenumber: 9241
    functionLinenumberEnd: 9247
    functionName: hlua_sleep_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - MAY_LJMP
    - hlua_yieldk
    - tick_is_expired
    linkageType: ''
    returnType: __LJMP
    signature: hlua_sleep_yield(lua_State *L, int status, lua_KContext ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9254,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:9254,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9256,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:9256,1
    - Dst: tick_add
      Src: /src/haproxy/src/hlua.c:9257,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:9258,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9260,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:9260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9262
      start: 9249
    functionDepth: 2
    functionLinenumber: 9249
    functionLinenumberEnd: 9262
    functionName: hlua_sleep
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - tick_add
    - lua_pushinteger
    - luaL_checkinteger
    - check_args
    - MAY_LJMP
    - hlua_yieldk
    linkageType: ''
    returnType: __LJMP
    signature: hlua_sleep(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9269,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:9269,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9271,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:9271,1
    - Dst: tick_add
      Src: /src/haproxy/src/hlua.c:9272,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:9273,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9275,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:9275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9277
      start: 9264
    functionDepth: 2
    functionLinenumber: 9264
    functionLinenumberEnd: 9277
    functionName: hlua_msleep
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - tick_add
    - lua_pushinteger
    - luaL_checkinteger
    - check_args
    - MAY_LJMP
    - hlua_yieldk
    linkageType: ''
    returnType: __LJMP
    signature: hlua_msleep(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 9286
      start: 9283
    functionDepth: 0
    functionLinenumber: 9283
    functionLinenumberEnd: 9286
    functionName: hlua_yield_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __LJMP
    signature: hlua_yield_yield(lua_State *L, int status, lua_KContext ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9290,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:9290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9292
      start: 9288
    functionDepth: 2
    functionLinenumber: 9288
    functionLinenumberEnd: 9292
    functionName: hlua_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_yieldk
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_yield(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:9308,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9310,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:9310,1
    - Dst: tick_add
      Src: /src/haproxy/src/hlua.c:9311,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9314,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:9314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9316
      start: 9302
    functionDepth: 2
    functionLinenumber: 9302
    functionLinenumberEnd: 9316
    functionName: hlua_wait
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - tick_add
    - luaL_checkinteger
    - lua_gettop
    - MAY_LJMP
    - hlua_yieldk
    linkageType: ''
    returnType: __LJMP
    signature: hlua_wait(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9327,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:9327,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9328,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:9328,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:9331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9344
      start: 9322
    functionDepth: 1
    functionLinenumber: 9322
    functionLinenumberEnd: 9344
    functionName: hlua_set_nice
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_gethlua
    - check_args
    - MAY_LJMP
    - luaL_checkinteger
    linkageType: ''
    returnType: __LJMP
    signature: hlua_set_nice(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:9356,1
    - Dst: lua_newthread::lua_newthread
      Src: /src/haproxy/src/hlua.c:9358,1
    - Dst: lua_getextraspace
      Src: /src/haproxy/src/hlua.c:9362,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:9374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9379
      start: 9352
    functionDepth: 1
    functionLinenumber: 9352
    functionLinenumberEnd: 9379
    functionName: hlua_coroutine_create
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushvalue
    - hlua_gethlua
    - lua_newthread::lua_newthread
    - lua_getextraspace
    linkageType: ''
    returnType: __LJMP
    signature: hlua_coroutine_create(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HLUA_IS_RUNNING
      Src: /src/haproxy/src/hlua.c:9400,1
    - Dst: hlua_timer_init
      Src: /src/haproxy/src/hlua.c:9401,1
    - Dst: hlua_ctx_resume
      Src: /src/haproxy/src/hlua.c:9404,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/hlua.c:9409,1
    - Dst: task_destroy
      Src: /src/haproxy/src/hlua.c:9410,1
    - Dst: notification_gc
      Src: /src/haproxy/src/hlua.c:9415,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:9421,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:9424,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:9427,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:9428,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:9428,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:9429,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:9433,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/hlua.c:9435,1
    - Dst: task_destroy
      Src: /src/haproxy/src/hlua.c:9436,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - task
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 9441
      start: 9389
    functionDepth: 5
    functionLinenumber: 9389
    functionLinenumberEnd: 9441
    functionName: hlua_process_task
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_ctx_resume
    - HLUA_IS_RUNNING
    - hlua_tostring_safe
    - notification_gc
    - hlua_ctx_destroy
    - hlua_lock
    - hlua_timer_init
    - task_destroy
    - hlua_unlock
    - SEND_ERR
    linkageType: ''
    returnType: struct task
    signature: '*hlua_process_task(struct task *task, void *context, unsigned int
      state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9454,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:9454,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:9456,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:9458,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:9458,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9461,1
    - Dst: hlua_checkfunction
      Src: /src/haproxy/src/hlua.c:9461,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:9463,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:9465,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:9466,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:9466,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/hlua.c:9470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9472
      start: 9449
    functionDepth: 1
    functionLinenumber: 9449
    functionLinenumberEnd: 9472
    functionName: hlua_register_init
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - calloc
    - hlua_unref
    - luaL_error
    - LIST_APPEND
    - check_args
    - MAY_LJMP
    - hlua_gethlua
    - WILL_LJMP
    - hlua_checkfunction
    linkageType: ''
    returnType: __LJMP
    signature: hlua_register_init(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:9495,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:9497,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:9497,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:9499,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:9499,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:9502,1
    - Dst: hlua_checkfunction
      Src: /src/haproxy/src/hlua.c:9502,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:9507,1
    - Dst: hlua_ref
      Src: /src/haproxy/src/hlua.c:9508,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:9516,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/hlua.c:9524,1
    - Dst: HLUA_INIT
      Src: /src/haproxy/src/hlua.c:9527,1
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/hlua.c:9533,1
    - Dst: task_new_here
      Src: /src/haproxy/src/hlua.c:9535,1
    - Dst: hlua_ctx_init
      Src: /src/haproxy/src/hlua.c:9542,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:9548,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:9552,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:9554,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:9561,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:9563,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/hlua.c:9567,1
    - Dst: task_destroy
      Src: /src/haproxy/src/hlua.c:9572,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:9573,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:9575,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/hlua.c:9577,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:9578,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:9578,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 9580
      start: 9485
    functionDepth: 2
    functionLinenumber: 9485
    functionLinenumberEnd: 9580
    functionName: hlua_register_task
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_ref
    - hlua_ctx_destroy
    - pool_alloc
    - task_new_here
    - task_wakeup
    - luaL_error
    - task_new_anywhere
    - MAY_LJMP
    - hlua_unref
    - lua_pushvalue
    - lua_gettop
    - hlua_gethlua
    - WILL_LJMP
    - hlua_checkfunction
    - HLUA_INIT
    - hlua_ctx_init
    - task_destroy
    - lua_checkstack
    - hlua_pushref
    linkageType: ''
    returnType: __LJMP
    signature: hlua_register_task(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:9587,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:9589,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:9590,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/hlua.c:9592,1
    - Dst: pool_free
      Src: /src/haproxy/src/hlua.c:9595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - hlua_sub
    argTypes:
    - struct hlua_event_sub*
    constantsTouched: []
    func_position:
      end: 9596
      start: 9583
    functionDepth: 2
    functionLinenumber: 9583
    functionLinenumberEnd: 9596
    functionName: hlua_event_subscription_destroy
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_lock
    - hlua_unref
    - hlua_ctx_destroy
    - pool_free
    - hlua_unlock
    linkageType: ''
    returnType: void
    signature: hlua_event_subscription_destroy(struct hlua_event_sub *hlua_sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HLUA_IS_RUNNING
      Src: /src/haproxy/src/hlua.c:9629,1
    - Dst: hlua_timer_init
      Src: /src/haproxy/src/hlua.c:9630,1
    - Dst: hlua_ctx_resume
      Src: /src/haproxy/src/hlua.c:9641,1
    - Dst: notification_gc
      Src: /src/haproxy/src/hlua.c:9649,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:9655,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:9659,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:9663,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:9664,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:9664,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:9665,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:9670,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - hlua
    argTypes:
    - struct hlua*
    constantsTouched: []
    func_position:
      end: 9673
      start: 9622
    functionDepth: 5
    functionLinenumber: 9622
    functionLinenumberEnd: 9673
    functionName: hlua_event_handler
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_ctx_resume
    - HLUA_IS_RUNNING
    - hlua_tostring_safe
    - notification_gc
    - hlua_lock
    - hlua_timer_init
    - hlua_unlock
    - SEND_ERR
    linkageType: ''
    returnType: void
    signature: hlua_event_handler(struct hlua *hlua)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9678,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9679,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9680,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9681,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9684,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9687,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9690,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:9693,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9696,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9698,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:9699,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9700,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9702,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:9703,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9705,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9706,1
    - Dst: get_check_status_info
      Src: /src/haproxy/src/hlua.c:9706,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9707,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9708,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9709,1
    - Dst: get_check_status_description
      Src: /src/haproxy/src/hlua.c:9709,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9710,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9713,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:9714,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9715,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9718,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9720,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:9721,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9723,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:9724,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9725,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9726,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:9727,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9728,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9729,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:9730,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9731,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9733,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 2
    argNames:
    - L
    - check
    argTypes:
    - lua_State*
    - struct event_hdl_cb_data_server_checkres*
    constantsTouched: []
    func_position:
      end: 9734
      start: 9675
    functionDepth: 1
    functionLinenumber: 9675
    functionLinenumberEnd: 9734
    functionName: hlua_event_hdl_cb_push_event_checkres
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_settable
    - lua_pushstring
    - lua_pushnil
    - get_check_status_description
    - lua_pushboolean
    - lua_pushinteger
    - lua_newtable
    - get_check_status_info
    linkageType: ''
    returnType: __LJMP
    signature: "hlua_event_hdl_cb_push_event_checkres(lua_State *L,\n                                                         struct
      event_hdl_cb_data_server_checkres *check)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9748,1
    - Dst: event_hdl_sub_type_to_string
      Src: /src/haproxy/src/hlua.c:9748,1
    - Dst: event_hdl_sub_family_equal
      Src: /src/haproxy/src/hlua.c:9751,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:9757,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9759,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9760,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9761,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9763,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:9764,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9765,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9767,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:9768,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9769,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9771,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9772,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9773,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9775,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:9776,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9777,1
    - Dst: event_hdl_sub_type_equal
      Src: /src/haproxy/src/hlua.c:9780,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:9784,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:9785,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:9785,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9788,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:9789,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9791,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9792,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9793,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9800,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:9801,1
    - Dst: hlua_event_hdl_cb_push_event_checkres
      Src: /src/haproxy/src/hlua.c:9802,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9803,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9806,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9808,1
    - Dst: srv_adm_st_chg_cause
      Src: /src/haproxy/src/hlua.c:9808,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9810,1
    - Dst: srv_op_st_chg_cause
      Src: /src/haproxy/src/hlua.c:9810,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9811,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9817,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9820,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9823,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9826,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9829,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:9832,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9835,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9839,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:9840,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9841,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9843,1
    - Dst: event_hdl_sub_type_equal
      Src: /src/haproxy/src/hlua.c:9845,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:9849,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:9850,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:9850,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9853,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:9854,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9856,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9857,1
    - Dst: srv_adm_st_chg_cause
      Src: /src/haproxy/src/hlua.c:9857,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9858,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9864,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:9867,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9869,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9870,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9871,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9872,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9873,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9874,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9875,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9876,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9877,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9878,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9879,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9880,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9881,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9882,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9883,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9885,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9886,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9887,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9888,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9889,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9890,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9891,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua.c:9892,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9893,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9895,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9898,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:9899,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9900,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9902,1
    - Dst: event_hdl_sub_type_equal
      Src: /src/haproxy/src/hlua.c:9904,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:9907,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:9908,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:9908,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9911,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:9912,1
    - Dst: hlua_event_hdl_cb_push_event_checkres
      Src: /src/haproxy/src/hlua.c:9915,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9917,1
    - Dst: proxy_find_by_id
      Src: /src/haproxy/src/hlua.c:9923,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua.c:9924,1
    - Dst: server_find_by_id_unique
      Src: /src/haproxy/src/hlua.c:9925,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:9927,1
    - Dst: hlua_fcn_new_server
      Src: /src/haproxy/src/hlua.c:9928,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:9929,1
    - Dst: hlua_fcn_new_event_sub
      Src: /src/haproxy/src/hlua.c:9934,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua.c:9938,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 129
    argCount: 2
    argNames:
    - hlua_sub
    - e
    argTypes:
    - struct hlua_event_sub*
    - struct event_hdl_async_event*
    constantsTouched: []
    func_position:
      end: 9939
      start: 9739
    functionDepth: 2
    functionLinenumber: 9739
    functionLinenumberEnd: 9939
    functionName: hlua_event_hdl_cb_push_args
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - srv_adm_st_chg_cause
    - proxy_find_by_id
    - event_hdl_sub_type_to_string
    - hlua_fcn_new_server
    - BUG_ON
    - lua_settable
    - lua_pushnil
    - hlua_event_hdl_cb_push_event_checkres
    - luaL_error
    - event_hdl_sub_family_equal
    - lua_pushinteger
    - lua_newtable
    - event_hdl_sub_type_equal
    - srv_op_st_chg_cause
    - lua_pushstring
    - WILL_LJMP
    - server_find_by_id_unique
    - lua_pushboolean
    - hlua_fcn_new_event_sub
    - lua_checkstack
    linkageType: ''
    returnType: __LJMP
    signature: "hlua_event_hdl_cb_push_args(struct hlua_event_sub *hlua_sub,\n                                               struct
      event_hdl_async_event *e)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: event_hdl_async_equeue_size
      Src: /src/haproxy/src/hlua.c:9956,1
    - Dst: event_hdl_pause
      Src: /src/haproxy/src/hlua.c:9970,1
    - Dst: hlua_traceback
      Src: /src/haproxy/src/hlua.c:9973,1
    - Dst: ha_warning
      Src: /src/haproxy/src/hlua.c:9975,1
    - Dst: event_hdl_async_equeue_size
      Src: /src/haproxy/src/hlua.c:9977,1
    - Dst: HLUA_IS_RUNNING
      Src: /src/haproxy/src/hlua.c:9980,1
    - Dst: hlua_event_handler
      Src: /src/haproxy/src/hlua.c:9982,1
    - Dst: event_hdl_async_equeue_pop
      Src: /src/haproxy/src/hlua.c:9983,1
    - Dst: event_hdl_sub_type_equal
      Src: /src/haproxy/src/hlua.c:9984,1
    - Dst: event_hdl_async_free_event
      Src: /src/haproxy/src/hlua.c:9986,1
    - Dst: task_destroy
      Src: /src/haproxy/src/hlua.c:9987,1
    - Dst: hlua_event_subscription_destroy
      Src: /src/haproxy/src/hlua.c:9988,1
    - Dst: SET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:9994,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:9995,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:9996,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:9997,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10000,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:10001,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:10006,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10007,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10008,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:10013,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10017,1
    - Dst: hlua_event_hdl_cb_push_args
      Src: /src/haproxy/src/hlua.c:10017,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10020,1
    - Dst: event_hdl_async_free_event
      Src: /src/haproxy/src/hlua.c:10025,1
    - Dst: hlua_event_handler
      Src: /src/haproxy/src/hlua.c:10028,1
    - Dst: event_hdl_async_free_event
      Src: /src/haproxy/src/hlua.c:10031,1
    - Dst: HLUA_IS_RUNNING
      Src: /src/haproxy/src/hlua.c:10035,1
    - Dst: event_hdl_async_equeue_isempty
      Src: /src/haproxy/src/hlua.c:10039,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/hlua.c:10043,1
    - Dst: event_hdl_resume
      Src: /src/haproxy/src/hlua.c:10047,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 3
    argNames:
    - task
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 10053
      start: 9950
    functionDepth: 6
    functionLinenumber: 9950
    functionLinenumberEnd: 10053
    functionName: hlua_event_runner
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - HLUA_IS_RUNNING
    - SET_SAFE_LJMP
    - hlua_tostring_safe
    - event_hdl_async_equeue_pop
    - ha_warning
    - hlua_lock
    - event_hdl_async_equeue_isempty
    - event_hdl_async_equeue_size
    - hlua_traceback
    - hlua_unlock
    - event_hdl_pause
    - hlua_event_subscription_destroy
    - RESET_SAFE_LJMP
    - hlua_event_hdl_cb_push_args
    - task_wakeup
    - MAY_LJMP
    - event_hdl_resume
    - lua_type
    - event_hdl_sub_type_equal
    - hlua_event_handler
    - event_hdl_async_free_event
    - task_destroy
    - lua_checkstack
    - hlua_pushref
    - SEND_ERR
    linkageType: ''
    returnType: struct task
    signature: '*hlua_event_runner(struct task *task, void *context, unsigned int
      state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/hlua.c:10069,1
    - Dst: task_new_here
      Src: /src/haproxy/src/hlua.c:10075,1
    - Dst: event_hdl_async_equeue_init
      Src: /src/haproxy/src/hlua.c:10079,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/hlua.c:10083,1
    - Dst: HLUA_INIT
      Src: /src/haproxy/src/hlua.c:10086,1
    - Dst: hlua_ctx_init
      Src: /src/haproxy/src/hlua.c:10087,1
    - Dst: event_hdl_subscribe_ptr
      Src: /src/haproxy/src/hlua.c:10090,1
    - Dst: EVENT_HDL_ASYNC_TASK
      Src: /src/haproxy/src/hlua.c:10091,1
    - Dst: task_destroy
      Src: /src/haproxy/src/hlua.c:10102,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/hlua.c:10104,1
    - Dst: pool_free
      Src: /src/haproxy/src/hlua.c:10105,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - list
    - e_type
    - state_id
    - fcn_ref
    argTypes:
    - event_hdl_sub_list*
    - struct event_hdl_sub_type
    - int
    - int
    constantsTouched: []
    func_position:
      end: 10109
      start: 10063
    functionDepth: 2
    functionLinenumber: 10063
    functionLinenumberEnd: 10109
    functionName: hlua_event_subscribe
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - HLUA_INIT
    - hlua_ctx_init
    - hlua_ctx_destroy
    - pool_alloc
    - pool_free
    - event_hdl_subscribe_ptr
    - event_hdl_async_equeue_init
    - task_destroy
    - EVENT_HDL_ASYNC_TASK
    - task_new_here
    linkageType: ''
    returnType: struct event_hdl_sub
    signature: "*hlua_event_subscribe(event_hdl_sub_list *list, struct event_hdl_sub_type
      e_type,\n                                                  int state_id, int
      fcn_ref)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:10119,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:10120,1
    - Dst: luaL_typename
      Src: /src/haproxy/src/hlua.c:10120,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua.c:10121,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:10127,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:10128,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:10129,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:10130,1
    - Dst: luaL_typename
      Src: /src/haproxy/src/hlua.c:10130,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua.c:10131,1
    - Dst: event_hdl_sub_type_equal
      Src: /src/haproxy/src/hlua.c:10134,1
    - Dst: event_hdl_string_to_sub_type
      Src: /src/haproxy/src/hlua.c:10134,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:10134,1
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua.c:10135,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:10135,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua.c:10136,1
    - Dst: event_hdl_sub_type_add
      Src: /src/haproxy/src/hlua.c:10140,1
    - Dst: event_hdl_string_to_sub_type
      Src: /src/haproxy/src/hlua.c:10140,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:10140,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:10143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - L
    - index
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 10147
      start: 10114
    functionDepth: 1
    functionLinenumber: 10114
    functionLinenumberEnd: 10147
    functionName: hlua_check_event_sub_types
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - event_hdl_sub_type_equal
    - lua_pop
    - lua_pushnil
    - event_hdl_string_to_sub_type
    - lua_pushfstring
    - event_hdl_sub_type_add
    - luaL_typename
    - lua_tostring
    - lua_type
    - lua_next
    - luaL_argerror
    linkageType: ''
    returnType: __LJMP
    signature: hlua_check_event_sub_types(lua_State *L, int index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua.c:10157,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10160,1
    - Dst: hlua_fcn_new_event_sub
      Src: /src/haproxy/src/hlua.c:10160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 10161
      start: 10155
    functionDepth: 1
    functionLinenumber: 10155
    functionLinenumberEnd: 10161
    functionName: _hlua_new_event_sub_safe
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_touserdata
    - hlua_fcn_new_event_sub
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: _hlua_new_event_sub_safe(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:10164,1
    - Dst: lua_pushcfunction
      Src: /src/haproxy/src/hlua.c:10166,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:10167,1
    - Dst: lua_pcall
      Src: /src/haproxy/src/hlua.c:10168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - L
    - sub
    argTypes:
    - lua_State*
    - struct event_hdl_sub*
    constantsTouched: []
    func_position:
      end: 10175
      start: 10162
    functionDepth: 0
    functionLinenumber: 10162
    functionLinenumberEnd: 10175
    functionName: hlua_new_event_sub_safe
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pushcfunction
    - lua_pcall
    - lua_pushlightuserdata
    - lua_checkstack
    linkageType: ''
    returnType: int
    signature: hlua_new_event_sub_safe(lua_State *L, struct event_hdl_sub *sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10194,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:10194,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:10197,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10219,1
    - Dst: hlua_check_event_sub_types
      Src: /src/haproxy/src/hlua.c:10219,1
    - Dst: event_hdl_sub_type_equal
      Src: /src/haproxy/src/hlua.c:10221,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:10222,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:10222,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10227,1
    - Dst: hlua_checkfunction
      Src: /src/haproxy/src/hlua.c:10227,1
    - Dst: hlua_event_subscribe
      Src: /src/haproxy/src/hlua.c:10230,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:10232,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:10233,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:10233,1
    - Dst: hlua_new_event_sub_safe
      Src: /src/haproxy/src/hlua.c:10242,1
    - Dst: event_hdl_unsubscribe
      Src: /src/haproxy/src/hlua.c:10248,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:10249,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:10249,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:10249,1
    - Dst: event_hdl_drop
      Src: /src/haproxy/src/hlua.c:10252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - L
    - sub_list
    argTypes:
    - lua_State*
    - event_hdl_sub_list*
    constantsTouched: []
    func_position:
      end: 10255
      start: 10186
    functionDepth: 3
    functionLinenumber: 10186
    functionLinenumberEnd: 10255
    functionName: hlua_event_sub
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_event_subscribe
    - hlua_check_event_sub_types
    - luaL_error
    - hlua_unref
    - hlua_new_event_sub_safe
    - check_args
    - MAY_LJMP
    - event_hdl_unsubscribe
    - lua_tostring
    - hlua_gethlua
    - event_hdl_sub_type_equal
    - WILL_LJMP
    - hlua_checkfunction
    - event_hdl_drop
    linkageType: ''
    returnType: __LJMP
    signature: hlua_event_sub(lua_State *L, event_hdl_sub_list *sub_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10264,1
    - Dst: hlua_event_sub
      Src: /src/haproxy/src/hlua.c:10264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 10265
      start: 10261
    functionDepth: 4
    functionLinenumber: 10261
    functionLinenumberEnd: 10265
    functionName: hlua_event_global_sub
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_event_sub
    - MAY_LJMP
    linkageType: ''
    returnType: __LJMP
    signature: hlua_event_global_sub(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_stream_ctx_prepare
      Src: /src/haproxy/src/hlua.c:10281,1
    - Dst: fcn_ref_to_stack_id
      Src: /src/haproxy/src/hlua.c:10281,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10282,1
    - Dst: HLUA_IS_RUNNING
      Src: /src/haproxy/src/hlua.c:10287,1
    - Dst: SET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10290,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:10291,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:10292,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:10293,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10296,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:10297,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:10302,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10303,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10304,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:10309,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:10312,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10313,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10314,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10317,1
    - Dst: hlua_smp2lua
      Src: /src/haproxy/src/hlua.c:10317,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:10323,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10324,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10325,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10328,1
    - Dst: hlua_arg2lua
      Src: /src/haproxy/src/hlua.c:10328,1
    - Dst: hlua_timer_init
      Src: /src/haproxy/src/hlua.c:10334,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10337,1
    - Dst: hlua_ctx_resume
      Src: /src/haproxy/src/hlua.c:10341,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:10344,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:10346,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:10347,1
    - Dst: hlua_lua2smp
      Src: /src/haproxy/src/hlua.c:10352,1
    - Dst: smp_dup
      Src: /src/haproxy/src/hlua.c:10356,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:10357,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:10358,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10363,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:10369,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10370,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:10371,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:10372,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:10373,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10377,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10381,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10385,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10389,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10394,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 83
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 10400
      start: 10271
    functionDepth: 5
    functionLinenumber: 10271
    functionLinenumberEnd: 10400
    functionName: hlua_sample_conv_wrapper
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - HLUA_IS_RUNNING
    - SET_SAFE_LJMP
    - hlua_tostring_safe
    - hlua_lock
    - hlua_timer_init
    - hlua_unlock
    - fcn_ref_to_stack_id
    - RESET_SAFE_LJMP
    - hlua_smp2lua
    - hlua_arg2lua
    - hlua_lua2smp
    - MAY_LJMP
    - hlua_stream_ctx_prepare
    - lua_type
    - hlua_ctx_resume
    - lua_gettop
    - lua_pop
    - smp_dup
    - lua_checkstack
    - hlua_pushref
    - SEND_ERR
    linkageType: ''
    returnType: int
    signature: hlua_sample_conv_wrapper(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_stream_ctx_prepare
      Src: /src/haproxy/src/hlua.c:10419,1
    - Dst: fcn_ref_to_stack_id
      Src: /src/haproxy/src/hlua.c:10419,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10420,1
    - Dst: HLUA_IS_RUNNING
      Src: /src/haproxy/src/hlua.c:10425,1
    - Dst: SET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10428,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:10429,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:10430,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:10431,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10434,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:10435,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:10440,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10441,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10442,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:10447,1
    - Dst: hlua_txn_new
      Src: /src/haproxy/src/hlua.c:10450,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10451,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10452,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:10460,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10461,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10462,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10465,1
    - Dst: hlua_arg2lua
      Src: /src/haproxy/src/hlua.c:10465,1
    - Dst: hlua_timer_init
      Src: /src/haproxy/src/hlua.c:10470,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10473,1
    - Dst: hlua_ctx_resume
      Src: /src/haproxy/src/hlua.c:10477,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:10480,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:10482,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:10483,1
    - Dst: hlua_lua2smp
      Src: /src/haproxy/src/hlua.c:10488,1
    - Dst: smp_dup
      Src: /src/haproxy/src/hlua.c:10492,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:10493,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:10494,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10502,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:10508,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10509,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:10510,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:10511,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:10512,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10516,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10520,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10524,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10528,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10533,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 81
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 10539
      start: 10407
    functionDepth: 5
    functionLinenumber: 10407
    functionLinenumberEnd: 10539
    functionName: hlua_sample_fetch_wrapper
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - HLUA_IS_RUNNING
    - SET_SAFE_LJMP
    - hlua_tostring_safe
    - hlua_lock
    - hlua_timer_init
    - hlua_unlock
    - fcn_ref_to_stack_id
    - RESET_SAFE_LJMP
    - hlua_txn_new
    - hlua_arg2lua
    - hlua_lua2smp
    - MAY_LJMP
    - hlua_stream_ctx_prepare
    - lua_type
    - hlua_ctx_resume
    - lua_gettop
    - lua_pop
    - smp_dup
    - lua_checkstack
    - hlua_pushref
    - SEND_ERR
    linkageType: ''
    returnType: int
    signature: "hlua_sample_fetch_wrapper(const struct arg *arg_p, struct sample *smp,\n
      \                                    const char *kw, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10555,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:10555,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:10557,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:10559,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:10559,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10563,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:10563,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10566,1
    - Dst: hlua_checkfunction
      Src: /src/haproxy/src/hlua.c:10566,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/hlua.c:10569,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/hlua.c:10570,1
    - Dst: find_sample_conv
      Src: /src/haproxy/src/hlua.c:10571,1
    - Dst: ha_warning
      Src: /src/haproxy/src/hlua.c:10575,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:10577,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:10584,1
    - Dst: new_hlua_function
      Src: /src/haproxy/src/hlua.c:10587,1
    - Dst: strdup
      Src: /src/haproxy/src/hlua.c:10592,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:10601,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:10601,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:10602,1
    - Dst: snprintf
      Src: /src/haproxy/src/hlua.c:10606,1
    - Dst: ARG12
      Src: /src/haproxy/src/hlua.c:10608,1
    - Dst: sample_register_convs
      Src: /src/haproxy/src/hlua.c:10615,1
    - Dst: release_hlua_function
      Src: /src/haproxy/src/hlua.c:10620,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:10621,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:10622,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:10623,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:10623,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 10625
      start: 10545
    functionDepth: 2
    functionLinenumber: 10545
    functionLinenumberEnd: 10625
    functionName: hlua_register_converters
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - ha_free
    - ha_warning
    - ARG12
    - new_hlua_function
    - luaL_error
    - get_trash_chunk
    - MAY_LJMP
    - find_sample_conv
    - strlen
    - hlua_unref
    - snprintf
    - chunk_printf
    - strdup
    - hlua_gethlua
    - sample_register_convs
    - WILL_LJMP
    - release_hlua_function
    - hlua_checkfunction
    - calloc
    - check_args
    - luaL_checkstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_register_converters(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10641,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:10641,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:10643,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:10645,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:10645,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10649,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:10649,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10652,1
    - Dst: hlua_checkfunction
      Src: /src/haproxy/src/hlua.c:10652,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/hlua.c:10655,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/hlua.c:10656,1
    - Dst: find_sample_fetch
      Src: /src/haproxy/src/hlua.c:10657,1
    - Dst: ha_warning
      Src: /src/haproxy/src/hlua.c:10661,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:10663,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:10670,1
    - Dst: new_hlua_function
      Src: /src/haproxy/src/hlua.c:10673,1
    - Dst: strdup
      Src: /src/haproxy/src/hlua.c:10678,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:10687,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:10687,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:10688,1
    - Dst: snprintf
      Src: /src/haproxy/src/hlua.c:10692,1
    - Dst: ARG12
      Src: /src/haproxy/src/hlua.c:10694,1
    - Dst: sample_register_fetches
      Src: /src/haproxy/src/hlua.c:10702,1
    - Dst: release_hlua_function
      Src: /src/haproxy/src/hlua.c:10707,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:10708,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:10709,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:10710,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:10710,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 10712
      start: 10631
    functionDepth: 2
    functionLinenumber: 10631
    functionLinenumberEnd: 10712
    functionName: hlua_register_fetches
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - ha_free
    - ha_warning
    - ARG12
    - new_hlua_function
    - luaL_error
    - get_trash_chunk
    - MAY_LJMP
    - strlen
    - hlua_unref
    - snprintf
    - chunk_printf
    - strdup
    - hlua_gethlua
    - WILL_LJMP
    - sample_register_fetches
    - hlua_checkfunction
    - release_hlua_function
    - calloc
    - find_sample_fetch
    - check_args
    - luaL_checkstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_register_fetches(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:10723,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10728,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:10728,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:10730,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:10730,1
    - Dst: tick_add
      Src: /src/haproxy/src/hlua.c:10731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 10734
      start: 10716
    functionDepth: 1
    functionLinenumber: 10716
    functionLinenumberEnd: 10734
    functionName: hlua_set_wake_time
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - tick_add
    - luaL_checkinteger
    - check_args
    - MAY_LJMP
    - hlua_gethlua
    linkageType: ''
    returnType: __LJMP
    signature: hlua_set_wake_time(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10757,1
    - Dst: hlua_stream_ctx_prepare
      Src: /src/haproxy/src/hlua.c:10761,1
    - Dst: fcn_ref_to_stack_id
      Src: /src/haproxy/src/hlua.c:10761,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10762,1
    - Dst: HLUA_IS_RUNNING
      Src: /src/haproxy/src/hlua.c:10768,1
    - Dst: SET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10771,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:10772,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:10773,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:10774,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10777,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:10779,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:10784,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10785,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10787,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:10792,1
    - Dst: hlua_txn_new
      Src: /src/haproxy/src/hlua.c:10795,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10796,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10798,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:10805,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10806,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10808,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:10811,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10816,1
    - Dst: hlua_timer_init
      Src: /src/haproxy/src/hlua.c:10819,1
    - Dst: hlua_ctx_resume
      Src: /src/haproxy/src/hlua.c:10823,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:10827,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:10828,1
    - Dst: lua_tointeger
      Src: /src/haproxy/src/hlua.c:10829,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:10830,1
    - Dst: tick_first
      Src: /src/haproxy/src/hlua.c:10838,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/hlua.c:10838,1
    - Dst: tick_first
      Src: /src/haproxy/src/hlua.c:10841,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/hlua.c:10841,1
    - Dst: tick_first
      Src: /src/haproxy/src/hlua.c:10850,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/hlua.c:10850,1
    - Dst: tick_first
      Src: /src/haproxy/src/hlua.c:10853,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/hlua.c:10853,1
    - Dst: HLUA_IS_WAKERESWR
      Src: /src/haproxy/src/hlua.c:10860,1
    - Dst: HLUA_IS_WAKEREQWR
      Src: /src/haproxy/src/hlua.c:10862,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:10870,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10871,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:10872,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:10873,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:10874,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10878,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10882,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10886,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10892,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10898,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 126
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 10909
      start: 10742
    functionDepth: 5
    functionLinenumber: 10742
    functionLinenumberEnd: 10909
    functionName: hlua_action
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - HLUA_IS_RUNNING
    - SET_SAFE_LJMP
    - hlua_tostring_safe
    - HLUA_IS_WAKEREQWR
    - hlua_lock
    - hlua_timer_init
    - hlua_unlock
    - fcn_ref_to_stack_id
    - RESET_SAFE_LJMP
    - hlua_txn_new
    - hlua_stream_ctx_prepare
    - lua_type
    - hlua_ctx_resume
    - lua_pushstring
    - tick_is_expired
    - lua_gettop
    - lua_tointeger
    - HLUA_IS_WAKERESWR
    - lua_pop
    - tick_first
    - lua_checkstack
    - hlua_pushref
    - SEND_ERR
    linkageType: ''
    returnType: enum act_return
    signature: "hlua_action(struct act_rule *rule, struct proxy *px,\n                                   struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/hlua.c:10915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 10918
      start: 10911
    functionDepth: 0
    functionLinenumber: 10911
    functionLinenumberEnd: 10918
    functionName: hlua_applet_wakeup
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    linkageType: ''
    returnType: struct task
    signature: '*hlua_applet_wakeup(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/hlua.c:10922,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:10923,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/hlua.c:10924,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/hlua.c:10930,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10932,1
    - Dst: HLUA_INIT
      Src: /src/haproxy/src/hlua.c:10936,1
    - Dst: task_new_here
      Src: /src/haproxy/src/hlua.c:10941,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10943,1
    - Dst: hlua_ctx_init
      Src: /src/haproxy/src/hlua.c:10957,1
    - Dst: fcn_ref_to_stack_id
      Src: /src/haproxy/src/hlua.c:10957,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10958,1
    - Dst: hlua_timer_init
      Src: /src/haproxy/src/hlua.c:10964,1
    - Dst: SET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10967,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:10968,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:10969,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:10970,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10973,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:10975,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:10980,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10981,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10983,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:10988,1
    - Dst: hlua_applet_tcp_new
      Src: /src/haproxy/src/hlua.c:10991,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:10992,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:10994,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:11001,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11002,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:11004,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:11007,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:11011,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/hlua.c:11014,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/hlua.c:11015,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 11018
      start: 10920
    functionDepth: 2
    functionLinenumber: 10920
    functionLinenumberEnd: 11018
    functionName: hlua_applet_tcp_init
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - SET_SAFE_LJMP
    - hlua_tostring_safe
    - hlua_lock
    - hlua_timer_init
    - pool_alloc
    - applet_need_more_data
    - hlua_unlock
    - fcn_ref_to_stack_id
    - task_new_here
    - applet_have_more_data
    - applet_reserve_svcctx
    - RESET_SAFE_LJMP
    - lua_type
    - __sc_strm
    - lua_pushstring
    - appctx_sc
    - HLUA_INIT
    - hlua_ctx_init
    - lua_checkstack
    - hlua_pushref
    - SEND_ERR
    - hlua_applet_tcp_new
    linkageType: ''
    returnType: int
    signature: hlua_applet_tcp_init(struct appctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:11023,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/hlua.c:11024,1
    - Dst: unlikely
      Src: /src/haproxy/src/hlua.c:11029,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/hlua.c:11029,1
    - Dst: hlua_ctx_resume
      Src: /src/haproxy/src/hlua.c:11037,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/hlua.c:11041,1
    - Dst: task_schedule
      Src: /src/haproxy/src/hlua.c:11047,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:11053,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11054,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:11055,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:11056,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:11057,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11061,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11066,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11071,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11076,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11082,1
    - Dst: b_reset
      Src: /src/haproxy/src/hlua.c:11093,1
    - Dst: co_skip
      Src: /src/haproxy/src/hlua.c:11095,1
    - Dst: sc_oc
      Src: /src/haproxy/src/hlua.c:11095,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:11095,1
    - Dst: sc_oc
      Src: /src/haproxy/src/hlua.c:11095,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/hlua.c:11099,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 11102
      start: 11020
    functionDepth: 5
    functionLinenumber: 11020
    functionLinenumberEnd: 11102
    functionName: hlua_applet_tcp_fct
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - hlua_ctx_resume
    - lua_pop
    - hlua_tostring_safe
    - se_fl_test
    - hlua_lock
    - task_schedule
    - co_data
    - co_skip
    - se_fl_set
    - b_reset
    - hlua_unlock
    - __sc_strm
    - unlikely
    - sc_oc
    - SEND_ERR
    linkageType: ''
    returnType: void
    signature: hlua_applet_tcp_fct(struct appctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_destroy
      Src: /src/haproxy/src/hlua.c:11108,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/hlua.c:11110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 11112
      start: 11104
    functionDepth: 1
    functionLinenumber: 11104
    functionLinenumberEnd: 11112
    functionName: hlua_applet_tcp_release
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_ctx_destroy
    - task_destroy
    linkageType: ''
    returnType: void
    signature: hlua_applet_tcp_release(struct appctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/hlua.c:11119,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:11120,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/hlua.c:11121,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/hlua.c:11129,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11131,1
    - Dst: HLUA_INIT
      Src: /src/haproxy/src/hlua.c:11135,1
    - Dst: task_new_here
      Src: /src/haproxy/src/hlua.c:11144,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11146,1
    - Dst: hlua_ctx_init
      Src: /src/haproxy/src/hlua.c:11160,1
    - Dst: fcn_ref_to_stack_id
      Src: /src/haproxy/src/hlua.c:11160,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11161,1
    - Dst: hlua_timer_init
      Src: /src/haproxy/src/hlua.c:11167,1
    - Dst: SET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:11170,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:11171,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:11172,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:11173,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11176,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:11178,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:11183,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11184,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:11186,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:11191,1
    - Dst: hlua_applet_http_new
      Src: /src/haproxy/src/hlua.c:11194,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11195,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:11197,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:11204,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11205,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:11207,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:11210,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:11214,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/hlua.c:11217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 60
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 11220
      start: 11117
    functionDepth: 5
    functionLinenumber: 11117
    functionLinenumberEnd: 11220
    functionName: hlua_applet_http_init
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - SET_SAFE_LJMP
    - hlua_tostring_safe
    - hlua_lock
    - hlua_timer_init
    - pool_alloc
    - applet_need_more_data
    - hlua_unlock
    - fcn_ref_to_stack_id
    - task_new_here
    - applet_reserve_svcctx
    - RESET_SAFE_LJMP
    - lua_type
    - __sc_strm
    - lua_pushstring
    - appctx_sc
    - HLUA_INIT
    - hlua_ctx_init
    - hlua_applet_http_new
    - lua_checkstack
    - hlua_pushref
    - SEND_ERR
    linkageType: ''
    returnType: int
    signature: hlua_applet_http_init(struct appctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:11225,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/hlua.c:11226,1
    - Dst: sc_oc
      Src: /src/haproxy/src/hlua.c:11227,1
    - Dst: sc_ic
      Src: /src/haproxy/src/hlua.c:11228,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hlua.c:11234,1
    - Dst: unlikely
      Src: /src/haproxy/src/hlua.c:11236,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/hlua.c:11236,1
    - Dst: b_size
      Src: /src/haproxy/src/hlua.c:11244,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/hlua.c:11245,1
    - Dst: HLUA_IS_RUNNING
      Src: /src/haproxy/src/hlua.c:11250,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:11252,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/hlua.c:11253,1
    - Dst: hlua_ctx_resume
      Src: /src/haproxy/src/hlua.c:11259,1
    - Dst: task_schedule
      Src: /src/haproxy/src/hlua.c:11268,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:11274,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11275,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:11276,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:11277,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:11278,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11282,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11287,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11292,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11297,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11303,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/hlua.c:11323,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/hlua.c:11324,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/hlua.c:11325,1
    - Dst: channel_add_input
      Src: /src/haproxy/src/hlua.c:11328,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/hlua.c:11332,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/hlua.c:11338,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:11340,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hlua.c:11341,1
    - Dst: co_htx_skip
      Src: /src/haproxy/src/hlua.c:11342,1
    - Dst: co_data
      Src: /src/haproxy/src/hlua.c:11342,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/hlua.c:11343,1
    - Dst: channel_erase
      Src: /src/haproxy/src/hlua.c:11357,1
    - Dst: b_data
      Src: /src/haproxy/src/hlua.c:11358,1
    - Dst: memcpy
      Src: /src/haproxy/src/hlua.c:11359,1
    - Dst: b_head
      Src: /src/haproxy/src/hlua.c:11359,1
    - Dst: b_data
      Src: /src/haproxy/src/hlua.c:11359,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hlua.c:11360,1
    - Dst: channel_add_input
      Src: /src/haproxy/src/hlua.c:11361,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/hlua.c:11362,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/hlua.c:11365,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 105
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 11371
      start: 11222
    functionDepth: 5
    functionLinenumber: 11222
    functionLinenumberEnd: 11371
    functionName: hlua_applet_http_fct
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - HLUA_IS_RUNNING
    - hlua_tostring_safe
    - hlua_lock
    - htx_add_endof
    - b_head
    - applet_need_more_data
    - hlua_unlock
    - htx_to_buf
    - sc_oc
    - sc_need_room
    - channel_erase
    - se_fl_test
    - htx_from_buf
    - co_data
    - task_schedule
    - b_size
    - htx_is_empty
    - __sc_strm
    - channel_add_input
    - hlua_ctx_resume
    - b_data
    - appctx_sc
    - lua_pop
    - sc_ic
    - co_htx_skip
    - se_fl_set
    - unlikely
    - memcpy
    - SEND_ERR
    linkageType: ''
    returnType: void
    signature: hlua_applet_http_fct(struct appctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_destroy
      Src: /src/haproxy/src/hlua.c:11377,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/hlua.c:11379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 11381
      start: 11373
    functionDepth: 1
    functionLinenumber: 11373
    functionLinenumberEnd: 11381
    functionName: hlua_applet_http_release
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_ctx_destroy
    - task_destroy
    linkageType: ''
    returnType: void
    signature: hlua_applet_http_release(struct appctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:11397,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:11399,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:11404,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:11407,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:11417,1
    - Dst: strdup
      Src: /src/haproxy/src/hlua.c:11420,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:11422,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:11437,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:11438,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:11440,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 11443
      start: 11390
    functionDepth: 1
    functionLinenumber: 11390
    functionLinenumberEnd: 11443
    functionName: action_register_lua
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    - ha_free
    - strdup
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "action_register_lua(const char **args, int *cur_arg, struct proxy
      *px,\n                                              struct act_rule *rule, char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:11457,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:11462,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:11464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 11483
      start: 11445
    functionDepth: 1
    functionLinenumber: 11445
    functionLinenumberEnd: 11483
    functionName: action_register_service_http
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "action_register_service_http(const char **args, int *cur_arg, struct
      proxy *px,\n                                                       struct act_rule
      *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:11503,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:11503,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:11504,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:11504,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:11506,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:11508,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:11508,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:11512,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:11512,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:11515,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:11516,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:11516,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:11519,1
    - Dst: hlua_checkfunction
      Src: /src/haproxy/src/hlua.c:11519,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:11522,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:11523,1
    - Dst: luaL_checkinteger
      Src: /src/haproxy/src/hlua.c:11523,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:11526,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:11527,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:11528,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:11529,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:11530,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:11530,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/hlua.c:11534,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/hlua.c:11535,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:11536,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:11536,1
    - Dst: tcp_req_cont_action
      Src: /src/haproxy/src/hlua.c:11537,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:11538,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:11538,1
    - Dst: tcp_res_cont_action
      Src: /src/haproxy/src/hlua.c:11539,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:11540,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:11540,1
    - Dst: action_http_req_custom
      Src: /src/haproxy/src/hlua.c:11541,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:11542,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:11542,1
    - Dst: action_http_res_custom
      Src: /src/haproxy/src/hlua.c:11543,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:11544,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:11544,1
    - Dst: action_http_after_res_custom
      Src: /src/haproxy/src/hlua.c:11545,1
    - Dst: ha_warning
      Src: /src/haproxy/src/hlua.c:11552,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:11554,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:11559,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:11565,1
    - Dst: new_hlua_function
      Src: /src/haproxy/src/hlua.c:11568,1
    - Dst: strdup
      Src: /src/haproxy/src/hlua.c:11573,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:11585,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:11585,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:11586,1
    - Dst: snprintf
      Src: /src/haproxy/src/hlua.c:11590,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:11597,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:11597,1
    - Dst: tcp_req_cont_keywords_register
      Src: /src/haproxy/src/hlua.c:11598,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:11599,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:11599,1
    - Dst: tcp_res_cont_keywords_register
      Src: /src/haproxy/src/hlua.c:11600,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:11601,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:11601,1
    - Dst: http_req_keywords_register
      Src: /src/haproxy/src/hlua.c:11602,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:11603,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:11603,1
    - Dst: http_res_keywords_register
      Src: /src/haproxy/src/hlua.c:11604,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:11605,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:11605,1
    - Dst: http_after_res_keywords_register
      Src: /src/haproxy/src/hlua.c:11606,1
    - Dst: release_hlua_function
      Src: /src/haproxy/src/hlua.c:11608,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:11609,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:11611,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:11612,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:11613,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:11613,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:11616,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:11620,1
    - Dst: release_hlua_function
      Src: /src/haproxy/src/hlua.c:11629,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:11630,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:11631,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:11632,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:11632,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 102
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 11634
      start: 11489
    functionDepth: 2
    functionLinenumber: 11489
    functionLinenumberEnd: 11634
    functionName: hlua_register_action
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - ha_free
    - ha_warning
    - http_after_res_keywords_register
    - action_http_res_custom
    - lua_tostring
    - new_hlua_function
    - lua_pushnil
    - action_http_req_custom
    - strcmp
    - luaL_error
    - http_res_keywords_register
    - luaL_checkinteger
    - get_trash_chunk
    - tcp_req_cont_keywords_register
    - MAY_LJMP
    - lua_type
    - tcp_req_cont_action
    - strlen
    - hlua_unref
    - snprintf
    - action_http_after_res_custom
    - chunk_printf
    - strdup
    - lua_gettop
    - hlua_gethlua
    - WILL_LJMP
    - release_hlua_function
    - hlua_checkfunction
    - lua_pop
    - tcp_res_cont_keywords_register
    - calloc
    - http_req_keywords_register
    - tcp_res_cont_action
    - lua_next
    - luaL_checkstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_register_action(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:11642,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:11647,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:11649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 11668
      start: 11636
    functionDepth: 1
    functionLinenumber: 11636
    functionLinenumberEnd: 11668
    functionName: action_register_service_tcp
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "action_register_service_tcp(const char **args, int *cur_arg, struct
      proxy *px,\n                                                      struct act_rule
      *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:11685,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:11685,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:11687,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:11689,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:11689,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:11693,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:11693,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:11696,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:11696,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:11699,1
    - Dst: hlua_checkfunction
      Src: /src/haproxy/src/hlua.c:11699,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/hlua.c:11702,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/hlua.c:11703,1
    - Dst: service_find
      Src: /src/haproxy/src/hlua.c:11704,1
    - Dst: ha_warning
      Src: /src/haproxy/src/hlua.c:11708,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:11710,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:11717,1
    - Dst: new_hlua_function
      Src: /src/haproxy/src/hlua.c:11720,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:11725,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:11725,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:11726,1
    - Dst: snprintf
      Src: /src/haproxy/src/hlua.c:11729,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:11736,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:11736,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:11737,1
    - Dst: snprintf
      Src: /src/haproxy/src/hlua.c:11741,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:11744,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:11746,1
    - Dst: release_hlua_function
      Src: /src/haproxy/src/hlua.c:11749,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:11750,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:11752,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:11753,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:11754,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:11754,1
    - Dst: memset
      Src: /src/haproxy/src/hlua.c:11762,1
    - Dst: service_keywords_register
      Src: /src/haproxy/src/hlua.c:11765,1
    - Dst: release_hlua_function
      Src: /src/haproxy/src/hlua.c:11770,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:11771,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:11772,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:11773,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:11773,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 11775
      start: 11674
    functionDepth: 2
    functionLinenumber: 11674
    functionLinenumberEnd: 11775
    functionName: hlua_register_service
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - ha_free
    - ha_warning
    - new_hlua_function
    - memset
    - strcmp
    - luaL_error
    - get_trash_chunk
    - MAY_LJMP
    - service_keywords_register
    - strlen
    - hlua_unref
    - snprintf
    - chunk_printf
    - service_find
    - hlua_gethlua
    - WILL_LJMP
    - release_hlua_function
    - hlua_checkfunction
    - calloc
    - check_args
    - luaL_checkstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_register_service(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/hlua.c:11782,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/hlua.c:11791,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11793,1
    - Dst: HLUA_INIT
      Src: /src/haproxy/src/hlua.c:11796,1
    - Dst: task_new_here
      Src: /src/haproxy/src/hlua.c:11803,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11805,1
    - Dst: hlua_ctx_init
      Src: /src/haproxy/src/hlua.c:11813,1
    - Dst: fcn_ref_to_stack_id
      Src: /src/haproxy/src/hlua.c:11813,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11814,1
    - Dst: SET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:11819,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:11820,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:11821,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:11822,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11825,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:11826,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:11831,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11832,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:11837,1
    - Dst: hlua_applet_tcp_new
      Src: /src/haproxy/src/hlua.c:11842,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11843,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:11851,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11852,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:11855,1
    - Dst: hlua_timer_init
      Src: /src/haproxy/src/hlua.c:11860,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:11863,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:11870,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/hlua.c:11871,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 11874
      start: 11780
    functionDepth: 2
    functionLinenumber: 11780
    functionLinenumberEnd: 11874
    functionName: hlua_cli_parse_fct
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - SET_SAFE_LJMP
    - hlua_tostring_safe
    - hlua_lock
    - hlua_ctx_destroy
    - hlua_timer_init
    - pool_alloc
    - hlua_unlock
    - fcn_ref_to_stack_id
    - task_new_here
    - applet_reserve_svcctx
    - RESET_SAFE_LJMP
    - lua_type
    - lua_pushstring
    - HLUA_INIT
    - hlua_ctx_init
    - lua_checkstack
    - hlua_pushref
    - SEND_ERR
    - hlua_applet_tcp_new
    linkageType: ''
    returnType: int
    signature: hlua_cli_parse_fct(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/hlua.c:11884,1
    - Dst: hlua_ctx_resume
      Src: /src/haproxy/src/hlua.c:11888,1
    - Dst: HLUA_IS_WAKERESWR
      Src: /src/haproxy/src/hlua.c:11897,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/hlua.c:11898,1
    - Dst: task_schedule
      Src: /src/haproxy/src/hlua.c:11901,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:11907,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11908,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:11909,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:11910,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:11911,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11915,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11920,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11925,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11930,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:11936,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 11945
      start: 11876
    functionDepth: 5
    functionLinenumber: 11876
    functionLinenumberEnd: 11945
    functionName: hlua_cli_io_handler_fct
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - hlua_ctx_resume
    - lua_pop
    - hlua_tostring_safe
    - hlua_lock
    - task_schedule
    - SEND_ERR
    - hlua_unlock
    - HLUA_IS_WAKERESWR
    - sc_need_room
    linkageType: ''
    returnType: int
    signature: hlua_cli_io_handler_fct(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_destroy
      Src: /src/haproxy/src/hlua.c:11951,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/hlua.c:11953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 11955
      start: 11947
    functionDepth: 1
    functionLinenumber: 11947
    functionLinenumberEnd: 11955
    functionName: hlua_cli_io_release_fct
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_ctx_destroy
    - task_destroy
    linkageType: ''
    returnType: void
    signature: hlua_cli_io_release_fct(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:11978,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:11978,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:11980,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:11982,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:11982,1
    - Dst: lua_istable
      Src: /src/haproxy/src/hlua.c:11986,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:11987,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua.c:11987,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:11990,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:11990,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:11993,1
    - Dst: hlua_checkfunction
      Src: /src/haproxy/src/hlua.c:11993,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/hlua.c:11996,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:11998,1
    - Dst: memset
      Src: /src/haproxy/src/hlua.c:11999,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:12000,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:12002,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:12003,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua.c:12003,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:12005,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:12006,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:12007,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua.c:12007,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:12009,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/hlua.c:12011,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/hlua.c:12013,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:12015,1
    - Dst: cli_find_kw_exact
      Src: /src/haproxy/src/hlua.c:12017,1
    - Dst: ha_warning
      Src: /src/haproxy/src/hlua.c:12021,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:12023,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:12030,1
    - Dst: new_hlua_function
      Src: /src/haproxy/src/hlua.c:12035,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:12043,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:12044,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:12049,1
    - Dst: strdup
      Src: /src/haproxy/src/hlua.c:12053,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:12053,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:12059,1
    - Dst: strdup
      Src: /src/haproxy/src/hlua.c:12063,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:12070,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:12072,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:12073,1
    - Dst: memcpy
      Src: /src/haproxy/src/hlua.c:12081,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:12086,1
    - Dst: memcpy
      Src: /src/haproxy/src/hlua.c:12087,1
    - Dst: cli_register_kw
      Src: /src/haproxy/src/hlua.c:12102,1
    - Dst: release_hlua_function
      Src: /src/haproxy/src/hlua.c:12107,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:12108,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:12111,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:12112,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:12114,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:12115,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:12115,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 119
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 12117
      start: 11963
    functionDepth: 2
    functionLinenumber: 11963
    functionLinenumberEnd: 12117
    functionName: hlua_register_cli
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - ha_free
    - ha_warning
    - lua_tostring
    - memset
    - new_hlua_function
    - lua_pushnil
    - luaL_error
    - chunk_appendf
    - get_trash_chunk
    - MAY_LJMP
    - lua_type
    - strlen
    - hlua_unref
    - cli_register_kw
    - chunk_printf
    - strdup
    - hlua_gethlua
    - WILL_LJMP
    - release_hlua_function
    - hlua_checkfunction
    - lua_pop
    - calloc
    - check_args
    - cli_find_kw_exact
    - lua_istable
    - lua_next
    - luaL_checkstring
    - memcpy
    - luaL_argerror
    linkageType: ''
    returnType: __LJMP
    signature: hlua_register_cli(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reg_flt_to_stack_id
      Src: /src/haproxy/src/hlua.c:12125,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:12127,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:12130,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:12133,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:12136,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:12137,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:12139,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:12140,1
    - Dst: lua_insert
      Src: /src/haproxy/src/hlua.c:12141,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:12142,1
    - Dst: hlua_ref
      Src: /src/haproxy/src/hlua.c:12144,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:12147,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:12150,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:12153,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:12156,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua.c:12157,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:12160,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua.c:12161,1
    - Dst: lua_rawlen
      Src: /src/haproxy/src/hlua.c:12161,1
    - Dst: lua_pcall
      Src: /src/haproxy/src/hlua.c:12164,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua.c:12171,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:12171,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua.c:12174,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua.c:12177,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:12177,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua.c:12181,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:12181,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua.c:12185,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:12185,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:12189,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:12193,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 12195
      start: 12119
    functionDepth: 1
    functionLinenumber: 12119
    functionLinenumberEnd: 12195
    functionName: hlua_filter_init_per_thread
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - hlua_tostring_safe
    - hlua_ref
    - lua_rawseti
    - lua_settable
    - lua_pushnil
    - lua_newtable
    - lua_pushstring
    - reg_flt_to_stack_id
    - lua_pushvalue
    - lua_rawlen
    - lua_gettop
    - lua_pop
    - lua_pcall
    - lua_insert
    - lua_settop
    - lua_checkstack
    - hlua_pushref
    - lua_next
    linkageType: ''
    returnType: int
    signature: hlua_filter_init_per_thread(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reg_flt_to_stack_id
      Src: /src/haproxy/src/hlua.c:12206,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:12208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 12209
      start: 12197
    functionDepth: 1
    functionLinenumber: 12197
    functionLinenumberEnd: 12209
    functionName: hlua_filter_deinit_per_thread
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - reg_flt_to_stack_id
    - hlua_unref
    linkageType: ''
    returnType: void
    signature: hlua_filter_deinit_per_thread(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_filter_init_per_thread
      Src: /src/haproxy/src/hlua.c:12218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 12220
      start: 12211
    functionDepth: 2
    functionLinenumber: 12211
    functionLinenumberEnd: 12220
    functionName: hlua_filter_init
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_filter_init_per_thread
    linkageType: ''
    returnType: int
    signature: hlua_filter_init(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_filter_deinit_per_thread
      Src: /src/haproxy/src/hlua.c:12232,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:12235,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:12236,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:12238,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:12239,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:12240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 12241
      start: 12222
    functionDepth: 2
    functionLinenumber: 12222
    functionLinenumberEnd: 12241
    functionName: hlua_filter_deinit
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_filter_deinit_per_thread
    - free
    - ha_free
    linkageType: ''
    returnType: void
    signature: hlua_filter_deinit(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/hlua.c:12245,1
    - Dst: hlua_stream_ctx_prepare
      Src: /src/haproxy/src/hlua.c:12250,1
    - Dst: reg_flt_to_stack_id
      Src: /src/haproxy/src/hlua.c:12250,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12251,1
    - Dst: pool_zalloc
      Src: /src/haproxy/src/hlua.c:12257,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12259,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/hlua.c:12265,1
    - Dst: HLUA_INIT
      Src: /src/haproxy/src/hlua.c:12266,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/hlua.c:12267,1
    - Dst: HLUA_INIT
      Src: /src/haproxy/src/hlua.c:12268,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12270,1
    - Dst: hlua_ctx_init
      Src: /src/haproxy/src/hlua.c:12276,1
    - Dst: reg_flt_to_stack_id
      Src: /src/haproxy/src/hlua.c:12276,1
    - Dst: hlua_ctx_init
      Src: /src/haproxy/src/hlua.c:12277,1
    - Dst: reg_flt_to_stack_id
      Src: /src/haproxy/src/hlua.c:12277,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12278,1
    - Dst: HLUA_IS_RUNNING
      Src: /src/haproxy/src/hlua.c:12284,1
    - Dst: SET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:12286,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:12289,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:12290,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:12291,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12294,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:12295,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:12301,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12302,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:12303,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:12308,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12309,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12310,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:12312,1
    - Dst: lua_insert
      Src: /src/haproxy/src/hlua.c:12316,1
    - Dst: hlua_timer_init
      Src: /src/haproxy/src/hlua.c:12322,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:12325,1
    - Dst: hlua_ctx_resume
      Src: /src/haproxy/src/hlua.c:12328,1
    - Dst: SET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:12331,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:12334,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:12335,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:12336,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12339,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:12340,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:12346,1
    - Dst: lua_istable
      Src: /src/haproxy/src/hlua.c:12346,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:12348,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:12353,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:12354,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:12355,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:12358,1
    - Dst: hlua_ref
      Src: /src/haproxy/src/hlua.c:12359,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:12362,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:12370,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12371,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:12371,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:12372,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12376,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12380,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12384,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12389,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12394,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:12404,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:12405,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:12406,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/hlua.c:12410,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/hlua.c:12411,1
    - Dst: pool_free
      Src: /src/haproxy/src/hlua.c:12412,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 143
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 12416
      start: 12243
    functionDepth: 5
    functionLinenumber: 12243
    functionLinenumberEnd: 12416
    functionName: hlua_filter_new
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - HLUA_IS_RUNNING
    - SET_SAFE_LJMP
    - hlua_tostring_safe
    - FLT_CONF
    - hlua_ref
    - hlua_lock
    - pool_zalloc
    - hlua_timer_init
    - hlua_ctx_destroy
    - pool_alloc
    - hlua_unlock
    - RESET_SAFE_LJMP
    - lua_settable
    - lua_getfield
    - hlua_stream_ctx_prepare
    - lua_pushlightuserdata
    - lua_type
    - hlua_ctx_resume
    - lua_pushstring
    - reg_flt_to_stack_id
    - pool_free
    - lua_pushvalue
    - lua_gettop
    - lua_istable
    - HLUA_INIT
    - hlua_ctx_init
    - lua_insert
    - lua_settop
    - lua_checkstack
    - hlua_pushref
    - SEND_ERR
    linkageType: ''
    returnType: int
    signature: hlua_filter_new(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_stream_ctx_get
      Src: /src/haproxy/src/hlua.c:12421,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua.c:12423,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:12427,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:12428,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:12429,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/hlua.c:12430,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/hlua.c:12431,1
    - Dst: pool_free
      Src: /src/haproxy/src/hlua.c:12432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 12434
      start: 12418
    functionDepth: 2
    functionLinenumber: 12418
    functionLinenumberEnd: 12434
    functionName: hlua_filter_delete
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - hlua_lock
    - hlua_unref
    - hlua_ctx_destroy
    - pool_free
    - hlua_unlock
    - hlua_stream_ctx_get
    linkageType: ''
    returnType: void
    signature: hlua_filter_delete(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct filter*
    constantsTouched: []
    func_position:
      end: 12441
      start: 12436
    functionDepth: 0
    functionLinenumber: 12436
    functionLinenumberEnd: 12441
    functionName: hlua_filter_from_payload
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hlua_filter_from_payload(struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/hlua.c:12447,1
    - Dst: HLUA_IS_RUNNING
      Src: /src/haproxy/src/hlua.c:12456,1
    - Dst: SET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:12460,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:12463,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:12464,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:12465,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12468,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:12469,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:12473,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:12476,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12477,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:12478,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:12482,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12483,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:12484,1
    - Dst: lua_insert
      Src: /src/haproxy/src/hlua.c:12487,1
    - Dst: hlua_txn_new
      Src: /src/haproxy/src/hlua.c:12489,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12490,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:12491,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12498,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12500,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:12501,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:12502,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:12503,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:12504,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12510,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12512,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:12513,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:12514,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:12515,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:12516,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:12522,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12523,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:12524,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:12529,1
    - Dst: lua_remove
      Src: /src/haproxy/src/hlua.c:12530,1
    - Dst: hlua_timer_init
      Src: /src/haproxy/src/hlua.c:12535,1
    - Dst: RESET_SAFE_LJMP
      Src: /src/haproxy/src/hlua.c:12538,1
    - Dst: hlua_ctx_resume
      Src: /src/haproxy/src/hlua.c:12541,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:12544,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:12545,1
    - Dst: lua_tointeger
      Src: /src/haproxy/src/hlua.c:12546,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:12547,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:12549,1
    - Dst: HLUA_IS_WAKERESWR
      Src: /src/haproxy/src/hlua.c:12571,1
    - Dst: HLUA_IS_WAKEREQWR
      Src: /src/haproxy/src/hlua.c:12573,1
    - Dst: hlua_lock
      Src: /src/haproxy/src/hlua.c:12578,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12579,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:12579,1
    - Dst: hlua_unlock
      Src: /src/haproxy/src/hlua.c:12580,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12584,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12587,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12590,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12593,1
    - Dst: SEND_ERR
      Src: /src/haproxy/src/hlua.c:12597,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 134
    argCount: 5
    argNames:
    - s
    - filter
    - fun
    - dir
    - flags
    argTypes:
    - struct stream*
    - struct filter*
    - char*
    - int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 12606
      start: 12443
    functionDepth: 5
    functionLinenumber: 12443
    functionLinenumberEnd: 12606
    functionName: hlua_filter_callback
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - HLUA_IS_RUNNING
    - SET_SAFE_LJMP
    - hlua_tostring_safe
    - HLUA_IS_WAKEREQWR
    - FLT_CONF
    - hlua_lock
    - hlua_timer_init
    - lua_remove
    - hlua_unlock
    - RESET_SAFE_LJMP
    - lua_settable
    - hlua_txn_new
    - lua_getfield
    - lua_pushlightuserdata
    - lua_type
    - hlua_ctx_resume
    - lua_pushstring
    - lua_pushvalue
    - lua_gettop
    - lua_tointeger
    - HLUA_IS_WAKERESWR
    - lua_insert
    - lua_settop
    - lua_checkstack
    - hlua_pushref
    - SEND_ERR
    linkageType: ''
    returnType: int
    signature: "hlua_filter_callback(struct stream *s, struct filter *filter, const
      char *fun,\n\t\t\t\tint dir, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_filter_callback
      Src: /src/haproxy/src/hlua.c:12613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - filter
    - chn
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 12616
      start: 12608
    functionDepth: 6
    functionLinenumber: 12608
    functionLinenumberEnd: 12616
    functionName: hlua_filter_start_analyze
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_filter_callback
    linkageType: ''
    returnType: int
    signature: hlua_filter_start_analyze(struct stream *s, struct filter *filter,
      struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_filter_callback
      Src: /src/haproxy/src/hlua.c:12623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - filter
    - chn
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 12626
      start: 12618
    functionDepth: 6
    functionLinenumber: 12618
    functionLinenumberEnd: 12626
    functionName: hlua_filter_end_analyze
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_filter_callback
    linkageType: ''
    returnType: int
    signature: hlua_filter_end_analyze(struct stream *s, struct filter *filter, struct
      channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_filter_callback
      Src: /src/haproxy/src/hlua.c:12633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - filter
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 12636
      start: 12628
    functionDepth: 6
    functionLinenumber: 12628
    functionLinenumberEnd: 12636
    functionName: hlua_filter_http_headers
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_filter_callback
    linkageType: ''
    returnType: int
    signature: hlua_filter_http_headers(struct stream *s, struct filter *filter, struct
      http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_filter_callback
      Src: /src/haproxy/src/hlua.c:12651,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:12654,1
    - Dst: lua_tointeger
      Src: /src/haproxy/src/hlua.c:12655,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:12658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - s
    - filter
    - msg
    - offset
    - len
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 12662
      start: 12638
    functionDepth: 6
    functionLinenumber: 12638
    functionLinenumberEnd: 12662
    functionName: hlua_filter_http_payload
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_tointeger
    - lua_gettop
    - hlua_filter_callback
    - lua_settop
    linkageType: ''
    returnType: int
    signature: "hlua_filter_http_payload(struct stream *s, struct filter *filter,
      struct http_msg *msg,\n\t\t\t\t     unsigned int offset, unsigned int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_filter_callback
      Src: /src/haproxy/src/hlua.c:12669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - filter
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 12672
      start: 12664
    functionDepth: 6
    functionLinenumber: 12664
    functionLinenumberEnd: 12672
    functionName: hlua_filter_http_end
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_filter_callback
    linkageType: ''
    returnType: int
    signature: hlua_filter_http_end(struct stream *s, struct filter *filter, struct
      http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_filter_callback
      Src: /src/haproxy/src/hlua.c:12687,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua.c:12690,1
    - Dst: lua_tointeger
      Src: /src/haproxy/src/hlua.c:12691,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:12694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - s
    - filter
    - chn
    - offset
    - len
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 12698
      start: 12674
    functionDepth: 6
    functionLinenumber: 12674
    functionLinenumberEnd: 12698
    functionName: hlua_filter_tcp_payload
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_tointeger
    - lua_gettop
    - hlua_filter_callback
    - lua_settop
    linkageType: ''
    returnType: int
    signature: "hlua_filter_tcp_payload(struct stream *s, struct filter *filter, struct
      channel *chn,\n\t\t\t\t    unsigned int offset, unsigned int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reg_flt_to_stack_id
      Src: /src/haproxy/src/hlua.c:12710,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:12714,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:12728,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12730,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:12732,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12733,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:12735,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12736,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:12738,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12739,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:12741,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12742,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:12744,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12745,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:12747,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12750,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:12751,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:12752,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12753,1
    - Dst: lua_tointeger
      Src: /src/haproxy/src/hlua.c:12754,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:12755,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:12758,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:12765,1
    - Dst: strdup
      Src: /src/haproxy/src/hlua.c:12769,1
    - Dst: strdup
      Src: /src/haproxy/src/hlua.c:12777,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:12785,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:12789,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:12790,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:12793,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:12794,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:12796,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:12797,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:12798,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 83
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - fconf
    - err
    - private
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct flt_conf*
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 12800
      start: 12700
    functionDepth: 1
    functionLinenumber: 12700
    functionLinenumberEnd: 12800
    functionName: hlua_filter_parse_fct
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - memprintf
    - lua_settop
    - calloc
    - reg_flt_to_stack_id
    - strdup
    - free
    - lua_getfield
    - lua_tointeger
    - lua_tostring
    - hlua_pushref
    linkageType: ''
    returnType: int
    signature: "hlua_filter_parse_fct(char **args, int *cur_arg, struct proxy *px,\n\t\t\t\t
      struct flt_conf *fconf, char **err, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:12807,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:12807,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:12808,1
    - Dst: luaL_checktype
      Src: /src/haproxy/src/hlua.c:12808,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:12809,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:12809,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12811,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:12812,1
    - Dst: luaL_checktype
      Src: /src/haproxy/src/hlua.c:12812,1
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua.c:12813,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:12814,1
    - Dst: register_data_filter
      Src: /src/haproxy/src/hlua.c:12816,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:12816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 12818
      start: 12802
    functionDepth: 2
    functionLinenumber: 12802
    functionLinenumberEnd: 12818
    functionName: hlua_register_data_filter
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - luaL_checktype
    - lua_touserdata
    - chn_strm
    - check_args
    - register_data_filter
    - lua_getfield
    - MAY_LJMP
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_register_data_filter(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:12825,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:12825,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:12826,1
    - Dst: luaL_checktype
      Src: /src/haproxy/src/hlua.c:12826,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:12827,1
    - Dst: hlua_checkchannel
      Src: /src/haproxy/src/hlua.c:12827,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:12829,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:12830,1
    - Dst: luaL_checktype
      Src: /src/haproxy/src/hlua.c:12830,1
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua.c:12831,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:12832,1
    - Dst: unregister_data_filter
      Src: /src/haproxy/src/hlua.c:12834,1
    - Dst: chn_strm
      Src: /src/haproxy/src/hlua.c:12834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 12836
      start: 12820
    functionDepth: 2
    functionLinenumber: 12820
    functionLinenumberEnd: 12836
    functionName: hlua_unregister_data_filter
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - unregister_data_filter
    - luaL_checktype
    - lua_touserdata
    - chn_strm
    - check_args
    - lua_getfield
    - MAY_LJMP
    - hlua_checkchannel
    linkageType: ''
    returnType: __LJMP
    signature: hlua_unregister_data_filter(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:12852,1
    - Dst: check_args
      Src: /src/haproxy/src/hlua.c:12852,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:12854,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:12856,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:12856,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:12860,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua.c:12860,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:12863,1
    - Dst: hlua_checktable
      Src: /src/haproxy/src/hlua.c:12863,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:12866,1
    - Dst: hlua_checkfunction
      Src: /src/haproxy/src/hlua.c:12866,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/hlua.c:12868,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/hlua.c:12869,1
    - Dst: flt_find_kw
      Src: /src/haproxy/src/hlua.c:12870,1
    - Dst: ha_warning
      Src: /src/haproxy/src/hlua.c:12874,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:12877,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:12879,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:12886,1
    - Dst: new_hlua_reg_filter
      Src: /src/haproxy/src/hlua.c:12891,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:12899,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua.c:12899,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:12900,1
    - Dst: snprintf
      Src: /src/haproxy/src/hlua.c:12904,1
    - Dst: memset
      Src: /src/haproxy/src/hlua.c:12908,1
    - Dst: flt_register_keywords
      Src: /src/haproxy/src/hlua.c:12911,1
    - Dst: release_hlua_reg_filter
      Src: /src/haproxy/src/hlua.c:12916,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:12917,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:12918,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:12919,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:12920,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:12920,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 12922
      start: 12842
    functionDepth: 2
    functionLinenumber: 12842
    functionLinenumberEnd: 12922
    functionName: hlua_register_filter
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - flt_find_kw
    - ha_free
    - ha_warning
    - memset
    - flt_register_keywords
    - luaL_error
    - get_trash_chunk
    - MAY_LJMP
    - strlen
    - hlua_unref
    - snprintf
    - release_hlua_reg_filter
    - chunk_printf
    - hlua_gethlua
    - WILL_LJMP
    - hlua_checkfunction
    - new_hlua_reg_filter
    - calloc
    - check_args
    - hlua_checktable
    - luaL_checkstring
    linkageType: ''
    returnType: __LJMP
    signature: hlua_register_filter(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_time_err
      Src: /src/haproxy/src/hlua.c:12930,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:12932,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:12937,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:12942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 8
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    - timeout
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 12946
      start: 12924
    functionDepth: 1
    functionLinenumber: 12924
    functionLinenumberEnd: 12946
    functionName: hlua_read_timeout
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_time_err
    linkageType: ''
    returnType: int
    signature: "hlua_read_timeout(char **args, int section_type, struct proxy *curpx,\n
      \                            const struct proxy *defpx, const char *file, int
      line,\n                             char **err, unsigned int *timeout)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_read_timeout
      Src: /src/haproxy/src/hlua.c:12952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 12954
      start: 12948
    functionDepth: 2
    functionLinenumber: 12948
    functionLinenumberEnd: 12954
    functionName: hlua_burst_timeout
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_read_timeout
    linkageType: ''
    returnType: int
    signature: "hlua_burst_timeout(char **args, int section_type, struct proxy *curpx,\n
      \                             const struct proxy *defpx, const char *file, int
      line,\n                              char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_read_timeout
      Src: /src/haproxy/src/hlua.c:12960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 12962
      start: 12956
    functionDepth: 2
    functionLinenumber: 12956
    functionLinenumberEnd: 12962
    functionName: hlua_session_timeout
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_read_timeout
    linkageType: ''
    returnType: int
    signature: "hlua_session_timeout(char **args, int section_type, struct proxy *curpx,\n
      \                               const struct proxy *defpx, const char *file,
      int line,\n                                char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_read_timeout
      Src: /src/haproxy/src/hlua.c:12968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 12970
      start: 12964
    functionDepth: 2
    functionLinenumber: 12964
    functionLinenumberEnd: 12970
    functionName: hlua_task_timeout
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_read_timeout
    linkageType: ''
    returnType: int
    signature: "hlua_task_timeout(char **args, int section_type, struct proxy *curpx,\n
      \                            const struct proxy *defpx, const char *file, int
      line,\n                             char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_read_timeout
      Src: /src/haproxy/src/hlua.c:12976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 12978
      start: 12972
    functionDepth: 2
    functionLinenumber: 12972
    functionLinenumberEnd: 12978
    functionName: hlua_applet_timeout
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - hlua_read_timeout
    linkageType: ''
    returnType: int
    signature: "hlua_applet_timeout(char **args, int section_type, struct proxy *curpx,\n
      \                              const struct proxy *defpx, const char *file,
      int line,\n                               char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtoll
      Src: /src/haproxy/src/hlua.c:12986,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:12988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 12992
      start: 12980
    functionDepth: 1
    functionLinenumber: 12980
    functionLinenumberEnd: 12992
    functionName: hlua_forced_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strtoll
    linkageType: ''
    returnType: int
    signature: "hlua_forced_yield(char **args, int section_type, struct proxy *curpx,\n
      \                            const struct proxy *defpx, const char *file, int
      line,\n                             char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13001,1
    - Dst: strtoll
      Src: /src/haproxy/src/hlua.c:13004,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 13010
      start: 12994
    functionDepth: 1
    functionLinenumber: 12994
    functionLinenumberEnd: 13010
    functionName: hlua_parse_maxmem
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strtoll
    linkageType: ''
    returnType: int
    signature: "hlua_parse_maxmem(char **args, int section_type, struct proxy *curpx,\n
      \                            const struct proxy *defpx, const char *file, int
      line,\n                             char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/hlua.c:13016,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:13019,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:13021,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 13028
      start: 13012
    functionDepth: 1
    functionLinenumber: 13012
    functionLinenumberEnd: 13028
    functionName: hlua_cfg_parse_log_loggers
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "hlua_cfg_parse_log_loggers(char **args, int section_type, struct proxy
      *curpx,\n                              const struct proxy *defpx, const char
      *file, int line,\n                              char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/hlua.c:13034,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:13037,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:13039,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:13041,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13044,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 13048
      start: 13030
    functionDepth: 1
    functionLinenumber: 13030
    functionLinenumberEnd: 13048
    functionName: hlua_cfg_parse_log_stderr
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "hlua_cfg_parse_log_stderr(char **args, int section_type, struct proxy
      *curpx,\n                                     const struct proxy *defpx, const
      char *file, int line,\n                                    char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/hlua.c:13054,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:13057,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:13059,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 13066
      start: 13050
    functionDepth: 1
    functionLinenumber: 13050
    functionLinenumberEnd: 13066
    functionName: hlua_cfg_parse_bool_sample_conversion
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "hlua_cfg_parse_bool_sample_conversion(char **args, int section_type,
      struct proxy *curpx,\n                                                 const
      struct proxy *defpx, const char *file, int line,\n                                                 char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ONLY_ONCE
      Src: /src/haproxy/src/hlua.c:13087,1
    - Dst: ha_warning
      Src: /src/haproxy/src/hlua.c:13096,1
    - Dst: luaL_loadfile
      Src: /src/haproxy/src/hlua.c:13103,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13105,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:13105,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:13106,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua.c:13113,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13114,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:13117,1
    - Dst: lua_pcall
      Src: /src/haproxy/src/hlua.c:13122,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13127,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:13127,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:13128,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13131,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13134,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:13134,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:13135,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13139,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:13139,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:13140,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13144,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:13144,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:13145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 3
    argNames:
    - args
    - L
    - err
    argTypes:
    - char**
    - lua_State*
    - char**
    constantsTouched: []
    func_position:
      end: 13150
      start: 13082
    functionDepth: 1
    functionLinenumber: 13082
    functionLinenumberEnd: 13150
    functionName: hlua_load_state
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - lua_pop
    - lua_pushstring
    - hlua_tostring_safe
    - lua_pcall
    - luaL_loadfile
    - ha_warning
    - ONLY_ONCE
    - lua_checkstack
    linkageType: ''
    returnType: int
    signature: hlua_load_state(char **args, lua_State *L, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13157,1
    - Dst: ha_set_thread
      Src: /src/haproxy/src/hlua.c:13163,1
    - Dst: hlua_load_state
      Src: /src/haproxy/src/hlua.c:13164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 13165
      start: 13152
    functionDepth: 2
    functionLinenumber: 13152
    functionLinenumberEnd: 13165
    functionName: hlua_load
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - hlua_load_state
    - ha_set_thread
    linkageType: ''
    returnType: int
    signature: "hlua_load(char **args, int section_type, struct proxy *curpx,\n                     const
      struct proxy *defpx, const char *file, int line,\n                     char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13175,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:13181,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13183,1
    - Dst: realloc
      Src: /src/haproxy/src/hlua.c:13192,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13194,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:13201,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13203,1
    - Dst: strdup
      Src: /src/haproxy/src/hlua.c:13207,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13209,1
    - Dst: strdup
      Src: /src/haproxy/src/hlua.c:13213,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13215,1
    - Dst: ha_set_thread
      Src: /src/haproxy/src/hlua.c:13221,1
    - Dst: hlua_load_state
      Src: /src/haproxy/src/hlua.c:13222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 13223
      start: 13167
    functionDepth: 2
    functionLinenumber: 13167
    functionLinenumberEnd: 13223
    functionName: hlua_load_per_thread
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    - strdup
    - ha_set_thread
    - hlua_load_state
    - realloc
    linkageType: ''
    returnType: int
    signature: "hlua_load_per_thread(char **args, int section_type, struct proxy *curpx,\n
      \                               const struct proxy *defpx, const char *file,
      int line,\n                                char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_getglobal
      Src: /src/haproxy/src/hlua.c:13230,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:13231,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:13232,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:13233,1
    - Dst: lua_concat
      Src: /src/haproxy/src/hlua.c:13234,1
    - Dst: lua_setfield
      Src: /src/haproxy/src/hlua.c:13235,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:13236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - L
    - type
    - path
    argTypes:
    - lua_State*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 13239
      start: 13228
    functionDepth: 0
    functionLinenumber: 13228
    functionLinenumberEnd: 13239
    functionName: hlua_prepend_path
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_concat
    - lua_pushstring
    - lua_setfield
    - lua_getglobal
    - lua_getfield
    linkageType: ''
    returnType: int
    signature: hlua_prepend_path(lua_State *L, char *type, char *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/hlua.c:13250,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13255,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:13261,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:13261,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13262,1
    - Dst: calloc
      Src: /src/haproxy/src/hlua.c:13268,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13270,1
    - Dst: strdup
      Src: /src/haproxy/src/hlua.c:13273,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13275,1
    - Dst: strdup
      Src: /src/haproxy/src/hlua.c:13278,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13280,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/hlua.c:13283,1
    - Dst: setjmp
      Src: /src/haproxy/src/hlua.c:13293,1
    - Dst: lua_atpanic
      Src: /src/haproxy/src/hlua.c:13294,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:13295,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:13296,1
    - Dst: fprintf
      Src: /src/haproxy/src/hlua.c:13299,1
    - Dst: exit
      Src: /src/haproxy/src/hlua.c:13300,1
    - Dst: lua_atpanic
      Src: /src/haproxy/src/hlua.c:13302,1
    - Dst: hlua_prepend_path
      Src: /src/haproxy/src/hlua.c:13305,1
    - Dst: lua_atpanic
      Src: /src/haproxy/src/hlua.c:13307,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:13313,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:13314,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:13316,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 13318
      start: 13241
    functionDepth: 1
    functionLinenumber: 13241
    functionLinenumberEnd: 13318
    functionName: hlua_config_prepend_path
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - hlua_tostring_safe
    - strcmp
    - calloc
    - LIST_APPEND
    - setjmp
    - lua_atpanic
    - strdup
    - free
    - hlua_prepend_path
    - fprintf
    - lua_type
    - exit
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "hlua_config_prepend_path(char **args, int section_type, struct proxy
      *curpx,\n                                    const struct proxy *defpx, const
      char *file, int line,\n                                    char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua.c:13349,1
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua.c:13350,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:13358,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/hlua.c:13362,1
    - Dst: typeof
      Src: /src/haproxy/src/hlua.c:13362,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/hlua.c:13365,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/hlua.c:13375,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:13376,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:13376,1
    - Dst: ckch_inst_rebuild
      Src: /src/haproxy/src/hlua.c:13379,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/hlua.c:13383,1
    - Dst: ckch_store_replace
      Src: /src/haproxy/src/hlua.c:13388,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:13390,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua.c:13392,1
    - Dst: ckch_store_free
      Src: /src/haproxy/src/hlua.c:13397,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua.c:13398,1
    - Dst: hlua_pushfstring_safe
      Src: /src/haproxy/src/hlua.c:13399,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:13400,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:13401,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:13401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 13404
      start: 13347
    functionDepth: 2
    functionLinenumber: 13347
    functionLinenumberEnd: 13404
    functionName: hlua_ckch_commit_yield
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_touserdata
    - hlua_pushfstring_safe
    - ckch_store_replace
    - task_wakeup
    - LIST_APPEND
    - WILL_LJMP
    - HA_SPIN_UNLOCK
    - free
    - typeof
    - ckch_inst_rebuild
    - lua_error
    - ckch_store_free
    - MAY_LJMP
    - hlua_gethlua
    - list_for_each_entry_from
    - hlua_yieldk
    - LIST_ELEM
    linkageType: ''
    returnType: __LJMP
    signature: hlua_ckch_commit_yield(lua_State *L, int status, lua_KContext ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:13431,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:13432,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:13432,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua.c:13434,1
    - Dst: HLUA_CANT_YIELD
      Src: /src/haproxy/src/hlua.c:13435,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:13440,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:13440,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/hlua.c:13445,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:13446,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:13446,1
    - Dst: lua_getfield
      Src: /src/haproxy/src/hlua.c:13448,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13450,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua.c:13454,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/hlua.c:13458,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13460,1
    - Dst: ckchs_dup
      Src: /src/haproxy/src/hlua.c:13466,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13468,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua.c:13477,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua.c:13478,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:13483,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:13484,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua.c:13489,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13497,1
    - Dst: OCSP_CERTID_free
      Src: /src/haproxy/src/hlua.c:13505,1
    - Dst: struct cert_exts*::load
      Src: /src/haproxy/src/hlua.c:13510,1
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:13511,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:13515,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua.c:13519,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua.c:13522,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/hlua.c:13529,1
    - Dst: MAY_LJMP
      Src: /src/haproxy/src/hlua.c:13530,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua.c:13530,1
    - Dst: hlua_ckch_commit_yield
      Src: /src/haproxy/src/hlua.c:13536,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua.c:13540,1
    - Dst: ckch_store_free
      Src: /src/haproxy/src/hlua.c:13543,1
    - Dst: hlua_pushfstring_safe
      Src: /src/haproxy/src/hlua.c:13544,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:13545,1
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:13546,1
    - Dst: lua_error
      Src: /src/haproxy/src/hlua.c:13546,1
    - Dst: free
      Src: /src/haproxy/src/hlua.c:13548,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 13551
      start: 13417
    functionDepth: 3
    functionLinenumber: 13417
    functionLinenumberEnd: 13551
    functionName: hlua_ckch_set
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - lua_error
    - lua_tostring
    - struct cert_exts*::load
    - lua_pushnil
    - hlua_pushfstring_safe
    - strcmp
    - task_wakeup
    - luaL_error
    - free
    - lua_getfield
    - MAY_LJMP
    - lua_type
    - OCSP_CERTID_free
    - lua_newuserdata
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - ckchs_dup
    - HLUA_CANT_YIELD
    - hlua_gethlua
    - ckchs_lookup
    - WILL_LJMP
    - hlua_yieldk
    - lua_pop
    - hlua_ckch_commit_yield
    - ckch_store_free
    - lua_next
    linkageType: ''
    returnType: __LJMP
    signature: hlua_ckch_set(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: WILL_LJMP
      Src: /src/haproxy/src/hlua.c:13557,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua.c:13557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 13560
      start: 13555
    functionDepth: 0
    functionLinenumber: 13555
    functionLinenumberEnd: 13560
    functionName: hlua_ckch_set
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - WILL_LJMP
    - luaL_error
    linkageType: ''
    returnType: __LJMP
    signature: hlua_ckch_set(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/haproxy/src/hlua.c:13587,1
    - Dst: lua_atpanic
      Src: /src/haproxy/src/hlua.c:13588,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:13589,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:13590,1
    - Dst: fprintf
      Src: /src/haproxy/src/hlua.c:13593,1
    - Dst: exit
      Src: /src/haproxy/src/hlua.c:13594,1
    - Dst: lua_atpanic
      Src: /src/haproxy/src/hlua.c:13596,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/hlua.c:13599,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua.c:13600,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua.c:13604,1
    - Dst: lua_resume
      Src: /src/haproxy/src/hlua.c:13607,1
    - Dst: lua_resume
      Src: /src/haproxy/src/hlua.c:13609,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua.c:13615,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:13624,1
    - Dst: hlua_traceback
      Src: /src/haproxy/src/hlua.c:13625,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua.c:13627,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua.c:13629,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:13631,1
    - Dst: lua_settop
      Src: /src/haproxy/src/hlua.c:13647,1
    - Dst: hlua_traceback
      Src: /src/haproxy/src/hlua.c:13648,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua.c:13649,1
    - Dst: lua_atpanic
      Src: /src/haproxy/src/hlua.c:13657,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 13659
      start: 13569
    functionDepth: 3
    functionLinenumber: 13569
    functionLinenumberEnd: 13659
    functionName: hlua_post_init_state
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - ha_alert
    - hlua_tostring_safe
    - lua_settop
    - list_for_each_entry
    - lua_resume
    - setjmp
    - hlua_unref
    - hlua_pushref
    - lua_atpanic
    - hlua_traceback
    - fprintf
    - lua_type
    - exit
    linkageType: ''
    returnType: int
    signature: hlua_post_init_state(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xprt::prepare_srv
      Src: /src/haproxy/src/hlua.c:13675,1
    - Dst: ha_set_thread
      Src: /src/haproxy/src/hlua.c:13682,1
    - Dst: hlua_post_init_state
      Src: /src/haproxy/src/hlua.c:13683,1
    - Dst: ha_set_thread
      Src: /src/haproxy/src/hlua.c:13691,1
    - Dst: hlua_init_state
      Src: /src/haproxy/src/hlua.c:13694,1
    - Dst: hlua_load_state
      Src: /src/haproxy/src/hlua.c:13698,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua.c:13700,1
    - Dst: ha_set_thread
      Src: /src/haproxy/src/hlua.c:13707,1
    - Dst: ha_set_thread
      Src: /src/haproxy/src/hlua.c:13713,1
    - Dst: hlua_post_init_state
      Src: /src/haproxy/src/hlua.c:13716,1
    - Dst: ha_set_thread
      Src: /src/haproxy/src/hlua.c:13722,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/hlua.c:13733,1
    - Dst: abs
      Src: /src/haproxy/src/hlua.c:13741,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua.c:13742,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua.c:13749,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/hlua.c:13757,1
    - Dst: abs
      Src: /src/haproxy/src/hlua.c:13765,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua.c:13766,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua.c:13773,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13790
      start: 13661
    functionDepth: 4
    functionLinenumber: 13661
    functionLinenumberEnd: 13790
    functionName: hlua_post_init
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - list_for_each_entry
    - ha_set_thread
    - xprt::prepare_srv
    - hlua_load_state
    - hlua_post_init_state
    - abs
    - hlua_init_state
    linkageType: ''
    returnType: int
    signature: hlua_post_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/hlua.c:13814,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:13816,1
    - Dst: realloc
      Src: /src/haproxy/src/hlua.c:13818,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/hlua.c:13827,1
    - Dst: old::old
      Src: /src/haproxy/src/hlua.c:13829,1
    - Dst: unlikely
      Src: /src/haproxy/src/hlua.c:13830,1
    - Dst: limit::limit
      Src: /src/haproxy/src/hlua.c:13830,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/hlua.c:13832,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua.c:13835,1
    - Dst: realloc
      Src: /src/haproxy/src/hlua.c:13837,1
    - Dst: unlikely
      Src: /src/haproxy/src/hlua.c:13839,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/src/hlua.c:13840,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/hlua.c:13842,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - ud
    - ptr
    - osize
    - nsize
    argTypes:
    - void*
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 13844
      start: 13806
    functionDepth: 1
    functionLinenumber: 13806
    functionLinenumberEnd: 13844
    functionName: hlua_alloc
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - __ha_barrier_atomic_store
    - _HA_ATOMIC_SUB
    - ha_free
    - _HA_ATOMIC_CAS
    - limit::limit
    - old::old
    - likely
    - _HA_ATOMIC_LOAD
    - unlikely
    - realloc
    linkageType: ''
    returnType: void
    signature: '*hlua_alloc(void *ud, void *ptr, size_t osize, size_t nsize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newstate
      Src: /src/haproxy/src/hlua.c:13863,1
    - Dst: fprintf
      Src: /src/haproxy/src/hlua.c:13866,1
    - Dst: exit
      Src: /src/haproxy/src/hlua.c:13869,1
    - Dst: lua_getextraspace
      Src: /src/haproxy/src/hlua.c:13873,1
    - Dst: setjmp
      Src: /src/haproxy/src/hlua.c:13882,1
    - Dst: lua_atpanic
      Src: /src/haproxy/src/hlua.c:13883,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua.c:13884,1
    - Dst: hlua_tostring_safe
      Src: /src/haproxy/src/hlua.c:13885,1
    - Dst: fprintf
      Src: /src/haproxy/src/hlua.c:13888,1
    - Dst: exit
      Src: /src/haproxy/src/hlua.c:13889,1
    - Dst: lua_atpanic
      Src: /src/haproxy/src/hlua.c:13891,1
    - Dst: luaL_openlibs
      Src: /src/haproxy/src/hlua.c:13895,1
    - Dst: hlua_prepend_path
      Src: /src/haproxy/src/hlua.c:13899,1
    - Dst: HLUA_PREPEND_PATH_TOSTRING
      Src: /src/haproxy/src/hlua.c:13899,1
    - Dst: hlua_prepend_path
      Src: /src/haproxy/src/hlua.c:13902,1
    - Dst: HLUA_PREPEND_PATH_TOSTRING
      Src: /src/haproxy/src/hlua.c:13902,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/hlua.c:13908,1
    - Dst: hlua_prepend_path
      Src: /src/haproxy/src/hlua.c:13909,1
    - Dst: lua_getglobal
      Src: /src/haproxy/src/hlua.c:13917,1
    - Dst: lua_pushcclosure
      Src: /src/haproxy/src/hlua.c:13918,1
    - Dst: lua_setfield
      Src: /src/haproxy/src/hlua.c:13919,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:13928,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:13931,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:13934,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:13936,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13939,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13940,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13941,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13942,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13943,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13944,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13945,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13946,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13947,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13948,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13949,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13950,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13951,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13952,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13953,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13954,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13955,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13956,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13957,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13958,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13959,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13960,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13961,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13962,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13963,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13964,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13965,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13966,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13967,1
    - Dst: hlua_fcn_reg_core_fcn
      Src: /src/haproxy/src/hlua.c:13968,1
    - Dst: lua_setglobal
      Src: /src/haproxy/src/hlua.c:13970,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:13979,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:13982,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:13983,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:13984,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:13985,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:13986,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:13987,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:13988,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:13989,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:13991,1
    - Dst: lua_setglobal
      Src: /src/haproxy/src/hlua.c:13993,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14002,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:14005,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:14006,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:14007,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:14009,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14011,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14012,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14013,1
    - Dst: lua_setglobal
      Src: /src/haproxy/src/hlua.c:14015,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14024,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:14028,1
    - Dst: snprintf
      Src: /src/haproxy/src/hlua.c:14030,1
    - Dst: hlua_class_const_int
      Src: /src/haproxy/src/hlua.c:14031,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14035,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14038,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14041,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14042,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14045,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14046,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:14048,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua.c:14054,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua.c:14055,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua.c:14058,1
    - Dst: lua_setglobal
      Src: /src/haproxy/src/hlua.c:14061,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14070,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14072,1
    - Dst: lua_setglobal
      Src: /src/haproxy/src/hlua.c:14073,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14082,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14085,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14086,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14089,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14090,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14091,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14092,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14093,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14094,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14095,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14096,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14097,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14098,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14099,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14100,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14101,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14102,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14105,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14106,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14107,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14108,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14109,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:14111,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua.c:14114,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14123,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14126,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14127,1
    - Dst: sample_fetch_getnext
      Src: /src/haproxy/src/hlua.c:14133,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/hlua.c:14137,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14143,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:14144,1
    - Dst: lua_pushcclosure
      Src: /src/haproxy/src/hlua.c:14145,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:14146,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:14149,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua.c:14152,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14161,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14164,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14165,1
    - Dst: sample_conv_getnext
      Src: /src/haproxy/src/hlua.c:14171,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/hlua.c:14175,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14181,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua.c:14182,1
    - Dst: lua_pushcclosure
      Src: /src/haproxy/src/hlua.c:14183,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:14184,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:14187,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua.c:14190,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14199,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14202,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14203,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14206,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14207,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14208,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14209,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14210,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14211,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14212,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14213,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14214,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14215,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14217,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14218,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14219,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14220,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14221,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14222,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14223,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:14225,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua.c:14228,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14237,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14240,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14241,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14244,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14245,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14246,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14247,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14248,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14249,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14250,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14251,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14252,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14253,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14254,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14255,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14256,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14257,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14258,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14259,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14260,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14261,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14263,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14264,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14265,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14266,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14267,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14268,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14269,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14270,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14272,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14273,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:14275,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua.c:14278,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14287,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14288,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14289,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14290,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14291,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14292,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14293,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14294,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:14295,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14297,1
    - Dst: lua_pushcclosure
      Src: /src/haproxy/src/hlua.c:14298,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:14299,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua.c:14303,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14311,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14314,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14315,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14318,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14319,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14320,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14321,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14322,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14323,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14324,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14325,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14326,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:14328,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua.c:14331,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14340,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14343,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14344,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14347,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14348,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14349,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14350,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14351,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14352,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14353,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14354,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14355,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14356,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14357,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:14359,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua.c:14362,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14371,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14374,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14375,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14378,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14379,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14380,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14381,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14382,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14383,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14384,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14385,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14386,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14387,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14388,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14389,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14390,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14391,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14392,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14393,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14394,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14395,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14396,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14397,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:14399,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua.c:14402,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14409,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14410,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14411,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14412,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14413,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14414,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14415,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua.c:14416,1
    - Dst: luaL_ref
      Src: /src/haproxy/src/hlua.c:14417,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14427,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14430,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua.c:14431,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14434,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14436,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14437,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14438,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14439,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14440,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14441,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14442,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua.c:14443,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:14445,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua.c:14448,1
    - Dst: lua_pushcclosure
      Src: /src/haproxy/src/hlua.c:14449,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua.c:14450,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua.c:14453,1
    - Dst: lua_atpanic
      Src: /src/haproxy/src/hlua.c:14455,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 310
    argCount: 1
    argNames:
    - thread_num
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 14458
      start: 13850
    functionDepth: 1
    functionLinenumber: 13850
    functionLinenumberEnd: 14458
    functionName: hlua_init_state
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 1
    functionsReached:
    - hlua_tostring_safe
    - lua_pushcclosure
    - lua_atpanic
    - hlua_prepend_path
    - fprintf
    - sample_conv_getnext
    - lua_settable
    - list_for_each_entry
    - hlua_register_metatable
    - luaL_openlibs
    - lua_pushlightuserdata
    - lua_rawset
    - lua_newtable
    - lua_type
    - exit
    - lua_newstate
    - lua_pushstring
    - lua_setfield
    - setjmp
    - snprintf
    - lua_pushvalue
    - lua_setmetatable
    - hlua_fcn_reg_core_fcn
    - lua_setglobal
    - hlua_class_const_int
    - strlcpy2
    - luaL_ref
    - lua_getextraspace
    - hlua_class_function
    - sample_fetch_getnext
    - lua_getglobal
    - HLUA_PREPEND_PATH_TOSTRING
    linkageType: ''
    returnType: lua_State
    signature: '*hlua_init_state(int thread_num)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/hlua.c:14477,1
    - Dst: ha_set_thread
      Src: /src/haproxy/src/hlua.c:14481,1
    - Dst: hlua_init_state
      Src: /src/haproxy/src/hlua.c:14482,1
    - Dst: ha_set_thread
      Src: /src/haproxy/src/hlua.c:14486,1
    - Dst: hlua_init_state
      Src: /src/haproxy/src/hlua.c:14487,1
    - Dst: alloc_new_proxy
      Src: /src/haproxy/src/hlua.c:14490,1
    - Dst: fprintf
      Src: /src/haproxy/src/hlua.c:14492,1
    - Dst: exit
      Src: /src/haproxy/src/hlua.c:14493,1
    - Dst: new_server
      Src: /src/haproxy/src/hlua.c:14497,1
    - Dst: fprintf
      Src: /src/haproxy/src/hlua.c:14499,1
    - Dst: exit
      Src: /src/haproxy/src/hlua.c:14500,1
    - Dst: new_server
      Src: /src/haproxy/src/hlua.c:14505,1
    - Dst: fprintf
      Src: /src/haproxy/src/hlua.c:14507,1
    - Dst: exit
      Src: /src/haproxy/src/hlua.c:14508,1
    - Dst: xprt_get
      Src: /src/haproxy/src/hlua.c:14512,1
    - Dst: srv_find_kw
      Src: /src/haproxy/src/hlua.c:14515,1
    - Dst: struct srv_kw*::parse
      Src: /src/haproxy/src/hlua.c:14523,1
    - Dst: fprintf
      Src: /src/haproxy/src/hlua.c:14525,1
    - Dst: abort
      Src: /src/haproxy/src/hlua.c:14526,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14534
      start: 14460
    functionDepth: 2
    functionLinenumber: 14460
    functionLinenumberEnd: 14534
    functionName: hlua_init
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - exit
    - new_server
    - abort
    - ha_set_thread
    - LIST_INIT
    - fprintf
    - struct srv_kw*::parse
    - alloc_new_proxy
    - srv_find_kw
    - xprt_get
    - hlua_init_state
    linkageType: ''
    returnType: void
    signature: hlua_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/hlua.c:14541,1
    - Dst: release_hlua_reg_filter
      Src: /src/haproxy/src/hlua.c:14542,1
    - Dst: lua_close
      Src: /src/haproxy/src/hlua.c:14546,1
    - Dst: srv_drop
      Src: /src/haproxy/src/hlua.c:14549,1
    - Dst: srv_drop
      Src: /src/haproxy/src/hlua.c:14552,1
    - Dst: free_proxy
      Src: /src/haproxy/src/hlua.c:14555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14556
      start: 14536
    functionDepth: 1
    functionLinenumber: 14536
    functionLinenumberEnd: 14556
    functionName: hlua_deinit
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - lua_close
    - free_proxy
    - list_for_each_entry_safe
    - release_hlua_reg_filter
    - srv_drop
    linkageType: ''
    returnType: void
    signature: hlua_deinit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/hlua.c:14564,1
    - Dst: hap_register_build_opts
      Src: /src/haproxy/src/hlua.c:14565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14566
      start: 14560
    functionDepth: 1
    functionLinenumber: 14560
    functionLinenumberEnd: 14566
    functionName: hlua_register_build_options
    functionSourceFile: /src/haproxy/src/hlua.c
    functionUses: 0
    functionsReached:
    - memprintf
    - hap_register_build_opts
    linkageType: ''
    returnType: void
    signature: hlua_register_build_options(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isteq
      Src: /src/haproxy/src/hpack-enc.c:167,1
    - Dst: ist2
      Src: /src/haproxy/src/hpack-enc.c:167,1
    - Dst: likely
      Src: /src/haproxy/src/hpack-enc.c:178,1
    - Dst: ist2bin
      Src: /src/haproxy/src/hpack-enc.c:181,1
    - Dst: hpack_len_to_bytes
      Src: /src/haproxy/src/hpack-enc.c:184,1
    - Dst: hpack_len_to_bytes
      Src: /src/haproxy/src/hpack-enc.c:185,1
    - Dst: hpack_encode_len
      Src: /src/haproxy/src/hpack-enc.c:187,1
    - Dst: ist2bin
      Src: /src/haproxy/src/hpack-enc.c:188,1
    - Dst: hpack_len_to_bytes
      Src: /src/haproxy/src/hpack-enc.c:198,1
    - Dst: hpack_len_to_bytes
      Src: /src/haproxy/src/hpack-enc.c:199,1
    - Dst: hpack_encode_len
      Src: /src/haproxy/src/hpack-enc.c:204,1
    - Dst: memcpy
      Src: /src/haproxy/src/hpack-enc.c:205,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - out
    - n
    - v
    argTypes:
    - struct buffer*
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 210
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 210
    functionName: hpack_encode_header
    functionSourceFile: /src/haproxy/src/hpack-enc.c
    functionUses: 0
    functionsReached:
    - ist2bin
    - ist2
    - isteq
    - likely
    - hpack_encode_len
    - hpack_len_to_bytes
    - memcpy
    linkageType: ''
    returnType: int
    signature: "hpack_encode_header(struct buffer *out, const struct ist n,\n\t\t\tconst
      struct ist v)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ha_barrier_load
      Src: /src/haproxy/src/listener.c:90,1
    - Dst: pl_cpu_relax
      Src: /src/haproxy/src/listener.c:93,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/listener.c:99,1
    - Dst: unlikely
      Src: /src/haproxy/src/listener.c:102,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/listener.c:102,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/listener.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct accept_queue_ring*
    constantsTouched: []
    func_position:
      end: 105
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 105
    functionName: accept_queue_pop_sc
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - __ha_barrier_store
    - __ha_barrier_load
    - pl_cpu_relax
    - __ha_cpu_relax
    - unlikely
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: struct connection
    signature: '*accept_queue_pop_sc(struct accept_queue_ring *ring)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/listener.c:128,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/listener.c:128,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/listener.c:128,1
    - Dst: accept_push_cb
      Src: /src/haproxy/src/listener.c:131,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/listener.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ring
    - conn
    argTypes:
    - struct accept_queue_ring*
    - struct connection*
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: accept_queue_push_mp
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - accept_push_cb
    - __ha_barrier_store
    - _HA_ATOMIC_CAS
    - __ha_cpu_relax
    - unlikely
    linkageType: ''
    returnType: int
    signature: "accept_queue_push_mp(struct accept_queue_ring *ring, struct connection
      *conn,\n                         void (*accept_push_cb)(struct connection *))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: accept_queue_pop_sc
      Src: /src/haproxy/src/listener.c:154,1
    - Dst: __objt_listener
      Src: /src/haproxy/src/listener.c:158,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/listener.c:159,1
    - Dst: struct listener*::bind_conf::accept
      Src: /src/haproxy/src/listener.c:160,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/listener.c:171,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/src/listener.c:172,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/listener.c:174,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/src/listener.c:175,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/listener.c:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 185
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 185
    functionName: accept_queue_process
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_UPDATE_MAX
    - _HA_ATOMIC_INC
    - tasklet_wakeup
    - struct listener*::bind_conf::accept
    - update_freq_ctr
    - accept_queue_pop_sc
    - __objt_listener
    linkageType: ''
    returnType: struct task
    signature: '*accept_queue_process(struct task *t, void *context, unsigned int
      state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tasklet_new
      Src: /src/haproxy/src/listener.c:194,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 205
    functionName: accept_queue_init
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - tasklet_new
    linkageType: ''
    returnType: int
    signature: accept_queue_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tasklet_free
      Src: /src/haproxy/src/listener.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: accept_queue_deinit
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - tasklet_free
    linkageType: ''
    returnType: void
    signature: accept_queue_deinit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/listener.c:232,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/listener.c:237,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/listener.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - li
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 244
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 244
    functionName: li_init_per_thr
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - calloc
    - MT_LIST_INIT
    linkageType: ''
    returnType: int
    signature: li_init_per_thr(struct listener *li)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: get_li_status
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum li_status
    signature: get_li_status(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/listener.c:270,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:276,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:279,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:284,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/listener.c:295,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/listener.c:296,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/listener.c:299,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/listener.c:300,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/listener.c:305,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/listener.c:306,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - l
    - st
    argTypes:
    - struct listener*
    - enum li_state
    constantsTouched: []
    func_position:
      end: 312
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 312
    functionName: listener_set_state
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 4
    functionsReached:
    - _HA_ATOMIC_INC
    - BUG_ON
    - _HA_ATOMIC_DEC
    linkageType: ''
    returnType: void
    signature: listener_set_state(struct listener *l, enum li_state st)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/listener.c:322,1
    - Dst: do_unbind_listener
      Src: /src/haproxy/src/listener.c:329,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/listener.c:332,1
    - Dst: do_unbind_listener
      Src: /src/haproxy/src/listener.c:338,1
    - Dst: struct listener*::rx::proto::enable
      Src: /src/haproxy/src/listener.c:341,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/listener.c:342,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/listener.c:345,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/listener.c:349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 350
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 350
    functionName: enable_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - do_unbind_listener
    - listener_set_state
    - struct listener*::rx::proto::enable
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: enable_listener(struct listener *listener)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/listener.c:373,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/listener.c:376,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/listener.c:379,1
    - Dst: do_unbind_listener
      Src: /src/haproxy/src/listener.c:382,1
    - Dst: __delete_listener
      Src: /src/haproxy/src/listener.c:385,1
    - Dst: proxy_cond_disable
      Src: /src/haproxy/src/listener.c:388,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/listener.c:392,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/listener.c:395,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/listener.c:398,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - l
    - lpx
    - lpr
    - lli
    argTypes:
    - struct listener*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 399
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 399
    functionName: stop_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 1
    functionsReached:
    - __delete_listener
    - do_unbind_listener
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - HA_RWLOCK_WRUNLOCK
    - proxy_cond_disable
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: void
    signature: stop_listener(struct listener *l, int lpx, int lpr, int lli)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener_set_state
      Src: /src/haproxy/src/listener.c:410,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/listener.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - proto
    - listener
    argTypes:
    - struct protocol*
    - struct listener*
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: default_add_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    - listener_set_state
    linkageType: ''
    returnType: void
    signature: default_add_listener(struct protocol *proto, struct listener *listener)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct listener*::rx::proto::rx_suspend
      Src: /src/haproxy/src/listener.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 429
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 429
    functionName: default_suspend_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - struct listener*::rx::proto::rx_suspend
    linkageType: ''
    returnType: int
    signature: default_suspend_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct listener*::rx::proto::fam::bind
      Src: /src/haproxy/src/listener.c:450,1
    - Dst: ha_warning
      Src: /src/haproxy/src/listener.c:453,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:455,1
    - Dst: ha_free
      Src: /src/haproxy/src/listener.c:456,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/listener.c:467,1
    - Dst: struct listener*::rx::proto::listen
      Src: /src/haproxy/src/listener.c:468,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:470,1
    - Dst: ha_warning
      Src: /src/haproxy/src/listener.c:472,1
    - Dst: struct listener*::rx::proto::rx_resume
      Src: /src/haproxy/src/listener.c:486,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 490
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 490
    functionName: default_resume_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - struct listener*::rx::proto::fam::bind
    - ha_alert
    - ha_free
    - ha_warning
    - struct listener*::rx::proto::rx_resume
    - struct listener*::rx::proto::listen
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: default_resume_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/listener.c:512,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/listener.c:515,1
    - Dst: struct listener*::rx::proto::suspend
      Src: /src/haproxy/src/listener.c:521,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/listener.c:529,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/listener.c:535,1
    - Dst: proxy_cond_pause
      Src: /src/haproxy/src/listener.c:548,1
    - Dst: ha_warning
      Src: /src/haproxy/src/listener.c:549,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/listener.c:549,1
    - Dst: send_log
      Src: /src/haproxy/src/listener.c:550,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/listener.c:550,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/listener.c:554,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/listener.c:557,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 3
    argNames:
    - l
    - lpx
    - lli
    argTypes:
    - struct listener*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 560
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 560
    functionName: suspend_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - send_log
    - ha_warning
    - MT_LIST_DELETE
    - listener_set_state
    - proxy_cond_pause
    - HA_RWLOCK_WRUNLOCK
    - struct listener*::rx::proto::suspend
    - proxy_cap_str
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: suspend_listener(struct listener *l, int lpx, int lli)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/listener.c:582,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/listener.c:585,1
    - Dst: MT_LIST_INLIST
      Src: /src/haproxy/src/listener.c:590,1
    - Dst: struct listener*::rx::proto::resume
      Src: /src/haproxy/src/listener.c:597,1
    - Dst: struct listener*::rx::proto::disable
      Src: /src/haproxy/src/listener.c:603,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/listener.c:604,1
    - Dst: struct listener*::rx::proto::enable
      Src: /src/haproxy/src/listener.c:608,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/listener.c:609,1
    - Dst: proxy_cond_resume
      Src: /src/haproxy/src/listener.c:618,1
    - Dst: ha_warning
      Src: /src/haproxy/src/listener.c:619,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/listener.c:619,1
    - Dst: send_log
      Src: /src/haproxy/src/listener.c:620,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/listener.c:620,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/listener.c:624,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/listener.c:627,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 3
    argNames:
    - l
    - lpx
    - lli
    argTypes:
    - struct listener*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 630
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 630
    functionName: resume_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - send_log
    - ha_warning
    - MT_LIST_INLIST
    - listener_set_state
    - struct listener*::rx::proto::enable
    - HA_RWLOCK_WRUNLOCK
    - struct listener*::rx::proto::resume
    - proxy_cap_str
    - HA_RWLOCK_WRLOCK
    - struct listener*::rx::proto::disable
    - proxy_cond_resume
    linkageType: ''
    returnType: int
    signature: resume_listener(struct listener *l, int lpx, int lli)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/listener.c:648,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/listener.c:651,1
    - Dst: resume_listener
      Src: /src/haproxy/src/listener.c:655,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/listener.c:659,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/listener.c:662,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - l
    - lpx
    - lli
    argTypes:
    - struct listener*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 665
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 665
    functionName: relax_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_WRLOCK
    - HA_RWLOCK_WRUNLOCK
    - resume_listener
    linkageType: ''
    returnType: int
    signature: relax_listener(struct listener *l, int lpx, int lli)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/listener.c:672,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/listener.c:674,1
    - Dst: struct listener*::rx::proto::disable
      Src: /src/haproxy/src/listener.c:676,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/listener.c:677,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/listener.c:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 681
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 681
    functionName: listener_full
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - MT_LIST_DELETE
    - listener_set_state
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    - struct listener*::rx::proto::disable
    linkageType: ''
    returnType: void
    signature: listener_full(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/listener.c:688,1
    - Dst: MT_LIST_TRY_APPEND
      Src: /src/haproxy/src/listener.c:690,1
    - Dst: struct listener*::rx::proto::disable
      Src: /src/haproxy/src/listener.c:691,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/listener.c:692,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/listener.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - l
    - list
    argTypes:
    - struct listener*
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 695
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 695
    functionName: limit_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - MT_LIST_TRY_APPEND
    - listener_set_state
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    - struct listener*::rx::proto::disable
    linkageType: ''
    returnType: void
    signature: limit_listener(struct listener *l, struct mt_list *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/listener.c:702,1
    - Dst: relax_listener
      Src: /src/haproxy/src/listener.c:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 708
      start: 698
    functionDepth: 3
    functionLinenumber: 698
    functionLinenumberEnd: 708
    functionName: dequeue_all_listeners
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 1
    functionsReached:
    - relax_listener
    - MT_LIST_POP
    linkageType: ''
    returnType: void
    signature: dequeue_all_listeners()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/listener.c:719,1
    - Dst: relax_listener
      Src: /src/haproxy/src/listener.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - px
    - lpx
    argTypes:
    - struct proxy*
    - int
    constantsTouched: []
    func_position:
      end: 725
      start: 715
    functionDepth: 3
    functionLinenumber: 715
    functionLinenumberEnd: 725
    functionName: dequeue_proxy_listeners
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - relax_listener
    - MT_LIST_POP
    linkageType: ''
    returnType: void
    signature: dequeue_proxy_listeners(struct proxy *px, int lpx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener_set_state
      Src: /src/haproxy/src/listener.c:739,1
    - Dst: struct listener*::rx::proto::disable
      Src: /src/haproxy/src/listener.c:744,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/listener.c:746,1
    - Dst: struct listener*::rx::proto::rx_unbind
      Src: /src/haproxy/src/listener.c:751,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 752
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 752
    functionName: default_unbind_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - struct listener*::rx::proto::disable
    - struct listener*::rx::proto::rx_unbind
    - listener_set_state
    linkageType: ''
    returnType: void
    signature: default_unbind_listener(struct listener *listener)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/listener.c:762,1
    - Dst: struct listener*::rx::proto::unbind
      Src: /src/haproxy/src/listener.c:765,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/listener.c:769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 770
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 770
    functionName: do_unbind_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 3
    functionsReached:
    - MT_LIST_DELETE
    - struct listener*::rx::proto::unbind
    - listener_set_state
    linkageType: ''
    returnType: void
    signature: do_unbind_listener(struct listener *listener)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/listener.c:780,1
    - Dst: do_unbind_listener
      Src: /src/haproxy/src/listener.c:781,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/listener.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 783
    functionName: unbind_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 4
    functionsReached:
    - HA_RWLOCK_WRLOCK
    - do_unbind_listener
    - HA_RWLOCK_WRUNLOCK
    linkageType: ''
    returnType: void
    signature: unbind_listener(struct listener *listener)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/listener.c:800,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:802,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/listener.c:806,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/listener.c:807,1
    - Dst: memcpy
      Src: /src/haproxy/src/listener.c:818,1
    - Dst: struct protocol*::fam::set_port
      Src: /src/haproxy/src/listener.c:820,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/listener.c:822,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/listener.c:823,1
    - Dst: struct protocol*::add
      Src: /src/haproxy/src/listener.c:825,1
    - Dst: guid_init
      Src: /src/haproxy/src/listener.c:830,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/listener.c:834,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/listener.c:835,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/listener.c:836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 7
    argNames:
    - bc
    - ss
    - portl
    - porth
    - fd
    - proto
    - err
    argTypes:
    - struct bind_conf*
    - struct sockaddr_storage*
    - int
    - int
    - int
    - struct protocol*
    - char**
    constantsTouched: []
    func_position:
      end: 839
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 839
    functionName: create_listeners
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    - struct protocol*::fam::set_port
    - calloc
    - LIST_APPEND
    - _HA_ATOMIC_INC
    - listener_set_state
    - guid_init
    - MT_LIST_INIT
    - HA_RWLOCK_INIT
    - memcpy
    - struct protocol*::add
    linkageType: ''
    returnType: int
    signature: "create_listeners(struct bind_conf *bc, const struct sockaddr_storage
      *ss,\n                     int portl, int porth, int fd, struct protocol *proto,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/listener.c:856,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/listener.c:864,1
    - Dst: my_popcountl
      Src: /src/haproxy/src/listener.c:866,1
    - Dst: my_popcountl
      Src: /src/haproxy/src/listener.c:867,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - rx
    - si
    argTypes:
    - struct receiver*
    - struct shard_info*
    constantsTouched: []
    func_position:
      end: 870
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 870
    functionName: shard_info_attach
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - calloc
    - BUG_ON
    - my_popcountl
    linkageType: ''
    returnType: struct shard_info
    signature: '*shard_info_attach(struct receiver *rx, struct shard_info *si)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/listener.c:892,1
    - Dst: my_popcountl
      Src: /src/haproxy/src/listener.c:894,1
    - Dst: my_popcountl
      Src: /src/haproxy/src/listener.c:896,1
    - Dst: free
      Src: /src/haproxy/src/listener.c:907,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 908
      start: 878
    functionDepth: 1
    functionLinenumber: 878
    functionLinenumberEnd: 908
    functionName: shard_info_detach
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - free
    - BUG_ON
    - my_popcountl
    linkageType: ''
    returnType: void
    signature: shard_info_detach(struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/listener.c:924,1
    - Dst: memcpy
      Src: /src/haproxy/src/listener.c:927,1
    - Dst: strdup
      Src: /src/haproxy/src/listener.c:931,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/listener.c:942,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/listener.c:943,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/listener.c:945,1
    - Dst: struct listener*::rx::proto::add
      Src: /src/haproxy/src/listener.c:947,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/listener.c:949,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/listener.c:950,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/listener.c:951,1
    - Dst: free
      Src: /src/haproxy/src/listener.c:956,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 959
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 959
    functionName: clone_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - calloc
    - LIST_APPEND
    - struct listener*::rx::proto::add
    - _HA_ATOMIC_INC
    - strdup
    - free
    - MT_LIST_INIT
    - HA_RWLOCK_INIT
    - memcpy
    linkageType: ''
    returnType: struct listener
    signature: '*clone_listener(struct listener *src)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener_set_state
      Src: /src/haproxy/src/listener.c:971,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/listener.c:972,1
    - Dst: shard_info_detach
      Src: /src/haproxy/src/listener.c:973,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:975,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 978
      start: 968
    functionDepth: 2
    functionLinenumber: 968
    functionLinenumberEnd: 978
    functionName: __delete_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 1
    functionsReached:
    - LIST_DELETE
    - listener_set_state
    - _HA_ATOMIC_DEC
    - shard_info_detach
    linkageType: ''
    returnType: void
    signature: __delete_listener(struct listener *listener)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/listener.c:986,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/listener.c:987,1
    - Dst: __delete_listener
      Src: /src/haproxy/src/listener.c:988,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/listener.c:989,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/listener.c:990,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - listener
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 991
      start: 984
    functionDepth: 3
    functionLinenumber: 984
    functionLinenumberEnd: 991
    functionName: delete_listener
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 2
    functionsReached:
    - __delete_listener
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: void
    signature: delete_listener(struct listener *listener)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 1012
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1012
    functionName: listener_backlog
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: listener_backlog(const struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 1018
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    functionName: listener_uses_maxconn
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: listener_uses_maxconn(const struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/listener.c:1047,1
    - Dst: tick_add
      Src: /src/haproxy/src/listener.c:1049,1
    - Dst: next_event_delay
      Src: /src/haproxy/src/listener.c:1049,1
    - Dst: unlikely
      Src: /src/haproxy/src/listener.c:1060,1
    - Dst: tick_add
      Src: /src/haproxy/src/listener.c:1062,1
    - Dst: next_event_delay
      Src: /src/haproxy/src/listener.c:1062,1
    - Dst: unlikely
      Src: /src/haproxy/src/listener.c:1074,1
    - Dst: tick_add
      Src: /src/haproxy/src/listener.c:1076,1
    - Dst: next_event_delay
      Src: /src/haproxy/src/listener.c:1076,1
    - Dst: unlikely
      Src: /src/haproxy/src/listener.c:1087,1
    - Dst: tick_add
      Src: /src/haproxy/src/listener.c:1089,1
    - Dst: next_event_delay
      Src: /src/haproxy/src/listener.c:1089,1
    - Dst: unlikely
      Src: /src/haproxy/src/listener.c:1113,1
    - Dst: listener_full
      Src: /src/haproxy/src/listener.c:1118,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/listener.c:1122,1
    - Dst: unlikely
      Src: /src/haproxy/src/listener.c:1127,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/listener.c:1136,1
    - Dst: listener_uses_maxconn
      Src: /src/haproxy/src/listener.c:1139,1
    - Dst: increment_actconn
      Src: /src/haproxy/src/listener.c:1140,1
    - Dst: tick_add
      Src: /src/haproxy/src/listener.c:1145,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/listener.c:1157,1
    - Dst: struct listener*::rx::proto::accept_conn
      Src: /src/haproxy/src/listener.c:1159,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/listener.c:1160,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:1168,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:1170,1
    - Dst: listener_uses_maxconn
      Src: /src/haproxy/src/listener.c:1171,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:1172,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/listener.c:1186,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/listener.c:1189,1
    - Dst: proxy_inc_fe_conn_ctr
      Src: /src/haproxy/src/listener.c:1190,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/src/listener.c:1194,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/listener.c:1195,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/listener.c:1198,1
    - Dst: unlikely
      Src: /src/haproxy/src/listener.c:1203,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/listener.c:1203,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/listener.c:1204,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/listener.c:1224,1
    - Dst: atleast2
      Src: /src/haproxy/src/listener.c:1225,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/listener.c:1273,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/listener.c:1293,1
    - Dst: unlikely
      Src: /src/haproxy/src/listener.c:1297,1
    - Dst: my_ffsl
      Src: /src/haproxy/src/listener.c:1309,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/listener.c:1343,1
    - Dst: nbits
      Src: /src/haproxy/src/listener.c:1344,1
    - Dst: unlikely
      Src: /src/haproxy/src/listener.c:1347,1
    - Dst: my_flsl
      Src: /src/haproxy/src/listener.c:1363,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/listener.c:1373,1
    - Dst: accept_queue_ring_len
      Src: /src/haproxy/src/listener.c:1381,1
    - Dst: accept_queue_ring_len
      Src: /src/haproxy/src/listener.c:1382,1
    - Dst: accept_queue_ring_len
      Src: /src/haproxy/src/listener.c:1383,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/listener.c:1386,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/listener.c:1388,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/listener.c:1389,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/listener.c:1391,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/listener.c:1392,1
    - Dst: likely
      Src: /src/haproxy/src/listener.c:1459,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/listener.c:1459,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/listener.c:1463,1
    - Dst: struct listener*::rx::proto::bind_tid_prep
      Src: /src/haproxy/src/listener.c:1477,1
    - Dst: accept_queue_push_mp
      Src: /src/haproxy/src/listener.c:1490,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/listener.c:1491,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/listener.c:1492,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/listener.c:1499,1
    - Dst: struct listener*::rx::proto::bind_tid_reset
      Src: /src/haproxy/src/listener.c:1502,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/listener.c:1509,1
    - Dst: struct listener*::bind_conf::accept
      Src: /src/haproxy/src/listener.c:1510,1
    - Dst: unlikely
      Src: /src/haproxy/src/listener.c:1511,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/src/listener.c:1528,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/listener.c:1529,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/src/listener.c:1534,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/listener.c:1535,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/listener.c:1539,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:1544,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:1547,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:1550,1
    - Dst: tick_isset
      Src: /src/haproxy/src/listener.c:1555,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/listener.c:1556,1
    - Dst: relax_listener
      Src: /src/haproxy/src/listener.c:1558,1
    - Dst: dequeue_all_listeners
      Src: /src/haproxy/src/listener.c:1561,1
    - Dst: MT_LIST_ISEMPTY
      Src: /src/haproxy/src/listener.c:1563,1
    - Dst: freq_ctr_remain
      Src: /src/haproxy/src/listener.c:1564,1
    - Dst: dequeue_proxy_listeners
      Src: /src/haproxy/src/listener.c:1565,1
    - Dst: tick_add
      Src: /src/haproxy/src/listener.c:1571,1
    - Dst: struct listener*::rx::proto::rx_listening
      Src: /src/haproxy/src/listener.c:1576,1
    - Dst: suspend_listener
      Src: /src/haproxy/src/listener.c:1577,1
    - Dst: limit_listener
      Src: /src/haproxy/src/listener.c:1585,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/listener.c:1586,1
    - Dst: task_schedule
      Src: /src/haproxy/src/listener.c:1587,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/listener.c:1588,1
    - Dst: limit_listener
      Src: /src/haproxy/src/listener.c:1595,1
    - Dst: tick_isset
      Src: /src/haproxy/src/listener.c:1596,1
    - Dst: task_schedule
      Src: /src/haproxy/src/listener.c:1597,1
    CyclomaticComplexity: 134
    EdgeCount: 134
    ICount: 320
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 1599
      start: 1024
    functionDepth: 4
    functionLinenumber: 1024
    functionLinenumberEnd: 1599
    functionName: listener_accept
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_UPDATE_MAX
    - dequeue_proxy_listeners
    - my_ffsl
    - likely
    - listener_uses_maxconn
    - suspend_listener
    - dequeue_all_listeners
    - next_event_delay
    - _HA_ATOMIC_CAS
    - task_schedule
    - freq_ctr_remain
    - proxy_inc_fe_conn_ctr
    - listener_full
    - struct listener*::bind_conf::accept
    - my_flsl
    - struct listener*::rx::proto::bind_tid_prep
    - relax_listener
    - struct listener*::rx::proto::bind_tid_reset
    - MT_LIST_ISEMPTY
    - tick_is_expired
    - accept_queue_ring_len
    - _HA_ATOMIC_INC
    - nbits
    - accept_queue_push_mp
    - HA_RWLOCK_RDLOCK
    - tasklet_wakeup
    - limit_listener
    - _HA_ATOMIC_LOAD
    - __ha_cpu_relax
    - increment_actconn
    - atleast2
    - _HA_ATOMIC_DEC
    - tick_add
    - struct listener*::rx::proto::accept_conn
    - _HA_ATOMIC_AND
    - struct listener*::rx::proto::rx_listening
    - tick_isset
    - update_freq_ctr
    - unlikely
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: void
    signature: listener_accept(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener_uses_maxconn
      Src: /src/haproxy/src/listener.c:1609,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:1610,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:1612,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:1613,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/listener.c:1614,1
    - Dst: relax_listener
      Src: /src/haproxy/src/listener.c:1617,1
    - Dst: dequeue_all_listeners
      Src: /src/haproxy/src/listener.c:1620,1
    - Dst: MT_LIST_ISEMPTY
      Src: /src/haproxy/src/listener.c:1622,1
    - Dst: freq_ctr_remain
      Src: /src/haproxy/src/listener.c:1623,1
    - Dst: dequeue_proxy_listeners
      Src: /src/haproxy/src/listener.c:1624,1
    - Dst: next_event_delay
      Src: /src/haproxy/src/listener.c:1630,1
    - Dst: tick_first
      Src: /src/haproxy/src/listener.c:1636,1
    - Dst: tick_add
      Src: /src/haproxy/src/listener.c:1636,1
    - Dst: tick_isset
      Src: /src/haproxy/src/listener.c:1637,1
    - Dst: task_schedule
      Src: /src/haproxy/src/listener.c:1638,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 1641
      start: 1605
    functionDepth: 4
    functionLinenumber: 1605
    functionLinenumberEnd: 1641
    functionName: listener_release
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - dequeue_all_listeners
    - next_event_delay
    - MT_LIST_ISEMPTY
    - dequeue_proxy_listeners
    - _HA_ATOMIC_DEC
    - tick_add
    - task_schedule
    - freq_ctr_remain
    - tick_first
    - listener_uses_maxconn
    - tick_isset
    - relax_listener
    linkageType: ''
    returnType: void
    signature: listener_release(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/listener.c:1646,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:1648,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/listener.c:1654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1644
    functionDepth: 1
    functionLinenumber: 1644
    functionLinenumberEnd: 1657
    functionName: listener_queue_init
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - task_new_anywhere
    - HA_RWLOCK_INIT
    linkageType: ''
    returnType: int
    signature: listener_queue_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_destroy
      Src: /src/haproxy/src/listener.c:1661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1663
    functionName: listener_queue_deinit
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - task_destroy
    linkageType: ''
    returnType: void
    signature: listener_queue_deinit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/listener.c:1680,1
    - Dst: dequeue_all_listeners
      Src: /src/haproxy/src/listener.c:1689,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/listener.c:1692,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/listener.c:1694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1696
      start: 1674
    functionDepth: 4
    functionLinenumber: 1674
    functionLinenumberEnd: 1696
    functionName: manage_global_listener_queue
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - dequeue_all_listeners
    - HA_RWLOCK_WRLOCK
    - unlikely
    - HA_RWLOCK_WRUNLOCK
    linkageType: ''
    returnType: struct task
    signature: '*manage_global_listener_queue(struct task *t, void *context, unsigned
      int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_resolve_group_mask
      Src: /src/haproxy/src/listener.c:1715,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:1716,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/listener.c:1717,1
    - Dst: free
      Src: /src/haproxy/src/listener.c:1719,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/listener.c:1725,1
    - Dst: thread_set_count
      Src: /src/haproxy/src/listener.c:1727,1
    - Dst: protocol_supports_flag
      Src: /src/haproxy/src/listener.c:1731,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/listener.c:1735,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/listener.c:1737,1
    - Dst: protocol_supports_flag
      Src: /src/haproxy/src/listener.c:1742,1
    - Dst: my_popcountl
      Src: /src/haproxy/src/listener.c:1742,1
    - Dst: protocol_supports_flag
      Src: /src/haproxy/src/listener.c:1749,1
    - Dst: ha_warning
      Src: /src/haproxy/src/listener.c:1750,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/listener.c:1751,1
    - Dst: memset
      Src: /src/haproxy/src/listener.c:1759,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/listener.c:1782,1
    - Dst: thread_set_nth_tmask
      Src: /src/haproxy/src/listener.c:1795,1
    - Dst: thread_set_nth_group
      Src: /src/haproxy/src/listener.c:1796,1
    - Dst: shard_info_attach
      Src: /src/haproxy/src/listener.c:1800,1
    - Dst: clone_listener
      Src: /src/haproxy/src/listener.c:1809,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:1812,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/listener.c:1813,1
    - Dst: shard_info_attach
      Src: /src/haproxy/src/listener.c:1823,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:1824,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/listener.c:1825,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/listener.c:1833,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/listener.c:1835,1
    - Dst: clone_listener
      Src: /src/haproxy/src/listener.c:1846,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:1848,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/listener.c:1849,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/listener.c:1857,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/listener.c:1859,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 95
    argCount: 2
    argNames:
    - bind_conf
    - err_code
    argTypes:
    - struct bind_conf*
    - int*
    constantsTouched: []
    func_position:
      end: 1865
      start: 1704
    functionDepth: 2
    functionLinenumber: 1704
    functionLinenumberEnd: 1865
    functionName: bind_complete_thread_setup
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - shard_info_attach
    - eb32_delete
    - my_popcountl
    - list_for_each_entry
    - thread_set_count
    - ha_warning
    - thread_set_nth_group
    - clone_listener
    - eb32_insert
    - free
    - protocol_supports_flag
    - proxy_type_str
    - thread_set_nth_tmask
    - memset
    - thread_resolve_group_mask
    - BUG_ON
    - ha_diag_warning
    linkageType: ''
    returnType: int
    signature: bind_complete_thread_setup(struct bind_conf *bind_conf, int *err_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/listener.c:1880,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:1882,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/listener.c:1887,1
    - Dst: guid_insert
      Src: /src/haproxy/src/listener.c:1890,1
    - Dst: b_head
      Src: /src/haproxy/src/listener.c:1890,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:1891,1
    - Dst: ha_free
      Src: /src/haproxy/src/listener.c:1894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - bind_conf
    argTypes:
    - struct bind_conf*
    constantsTouched: []
    func_position:
      end: 1902
      start: 1872
    functionDepth: 1
    functionLinenumber: 1872
    functionLinenumberEnd: 1902
    functionName: bind_generate_guid
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ha_free
    - list_for_each_entry
    - chunk_printf
    - b_head
    - guid_insert
    linkageType: ''
    returnType: int
    signature: bind_generate_guid(struct bind_conf *bind_conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/listener.c:1910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kwl
    argTypes:
    - struct bind_kw_list*
    constantsTouched: []
    func_position:
      end: 1911
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1911
    functionName: bind_register_keywords
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: bind_register_keywords(struct bind_kw_list *kwl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/listener.c:1927,1
    - Dst: strlen
      Src: /src/haproxy/src/listener.c:1929,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/listener.c:1931,1
    - Dst: strncmp
      Src: /src/haproxy/src/listener.c:1933,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - kw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1943
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1943
    functionName: bind_find_kw
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 2
    functionsReached:
    - list_for_each_entry
    - strlen
    - strncmp
    - strchr
    linkageType: ''
    returnType: struct bind_kw
    signature: '*bind_find_kw(const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/listener.c:1958,1
    - Dst: bind_find_kw
      Src: /src/haproxy/src/listener.c:1961,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:1962,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - out
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 1970
      start: 1949
    functionDepth: 1
    functionLinenumber: 1949
    functionLinenumberEnd: 1970
    functionName: bind_dump_kws
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - bind_find_kw
    - memprintf
    linkageType: ''
    returnType: void
    signature: bind_dump_kws(char **out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/listener.c:1985,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/listener.c:1986,1
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/listener.c:1988,1
    - Dst: word_fingerprint_distance
      Src: /src/haproxy/src/listener.c:1989,1
    - Dst: strlen
      Src: /src/haproxy/src/listener.c:1997,1
    - Dst: strlen
      Src: /src/haproxy/src/listener.c:1997,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - word
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2001
      start: 1976
    functionDepth: 1
    functionLinenumber: 1976
    functionLinenumberEnd: 2001
    functionName: bind_find_best_kw
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 2
    functionsReached:
    - make_word_fingerprint
    - strlen
    - list_for_each_entry
    - word_fingerprint_distance
    linkageType: ''
    returnType: char
    signature: '*bind_find_best_kw(const char *word)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/listener.c:2010,1
    - Dst: strdup
      Src: /src/haproxy/src/listener.c:2015,1
    - Dst: strdup
      Src: /src/haproxy/src/listener.c:2020,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/listener.c:2025,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/listener.c:2035,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/listener.c:2044,1
    - Dst: ha_free
      Src: /src/haproxy/src/listener.c:2055,1
    - Dst: ha_free
      Src: /src/haproxy/src/listener.c:2056,1
    - Dst: ha_free
      Src: /src/haproxy/src/listener.c:2058,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 5
    argNames:
    - fe
    - file
    - line
    - arg
    - xprt
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - struct xprt_ops*
    constantsTouched: []
    func_position:
      end: 2060
      start: 2007
    functionDepth: 1
    functionLinenumber: 2007
    functionLinenumberEnd: 2060
    functionName: bind_conf_alloc
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 3
    functionsReached:
    - ha_free
    - calloc
    - LIST_APPEND
    - strdup
    - LIST_INIT
    - HA_RWLOCK_INIT
    linkageType: ''
    returnType: struct bind_conf
    signature: "*bind_conf_alloc(struct proxy *fe, const char *file,\n                                  int
      line, const char *arg, struct xprt_ops *xprt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 2072
      start: 2062
    functionDepth: 0
    functionLinenumber: 2062
    functionLinenumberEnd: 2072
    functionName: listener_state_str
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*listener_state_str(const struct listener *l)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2085
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2085
    functionName: smp_fetch_dconn
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_dconn(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2094
      start: 2088
    functionDepth: 0
    functionLinenumber: 2088
    functionLinenumberEnd: 2094
    functionName: smp_fetch_so_id
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_so_id(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/listener.c:2104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2106
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2106
    functionName: smp_fetch_so_name
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: smp_fetch_so_name(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2113
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2113
    functionName: bind_parse_accept_proxy
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bind_parse_accept_proxy(char **args, int cur_arg, struct proxy *px,
      struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2121,1
    - Dst: atol
      Src: /src/haproxy/src/listener.c:2125,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2134
      start: 2116
    functionDepth: 1
    functionLinenumber: 2116
    functionLinenumberEnd: 2134
    functionName: bind_parse_accept_netscaler_cip
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    linkageType: ''
    returnType: int
    signature: bind_parse_accept_netscaler_cip(char **args, int cur_arg, struct proxy
      *px, struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2142,1
    - Dst: atol
      Src: /src/haproxy/src/listener.c:2146,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2154
      start: 2137
    functionDepth: 1
    functionLinenumber: 2137
    functionLinenumberEnd: 2154
    functionName: bind_parse_backlog
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    linkageType: ''
    returnType: int
    signature: bind_parse_backlog(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2162,1
    - Dst: strdup
      Src: /src/haproxy/src/listener.c:2166,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2174
      start: 2157
    functionDepth: 1
    functionLinenumber: 2157
    functionLinenumberEnd: 2174
    functionName: bind_parse_guid_prefix
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strdup
    linkageType: ''
    returnType: int
    signature: bind_parse_guid_prefix(char **args, int cur_arg, struct proxy *px,
      struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2184,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2189,1
    - Dst: LIST_NEXT::LIST_NEXT
      Src: /src/haproxy/src/listener.c:2193,1
    - Dst: strtol
      Src: /src/haproxy/src/listener.c:2194,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2196,1
    - Dst: conf::conf
      Src: /src/haproxy/src/listener.c:2199,1
    - Dst: luid::luid
      Src: /src/haproxy/src/listener.c:2199,1
    - Dst: luid::luid
      Src: /src/haproxy/src/listener.c:2201,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2202,1
    - Dst: eb32_lookup
      Src: /src/haproxy/src/listener.c:2206,1
    - Dst: luid::luid
      Src: /src/haproxy/src/listener.c:2206,1
    - Dst: container_of
      Src: /src/haproxy/src/listener.c:2208,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2209,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/listener.c:2215,1
    - Dst: conf::conf
      Src: /src/haproxy/src/listener.c:2215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2217
      start: 2177
    functionDepth: 1
    functionLinenumber: 2177
    functionLinenumberEnd: 2217
    functionName: bind_parse_id
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    - container_of
    - eb32_insert
    - conf::conf
    - luid::luid
    - eb32_lookup
    - strtol
    - LIST_NEXT::LIST_NEXT
    linkageType: ''
    returnType: int
    signature: bind_parse_id(char **args, int cur_arg, struct proxy *px, struct bind_conf
      *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bind_find_kw
      Src: /src/haproxy/src/listener.c:2234,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:2240,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:2248,1
    - Dst: struct bind_kw*::parse
      Src: /src/haproxy/src/listener.c:2254,1
    - Dst: indent_msg
      Src: /src/haproxy/src/listener.c:2259,1
    - Dst: ha_warning
      Src: /src/haproxy/src/listener.c:2261,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:2263,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:2266,1
    - Dst: free
      Src: /src/haproxy/src/listener.c:2269,1
    - Dst: free
      Src: /src/haproxy/src/listener.c:2274,1
    - Dst: bind_find_best_kw
      Src: /src/haproxy/src/listener.c:2279,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:2281,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:2284,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:2293,1
    - Dst: xprt_get
      Src: /src/haproxy/src/listener.c:2308,1
    - Dst: ha_warning
      Src: /src/haproxy/src/listener.c:2311,1
    - Dst: quic_transport_params_init
      Src: /src/haproxy/src/listener.c:2314,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/listener.c:2317,1
    - Dst: is_inet_addr
      Src: /src/haproxy/src/listener.c:2318,1
    - Dst: ha_warning
      Src: /src/haproxy/src/listener.c:2319,1
    - Dst: ha_alert
      Src: /src/haproxy/src/listener.c:2327,1
    - Dst: xprt_get
      Src: /src/haproxy/src/listener.c:2334,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 76
    argCount: 6
    argNames:
    - bind_conf
    - args
    - cur_arg
    - section
    - file
    - linenum
    argTypes:
    - struct bind_conf*
    - char**
    - int
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2339
      start: 2226
    functionDepth: 2
    functionLinenumber: 2226
    functionLinenumberEnd: 2339
    functionName: bind_parse_args_list
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - indent_msg
    - bind_find_best_kw
    - ha_warning
    - list_for_each_entry
    - is_inet_addr
    - free
    - bind_find_kw
    - quic_transport_params_init
    - struct bind_kw*::parse
    - xprt_get
    linkageType: ''
    returnType: int
    signature: bind_parse_args_list(struct bind_conf *bind_conf, char **args, int
      cur_arg, const char *section, const char *file, int linenum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2347,1
    - Dst: atol
      Src: /src/haproxy/src/listener.c:2351,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2359
      start: 2342
    functionDepth: 1
    functionLinenumber: 2342
    functionLinenumberEnd: 2359
    functionName: bind_parse_maxconn
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    linkageType: ''
    returnType: int
    signature: bind_parse_maxconn(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2367,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/listener.c:2371,1
    - Dst: strdup
      Src: /src/haproxy/src/listener.c:2372,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2380
      start: 2362
    functionDepth: 1
    functionLinenumber: 2362
    functionLinenumberEnd: 2380
    functionName: bind_parse_name
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    - list_for_each_entry
    - strdup
    linkageType: ''
    returnType: int
    signature: bind_parse_name(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2390,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/listener.c:2394,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/listener.c:2396,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2398,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2403,1
    - Dst: atol
      Src: /src/haproxy/src/listener.c:2407,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2415
      start: 2383
    functionDepth: 1
    functionLinenumber: 2383
    functionLinenumberEnd: 2415
    functionName: bind_parse_nbconn
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    - LIST_NEXT
    - atol
    - mark_tainted
    linkageType: ''
    returnType: int
    signature: bind_parse_nbconn(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2423,1
    - Dst: atol
      Src: /src/haproxy/src/listener.c:2427,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2435
      start: 2418
    functionDepth: 1
    functionLinenumber: 2418
    functionLinenumberEnd: 2435
    functionName: bind_parse_nice
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    linkageType: ''
    returnType: int
    signature: bind_parse_nice(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2442
      start: 2438
    functionDepth: 1
    functionLinenumber: 2438
    functionLinenumberEnd: 2442
    functionName: bind_parse_process
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: bind_parse_process(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2450,1
    - Dst: ist
      Src: /src/haproxy/src/listener.c:2454,1
    - Dst: get_mux_proto
      Src: /src/haproxy/src/listener.c:2455,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2461
      start: 2445
    functionDepth: 1
    functionLinenumber: 2445
    functionLinenumberEnd: 2461
    functionName: bind_parse_proto
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    - get_mux_proto
    - ist
    linkageType: ''
    returnType: int
    signature: bind_parse_proto(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2469,1
    - Dst: strcmp
      Src: /src/haproxy/src/listener.c:2473,1
    - Dst: strcmp
      Src: /src/haproxy/src/listener.c:2475,1
    - Dst: atol
      Src: /src/haproxy/src/listener.c:2478,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2480,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2487
      start: 2464
    functionDepth: 1
    functionLinenumber: 2464
    functionLinenumberEnd: 2487
    functionName: bind_parse_shards
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - atol
    linkageType: ''
    returnType: int
    signature: bind_parse_shards(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_thread_set
      Src: /src/haproxy/src/listener.c:2498,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/listener.c:2501,1
    - Dst: atleast2
      Src: /src/haproxy/src/listener.c:2503,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 2509
      start: 2490
    functionDepth: 1
    functionLinenumber: 2490
    functionLinenumberEnd: 2509
    functionName: bind_parse_thread
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atleast2
    - LIST_NEXT
    - parse_thread_set
    linkageType: ''
    returnType: int
    signature: bind_parse_thread(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/listener.c:2516,1
    - Dst: strcmp
      Src: /src/haproxy/src/listener.c:2519,1
    - Dst: strcmp
      Src: /src/haproxy/src/listener.c:2521,1
    - Dst: strcmp
      Src: /src/haproxy/src/listener.c:2523,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2530
      start: 2512
    functionDepth: 1
    functionLinenumber: 2512
    functionLinenumberEnd: 2530
    functionName: cfg_parse_tune_listener_shards
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_tune_listener_shards(char **args, int section_type, struct
      proxy *curpx,\n                                          const struct proxy
      *defpx, const char *file, int line,\n                                          char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/listener.c:2537,1
    - Dst: strcmp
      Src: /src/haproxy/src/listener.c:2540,1
    - Dst: strcmp
      Src: /src/haproxy/src/listener.c:2542,1
    - Dst: strcmp
      Src: /src/haproxy/src/listener.c:2544,1
    - Dst: memprintf
      Src: /src/haproxy/src/listener.c:2547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2551
      start: 2533
    functionDepth: 1
    functionLinenumber: 2533
    functionLinenumberEnd: 2551
    functionName: cfg_parse_tune_listener_mq
    functionSourceFile: /src/haproxy/src/listener.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_tune_listener_mq(char **args, int section_type, struct proxy
      *curpx,\n                                      const struct proxy *defpx, const
      char *file, int line,\n                                      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/task.c:58,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/task.c:67,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/task.c:75,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/task.c:83,1
    - Dst: list_to_mt_list
      Src: /src/haproxy/src/task.c:84,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/task.c:85,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/task.c:86,1
    - Dst: wake_thread
      Src: /src/haproxy/src/task.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct task*
    constantsTouched: []
    func_position:
      end: 91
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 91
    functionName: task_kill
    functionSourceFile: /src/haproxy/src/task.c
    functionUses: 1
    functionsReached:
    - list_to_mt_list
    - wake_thread
    - _HA_ATOMIC_CAS
    - _HA_ATOMIC_INC
    - MT_LIST_APPEND
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: task_kill(struct task *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/task.c:102,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/task.c:110,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/task.c:117,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/task.c:119,1
    - Dst: list_to_mt_list
      Src: /src/haproxy/src/task.c:120,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/task.c:121,1
    - Dst: wake_thread
      Src: /src/haproxy/src/task.c:122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct tasklet*
    constantsTouched: []
    func_position:
      end: 126
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 126
    functionName: tasklet_kill
    functionSourceFile: /src/haproxy/src/task.c
    functionUses: 0
    functionsReached:
    - list_to_mt_list
    - wake_thread
    - _HA_ATOMIC_CAS
    - _HA_ATOMIC_INC
    - MT_LIST_APPEND
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: tasklet_kill(struct tasklet *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/task.c:135,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/task.c:138,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/task.c:142,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/task.c:146,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/task.c:147,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/task.c:151,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/task.c:155,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/task.c:158,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/task.c:161,1
    - Dst: list_to_mt_list
      Src: /src/haproxy/src/task.c:161,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/task.c:162,1
    - Dst: wake_thread
      Src: /src/haproxy/src/task.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - tl
    - thr
    argTypes:
    - struct tasklet*
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 165
    functionName: __tasklet_wakeup_on
    functionSourceFile: /src/haproxy/src/task.c
    functionUses: 0
    functionsReached:
    - list_to_mt_list
    - wake_thread
    - _HA_ATOMIC_OR
    - LIST_APPEND
    - _HA_ATOMIC_INC
    - likely
    - MT_LIST_APPEND
    linkageType: ''
    returnType: void
    signature: __tasklet_wakeup_on(struct tasklet *tl, int thr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/task.c:173,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/task.c:177,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/task.c:181,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/task.c:185,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/task.c:186,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/task.c:190,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/task.c:194,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/task.c:199,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/task.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - head
    - tl
    argTypes:
    - struct list*
    - struct tasklet*
    constantsTouched: []
    func_position:
      end: 203
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 203
    functionName: __tasklet_wakeup_after
    functionSourceFile: /src/haproxy/src/task.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_OR
    - _HA_ATOMIC_INC
    - LIST_APPEND
    - LIST_INSERT
    - BUG_ON
    linkageType: ''
    returnType: struct list
    signature: '*__tasklet_wakeup_after(struct list *head, struct tasklet *tl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/task.c:222,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/task.c:223,1
    - Dst: _HA_ATOMIC_ADD_FETCH
      Src: /src/haproxy/src/task.c:225,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/task.c:226,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/task.c:230,1
    - Dst: _HA_ATOMIC_ADD_FETCH
      Src: /src/haproxy/src/task.c:231,1
    - Dst: likely
      Src: /src/haproxy/src/task.c:234,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/task.c:237,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/task.c:242,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/task.c:243,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/task.c:245,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/task.c:249,1
    - Dst: wake_thread
      Src: /src/haproxy/src/task.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct task*
    constantsTouched: []
    func_position:
      end: 258
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 258
    functionName: __task_wakeup
    functionSourceFile: /src/haproxy/src/task.c
    functionUses: 0
    functionsReached:
    - wake_thread
    - __ha_barrier_store
    - _HA_ATOMIC_ADD_FETCH
    - _HA_ATOMIC_INC
    - eb32_insert
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - likely
    - _HA_ATOMIC_LOAD
    - now_mono_time
    linkageType: ''
    returnType: void
    signature: __task_wakeup(struct task *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/task.c:278,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/task.c:285,1
    - Dst: likely
      Src: /src/haproxy/src/task.c:287,1
    - Dst: task_in_wq
      Src: /src/haproxy/src/task.c:287,1
    - Dst: __task_unlink_wq
      Src: /src/haproxy/src/task.c:288,1
    - Dst: tick_is_lt
      Src: /src/haproxy/src/task.c:293,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/task.c:298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - task
    - wq
    argTypes:
    - struct task*
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 299
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 299
    functionName: __task_queue
    functionSourceFile: /src/haproxy/src/task.c
    functionUses: 0
    functionsReached:
    - eb32_insert
    - tick_is_lt
    - likely
    - __task_unlink_wq
    - task_in_wq
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: __task_queue(struct task *task, struct eb_root *wq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/task.c:317,1
    - Dst: eb32_first
      Src: /src/haproxy/src/task.c:323,1
    - Dst: likely
      Src: /src/haproxy/src/task.c:324,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/task.c:346,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/task.c:347,1
    - Dst: __task_unlink_wq
      Src: /src/haproxy/src/task.c:349,1
    - Dst: _task_wakeup
      Src: /src/haproxy/src/task.c:350,1
    - Dst: __task_unlink_wq
      Src: /src/haproxy/src/task.c:356,1
    - Dst: tick_isset
      Src: /src/haproxy/src/task.c:357,1
    - Dst: __task_queue
      Src: /src/haproxy/src/task.c:358,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/task.c:362,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/task.c:368,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/task.c:371,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/task.c:372,1
    - Dst: eb32_first
      Src: /src/haproxy/src/task.c:374,1
    - Dst: likely
      Src: /src/haproxy/src/task.c:375,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/task.c:376,1
    - Dst: tick_is_lt
      Src: /src/haproxy/src/task.c:382,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/task.c:383,1
    - Dst: HA_RWLOCK_TRYRDTOSK
      Src: /src/haproxy/src/task.c:389,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/task.c:393,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/task.c:401,1
    - Dst: eb32_first
      Src: /src/haproxy/src/task.c:407,1
    - Dst: likely
      Src: /src/haproxy/src/task.c:408,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/task.c:412,1
    - Dst: HA_ATOMIC_FETCH_OR
      Src: /src/haproxy/src/task.c:427,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/task.c:430,1
    - Dst: HA_RWLOCK_SKTOWR
      Src: /src/haproxy/src/task.c:432,1
    - Dst: __task_unlink_wq
      Src: /src/haproxy/src/task.c:433,1
    - Dst: HA_RWLOCK_WRTOSK
      Src: /src/haproxy/src/task.c:434,1
    - Dst: task_drop_running
      Src: /src/haproxy/src/task.c:435,1
    - Dst: HA_RWLOCK_SKTOWR
      Src: /src/haproxy/src/task.c:441,1
    - Dst: __task_unlink_wq
      Src: /src/haproxy/src/task.c:442,1
    - Dst: tick_isset
      Src: /src/haproxy/src/task.c:443,1
    - Dst: __task_queue
      Src: /src/haproxy/src/task.c:444,1
    - Dst: HA_RWLOCK_WRTOSK
      Src: /src/haproxy/src/task.c:445,1
    - Dst: task_drop_running
      Src: /src/haproxy/src/task.c:446,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/task.c:451,1
    - Dst: task_drop_running
      Src: /src/haproxy/src/task.c:452,1
    - Dst: HA_RWLOCK_SKUNLOCK
      Src: /src/haproxy/src/task.c:457,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 89
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 461
    functionName: wake_expired_tasks
    functionSourceFile: /src/haproxy/src/task.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_TRYRDTOSK
    - task_drop_running
    - tick_is_lt
    - eb_is_empty
    - HA_RWLOCK_SKUNLOCK
    - likely
    - __task_unlink_wq
    - BUG_ON
    - _task_wakeup
    - HA_ATOMIC_FETCH_OR
    - tick_isset
    - tick_is_expired
    - HA_RWLOCK_RDLOCK
    - eb32_lookup_ge
    - eb32_entry
    - HA_RWLOCK_WRTOSK
    - HA_RWLOCK_SKTOWR
    - __task_queue
    - eb32_first
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: void
    signature: wake_expired_tasks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/task.c:475,1
    - Dst: eb32_first
      Src: /src/haproxy/src/task.c:481,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/task.c:488,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/task.c:489,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/task.c:490,1
    - Dst: eb32_first
      Src: /src/haproxy/src/task.c:492,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/task.c:495,1
    - Dst: tick_first
      Src: /src/haproxy/src/task.c:497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 501
    functionName: next_timer_expiry
    functionSourceFile: /src/haproxy/src/task.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_RDLOCK
    - eb_is_empty
    - tick_first
    - eb32_lookup_ge
    - eb32_first
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: next_timer_expiry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/task.c:525,1
    - Dst: unlikely
      Src: /src/haproxy/src/task.c:534,1
    - Dst: MT_LIST_ISEMPTY
      Src: /src/haproxy/src/task.c:536,1
    - Dst: unlikely
      Src: /src/haproxy/src/task.c:541,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/task.c:543,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/task.c:543,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/task.c:549,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/task.c:564,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/task.c:575,1
    - Dst: unlikely
      Src: /src/haproxy/src/task.c:576,1
    - Dst: sched_activity_entry
      Src: /src/haproxy/src/task.c:582,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/task.c:584,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/task.c:585,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/task.c:588,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/task.c:591,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/task.c:593,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/task.c:594,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/task.c:595,1
    - Dst: _HA_ATOMIC_FETCH_AND
      Src: /src/haproxy/src/task.c:599,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/task.c:600,1
    - Dst: likely
      Src: /src/haproxy/src/task.c:602,1
    - Dst: process
      Src: /src/haproxy/src/task.c:603,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/task.c:611,1
    - Dst: pool_free
      Src: /src/haproxy/src/task.c:612,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/task.c:625,1
    - Dst: unlikely
      Src: /src/haproxy/src/task.c:627,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/task.c:628,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/task.c:629,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/task.c:631,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/task.c:633,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/task.c:635,1
    - Dst: likely
      Src: /src/haproxy/src/task.c:641,1
    - Dst: process_stream
      Src: /src/haproxy/src/task.c:642,1
    - Dst: process
      Src: /src/haproxy/src/task.c:644,1
    - Dst: task_unlink_wq
      Src: /src/haproxy/src/task.c:646,1
    - Dst: __task_free
      Src: /src/haproxy/src/task.c:647,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/task.c:649,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/task.c:661,1
    - Dst: unlikely
      Src: /src/haproxy/src/task.c:662,1
    - Dst: task_unlink_wq
      Src: /src/haproxy/src/task.c:663,1
    - Dst: __task_free
      Src: /src/haproxy/src/task.c:664,1
    - Dst: task_queue
      Src: /src/haproxy/src/task.c:667,1
    - Dst: task_drop_running
      Src: /src/haproxy/src/task.c:668,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/task.c:674,1
    - Dst: unlikely
      Src: /src/haproxy/src/task.c:677,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/task.c:678,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/task.c:678,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 101
    argCount: 1
    argNames:
    - budgets
    argTypes:
    - unsigned int[]
    constantsTouched: []
    func_position:
      end: 684
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 684
    functionName: run_tasks_from_lists
    functionSourceFile: /src/haproxy/src/task.c
    functionUses: 0
    functionsReached:
    - task_drop_running
    - HA_ATOMIC_INC
    - eb_is_empty
    - likely
    - process
    - LIST_ISEMPTY
    - task_unlink_wq
    - _HA_ATOMIC_CAS
    - task_queue
    - LIST_DEL_INIT
    - HA_ATOMIC_ADD
    - __task_free
    - __ha_barrier_atomic_store
    - now_mono_time
    - MT_LIST_ISEMPTY
    - __ha_barrier_store
    - pool_free
    - process_stream
    - _HA_ATOMIC_LOAD
    - __ha_cpu_relax
    - _HA_ATOMIC_FETCH_AND
    - LIST_ELEM
    - _HA_ATOMIC_DEC
    - _HA_ATOMIC_AND
    - unlikely
    - sched_activity_entry
    linkageType: ''
    returnType: unsigned int
    signature: run_tasks_from_lists(unsigned int budgets[])
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/task.c:720,1
    - Dst: thread_has_tasks
      Src: /src/haproxy/src/task.c:722,1
    - Dst: likely
      Src: /src/haproxy/src/task.c:729,1
    - Dst: MT_LIST_ISEMPTY
      Src: /src/haproxy/src/task.c:744,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/task.c:749,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/task.c:749,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/task.c:811,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/task.c:813,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/task.c:814,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/task.c:814,1
    - Dst: unlikely
      Src: /src/haproxy/src/task.c:815,1
    - Dst: eb32_first
      Src: /src/haproxy/src/task.c:816,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/task.c:818,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/task.c:828,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/task.c:828,1
    - Dst: unlikely
      Src: /src/haproxy/src/task.c:829,1
    - Dst: eb32_first
      Src: /src/haproxy/src/task.c:830,1
    - Dst: likely
      Src: /src/haproxy/src/task.c:836,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/task.c:837,1
    - Dst: eb32_next
      Src: /src/haproxy/src/task.c:838,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/task.c:839,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/task.c:844,1
    - Dst: eb32_next
      Src: /src/haproxy/src/task.c:845,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/task.c:846,1
    - Dst: unlikely
      Src: /src/haproxy/src/task.c:848,1
    - Dst: eb32_first
      Src: /src/haproxy/src/task.c:849,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/task.c:851,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/task.c:857,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/task.c:860,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/task.c:865,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/task.c:871,1
    - Dst: MT_LIST_BEHEAD
      Src: /src/haproxy/src/task.c:878,1
    - Dst: LIST_SPLICE_END_DETACHED
      Src: /src/haproxy/src/task.c:880,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/task.c:881,1
    - Dst: run_tasks_from_lists
      Src: /src/haproxy/src/task.c:886,1
    - Dst: thread_has_tasks
      Src: /src/haproxy/src/task.c:889,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 895
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 895
    functionName: process_runnable_tasks
    functionSourceFile: /src/haproxy/src/task.c
    functionUses: 0
    functionsReached:
    - MT_LIST_BEHEAD
    - thread_has_tasks
    - eb_is_empty
    - eb32_next
    - likely
    - LIST_ISEMPTY
    - MT_LIST_ISEMPTY
    - eb32_delete
    - LIST_SPLICE_END_DETACHED
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - eb32_lookup_ge
    - eb32_entry
    - _HA_ATOMIC_LOAD
    - _HA_ATOMIC_ADD
    - _HA_ATOMIC_DEC
    - _HA_ATOMIC_AND
    - LIST_APPEND
    - run_tasks_from_lists
    - eb32_first
    - unlikely
    linkageType: ''
    returnType: void
    signature: process_runnable_tasks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_first
      Src: /src/haproxy/src/task.c:909,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/task.c:911,1
    - Dst: eb32_next
      Src: /src/haproxy/src/task.c:912,1
    - Dst: task_destroy
      Src: /src/haproxy/src/task.c:913,1
    - Dst: eb32_first
      Src: /src/haproxy/src/task.c:916,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/task.c:918,1
    - Dst: eb32_next
      Src: /src/haproxy/src/task.c:919,1
    - Dst: task_destroy
      Src: /src/haproxy/src/task.c:920,1
    - Dst: eb32_first
      Src: /src/haproxy/src/task.c:925,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/task.c:927,1
    - Dst: eb32_next
      Src: /src/haproxy/src/task.c:928,1
    - Dst: task_destroy
      Src: /src/haproxy/src/task.c:929,1
    - Dst: eb32_first
      Src: /src/haproxy/src/task.c:932,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/task.c:934,1
    - Dst: eb32_next
      Src: /src/haproxy/src/task.c:935,1
    - Dst: task_destroy
      Src: /src/haproxy/src/task.c:936,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 939
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 939
    functionName: mworker_cleantasks
    functionSourceFile: /src/haproxy/src/task.c
    functionUses: 0
    functionsReached:
    - eb32_entry
    - task_destroy
    - eb32_next
    - eb32_first
    linkageType: ''
    returnType: void
    signature: mworker_cleantasks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/task.c:947,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/task.c:951,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/task.c:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 954
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 954
    functionName: init_task
    functionSourceFile: /src/haproxy/src/task.c
    functionUses: 0
    functionsReached:
    - memset
    - MT_LIST_INIT
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: init_task()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/task.c:961,1
    - Dst: strcmp
      Src: /src/haproxy/src/task.c:964,1
    - Dst: strcmp
      Src: /src/haproxy/src/task.c:966,1
    - Dst: memprintf
      Src: /src/haproxy/src/task.c:969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 973
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 973
    functionName: cfg_parse_tune_sched_low_latency
    functionSourceFile: /src/haproxy/src/task.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_tune_sched_low_latency(char **args, int section_type, struct
      proxy *curpx,\n                                      const struct proxy *defpx,
      const char *file, int line,\n                                      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: bind_parse_quic_force_retry
    functionSourceFile: /src/haproxy/src/cfgparse-quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bind_parse_quic_force_retry(char **args, int cur_arg, struct proxy
      *px, struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/haproxy/src/cfgparse-quic.c:46,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:48,1
    - Dst: size < 10240 || size >
      Src: /src/haproxy/src/cfgparse-quic.c:65,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - kw
    - value
    - end_opt
    - err
    argTypes:
    - char*
    - char*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 74
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 74
    functionName: parse_window_size
    functionSourceFile: /src/haproxy/src/cfgparse-quic.c
    functionUses: 0
    functionsReached:
    - strtoul
    - size < 10240 || size >
    - memprintf
    linkageType: ''
    returnType: unsigned long
    signature: "parse_window_size(const char *kw, char *value,\n                                       char
      **end_opt, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-quic.c:85,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:87,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:92,1
    - Dst: ist
      Src: /src/haproxy/src/cfgparse-quic.c:97,1
    - Dst: istsplit
      Src: /src/haproxy/src/cfgparse-quic.c:98,1
    - Dst: isteq
      Src: /src/haproxy/src/cfgparse-quic.c:99,1
    - Dst: ist
      Src: /src/haproxy/src/cfgparse-quic.c:99,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-quic.c:103,1
    - Dst: isteq
      Src: /src/haproxy/src/cfgparse-quic.c:105,1
    - Dst: ist
      Src: /src/haproxy/src/cfgparse-quic.c:105,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-quic.c:109,1
    - Dst: isteq
      Src: /src/haproxy/src/cfgparse-quic.c:111,1
    - Dst: ist
      Src: /src/haproxy/src/cfgparse-quic.c:111,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-quic.c:115,1
    - Dst: isteq
      Src: /src/haproxy/src/cfgparse-quic.c:117,1
    - Dst: ist
      Src: /src/haproxy/src/cfgparse-quic.c:117,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-quic.c:120,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-quic.c:127,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:130,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:151,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:158,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-quic.c:168,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 170
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 170
    functionName: bind_parse_quic_cc_algo
    functionSourceFile: /src/haproxy/src/cfgparse-quic.c
    functionUses: 0
    functionsReached:
    - memprintf
    - istsplit
    - ha_alert
    - calloc
    - strlen
    - isteq
    - ist
    - free
    linkageType: ''
    returnType: int
    signature: "bind_parse_quic_cc_algo(char **args, int cur_arg, struct proxy *px,\n
      \                                  struct bind_conf *conf, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:177,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:182,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:185,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 194
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 194
    functionName: bind_parse_quic_socket
    functionSourceFile: /src/haproxy/src/cfgparse-quic.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "bind_parse_quic_socket(char **args, int cur_arg, struct proxy *px,\n
      \                                 struct bind_conf *conf, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-quic.c:211,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:214,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:217,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 226
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 226
    functionName: cfg_parse_quic_tune_socket_owner
    functionSourceFile: /src/haproxy/src/cfgparse-quic.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_quic_tune_socket_owner(char **args, int section_type,\n
      \                                           struct proxy *curpx,\n                                            const
      struct proxy *defpx,\n                                            const char
      *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-quic.c:241,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/cfgparse-quic.c:246,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:248,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:253,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:258,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:262,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:264,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 272
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 272
    functionName: cfg_parse_quic_time
    functionSourceFile: /src/haproxy/src/cfgparse-quic.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - parse_time_err
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_quic_time(char **args, int section_type,\n                               struct
      proxy *curpx,\n                               const struct proxy *defpx,\n                               const
      char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-quic.c:287,1
    - Dst: atoi
      Src: /src/haproxy/src/cfgparse-quic.c:291,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:294,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:299,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:301,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:302,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:306,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:308,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/cfgparse-quic.c:309,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:310,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:317,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:319,1
    - Dst: parse_window_size
      Src: /src/haproxy/src/cfgparse-quic.c:323,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:327,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:333,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:335,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:340,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:342,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:344,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:350,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:353,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 358
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 358
    functionName: cfg_parse_quic_tune_setting
    functionSourceFile: /src/haproxy/src/cfgparse-quic.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    - strcmp
    - parse_size_err
    - parse_window_size
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_quic_tune_setting(char **args, int section_type,\n                                       struct
      proxy *curpx,\n                                       const struct proxy *defpx,\n
      \                                      const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-quic.c:368,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:372,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:375,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 384
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 384
    functionName: cfg_parse_quic_tune_setting0
    functionSourceFile: /src/haproxy/src/cfgparse-quic.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_quic_tune_setting0(char **args, int section_type,\n                                        struct
      proxy *curpx,\n                                        const struct proxy *defpx,\n
      \                                       const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-quic.c:395,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:398,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:400,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:403,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:408,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:414,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 422
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 422
    functionName: cfg_parse_quic_tune_on_off
    functionSourceFile: /src/haproxy/src/cfgparse-quic.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_quic_tune_on_off(char **args, int section_type, struct proxy
      *curpx,\n                                      const struct proxy *defpx, const
      char *file, int line,\n                                      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-quic.c:460,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:461,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:467,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:473,1
    - Dst: new_act_rule
      Src: /src/haproxy/src/cfgparse-quic.c:478,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:480,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/cfgparse-quic.c:484,1
    - Dst: action_quic_init_custom
      Src: /src/haproxy/src/cfgparse-quic.c:487,1
    - Dst: struct action_kw*::parse
      Src: /src/haproxy/src/cfgparse-quic.c:492,1
    - Dst: action_build_list
      Src: /src/haproxy/src/cfgparse-quic.c:498,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:499,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:508,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-quic.c:508,1
    - Dst: build_acl_cond
      Src: /src/haproxy/src/cfgparse-quic.c:509,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:510,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse-quic.c:512,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:517,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse-quic.c:519,1
    - Dst: acl_cond_conflicts
      Src: /src/haproxy/src/cfgparse-quic.c:523,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:526,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/cfgparse-quic.c:528,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:530,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/cfgparse-quic.c:533,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/cfgparse-quic.c:534,1
    - Dst: acl_cond_kw_conflicts
      Src: /src/haproxy/src/cfgparse-quic.c:538,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:540,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/cfgparse-quic.c:542,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-quic.c:544,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/cfgparse-quic.c:546,1
    - Dst: warnif_misplaced_quic_init
      Src: /src/haproxy/src/cfgparse-quic.c:551,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse-quic.c:553,1
    - Dst: free_act_rule
      Src: /src/haproxy/src/cfgparse-quic.c:558,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 560
      start: 446
    functionDepth: 6
    functionLinenumber: 446
    functionLinenumberEnd: 560
    functionName: quic_parse_quic_initial
    functionSourceFile: /src/haproxy/src/cfgparse-quic.c
    functionUses: 0
    functionsReached:
    - memprintf
    - struct action_kw*::parse
    - acl_cond_conflicts
    - build_acl_cond
    - new_act_rule
    - warnif_misplaced_quic_init
    - strlen
    - strcmp
    - LIST_APPEND
    - sample_ckp_names
    - acl_cond_kw_conflicts
    - proxy_type_str
    - LIST_INIT
    - action_quic_init_custom
    - action_build_list
    - free_act_rule
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: "quic_parse_quic_initial(char **args, int section_type, struct proxy
      *curpx,\n                                   const struct proxy *defpx, const
      char *file, int line,\n                                   char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mkf_u64
      Src: /src/haproxy/src/ssl_sock.c:190,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/ssl_sock.c:193,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/ssl_sock.c:196,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/ssl_sock.c:199,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/ssl_sock.c:202,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - data
    - stats
    - selected_field
    argTypes:
    - void*
    - struct field*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 218
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 218
    functionName: ssl_fill_stats
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - mkf_u64
    linkageType: ''
    returnType: int
    signature: ssl_fill_stats(void *data, struct field *stats, unsigned int *selected_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/haproxy/src/ssl_sock.c:258,1
    - Dst: struct ssl_sock_ctx*::xprt::snd_buf
      Src: /src/haproxy/src/ssl_sock.c:264,1
    - Dst: BIO_clear_retry_flags
      Src: /src/haproxy/src/ssl_sock.c:265,1
    - Dst: BIO_set_retry_write
      Src: /src/haproxy/src/ssl_sock.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - h
    - buf
    - num
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 271
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 271
    functionName: ha_ssl_write
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - BIO_set_retry_write
    - struct ssl_sock_ctx*::xprt::snd_buf
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: ha_ssl_write(BIO *h, const char *buf, int num)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: ha_ssl_gets
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ha_ssl_gets(BIO *h, char *buf, int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_ssl_write
      Src: /src/haproxy/src/ssl_sock.c:282,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - str
    argTypes:
    - BIO*
    - char*
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: ha_ssl_puts
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - strlen
    - ha_ssl_write
    linkageType: ''
    returnType: int
    signature: ha_ssl_puts(BIO *h, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_get_data
      Src: /src/haproxy/src/ssl_sock.c:291,1
    - Dst: struct ssl_sock_ctx*::xprt::rcv_buf
      Src: /src/haproxy/src/ssl_sock.c:296,1
    - Dst: BIO_clear_retry_flags
      Src: /src/haproxy/src/ssl_sock.c:297,1
    - Dst: BIO_set_retry_read
      Src: /src/haproxy/src/ssl_sock.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - h
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 304
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 304
    functionName: ha_ssl_read
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - BIO_clear_retry_flags
    - struct ssl_sock_ctx*::xprt::rcv_buf
    - BIO_set_retry_read
    - BIO_get_data
    linkageType: ''
    returnType: int
    signature: ha_ssl_read(BIO *h, char *buf, int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - h
    - cmd
    - arg1
    - arg2
    argTypes:
    - BIO*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: ha_ssl_ctrl
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: ha_ssl_ctrl(BIO *h, int cmd, long arg1, void *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_set_init
      Src: /src/haproxy/src/ssl_sock.c:320,1
    - Dst: BIO_set_data
      Src: /src/haproxy/src/ssl_sock.c:321,1
    - Dst: BIO_clear_flags
      Src: /src/haproxy/src/ssl_sock.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - h
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: ha_ssl_new
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - BIO_set_init
    - BIO_clear_flags
    - BIO_set_data
    linkageType: ''
    returnType: int
    signature: ha_ssl_new(BIO *h)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: ha_ssl_free
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ha_ssl_free(BIO *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 341
    functionName: ssl_id_function
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: ssl_id_function(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/ssl_sock.c:347,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/ssl_sock.c:349,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_sock.c:353,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/ssl_sock.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - mode
    - n
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 357
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 357
    functionName: ssl_locking_function
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_WRLOCK
    - HA_RWLOCK_RDUNLOCK
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_RDLOCK
    linkageType: ''
    returnType: void
    signature: ssl_locking_function(int mode, int n, const char * file, int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/ssl_sock.c:363,1
    - Dst: CRYPTO_num_locks
      Src: /src/haproxy/src/ssl_sock.c:363,1
    - Dst: CRYPTO_num_locks
      Src: /src/haproxy/src/ssl_sock.c:367,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/ssl_sock.c:368,1
    - Dst: CRYPTO_set_id_callback
      Src: /src/haproxy/src/ssl_sock.c:370,1
    - Dst: CRYPTO_set_locking_callback
      Src: /src/haproxy/src/ssl_sock.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 374
    functionName: ssl_locking_init
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - malloc
    - CRYPTO_set_locking_callback
    - CRYPTO_num_locks
    - CRYPTO_set_id_callback
    - HA_RWLOCK_INIT
    linkageType: ''
    returnType: int
    signature: ssl_locking_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_sock.c:386,1
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_sock.c:392,1
    - Dst: X509_STORE_get0_objects
      Src: /src/haproxy/src/ssl_sock.c:392,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/haproxy/src/ssl_sock.c:393,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/haproxy/src/ssl_sock.c:394,1
    - Dst: X509_OBJECT_get_type
      Src: /src/haproxy/src/ssl_sock.c:395,1
    - Dst: X509_STORE_add_cert
      Src: /src/haproxy/src/ssl_sock.c:397,1
    - Dst: X509_OBJECT_get0_X509
      Src: /src/haproxy/src/ssl_sock.c:397,1
    - Dst: X509_STORE_add_crl
      Src: /src/haproxy/src/ssl_sock.c:400,1
    - Dst: X509_OBJECT_get0_X509_CRL
      Src: /src/haproxy/src/ssl_sock.c:400,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - store_ctx
    - path
    argTypes:
    - X509_STORE*
    - char*
    constantsTouched: []
    func_position:
      end: 409
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 409
    functionName: ssl_set_cert_crl_file
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - X509_OBJECT_get0_X509
    - sk_X509_OBJECT_value
    - X509_STORE_add_crl
    - X509_OBJECT_get0_X509_CRL
    - X509_OBJECT_get_type
    - X509_STORE_add_cert
    - ssl_store_get_cafile_entry
    - sk_X509_OBJECT_num
    - STACK_OF
    - X509_STORE_get0_objects
    linkageType: ''
    returnType: int
    signature: ssl_set_cert_crl_file(X509_STORE *store_ctx, char *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_cert_store
      Src: /src/haproxy/src/ssl_sock.c:414,1
    - Dst: ssl_set_cert_crl_file
      Src: /src/haproxy/src/ssl_sock.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - path
    argTypes:
    - SSL_CTX*
    - char*
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: ssl_set_verify_locations_file
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_get_cert_store
    - ssl_set_cert_crl_file
    linkageType: ''
    returnType: int
    signature: ssl_set_verify_locations_file(SSL_CTX *ctx, char *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebst_lookup
      Src: /src/haproxy/src/ssl_sock.c:428,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_sock.c:431,1
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_sock.c:442,1
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_sock.c:443,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/haproxy/src/ssl_sock.c:447,1
    - Dst: X509_STORE_get0_objects
      Src: /src/haproxy/src/ssl_sock.c:449,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/haproxy/src/ssl_sock.c:450,1
    - Dst: X509_OBJECT_get0_X509
      Src: /src/haproxy/src/ssl_sock.c:451,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/haproxy/src/ssl_sock.c:451,1
    - Dst: X509_get_subject_name
      Src: /src/haproxy/src/ssl_sock.c:454,1
    - Dst: X509_NAME_hash
      Src: /src/haproxy/src/ssl_sock.c:458,1
    - Dst: eb64_lookup
      Src: /src/haproxy/src/ssl_sock.c:459,1
    - Dst: eb64_next
      Src: /src/haproxy/src/ssl_sock.c:461,1
    - Dst: container_of
      Src: /src/haproxy/src/ssl_sock.c:462,1
    - Dst: typeof
      Src: /src/haproxy/src/ssl_sock.c:462,1
    - Dst: X509_NAME_cmp
      Src: /src/haproxy/src/ssl_sock.c:463,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_sock.c:469,1
    - Dst: X509_NAME_dup
      Src: /src/haproxy/src/ssl_sock.c:470,1
    - Dst: sk_X509_NAME_push
      Src: /src/haproxy/src/ssl_sock.c:473,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:474,1
    - Dst: X509_NAME_free
      Src: /src/haproxy/src/ssl_sock.c:475,1
    - Dst: sk_X509_NAME_pop_free
      Src: /src/haproxy/src/ssl_sock.c:476,1
    - Dst: sk_X509_NAME_free
      Src: /src/haproxy/src/ssl_sock.c:477,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/ssl_sock.c:483,1
    - Dst: eb64_first
      Src: /src/haproxy/src/ssl_sock.c:487,1
    - Dst: container_of
      Src: /src/haproxy/src/ssl_sock.c:489,1
    - Dst: typeof
      Src: /src/haproxy/src/ssl_sock.c:489,1
    - Dst: eb64_next
      Src: /src/haproxy/src/ssl_sock.c:490,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/ssl_sock.c:491,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:492,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 497
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 497
    functionName: ssl_get_client_ca_file
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - eb64_insert
    - X509_NAME_free
    - X509_NAME_hash
    - X509_NAME_dup
    - X509_OBJECT_get0_X509
    - sk_X509_OBJECT_value
    - sk_X509_NAME_push
    - X509_get_subject_name
    - free
    - typeof
    - eb64_lookup
    - sk_X509_NAME_free
    - X509_NAME_cmp
    - STACK_OF
    - sk_X509_NAME_new_null
    - sk_X509_NAME_pop_free
    - eb64_first
    - ebst_lookup
    - sk_X509_OBJECT_num
    - eb64_delete
    - X509_STORE_get0_objects
    - container_of
    - calloc
    - ebmb_entry
    - eb64_next
    linkageType: ''
    returnType: STACK_OF
    signature: '* ssl_get_client_ca_file(char *path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ssl_sock.c:589,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:591,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_sock.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - func
    argTypes:
    - ssl_sock_msg_callback_func
    constantsTouched: []
    func_position:
      end: 600
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 600
    functionName: ssl_sock_register_msg_callback
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - calloc
    - LIST_APPEND
    linkageType: ''
    returnType: int
    signature: ssl_sock_register_msg_callback(ssl_sock_msg_callback_func func)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_register_msg_callback
      Src: /src/haproxy/src/ssl_sock.c:607,1
    - Dst: ssl_sock_register_msg_callback
      Src: /src/haproxy/src/ssl_sock.c:611,1
    - Dst: ssl_sock_register_msg_callback
      Src: /src/haproxy/src/ssl_sock.c:616,1
    - Dst: ssl_sock_register_msg_callback
      Src: /src/haproxy/src/ssl_sock.c:621,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 626
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 626
    functionName: ssl_sock_register_msg_callbacks
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ssl_sock_register_msg_callback
    linkageType: ''
    returnType: int
    signature: ssl_sock_register_msg_callbacks(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_sock.c:635,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_sock.c:636,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: ssl_sock_unregister_msg_callbacks
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - free
    - LIST_DELETE
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: ssl_sock_unregister_msg_callbacks(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xprt_get
      Src: /src/haproxy/src/ssl_sock.c:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 647
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 647
    functionName: ssl_sock_get_ctx
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - xprt_get
    linkageType: ''
    returnType: struct ssl_sock_ctx
    signature: '*ssl_sock_get_ctx(struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: ssl_sock_get_ssl_object
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: SSL
    signature: '*ssl_sock_get_ssl_object(struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/ssl_sock.c:665,1
    - Dst: ERR_peek_error_func
      Src: /src/haproxy/src/ssl_sock.c:668,1
    - Dst: ERR_get_error
      Src: /src/haproxy/src/ssl_sock.c:670,1
    - Dst: fprintf
      Src: /src/haproxy/src/ssl_sock.c:674,1
    - Dst: conn_fd
      Src: /src/haproxy/src/ssl_sock.c:675,1
    - Dst: ERR_reason_error_string
      Src: /src/haproxy/src/ssl_sock.c:676,1
    - Dst: fprintf
      Src: /src/haproxy/src/ssl_sock.c:681,1
    - Dst: ERR_reason_error_string
      Src: /src/haproxy/src/ssl_sock.c:682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - conn
    - qc
    argTypes:
    - struct connection*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 687
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 687
    functionName: ssl_sock_dump_errors
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ERR_peek_error_func
    - ERR_get_error
    - conn_fd
    - ERR_reason_error_string
    - fprintf
    - unlikely
    linkageType: ''
    returnType: forceinline
    signature: "ssl_sock_dump_errors(struct connection *conn,\n                                             struct
      quic_conn *qc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_by_id
      Src: /src/haproxy/src/ssl_sock.c:698,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:700,1
    - Dst: ENGINE_init
      Src: /src/haproxy/src/ssl_sock.c:704,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:706,1
    - Dst: ENGINE_set_default_string
      Src: /src/haproxy/src/ssl_sock.c:710,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:711,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_sock.c:715,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/ssl_sock.c:719,1
    - Dst: ENGINE_finish
      Src: /src/haproxy/src/ssl_sock.c:728,1
    - Dst: ENGINE_free
      Src: /src/haproxy/src/ssl_sock.c:732,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - engine_id
    - def_algorithms
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 736
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 736
    functionName: ssl_init_single_engine
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - calloc
    - ENGINE_by_id
    - ENGINE_set_default_string
    - ENGINE_finish
    - ENGINE_init
    - LIST_INSERT
    - ENGINE_free
    linkageType: ''
    returnType: int
    signature: ssl_init_single_engine(const char *engine_id, const char *def_algorithms)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ssl_sock.c:745,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:747,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/haproxy/src/ssl_sock.c:751,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:752,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/ssl_sock.c:756,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:761,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - provider_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 763
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 763
    functionName: ssl_init_provider
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ha_free
    - calloc
    - OSSL_PROVIDER_load
    - LIST_INSERT
    linkageType: ''
    returnType: int
    signature: ssl_init_provider(const char *provider_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/ssl_sock.c:777,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/ssl_sock.c:778,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/ssl_sock.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 784
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 784
    functionName: ssl_async_fd_handler
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - fd_cant_recv
    - tasklet_wakeup
    - fd_stop_recv
    linkageType: ''
    returnType: void
    signature: ssl_async_fd_handler(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_all_async_fds
      Src: /src/haproxy/src/ssl_sock.c:801,1
    - Dst: send_log
      Src: /src/haproxy/src/ssl_sock.c:803,1
    - Dst: SSL_get_all_async_fds
      Src: /src/haproxy/src/ssl_sock.c:807,1
    - Dst: fd_delete
      Src: /src/haproxy/src/ssl_sock.c:814,1
    - Dst: SSL_free
      Src: /src/haproxy/src/ssl_sock.c:818,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/ssl_sock.c:819,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/ssl_sock.c:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 821
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 821
    functionName: ssl_async_fd_free
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - send_log
    - fd_delete
    - _HA_ATOMIC_DEC
    - SSL_free
    - SSL_get_all_async_fds
    linkageType: ''
    returnType: void
    signature: ssl_async_fd_free(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_changed_async_fds
      Src: /src/haproxy/src/ssl_sock.c:835,1
    - Dst: send_log
      Src: /src/haproxy/src/ssl_sock.c:838,1
    - Dst: SSL_get_changed_async_fds
      Src: /src/haproxy/src/ssl_sock.c:842,1
    - Dst: fd_delete
      Src: /src/haproxy/src/ssl_sock.c:851,1
    - Dst: fd_insert
      Src: /src/haproxy/src/ssl_sock.c:856,1
    - Dst: SSL_get_all_async_fds
      Src: /src/haproxy/src/ssl_sock.c:860,1
    - Dst: send_log
      Src: /src/haproxy/src/ssl_sock.c:862,1
    - Dst: SSL_get_all_async_fds
      Src: /src/haproxy/src/ssl_sock.c:867,1
    - Dst: fd_want_recv
      Src: /src/haproxy/src/ssl_sock.c:869,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/ssl_sock.c:876,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ssl_sock_ctx*
    constantsTouched: []
    func_position:
      end: 879
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 879
    functionName: ssl_async_process_fds
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - send_log
    - SSL_get_changed_async_fds
    - fd_delete
    - fd_insert
    - fd_want_recv
    - SSL_get_all_async_fds
    - fd_cant_recv
    linkageType: ''
    returnType: void
    signature: ssl_async_process_fds(struct ssl_sock_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_octet_string
      Src: /src/haproxy/src/ssl_sock.c:892,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/haproxy/src/ssl_sock.c:893,1
    - Dst: EVP_MD_name
      Src: /src/haproxy/src/ssl_sock.c:893,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/haproxy/src/ssl_sock.c:894,1
    - Dst: EVP_MAC_CTX_set_params
      Src: /src/haproxy/src/ssl_sock.c:895,1
    - Dst: HMAC_Init_ex
      Src: /src/haproxy/src/ssl_sock.c:899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - hctx
    - key
    - key_len
    - md
    argTypes:
    - MAC_CTX*
    - unsigned char*
    - int
    - EVP_MD*
    constantsTouched: []
    func_position:
      end: 902
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 902
    functionName: ssl_hmac_init
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_octet_string
    - EVP_MD_name
    - EVP_MAC_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - HMAC_Init_ex
    - OSSL_PARAM_construct_end
    linkageType: ''
    returnType: int
    signature: ssl_hmac_init(MAC_CTX *hctx, unsigned char *key, int key_len, const
      EVP_MD *md)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:913,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:915,1
    - Dst: __objt_listener
      Src: /src/haproxy/src/ssl_sock.c:919,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/ssl_sock.c:927,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/ssl_sock.c:930,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sock.c:936,1
    - Dst: RAND_pseudo_bytes
      Src: /src/haproxy/src/ssl_sock.c:938,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/haproxy/src/ssl_sock.c:943,1
    - Dst: EVP_aes_128_cbc
      Src: /src/haproxy/src/ssl_sock.c:943,1
    - Dst: ssl_hmac_init
      Src: /src/haproxy/src/ssl_sock.c:946,1
    - Dst: TLS_TICKET_HASH_FUNCT
      Src: /src/haproxy/src/ssl_sock.c:946,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/haproxy/src/ssl_sock.c:952,1
    - Dst: EVP_aes_256_cbc
      Src: /src/haproxy/src/ssl_sock.c:952,1
    - Dst: ssl_hmac_init
      Src: /src/haproxy/src/ssl_sock.c:955,1
    - Dst: TLS_TICKET_HASH_FUNCT
      Src: /src/haproxy/src/ssl_sock.c:955,1
    - Dst: memcmp
      Src: /src/haproxy/src/ssl_sock.c:961,1
    - Dst: ssl_hmac_init
      Src: /src/haproxy/src/ssl_sock.c:969,1
    - Dst: TLS_TICKET_HASH_FUNCT
      Src: /src/haproxy/src/ssl_sock.c:969,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/haproxy/src/ssl_sock.c:971,1
    - Dst: EVP_aes_128_cbc
      Src: /src/haproxy/src/ssl_sock.c:971,1
    - Dst: ssl_hmac_init
      Src: /src/haproxy/src/ssl_sock.c:977,1
    - Dst: TLS_TICKET_HASH_FUNCT
      Src: /src/haproxy/src/ssl_sock.c:977,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/haproxy/src/ssl_sock.c:979,1
    - Dst: EVP_aes_256_cbc
      Src: /src/haproxy/src/ssl_sock.c:979,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_sock.c:987,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 66
    argCount: 6
    argNames:
    - s
    - key_name
    - iv
    - ectx
    - hctx
    - enc
    argTypes:
    - SSL*
    - unsigned char[]
    - unsigned char*
    - EVP_CIPHER_CTX*
    - MAC_CTX*
    - int
    constantsTouched: []
    func_position:
      end: 989
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 989
    functionName: ssl_tlsext_ticket_key_cb
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ABORT_NOW
    - EVP_aes_256_cbc
    - SSL_get_ex_data
    - HA_RWLOCK_RDUNLOCK
    - ssl_hmac_init
    - HA_RWLOCK_RDLOCK
    - TLS_TICKET_HASH_FUNCT
    - RAND_pseudo_bytes
    - EVP_aes_128_cbc
    - EVP_EncryptInit_ex
    - memcmp
    - memcpy
    - EVP_DecryptInit_ex
    - __objt_listener
    linkageType: ''
    returnType: int
    signature: ssl_tlsext_ticket_key_cb(SSL *s, unsigned char key_name[16], unsigned
      char *iv, EVP_CIPHER_CTX *ectx, MAC_CTX *hctx, int enc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_sock.c:995,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_sock.c:996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 999
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 999
    functionName: tlskeys_ref_lookup
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strcmp
    linkageType: ''
    returnType: struct tls_keys_ref
    signature: '*tlskeys_ref_lookup(const char *filename)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_sock.c:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - unique_id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1009
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1009
    functionName: tlskeys_ref_lookupid
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: struct tls_keys_ref
    signature: '*tlskeys_ref_lookupid(int unique_id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/ssl_sock.c:1029,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sock.c:1030,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/ssl_sock.c:1033,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ref
    - tlskey
    argTypes:
    - struct tls_keys_ref*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1036
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1036
    functionName: ssl_sock_update_tlskey_ref
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_WRLOCK
    - memcpy
    - HA_RWLOCK_WRUNLOCK
    linkageType: ''
    returnType: int
    signature: "ssl_sock_update_tlskey_ref(struct tls_keys_ref *ref,\n\t\t\t\tstruct
      buffer *tlskey)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tlskeys_ref_lookup
      Src: /src/haproxy/src/ssl_sock.c:1040,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:1043,1
    - Dst: ssl_sock_update_tlskey_ref
      Src: /src/haproxy/src/ssl_sock.c:1046,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:1047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - filename
    - tlskey
    - err
    argTypes:
    - char*
    - struct buffer*
    - char**
    constantsTouched: []
    func_position:
      end: 1052
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1052
    functionName: ssl_sock_update_tlskey
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - tlskeys_ref_lookup
    - ssl_sock_update_tlskey_ref
    - memprintf
    linkageType: ''
    returnType: int
    signature: ssl_sock_update_tlskey(char *filename, struct buffer *tlskey, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/ssl_sock.c:1062,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_sock.c:1064,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_sock.c:1068,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_sock.c:1085,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_sock.c:1086,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_sock.c:1087,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_sock.c:1089,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_sock.c:1094,1
    - Dst: LIST_SPLICE
      Src: /src/haproxy/src/ssl_sock.c:1098,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1100
    functionName: tlskeys_finalize_config
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_safe
    - LIST_HEAD_INIT
    - list_for_each_entry
    - LIST_APPEND
    - LIST_DELETE
    - LIST_SPLICE
    linkageType: ''
    returnType: int
    signature: tlskeys_finalize_config(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sock.c:1135,1
    - Dst: ssl_ocsp_get_uri_from_cert
      Src: /src/haproxy/src/ssl_sock.c:1147,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_sock.c:1152,1
    - Dst: sk_X509_num
      Src: /src/haproxy/src/ssl_sock.c:1162,1
    - Dst: sk_X509_value
      Src: /src/haproxy/src/ssl_sock.c:1163,1
    - Dst: X509_check_issued
      Src: /src/haproxy/src/ssl_sock.c:1164,1
    - Dst: OCSP_cert_to_id
      Src: /src/haproxy/src/ssl_sock.c:1174,1
    - Dst: i2d_OCSP_CERTID
      Src: /src/haproxy/src/ssl_sock.c:1180,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:1184,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_sock.c:1185,1
    - Dst: i2d_OCSP_CERTID
      Src: /src/haproxy/src/ssl_sock.c:1190,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_sock.c:1192,1
    - Dst: ebmb_insert
      Src: /src/haproxy/src/ssl_sock.c:1193,1
    - Dst: SSL_CTX_get_tlsext_status_cb
      Src: /src/haproxy/src/ssl_sock.c:1197,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_sock.c:1206,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_sock.c:1208,1
    - Dst: X509_get_pubkey
      Src: /src/haproxy/src/ssl_sock.c:1216,1
    - Dst: EVP_PKEY_base_id
      Src: /src/haproxy/src/ssl_sock.c:1217,1
    - Dst: EVP_PKEY_free
      Src: /src/haproxy/src/ssl_sock.c:1218,1
    - Dst: SSL_CTX_set_tlsext_status_cb
      Src: /src/haproxy/src/ssl_sock.c:1220,1
    - Dst: SSL_CTX_set_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1221,1
    - Dst: SSL_CTX_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1234,1
    - Dst: ssl_sock_get_ocsp_arg_kt_index
      Src: /src/haproxy/src/ssl_sock.c:1241,1
    - Dst: X509_get_pubkey
      Src: /src/haproxy/src/ssl_sock.c:1247,1
    - Dst: EVP_PKEY_base_id
      Src: /src/haproxy/src/ssl_sock.c:1248,1
    - Dst: EVP_PKEY_free
      Src: /src/haproxy/src/ssl_sock.c:1249,1
    - Dst: ssl_sock_get_ocsp_arg_kt_index
      Src: /src/haproxy/src/ssl_sock.c:1251,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_sock.c:1257,1
    - Dst: ssl_sock_load_ocsp_response
      Src: /src/haproxy/src/ssl_sock.c:1262,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:1263,1
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_sock.c:1264,1
    - Dst: X509_up_ref
      Src: /src/haproxy/src/ssl_sock.c:1276,1
    - Dst: X509_chain_up_ref
      Src: /src/haproxy/src/ssl_sock.c:1279,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_sock.c:1281,1
    - Dst: chunk_dup
      Src: /src/haproxy/src/ssl_sock.c:1282,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:1283,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sock.c:1293,1
    - Dst: ssl_ocsp_update_insert
      Src: /src/haproxy/src/ssl_sock.c:1296,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/ssl_sock.c:1305,1
    - Dst: ssl_ocsp_update_insert
      Src: /src/haproxy/src/ssl_sock.c:1315,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/ssl_sock.c:1324,1
    - Dst: OCSP_CERTID_free
      Src: /src/haproxy/src/ssl_sock.c:1330,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:1335,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:1336,1
    - Dst: ssl_sock_free_ocsp
      Src: /src/haproxy/src/ssl_sock.c:1340,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:1343,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:1345,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 132
    argCount: 4
    argNames:
    - path
    - ctx
    - store
    - chain
    argTypes:
    - char*
    - SSL_CTX*
    - struct ckch_store*
    - STACK_OF*
    constantsTouched: []
    func_position:
      end: 1348
      start: 1119
    functionDepth: 2
    functionLinenumber: 1119
    functionLinenumberEnd: 1348
    functionName: ssl_sock_load_ocsp
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_ocsp_get_uri_from_cert
    - ha_free
    - ha_warning
    - X509_check_issued
    - sk_X509_num
    - EVP_PKEY_free
    - X509_get_pubkey
    - ebmb_insert
    - task_wakeup
    - ssl_sock_get_ocsp_arg_kt_index
    - get_trash_chunk
    - free
    - SSL_CTX_set_ex_data
    - OCSP_CERTID_free
    - ssl_sock_load_ocsp_response
    - ssl_sock_free_ocsp
    - strlen
    - X509_up_ref
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - X509_chain_up_ref
    - chunk_dup
    - b_data
    - SSL_CTX_get_tlsext_status_cb
    - EVP_PKEY_base_id
    - OCSP_cert_to_id
    - sk_X509_value
    - SSL_CTX_get_ex_data
    - calloc
    - ssl_ocsp_update_insert
    - SSL_CTX_set_tlsext_status_cb
    - memcpy
    - i2d_OCSP_CERTID
    linkageType: ''
    returnType: int
    signature: ssl_sock_load_ocsp(const char *path, SSL_CTX *ctx, struct ckch_store
      *store, STACK_OF(X509) *chain)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_ocsp_response
      Src: /src/haproxy/src/ssl_sock.c:1355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - path
    - ctx
    - data
    - chain
    argTypes:
    - char*
    - SSL_CTX*
    - struct ckch_data*
    - STACK_OF*
    constantsTouched: []
    func_position:
      end: 1356
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1356
    functionName: ssl_sock_load_ocsp
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ocsp_response
    linkageType: ''
    returnType: int
    signature: ssl_sock_load_ocsp(const char *path, SSL_CTX *ctx, struct ckch_data
      *data, STACK_OF(X509) *chain)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ssl
    - ext_type
    - out
    - outlen
    - al
    - add_arg
    argTypes:
    - SSL*
    - unsigned
    - unsigned char**
    - size_t*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 1374
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1374
    functionName: ssl_sock_sctl_add_cbk
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ssl_sock_sctl_add_cbk(SSL *ssl, unsigned ext_type, const unsigned char
      **out, size_t *outlen, int *al, void *add_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - s
    - ext_type
    - in
    - inlen
    - al
    - parse_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned char*
    - size_t
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 1379
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1379
    functionName: ssl_sock_sctl_parse_cbk
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ssl_sock_sctl_parse_cbk(SSL *s, unsigned int ext_type, const unsigned
      char *in, size_t inlen, int *al, void *parse_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_add_server_custom_ext
      Src: /src/haproxy/src/ssl_sock.c:1385,1
    - Dst: SSL_CTX_set_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - sctl
    argTypes:
    - SSL_CTX*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1394
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1394
    functionName: ssl_sock_load_sctl
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ex_data
    - SSL_CTX_add_server_custom_ext
    linkageType: ''
    returnType: int
    signature: ssl_sock_load_sctl(SSL_CTX *ctx, struct buffer *sctl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1400,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1402,1
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:1410,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/ssl_sock.c:1418,1
    - Dst: SSL_get_wbio
      Src: /src/haproxy/src/ssl_sock.c:1442,1
    - Dst: SSL_get_rbio
      Src: /src/haproxy/src/ssl_sock.c:1443,1
    - Dst: BIO_set_write_buffer_size
      Src: /src/haproxy/src/ssl_sock.c:1444,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - ssl
    - where
    - ret
    argTypes:
    - SSL*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1449
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1449
    functionName: ssl_sock_infocbk
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ABORT_NOW
    - SSL_get_ex_data
    - BIO_set_write_buffer_size
    - SSL_get_rbio
    - SSL_get_wbio
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: void
    signature: ssl_sock_infocbk(const SSL *ssl, int where, int ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_sock.c:1461,1
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1465,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/haproxy/src/ssl_sock.c:1465,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1466,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1467,1
    - Dst: __objt_listener
      Src: /src/haproxy/src/ssl_sock.c:1470,1
    - Dst: __conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:1471,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1475,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ssl_sock.c:1476,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ssl_sock.c:1482,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/haproxy/src/ssl_sock.c:1486,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/haproxy/src/ssl_sock.c:1487,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sock.c:1496,1
    - Dst: X509_STORE_CTX_get0_cert
      Src: /src/haproxy/src/ssl_sock.c:1497,1
    - Dst: X509_up_ref
      Src: /src/haproxy/src/ssl_sock.c:1499,1
    - Dst: SSL_set_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1500,1
    - Dst: X509_STORE_CTX_get1_chain
      Src: /src/haproxy/src/ssl_sock.c:1508,1
    - Dst: sk_X509_value
      Src: /src/haproxy/src/ssl_sock.c:1510,1
    - Dst: X509_up_ref
      Src: /src/haproxy/src/ssl_sock.c:1512,1
    - Dst: SSL_set_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1513,1
    - Dst: sk_X509_pop_free
      Src: /src/haproxy/src/ssl_sock.c:1515,1
    - Dst: SSL_SOCK_ST_TO_CA_ERROR
      Src: /src/haproxy/src/ssl_sock.c:1521,1
    - Dst: SSL_SOCK_CA_ERROR_TO_ST
      Src: /src/haproxy/src/ssl_sock.c:1522,1
    - Dst: SSL_SOCK_CAEDEPTH_TO_ST
      Src: /src/haproxy/src/ssl_sock.c:1523,1
    - Dst: cert_ignerr_bitfield_get
      Src: /src/haproxy/src/ssl_sock.c:1527,1
    - Dst: SSL_SOCK_ST_TO_CRTERROR
      Src: /src/haproxy/src/ssl_sock.c:1536,1
    - Dst: SSL_SOCK_CRTERROR_TO_ST
      Src: /src/haproxy/src/ssl_sock.c:1537,1
    - Dst: cert_ignerr_bitfield_get
      Src: /src/haproxy/src/ssl_sock.c:1541,1
    - Dst: ssl_sock_dump_errors
      Src: /src/haproxy/src/ssl_sock.c:1550,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_sock.c:1551,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 2
    argNames:
    - ok
    - x_store
    argTypes:
    - int
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 1553
      start: 1454
    functionDepth: 2
    functionLinenumber: 1454
    functionLinenumberEnd: 1553
    functionName: ssl_sock_bind_verifycbk
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_SOCK_CAEDEPTH_TO_ST
    - SSL_SOCK_CRTERROR_TO_ST
    - BUG_ON
    - SSL_SOCK_ST_TO_CRTERROR
    - ssl_sock_dump_errors
    - SSL_SOCK_ST_TO_CA_ERROR
    - SSL_SOCK_CA_ERROR_TO_ST
    - STACK_OF
    - X509_STORE_CTX_get0_cert
    - sk_X509_pop_free
    - X509_free
    - X509_STORE_CTX_get_ex_data
    - X509_up_ref
    - X509_STORE_CTX_get_error
    - __objt_listener
    - X509_STORE_CTX_get_error_depth
    - sk_X509_value
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - SSL_get_ex_data
    - __conn_get_ssl_sock_ctx
    - X509_STORE_CTX_get1_chain
    - SSL_set_ex_data
    - cert_ignerr_bitfield_get
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: ssl_sock_bind_verifycbk(int ok, X509_STORE_CTX *x_store)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:1563,1
    - Dst: SSLerr
      Src: /src/haproxy/src/ssl_sock.c:1593,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 7
    argNames:
    - conn
    - write_p
    - version
    - content_type
    - buf
    - len
    - ssl
    argTypes:
    - struct connection*
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    constantsTouched: []
    func_position:
      end: 1595
      start: 1556
    functionDepth: 1
    functionLinenumber: 1556
    functionLinenumberEnd: 1595
    functionName: ssl_sock_parse_heartbeat
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - __conn_get_ssl_sock_ctx
    - SSLerr
    linkageType: ''
    returnType: void
    signature: "ssl_sock_parse_heartbeat(struct connection *conn, int write_p, int
      version,\n                                     int content_type, const void
      *buf, size_t len,\n                                     SSL *ssl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_zalloc
      Src: /src/haproxy/src/ssl_sock.c:1713,1
    - Dst: XXH64
      Src: /src/haproxy/src/ssl_sock.c:1717,1
    - Dst: MIN
      Src: /src/haproxy/src/ssl_sock.c:1720,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sock.c:1722,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sock.c:1840,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sock.c:1849,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sock.c:1858,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sock.c:1867,1
    - Dst: SSL_set_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1875,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 168
    argCount: 7
    argNames:
    - conn
    - write_p
    - version
    - content_type
    - buf
    - len
    - ssl
    argTypes:
    - struct connection*
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    constantsTouched: []
    func_position:
      end: 1876
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1876
    functionName: ssl_sock_parse_clienthello
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - pool_zalloc
    - SSL_set_ex_data
    - XXH64
    - MIN
    - memcpy
    linkageType: ''
    returnType: void
    signature: "ssl_sock_parse_clienthello(struct connection *conn, int write_p, int
      version,\n                                       int content_type, const void
      *buf, size_t len,\n                                       SSL *ssl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1886,1
    - Dst: pool_zalloc
      Src: /src/haproxy/src/ssl_sock.c:1889,1
    - Dst: SSL_set_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1893,1
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:1894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - conn
    - write_p
    - version
    - content_type
    - buf
    - len
    - ssl
    argTypes:
    - struct connection*
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    constantsTouched: []
    func_position:
      end: 1897
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1897
    functionName: ssl_init_keylog
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - pool_zalloc
    - SSL_set_ex_data
    - SSL_get_ex_data
    - pool_free
    linkageType: ''
    returnType: void
    signature: "ssl_init_keylog(struct connection *conn, int write_p, int version,\n
      \                           int content_type, const void *buf, size_t len,\n
      \                           SSL *ssl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1903,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_sock.c:1909,1
    - Dst: struct ssl_sock_msg_callback*::func
      Src: /src/haproxy/src/ssl_sock.c:1910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - write_p
    - version
    - content_type
    - buf
    - len
    - ssl
    - arg
    argTypes:
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 1912
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1912
    functionName: ssl_sock_msgcbk
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - struct ssl_sock_msg_callback*::func
    - SSL_get_ex_data
    linkageType: ''
    returnType: void
    signature: ssl_sock_msgcbk(int write_p, int version, int content_type, const void
      *buf, size_t len, SSL *ssl, void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_select_next_proto
      Src: /src/haproxy/src/ssl_sock.c:1921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - in
    - inlen
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 1925
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1925
    functionName: ssl_sock_srv_select_protos
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_select_next_proto
    linkageType: ''
    returnType: int
    signature: "ssl_sock_srv_select_protos(SSL *s, unsigned char **out, unsigned char
      *outlen,\n                                      const unsigned char *in, unsigned
      int inlen,\n\t\t\t\t      void *arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - s
    - data
    - len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned int*
    - void*
    constantsTouched: []
    func_position:
      end: 1940
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1940
    functionName: ssl_sock_advertise_npn_protos
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "ssl_sock_advertise_npn_protos(SSL *s, const unsigned char **data,\n
      \                                        unsigned int *len, void *arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:1954,1
    - Dst: SSL_select_next_proto
      Src: /src/haproxy/src/ssl_sock.c:1957,1
    - Dst: quic_set_tls_alert
      Src: /src/haproxy/src/ssl_sock.c:1961,1
    - Dst: quic_set_app_ops
      Src: /src/haproxy/src/ssl_sock.c:1967,1
    - Dst: quic_set_tls_alert
      Src: /src/haproxy/src/ssl_sock.c:1968,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - s
    - out
    - outlen
    - server
    - server_len
    - arg
    argTypes:
    - SSL*
    - unsigned char**
    - unsigned char*
    - unsigned char*
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 1974
      start: 1947
    functionDepth: 1
    functionLinenumber: 1947
    functionLinenumberEnd: 1974
    functionName: ssl_sock_advertise_alpn_protos
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - quic_set_app_ops
    - quic_set_tls_alert
    - SSL_select_next_proto
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: "ssl_sock_advertise_alpn_protos(SSL *s, const unsigned char **out,\n
      \                                         unsigned char *outlen,\n                                          const
      unsigned char *server,\n                                          unsigned int
      server_len, void *arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_ssl_version
      Src: /src/haproxy/src/ssl_sock.c:1982,1
    - Dst: SSLv3_server_method
      Src: /src/haproxy/src/ssl_sock.c:1982,1
    - Dst: SSL_CTX_set_ssl_version
      Src: /src/haproxy/src/ssl_sock.c:1983,1
    - Dst: SSLv3_client_method
      Src: /src/haproxy/src/ssl_sock.c:1983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 1985
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 1985
    functionName: ctx_set_SSLv3_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSLv3_server_method
    - SSL_CTX_set_ssl_version
    - SSLv3_client_method
    linkageType: ''
    returnType: void
    signature: ctx_set_SSLv3_func(SSL_CTX *ctx, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_ssl_version
      Src: /src/haproxy/src/ssl_sock.c:1987,1
    - Dst: TLSv1_server_method
      Src: /src/haproxy/src/ssl_sock.c:1987,1
    - Dst: SSL_CTX_set_ssl_version
      Src: /src/haproxy/src/ssl_sock.c:1988,1
    - Dst: TLSv1_client_method
      Src: /src/haproxy/src/ssl_sock.c:1988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 1989
      start: 1986
    functionDepth: 0
    functionLinenumber: 1986
    functionLinenumberEnd: 1989
    functionName: ctx_set_TLSv10_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ssl_version
    - TLSv1_client_method
    - TLSv1_server_method
    linkageType: ''
    returnType: void
    signature: ctx_set_TLSv10_func(SSL_CTX *ctx, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_ssl_version
      Src: /src/haproxy/src/ssl_sock.c:1992,1
    - Dst: TLSv1_1_server_method
      Src: /src/haproxy/src/ssl_sock.c:1992,1
    - Dst: SSL_CTX_set_ssl_version
      Src: /src/haproxy/src/ssl_sock.c:1993,1
    - Dst: TLSv1_1_client_method
      Src: /src/haproxy/src/ssl_sock.c:1993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 1995
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 1995
    functionName: ctx_set_TLSv11_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ssl_version
    - TLSv1_1_server_method
    - TLSv1_1_client_method
    linkageType: ''
    returnType: void
    signature: ctx_set_TLSv11_func(SSL_CTX *ctx, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_ssl_version
      Src: /src/haproxy/src/ssl_sock.c:1998,1
    - Dst: TLSv1_2_server_method
      Src: /src/haproxy/src/ssl_sock.c:1998,1
    - Dst: SSL_CTX_set_ssl_version
      Src: /src/haproxy/src/ssl_sock.c:1999,1
    - Dst: TLSv1_2_client_method
      Src: /src/haproxy/src/ssl_sock.c:1999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2001
      start: 1996
    functionDepth: 0
    functionLinenumber: 1996
    functionLinenumberEnd: 2001
    functionName: ctx_set_TLSv12_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_ssl_version
    - TLSv1_2_client_method
    - TLSv1_2_server_method
    linkageType: ''
    returnType: void
    signature: ctx_set_TLSv12_func(SSL_CTX *ctx, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2003
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2003
    functionName: ctx_set_TLSv13_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: ctx_set_TLSv13_func(SSL_CTX *ctx, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ssl
    - c
    argTypes:
    - SSL*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2005
      start: 2005
    functionDepth: 0
    functionLinenumber: 2005
    functionLinenumberEnd: 2005
    functionName: ssl_set_SSLv3_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: ssl_set_SSLv3_func(SSL *ssl, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ssl
    - c
    argTypes:
    - SSL*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2006
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2006
    functionName: ssl_set_TLSv10_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: ssl_set_TLSv10_func(SSL *ssl, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ssl
    - c
    argTypes:
    - SSL*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2007
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2007
    functionName: ssl_set_TLSv11_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: ssl_set_TLSv11_func(SSL *ssl, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ssl
    - c
    argTypes:
    - SSL*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2008
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2008
    functionName: ssl_set_TLSv12_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: ssl_set_TLSv12_func(SSL *ssl, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ssl
    - c
    argTypes:
    - SSL*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2009
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2009
    functionName: ssl_set_TLSv13_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: ssl_set_TLSv13_func(SSL *ssl, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2013,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2015
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2015
    functionName: ctx_set_SSLv3_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_max_proto_version
    - SSL_CTX_set_min_proto_version
    linkageType: ''
    returnType: void
    signature: ctx_set_SSLv3_func(SSL_CTX *ctx, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_max_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2017,1
    - Dst: SSL_set_min_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - c
    argTypes:
    - SSL*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2019
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2019
    functionName: ssl_set_SSLv3_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_set_min_proto_version
    - SSL_set_max_proto_version
    linkageType: ''
    returnType: void
    signature: ssl_set_SSLv3_func(SSL *ssl, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2021,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2023
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2023
    functionName: ctx_set_TLSv10_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_max_proto_version
    - SSL_CTX_set_min_proto_version
    linkageType: ''
    returnType: void
    signature: ctx_set_TLSv10_func(SSL_CTX *ctx, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_max_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2025,1
    - Dst: SSL_set_min_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - c
    argTypes:
    - SSL*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2027
      start: 2024
    functionDepth: 0
    functionLinenumber: 2024
    functionLinenumberEnd: 2027
    functionName: ssl_set_TLSv10_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_set_min_proto_version
    - SSL_set_max_proto_version
    linkageType: ''
    returnType: void
    signature: ssl_set_TLSv10_func(SSL *ssl, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2029,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2031
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2031
    functionName: ctx_set_TLSv11_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_max_proto_version
    - SSL_CTX_set_min_proto_version
    linkageType: ''
    returnType: void
    signature: ctx_set_TLSv11_func(SSL_CTX *ctx, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_max_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2033,1
    - Dst: SSL_set_min_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - c
    argTypes:
    - SSL*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2035
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2035
    functionName: ssl_set_TLSv11_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_set_min_proto_version
    - SSL_set_max_proto_version
    linkageType: ''
    returnType: void
    signature: ssl_set_TLSv11_func(SSL *ssl, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2037,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2039
      start: 2036
    functionDepth: 0
    functionLinenumber: 2036
    functionLinenumberEnd: 2039
    functionName: ctx_set_TLSv12_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_max_proto_version
    - SSL_CTX_set_min_proto_version
    linkageType: ''
    returnType: void
    signature: ctx_set_TLSv12_func(SSL_CTX *ctx, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_max_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2041,1
    - Dst: SSL_set_min_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - c
    argTypes:
    - SSL*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2043
      start: 2040
    functionDepth: 0
    functionLinenumber: 2040
    functionLinenumberEnd: 2043
    functionName: ssl_set_TLSv12_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_set_min_proto_version
    - SSL_set_max_proto_version
    linkageType: ''
    returnType: void
    signature: ssl_set_TLSv12_func(SSL *ssl, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2046,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2049
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2049
    functionName: ctx_set_TLSv13_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_max_proto_version
    - SSL_CTX_set_min_proto_version
    linkageType: ''
    returnType: void
    signature: ctx_set_TLSv13_func(SSL_CTX *ctx, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_max_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2052,1
    - Dst: SSL_set_min_proto_version
      Src: /src/haproxy/src/ssl_sock.c:2053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ssl
    - c
    argTypes:
    - SSL*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2055
      start: 2050
    functionDepth: 0
    functionLinenumber: 2050
    functionLinenumberEnd: 2055
    functionName: ssl_set_TLSv13_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_set_min_proto_version
    - SSL_set_max_proto_version
    linkageType: ''
    returnType: void
    signature: ssl_set_TLSv13_func(SSL *ssl, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - SSL_CTX*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2057
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2057
    functionName: ctx_set_None_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: ctx_set_None_func(SSL_CTX *ctx, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - ssl
    - c
    argTypes:
    - SSL*
    - set_context_func
    constantsTouched: []
    func_position:
      end: 2058
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2058
    functionName: ssl_set_None_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: ssl_set_None_func(SSL *ssl, set_context_func c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/haproxy/src/ssl_sock.c:2079,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/haproxy/src/ssl_sock.c:2080,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/haproxy/src/ssl_sock.c:2081,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/haproxy/src/ssl_sock.c:2082,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/haproxy/src/ssl_sock.c:2085,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/haproxy/src/ssl_sock.c:2087,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/haproxy/src/ssl_sock.c:2088,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/haproxy/src/ssl_sock.c:2093,1
    - Dst: OSSL_PARAM_free
      Src: /src/haproxy/src/ssl_sock.c:2094,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/haproxy/src/ssl_sock.c:2095,1
    - Dst: BN_free
      Src: /src/haproxy/src/ssl_sock.c:2096,1
    - Dst: BN_free
      Src: /src/haproxy/src/ssl_sock.c:2097,1
    - Dst: DH_new
      Src: /src/haproxy/src/ssl_sock.c:2101,1
    - Dst: DH_set0_pqg
      Src: /src/haproxy/src/ssl_sock.c:2106,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - p
    - g
    argTypes:
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 2110
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2110
    functionName: ssl_new_dh_fromdata
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_to_param
    - BN_free
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_CTX_new_from_name
    - OSSL_PARAM_BLD_new
    - DH_set0_pqg
    - DH_new
    linkageType: ''
    returnType: HASSL_DH
    signature: '*ssl_new_dh_fromdata(BIGNUM *p, BIGNUM *g)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/haproxy/src/ssl_sock.c:2118,1
    - Dst: OBJ_nid2ln
      Src: /src/haproxy/src/ssl_sock.c:2124,1
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/haproxy/src/ssl_sock.c:2129,1
    - Dst: OSSL_PARAM_construct_end
      Src: /src/haproxy/src/ssl_sock.c:2130,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/haproxy/src/ssl_sock.c:2132,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/haproxy/src/ssl_sock.c:2132,1
    - Dst: EVP_PKEY_generate
      Src: /src/haproxy/src/ssl_sock.c:2133,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/haproxy/src/ssl_sock.c:2136,1
    - Dst: DH_new_by_nid
      Src: /src/haproxy/src/ssl_sock.c:2141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2144
      start: 2113
    functionDepth: 0
    functionLinenumber: 2113
    functionLinenumberEnd: 2144
    functionName: ssl_get_dh_by_nid
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_generate
    - OBJ_nid2ln
    - DH_new_by_nid
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_set_params
    - OSSL_PARAM_construct_utf8_string
    - OSSL_PARAM_construct_end
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_keygen_init
    linkageType: ''
    returnType: HASSL_DH
    signature: '*ssl_get_dh_by_nid(int nid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/haproxy/src/ssl_sock.c:2172,1
    - Dst: BN_bin2bn
      Src: /src/haproxy/src/ssl_sock.c:2173,1
    - Dst: ssl_new_dh_fromdata
      Src: /src/haproxy/src/ssl_sock.c:2176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2148
    functionDepth: 2
    functionLinenumber: 2148
    functionLinenumberEnd: 2179
    functionName: ssl_get_dh_1024
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ssl_new_dh_fromdata
    - BN_bin2bn
    linkageType: ''
    returnType: HASSL_DH
    signature: '* ssl_get_dh_1024(void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/haproxy/src/ssl_sock.c:2217,1
    - Dst: BN_bin2bn
      Src: /src/haproxy/src/ssl_sock.c:2218,1
    - Dst: ssl_new_dh_fromdata
      Src: /src/haproxy/src/ssl_sock.c:2221,1
    - Dst: ssl_get_dh_by_nid
      Src: /src/haproxy/src/ssl_sock.c:2225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2181
    functionDepth: 2
    functionLinenumber: 2181
    functionLinenumberEnd: 2227
    functionName: ssl_get_dh_2048
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ssl_get_dh_by_nid
    - ssl_new_dh_fromdata
    - BN_bin2bn
    linkageType: ''
    returnType: HASSL_DH
    signature: '*ssl_get_dh_2048(void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_bin2bn
      Src: /src/haproxy/src/ssl_sock.c:2286,1
    - Dst: BN_bin2bn
      Src: /src/haproxy/src/ssl_sock.c:2287,1
    - Dst: ssl_new_dh_fromdata
      Src: /src/haproxy/src/ssl_sock.c:2290,1
    - Dst: ssl_get_dh_by_nid
      Src: /src/haproxy/src/ssl_sock.c:2294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2229
    functionDepth: 2
    functionLinenumber: 2229
    functionLinenumberEnd: 2296
    functionName: ssl_get_dh_4096
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ssl_get_dh_by_nid
    - ssl_new_dh_fromdata
    - BN_bin2bn
    linkageType: ''
    returnType: HASSL_DH
    signature: '*ssl_get_dh_4096(void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_base_id
      Src: /src/haproxy/src/ssl_sock.c:2304,1
    - Dst: EVP_PKEY_bits
      Src: /src/haproxy/src/ssl_sock.c:2314,1
    - Dst: ssl_get_dh_4096
      Src: /src/haproxy/src/ssl_sock.c:2323,1
    - Dst: ssl_get_dh_2048
      Src: /src/haproxy/src/ssl_sock.c:2328,1
    - Dst: ssl_get_dh_1024
      Src: /src/haproxy/src/ssl_sock.c:2333,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 2338
      start: 2298
    functionDepth: 3
    functionLinenumber: 2298
    functionLinenumberEnd: 2338
    functionName: ssl_get_tmp_dh
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ssl_get_dh_2048
    - ssl_get_dh_4096
    - EVP_PKEY_bits
    - ssl_get_dh_1024
    - EVP_PKEY_base_id
    linkageType: ''
    returnType: HASSL_DH
    signature: '*ssl_get_tmp_dh(EVP_PKEY *pkey)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_privatekey
      Src: /src/haproxy/src/ssl_sock.c:2345,1
    - Dst: ssl_get_tmp_dh
      Src: /src/haproxy/src/ssl_sock.c:2347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ssl
    - export
    - keylen
    argTypes:
    - SSL*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2348
      start: 2343
    functionDepth: 4
    functionLinenumber: 2343
    functionLinenumberEnd: 2348
    functionName: ssl_get_tmp_dh_cbk
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ssl_get_tmp_dh
    - SSL_get_privatekey
    linkageType: ''
    returnType: HASSL_DH
    signature: '*ssl_get_tmp_dh_cbk(SSL *ssl, int export, int keylen)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_tmp_dh
      Src: /src/haproxy/src/ssl_sock.c:2354,1
    - Dst: HASSL_DH_up_ref
      Src: /src/haproxy/src/ssl_sock.c:2357,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/haproxy/src/ssl_sock.c:2359,1
    - Dst: HASSL_DH_free
      Src: /src/haproxy/src/ssl_sock.c:2362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - dh
    argTypes:
    - SSL_CTX*
    - HASSL_DH*
    constantsTouched: []
    func_position:
      end: 2366
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2366
    functionName: ssl_sock_set_tmp_dh
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set0_tmp_dh_pkey
    - SSL_CTX_set_tmp_dh
    - HASSL_DH_up_ref
    - HASSL_DH_free
    linkageType: ''
    returnType: int
    signature: ssl_sock_set_tmp_dh(SSL_CTX *ctx, HASSL_DH *dh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_get_tmp_dh
      Src: /src/haproxy/src/ssl_sock.c:2372,1
    - Dst: HASSL_DH_up_ref
      Src: /src/haproxy/src/ssl_sock.c:2373,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/haproxy/src/ssl_sock.c:2374,1
    - Dst: HASSL_DH_free
      Src: /src/haproxy/src/ssl_sock.c:2375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - pkey
    argTypes:
    - SSL_CTX*
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 2377
      start: 2369
    functionDepth: 4
    functionLinenumber: 2369
    functionLinenumberEnd: 2377
    functionName: ssl_sock_set_tmp_dh_from_pkey
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set0_tmp_dh_pkey
    - ssl_get_tmp_dh
    - HASSL_DH_up_ref
    - HASSL_DH_free
    linkageType: ''
    returnType: void
    signature: ssl_sock_set_tmp_dh_from_pkey(SSL_CTX *ctx, EVP_PKEY *pkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_DECODER_CTX_new_for_pkey
      Src: /src/haproxy/src/ssl_sock.c:2388,1
    - Dst: OSSL_DECODER_CTX_get_num_decoders
      Src: /src/haproxy/src/ssl_sock.c:2392,1
    - Dst: BIO_eof
      Src: /src/haproxy/src/ssl_sock.c:2399,1
    - Dst: OSSL_DECODER_from_bio
      Src: /src/haproxy/src/ssl_sock.c:2400,1
    - Dst: OSSL_DECODER_CTX_free
      Src: /src/haproxy/src/ssl_sock.c:2403,1
    - Dst: PEM_read_bio_DHparams
      Src: /src/haproxy/src/ssl_sock.c:2408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - bio
    argTypes:
    - BIO*
    constantsTouched: []
    func_position:
      end: 2412
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2412
    functionName: ssl_sock_get_dh_from_bio
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - PEM_read_bio_DHparams
    - OSSL_DECODER_CTX_free
    - OSSL_DECODER_CTX_new_for_pkey
    - BIO_eof
    - OSSL_DECODER_from_bio
    - OSSL_DECODER_CTX_get_num_decoders
    linkageType: ''
    returnType: HASSL_DH
    signature: '*ssl_sock_get_dh_from_bio(BIO *bio)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new
      Src: /src/haproxy/src/ssl_sock.c:2417,1
    - Dst: BIO_s_file
      Src: /src/haproxy/src/ssl_sock.c:2417,1
    - Dst: BIO_read_filename
      Src: /src/haproxy/src/ssl_sock.c:2422,1
    - Dst: ssl_sock_get_dh_from_bio
      Src: /src/haproxy/src/ssl_sock.c:2425,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_sock.c:2429,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_sock.c:2431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2434
      start: 2414
    functionDepth: 1
    functionLinenumber: 2414
    functionLinenumberEnd: 2434
    functionName: ssl_sock_get_dh_from_file
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_dh_from_bio
    - BIO_free
    - ERR_clear_error
    - BIO_new
    - BIO_s_file
    - BIO_read_filename
    linkageType: ''
    returnType: HASSL_DH
    signature: '* ssl_sock_get_dh_from_file(const char *filename)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_get_dh_from_file
      Src: /src/haproxy/src/ssl_sock.c:2438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2445
      start: 2436
    functionDepth: 2
    functionLinenumber: 2436
    functionLinenumberEnd: 2445
    functionName: ssl_sock_load_global_dh_param_from_file
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_dh_from_file
    linkageType: ''
    returnType: int
    signature: ssl_sock_load_global_dh_param_from_file(const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_sock.c:2470,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:2475,1
    - Dst: tolower
      Src: /src/haproxy/src/ssl_sock.c:2477,1
    - Dst: malloc
      Src: /src/haproxy/src/ssl_sock.c:2482,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sock.c:2485,1
    - Dst: SSL_CTX_up_ref
      Src: /src/haproxy/src/ssl_sock.c:2486,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_sock.c:2495,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 7
    argNames:
    - ctx
    - ckch_inst
    - s
    - conf
    - kinfo
    - name
    - order
    argTypes:
    - SSL_CTX*
    - struct ckch_inst*
    - struct bind_conf*
    - struct ssl_bind_conf*
    - struct pkey_info
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2498
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2498
    functionName: ckch_inst_add_cert_sni
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - malloc
    - tolower
    - ha_warning
    - strlen
    - LIST_APPEND
    - SSL_CTX_up_ref
    - memcpy
    linkageType: ''
    returnType: int
    signature: "ckch_inst_add_cert_sni(SSL_CTX *ctx, struct ckch_inst *ckch_inst,\n
      \                                struct bind_conf *s, struct ssl_bind_conf *conf,\n
      \                                struct pkey_info kinfo, char *name, int order)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_sock.c:2513,1
    - Dst: ebst_lookup
      Src: /src/haproxy/src/ssl_sock.c:2521,1
    - Dst: ebst_lookup
      Src: /src/haproxy/src/ssl_sock.c:2523,1
    - Dst: ebmb_next_dup
      Src: /src/haproxy/src/ssl_sock.c:2525,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_sock.c:2526,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_sock.c:2530,1
    - Dst: SSL_CTX_free
      Src: /src/haproxy/src/ssl_sock.c:2531,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:2532,1
    - Dst: ebst_insert
      Src: /src/haproxy/src/ssl_sock.c:2547,1
    - Dst: ebst_insert
      Src: /src/haproxy/src/ssl_sock.c:2549,1
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_sock.c:2553,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - ckch_inst
    - bind_conf
    argTypes:
    - struct ckch_inst*
    - struct bind_conf*
    constantsTouched: []
    func_position:
      end: 2556
      start: 2506
    functionDepth: 1
    functionLinenumber: 2506
    functionLinenumberEnd: 2556
    functionName: ssl_sock_load_cert_sni
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_safe
    - ha_free
    - ha_warning
    - LIST_DELETE
    - ebmb_entry
    - SSL_CTX_free
    - ebst_lookup
    - ebst_insert
    - ebmb_next_dup
    linkageType: ''
    returnType: void
    signature: ssl_sock_load_cert_sni(struct ckch_inst *ckch_inst, struct bind_conf
      *bind_conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_set_tmp_dh
      Src: /src/haproxy/src/ssl_sock.c:2587,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2588,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2590,1
    - Dst: SSL_CTX_set_ex_data
      Src: /src/haproxy/src/ssl_sock.c:2599,1
    - Dst: ssl_sock_set_tmp_dh
      Src: /src/haproxy/src/ssl_sock.c:2603,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2604,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2606,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_sock.c:2614,1
    - Dst: ssl_get_dh_1024
      Src: /src/haproxy/src/ssl_sock.c:2623,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2626,1
    - Dst: ssl_sock_set_tmp_dh
      Src: /src/haproxy/src/ssl_sock.c:2632,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2633,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2635,1
    - Dst: SSL_CTX_set_tmp_dh_callback
      Src: /src/haproxy/src/ssl_sock.c:2644,1
    - Dst: ssl_sock_set_tmp_dh_from_pkey
      Src: /src/haproxy/src/ssl_sock.c:2646,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_sock.c:2654,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 4
    argNames:
    - ctx
    - data
    - path
    - err
    argTypes:
    - SSL_CTX*
    - struct ckch_data*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 2656
      start: 2579
    functionDepth: 5
    functionLinenumber: 2579
    functionLinenumberEnd: 2656
    functionName: ssl_sock_load_dh_params
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - memprintf
    - SSL_CTX_set_tmp_dh_callback
    - ssl_get_dh_1024
    - ssl_sock_set_tmp_dh_from_pkey
    - SSL_CTX_set_ex_data
    - ERR_clear_error
    - ssl_sock_set_tmp_dh
    linkageType: ''
    returnType: int
    signature: "ssl_sock_load_dh_params(SSL_CTX *ctx, const struct ckch_data *data,\n
      \                                  const char *path, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_sock.c:2676,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/haproxy/src/ssl_sock.c:2683,1
    - Dst: ERR_get_error
      Src: /src/haproxy/src/ssl_sock.c:2684,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2685,1
    - Dst: ERR_reason_error_string
      Src: /src/haproxy/src/ssl_sock.c:2686,1
    - Dst: X509_chain_up_ref
      Src: /src/haproxy/src/ssl_sock.c:2692,1
    - Dst: sk_X509_new_null
      Src: /src/haproxy/src/ssl_sock.c:2698,1
    - Dst: SSL_CTX_set1_chain
      Src: /src/haproxy/src/ssl_sock.c:2703,1
    - Dst: ERR_get_error
      Src: /src/haproxy/src/ssl_sock.c:2704,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2705,1
    - Dst: ERR_reason_error_string
      Src: /src/haproxy/src/ssl_sock.c:2706,1
    - Dst: sk_X509_shift
      Src: /src/haproxy/src/ssl_sock.c:2713,1
    - Dst: SSL_CTX_add_extra_chain_cert
      Src: /src/haproxy/src/ssl_sock.c:2714,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2715,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sock.c:2717,1
    - Dst: SSL_CTX_build_cert_chain
      Src: /src/haproxy/src/ssl_sock.c:2727,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2728,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 5
    argNames:
    - path
    - data
    - ctx
    - find_chain
    - err
    argTypes:
    - char*
    - struct ckch_data*
    - SSL_CTX*
    - STACK_OF**
    - char**
    constantsTouched: []
    func_position:
      end: 2738
      start: 2670
    functionDepth: 1
    functionLinenumber: 2670
    functionLinenumberEnd: 2738
    functionName: ssl_sock_load_cert_chain
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - memprintf
    - SSL_CTX_build_cert_chain
    - ERR_get_error
    - SSL_CTX_use_certificate
    - X509_free
    - SSL_CTX_set1_chain
    - ERR_reason_error_string
    - sk_X509_new_null
    - X509_chain_up_ref
    - sk_X509_shift
    - SSL_CTX_add_extra_chain_cert
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: "ssl_sock_load_cert_chain(const char *path, const struct ckch_data
      *data,\n\t\t\t\t    SSL_CTX *ctx, STACK_OF(X509) **find_chain, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_sock.c:2753,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_sock.c:2755,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/haproxy/src/ssl_sock.c:2757,1
    - Dst: ERR_get_error
      Src: /src/haproxy/src/ssl_sock.c:2760,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2761,1
    - Dst: ERR_reason_error_string
      Src: /src/haproxy/src/ssl_sock.c:2762,1
    - Dst: ssl_sock_load_cert_chain
      Src: /src/haproxy/src/ssl_sock.c:2768,1
    - Dst: SSL_CTX_set_ex_data
      Src: /src/haproxy/src/ssl_sock.c:2776,1
    - Dst: ssl_sock_load_dh_params
      Src: /src/haproxy/src/ssl_sock.c:2779,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2781,1
    - Dst: ssl_sock_load_sctl
      Src: /src/haproxy/src/ssl_sock.c:2789,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2790,1
    - Dst: ssl_sock_load_ocsp
      Src: /src/haproxy/src/ssl_sock.c:2804,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2806,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2809,1
    - Dst: sk_X509_pop_free
      Src: /src/haproxy/src/ssl_sock.c:2817,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 4
    argNames:
    - path
    - store
    - ctx
    - err
    argTypes:
    - char*
    - struct ckch_store*
    - SSL_CTX*
    - char**
    constantsTouched: []
    func_position:
      end: 2819
      start: 2749
    functionDepth: 6
    functionLinenumber: 2749
    functionLinenumberEnd: 2819
    functionName: ssl_sock_put_ckch_into_ctx
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_sock_load_dh_params
    - ERR_get_error
    - sk_X509_pop_free
    - ERR_reason_error_string
    - SSL_CTX_use_PrivateKey
    - SSL_CTX_set_ex_data
    - STACK_OF
    - ERR_clear_error
    - ssl_sock_load_cert_chain
    - ssl_sock_load_sctl
    - ssl_sock_load_ocsp
    linkageType: ''
    returnType: int
    signature: ssl_sock_put_ckch_into_ctx(const char *path, struct ckch_store *store,
      SSL_CTX *ctx, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_sock.c:2834,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/haproxy/src/ssl_sock.c:2837,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2838,1
    - Dst: ssl_sock_load_cert_chain
      Src: /src/haproxy/src/ssl_sock.c:2844,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/haproxy/src/ssl_sock.c:2848,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2849,1
    - Dst: sk_X509_pop_free
      Src: /src/haproxy/src/ssl_sock.c:2855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - path
    - data
    - ctx
    - err
    argTypes:
    - char*
    - struct ckch_data*
    - SSL_CTX*
    - char**
    constantsTouched: []
    func_position:
      end: 2857
      start: 2830
    functionDepth: 2
    functionLinenumber: 2830
    functionLinenumberEnd: 2857
    functionName: ssl_sock_put_srv_ckch_into_ctx
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - memprintf
    - sk_X509_pop_free
    - SSL_CTX_use_PrivateKey
    - STACK_OF
    - SSL_CTX_check_private_key
    - ssl_sock_load_cert_chain
    linkageType: ''
    returnType: int
    signature: "ssl_sock_put_srv_ckch_into_ctx(const char *path, const struct ckch_data
      *data,\n\t\t\t\t\t  SSL_CTX *ctx, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_sock.c:2879,1
    - Dst: SSL_CTX_new
      Src: /src/haproxy/src/ssl_sock.c:2892,1
    - Dst: SSLv23_server_method
      Src: /src/haproxy/src/ssl_sock.c:2892,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2894,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/haproxy/src/ssl_sock.c:2901,1
    - Dst: ssl_sock_put_ckch_into_ctx
      Src: /src/haproxy/src/ssl_sock.c:2903,1
    - Dst: ckch_inst_new
      Src: /src/haproxy/src/ssl_sock.c:2907,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2909,1
    - Dst: X509_get_pubkey
      Src: /src/haproxy/src/ssl_sock.c:2915,1
    - Dst: EVP_PKEY_bits
      Src: /src/haproxy/src/ssl_sock.c:2917,1
    - Dst: EVP_PKEY_base_id
      Src: /src/haproxy/src/ssl_sock.c:2918,1
    - Dst: EVP_PKEY_free
      Src: /src/haproxy/src/ssl_sock.c:2929,1
    - Dst: ckch_inst_add_cert_sni
      Src: /src/haproxy/src/ssl_sock.c:2934,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2936,1
    - Dst: X509_get_ext_d2i
      Src: /src/haproxy/src/ssl_sock.c:2944,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/haproxy/src/ssl_sock.c:2946,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/haproxy/src/ssl_sock.c:2947,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/haproxy/src/ssl_sock.c:2949,1
    - Dst: ckch_inst_add_cert_sni
      Src: /src/haproxy/src/ssl_sock.c:2950,1
    - Dst: OPENSSL_free
      Src: /src/haproxy/src/ssl_sock.c:2951,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2953,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/haproxy/src/ssl_sock.c:2960,1
    - Dst: X509_get_subject_name
      Src: /src/haproxy/src/ssl_sock.c:2963,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/haproxy/src/ssl_sock.c:2965,1
    - Dst: X509_NAME_get_entry
      Src: /src/haproxy/src/ssl_sock.c:2966,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/haproxy/src/ssl_sock.c:2969,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/haproxy/src/ssl_sock.c:2970,1
    - Dst: ckch_inst_add_cert_sni
      Src: /src/haproxy/src/ssl_sock.c:2971,1
    - Dst: OPENSSL_free
      Src: /src/haproxy/src/ssl_sock.c:2972,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2974,1
    - Dst: ckch_inst_add_cert_sni
      Src: /src/haproxy/src/ssl_sock.c:2989,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:2991,1
    - Dst: SSL_CTX_up_ref
      Src: /src/haproxy/src/ssl_sock.c:3000,1
    - Dst: SSL_CTX_free
      Src: /src/haproxy/src/ssl_sock.c:3008,1
    - Dst: ckch_inst_free
      Src: /src/haproxy/src/ssl_sock.c:3016,1
    - Dst: SSL_CTX_free
      Src: /src/haproxy/src/ssl_sock.c:3019,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 113
    argCount: 9
    argNames:
    - path
    - ckchs
    - bind_conf
    - ssl_conf
    - sni_filter
    - fcount
    - is_default
    - ckchi
    - err
    argTypes:
    - char*
    - struct ckch_store*
    - struct bind_conf*
    - struct ssl_bind_conf*
    - char**
    - int
    - int
    - struct ckch_inst**
    - char**
    constantsTouched: []
    func_position:
      end: 3022
      start: 2868
    functionDepth: 7
    functionLinenumber: 2868
    functionLinenumberEnd: 3022
    functionName: ckch_inst_new_load_store
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ckch_inst_new
    - SSL_CTX_set_security_level
    - SSL_CTX_up_ref
    - EVP_PKEY_free
    - OPENSSL_free
    - X509_get_pubkey
    - SSL_CTX_free
    - sk_GENERAL_NAME_value
    - X509_NAME_get_entry
    - sk_GENERAL_NAME_pop_free
    - X509_get_subject_name
    - ssl_sock_put_ckch_into_ctx
    - SSLv23_server_method
    - STACK_OF
    - X509_NAME_get_index_by_NID
    - ckch_inst_add_cert_sni
    - X509_get_ext_d2i
    - X509_NAME_ENTRY_get_data
    - ckch_inst_free
    - SSL_CTX_new
    - EVP_PKEY_bits
    - EVP_PKEY_base_id
    - sk_GENERAL_NAME_num
    - ASN1_STRING_to_UTF8
    linkageType: ''
    returnType: int
    signature: "ckch_inst_new_load_store(const char *path, struct ckch_store *ckchs,
      struct bind_conf *bind_conf,\n                                    struct ssl_bind_conf
      *ssl_conf, char **sni_filter, int fcount, int is_default, struct ckch_inst **ckchi,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/haproxy/src/ssl_sock.c:3049,1
    - Dst: SSLv23_client_method
      Src: /src/haproxy/src/ssl_sock.c:3049,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:3051,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/haproxy/src/ssl_sock.c:3058,1
    - Dst: ssl_sock_put_srv_ckch_into_ctx
      Src: /src/haproxy/src/ssl_sock.c:3060,1
    - Dst: ckch_inst_new
      Src: /src/haproxy/src/ssl_sock.c:3064,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:3066,1
    - Dst: SSL_CTX_free
      Src: /src/haproxy/src/ssl_sock.c:3083,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - path
    - ckchs
    - ckchi
    - err
    argTypes:
    - char*
    - struct ckch_store*
    - struct ckch_inst**
    - char**
    constantsTouched: []
    func_position:
      end: 3086
      start: 3034
    functionDepth: 3
    functionLinenumber: 3034
    functionLinenumberEnd: 3086
    functionName: ckch_inst_new_load_srv_store
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_sock_put_srv_ckch_into_ctx
    - ckch_inst_new
    - SSL_CTX_set_security_level
    - SSL_CTX_free
    - SSL_CTX_new
    - SSLv23_client_method
    linkageType: ''
    returnType: int
    signature: "ckch_inst_new_load_srv_store(const char *path, struct ckch_store *ckchs,\n\t\t\t\t
      struct ckch_inst **ckchi, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckch_inst_new_load_store
      Src: /src/haproxy/src/ssl_sock.c:3098,1
    - Dst: ssl_sock_load_cert_sni
      Src: /src/haproxy/src/ssl_sock.c:3103,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_sock.c:3106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 9
    argNames:
    - path
    - ckchs
    - bind_conf
    - ssl_conf
    - sni_filter
    - fcount
    - is_default
    - ckch_inst
    - err
    argTypes:
    - char*
    - struct ckch_store*
    - struct bind_conf*
    - struct ssl_bind_conf*
    - char**
    - int
    - int
    - struct ckch_inst**
    - char**
    constantsTouched: []
    func_position:
      end: 3108
      start: 3089
    functionDepth: 8
    functionLinenumber: 3089
    functionLinenumberEnd: 3108
    functionName: ssl_sock_load_ckchs
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    - ckch_inst_new_load_store
    - ssl_sock_load_cert_sni
    linkageType: ''
    returnType: int
    signature: "ssl_sock_load_ckchs(const char *path, struct ckch_store *ckchs,\n
      \                              struct bind_conf *bind_conf, struct ssl_bind_conf
      *ssl_conf,\n                               char **sni_filter, int fcount,\n
      \                              int is_default,\n                               struct
      ckch_inst **ckch_inst, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckch_inst_new_load_srv_store
      Src: /src/haproxy/src/ssl_sock.c:3120,1
    - Dst: SSL_CTX_up_ref
      Src: /src/haproxy/src/ssl_sock.c:3127,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_sock.c:3130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - path
    - ckchs
    - server
    - ckch_inst
    - err
    argTypes:
    - char*
    - struct ckch_store*
    - struct server*
    - struct ckch_inst**
    - char**
    constantsTouched: []
    func_position:
      end: 3132
      start: 3114
    functionDepth: 4
    functionLinenumber: 3114
    functionLinenumberEnd: 3132
    functionName: ssl_sock_load_srv_ckchs
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ckch_inst_new_load_srv_store
    - LIST_APPEND
    - SSL_CTX_up_ref
    linkageType: ''
    returnType: int
    signature: "ssl_sock_load_srv_ckchs(const char *path, struct ckch_store *ckchs,\n\t\t\t\t
      \  struct server *server, struct ckch_inst **ckch_inst, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RAND_bytes
      Src: /src/haproxy/src/ssl_sock.c:3147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3151
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3151
    functionName: ssl_initialize_random
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - RAND_bytes
    linkageType: ''
    returnType: int
    signature: ssl_initialize_random(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/ssl_sock.c:3170,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:3172,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:3180,1
    - Dst: ebst_lookup
      Src: /src/haproxy/src/ssl_sock.c:3184,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_sock.c:3186,1
    - Dst: crtlist_load_cert_dir
      Src: /src/haproxy/src/ssl_sock.c:3190,1
    - Dst: crtlist_parse_file
      Src: /src/haproxy/src/ssl_sock.c:3192,1
    - Dst: ebst_insert
      Src: /src/haproxy/src/ssl_sock.c:3195,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_sock.c:3204,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/ssl_sock.c:3213,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/ssl_sock.c:3213,1
    - Dst: ssl_sock_load_ckchs
      Src: /src/haproxy/src/ssl_sock.c:3217,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:3219,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_sock.c:3222,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_sock.c:3238,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_sock.c:3242,1
    - Dst: ckch_inst_free
      Src: /src/haproxy/src/ssl_sock.c:3249,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:3253,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 5
    argNames:
    - file
    - dir
    - bind_conf
    - curproxy
    - err
    argTypes:
    - char*
    - int
    - struct bind_conf*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 3256
      start: 3161
    functionDepth: 9
    functionLinenumber: 3161
    functionLinenumberEnd: 3256
    functionName: ssl_sock_load_cert_list_file
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - malloc
    - memprintf
    - ssl_sock_load_ckchs
    - list_for_each_entry_safe
    - list_for_each_entry
    - strlen
    - LIST_APPEND
    - ckch_inst_free
    - eb_is_empty
    - ebmb_entry
    - free
    - ebst_lookup
    - ebst_insert
    - crtlist_parse_file
    - crtlist_load_cert_dir
    linkageType: ''
    returnType: int
    signature: ssl_sock_load_cert_list_file(char *file, int dir, struct bind_conf
      *bind_conf, struct proxy *curproxy, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/src/ssl_sock.c:3270,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/ssl_sock.c:3270,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_sock.c:3274,1
    - Dst: ckch_conf_cmp_empty
      Src: /src/haproxy/src/ssl_sock.c:3276,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:3278,1
    - Dst: ssl_sock_load_ckchs
      Src: /src/haproxy/src/ssl_sock.c:3283,1
    - Dst: stat
      Src: /src/haproxy/src/ssl_sock.c:3286,1
    - Dst: S_ISDIR
      Src: /src/haproxy/src/ssl_sock.c:3288,1
    - Dst: ckch_store_new_load_files_path
      Src: /src/haproxy/src/ssl_sock.c:3289,1
    - Dst: ssl_sock_load_ckchs
      Src: /src/haproxy/src/ssl_sock.c:3292,1
    - Dst: ssl_sock_load_cert_list_file
      Src: /src/haproxy/src/ssl_sock.c:3294,1
    - Dst: snprintf
      Src: /src/haproxy/src/ssl_sock.c:3307,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_sock.c:3311,1
    - Dst: ssl_sock_load_ckchs
      Src: /src/haproxy/src/ssl_sock.c:3312,1
    - Dst: stat
      Src: /src/haproxy/src/ssl_sock.c:3315,1
    - Dst: ckch_store_new_load_files_path
      Src: /src/haproxy/src/ssl_sock.c:3317,1
    - Dst: ssl_sock_load_ckchs
      Src: /src/haproxy/src/ssl_sock.c:3320,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:3326,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:3334,1
    - Dst: strerror
      Src: /src/haproxy/src/ssl_sock.c:3335,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 4
    argNames:
    - path
    - bind_conf
    - is_default
    - err
    argTypes:
    - char*
    - struct bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3340
      start: 3259
    functionDepth: 10
    functionLinenumber: 3259
    functionLinenumberEnd: 3340
    functionName: ssl_sock_load_cert
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_sock_load_ckchs
    - strerror
    - stat
    - snprintf
    - ckch_conf_cmp_empty
    - eb_is_empty
    - ssl_sock_load_cert_list_file
    - ckchs_lookup
    - S_ISDIR
    - ckch_store_new_load_files_path
    linkageType: ''
    returnType: int
    signature: ssl_sock_load_cert(char *path, struct bind_conf *bind_conf, int is_default,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_sock.c:3354,1
    - Dst: ssl_sock_load_srv_ckchs
      Src: /src/haproxy/src/ssl_sock.c:3356,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:3360,1
    - Dst: stat
      Src: /src/haproxy/src/ssl_sock.c:3366,1
    - Dst: S_ISDIR
      Src: /src/haproxy/src/ssl_sock.c:3368,1
    - Dst: ckch_store_new_load_files_path
      Src: /src/haproxy/src/ssl_sock.c:3370,1
    - Dst: ssl_sock_load_srv_ckchs
      Src: /src/haproxy/src/ssl_sock.c:3373,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:3378,1
    - Dst: strerror
      Src: /src/haproxy/src/ssl_sock.c:3379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - path
    - server
    - create_if_none
    - err
    argTypes:
    - char*
    - struct server*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3385
      start: 3347
    functionDepth: 5
    functionLinenumber: 3347
    functionLinenumberEnd: 3385
    functionName: ssl_sock_load_srv_cert
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_sock_load_srv_ckchs
    - strerror
    - stat
    - ckchs_lookup
    - S_ISDIR
    - ckch_store_new_load_files_path
    linkageType: ''
    returnType: int
    signature: ssl_sock_load_srv_cert(char *path, struct server *server, int create_if_none,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/haproxy/src/ssl_sock.c:3412,1
    - Dst: SSLv23_server_method
      Src: /src/haproxy/src/ssl_sock.c:3412,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/haproxy/src/ssl_sock.c:3416,1
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_sock.c:3419,1
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_sock.c:3433,1
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_sock.c:3452,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:3469,1
    - Dst: ctx_set_version
      Src: /src/haproxy/src/ssl_sock.c:3481,1
    - Dst: SSL_CTX_clear_options
      Src: /src/haproxy/src/ssl_sock.c:3486,1
    - Dst: ctx_set_version
      Src: /src/haproxy/src/ssl_sock.c:3494,1
    - Dst: ctx_set_version
      Src: /src/haproxy/src/ssl_sock.c:3495,1
    - Dst: SSL_CTX_set_options
      Src: /src/haproxy/src/ssl_sock.c:3507,1
    - Dst: SSL_CTX_set_mode
      Src: /src/haproxy/src/ssl_sock.c:3513,1
    - Dst: SSL_CTX_set_timeout
      Src: /src/haproxy/src/ssl_sock.c:3515,1
    - Dst: SSL_CTX_set_select_certificate_cb
      Src: /src/haproxy/src/ssl_sock.c:3519,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/haproxy/src/ssl_sock.c:3520,1
    - Dst: SSL_CTX_set_early_data_enabled
      Src: /src/haproxy/src/ssl_sock.c:3522,1
    - Dst: SSL_CTX_set_options
      Src: /src/haproxy/src/ssl_sock.c:3526,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/haproxy/src/ssl_sock.c:3528,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/haproxy/src/ssl_sock.c:3529,1
    - Dst: SSL_CTX_set_cert_cb
      Src: /src/haproxy/src/ssl_sock.c:3531,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/haproxy/src/ssl_sock.c:3534,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/haproxy/src/ssl_sock.c:3536,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 77
    argCount: 1
    argNames:
    - bind_conf
    argTypes:
    - struct bind_conf*
    constantsTouched: []
    func_position:
      end: 3539
      start: 3388
    functionDepth: 1
    functionLinenumber: 3388
    functionLinenumberEnd: 3539
    functionName: ssl_sock_initial_ctx
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - SSL_CTX_set_options
    - SSL_CTX_set_tlsext_servername_callback
    - SSL_CTX_set_early_data_enabled
    - ha_warning
    - ctx_set_version
    - SSL_CTX_set_security_level
    - SSL_CTX_set_tlsext_servername_arg
    - SSL_CTX_set_mode
    - SSL_CTX_set_cert_cb
    - SSL_CTX_set_client_hello_cb
    - SSL_CTX_new
    - SSL_CTX_clear_options
    - SSL_CTX_set_timeout
    - SSLv23_server_method
    - SSL_CTX_set_select_certificate_cb
    linkageType: ''
    returnType: int
    signature: ssl_sock_initial_ctx(struct bind_conf *bind_conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sh_ssl_sess_tree_delete
      Src: /src/haproxy/src/ssl_sock.c:3546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - first
    - data
    argTypes:
    - struct shared_block*
    - void*
    constantsTouched: []
    func_position:
      end: 3547
      start: 3542
    functionDepth: 0
    functionLinenumber: 3542
    functionLinenumberEnd: 3547
    functionName: sh_ssl_sess_free_blocks
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - sh_ssl_sess_tree_delete
    linkageType: ''
    returnType: void
    signature: sh_ssl_sess_free_blocks(struct shared_block *first, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sh_ssl_sess
    argTypes:
    - struct sh_ssl_sess_hdr*
    constantsTouched: []
    func_position:
      end: 3554
      start: 3550
    functionDepth: 0
    functionLinenumber: 3550
    functionLinenumberEnd: 3554
    functionName: sh_ssl_sess_first_block
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct shared_block
    signature: '*sh_ssl_sess_first_block(struct sh_ssl_sess_hdr *sh_ssl_sess)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shctx_row_reserve_hot
      Src: /src/haproxy/src/ssl_sock.c:3567,1
    - Dst: shctx_wrlock
      Src: /src/haproxy/src/ssl_sock.c:3573,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sock.c:3577,1
    - Dst: sh_ssl_sess_tree_insert
      Src: /src/haproxy/src/ssl_sock.c:3582,1
    - Dst: shctx_row_reattach
      Src: /src/haproxy/src/ssl_sock.c:3587,1
    - Dst: sh_ssl_sess_first_block
      Src: /src/haproxy/src/ssl_sock.c:3591,1
    - Dst: shctx_row_detach
      Src: /src/haproxy/src/ssl_sock.c:3592,1
    - Dst: shctx_row_data_append
      Src: /src/haproxy/src/ssl_sock.c:3596,1
    - Dst: shctx_row_reattach
      Src: /src/haproxy/src/ssl_sock.c:3597,1
    - Dst: shctx_row_reattach
      Src: /src/haproxy/src/ssl_sock.c:3601,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/ssl_sock.c:3603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - s_id
    - data
    - data_len
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 3606
      start: 3562
    functionDepth: 1
    functionLinenumber: 3562
    functionLinenumberEnd: 3606
    functionName: sh_ssl_sess_store
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - shctx_row_reattach
    - shctx_row_data_append
    - shctx_wrunlock
    - shctx_row_detach
    - sh_ssl_sess_first_block
    - sh_ssl_sess_tree_insert
    - shctx_wrlock
    - memcpy
    - shctx_row_reserve_hot
    linkageType: ''
    returnType: int
    signature: sh_ssl_sess_store(unsigned char *s_id, unsigned char *data, int data_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:3611,1
    - Dst: __objt_server
      Src: /src/haproxy/src/ssl_sock.c:3615,1
    - Dst: i2d_SSL_SESSION
      Src: /src/haproxy/src/ssl_sock.c:3630,1
    - Dst: SSL_get_servername
      Src: /src/haproxy/src/ssl_sock.c:3631,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/ssl_sock.c:3632,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/ssl_sock.c:3637,1
    - Dst: realloc
      Src: /src/haproxy/src/ssl_sock.c:3642,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:3644,1
    - Dst: i2d_SSL_SESSION
      Src: /src/haproxy/src/ssl_sock.c:3654,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ssl_sock.c:3663,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/ssl_sock.c:3665,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/ssl_sock.c:3667,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_sock.c:3671,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:3672,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_sock.c:3674,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_sock.c:3678,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/ssl_sock.c:3680,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_sock.c:3681,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/ssl_sock.c:3683,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/ssl_sock.c:3686,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:3687,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/ssl_sock.c:3688,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ssl_sock.c:3691,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/ssl_sock.c:3693,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_sock.c:3695,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - ssl
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    constantsTouched: []
    func_position:
      end: 3699
      start: 3609
    functionDepth: 1
    functionLinenumber: 3609
    functionLinenumberEnd: 3699
    functionName: ssl_sess_new_srv_cb
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_get_ex_data
    - ha_free
    - strcmp
    - HA_RWLOCK_RDLOCK
    - SSL_get_servername
    - __objt_server
    - HA_RWLOCK_WRLOCK
    - free
    - strdup
    - HA_ATOMIC_LOAD
    - HA_RWLOCK_WRUNLOCK
    - i2d_SSL_SESSION
    - realloc
    - HA_RWLOCK_RDUNLOCK
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: int
    signature: ssl_sess_new_srv_cb(SSL *ssl, SSL_SESSION *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_get_id
      Src: /src/haproxy/src/ssl_sock.c:3720,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sock.c:3723,1
    - Dst: memset
      Src: /src/haproxy/src/ssl_sock.c:3727,1
    - Dst: SSL_SESSION_set1_id
      Src: /src/haproxy/src/ssl_sock.c:3730,1
    - Dst: SSL_SESSION_set1_id_context
      Src: /src/haproxy/src/ssl_sock.c:3733,1
    - Dst: i2d_SSL_SESSION
      Src: /src/haproxy/src/ssl_sock.c:3736,1
    - Dst: i2d_SSL_SESSION
      Src: /src/haproxy/src/ssl_sock.c:3743,1
    - Dst: sh_ssl_sess_store
      Src: /src/haproxy/src/ssl_sock.c:3747,1
    - Dst: SSL_SESSION_set1_id
      Src: /src/haproxy/src/ssl_sock.c:3750,1
    - Dst: SSL_SESSION_set1_id_context
      Src: /src/haproxy/src/ssl_sock.c:3751,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:3751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - ssl
    - sess
    argTypes:
    - SSL*
    - SSL_SESSION*
    constantsTouched: []
    func_position:
      end: 3754
      start: 3703
    functionDepth: 2
    functionLinenumber: 3703
    functionLinenumberEnd: 3754
    functionName: sh_ssl_sess_new_cb
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - sh_ssl_sess_store
    - strlen
    - SSL_SESSION_set1_id_context
    - memset
    - i2d_SSL_SESSION
    - SSL_SESSION_set1_id
    - memcpy
    - SSL_SESSION_get_id
    linkageType: ''
    returnType: int
    signature: sh_ssl_sess_new_cb(SSL *ssl, SSL_SESSION *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/ssl_sock.c:3765,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sock.c:3772,1
    - Dst: memset
      Src: /src/haproxy/src/ssl_sock.c:3773,1
    - Dst: shctx_wrlock
      Src: /src/haproxy/src/ssl_sock.c:3778,1
    - Dst: sh_ssl_sess_tree_lookup
      Src: /src/haproxy/src/ssl_sock.c:3781,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/ssl_sock.c:3784,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/ssl_sock.c:3785,1
    - Dst: sh_ssl_sess_first_block
      Src: /src/haproxy/src/ssl_sock.c:3790,1
    - Dst: shctx_row_data_get
      Src: /src/haproxy/src/ssl_sock.c:3792,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/ssl_sock.c:3794,1
    - Dst: d2i_SSL_SESSION
      Src: /src/haproxy/src/ssl_sock.c:3798,1
    - Dst: SSL_SESSION_set1_id
      Src: /src/haproxy/src/ssl_sock.c:3801,1
    - Dst: SSL_SESSION_set1_id_context
      Src: /src/haproxy/src/ssl_sock.c:3802,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:3802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - ssl
    - key
    - key_len
    - do_copy
    argTypes:
    - SSL*
    - __OPENSSL_110_CONST__ unsigned*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 3806
      start: 3757
    functionDepth: 1
    functionLinenumber: 3757
    functionLinenumberEnd: 3806
    functionName: sh_ssl_sess_get_cb
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - shctx_row_data_get
    - shctx_wrunlock
    - strlen
    - _HA_ATOMIC_INC
    - SSL_SESSION_set1_id_context
    - sh_ssl_sess_first_block
    - sh_ssl_sess_tree_lookup
    - memset
    - shctx_wrlock
    - SSL_SESSION_set1_id
    - d2i_SSL_SESSION
    - memcpy
    linkageType: ''
    returnType: SSL_SESSION
    signature: '*sh_ssl_sess_get_cb(SSL *ssl, __OPENSSL_110_CONST__ unsigned char
      *key, int key_len, int *do_copy)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_SESSION_get_id
      Src: /src/haproxy/src/ssl_sock.c:3818,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sock.c:3821,1
    - Dst: memset
      Src: /src/haproxy/src/ssl_sock.c:3822,1
    - Dst: shctx_wrlock
      Src: /src/haproxy/src/ssl_sock.c:3826,1
    - Dst: sh_ssl_sess_tree_lookup
      Src: /src/haproxy/src/ssl_sock.c:3829,1
    - Dst: sh_ssl_sess_tree_delete
      Src: /src/haproxy/src/ssl_sock.c:3832,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/ssl_sock.c:3836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - sess
    argTypes:
    - SSL_CTX*
    - SSL_SESSION*
    constantsTouched: []
    func_position:
      end: 3837
      start: 3810
    functionDepth: 1
    functionLinenumber: 3810
    functionLinenumberEnd: 3837
    functionName: sh_ssl_sess_remove_cb
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - sh_ssl_sess_tree_delete
    - shctx_wrunlock
    - sh_ssl_sess_tree_lookup
    - memset
    - shctx_wrlock
    - memcpy
    - SSL_SESSION_get_id
    linkageType: ''
    returnType: void
    signature: sh_ssl_sess_remove_cb(SSL_CTX *ctx, SSL_SESSION *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/haproxy/src/ssl_sock.c:3844,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:3844,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/haproxy/src/ssl_sock.c:3847,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/haproxy/src/ssl_sock.c:3851,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/haproxy/src/ssl_sock.c:3856,1
    - Dst: SSL_CTX_sess_set_get_cb
      Src: /src/haproxy/src/ssl_sock.c:3857,1
    - Dst: SSL_CTX_sess_set_remove_cb
      Src: /src/haproxy/src/ssl_sock.c:3858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 3859
      start: 3842
    functionDepth: 0
    functionLinenumber: 3842
    functionLinenumberEnd: 3859
    functionName: ssl_set_shctx
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_sess_set_remove_cb
    - strlen
    - SSL_CTX_sess_set_new_cb
    - SSL_CTX_sess_set_get_cb
    - SSL_CTX_set_session_id_context
    - SSL_CTX_set_session_cache_mode
    linkageType: ''
    returnType: void
    signature: ssl_set_shctx(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_tls_compat_keylog_callback
      Src: /src/haproxy/src/ssl_sock.c:3877,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:3879,1
    - Dst: strrchr
      Src: /src/haproxy/src/ssl_sock.c:3883,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/ssl_sock.c:3887,1
    - Dst: strncpy
      Src: /src/haproxy/src/ssl_sock.c:3891,1
    - Dst: strncmp
      Src: /src/haproxy/src/ssl_sock.c:3894,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:3894,1
    - Dst: strncmp
      Src: /src/haproxy/src/ssl_sock.c:3899,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:3899,1
    - Dst: strncmp
      Src: /src/haproxy/src/ssl_sock.c:3904,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:3904,1
    - Dst: strncmp
      Src: /src/haproxy/src/ssl_sock.c:3909,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:3909,1
    - Dst: strncmp
      Src: /src/haproxy/src/ssl_sock.c:3914,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:3914,1
    - Dst: strncmp
      Src: /src/haproxy/src/ssl_sock.c:3919,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:3919,1
    - Dst: strncmp
      Src: /src/haproxy/src/ssl_sock.c:3924,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:3924,1
    - Dst: strncmp
      Src: /src/haproxy/src/ssl_sock.c:3929,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:3929,1
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:3940,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 69
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    constantsTouched: []
    func_position:
      end: 3943
      start: 3870
    functionDepth: 1
    functionLinenumber: 3870
    functionLinenumberEnd: 3943
    functionName: SSL_CTX_keylog
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - strrchr
    - strncmp
    - SSL_get_ex_data
    - strncpy
    - strlen
    - quic_tls_compat_keylog_callback
    - pool_alloc
    - pool_free
    linkageType: ''
    returnType: void
    signature: SSL_CTX_keylog(const SSL *ssl, const char *line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_get_cert_store
      Src: /src/haproxy/src/ssl_sock.c:3961,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:3993,1
    - Dst: SSL_CTX_set_verify
      Src: /src/haproxy/src/ssl_sock.c:4010,1
    - Dst: ssl_set_verify_locations_file
      Src: /src/haproxy/src/ssl_sock.c:4017,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:4018,1
    - Dst: ssl_set_verify_locations_file
      Src: /src/haproxy/src/ssl_sock.c:4022,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:4023,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/haproxy/src/ssl_sock.c:4029,1
    - Dst: SSL_dup_CA_list
      Src: /src/haproxy/src/ssl_sock.c:4029,1
    - Dst: ssl_get_client_ca_file
      Src: /src/haproxy/src/ssl_sock.c:4029,1
    - Dst: X509_STORE_set_flags
      Src: /src/haproxy/src/ssl_sock.c:4033,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:4037,1
    - Dst: ssl_set_cert_crl_file
      Src: /src/haproxy/src/ssl_sock.c:4044,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:4045,1
    - Dst: X509_STORE_set_flags
      Src: /src/haproxy/src/ssl_sock.c:4050,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_sock.c:4054,1
    - Dst: SSL_CTX_set_tlsext_ticket_key_evp_cb
      Src: /src/haproxy/src/ssl_sock.c:4058,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:4059,1
    - Dst: ssl_set_shctx
      Src: /src/haproxy/src/ssl_sock.c:4066,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/haproxy/src/ssl_sock.c:4069,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:4070,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/haproxy/src/ssl_sock.c:4078,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:4079,1
    - Dst: ssl_get_dh_1024
      Src: /src/haproxy/src/ssl_sock.c:4087,1
    - Dst: ssl_get_dh_2048
      Src: /src/haproxy/src/ssl_sock.c:4089,1
    - Dst: ssl_get_dh_4096
      Src: /src/haproxy/src/ssl_sock.c:4091,1
    - Dst: SSL_CTX_set_info_callback
      Src: /src/haproxy/src/ssl_sock.c:4094,1
    - Dst: SSL_CTX_set_msg_callback
      Src: /src/haproxy/src/ssl_sock.c:4096,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/haproxy/src/ssl_sock.c:4101,1
    - Dst: SSL_CTX_set_next_protos_advertised_cb
      Src: /src/haproxy/src/ssl_sock.c:4111,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/haproxy/src/ssl_sock.c:4120,1
    - Dst: SSL_CTX_set1_curves_list
      Src: /src/haproxy/src/ssl_sock.c:4125,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:4126,1
    - Dst: SSL_CTX_set_ecdh_auto
      Src: /src/haproxy/src/ssl_sock.c:4130,1
    - Dst: SSL_CTX_set1_curves_list
      Src: /src/haproxy/src/ssl_sock.c:4141,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:4142,1
    - Dst: OBJ_sn2nid
      Src: /src/haproxy/src/ssl_sock.c:4156,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/haproxy/src/ssl_sock.c:4157,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:4158,1
    - Dst: SSL_CTX_set_tmp_ecdh
      Src: /src/haproxy/src/ssl_sock.c:4163,1
    - Dst: EC_KEY_free
      Src: /src/haproxy/src/ssl_sock.c:4164,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/haproxy/src/ssl_sock.c:4173,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:4174,1
    - Dst: SSL_CTX_set1_client_sigalgs_list
      Src: /src/haproxy/src/ssl_sock.c:4184,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:4185,1
    - Dst: quic_tls_compat_init
      Src: /src/haproxy/src/ssl_sock.c:4193,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 142
    argCount: 4
    argNames:
    - bind_conf
    - ssl_conf
    - ctx
    - err
    argTypes:
    - struct bind_conf*
    - struct ssl_bind_conf*
    - SSL_CTX*
    - char**
    constantsTouched: []
    func_position:
      end: 4198
      start: 3950
    functionDepth: 3
    functionLinenumber: 3950
    functionLinenumberEnd: 4198
    functionName: ssl_sock_prepare_ctx
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - memprintf
    - OBJ_sn2nid
    - SSL_CTX_set_next_protos_advertised_cb
    - ssl_get_dh_1024
    - ssl_get_dh_4096
    - SSL_dup_CA_list
    - ssl_get_client_ca_file
    - SSL_CTX_set1_client_sigalgs_list
    - SSL_CTX_set_cipher_list
    - ssl_set_verify_locations_file
    - SSL_CTX_set_ecdh_auto
    - ssl_set_shctx
    - SSL_CTX_set_keylog_callback
    - SSL_CTX_get_cert_store
    - ssl_set_cert_crl_file
    - SSL_CTX_set1_sigalgs_list
    - quic_tls_compat_init
    - SSL_CTX_set_client_CA_list
    - SSL_CTX_set1_curves_list
    - SSL_CTX_set_ciphersuites
    - SSL_CTX_set_tmp_ecdh
    - SSL_CTX_set_info_callback
    - SSL_CTX_set_verify
    - X509_STORE_set_flags
    - ssl_get_dh_2048
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_set_msg_callback
    - SSL_CTX_set_tlsext_ticket_key_evp_cb
    - EC_KEY_free
    - ERR_clear_error
    - EC_KEY_new_by_curve_name
    linkageType: ''
    returnType: int
    signature: ssl_sock_prepare_ctx(struct bind_conf *bind_conf, struct ssl_bind_conf
      *ssl_conf, SSL_CTX *ctx, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_prepare_ctx
      Src: /src/haproxy/src/ssl_sock.c:4215,1
    - Dst: ckch_inst_add_cafile_link
      Src: /src/haproxy/src/ssl_sock.c:4217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - bind_conf
    - ssl_conf
    - ctx
    - ckch_inst
    - err
    argTypes:
    - struct bind_conf*
    - struct ssl_bind_conf*
    - SSL_CTX*
    - struct ckch_inst*
    - char**
    constantsTouched: []
    func_position:
      end: 4220
      start: 4210
    functionDepth: 4
    functionLinenumber: 4210
    functionLinenumberEnd: 4220
    functionName: ssl_sock_prep_ctx_and_inst
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ssl_sock_prepare_ctx
    - ckch_inst_add_cafile_link
    linkageType: ''
    returnType: int
    signature: "ssl_sock_prep_ctx_and_inst(struct bind_conf *bind_conf, struct ssl_bind_conf
      *ssl_conf,\n\t\t\t       SSL_CTX *ctx, struct ckch_inst *ckch_inst, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/haproxy/src/ssl_sock.c:4228,1
    - Dst: strchr
      Src: /src/haproxy/src/ssl_sock.c:4257,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/ssl_sock.c:4259,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/ssl_sock.c:4271,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/ssl_sock.c:4272,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - pattern
    - hostname
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4276
      start: 4222
    functionDepth: 0
    functionLinenumber: 4222
    functionLinenumberEnd: 4276
    functionName: ssl_sock_srv_hostcheck
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strcasecmp
    - strchr
    linkageType: ''
    returnType: int
    signature: ssl_sock_srv_hostcheck(const char *pattern, const char *hostname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_sock.c:4288,1
    - Dst: X509_STORE_CTX_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:4296,1
    - Dst: SSL_get_ex_data_X509_STORE_CTX_idx
      Src: /src/haproxy/src/ssl_sock.c:4296,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sock.c:4297,1
    - Dst: __conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:4298,1
    - Dst: SSL_get_servername
      Src: /src/haproxy/src/ssl_sock.c:4306,1
    - Dst: __objt_server
      Src: /src/haproxy/src/ssl_sock.c:4309,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/haproxy/src/ssl_sock.c:4316,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/haproxy/src/ssl_sock.c:4324,1
    - Dst: X509_get_ext_d2i
      Src: /src/haproxy/src/ssl_sock.c:4329,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/haproxy/src/ssl_sock.c:4331,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/haproxy/src/ssl_sock.c:4332,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/haproxy/src/ssl_sock.c:4335,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/haproxy/src/ssl_sock.c:4337,1
    - Dst: ssl_sock_srv_hostcheck
      Src: /src/haproxy/src/ssl_sock.c:4339,1
    - Dst: OPENSSL_free
      Src: /src/haproxy/src/ssl_sock.c:4340,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/haproxy/src/ssl_sock.c:4344,1
    - Dst: X509_get_subject_name
      Src: /src/haproxy/src/ssl_sock.c:4347,1
    - Dst: X509_NAME_get_index_by_NID
      Src: /src/haproxy/src/ssl_sock.c:4349,1
    - Dst: X509_NAME_get_entry
      Src: /src/haproxy/src/ssl_sock.c:4350,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/haproxy/src/ssl_sock.c:4352,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/haproxy/src/ssl_sock.c:4353,1
    - Dst: ssl_sock_srv_hostcheck
      Src: /src/haproxy/src/ssl_sock.c:4354,1
    - Dst: OPENSSL_free
      Src: /src/haproxy/src/ssl_sock.c:4355,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_sock.c:4377,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4378,1
    - Dst: ssl_sock_load_srv_cert
      Src: /src/haproxy/src/ssl_sock.c:4392,1
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_sock.c:4395,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4397,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:4402,1
    - Dst: SSL_CTX_new
      Src: /src/haproxy/src/ssl_sock.c:4410,1
    - Dst: SSLv23_client_method
      Src: /src/haproxy/src/ssl_sock.c:4410,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4412,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/haproxy/src/ssl_sock.c:4417,1
    - Dst: ssl_sock_prep_srv_ctx_and_inst
      Src: /src/haproxy/src/ssl_sock.c:4422,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/haproxy/src/ssl_sock.c:4456,1
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_sock.c:4459,1
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_sock.c:4478,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/ssl_sock.c:4480,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4495,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/ssl_sock.c:4496,1
    - Dst: ctx_set_version
      Src: /src/haproxy/src/ssl_sock.c:4504,1
    - Dst: ctx_set_version
      Src: /src/haproxy/src/ssl_sock.c:4511,1
    - Dst: ctx_set_version
      Src: /src/haproxy/src/ssl_sock.c:4512,1
    - Dst: SSL_CTX_set_options
      Src: /src/haproxy/src/ssl_sock.c:4517,1
    - Dst: SSL_CTX_set_mode
      Src: /src/haproxy/src/ssl_sock.c:4523,1
    - Dst: SSL_CTX_set_verify
      Src: /src/haproxy/src/ssl_sock.c:4535,1
    - Dst: ssl_set_verify_locations_file
      Src: /src/haproxy/src/ssl_sock.c:4540,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4541,1
    - Dst: X509_STORE_set_flags
      Src: /src/haproxy/src/ssl_sock.c:4547,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4552,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4554,1
    - Dst: ssl_set_cert_crl_file
      Src: /src/haproxy/src/ssl_sock.c:4559,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4560,1
    - Dst: X509_STORE_set_flags
      Src: /src/haproxy/src/ssl_sock.c:4565,1
    - Dst: SSL_CTX_set_session_cache_mode
      Src: /src/haproxy/src/ssl_sock.c:4571,1
    - Dst: SSL_CTX_sess_set_new_cb
      Src: /src/haproxy/src/ssl_sock.c:4572,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/haproxy/src/ssl_sock.c:4574,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4575,1
    - Dst: SSL_CTX_set_msg_callback
      Src: /src/haproxy/src/ssl_sock.c:4581,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/haproxy/src/ssl_sock.c:4587,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/haproxy/src/ssl_sock.c:4592,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4593,1
    - Dst: SSL_CTX_set_next_proto_select_cb
      Src: /src/haproxy/src/ssl_sock.c:4600,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/haproxy/src/ssl_sock.c:4604,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/haproxy/src/ssl_sock.c:4610,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4611,1
    - Dst: SSL_CTX_set1_client_sigalgs_list
      Src: /src/haproxy/src/ssl_sock.c:4620,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4621,1
    - Dst: SSL_CTX_set1_curves_list
      Src: /src/haproxy/src/ssl_sock.c:4631,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4632,1
    - Dst: ssl_sock_prepare_srv_ssl_ctx
      Src: /src/haproxy/src/ssl_sock.c:4657,1
    - Dst: ckch_inst_add_cafile_link
      Src: /src/haproxy/src/ssl_sock.c:4659,1
    - Dst: xprt_get
      Src: /src/haproxy/src/ssl_sock.c:4673,1
    - Dst: ssl_quic_initial_ctx
      Src: /src/haproxy/src/ssl_sock.c:4674,1
    - Dst: ssl_sock_initial_ctx
      Src: /src/haproxy/src/ssl_sock.c:4676,1
    - Dst: ssl_sock_initial_ctx
      Src: /src/haproxy/src/ssl_sock.c:4681,1
    - Dst: ssl_initial_ctx
      Src: /src/haproxy/src/ssl_sock.c:4702,1
    - Dst: ssl_sock_prep_ctx_and_inst
      Src: /src/haproxy/src/ssl_sock.c:4706,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/ssl_sock.c:4709,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_sock.c:4711,1
    - Dst: ssl_sock_prep_ctx_and_inst
      Src: /src/haproxy/src/ssl_sock.c:4714,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/ssl_sock.c:4716,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/ssl_sock.c:4719,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_sock.c:4721,1
    - Dst: ssl_sock_prep_ctx_and_inst
      Src: /src/haproxy/src/ssl_sock.c:4724,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/ssl_sock.c:4726,1
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_sock.c:4730,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4732,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:4736,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/ssl_sock.c:4752,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/ssl_sock.c:4752,1
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_sock.c:4753,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/ssl_sock.c:4760,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/ssl_sock.c:4760,1
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_sock.c:4762,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4766,1
    - Dst: ssl_sock_chose_sni_ctx
      Src: /src/haproxy/src/ssl_sock.c:4776,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4778,1
    - Dst: shctx_init
      Src: /src/haproxy/src/ssl_sock.c:4785,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4790,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:4792,1
    - Dst: ssl_sock_prepare_all_ctx
      Src: /src/haproxy/src/ssl_sock.c:4803,1
    - Dst: ssl_sock_gencert_load_ca
      Src: /src/haproxy/src/ssl_sock.c:4807,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:4818,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:4821,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:4827,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:4828,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:4830,1
    - Dst: SSL_CTX_free
      Src: /src/haproxy/src/ssl_sock.c:4834,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:4838,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:4839,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:4840,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:4841,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:4843,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/ssl_sock.c:4844,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:4847,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:4849,1
    - Dst: ckch_inst_free
      Src: /src/haproxy/src/ssl_sock.c:4852,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/ssl_sock.c:4863,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_sock.c:4865,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/ssl_sock.c:4866,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/ssl_sock.c:4867,1
    - Dst: SSL_CTX_free
      Src: /src/haproxy/src/ssl_sock.c:4868,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_sock.c:4869,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:4870,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/ssl_sock.c:4874,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_sock.c:4876,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/ssl_sock.c:4877,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/ssl_sock.c:4878,1
    - Dst: SSL_CTX_free
      Src: /src/haproxy/src/ssl_sock.c:4879,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_sock.c:4880,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:4881,1
    - Dst: SSL_CTX_free
      Src: /src/haproxy/src/ssl_sock.c:4885,1
    - Dst: crtlist_deinit
      Src: /src/haproxy/src/ssl_sock.c:4892,1
    - Dst: ckch_deinit
      Src: /src/haproxy/src/ssl_sock.c:4893,1
    - Dst: REGISTER_POST_DEINIT
      Src: /src/haproxy/src/ssl_sock.c:4895,1
    - Dst: ssl_sock_gencert_free_ca
      Src: /src/haproxy/src/ssl_sock.c:4901,1
    - Dst: ssl_sock_free_all_ctx
      Src: /src/haproxy/src/ssl_sock.c:4903,1
    - Dst: ssl_sock_free_ssl_conf
      Src: /src/haproxy/src/ssl_sock.c:4904,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:4905,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:4906,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:4908,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:4909,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_sock.c:4910,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:4911,1
    - Dst: SSL_new
      Src: /src/haproxy/src/ssl_sock.c:4935,1
    - Dst: pool_gc
      Src: /src/haproxy/src/ssl_sock.c:4940,1
    - Dst: BIO_new
      Src: /src/haproxy/src/ssl_sock.c:4944,1
    - Dst: SSL_free
      Src: /src/haproxy/src/ssl_sock.c:4946,1
    - Dst: pool_gc
      Src: /src/haproxy/src/ssl_sock.c:4951,1
    - Dst: BIO_set_data
      Src: /src/haproxy/src/ssl_sock.c:4955,1
    - Dst: SSL_set_bio
      Src: /src/haproxy/src/ssl_sock.c:4956,1
    - Dst: SSL_set_ex_data
      Src: /src/haproxy/src/ssl_sock.c:4959,1
    - Dst: SSL_free
      Src: /src/haproxy/src/ssl_sock.c:4960,1
    - Dst: pool_gc
      Src: /src/haproxy/src/ssl_sock.c:4965,1
    - Dst: struct ssl_sock_ctx*::xprt::start
      Src: /src/haproxy/src/ssl_sock.c:4986,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/ssl_sock.c:4990,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/ssl_sock.c:5010,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/ssl_sock.c:5010,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/ssl_sock.c:5031,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/ssl_sock.c:5036,1
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:5039,1
    - Dst: increment_sslconn
      Src: /src/haproxy/src/ssl_sock.c:5054,1
    - Dst: xprt_get
      Src: /src/haproxy/src/ssl_sock.c:5063,1
    - Dst: struct ssl_sock_ctx*::xprt::init
      Src: /src/haproxy/src/ssl_sock.c:5065,1
    - Dst: objt_server
      Src: /src/haproxy/src/ssl_sock.c:5071,1
    - Dst: __objt_server
      Src: /src/haproxy/src/ssl_sock.c:5072,1
    - Dst: ssl_bio_and_sess_init
      Src: /src/haproxy/src/ssl_sock.c:5074,1
    - Dst: SSL_set_connect_state
      Src: /src/haproxy/src/ssl_sock.c:5078,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/ssl_sock.c:5079,1
    - Dst: d2i_SSL_SESSION
      Src: /src/haproxy/src/ssl_sock.c:5088,1
    - Dst: SSL_set_session
      Src: /src/haproxy/src/ssl_sock.c:5090,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ssl_sock.c:5091,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/ssl_sock.c:5093,1
    - Dst: SSL_SESSION_free
      Src: /src/haproxy/src/ssl_sock.c:5094,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/ssl_sock.c:5095,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_sock.c:5096,1
    - Dst: HA_RWLOCK_WRTORD
      Src: /src/haproxy/src/ssl_sock.c:5097,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/haproxy/src/ssl_sock.c:5099,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_sock.c:5100,1
    - Dst: SSL_SESSION_free
      Src: /src/haproxy/src/ssl_sock.c:5103,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/ssl_sock.c:5104,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/haproxy/src/ssl_sock.c:5106,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_sock.c:5107,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ssl_sock.c:5118,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/ssl_sock.c:5121,1
    - Dst: d2i_SSL_SESSION
      Src: /src/haproxy/src/ssl_sock.c:5125,1
    - Dst: SSL_set_session
      Src: /src/haproxy/src/ssl_sock.c:5127,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/ssl_sock.c:5128,1
    - Dst: SSL_SESSION_free
      Src: /src/haproxy/src/ssl_sock.c:5129,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/haproxy/src/ssl_sock.c:5134,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_sock.c:5136,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_sock.c:5139,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/ssl_sock.c:5144,1
    - Dst: objt_listener
      Src: /src/haproxy/src/ssl_sock.c:5148,1
    - Dst: __objt_listener
      Src: /src/haproxy/src/ssl_sock.c:5149,1
    - Dst: ssl_bio_and_sess_init
      Src: /src/haproxy/src/ssl_sock.c:5151,1
    - Dst: b_alloc
      Src: /src/haproxy/src/ssl_sock.c:5157,1
    - Dst: SSL_set_max_early_data
      Src: /src/haproxy/src/ssl_sock.c:5158,1
    - Dst: b_is_null
      Src: /src/haproxy/src/ssl_sock.c:5162,1
    - Dst: SSL_set_accept_state
      Src: /src/haproxy/src/ssl_sock.c:5167,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/ssl_sock.c:5176,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/ssl_sock.c:5184,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/ssl_sock.c:5186,1
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:5187,1
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:5200,1
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/ssl_sock.c:5210,1
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sock.c:5214,1
    - Dst: __objt_listener
      Src: /src/haproxy/src/ssl_sock.c:5216,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/ssl_sock.c:5217,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/ssl_sock.c:5218,1
    - Dst: __objt_server
      Src: /src/haproxy/src/ssl_sock.c:5223,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/ssl_sock.c:5224,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/ssl_sock.c:5225,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ssl_sock.c:5245,1
    - Dst: getsockopt
      Src: /src/haproxy/src/ssl_sock.c:5249,1
    - Dst: SSL_read_early_data
      Src: /src/haproxy/src/ssl_sock.c:5263,1
    - Dst: b_tail
      Src: /src/haproxy/src/ssl_sock.c:5264,1
    - Dst: b_room
      Src: /src/haproxy/src/ssl_sock.c:5264,1
    - Dst: b_add
      Src: /src/haproxy/src/ssl_sock.c:5270,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_sock.c:5274,1
    - Dst: b_free
      Src: /src/haproxy/src/ssl_sock.c:5275,1
    - Dst: SSL_renegotiate_pending
      Src: /src/haproxy/src/ssl_sock.c:5287,1
    - Dst: SSL_peek
      Src: /src/haproxy/src/ssl_sock.c:5290,1
    - Dst: SSL_get_error
      Src: /src/haproxy/src/ssl_sock.c:5293,1
    - Dst: struct ssl_sock_ctx*::xprt::subscribe
      Src: /src/haproxy/src/ssl_sock.c:5298,1
    - Dst: SSL_renegotiate_pending
      Src: /src/haproxy/src/ssl_sock.c:5305,1
    - Dst: struct ssl_sock_ctx*::xprt::subscribe
      Src: /src/haproxy/src/ssl_sock.c:5311,1
    - Dst: ssl_async_process_fds
      Src: /src/haproxy/src/ssl_sock.c:5316,1
    - Dst: SSL_get_state
      Src: /src/haproxy/src/ssl_sock.c:5332,1
    - Dst: conn_ctrl_drain
      Src: /src/haproxy/src/ssl_sock.c:5369,1
    - Dst: SSL_do_handshake
      Src: /src/haproxy/src/ssl_sock.c:5379,1
    - Dst: SSL_get_error
      Src: /src/haproxy/src/ssl_sock.c:5383,1
    - Dst: ERR_peek_error
      Src: /src/haproxy/src/ssl_sock.c:5386,1
    - Dst: struct ssl_sock_ctx*::xprt::subscribe
      Src: /src/haproxy/src/ssl_sock.c:5391,1
    - Dst: struct ssl_sock_ctx*::xprt::subscribe
      Src: /src/haproxy/src/ssl_sock.c:5397,1
    - Dst: ssl_async_process_fds
      Src: /src/haproxy/src/ssl_sock.c:5403,1
    - Dst: SSL_get_state
      Src: /src/haproxy/src/ssl_sock.c:5419,1
    - Dst: conn_ctrl_drain
      Src: /src/haproxy/src/ssl_sock.c:5452,1
    - Dst: conn_ctrl_drain
      Src: /src/haproxy/src/ssl_sock.c:5464,1
    CyclomaticComplexity: 212
    EdgeCount: 212
    ICount: 674
    argCount: 2
    argNames:
    - ok
    - ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 5470
      start: 4278
    functionDepth: 6
    functionLinenumber: 4278
    functionLinenumberEnd: 5470
    functionName: ssl_sock_srv_verifycbk
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - LIST_DELETE
    - eb_is_empty
    - ssl_sock_load_srv_cert
    - BIO_set_data
    - pool_gc
    - BIO_new
    - ssl_sock_prep_ctx_and_inst
    - SSL_CTX_set_session_cache_mode
    - SSL_CTX_set1_client_sigalgs_list
    - b_alloc
    - SSL_set_max_early_data
    - SSL_set_connect_state
    - ssl_sock_srv_hostcheck
    - REGISTER_POST_DEINIT
    - objt_listener
    - __objt_server
    - SSL_CTX_get_cert_store
    - SSL_renegotiate_pending
    - STACK_OF
    - ssl_sock_chose_sni_ctx
    - SSL_get_error
    - _HA_ATOMIC_INC
    - tasklet_wakeup
    - __ha_cpu_relax
    - SSLv23_client_method
    - xprt_get
    - HA_ATOMIC_CAS
    - HA_RWLOCK_WRLOCK
    - ssl_quic_initial_ctx
    - ASN1_STRING_to_UTF8
    - ha_alert
    - SSL_CTX_set_options
    - b_room
    - ha_free
    - ha_warning
    - SSL_free
    - OPENSSL_free
    - ckch_inst_add_cafile_link
    - pool_alloc
    - ebmb_next
    - SSL_CTX_sess_set_new_cb
    - ctx_set_version
    - ssl_set_cert_crl_file
    - SSL_set_accept_state
    - d2i_SSL_SESSION
    - ERR_peek_error
    - crtlist_deinit
    - X509_NAME_get_index_by_NID
    - tasklet_free
    - X509_get_ext_d2i
    - X509_STORE_CTX_get_ex_data
    - X509_NAME_ENTRY_get_data
    - SSL_CTX_set_ciphersuites
    - SSL_CTX_set1_curves_list
    - ckch_inst_free
    - HA_RWLOCK_RDLOCK
    - SSL_CTX_new
    - obj_type
    - struct ssl_sock_ctx*::xprt::subscribe
    - SSL_set_session
    - X509_STORE_CTX_get_error_depth
    - SSL_get_ex_data
    - HA_RWLOCK_WRTORD
    - SSL_CTX_set_msg_callback
    - ckch_deinit
    - ssl_sock_gencert_free_ca
    - ssl_bio_and_sess_init
    - SSL_CTX_set_security_level
    - SSL_CTX_free
    - EXTRA_COUNTERS_GET
    - sk_GENERAL_NAME_value
    - SSL_set_bio
    - BUG_ON
    - b_free
    - sk_GENERAL_NAME_pop_free
    - _HA_ATOMIC_CAS
    - SSL_CTX_set_mode
    - free
    - SSL_CTX_set1_sigalgs_list
    - SSL_get_state
    - ssl_sock_prepare_srv_ssl_ctx
    - struct ssl_sock_ctx*::xprt::init
    - ssl_sock_free_ssl_conf
    - conn_ctrl_ready
    - proxy_type_str
    - SSL_SESSION_free
    - SSL_CTX_set_verify
    - X509_STORE_set_flags
    - SSL_get_ex_data_X509_STORE_CTX_idx
    - getsockopt
    - _HA_ATOMIC_DEC
    - SSL_read_early_data
    - __conn_get_ssl_sock_ctx
    - SSL_CTX_set_alpn_protos
    - SSL_set_ex_data
    - struct ssl_sock_ctx*::xprt::start
    - HA_RWLOCK_RDUNLOCK
    - increment_sslconn
    - ssl_initial_ctx
    - ssl_sock_gencert_load_ca
    - conn_ctrl_drain
    - ssl_sock_initial_ctx
    - SSL_CTX_set_next_proto_select_cb
    - ssl_sock_prep_srv_ctx_and_inst
    - ebmb_first
    - SSL_do_handshake
    - HA_ATOMIC_LOAD
    - tasklet_new
    - conn_get_ssl_sock_ctx
    - X509_NAME_get_entry
    - ssl_sock_free_all_ctx
    - SSL_set_tlsext_host_name
    - SSL_CTX_set_cipher_list
    - ssl_set_verify_locations_file
    - X509_STORE_CTX_get_current_cert
    - SSL_CTX_set_keylog_callback
    - X509_get_subject_name
    - b_tail
    - release_sample_expr
    - b_is_null
    - ssl_async_process_fds
    - objt_server
    - SSL_get_servername
    - pool_free
    - b_data
    - shctx_init
    - SSL_new
    - __objt_listener
    - calloc
    - ssl_sock_prepare_all_ctx
    - b_add
    - ebmb_entry
    - SSL_peek
    - sk_GENERAL_NAME_num
    - ebmb_delete
    linkageType: ''
    returnType: int
    signature: ssl_sock_srv_verifycbk(int ok, X509_STORE_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/ssl_sock.c:5572,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ssl_sock.c:5573,1
    - Dst: struct ssl_sock_ctx*::xprt::subscribe
      Src: /src/haproxy/src/ssl_sock.c:5581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - conn
    - xprt_ctx
    - event_type
    - es
    argTypes:
    - struct connection*
    - void*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 5583
      start: 5565
    functionDepth: 0
    functionLinenumber: 5565
    functionLinenumberEnd: 5583
    functionName: ssl_subscribe
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - struct ssl_sock_ctx*::xprt::subscribe
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: ssl_subscribe(struct connection *conn, void *xprt_ctx, int event_type,
      struct wait_event *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/ssl_sock.c:5593,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ssl_sock.c:5594,1
    - Dst: conn_unsubscribe
      Src: /src/haproxy/src/ssl_sock.c:5607,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - conn
    - xprt_ctx
    - event_type
    - es
    argTypes:
    - struct connection*
    - void*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 5610
      start: 5589
    functionDepth: 2
    functionLinenumber: 5589
    functionLinenumberEnd: 5610
    functionName: ssl_unsubscribe
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - conn_unsubscribe
    linkageType: ''
    returnType: int
    signature: ssl_unsubscribe(struct connection *conn, void *xprt_ctx, int event_type,
      struct wait_event *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tasklet_new
      Src: /src/haproxy/src/ssl_sock.c:5623,1
    - Dst: tasklet_wakeup_on
      Src: /src/haproxy/src/ssl_sock.c:5629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - conn
    - xprt_ctx
    - orig_tid
    - release
    argTypes:
    - struct connection*
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 5638
      start: 5617
    functionDepth: 1
    functionLinenumber: 5617
    functionLinenumberEnd: 5638
    functionName: ssl_takeover
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - tasklet_new
    - tasklet_wakeup_on
    linkageType: ''
    returnType: int
    signature: ssl_takeover(struct connection *conn, void *xprt_ctx, int orig_tid,
      int release)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/ssl_sock.c:5651,1
    - Dst: xprt_set_idle
      Src: /src/haproxy/src/ssl_sock.c:5653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - xprt_ctx
    argTypes:
    - struct connection*
    - void*
    constantsTouched: []
    func_position:
      end: 5654
      start: 5644
    functionDepth: 1
    functionLinenumber: 5644
    functionLinenumberEnd: 5654
    functionName: ssl_set_idle
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - xprt_set_idle
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: ssl_set_idle(struct connection *conn, void *xprt_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/ssl_sock.c:5666,1
    - Dst: xprt_set_used
      Src: /src/haproxy/src/ssl_sock.c:5668,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - xprt_ctx
    argTypes:
    - struct connection*
    - void*
    constantsTouched: []
    func_position:
      end: 5669
      start: 5659
    functionDepth: 1
    functionLinenumber: 5659
    functionLinenumberEnd: 5669
    functionName: ssl_set_used
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - xprt_set_used
    - HA_ATOMIC_AND
    linkageType: ''
    returnType: void
    signature: ssl_set_used(struct connection *conn, void *xprt_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - conn
    - xprt_ctx
    - toadd_ctx
    - toadd_ops
    - oldxprt_ctx
    - oldxprt_ops
    argTypes:
    - struct connection*
    - void*
    - void*
    - struct xprt_ops*
    - void**
    - struct xprt_ops**
    constantsTouched: []
    func_position:
      end: 5685
      start: 5674
    functionDepth: 0
    functionLinenumber: 5674
    functionLinenumberEnd: 5685
    functionName: ssl_add_xprt
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ssl_add_xprt(struct connection *conn, void *xprt_ctx, void *toadd_ctx,
      const struct xprt_ops *toadd_ops, void **oldxprt_ctx, const struct xprt_ops
      **oldxprt_ops)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ssl_sock_ctx*::xprt::remove_xprt
      Src: /src/haproxy/src/ssl_sock.c:5700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - conn
    - xprt_ctx
    - toremove_ctx
    - newops
    - newctx
    argTypes:
    - struct connection*
    - void*
    - void*
    - struct xprt_ops*
    - void*
    constantsTouched: []
    func_position:
      end: 5701
      start: 5691
    functionDepth: 0
    functionLinenumber: 5691
    functionLinenumberEnd: 5701
    functionName: ssl_remove_xprt
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - struct ssl_sock_ctx*::xprt::remove_xprt
    linkageType: ''
    returnType: int
    signature: ssl_remove_xprt(struct connection *conn, void *xprt_ctx, void *toremove_ctx,
      const struct xprt_ops *newops, void *newctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_sock.c:5715,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_sock.c:5717,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/ssl_sock.c:5718,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/ssl_sock.c:5724,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_sock.c:5725,1
    - Dst: ssl_sock_handshake
      Src: /src/haproxy/src/ssl_sock.c:5733,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ssl_sock.c:5736,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/ssl_sock.c:5750,1
    - Dst: conn_create_mux
      Src: /src/haproxy/src/ssl_sock.c:5763,1
    - Dst: struct ssl_sock_ctx*::conn::mux::wake
      Src: /src/haproxy/src/ssl_sock.c:5765,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_sock.c:5771,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/ssl_sock.c:5773,1
    - Dst: objt_server
      Src: /src/haproxy/src/ssl_sock.c:5781,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_sock.c:5783,1
    - Dst: _srv_add_idle
      Src: /src/haproxy/src/ssl_sock.c:5784,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_sock.c:5785,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 5788
      start: 5703
    functionDepth: 2
    functionLinenumber: 5703
    functionLinenumberEnd: 5788
    functionName: ssl_sock_io_cb
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - tasklet_free
    - objt_server
    - _HA_ATOMIC_AND
    - struct ssl_sock_ctx*::conn::mux::wake
    - HA_SPIN_UNLOCK
    - ssl_sock_handshake
    - tasklet_wakeup
    - HA_SPIN_LOCK
    - b_data
    - conn_create_mux
    - _srv_add_idle
    - conn_delete_from_tree
    linkageType: ''
    returnType: struct task
    signature: '*ssl_sock_io_cb(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/ssl_sock.c:5808,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/ssl_sock.c:5809,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_sock.c:5810,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_sock.c:5811,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sock.c:5812,1
    - Dst: b_tail
      Src: /src/haproxy/src/ssl_sock.c:5812,1
    - Dst: b_head
      Src: /src/haproxy/src/ssl_sock.c:5812,1
    - Dst: b_add
      Src: /src/haproxy/src/ssl_sock.c:5813,1
    - Dst: b_del
      Src: /src/haproxy/src/ssl_sock.c:5814,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_sock.c:5815,1
    - Dst: b_free
      Src: /src/haproxy/src/ssl_sock.c:5816,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/ssl_sock.c:5832,1
    - Dst: SSL_read
      Src: /src/haproxy/src/ssl_sock.c:5839,1
    - Dst: b_tail
      Src: /src/haproxy/src/ssl_sock.c:5839,1
    - Dst: b_add
      Src: /src/haproxy/src/ssl_sock.c:5846,1
    - Dst: SSL_get_error
      Src: /src/haproxy/src/ssl_sock.c:5851,1
    - Dst: struct ssl_sock_ctx*::xprt::subscribe
      Src: /src/haproxy/src/ssl_sock.c:5855,1
    - Dst: SSL_set_mode
      Src: /src/haproxy/src/ssl_sock.c:5859,1
    - Dst: SSL_renegotiate_pending
      Src: /src/haproxy/src/ssl_sock.c:5864,1
    - Dst: struct ssl_sock_ctx*::xprt::subscribe
      Src: /src/haproxy/src/ssl_sock.c:5865,1
    - Dst: SSL_set_mode
      Src: /src/haproxy/src/ssl_sock.c:5873,1
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:5881,1
    - Dst: ERR_peek_error
      Src: /src/haproxy/src/ssl_sock.c:5883,1
    - Dst: ssl_sock_dump_errors
      Src: /src/haproxy/src/ssl_sock.c:5900,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_sock.c:5901,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/ssl_sock.c:5903,1
    - Dst: conn_sock_read0
      Src: /src/haproxy/src/ssl_sock.c:5904,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/ssl_sock.c:5908,1
    - Dst: ssl_sock_dump_errors
      Src: /src/haproxy/src/ssl_sock.c:5911,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_sock.c:5912,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 87
    argCount: 5
    argNames:
    - conn
    - xprt_ctx
    - buf
    - count
    - flags
    argTypes:
    - struct connection*
    - void*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 5914
      start: 5798
    functionDepth: 2
    functionLinenumber: 5798
    functionLinenumberEnd: 5914
    functionName: ssl_sock_to_buf
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - b_head
    - conn_get_ssl_sock_ctx
    - b_contig_space
    - b_free
    - ssl_sock_dump_errors
    - b_tail
    - SSL_set_mode
    - SSL_renegotiate_pending
    - ERR_peek_error
    - SSL_get_error
    - SSL_read
    - struct ssl_sock_ctx*::xprt::subscribe
    - b_data
    - conn_sock_read0
    - b_add
    - b_del
    - conn_report_term_evt
    - ERR_clear_error
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: ssl_sock_to_buf(struct connection *conn, void *xprt_ctx, struct buffer
      *buf, size_t count, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_contig_data
      Src: /src/haproxy/src/ssl_sock.c:5953,1
    - Dst: SSL_is_init_finished
      Src: /src/haproxy/src/ssl_sock.c:5979,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/ssl_sock.c:5979,1
    - Dst: objt_listener
      Src: /src/haproxy/src/ssl_sock.c:5982,1
    - Dst: SSL_get_max_early_data
      Src: /src/haproxy/src/ssl_sock.c:5983,1
    - Dst: SSL_get0_session
      Src: /src/haproxy/src/ssl_sock.c:5985,1
    - Dst: SSL_SESSION_get_max_early_data
      Src: /src/haproxy/src/ssl_sock.c:5986,1
    - Dst: SSL_get0_session
      Src: /src/haproxy/src/ssl_sock.c:5986,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/ssl_sock.c:5995,1
    - Dst: SSL_write_early_data
      Src: /src/haproxy/src/ssl_sock.c:5999,1
    - Dst: b_peek
      Src: /src/haproxy/src/ssl_sock.c:5999,1
    - Dst: objt_server
      Src: /src/haproxy/src/ssl_sock.c:6003,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/ssl_sock.c:6006,1
    - Dst: SSL_write
      Src: /src/haproxy/src/ssl_sock.c:6013,1
    - Dst: b_peek
      Src: /src/haproxy/src/ssl_sock.c:6013,1
    - Dst: SSL_get_error
      Src: /src/haproxy/src/ssl_sock.c:6027,1
    - Dst: SSL_renegotiate_pending
      Src: /src/haproxy/src/ssl_sock.c:6030,1
    - Dst: struct ssl_sock_ctx*::xprt::subscribe
      Src: /src/haproxy/src/ssl_sock.c:6033,1
    - Dst: SSL_set_mode
      Src: /src/haproxy/src/ssl_sock.c:6037,1
    - Dst: struct ssl_sock_ctx*::xprt::subscribe
      Src: /src/haproxy/src/ssl_sock.c:6047,1
    - Dst: SSL_set_mode
      Src: /src/haproxy/src/ssl_sock.c:6053,1
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:6058,1
    - Dst: ERR_peek_error
      Src: /src/haproxy/src/ssl_sock.c:6061,1
    - Dst: ssl_sock_dump_errors
      Src: /src/haproxy/src/ssl_sock.c:6072,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_sock.c:6073,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/ssl_sock.c:6075,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 95
    argCount: 5
    argNames:
    - conn
    - xprt_ctx
    - buf
    - count
    - flags
    argTypes:
    - struct connection*
    - void*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 6078
      start: 5929
    functionDepth: 2
    functionLinenumber: 5929
    functionLinenumberEnd: 6078
    functionName: ssl_sock_from_buf
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_write_early_data
    - SSL_write
    - conn_get_ssl_sock_ctx
    - ssl_sock_dump_errors
    - b_peek
    - objt_listener
    - SSL_set_mode
    - SSL_renegotiate_pending
    - ERR_peek_error
    - SSL_get_error
    - SSL_get_max_early_data
    - objt_server
    - tasklet_wakeup
    - SSL_get0_session
    - conn_is_back
    - b_contig_data
    - struct ssl_sock_ctx*::xprt::subscribe
    - SSL_SESSION_get_max_early_data
    - SSL_is_init_finished
    - conn_report_term_evt
    - ERR_clear_error
    linkageType: ''
    returnType: size_t
    signature: ssl_sock_from_buf(struct connection *conn, void *xprt_ctx, const struct
      buffer *buf, size_t count, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct ssl_sock_ctx*::xprt::unsubscribe
      Src: /src/haproxy/src/ssl_sock.c:6087,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/ssl_sock.c:6092,1
    - Dst: struct ssl_sock_ctx*::xprt::close
      Src: /src/haproxy/src/ssl_sock.c:6096,1
    - Dst: SSL_get_all_async_fds
      Src: /src/haproxy/src/ssl_sock.c:6103,1
    - Dst: send_log
      Src: /src/haproxy/src/ssl_sock.c:6105,1
    - Dst: SSL_get_all_async_fds
      Src: /src/haproxy/src/ssl_sock.c:6109,1
    - Dst: SSL_waiting_for_async
      Src: /src/haproxy/src/ssl_sock.c:6114,1
    - Dst: fd_want_recv
      Src: /src/haproxy/src/ssl_sock.c:6122,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/ssl_sock.c:6126,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/ssl_sock.c:6128,1
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:6129,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/ssl_sock.c:6130,1
    - Dst: fd_delete
      Src: /src/haproxy/src/ssl_sock.c:6145,1
    - Dst: SSL_free
      Src: /src/haproxy/src/ssl_sock.c:6149,1
    - Dst: b_free
      Src: /src/haproxy/src/ssl_sock.c:6150,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/ssl_sock.c:6151,1
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:6152,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/ssl_sock.c:6153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - conn
    - xprt_ctx
    argTypes:
    - struct connection*
    - void*
    constantsTouched: []
    func_position:
      end: 6155
      start: 6080
    functionDepth: 1
    functionLinenumber: 6080
    functionLinenumberEnd: 6155
    functionName: ssl_sock_close
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - send_log
    - tasklet_free
    - SSL_waiting_for_async
    - fd_delete
    - b_free
    - _HA_ATOMIC_DEC
    - struct ssl_sock_ctx*::xprt::unsubscribe
    - _HA_ATOMIC_INC
    - SSL_free
    - tasklet_wakeup
    - pool_free
    - fd_want_recv
    - struct ssl_sock_ctx*::xprt::close
    - SSL_get_all_async_fds
    - fd_cant_recv
    linkageType: ''
    returnType: void
    signature: ssl_sock_close(struct connection *conn, void *xprt_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/ssl_sock.c:6166,1
    - Dst: SSL_set_quiet_shutdown
      Src: /src/haproxy/src/ssl_sock.c:6169,1
    - Dst: SSL_shutdown
      Src: /src/haproxy/src/ssl_sock.c:6171,1
    - Dst: ssl_sock_dump_errors
      Src: /src/haproxy/src/ssl_sock.c:6173,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_sock.c:6174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - conn
    - xprt_ctx
    - clean
    argTypes:
    - struct connection*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 6176
      start: 6160
    functionDepth: 2
    functionLinenumber: 6160
    functionLinenumberEnd: 6176
    functionName: ssl_sock_shutw
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ssl_sock_dump_errors
    - SSL_shutdown
    - conn_report_term_evt
    - SSL_set_quiet_shutdown
    - ERR_clear_error
    linkageType: ''
    returnType: void
    signature: ssl_sock_shutw(struct connection *conn, void *xprt_ctx, int clean)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:6182,1
    - Dst: SSL_get_certificate
      Src: /src/haproxy/src/ssl_sock.c:6187,1
    - Dst: cert_get_pkey_algo
      Src: /src/haproxy/src/ssl_sock.c:6191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - conn
    - out
    argTypes:
    - struct connection*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 6192
      start: 6180
    functionDepth: 1
    functionLinenumber: 6180
    functionLinenumberEnd: 6192
    functionName: ssl_sock_get_pkey_algo
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 1
    functionsReached:
    - cert_get_pkey_algo
    - SSL_get_certificate
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: int
    signature: ssl_sock_get_pkey_algo(struct connection *conn, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:6197,1
    - Dst: SSL_get_certificate
      Src: /src/haproxy/src/ssl_sock.c:6204,1
    - Dst: X509_ALGOR_get0
      Src: /src/haproxy/src/ssl_sock.c:6207,1
    - Dst: X509_get0_tbs_sigalg
      Src: /src/haproxy/src/ssl_sock.c:6207,1
    - Dst: OBJ_nid2sn
      Src: /src/haproxy/src/ssl_sock.c:6208,1
    - Dst: OBJ_obj2nid
      Src: /src/haproxy/src/ssl_sock.c:6208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 6209
      start: 6195
    functionDepth: 1
    functionLinenumber: 6195
    functionLinenumberEnd: 6209
    functionName: ssl_sock_get_cert_sig
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 1
    functionsReached:
    - SSL_get_certificate
    - OBJ_obj2nid
    - conn_get_ssl_sock_ctx
    - OBJ_nid2sn
    - X509_get0_tbs_sigalg
    - X509_ALGOR_get0
    linkageType: ''
    returnType: char
    signature: '*ssl_sock_get_cert_sig(struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:6215,1
    - Dst: SSL_get_servername
      Src: /src/haproxy/src/ssl_sock.c:6219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 6223
      start: 6212
    functionDepth: 1
    functionLinenumber: 6212
    functionLinenumberEnd: 6223
    functionName: ssl_sock_get_sni
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 1
    functionsReached:
    - SSL_get_servername
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: char
    signature: '*ssl_sock_get_sni(struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:6228,1
    - Dst: SSL_get_cipher_name
      Src: /src/haproxy/src/ssl_sock.c:6232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 6233
      start: 6226
    functionDepth: 1
    functionLinenumber: 6226
    functionLinenumberEnd: 6233
    functionName: ssl_sock_get_cipher_name
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 1
    functionsReached:
    - SSL_get_cipher_name
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: char
    signature: '*ssl_sock_get_cipher_name(struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:6238,1
    - Dst: SSL_get_version
      Src: /src/haproxy/src/ssl_sock.c:6242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 6243
      start: 6236
    functionDepth: 1
    functionLinenumber: 6236
    functionLinenumberEnd: 6243
    functionName: ssl_sock_get_proto_version
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 1
    functionsReached:
    - SSL_get_version
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: char
    signature: '*ssl_sock_get_proto_version(struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:6248,1
    - Dst: SSL_set_alpn_protos
      Src: /src/haproxy/src/ssl_sock.c:6252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - conn
    - alpn
    - len
    argTypes:
    - struct connection*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 6254
      start: 6245
    functionDepth: 1
    functionLinenumber: 6245
    functionLinenumberEnd: 6254
    functionName: ssl_sock_set_alpn
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 1
    functionsReached:
    - SSL_set_alpn_protos
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: void
    signature: ssl_sock_set_alpn(struct connection *conn, const unsigned char *alpn,
      int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:6262,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ssl_sock.c:6268,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ssl_sock.c:6269,1
    - Dst: SSL_get_servername
      Src: /src/haproxy/src/ssl_sock.c:6279,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_sock.c:6282,1
    - Dst: SSL_set_session
      Src: /src/haproxy/src/ssl_sock.c:6283,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/haproxy/src/ssl_sock.c:6284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - conn
    - hostname
    argTypes:
    - struct connection*
    - char*
    constantsTouched: []
    func_position:
      end: 6287
      start: 6259
    functionDepth: 1
    functionLinenumber: 6259
    functionLinenumberEnd: 6287
    functionName: ssl_sock_set_servername
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 2
    functionsReached:
    - SSL_set_tlsext_host_name
    - strcmp
    - SSL_get_servername
    - conn_get_ssl_sock_ctx
    - BUG_ON
    - SSL_set_session
    linkageType: ''
    returnType: void
    signature: ssl_sock_set_servername(struct connection *conn, const char *hostname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:6298,1
    - Dst: SSL_get_peer_certificate
      Src: /src/haproxy/src/ssl_sock.c:6312,1
    - Dst: X509_get_subject_name
      Src: /src/haproxy/src/ssl_sock.c:6316,1
    - Dst: ssl_sock_get_dn_entry
      Src: /src/haproxy/src/ssl_sock.c:6320,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sock.c:6323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - conn
    - dest
    argTypes:
    - struct connection*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 6326
      start: 6295
    functionDepth: 1
    functionLinenumber: 6295
    functionLinenumberEnd: 6326
    functionName: ssl_sock_get_remote_common_name
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 1
    functionsReached:
    - X509_free
    - X509_get_subject_name
    - conn_get_ssl_sock_ctx
    - ssl_sock_get_dn_entry
    - SSL_get_peer_certificate
    linkageType: ''
    returnType: int
    signature: "ssl_sock_get_remote_common_name(struct connection *conn,\n\t\t\t\t
      \   struct buffer *dest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:6331,1
    - Dst: SSL_get_peer_certificate
      Src: /src/haproxy/src/ssl_sock.c:6338,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sock.c:6342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 6344
      start: 6329
    functionDepth: 1
    functionLinenumber: 6329
    functionLinenumberEnd: 6344
    functionName: ssl_sock_get_cert_used_sess
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 1
    functionsReached:
    - X509_free
    - SSL_get_peer_certificate
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: int
    signature: ssl_sock_get_cert_used_sess(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:6349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 6354
      start: 6347
    functionDepth: 1
    functionLinenumber: 6347
    functionLinenumberEnd: 6354
    functionName: ssl_sock_get_cert_used_conn
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 1
    functionsReached:
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: int
    signature: ssl_sock_get_cert_used_conn(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sock.c:6359,1
    - Dst: SSL_get_verify_result
      Src: /src/haproxy/src/ssl_sock.c:6363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 6364
      start: 6357
    functionDepth: 1
    functionLinenumber: 6357
    functionLinenumberEnd: 6364
    functionName: ssl_sock_get_verify_result
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 1
    functionsReached:
    - SSL_get_verify_result
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: unsigned int
    signature: ssl_sock_get_verify_result(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get0_alpn_selected
      Src: /src/haproxy/src/ssl_sock.c:6383,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/haproxy/src/ssl_sock.c:6388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - conn
    - xprt_ctx
    - str
    - len
    argTypes:
    - struct connection*
    - void*
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 6394
      start: 6372
    functionDepth: 0
    functionLinenumber: 6372
    functionLinenumberEnd: 6394
    functionName: ssl_sock_get_alpn
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_get0_next_proto_negotiated
    - SSL_get0_alpn_selected
    linkageType: ''
    returnType: int
    signature: ssl_sock_get_alpn(const struct connection *conn, void *xprt_ctx, const
      char **str, int *len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_sock.c:6402,1
    - Dst: PEM_read_bio_X509
      Src: /src/haproxy/src/ssl_sock.c:6409,1
    - Dst: sk_X509_new_null
      Src: /src/haproxy/src/ssl_sock.c:6411,1
    - Dst: X509_get_ext_d2i
      Src: /src/haproxy/src/ssl_sock.c:6412,1
    - Dst: X509_get_subject_name
      Src: /src/haproxy/src/ssl_sock.c:6413,1
    - Dst: sk_X509_push
      Src: /src/haproxy/src/ssl_sock.c:6415,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sock.c:6416,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:6421,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:6425,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:6429,1
    - Dst: XXH3
      Src: /src/haproxy/src/ssl_sock.c:6432,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/haproxy/src/ssl_sock.c:6432,1
    - Dst: ASN1_STRING_length
      Src: /src/haproxy/src/ssl_sock.c:6432,1
    - Dst: eb64_lookup
      Src: /src/haproxy/src/ssl_sock.c:6433,1
    - Dst: eb64_next
      Src: /src/haproxy/src/ssl_sock.c:6433,1
    - Dst: container_of
      Src: /src/haproxy/src/ssl_sock.c:6434,1
    - Dst: typeof
      Src: /src/haproxy/src/ssl_sock.c:6434,1
    - Dst: X509_NAME_cmp
      Src: /src/haproxy/src/ssl_sock.c:6435,1
    - Dst: X509_get_subject_name
      Src: /src/haproxy/src/ssl_sock.c:6435,1
    - Dst: sk_X509_value
      Src: /src/haproxy/src/ssl_sock.c:6435,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:6436,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_sock.c:6440,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_sock.c:6441,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:6443,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:6444,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/ssl_sock.c:6451,1
    - Dst: ASN1_OCTET_STRING_free
      Src: /src/haproxy/src/ssl_sock.c:6455,1
    - Dst: sk_X509_pop_free
      Src: /src/haproxy/src/ssl_sock.c:6457,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 3
    argNames:
    - in
    - fp
    - err
    argTypes:
    - BIO*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 6459
      start: 6397
    functionDepth: 1
    functionLinenumber: 6397
    functionLinenumberEnd: 6459
    functionName: ssl_load_global_issuer_from_BIO
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - memprintf
    - eb64_insert
    - ASN1_STRING_get0_data
    - ASN1_OCTET_STRING_free
    - sk_X509_push
    - X509_get_subject_name
    - free
    - typeof
    - eb64_lookup
    - X509_NAME_cmp
    - STACK_OF
    - sk_X509_pop_free
    - X509_free
    - X509_get_ext_d2i
    - strdup
    - XXH3
    - sk_X509_value
    - container_of
    - calloc
    - sk_X509_new_null
    - PEM_read_bio_X509
    - ASN1_STRING_length
    - eb64_next
    linkageType: ''
    returnType: int
    signature: ssl_load_global_issuer_from_BIO(BIO *in, char *fp, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_ext_d2i
      Src: /src/haproxy/src/ssl_sock.c:6466,1
    - Dst: XXH3
      Src: /src/haproxy/src/ssl_sock.c:6470,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/haproxy/src/ssl_sock.c:6470,1
    - Dst: ASN1_STRING_length
      Src: /src/haproxy/src/ssl_sock.c:6470,1
    - Dst: eb64_lookup
      Src: /src/haproxy/src/ssl_sock.c:6471,1
    - Dst: eb64_next
      Src: /src/haproxy/src/ssl_sock.c:6471,1
    - Dst: container_of
      Src: /src/haproxy/src/ssl_sock.c:6472,1
    - Dst: typeof
      Src: /src/haproxy/src/ssl_sock.c:6472,1
    - Dst: X509_check_issued
      Src: /src/haproxy/src/ssl_sock.c:6473,1
    - Dst: sk_X509_value
      Src: /src/haproxy/src/ssl_sock.c:6473,1
    - Dst: AUTHORITY_KEYID_free
      Src: /src/haproxy/src/ssl_sock.c:6479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 6481
      start: 6461
    functionDepth: 1
    functionLinenumber: 6461
    functionLinenumberEnd: 6481
    functionName: ssl_get0_issuer_chain
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - sk_X509_value
    - container_of
    - X509_get_ext_d2i
    - X509_check_issued
    - typeof
    - eb64_lookup
    - AUTHORITY_KEYID_free
    - ASN1_STRING_length
    - XXH3
    - ASN1_STRING_get0_data
    - eb64_next
    linkageType: ''
    returnType: struct issuer_chain
    signature: '* ssl_get0_issuer_chain(X509 *cert)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_first
      Src: /src/haproxy/src/ssl_sock.c:6488,1
    - Dst: container_of
      Src: /src/haproxy/src/ssl_sock.c:6490,1
    - Dst: typeof
      Src: /src/haproxy/src/ssl_sock.c:6490,1
    - Dst: eb64_next
      Src: /src/haproxy/src/ssl_sock.c:6491,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/ssl_sock.c:6492,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:6493,1
    - Dst: sk_X509_pop_free
      Src: /src/haproxy/src/ssl_sock.c:6494,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:6495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6498
      start: 6483
    functionDepth: 1
    functionLinenumber: 6483
    functionLinenumberEnd: 6498
    functionName: ssl_free_global_issuers
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - container_of
    - sk_X509_pop_free
    - eb64_first
    - free
    - typeof
    - eb64_next
    - eb64_delete
    linkageType: ''
    returnType: void
    signature: ssl_free_global_issuers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_sock.c:6505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6509
      start: 6501
    functionDepth: 1
    functionLinenumber: 6501
    functionLinenumberEnd: 6509
    functionName: ssl_check_async_engine_count
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ha_alert
    linkageType: ''
    returnType: int
    signature: ssl_check_async_engine_count(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6524,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6527,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6530,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6532,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6535,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6546,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6548,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6551,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/ssl_sock.c:6554,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6555,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6557,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6558,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - buf
    - conn
    - ctx
    argTypes:
    - struct buffer*
    - struct connection*
    - void*
    constantsTouched: []
    func_position:
      end: 6560
      start: 6515
    functionDepth: 1
    functionLinenumber: 6515
    functionLinenumberEnd: 6560
    functionName: ssl_sock_show_fd
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - resolve_sym_name
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: ssl_sock_show_fd(struct buffer *buf, const struct connection *conn,
      const void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/ssl_sock.c:6577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ref
    - end
    argTypes:
    - struct list*
    - struct list*
    constantsTouched: []
    func_position:
      end: 6578
      start: 6567
    functionDepth: 0
    functionLinenumber: 6567
    functionLinenumberEnd: 6578
    functionName: tlskeys_list_get_next
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - LIST_ELEM
    linkageType: ''
    returnType: struct tls_keys_ref
    signature: '*tlskeys_list_get_next(struct list *ref, struct list *end)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/haproxy/src/ssl_sock.c:6589,1
    - Dst: tlskeys_ref_lookupid
      Src: /src/haproxy/src/ssl_sock.c:6594,1
    - Dst: tlskeys_ref_lookup
      Src: /src/haproxy/src/ssl_sock.c:6598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - reference
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6599
      start: 6580
    functionDepth: 1
    functionLinenumber: 6580
    functionLinenumberEnd: 6599
    functionName: tlskeys_ref_lookup_ref
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - tlskeys_ref_lookup
    - strtol
    - tlskeys_ref_lookupid
    linkageType: ''
    returnType: struct tls_keys_ref
    signature: '*tlskeys_ref_lookup_ref(const char *reference)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/ssl_sock.c:6616,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6619,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6621,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_sock.c:6623,1
    - Dst: tlskeys_list_get_next
      Src: /src/haproxy/src/ssl_sock.c:6632,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/ssl_sock.c:6641,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6643,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6646,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/ssl_sock.c:6651,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sock.c:6654,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/ssl_sock.c:6656,1
    - Dst: a2base64
      Src: /src/haproxy/src/ssl_sock.c:6659,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6662,1
    - Dst: a2base64
      Src: /src/haproxy/src/ssl_sock.c:6666,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6669,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6674,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_sock.c:6677,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_sock.c:6681,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_sock.c:6686,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_sock.c:6689,1
    - Dst: tlskeys_list_get_next
      Src: /src/haproxy/src/ssl_sock.c:6700,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 6709
      start: 6606
    functionDepth: 2
    functionLinenumber: 6606
    functionLinenumberEnd: 6709
    functionName: cli_io_handler_tlskeys_files
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - tlskeys_list_get_next
    - chunk_reset
    - a2base64
    - HA_RWLOCK_RDLOCK
    - chunk_appendf
    - applet_putchk
    - get_trash_chunk
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: cli_io_handler_tlskeys_files(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/ssl_sock.c:6714,1
    - Dst: tlskeys_ref_lookup_ref
      Src: /src/haproxy/src/ssl_sock.c:6726,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_sock.c:6728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 6733
      start: 6712
    functionDepth: 2
    functionLinenumber: 6712
    functionLinenumberEnd: 6733
    functionName: cli_parse_show_tlskeys
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - cli_err
    - tlskeys_ref_lookup_ref
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_show_tlskeys(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_sock.c:6742,1
    - Dst: tlskeys_ref_lookup_ref
      Src: /src/haproxy/src/ssl_sock.c:6744,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_sock.c:6746,1
    - Dst: base64dec
      Src: /src/haproxy/src/ssl_sock.c:6748,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sock.c:6748,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_sock.c:6750,1
    - Dst: ssl_sock_update_tlskey_ref
      Src: /src/haproxy/src/ssl_sock.c:6753,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_sock.c:6754,1
    - Dst: cli_msg
      Src: /src/haproxy/src/ssl_sock.c:6756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 6757
      start: 6735
    functionDepth: 2
    functionLinenumber: 6735
    functionLinenumberEnd: 6757
    functionName: cli_parse_set_tlskeys
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - strlen
    - cli_err
    - cli_msg
    - tlskeys_ref_lookup_ref
    - base64dec
    - ssl_sock_update_tlskey_ref
    linkageType: ''
    returnType: int
    signature: cli_parse_set_tlskeys(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ssl_sock.c:6777,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_sock.c:6783,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - provider
    - cbdata
    argTypes:
    - OSSL_PROVIDER*
    - void*
    constantsTouched: []
    func_position:
      end: 6786
      start: 6768
    functionDepth: 1
    functionLinenumber: 6768
    functionLinenumberEnd: 6786
    functionName: ssl_provider_get_name_cb
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - calloc
    - LIST_APPEND
    linkageType: ''
    returnType: int
    signature: ssl_provider_get_name_cb(OSSL_PROVIDER *provider, void *cbdata)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_do_all
      Src: /src/haproxy/src/ssl_sock.c:6793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - provider_names
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 6794
      start: 6788
    functionDepth: 0
    functionLinenumber: 6788
    functionLinenumberEnd: 6794
    functionName: ssl_provider_get_name_list
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_do_all
    linkageType: ''
    returnType: void
    signature: ssl_provider_get_name_list(struct list *provider_names)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_sock.c:6802,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:6803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - provider_names
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 6806
      start: 6796
    functionDepth: 1
    functionLinenumber: 6796
    functionLinenumberEnd: 6806
    functionName: ssl_provider_clear_name_list
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - free
    - LIST_DELETE
    linkageType: ''
    returnType: void
    signature: ssl_provider_clear_name_list(struct list *provider_names)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sock.c:6810,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_sock.c:6814,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6816,1
    - Dst: ssl_provider_get_name_list
      Src: /src/haproxy/src/ssl_sock.c:6818,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_sock.c:6820,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sock.c:6821,1
    - Dst: ssl_provider_clear_name_list
      Src: /src/haproxy/src/ssl_sock.c:6824,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_sock.c:6826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 6833
      start: 6808
    functionDepth: 2
    functionLinenumber: 6808
    functionLinenumberEnd: 6833
    functionName: cli_io_handler_show_providers
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - ssl_provider_get_name_list
    - list_for_each_entry
    - ssl_provider_clear_name_list
    - chunk_appendf
    - get_trash_chunk
    - applet_putchk
    - LIST_INIT
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_providers(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sock.c:6884,1
    - Dst: sc_ep_set
      Src: /src/haproxy/src/ssl_sock.c:6888,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 6894
      start: 6879
    functionDepth: 1
    functionLinenumber: 6879
    functionLinenumberEnd: 6894
    functionName: ssl_action_wait_for_hs
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - sc_ep_set
    - objt_conn
    linkageType: ''
    returnType: enum act_return
    signature: "ssl_action_wait_for_hs(struct act_rule *rule, struct proxy *px,\n
      \                                      struct session *sess, struct stream *s,
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 6901
      start: 6896
    functionDepth: 0
    functionLinenumber: 6896
    functionLinenumberEnd: 6901
    functionName: ssl_parse_wait_for_hs
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum act_parse_ret
    signature: ssl_parse_wait_for_hs(const char **args, int *orig_arg, struct proxy
      *px, struct act_rule *rule, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_destroy
      Src: /src/haproxy/src/ssl_sock.c:6915,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:6916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 6918
      start: 6912
    functionDepth: 1
    functionLinenumber: 6912
    functionLinenumberEnd: 6918
    functionName: ssl_sock_sctl_free_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - free
    - chunk_destroy
    linkageType: ''
    returnType: void
    signature: ssl_sock_sctl_free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
      int idx, long argl, void *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:6925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 6926
      start: 6923
    functionDepth: 0
    functionLinenumber: 6923
    functionLinenumberEnd: 6926
    functionName: ssl_sock_capture_free_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - pool_free
    linkageType: ''
    returnType: void
    signature: ssl_sock_capture_free_func(void *parent, void *ptr, CRYPTO_EX_DATA
      *ad, int idx, long argl, void *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:6938,1
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:6939,1
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:6940,1
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:6941,1
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:6942,1
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:6943,1
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:6944,1
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:6945,1
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:6947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 6948
      start: 6929
    functionDepth: 0
    functionLinenumber: 6929
    functionLinenumberEnd: 6948
    functionName: ssl_sock_keylog_free_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - pool_free
    linkageType: ''
    returnType: void
    signature: ssl_sock_keylog_free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
      int idx, long argl, void *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sock.c:6956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 6957
      start: 6951
    functionDepth: 0
    functionLinenumber: 6951
    functionLinenumberEnd: 6957
    functionName: ssl_sock_clt_crt_free_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - X509_free
    linkageType: ''
    returnType: void
    signature: ssl_sock_clt_crt_free_func(void *parent, void *ptr, CRYPTO_EX_DATA
      *ad, int idx, long argl, void *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free
      Src: /src/haproxy/src/ssl_sock.c:6961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 6962
      start: 6959
    functionDepth: 0
    functionLinenumber: 6959
    functionLinenumberEnd: 6962
    functionName: ssl_sock_clt_sni_free_func
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - pool_free
    linkageType: ''
    returnType: void
    signature: ssl_sock_clt_sni_free_func(void *parent, void *ptr, CRYPTO_EX_DATA
      *ad, int idx, long argl, void *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_sock.c:6967,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_sock.c:6972,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_sock.c:6974,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_sock.c:6977,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_sock.c:6979,1
    - Dst: xprt_register
      Src: /src/haproxy/src/ssl_sock.c:6982,1
    - Dst: SSL_library_init
      Src: /src/haproxy/src/ssl_sock.c:6984,1
    - Dst: OPENSSL_init_ssl
      Src: /src/haproxy/src/ssl_sock.c:6986,1
    - Dst: SSL_COMP_get_compression_methods
      Src: /src/haproxy/src/ssl_sock.c:6989,1
    - Dst: sk_SSL_COMP_num
      Src: /src/haproxy/src/ssl_sock.c:6990,1
    - Dst: sk_SSL_COMP_pop
      Src: /src/haproxy/src/ssl_sock.c:6992,1
    - Dst: ssl_locking_init
      Src: /src/haproxy/src/ssl_sock.c:6997,1
    - Dst: SSL_CTX_get_ex_new_index
      Src: /src/haproxy/src/ssl_sock.c:7000,1
    - Dst: SSL_CTX_get_ex_new_index
      Src: /src/haproxy/src/ssl_sock.c:7004,1
    - Dst: SSL_get_ex_new_index
      Src: /src/haproxy/src/ssl_sock.c:7007,1
    - Dst: SSL_get_ex_new_index
      Src: /src/haproxy/src/ssl_sock.c:7008,1
    - Dst: SSL_get_ex_new_index
      Src: /src/haproxy/src/ssl_sock.c:7010,1
    - Dst: SSL_get_ex_new_index
      Src: /src/haproxy/src/ssl_sock.c:7013,1
    - Dst: SSL_get_ex_new_index
      Src: /src/haproxy/src/ssl_sock.c:7015,1
    - Dst: SSL_get_ex_new_index
      Src: /src/haproxy/src/ssl_sock.c:7016,1
    - Dst: ENGINE_load_builtin_engines
      Src: /src/haproxy/src/ssl_sock.c:7018,1
    - Dst: hap_register_post_check
      Src: /src/haproxy/src/ssl_sock.c:7019,1
    - Dst: hap_register_post_check
      Src: /src/haproxy/src/ssl_sock.c:7022,1
    - Dst: hap_register_post_deinit
      Src: /src/haproxy/src/ssl_sock.c:7028,1
    - Dst: SSL_CTX_get_ex_new_index
      Src: /src/haproxy/src/ssl_sock.c:7031,1
    - Dst: hap_register_post_deinit
      Src: /src/haproxy/src/ssl_sock.c:7032,1
    - Dst: hap_register_post_deinit
      Src: /src/haproxy/src/ssl_sock.c:7035,1
    - Dst: hap_register_post_deinit
      Src: /src/haproxy/src/ssl_sock.c:7038,1
    - Dst: ERR_load_SSL_strings
      Src: /src/haproxy/src/ssl_sock.c:7042,1
    - Dst: BIO_meth_new
      Src: /src/haproxy/src/ssl_sock.c:7044,1
    - Dst: BIO_meth_set_write
      Src: /src/haproxy/src/ssl_sock.c:7046,1
    - Dst: BIO_meth_set_read
      Src: /src/haproxy/src/ssl_sock.c:7047,1
    - Dst: BIO_meth_set_ctrl
      Src: /src/haproxy/src/ssl_sock.c:7048,1
    - Dst: BIO_meth_set_create
      Src: /src/haproxy/src/ssl_sock.c:7049,1
    - Dst: BIO_meth_set_destroy
      Src: /src/haproxy/src/ssl_sock.c:7050,1
    - Dst: BIO_meth_set_puts
      Src: /src/haproxy/src/ssl_sock.c:7051,1
    - Dst: BIO_meth_set_gets
      Src: /src/haproxy/src/ssl_sock.c:7052,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/ssl_sock.c:7055,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/ssl_sock.c:7058,1
    - Dst: hap_register_post_check
      Src: /src/haproxy/src/ssl_sock.c:7064,1
    - Dst: hap_register_post_deinit
      Src: /src/haproxy/src/ssl_sock.c:7069,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7070
      start: 6964
    functionDepth: 2
    functionLinenumber: 6964
    functionLinenumberEnd: 7070
    functionName: __ssl_sock_init
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - SSL_library_init
    - ENGINE_load_builtin_engines
    - HA_SPIN_INIT
    - BIO_meth_set_destroy
    - OPENSSL_init_ssl
    - BIO_meth_set_gets
    - ERR_load_SSL_strings
    - hap_register_post_check
    - hap_register_post_deinit
    - sk_SSL_COMP_num
    - ssl_locking_init
    - STACK_OF
    - BIO_meth_set_create
    - strdup
    - BIO_meth_set_read
    - xprt_register
    - BIO_meth_new
    - BIO_meth_set_write
    - BIO_meth_set_puts
    - SSL_get_ex_new_index
    - sk_SSL_COMP_pop
    - BIO_meth_set_ctrl
    - SSL_COMP_get_compression_methods
    - SSL_CTX_get_ex_new_index
    linkageType: ''
    returnType: void
    signature: __ssl_sock_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:7079,1
    - Dst: OpenSSL_version
      Src: /src/haproxy/src/ssl_sock.c:7085,1
    - Dst: OpenSSL_version_num
      Src: /src/haproxy/src/ssl_sock.c:7086,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:7088,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:7110,1
    - Dst: FIPS_mode
      Src: /src/haproxy/src/ssl_sock.c:7110,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:7112,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:7115,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_sock.c:7121,1
    - Dst: ssl_provider_get_name_list
      Src: /src/haproxy/src/ssl_sock.c:7122,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:7124,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_sock.c:7126,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sock.c:7127,1
    - Dst: ssl_provider_clear_name_list
      Src: /src/haproxy/src/ssl_sock.c:7130,1
    - Dst: hap_register_build_opts
      Src: /src/haproxy/src/ssl_sock.c:7134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7135
      start: 7074
    functionDepth: 2
    functionLinenumber: 7074
    functionLinenumberEnd: 7135
    functionName: ssl_register_build_options
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_provider_get_name_list
    - list_for_each_entry
    - ssl_provider_clear_name_list
    - hap_register_build_opts
    - LIST_INIT
    - FIPS_mode
    - OpenSSL_version_num
    - OpenSSL_version
    linkageType: ''
    returnType: void
    signature: ssl_register_build_options()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_sock.c:7143,1
    - Dst: ENGINE_finish
      Src: /src/haproxy/src/ssl_sock.c:7144,1
    - Dst: ENGINE_free
      Src: /src/haproxy/src/ssl_sock.c:7145,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_sock.c:7146,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:7147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7149
      start: 7140
    functionDepth: 1
    functionLinenumber: 7140
    functionLinenumberEnd: 7149
    functionName: ssl_free_engines
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_safe
    - LIST_DELETE
    - ENGINE_finish
    - free
    - ENGINE_free
    linkageType: ''
    returnType: void
    signature: ssl_free_engines(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_sock.c:7155,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/haproxy/src/ssl_sock.c:7156,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_sock.c:7157,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sock.c:7158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7160
      start: 7153
    functionDepth: 1
    functionLinenumber: 7153
    functionLinenumberEnd: 7160
    functionName: ssl_unload_providers
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - free
    - LIST_DELETE
    - OSSL_PROVIDER_unload
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: ssl_unload_providers(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HASSL_DH_free
      Src: /src/haproxy/src/ssl_sock.c:7166,1
    - Dst: HASSL_DH_free
      Src: /src/haproxy/src/ssl_sock.c:7170,1
    - Dst: HASSL_DH_free
      Src: /src/haproxy/src/ssl_sock.c:7174,1
    - Dst: HASSL_DH_free
      Src: /src/haproxy/src/ssl_sock.c:7178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7181
      start: 7164
    functionDepth: 0
    functionLinenumber: 7164
    functionLinenumberEnd: 7181
    functionName: ssl_free_dh
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - HASSL_DH_free
    linkageType: ''
    returnType: void
    signature: ssl_free_dh(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR_remove_state
      Src: /src/haproxy/src/ssl_sock.c:7188,1
    - Dst: ERR_free_strings
      Src: /src/haproxy/src/ssl_sock.c:7189,1
    - Dst: EVP_cleanup
      Src: /src/haproxy/src/ssl_sock.c:7191,1
    - Dst: CRYPTO_cleanup_all_ex_data
      Src: /src/haproxy/src/ssl_sock.c:7195,1
    - Dst: BIO_meth_free
      Src: /src/haproxy/src/ssl_sock.c:7197,1
    - Dst: ssl_destroy_ocsp_update_task
      Src: /src/haproxy/src/ssl_sock.c:7200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7202
      start: 7184
    functionDepth: 1
    functionLinenumber: 7184
    functionLinenumberEnd: 7202
    functionName: __ssl_sock_deinit
    functionSourceFile: /src/haproxy/src/ssl_sock.c
    functionUses: 0
    functionsReached:
    - BIO_meth_free
    - ERR_free_strings
    - ssl_destroy_ocsp_update_task
    - CRYPTO_cleanup_all_ex_data
    - EVP_cleanup
    - ERR_remove_state
    linkageType: ''
    returnType: void
    signature: __ssl_sock_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/haproxy/src/clock.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: now_mono_time
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 2
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: uint64_t
    signature: now_mono_time(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/haproxy/src/clock.c:77,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/clock.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: now_mono_time_fast
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    - now_mono_time
    linkageType: ''
    returnType: uint64_t
    signature: now_mono_time_fast(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/haproxy/src/clock.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: now_cpu_time
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: uint64_t
    signature: now_cpu_time(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: now_mono_time_fast
      Src: /src/haproxy/src/clock.c:115,1
    - Dst: unlikely
      Src: /src/haproxy/src/clock.c:116,1
    - Dst: now_cpu_time
      Src: /src/haproxy/src/clock.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 122
    functionName: now_cpu_time_fast
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 1
    functionsReached:
    - now_cpu_time
    - now_mono_time_fast
    - unlikely
    linkageType: ''
    returnType: uint64_t
    signature: now_cpu_time_fast(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/haproxy/src/clock.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - thr
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: now_cpu_time_thread
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 1
    functionsReached:
    - clock_gettime
    linkageType: ''
    returnType: uint64_t
    signature: now_cpu_time_thread(int thr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_getcpuclockid
      Src: /src/haproxy/src/clock.c:141,1
    - Dst: pthread_self
      Src: /src/haproxy/src/clock.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: clock_set_local_source
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 0
    functionsReached:
    - pthread_self
    - pthread_getcpuclockid
    linkageType: ''
    returnType: void
    signature: clock_set_local_source(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/haproxy/src/clock.c:162,1
    - Dst: sigaddset
      Src: /src/haproxy/src/clock.c:163,1
    - Dst: ha_sigmask
      Src: /src/haproxy/src/clock.c:164,1
    - Dst: timer_create
      Src: /src/haproxy/src/clock.c:172,1
    - Dst: timer_create
      Src: /src/haproxy/src/clock.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - tmr
    - sig
    - val
    argTypes:
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 177
    functionName: clock_setup_signal_timer
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 1
    functionsReached:
    - sigaddset
    - ha_sigmask
    - sigemptyset
    - timer_create
    linkageType: ''
    returnType: int
    signature: clock_setup_signal_timer(void *tmr, int sig, int val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/clock.c:204,1
    - Dst: gettimeofday
      Src: /src/haproxy/src/clock.c:207,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/clock.c:208,1
    - Dst: _tv_ms_add
      Src: /src/haproxy/src/clock.c:229,1
    - Dst: _tv_ms_add
      Src: /src/haproxy/src/clock.c:230,1
    - Dst: tv_to_ns
      Src: /src/haproxy/src/clock.c:231,1
    - Dst: unlikely
      Src: /src/haproxy/src/clock.c:233,1
    - Dst: __tv_islt
      Src: /src/haproxy/src/clock.c:233,1
    - Dst: __tv_islt
      Src: /src/haproxy/src/clock.c:234,1
    - Dst: ms_to_ns
      Src: /src/haproxy/src/clock.c:235,1
    - Dst: __tv_islt
      Src: /src/haproxy/src/clock.c:236,1
    - Dst: ms_to_ns
      Src: /src/haproxy/src/clock.c:238,1
    - Dst: MAX
      Src: /src/haproxy/src/clock.c:241,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/clock.c:241,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/clock.c:247,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/clock.c:256,1
    - Dst: unlikely
      Src: /src/haproxy/src/clock.c:259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - max_wait
    - interrupted
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 261
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 261
    functionName: clock_update_local_date
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 1
    functionsReached:
    - __tv_islt
    - ms_to_ns
    - MAX
    - tv_to_ns
    - gettimeofday
    - HA_ATOMIC_LOAD
    - _tv_ms_add
    - ns_to_ms
    - unlikely
    - HA_ATOMIC_STORE
    - now_mono_time
    linkageType: ''
    returnType: void
    signature: clock_update_local_date(int max_wait, int interrupted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/clock.c:272,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/clock.c:273,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/clock.c:291,1
    - Dst: unlikely
      Src: /src/haproxy/src/clock.c:293,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/clock.c:302,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/clock.c:303,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/clock.c:304,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/clock.c:313,1
    - Dst: tv_to_ns
      Src: /src/haproxy/src/clock.c:313,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 315
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 315
    functionName: clock_update_global_date
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 1
    functionsReached:
    - _HA_ATOMIC_CAS
    - __ha_cpu_relax
    - tv_to_ns
    - ns_to_ms
    - _HA_ATOMIC_LOAD
    - unlikely
    - HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: clock_update_global_date()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: now_mono_time
      Src: /src/haproxy/src/clock.c:321,1
    - Dst: gettimeofday
      Src: /src/haproxy/src/clock.c:323,1
    - Dst: tv_to_ns
      Src: /src/haproxy/src/clock.c:327,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/clock.c:329,1
    - Dst: sec_to_ns
      Src: /src/haproxy/src/clock.c:337,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/clock.c:340,1
    - Dst: clock_update_date
      Src: /src/haproxy/src/clock.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 348
    functionName: clock_init_process_date
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 0
    functionsReached:
    - clock_update_date
    - tv_to_ns
    - gettimeofday
    - ns_to_ms
    - sec_to_ns
    - now_mono_time
    linkageType: ''
    returnType: void
    signature: clock_init_process_date(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/clock.c:356,1
    - Dst: tv_to_ns
      Src: /src/haproxy/src/clock.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 357
    functionName: clock_adjust_now_offset
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 0
    functionsReached:
    - tv_to_ns
    - HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: clock_adjust_now_offset(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/haproxy/src/clock.c:364,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/clock.c:367,1
    - Dst: now_cpu_time
      Src: /src/haproxy/src/clock.c:369,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/clock.c:370,1
    - Dst: clock_update_date
      Src: /src/haproxy/src/clock.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 374
    functionName: clock_init_thread_date
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 0
    functionsReached:
    - clock_update_date
    - now_cpu_time
    - gettimeofday
    - _HA_ATOMIC_LOAD
    - now_mono_time
    linkageType: ''
    returnType: void
    signature: clock_init_thread_date(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/clock.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 391
    functionName: clock_report_idle
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: uint
    signature: clock_report_idle(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/clock.c:427,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 429
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 429
    functionName: clock_measure_idle
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: clock_measure_idle(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_measure_idle
      Src: /src/haproxy/src/clock.c:438,1
    - Dst: now_cpu_time
      Src: /src/haproxy/src/clock.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - timeout
    - interrupted
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 441
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 441
    functionName: clock_leaving_poll
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 0
    functionsReached:
    - clock_measure_idle
    - now_cpu_time
    linkageType: ''
    returnType: void
    signature: clock_leaving_poll(int timeout, int interrupted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: now_cpu_time
      Src: /src/haproxy/src/clock.c:456,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/clock.c:457,1
    - Dst: gettimeofday
      Src: /src/haproxy/src/clock.c:476,1
    - Dst: unlikely
      Src: /src/haproxy/src/clock.c:478,1
    - Dst: __tv_islt
      Src: /src/haproxy/src/clock.c:478,1
    - Dst: unlikely
      Src: /src/haproxy/src/clock.c:480,1
    - Dst: __tv_ms_elapsed
      Src: /src/haproxy/src/clock.c:480,1
    - Dst: tv_ms_add
      Src: /src/haproxy/src/clock.c:481,1
    - Dst: unlikely
      Src: /src/haproxy/src/clock.c:490,1
    - Dst: report_stolen_time
      Src: /src/haproxy/src/clock.c:495,1
    - Dst: activity_count_runtime
      Src: /src/haproxy/src/clock.c:500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 501
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 501
    functionName: clock_entering_poll
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 1
    functionsReached:
    - __tv_islt
    - __tv_ms_elapsed
    - activity_count_runtime
    - now_cpu_time
    - gettimeofday
    - report_stolen_time
    - tv_ms_add
    - unlikely
    - now_mono_time
    linkageType: ''
    returnType: void
    signature: clock_entering_poll(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/haproxy/src/clock.c:518,1
    - Dst: get_localtime
      Src: /src/haproxy/src/clock.c:520,1
    - Dst: get_gmt_offset
      Src: /src/haproxy/src/clock.c:521,1
    - Dst: unlikely
      Src: /src/haproxy/src/clock.c:522,1
    - Dst: strftime
      Src: /src/haproxy/src/clock.c:522,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/clock.c:523,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/clock.c:534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - pad
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 541
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 541
    functionName: timeofday_as_iso_us
    functionSourceFile: /src/haproxy/src/clock.c
    functionUses: 0
    functionsReached:
    - strlcpy2
    - get_localtime
    - gettimeofday
    - utoa_pad
    - strftime
    - unlikely
    - get_gmt_offset
    linkageType: ''
    returnType: char
    signature: '*timeofday_as_iso_us(int pad)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sock_inet4_make_foreign
      Src: /src/haproxy/src/proto_quic.c:188,1
    - Dst: sock_inet6_make_foreign
      Src: /src/haproxy/src/proto_quic.c:196,1
    - Dst: memset
      Src: /src/haproxy/src/proto_quic.c:205,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_quic.c:226,1
    - Dst: is_inet_addr
      Src: /src/haproxy/src/proto_quic.c:228,1
    - Dst: bind
      Src: /src/haproxy/src/proto_quic.c:229,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/proto_quic.c:229,1
    - Dst: is_inet_addr
      Src: /src/haproxy/src/proto_quic.c:235,1
    - Dst: bind
      Src: /src/haproxy/src/proto_quic.c:236,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/proto_quic.c:236,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 4
    argNames:
    - fd
    - flags
    - local
    - remote
    argTypes:
    - int
    - int
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 250
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 250
    functionName: quic_bind_socket
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - sock_inet4_make_foreign
    - sock_inet6_make_foreign
    - setsockopt
    - is_inet_addr
    - memset
    - bind
    - get_addr_len
    linkageType: ''
    returnType: int
    signature: quic_bind_socket(int fd, int flags, struct sockaddr_storage *local,
      struct sockaddr_storage *remote)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/proto_quic.c:287,1
    - Dst: obj_type
      Src: /src/haproxy/src/proto_quic.c:291,1
    - Dst: __objt_proxy
      Src: /src/haproxy/src/proto_quic.c:293,1
    - Dst: __objt_server
      Src: /src/haproxy/src/proto_quic.c:297,1
    - Dst: sock_create_server_socket
      Src: /src/haproxy/src/proto_quic.c:306,1
    - Dst: is_inet_addr
      Src: /src/haproxy/src/proto_quic.c:325,1
    - Dst: conn_set_private
      Src: /src/haproxy/src/proto_quic.c:328,1
    - Dst: conn_set_private
      Src: /src/haproxy/src/proto_quic.c:335,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_quic.c:344,1
    - Dst: memcpy
      Src: /src/haproxy/src/proto_quic.c:352,1
    - Dst: port_range_release_port
      Src: /src/haproxy/src/proto_quic.c:358,1
    - Dst: port_range_alloc_port
      Src: /src/haproxy/src/proto_quic.c:365,1
    - Dst: set_host_port
      Src: /src/haproxy/src/proto_quic.c:372,1
    - Dst: quic_bind_socket
      Src: /src/haproxy/src/proto_quic.c:374,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_quic.c:382,1
    - Dst: quic_bind_socket
      Src: /src/haproxy/src/proto_quic.c:384,1
    - Dst: unlikely
      Src: /src/haproxy/src/proto_quic.c:389,1
    - Dst: port_range_release_port
      Src: /src/haproxy/src/proto_quic.c:390,1
    - Dst: close
      Src: /src/haproxy/src/proto_quic.c:392,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proto_quic.c:395,1
    - Dst: send_log
      Src: /src/haproxy/src/proto_quic.c:397,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proto_quic.c:401,1
    - Dst: send_log
      Src: /src/haproxy/src/proto_quic.c:403,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_quic.c:413,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_quic.c:416,1
    - Dst: connect
      Src: /src/haproxy/src/proto_quic.c:419,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/proto_quic.c:419,1
    - Dst: qfprintf
      Src: /src/haproxy/src/proto_quic.c:439,1
    - Dst: port_range_release_port
      Src: /src/haproxy/src/proto_quic.c:440,1
    - Dst: close
      Src: /src/haproxy/src/proto_quic.c:442,1
    - Dst: send_log
      Src: /src/haproxy/src/proto_quic.c:443,1
    - Dst: port_range_release_port
      Src: /src/haproxy/src/proto_quic.c:448,1
    - Dst: close
      Src: /src/haproxy/src/proto_quic.c:450,1
    - Dst: port_range_release_port
      Src: /src/haproxy/src/proto_quic.c:457,1
    - Dst: close
      Src: /src/haproxy/src/proto_quic.c:459,1
    - Dst: conn_ctrl_init
      Src: /src/haproxy/src/proto_quic.c:470,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/proto_quic.c:471,1
    - Dst: fd_want_send
      Src: /src/haproxy/src/proto_quic.c:474,1
    - Dst: fd_cant_send
      Src: /src/haproxy/src/proto_quic.c:475,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/proto_quic.c:476,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 137
    argCount: 2
    argNames:
    - conn
    - flags
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 480
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 480
    functionName: quic_connect_server
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - send_log
    - conn_set_private
    - __objt_proxy
    - fd_cant_send
    - connect
    - sock_create_server_socket
    - fd_cant_recv
    - BUG_ON
    - close
    - set_host_port
    - is_inet_addr
    - __objt_server
    - conn_ctrl_init
    - get_addr_len
    - quic_bind_socket
    - setsockopt
    - obj_type
    - fd_want_send
    - port_range_alloc_port
    - port_range_release_port
    - qfprintf
    - unlikely
    - memcpy
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: quic_connect_server(struct connection *conn, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/proto_quic.c:490,1
    - Dst: my_popcountl
      Src: /src/haproxy/src/proto_quic.c:491,1
    - Dst: calloc
      Src: /src/haproxy/src/proto_quic.c:495,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/proto_quic.c:499,1
    - Dst: free
      Src: /src/haproxy/src/proto_quic.c:501,1
    - Dst: b_make
      Src: /src/haproxy/src/proto_quic.c:505,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proto_quic.c:506,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/proto_quic.c:507,1
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/proto_quic.c:513,1
    - Dst: typeof
      Src: /src/haproxy/src/proto_quic.c:513,1
    - Dst: pool_free
      Src: /src/haproxy/src/proto_quic.c:514,1
    - Dst: free
      Src: /src/haproxy/src/proto_quic.c:515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 518
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 518
    functionName: quic_alloc_rxbufs_listener
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - my_popcountl
    - b_make
    - calloc
    - pool_alloc
    - free
    - typeof
    - pool_free
    - LIST_INIT
    - MT_LIST_APPEND
    - MT_LIST_INIT
    - MT_LIST_POP
    linkageType: ''
    returnType: int
    signature: quic_alloc_rxbufs_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_quic.c:561,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_quic.c:563,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_quic.c:568,1
    - Dst: quic_alloc_rxbufs_listener
      Src: /src/haproxy/src/proto_quic.c:575,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_quic.c:582,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_quic.c:585,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/proto_quic.c:587,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/proto_quic.c:593,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_quic.c:594,1
    - Dst: get_host_port
      Src: /src/haproxy/src/proto_quic.c:594,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - listener
    - errmsg
    - errlen
    argTypes:
    - struct listener*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 597
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 597
    functionName: quic_bind_listener
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - snprintf
    - addr_to_str
    - listener_set_state
    - quic_alloc_rxbufs_listener
    - get_host_port
    linkageType: ''
    returnType: int
    signature: quic_bind_listener(struct listener *listener, char *errmsg, int errlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_want_recv
      Src: /src/haproxy/src/proto_quic.c:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 610
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 610
    functionName: quic_enable_listener
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - fd_want_recv
    linkageType: ''
    returnType: void
    signature: quic_enable_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/proto_quic.c:622,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 623
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 623
    functionName: quic_disable_listener
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - fd_stop_recv
    linkageType: ''
    returnType: void
    signature: quic_disable_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - conn
    - info
    - info_num
    argTypes:
    - struct connection*
    - long long int*
    - int
    constantsTouched: []
    func_position:
      end: 638
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 638
    functionName: quic_get_info
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: quic_get_info(struct connection *conn, long long int *info, int info_num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_bind_tid_prep
      Src: /src/haproxy/src/proto_quic.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - new_tid
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 648
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 648
    functionName: quic_bind_tid_prep
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - qc_bind_tid_prep
    linkageType: ''
    returnType: int
    signature: quic_bind_tid_prep(struct connection *conn, int new_tid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_bind_tid_commit
      Src: /src/haproxy/src/proto_quic.c:653,1
    - Dst: objt_listener
      Src: /src/haproxy/src/proto_quic.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: quic_bind_tid_commit
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - objt_listener
    - qc_bind_tid_commit
    linkageType: ''
    returnType: void
    signature: quic_bind_tid_commit(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_bind_tid_reset
      Src: /src/haproxy/src/proto_quic.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 660
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 660
    functionName: quic_bind_tid_reset
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - qc_bind_tid_reset
    linkageType: ''
    returnType: void
    signature: quic_bind_tid_reset(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/proto_quic.c:666,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proto_quic.c:668,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/proto_quic.c:675,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proto_quic.c:677,1
    - Dst: tasklet_set_tid
      Src: /src/haproxy/src/proto_quic.c:681,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/proto_quic.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 689
    functionName: quic_alloc_dghdlrs
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - calloc
    - tasklet_set_tid
    - tasklet_new
    - MT_LIST_INIT
    linkageType: ''
    returnType: int
    signature: quic_alloc_dghdlrs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tasklet_free
      Src: /src/haproxy/src/proto_quic.c:698,1
    - Dst: free
      Src: /src/haproxy/src/proto_quic.c:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 703
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 703
    functionName: quic_deallocate_dghdlrs
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - free
    - tasklet_free
    linkageType: ''
    returnType: int
    signature: quic_deallocate_dghdlrs(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/haproxy/src/proto_quic.c:718,1
    - Dst: socket
      Src: /src/haproxy/src/proto_quic.c:721,1
    - Dst: socket
      Src: /src/haproxy/src/proto_quic.c:722,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_quic.c:734,1
    - Dst: bind
      Src: /src/haproxy/src/proto_quic.c:735,1
    - Dst: getsockname
      Src: /src/haproxy/src/proto_quic.c:741,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_quic.c:747,1
    - Dst: bind
      Src: /src/haproxy/src/proto_quic.c:748,1
    - Dst: close
      Src: /src/haproxy/src/proto_quic.c:760,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 764
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 764
    functionName: quic_test_conn_socket_owner
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - setsockopt
    - getsockname
    - ntohl
    - socket
    - close
    - bind
    linkageType: ''
    returnType: int
    signature: quic_test_conn_socket_owner(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/haproxy/src/proto_quic.c:772,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_quic.c:778,1
    - Dst: close
      Src: /src/haproxy/src/proto_quic.c:789,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 791
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 791
    functionName: quic_test_gso
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - socket
    - close
    - setsockopt
    linkageType: ''
    returnType: int
    signature: quic_test_gso(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_test_conn_socket_owner
      Src: /src/haproxy/src/proto_quic.c:807,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/proto_quic.c:812,1
    - Dst: quic_test_gso
      Src: /src/haproxy/src/proto_quic.c:820,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/proto_quic.c:825,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proto_quic.c:834,1
    - Dst: strerror
      Src: /src/haproxy/src/proto_quic.c:834,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 836
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 836
    functionName: quic_test_socketopts
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strerror
    - quic_test_gso
    - quic_test_conn_socket_owner
    - ha_diag_warning
    linkageType: ''
    returnType: int
    signature: quic_test_socketopts(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_test_conn_socket_owner
      Src: /src/haproxy/src/proto_quic.c:844,1
    - Dst: memprintf
      Src: /src/haproxy/src/proto_quic.c:845,1
    - Dst: memprintf
      Src: /src/haproxy/src/proto_quic.c:846,1
    - Dst: quic_test_gso
      Src: /src/haproxy/src/proto_quic.c:849,1
    - Dst: memprintf
      Src: /src/haproxy/src/proto_quic.c:850,1
    - Dst: memprintf
      Src: /src/haproxy/src/proto_quic.c:851,1
    - Dst: hap_register_build_opts
      Src: /src/haproxy/src/proto_quic.c:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 855
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 855
    functionName: quic_register_build_options
    functionSourceFile: /src/haproxy/src/proto_quic.c
    functionUses: 0
    functionsReached:
    - memprintf
    - quic_test_conn_socket_owner
    - hap_register_build_opts
    - quic_test_gso
    linkageType: ''
    returnType: void
    signature: quic_register_build_options(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hap_fd_clr
      Src: /src/haproxy/src/ev_poll.c:45,1
    - Dst: hap_fd_clr
      Src: /src/haproxy/src/ev_poll.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: __fd_clo
    functionSourceFile: /src/haproxy/src/ev_poll.c
    functionUses: 0
    functionsReached:
    - hap_fd_clr
    linkageType: ''
    returnType: void
    signature: __fd_clo(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ev_poll.c:55,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ev_poll.c:56,1
    - Dst: hap_fd_clr
      Src: /src/haproxy/src/ev_poll.c:68,1
    - Dst: hap_fd_clr
      Src: /src/haproxy/src/ev_poll.c:69,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_poll.c:70,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_poll.c:71,1
    - Dst: hap_fd_clr
      Src: /src/haproxy/src/ev_poll.c:76,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_poll.c:78,1
    - Dst: hap_fd_set
      Src: /src/haproxy/src/ev_poll.c:80,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_poll.c:82,1
    - Dst: hap_fd_clr
      Src: /src/haproxy/src/ev_poll.c:86,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_poll.c:88,1
    - Dst: hap_fd_set
      Src: /src/haproxy/src/ev_poll.c:90,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_poll.c:92,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - fd
    - max_add_fd
    argTypes:
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 98
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 98
    functionName: _update_fd
    functionSourceFile: /src/haproxy/src/ev_poll.c
    functionUses: 1
    functionsReached:
    - hap_fd_set
    - _HA_ATOMIC_OR
    - hap_fd_clr
    - _HA_ATOMIC_AND
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: void
    signature: _update_fd(int fd, int *max_add_fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_poll.c:121,1
    - Dst: _update_fd
      Src: /src/haproxy/src/ev_poll.c:126,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_poll.c:144,1
    - Dst: done_update_polling
      Src: /src/haproxy/src/ev_poll.c:145,1
    - Dst: _update_fd
      Src: /src/haproxy/src/ev_poll.c:150,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/ev_poll.c:155,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/ev_poll.c:171,1
    - Dst: thread_idle_now
      Src: /src/haproxy/src/ev_poll.c:173,1
    - Dst: thread_harmless_now
      Src: /src/haproxy/src/ev_poll.c:174,1
    - Dst: compute_poll_timeout
      Src: /src/haproxy/src/ev_poll.c:209,1
    - Dst: clock_entering_poll
      Src: /src/haproxy/src/ev_poll.c:210,1
    - Dst: poll
      Src: /src/haproxy/src/ev_poll.c:211,1
    - Dst: clock_update_date
      Src: /src/haproxy/src/ev_poll.c:212,1
    - Dst: fd_leaving_poll
      Src: /src/haproxy/src/ev_poll.c:214,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_poll.c:226,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/ev_poll.c:229,1
    - Dst: fd_update_events
      Src: /src/haproxy/src/ev_poll.c:243,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 84
    argCount: 3
    argNames:
    - p
    - exp
    - wake
    argTypes:
    - struct poller*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 245
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 245
    functionName: _do_poll
    functionSourceFile: /src/haproxy/src/ev_poll.c
    functionUses: 0
    functionsReached:
    - thread_harmless_now
    - _HA_ATOMIC_OR
    - clock_update_date
    - poll
    - _HA_ATOMIC_AND
    - _HA_ATOMIC_CAS
    - fd_leaving_poll
    - _HA_ATOMIC_INC
    - fd_update_events
    - _update_fd
    - clock_entering_poll
    - thread_idle_now
    - done_update_polling
    - compute_poll_timeout
    linkageType: ''
    returnType: void
    signature: _do_poll(struct poller *p, int exp, int wake)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ev_poll.c:250,1
    - Dst: vma_set_name_id
      Src: /src/haproxy/src/ev_poll.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: init_poll_per_thread
    functionSourceFile: /src/haproxy/src/ev_poll.c
    functionUses: 0
    functionsReached:
    - calloc
    - vma_set_name_id
    linkageType: ''
    returnType: int
    signature: init_poll_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/ev_poll.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: deinit_poll_per_thread
    functionSourceFile: /src/haproxy/src/ev_poll.c
    functionUses: 0
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: void
    signature: deinit_poll_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ev_poll.c:283,1
    - Dst: vma_set_name
      Src: /src/haproxy/src/ev_poll.c:285,1
    - Dst: calloc
      Src: /src/haproxy/src/ev_poll.c:286,1
    - Dst: vma_set_name
      Src: /src/haproxy/src/ev_poll.c:288,1
    - Dst: hap_register_per_thread_init
      Src: /src/haproxy/src/ev_poll.c:290,1
    - Dst: hap_register_per_thread_deinit
      Src: /src/haproxy/src/ev_poll.c:291,1
    - Dst: free
      Src: /src/haproxy/src/ev_poll.c:296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 300
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 300
    functionName: _do_init
    functionSourceFile: /src/haproxy/src/ev_poll.c
    functionUses: 0
    functionsReached:
    - vma_set_name
    - hap_register_per_thread_init
    - calloc
    - free
    - hap_register_per_thread_deinit
    linkageType: ''
    returnType: int
    signature: _do_init(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/ev_poll.c:308,1
    - Dst: free
      Src: /src/haproxy/src/ev_poll.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 312
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 312
    functionName: _do_term
    functionSourceFile: /src/haproxy/src/ev_poll.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: _do_term(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: _do_test
    functionSourceFile: /src/haproxy/src/ev_poll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: _do_test(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 344
    functionName: _do_register
    functionSourceFile: /src/haproxy/src/ev_poll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _do_register(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ZERO
      Src: /src/haproxy/src/cpuset.c:11,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct hap_cpuset*
    constantsTouched: []
    func_position:
      end: 16
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 16
    functionName: ha_cpuset_zero
    functionSourceFile: /src/haproxy/src/cpuset.c
    functionUses: 0
    functionsReached:
    - CPU_ZERO
    linkageType: ''
    returnType: void
    signature: ha_cpuset_zero(struct hap_cpuset *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_size
      Src: /src/haproxy/src/cpuset.c:20,1
    - Dst: CPU_SET
      Src: /src/haproxy/src/cpuset.c:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - set
    - cpu
    argTypes:
    - struct hap_cpuset*
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 31
    functionName: ha_cpuset_set
    functionSourceFile: /src/haproxy/src/cpuset.c
    functionUses: 0
    functionsReached:
    - CPU_SET
    - ha_cpuset_size
    linkageType: ''
    returnType: int
    signature: ha_cpuset_set(struct hap_cpuset *set, int cpu)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_size
      Src: /src/haproxy/src/cpuset.c:35,1
    - Dst: CPU_CLR
      Src: /src/haproxy/src/cpuset.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - set
    - cpu
    argTypes:
    - struct hap_cpuset*
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: ha_cpuset_clr
    functionSourceFile: /src/haproxy/src/cpuset.c
    functionUses: 0
    functionsReached:
    - CPU_CLR
    - ha_cpuset_size
    linkageType: ''
    returnType: int
    signature: ha_cpuset_clr(struct hap_cpuset *set, int cpu)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CPU_AND
      Src: /src/haproxy/src/cpuset.c:51,1
    - Dst: CPU_AND
      Src: /src/haproxy/src/cpuset.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct hap_cpuset*
    - struct hap_cpuset*
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: ha_cpuset_and
    functionSourceFile: /src/haproxy/src/cpuset.c
    functionUses: 0
    functionsReached:
    - CPU_AND
    linkageType: ''
    returnType: void
    signature: ha_cpuset_and(struct hap_cpuset *dst, struct hap_cpuset *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CPU_OR
      Src: /src/haproxy/src/cpuset.c:64,1
    - Dst: CPU_OR
      Src: /src/haproxy/src/cpuset.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct hap_cpuset*
    - struct hap_cpuset*
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: ha_cpuset_or
    functionSourceFile: /src/haproxy/src/cpuset.c
    functionUses: 0
    functionsReached:
    - CPU_OR
    linkageType: ''
    returnType: void
    signature: ha_cpuset_or(struct hap_cpuset *dst, struct hap_cpuset *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_size
      Src: /src/haproxy/src/cpuset.c:76,1
    - Dst: CPU_ISSET
      Src: /src/haproxy/src/cpuset.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - set
    - cpu
    argTypes:
    - struct hap_cpuset*
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: ha_cpuset_isset
    functionSourceFile: /src/haproxy/src/cpuset.c
    functionUses: 0
    functionsReached:
    - CPU_ISSET
    - ha_cpuset_size
    linkageType: ''
    returnType: int
    signature: ha_cpuset_isset(const struct hap_cpuset *set, int cpu)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CPU_COUNT
      Src: /src/haproxy/src/cpuset.c:92,1
    - Dst: my_popcountl
      Src: /src/haproxy/src/cpuset.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct hap_cpuset*
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: ha_cpuset_count
    functionSourceFile: /src/haproxy/src/cpuset.c
    functionUses: 0
    functionsReached:
    - my_popcountl
    - CPU_COUNT
    linkageType: ''
    returnType: int
    signature: ha_cpuset_count(const struct hap_cpuset *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CPU_COUNT
      Src: /src/haproxy/src/cpuset.c:104,1
    - Dst: CPU_ISSET
      Src: /src/haproxy/src/cpuset.c:107,1
    - Dst: CPU_FFS
      Src: /src/haproxy/src/cpuset.c:113,1
    - Dst: my_ffsl
      Src: /src/haproxy/src/cpuset.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct hap_cpuset*
    constantsTouched: []
    func_position:
      end: 121
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 121
    functionName: ha_cpuset_ffs
    functionSourceFile: /src/haproxy/src/cpuset.c
    functionUses: 0
    functionsReached:
    - my_ffsl
    - CPU_ISSET
    - CPU_FFS
    - CPU_COUNT
    linkageType: ''
    returnType: int
    signature: ha_cpuset_ffs(const struct hap_cpuset *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CPU_ZERO
      Src: /src/haproxy/src/cpuset.c:126,1
    - Dst: CPU_OR
      Src: /src/haproxy/src/cpuset.c:127,1
    - Dst: CPU_COPY
      Src: /src/haproxy/src/cpuset.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct hap_cpuset*
    - struct hap_cpuset*
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: ha_cpuset_assign
    functionSourceFile: /src/haproxy/src/cpuset.c
    functionUses: 0
    functionsReached:
    - CPU_ZERO
    - CPU_OR
    - CPU_COPY
    linkageType: ''
    returnType: void
    signature: ha_cpuset_assign(struct hap_cpuset *dst, struct hap_cpuset *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CPU_EQUAL
      Src: /src/haproxy/src/cpuset.c:141,1
    - Dst: CPU_CMP
      Src: /src/haproxy/src/cpuset.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct hap_cpuset*
    - struct hap_cpuset*
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: ha_cpuset_isequal
    functionSourceFile: /src/haproxy/src/cpuset.c
    functionUses: 0
    functionsReached:
    - CPU_EQUAL
    - CPU_CMP
    linkageType: ''
    returnType: int
    signature: ha_cpuset_isequal(const struct hap_cpuset *dst, const struct hap_cpuset
      *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 160
    functionName: ha_cpuset_size
    functionSourceFile: /src/haproxy/src/cpuset.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ha_cpuset_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpuset.c:174,1
    - Dst: isdigit
      Src: /src/haproxy/src/cpuset.c:181,1
    - Dst: memprintf
      Src: /src/haproxy/src/cpuset.c:182,1
    - Dst: str2uic
      Src: /src/haproxy/src/cpuset.c:186,1
    - Dst: strchr
      Src: /src/haproxy/src/cpuset.c:188,1
    - Dst: strchr
      Src: /src/haproxy/src/cpuset.c:189,1
    - Dst: str2uic
      Src: /src/haproxy/src/cpuset.c:192,1
    - Dst: ha_cpuset_size
      Src: /src/haproxy/src/cpuset.c:192,1
    - Dst: ha_cpuset_size
      Src: /src/haproxy/src/cpuset.c:200,1
    - Dst: memprintf
      Src: /src/haproxy/src/cpuset.c:201,1
    - Dst: ha_cpuset_size
      Src: /src/haproxy/src/cpuset.c:202,1
    - Dst: ha_cpuset_set
      Src: /src/haproxy/src/cpuset.c:207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - args
    - cpu_set
    - err
    argTypes:
    - char**
    - struct hap_cpuset*
    - char**
    constantsTouched: []
    func_position:
      end: 214
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 214
    functionName: parse_cpu_set
    functionSourceFile: /src/haproxy/src/cpuset.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_cpuset_zero
    - str2uic
    - ha_cpuset_size
    - strchr
    - ha_cpuset_set
    - isdigit
    linkageType: ''
    returnType: int
    signature: parse_cpu_set(const char **args, struct hap_cpuset *cpu_set, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpuset.c:231,1
    - Dst: ha_cpuset_clr
      Src: /src/haproxy/src/cpuset.c:234,1
    - Dst: snprintf
      Src: /src/haproxy/src/cpuset.c:239,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpuset.c:244,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpuset.c:252,1
    - Dst: snprintf
      Src: /src/haproxy/src/cpuset.c:254,1
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/cpuset.c:260,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - output
    - size
    - cpu_set
    argTypes:
    - char*
    - size_t
    - struct hap_cpuset*
    constantsTouched: []
    func_position:
      end: 268
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 268
    functionName: print_cpu_set
    functionSourceFile: /src/haproxy/src/cpuset.c
    functionUses: 0
    functionsReached:
    - ha_cpuset_isset
    - ha_cpuset_clr
    - ha_cpuset_count
    - snprintf
    linkageType: ''
    returnType: int
    signature: print_cpu_set(char *output, size_t size, const struct hap_cpuset *cpu_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpuset.c:280,1
    - Dst: strrchr
      Src: /src/haproxy/src/cpuset.c:287,1
    - Dst: strtoul
      Src: /src/haproxy/src/cpuset.c:290,1
    - Dst: ha_cpuset_set
      Src: /src/haproxy/src/cpuset.c:293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - cpumap_str
    - cpu_set
    argTypes:
    - char*
    - struct hap_cpuset*
    constantsTouched: []
    func_position:
      end: 300
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 300
    functionName: parse_cpumap
    functionSourceFile: /src/haproxy/src/cpuset.c
    functionUses: 0
    functionsReached:
    - strtoul
    - strrchr
    - ha_cpuset_set
    - ha_cpuset_zero
    linkageType: ''
    returnType: void
    signature: parse_cpumap(char *cpumap_str, struct hap_cpuset *cpu_set)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: bbr_min_pipe_cwnd
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: bbr_min_pipe_cwnd(struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rs
    argTypes:
    - struct quic_cc_rs*
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: is_inflight_too_high
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: is_inflight_too_high(struct quic_cc_rs *rs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: bbr_is_in_a_probe_bw_state
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bbr_is_in_a_probe_bw_state(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: bbr_reset_congestion_signals
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_reset_congestion_signals(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 304
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 304
    functionName: bbr_reset_lower_bounds
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_reset_lower_bounds(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: bbr_init_round_counting
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_init_round_counting(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: bbr_reset_full_bw
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_reset_full_bw(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_bbr.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cc
    - bbr
    argTypes:
    - struct quic_cc*
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: bbr_init_pacing_rate
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: void
    signature: bbr_init_pacing_rate(struct quic_cc *cc, struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/haproxy/src/quic_cc_bbr.c:354,1
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: bbr_set_send_quantum
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - MIN
    - MAX
    linkageType: ''
    returnType: void
    signature: bbr_set_send_quantum(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: bbr_enter_startup
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_enter_startup(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: bbr_enter_drain
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_enter_drain(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: bbr_enter_probe_rtt
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_enter_probe_rtt(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 418
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 418
    functionName: bbr_save_cwnd
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - MAX
    linkageType: ''
    returnType: void
    signature: bbr_save_cwnd(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: bbr_restore_cwnd
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - MAX
    linkageType: ''
    returnType: void
    signature: bbr_restore_cwnd(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - bbr
    - p
    - bw
    - gain
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 438
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 438
    functionName: bbr_bdp_multiple
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "bbr_bdp_multiple(struct bbr *bbr, struct quic_cc_path *p,\n                                 uint64_t
      bw, uint64_t gain)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: bbr_update_offload_budget
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_update_offload_budget(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_update_offload_budget
      Src: /src/haproxy/src/quic_cc_bbr.c:448,1
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:449,1
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:450,1
    - Dst: bbr_min_pipe_cwnd
      Src: /src/haproxy/src/quic_cc_bbr.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bbr
    - p
    - inflight
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 455
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 455
    functionName: bbr_quantization_budget
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_update_offload_budget
    - MAX
    - bbr_min_pipe_cwnd
    linkageType: ''
    returnType: uint64_t
    signature: "bbr_quantization_budget(struct bbr *bbr, struct quic_cc_path *p,\n
      \                                       uint64_t inflight)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_quantization_budget
      Src: /src/haproxy/src/quic_cc_bbr.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - bbr
    - p
    - bw
    - gain
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 462
    functionName: bbr_inflight
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_quantization_budget
    linkageType: ''
    returnType: uint64_t
    signature: "bbr_inflight(struct bbr *bbr, struct quic_cc_path *p,\n                             uint64_t
      bw, uint64_t gain)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_bdp_multiple
      Src: /src/haproxy/src/quic_cc_bbr.c:470,1
    - Dst: bbr_quantization_budget
      Src: /src/haproxy/src/quic_cc_bbr.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 473
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 473
    functionName: bbr_update_max_inflight
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_bdp_multiple
    - bbr_quantization_budget
    linkageType: ''
    returnType: void
    signature: bbr_update_max_inflight(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - bbr
    - p
    - pacing_gain
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 489
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 489
    functionName: bbr_set_pacing_rate_with_gain
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "bbr_set_pacing_rate_with_gain(struct bbr *bbr,\n                                          struct
      quic_cc_path *p,\n                                          uint64_t pacing_gain)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_set_pacing_rate_with_gain
      Src: /src/haproxy/src/quic_cc_bbr.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: bbr_set_pacing_rate
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_set_pacing_rate_with_gain
    linkageType: ''
    returnType: void
    signature: bbr_set_pacing_rate(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:501,1
    - Dst: bbr_min_pipe_cwnd
      Src: /src/haproxy/src/quic_cc_bbr.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 502
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 502
    functionName: bbr_probe_rtt_cwnd
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - MAX
    - bbr_min_pipe_cwnd
    linkageType: ''
    returnType: uint64_t
    signature: bbr_probe_rtt_cwnd(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/haproxy/src/quic_cc_bbr.c:507,1
    - Dst: bbr_probe_rtt_cwnd
      Src: /src/haproxy/src/quic_cc_bbr.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: bbr_bound_cwnd_for_probe_rtt
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - MIN
    - bbr_probe_rtt_cwnd
    linkageType: ''
    returnType: void
    signature: bbr_bound_cwnd_for_probe_rtt(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:522,1
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:523,1
    - Dst: bbr_min_pipe_cwnd
      Src: /src/haproxy/src/quic_cc_bbr.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 524
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 524
    functionName: bbr_inflight_with_headroom
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - MAX
    - bbr_min_pipe_cwnd
    linkageType: ''
    returnType: uint64_t
    signature: bbr_inflight_with_headroom(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_is_in_a_probe_bw_state
      Src: /src/haproxy/src/quic_cc_bbr.c:530,1
    - Dst: bbr_inflight_with_headroom
      Src: /src/haproxy/src/quic_cc_bbr.c:533,1
    - Dst: MIN
      Src: /src/haproxy/src/quic_cc_bbr.c:536,1
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:537,1
    - Dst: bbr_min_pipe_cwnd
      Src: /src/haproxy/src/quic_cc_bbr.c:537,1
    - Dst: MIN
      Src: /src/haproxy/src/quic_cc_bbr.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 539
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 539
    functionName: bbr_bound_cwnd_for_model
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_inflight_with_headroom
    - MAX
    - bbr_min_pipe_cwnd
    - bbr_is_in_a_probe_bw_state
    - MIN
    linkageType: ''
    returnType: void
    signature: bbr_bound_cwnd_for_model(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_update_max_inflight
      Src: /src/haproxy/src/quic_cc_bbr.c:543,1
    - Dst: MIN
      Src: /src/haproxy/src/quic_cc_bbr.c:546,1
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:551,1
    - Dst: bbr_min_pipe_cwnd
      Src: /src/haproxy/src/quic_cc_bbr.c:551,1
    - Dst: bbr_bound_cwnd_for_probe_rtt
      Src: /src/haproxy/src/quic_cc_bbr.c:552,1
    - Dst: bbr_bound_cwnd_for_model
      Src: /src/haproxy/src/quic_cc_bbr.c:553,1
    - Dst: MIN
      Src: /src/haproxy/src/quic_cc_bbr.c:555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - bbr
    - p
    - acked
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 556
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 556
    functionName: bbr_set_cwnd
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - MAX
    - bbr_min_pipe_cwnd
    - bbr_bound_cwnd_for_probe_rtt
    - MIN
    - bbr_update_max_inflight
    - bbr_bound_cwnd_for_model
    linkageType: ''
    returnType: void
    signature: bbr_set_cwnd(struct bbr *bbr, struct quic_cc_path *p, uint32_t acked)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_bbr.c:560,1
    - Dst: quic_cc_drs_init
      Src: /src/haproxy/src/quic_cc_bbr.c:562,1
    - Dst: wf_init
      Src: /src/haproxy/src/quic_cc_bbr.c:563,1
    - Dst: wf_init
      Src: /src/haproxy/src/quic_cc_bbr.c:564,1
    - Dst: bbr_reset_congestion_signals
      Src: /src/haproxy/src/quic_cc_bbr.c:575,1
    - Dst: bbr_reset_lower_bounds
      Src: /src/haproxy/src/quic_cc_bbr.c:576,1
    - Dst: bbr_init_round_counting
      Src: /src/haproxy/src/quic_cc_bbr.c:577,1
    - Dst: bbr_reset_full_bw
      Src: /src/haproxy/src/quic_cc_bbr.c:578,1
    - Dst: bbr_init_pacing_rate
      Src: /src/haproxy/src/quic_cc_bbr.c:579,1
    - Dst: bbr_enter_startup
      Src: /src/haproxy/src/quic_cc_bbr.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 610
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 610
    functionName: bbr_init
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - quic_cc_priv
    - bbr_init_pacing_rate
    - bbr_init_round_counting
    - bbr_reset_full_bw
    - bbr_reset_lower_bounds
    - bbr_reset_congestion_signals
    - quic_cc_drs_init
    - wf_init
    - bbr_enter_startup
    linkageType: ''
    returnType: int
    signature: bbr_init(struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_reset_full_bw
      Src: /src/haproxy/src/quic_cc_bbr.c:637,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 649
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 649
    functionName: bbr_check_full_bw_reached
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_reset_full_bw
    linkageType: ''
    returnType: void
    signature: bbr_check_full_bw_reached(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_inflight_too_high
      Src: /src/haproxy/src/quic_cc_bbr.c:683,1
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:689,1
    - Dst: bbr_bdp_multiple
      Src: /src/haproxy/src/quic_cc_bbr.c:689,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 690
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 690
    functionName: bbr_check_startup_high_loss
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - is_inflight_too_high
    - bbr_bdp_multiple
    - MAX
    linkageType: ''
    returnType: void
    signature: bbr_check_startup_high_loss(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 695
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 695
    functionName: bbr_start_round
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_start_round(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_start_round
      Src: /src/haproxy/src/quic_cc_bbr.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - bbr
    - delivered
    argTypes:
    - struct bbr*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 711
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 711
    functionName: bbr_update_round
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_start_round
    linkageType: ''
    returnType: void
    signature: bbr_update_round(struct bbr *bbr, uint32_t delivered)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 720
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 720
    functionName: bbr_pick_probe_wait
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_pick_probe_wait(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/haproxy/src/quic_cc_bbr.c:726,1
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 728
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 728
    functionName: bbr_raise_inflight_hi_slope
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - MIN
    - MAX
    linkageType: ''
    returnType: void
    signature: bbr_raise_inflight_hi_slope(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 733
    functionName: bbr_advance_max_bw_filter
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_advance_max_bw_filter(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_reset_congestion_signals
      Src: /src/haproxy/src/quic_cc_bbr.c:762,1
    - Dst: bbr_pick_probe_wait
      Src: /src/haproxy/src/quic_cc_bbr.c:764,1
    - Dst: bbr_start_round
      Src: /src/haproxy/src/quic_cc_bbr.c:766,1
    - Dst: bbr_advance_max_bw_filter
      Src: /src/haproxy/src/quic_cc_bbr.c:771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 772
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 772
    functionName: bbr_start_probe_bw_down
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_pick_probe_wait
    - bbr_reset_congestion_signals
    - bbr_advance_max_bw_filter
    - bbr_start_round
    linkageType: ''
    returnType: void
    signature: bbr_start_probe_bw_down(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 793
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 793
    functionName: bbr_start_probe_bw_cruise
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_start_probe_bw_cruise(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_reset_lower_bounds
      Src: /src/haproxy/src/quic_cc_bbr.c:797,1
    - Dst: bbr_start_round
      Src: /src/haproxy/src/quic_cc_bbr.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 804
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 804
    functionName: bbr_start_probe_bw_refill
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_reset_lower_bounds
    - bbr_start_round
    linkageType: ''
    returnType: void
    signature: bbr_start_probe_bw_refill(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_start_round
      Src: /src/haproxy/src/quic_cc_bbr.c:808,1
    - Dst: bbr_reset_full_bw
      Src: /src/haproxy/src/quic_cc_bbr.c:809,1
    - Dst: bbr_raise_inflight_hi_slope
      Src: /src/haproxy/src/quic_cc_bbr.c:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 815
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 815
    functionName: bbr_start_probe_bw_up
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_raise_inflight_hi_slope
    - bbr_reset_full_bw
    - bbr_start_round
    linkageType: ''
    returnType: void
    signature: bbr_start_probe_bw_up(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_reset_lower_bounds
      Src: /src/haproxy/src/quic_cc_bbr.c:832,1
    - Dst: bbr_start_probe_bw_down
      Src: /src/haproxy/src/quic_cc_bbr.c:834,1
    - Dst: bbr_start_probe_bw_cruise
      Src: /src/haproxy/src/quic_cc_bbr.c:835,1
    - Dst: bbr_enter_startup
      Src: /src/haproxy/src/quic_cc_bbr.c:837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 839
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 839
    functionName: bbr_exit_probe_rtt
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_start_probe_bw_down
    - bbr_reset_lower_bounds
    - bbr_start_probe_bw_cruise
    - bbr_enter_startup
    linkageType: ''
    returnType: void
    signature: bbr_exit_probe_rtt(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/haproxy/src/quic_cc_bbr.c:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 845
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 845
    functionName: bbr_target_inflight
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - MIN
    linkageType: ''
    returnType: uint64_t
    signature: bbr_target_inflight(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:854,1
    - Dst: bbr_target_inflight
      Src: /src/haproxy/src/quic_cc_bbr.c:855,1
    - Dst: bbr_start_probe_bw_down
      Src: /src/haproxy/src/quic_cc_bbr.c:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - bbr
    - p
    - rs
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - struct quic_cc_rs*
    constantsTouched: []
    func_position:
      end: 859
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 859
    functionName: bbr_handle_inflight_too_high
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_start_probe_bw_down
    - bbr_target_inflight
    - MAX
    linkageType: ''
    returnType: void
    signature: "bbr_handle_inflight_too_high(struct bbr *bbr,\n                                         struct
      quic_cc_path *p,\n                                         struct quic_cc_rs
      *rs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_inflight_too_high
      Src: /src/haproxy/src/quic_cc_bbr.c:867,1
    - Dst: bbr_handle_inflight_too_high
      Src: /src/haproxy/src/quic_cc_bbr.c:871,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 874
      start: 865
    functionDepth: 3
    functionLinenumber: 865
    functionLinenumberEnd: 874
    functionName: bbr_is_inflight_too_high
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - is_inflight_too_high
    - bbr_handle_inflight_too_high
    linkageType: ''
    returnType: int
    signature: bbr_is_inflight_too_high(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_raise_inflight_hi_slope
      Src: /src/haproxy/src/quic_cc_bbr.c:891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - bbr
    - p
    - acked
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 892
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 892
    functionName: bbr_probe_inflight_hi_upward
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_raise_inflight_hi_slope
    linkageType: ''
    returnType: void
    signature: bbr_probe_inflight_hi_upward(struct bbr *bbr, struct quic_cc_path *p,
      uint32_t acked)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_is_inflight_too_high
      Src: /src/haproxy/src/quic_cc_bbr.c:900,1
    - Dst: bbr_probe_inflight_hi_upward
      Src: /src/haproxy/src/quic_cc_bbr.c:910,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - bbr
    - p
    - acked
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 911
      start: 897
    functionDepth: 4
    functionLinenumber: 897
    functionLinenumberEnd: 911
    functionName: bbr_adapt_upper_bounds
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_probe_inflight_hi_upward
    - bbr_is_inflight_too_high
    linkageType: ''
    returnType: void
    signature: "bbr_adapt_upper_bounds(struct bbr *bbr, struct quic_cc_path *p,\n
      \                                  uint32_t acked)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_is_lt
      Src: /src/haproxy/src/quic_cc_bbr.c:917,1
    - Dst: tick_add
      Src: /src/haproxy/src/quic_cc_bbr.c:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - interval
    argTypes:
    - struct bbr*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 918
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 918
    functionName: bbr_has_elapsed_in_phase
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - tick_add
    - tick_is_lt
    linkageType: ''
    returnType: int
    signature: "bbr_has_elapsed_in_phase(struct bbr *bbr,\n                                           uint32_t
      interval)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_target_inflight
      Src: /src/haproxy/src/quic_cc_bbr.c:924,1
    - Dst: MIN
      Src: /src/haproxy/src/quic_cc_bbr.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 926
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 926
    functionName: bbr_is_reno_coexistence_probe_time
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_target_inflight
    - MIN
    linkageType: ''
    returnType: int
    signature: bbr_is_reno_coexistence_probe_time(struct bbr *bbr, struct quic_cc_path
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_has_elapsed_in_phase
      Src: /src/haproxy/src/quic_cc_bbr.c:931,1
    - Dst: bbr_is_reno_coexistence_probe_time
      Src: /src/haproxy/src/quic_cc_bbr.c:932,1
    - Dst: bbr_start_probe_bw_refill
      Src: /src/haproxy/src/quic_cc_bbr.c:933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 938
      start: 929
    functionDepth: 2
    functionLinenumber: 929
    functionLinenumberEnd: 938
    functionName: bbr_is_time_to_probe_bw
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_is_reno_coexistence_probe_time
    - bbr_start_probe_bw_refill
    - bbr_has_elapsed_in_phase
    linkageType: ''
    returnType: int
    signature: bbr_is_time_to_probe_bw(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_inflight_with_headroom
      Src: /src/haproxy/src/quic_cc_bbr.c:962,1
    - Dst: bbr_inflight
      Src: /src/haproxy/src/quic_cc_bbr.c:965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 969
      start: 960
    functionDepth: 3
    functionLinenumber: 960
    functionLinenumberEnd: 969
    functionName: bbr_is_time_to_cruise
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_inflight
    - bbr_inflight_with_headroom
    linkageType: ''
    returnType: int
    signature: bbr_is_time_to_cruise(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_reset_full_bw
      Src: /src/haproxy/src/quic_cc_bbr.c:975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 983
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 983
    functionName: bbr_is_time_to_go_down
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_reset_full_bw
    linkageType: ''
    returnType: int
    signature: bbr_is_time_to_go_down(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_cc_bbr.c:987,1
    - Dst: tick_is_lt
      Src: /src/haproxy/src/quic_cc_bbr.c:988,1
    - Dst: bbr_restore_cwnd
      Src: /src/haproxy/src/quic_cc_bbr.c:991,1
    - Dst: bbr_exit_probe_rtt
      Src: /src/haproxy/src/quic_cc_bbr.c:992,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 3
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: bbr_check_probe_rtt_done
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - tick_is_lt
    - bbr_exit_probe_rtt
    - bbr_restore_cwnd
    - tick_isset
    linkageType: ''
    returnType: void
    signature: bbr_check_probe_rtt_done(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 1001
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1001
    functionName: bbr_mark_connection_app_limited
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_mark_connection_app_limited(struct bbr *bbr, struct quic_cc_path
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_update_round
      Src: /src/haproxy/src/quic_cc_bbr.c:1008,1
    - Dst: wf_max_update
      Src: /src/haproxy/src/quic_cc_bbr.c:1010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - bbr
    - p
    - delivered
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1012
      start: 1003
    functionDepth: 2
    functionLinenumber: 1003
    functionLinenumberEnd: 1012
    functionName: bbr_update_max_bw
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_update_round
    - wf_max_update
    linkageType: ''
    returnType: void
    signature: "bbr_update_max_bw(struct bbr *bbr, struct quic_cc_path *p,\n                              uint32_t
      delivered)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 1020
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1020
    functionName: bbr_init_lower_bounds
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_init_lower_bounds(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:1024,1
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 1027
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1027
    functionName: bbr_loss_lower_bounds
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - MAX
    linkageType: ''
    returnType: void
    signature: bbr_loss_lower_bounds(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 1034
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1034
    functionName: bbr_is_probing_bw
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bbr_is_probing_bw(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_is_probing_bw
      Src: /src/haproxy/src/quic_cc_bbr.c:1038,1
    - Dst: bbr_init_lower_bounds
      Src: /src/haproxy/src/quic_cc_bbr.c:1042,1
    - Dst: bbr_loss_lower_bounds
      Src: /src/haproxy/src/quic_cc_bbr.c:1043,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 1045
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1045
    functionName: bbr_adapt_lower_bounds_from_congestion
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_is_probing_bw
    - bbr_loss_lower_bounds
    - bbr_init_lower_bounds
    linkageType: ''
    returnType: void
    signature: bbr_adapt_lower_bounds_from_congestion(struct bbr *bbr, struct quic_cc_path
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:1053,1
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:1054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1059
    functionName: bbr_update_latest_delivery_signals
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - MAX
    linkageType: ''
    returnType: void
    signature: "bbr_update_latest_delivery_signals(struct bbr *bbr,\n                                               struct
      quic_cc_path *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_update_max_bw
      Src: /src/haproxy/src/quic_cc_bbr.c:1064,1
    - Dst: bbr_adapt_lower_bounds_from_congestion
      Src: /src/haproxy/src/quic_cc_bbr.c:1078,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - bbr
    - p
    - bytes_lost
    - delivered
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1080
      start: 1061
    functionDepth: 3
    functionLinenumber: 1061
    functionLinenumberEnd: 1080
    functionName: bbr_update_congestion_signals
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_update_max_bw
    - bbr_adapt_lower_bounds_from_congestion
    linkageType: ''
    returnType: void
    signature: "bbr_update_congestion_signals(struct bbr *bbr, struct quic_cc_path
      *p,\n                                          uint64_t bytes_lost, uint64_t
      delivered)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/haproxy/src/quic_cc_bbr.c:1098,1
    - Dst: wf_max_update
      Src: /src/haproxy/src/quic_cc_bbr.c:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - bbr
    - p
    - acked
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1101
      start: 1082
    functionDepth: 1
    functionLinenumber: 1082
    functionLinenumberEnd: 1101
    functionName: bbr_update_ack_aggregation
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - MIN
    - wf_max_update
    linkageType: ''
    returnType: void
    signature: "bbr_update_ack_aggregation(struct bbr *bbr,\n                                       struct
      quic_cc_path *p,\n                                       uint32_t acked)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_check_startup_high_loss
      Src: /src/haproxy/src/quic_cc_bbr.c:1111,1
    - Dst: bbr_enter_drain
      Src: /src/haproxy/src/quic_cc_bbr.c:1113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 1114
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1114
    functionName: bbr_check_startup_done
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_enter_drain
    - bbr_check_startup_high_loss
    linkageType: ''
    returnType: void
    signature: bbr_check_startup_done(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_inflight
      Src: /src/haproxy/src/quic_cc_bbr.c:1125,1
    - Dst: bbr_start_probe_bw_down
      Src: /src/haproxy/src/quic_cc_bbr.c:1126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 1127
      start: 1121
    functionDepth: 3
    functionLinenumber: 1121
    functionLinenumberEnd: 1127
    functionName: bbr_check_drain_done
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_start_probe_bw_down
    - bbr_inflight
    linkageType: ''
    returnType: void
    signature: "bbr_check_drain_done(struct bbr *bbr,\n                                 struct
      quic_cc_path *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_adapt_upper_bounds
      Src: /src/haproxy/src/quic_cc_bbr.c:1136,1
    - Dst: bbr_is_in_a_probe_bw_state
      Src: /src/haproxy/src/quic_cc_bbr.c:1137,1
    - Dst: bbr_is_time_to_probe_bw
      Src: /src/haproxy/src/quic_cc_bbr.c:1142,1
    - Dst: bbr_is_time_to_cruise
      Src: /src/haproxy/src/quic_cc_bbr.c:1145,1
    - Dst: bbr_start_probe_bw_cruise
      Src: /src/haproxy/src/quic_cc_bbr.c:1146,1
    - Dst: bbr_is_time_to_probe_bw
      Src: /src/haproxy/src/quic_cc_bbr.c:1150,1
    - Dst: bbr_start_probe_bw_up
      Src: /src/haproxy/src/quic_cc_bbr.c:1158,1
    - Dst: bbr_is_time_to_go_down
      Src: /src/haproxy/src/quic_cc_bbr.c:1163,1
    - Dst: bbr_start_probe_bw_down
      Src: /src/haproxy/src/quic_cc_bbr.c:1164,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - bbr
    - p
    - acked
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1170
      start: 1130
    functionDepth: 5
    functionLinenumber: 1130
    functionLinenumberEnd: 1170
    functionName: bbr_update_probe_bw_cycle_phase
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_start_probe_bw_cruise
    - bbr_start_probe_bw_down
    - bbr_start_probe_bw_up
    - bbr_is_time_to_cruise
    - bbr_is_time_to_probe_bw
    - bbr_adapt_upper_bounds
    - bbr_is_in_a_probe_bw_state
    - bbr_is_time_to_go_down
    linkageType: ''
    returnType: void
    signature: "bbr_update_probe_bw_cycle_phase(struct bbr *bbr, struct quic_cc_path
      *p,\n                                            uint32_t acked)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_is_lt
      Src: /src/haproxy/src/quic_cc_bbr.c:1186,1
    - Dst: tick_add
      Src: /src/haproxy/src/quic_cc_bbr.c:1186,1
    - Dst: tick_is_lt
      Src: /src/haproxy/src/quic_cc_bbr.c:1194,1
    - Dst: tick_add
      Src: /src/haproxy/src/quic_cc_bbr.c:1194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - bbr
    - ack_rtt
    argTypes:
    - struct bbr*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1199
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1199
    functionName: bbr_update_min_rtt
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - tick_add
    - tick_is_lt
    linkageType: ''
    returnType: void
    signature: bbr_update_min_rtt(struct bbr *bbr, uint32_t ack_rtt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_mark_connection_app_limited
      Src: /src/haproxy/src/quic_cc_bbr.c:1204,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_cc_bbr.c:1205,1
    - Dst: bbr_probe_rtt_cwnd
      Src: /src/haproxy/src/quic_cc_bbr.c:1206,1
    - Dst: tick_add
      Src: /src/haproxy/src/quic_cc_bbr.c:1208,1
    - Dst: bbr_start_round
      Src: /src/haproxy/src/quic_cc_bbr.c:1211,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_cc_bbr.c:1213,1
    - Dst: bbr_check_probe_rtt_done
      Src: /src/haproxy/src/quic_cc_bbr.c:1217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 1219
      start: 1201
    functionDepth: 4
    functionLinenumber: 1201
    functionLinenumberEnd: 1219
    functionName: bbr_handle_probe_rtt
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_mark_connection_app_limited
    - tick_add
    - bbr_check_probe_rtt_done
    - bbr_start_round
    - tick_isset
    - bbr_probe_rtt_cwnd
    linkageType: ''
    returnType: void
    signature: bbr_handle_probe_rtt(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_enter_probe_rtt
      Src: /src/haproxy/src/quic_cc_bbr.c:1228,1
    - Dst: bbr_save_cwnd
      Src: /src/haproxy/src/quic_cc_bbr.c:1229,1
    - Dst: bbr_start_round
      Src: /src/haproxy/src/quic_cc_bbr.c:1231,1
    - Dst: bbr_handle_probe_rtt
      Src: /src/haproxy/src/quic_cc_bbr.c:1235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 1238
      start: 1224
    functionDepth: 5
    functionLinenumber: 1224
    functionLinenumberEnd: 1238
    functionName: bbr_check_probe_rtt
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_enter_probe_rtt
    - bbr_handle_probe_rtt
    - bbr_start_round
    - bbr_save_cwnd
    linkageType: ''
    returnType: void
    signature: bbr_check_probe_rtt(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 1247
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1247
    functionName: bbr_advance_latest_delivery_signals
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "bbr_advance_latest_delivery_signals(struct bbr *bbr,\n                                                       struct
      quic_cc_path *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/haproxy/src/quic_cc_bbr.c:1251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 1252
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1252
    functionName: bbr_bound_bw_for_model
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - MIN
    linkageType: ''
    returnType: void
    signature: bbr_bound_bw_for_model(struct bbr *bbr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_update_latest_delivery_signals
      Src: /src/haproxy/src/quic_cc_bbr.c:1261,1
    - Dst: bbr_update_congestion_signals
      Src: /src/haproxy/src/quic_cc_bbr.c:1262,1
    - Dst: bbr_update_ack_aggregation
      Src: /src/haproxy/src/quic_cc_bbr.c:1263,1
    - Dst: bbr_check_full_bw_reached
      Src: /src/haproxy/src/quic_cc_bbr.c:1264,1
    - Dst: bbr_check_startup_done
      Src: /src/haproxy/src/quic_cc_bbr.c:1265,1
    - Dst: bbr_check_drain_done
      Src: /src/haproxy/src/quic_cc_bbr.c:1266,1
    - Dst: bbr_update_probe_bw_cycle_phase
      Src: /src/haproxy/src/quic_cc_bbr.c:1267,1
    - Dst: bbr_update_min_rtt
      Src: /src/haproxy/src/quic_cc_bbr.c:1268,1
    - Dst: bbr_check_probe_rtt
      Src: /src/haproxy/src/quic_cc_bbr.c:1269,1
    - Dst: bbr_advance_latest_delivery_signals
      Src: /src/haproxy/src/quic_cc_bbr.c:1270,1
    - Dst: bbr_bound_bw_for_model
      Src: /src/haproxy/src/quic_cc_bbr.c:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 6
    argNames:
    - bbr
    - p
    - acked
    - delivered
    - ack_rtt
    - bytes_lost
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1272
      start: 1254
    functionDepth: 6
    functionLinenumber: 1254
    functionLinenumberEnd: 1272
    functionName: bbr_update_model_and_state
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_check_probe_rtt
    - bbr_check_startup_done
    - bbr_update_min_rtt
    - bbr_update_probe_bw_cycle_phase
    - bbr_check_drain_done
    - bbr_bound_bw_for_model
    - bbr_update_latest_delivery_signals
    - bbr_update_ack_aggregation
    - bbr_advance_latest_delivery_signals
    - bbr_check_full_bw_reached
    - bbr_update_congestion_signals
    linkageType: ''
    returnType: void
    signature: "bbr_update_model_and_state(struct bbr *bbr,\n                                       struct
      quic_cc_path *p,\n                                       uint32_t acked,\n                                       uint32_t
      delivered,\n                                       uint32_t ack_rtt,\n                                       uint32_t
      bytes_lost)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_set_pacing_rate
      Src: /src/haproxy/src/quic_cc_bbr.c:1278,1
    - Dst: bbr_set_send_quantum
      Src: /src/haproxy/src/quic_cc_bbr.c:1279,1
    - Dst: bbr_set_cwnd
      Src: /src/haproxy/src/quic_cc_bbr.c:1280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - bbr
    - p
    - acked
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1281
      start: 1274
    functionDepth: 4
    functionLinenumber: 1274
    functionLinenumberEnd: 1281
    functionName: bbr_update_control_parameters
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_set_pacing_rate
    - bbr_set_send_quantum
    - bbr_set_cwnd
    linkageType: ''
    returnType: void
    signature: "bbr_update_control_parameters(struct bbr *bbr,\n                                          struct
      quic_cc_path *p,\n                                          uint32_t acked)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_cc_bbr.c:1285,1
    - Dst: tick_is_le
      Src: /src/haproxy/src/quic_cc_bbr.c:1286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - p
    - ts
    argTypes:
    - struct quic_cc_path*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1287
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1287
    functionName: in_recovery_period
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - tick_is_le
    - tick_isset
    linkageType: ''
    returnType: int
    signature: in_recovery_period(struct quic_cc_path *p, uint32_t ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_cc_bbr.c:1294,1
    - Dst: in_recovery_period
      Src: /src/haproxy/src/quic_cc_bbr.c:1295,1
    - Dst: bbr_restore_cwnd
      Src: /src/haproxy/src/quic_cc_bbr.c:1298,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_cc_bbr.c:1304,1
    - Dst: bbr_save_cwnd
      Src: /src/haproxy/src/quic_cc_bbr.c:1310,1
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_bbr.c:1311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - bbr
    - p
    - largest_pkt_sent_ts
    - acked
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - unsigned int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1314
      start: 1289
    functionDepth: 2
    functionLinenumber: 1289
    functionLinenumberEnd: 1314
    functionName: bbr_handle_recovery
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - MAX
    - bbr_restore_cwnd
    - bbr_save_cwnd
    - tick_isset
    - in_recovery_period
    linkageType: ''
    returnType: void
    signature: "bbr_handle_recovery(struct bbr *bbr, struct quic_cc_path *p,\n                                unsigned
      int largest_pkt_sent_ts,\n                                uint32_t acked)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_bbr.c:1323,1
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_bbr.c:1324,1
    - Dst: bbr_handle_recovery
      Src: /src/haproxy/src/quic_cc_bbr.c:1326,1
    - Dst: bbr_update_model_and_state
      Src: /src/haproxy/src/quic_cc_bbr.c:1327,1
    - Dst: bbr_update_control_parameters
      Src: /src/haproxy/src/quic_cc_bbr.c:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - cc
    - acked
    - delivered
    - rtt
    - bytes_lost
    - largest_pkt_sent_ts
    argTypes:
    - struct quic_cc*
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 1329
      start: 1319
    functionDepth: 7
    functionLinenumber: 1319
    functionLinenumberEnd: 1329
    functionName: bbr_update_on_ack
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - container_of
    - quic_cc_priv
    - bbr_handle_recovery
    - bbr_update_control_parameters
    - bbr_update_model_and_state
    linkageType: ''
    returnType: void
    signature: "bbr_update_on_ack(struct quic_cc *cc,\n                              uint32_t
      acked, uint32_t delivered, uint32_t rtt,\n                              uint32_t
      bytes_lost, unsigned largest_pkt_sent_ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_cc_bbr.c:1338,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_cc_bbr.c:1341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - rs
    - pkt
    argTypes:
    - struct quic_cc_rs*
    - struct quic_tx_packet*
    constantsTouched: []
    func_position:
      end: 1352
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1352
    functionName: bbr_inflight_hi_from_lost_packet
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: uint64_t
    signature: "bbr_inflight_hi_from_lost_packet(struct quic_cc_rs *rs,\n                                                 struct
      quic_tx_packet *pkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bbr
    - C_delivered
    argTypes:
    - struct bbr*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1359
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1359
    functionName: bbr_note_loss
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: bbr_note_loss(struct bbr *bbr, uint64_t C_delivered)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_note_loss
      Src: /src/haproxy/src/quic_cc_bbr.c:1368,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_cc_bbr.c:1376,1
    - Dst: is_inflight_too_high
      Src: /src/haproxy/src/quic_cc_bbr.c:1380,1
    - Dst: bbr_inflight_hi_from_lost_packet
      Src: /src/haproxy/src/quic_cc_bbr.c:1381,1
    - Dst: bbr_handle_inflight_too_high
      Src: /src/haproxy/src/quic_cc_bbr.c:1382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - bbr
    - p
    - pkt
    - lost
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    - struct quic_tx_packet*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1384
      start: 1361
    functionDepth: 3
    functionLinenumber: 1361
    functionLinenumberEnd: 1384
    functionName: bbr_handle_lost_packet
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - is_inflight_too_high
    - BUG_ON
    - bbr_handle_inflight_too_high
    - bbr_note_loss
    - bbr_inflight_hi_from_lost_packet
    linkageType: ''
    returnType: void
    signature: "bbr_handle_lost_packet(struct bbr *bbr, struct quic_cc_path *p,\n
      \                                  struct quic_tx_packet *pkt,\n                                   uint32_t
      lost)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_bbr.c:1395,1
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_bbr.c:1396,1
    - Dst: bbr_handle_lost_packet
      Src: /src/haproxy/src/quic_cc_bbr.c:1405,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cc
    - pkt
    - lost
    argTypes:
    - struct quic_cc*
    - struct quic_tx_packet*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1406
      start: 1392
    functionDepth: 4
    functionLinenumber: 1392
    functionLinenumberEnd: 1406
    functionName: bbr_update_on_loss
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - container_of
    - quic_cc_priv
    - bbr_handle_lost_packet
    linkageType: ''
    returnType: void
    signature: "bbr_update_on_loss(struct quic_cc *cc, struct quic_tx_packet *pkt,\n
      \                              uint32_t lost)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bbr_is_in_a_probe_bw_state
      Src: /src/haproxy/src/quic_cc_bbr.c:1416,1
    - Dst: bbr_set_pacing_rate_with_gain
      Src: /src/haproxy/src/quic_cc_bbr.c:1417,1
    - Dst: bbr_check_probe_rtt_done
      Src: /src/haproxy/src/quic_cc_bbr.c:1419,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - bbr
    - p
    argTypes:
    - struct bbr*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 1420
      start: 1408
    functionDepth: 4
    functionLinenumber: 1408
    functionLinenumberEnd: 1420
    functionName: bbr_handle_restart_from_idle
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_check_probe_rtt_done
    - bbr_set_pacing_rate_with_gain
    - bbr_is_in_a_probe_bw_state
    linkageType: ''
    returnType: void
    signature: bbr_handle_restart_from_idle(struct bbr *bbr, struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_bbr.c:1425,1
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_bbr.c:1426,1
    - Dst: bbr_handle_restart_from_idle
      Src: /src/haproxy/src/quic_cc_bbr.c:1428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 1429
      start: 1423
    functionDepth: 5
    functionLinenumber: 1423
    functionLinenumberEnd: 1429
    functionName: bbr_on_transmit
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - container_of
    - quic_cc_priv
    - bbr_handle_restart_from_idle
    linkageType: ''
    returnType: void
    signature: bbr_on_transmit(struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_bbr.c:1434,1
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_bbr.c:1435,1
    - Dst: quic_cc_drs_on_pkt_sent
      Src: /src/haproxy/src/quic_cc_bbr.c:1437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cc
    - pkt
    argTypes:
    - struct quic_cc*
    - struct quic_tx_packet*
    constantsTouched: []
    func_position:
      end: 1438
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1438
    functionName: bbr_drs_on_transmit
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - container_of
    - quic_cc_priv
    - quic_cc_drs_on_pkt_sent
    linkageType: ''
    returnType: void
    signature: bbr_drs_on_transmit(struct quic_cc *cc, struct quic_tx_packet *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_bbr.c:1443,1
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_bbr.c:1444,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_cc_bbr.c:1447,1
    - Dst: in_recovery_period
      Src: /src/haproxy/src/quic_cc_bbr.c:1447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - cc
    - ts
    argTypes:
    - struct quic_cc*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1451
      start: 1441
    functionDepth: 2
    functionLinenumber: 1441
    functionLinenumberEnd: 1451
    functionName: bbr_congestion_event
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - in_recovery_period
    - container_of
    - quic_cc_priv
    - tick_isset
    linkageType: ''
    returnType: void
    signature: bbr_congestion_event(struct quic_cc *cc, uint32_t ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_bbr.c:1456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 1457
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1457
    functionName: bbr_get_drs
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - quic_cc_priv
    linkageType: ''
    returnType: struct quic_cc_drs
    signature: '*bbr_get_drs(struct quic_cc *cc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_bbr.c:1462,1
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_bbr.c:1463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 1466
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1466
    functionName: bbr_pacing_inter
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - container_of
    - quic_cc_priv
    linkageType: ''
    returnType: uint
    signature: bbr_pacing_inter(const struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_bbr.c:1471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 1474
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1474
    functionName: bbr_pacing_burst
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: uint
    signature: bbr_pacing_burst(const struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_bbr.c:1479,1
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_bbr.c:1481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - cc
    - sent
    argTypes:
    - struct quic_cc*
    - int
    constantsTouched: []
    func_position:
      end: 1491
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1491
    functionName: bbr_check_app_limited
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - container_of
    - quic_cc_priv
    linkageType: ''
    returnType: void
    signature: bbr_check_app_limited(const struct quic_cc *cc, int sent)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - bbr
    argTypes:
    - struct bbr*
    constantsTouched: []
    func_position:
      end: 1513
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1513
    functionName: bbr_state_str
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*bbr_state_str(struct bbr *bbr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_bbr.c:1518,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cc_bbr.c:1520,1
    - Dst: bbr_state_str
      Src: /src/haproxy/src/quic_cc_bbr.c:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - p
    argTypes:
    - struct buffer*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 1524
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1524
    functionName: bbr_state_cli
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - bbr_state_str
    - quic_cc_priv
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: bbr_state_cli(struct buffer *buf, const struct quic_cc_path *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_cc_bbr.c:1544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1545
    functionName: bbr_check
    functionSourceFile: /src/haproxy/src/quic_cc_bbr.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: bbr_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/ring.c:49,1
    - Dst: memset
      Src: /src/haproxy/src/ring.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - ring
    - area
    - size
    - reset
    argTypes:
    - struct ring*
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: ring_init
    functionSourceFile: /src/haproxy/src/ring.c
    functionUses: 0
    functionsReached:
    - memset
    - MT_LIST_INIT
    linkageType: ''
    returnType: void
    signature: ring_init(struct ring *ring, void *area, size_t size, int reset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/ring.c:86,1
    - Dst: malloc
      Src: /src/haproxy/src/ring.c:91,1
    - Dst: ring_init
      Src: /src/haproxy/src/ring.c:98,1
    - Dst: free
      Src: /src/haproxy/src/ring.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - area
    - size
    - reset
    argTypes:
    - void*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 104
    functionName: ring_make_from_area
    functionSourceFile: /src/haproxy/src/ring.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - ring_init
    linkageType: ''
    returnType: struct ring
    signature: '*ring_make_from_area(void *area, size_t size, int reset)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ring_make_from_area
      Src: /src/haproxy/src/ring.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: ring_new
    functionSourceFile: /src/haproxy/src/ring.c
    functionUses: 0
    functionsReached:
    - ring_make_from_area
    linkageType: ''
    returnType: struct ring
    signature: '*ring_new(size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ring_data
      Src: /src/haproxy/src/ring.c:124,1
    - Dst: malloc::malloc
      Src: /src/haproxy/src/ring.c:128,1
    - Dst: thread_isolate
      Src: /src/haproxy/src/ring.c:132,1
    - Dst: ring_data
      Src: /src/haproxy/src/ring.c:135,1
    - Dst: vp_ring_to_data
      Src: /src/haproxy/src/ring.c:140,1
    - Dst: vp_size
      Src: /src/haproxy/src/ring.c:141,1
    - Dst: vp_peek_ofs
      Src: /src/haproxy/src/ring.c:142,1
    - Dst: area::area
      Src: /src/haproxy/src/ring.c:142,1
    - Dst: HA_ATOMIC_XCHG::HA_ATOMIC_XCHG
      Src: /src/haproxy/src/ring.c:147,1
    - Dst: thread_release
      Src: /src/haproxy/src/ring.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ring
    - size
    argTypes:
    - struct ring*
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 155
    functionName: ring_resize
    functionSourceFile: /src/haproxy/src/ring.c
    functionUses: 0
    functionsReached:
    - vp_peek_ofs
    - vp_size
    - HA_ATOMIC_XCHG::HA_ATOMIC_XCHG
    - area::area
    - malloc::malloc
    - thread_isolate
    - thread_release
    - vp_ring_to_data
    - ring_data
    linkageType: ''
    returnType: struct ring
    signature: '*ring_resize(struct ring *ring, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/ring.c:165,1
    - Dst: free
      Src: /src/haproxy/src/ring.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct ring*
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: ring_free
    functionSourceFile: /src/haproxy/src/ring.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: ring_free(struct ring *ring)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DISGUISE
      Src: /src/haproxy/src/ring.c:179,1
    - Dst: varint_bytes
      Src: /src/haproxy/src/ring.c:212,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/src/ring.c:246,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:253,1
    - Dst: __ha_cpu_relax_for_read
      Src: /src/haproxy/src/ring.c:254,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/ring.c:261,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:278,1
    - Dst: __ha_cpu_relax_for_read
      Src: /src/haproxy/src/ring.c:280,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:284,1
    - Dst: __ha_cpu_relax_for_read
      Src: /src/haproxy/src/ring.c:285,1
    - Dst: HA_ATOMIC_FETCH_OR
      Src: /src/haproxy/src/ring.c:290,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/ring.c:298,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/ring.c:305,1
    - Dst: __ha_cpu_relax_for_read
      Src: /src/haproxy/src/ring.c:308,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:311,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/src/ring.c:319,1
    - Dst: vp_ring_to_data
      Src: /src/haproxy/src/ring.c:321,1
    - Dst: vp_size
      Src: /src/haproxy/src/ring.c:323,1
    - Dst: _vp_head
      Src: /src/haproxy/src/ring.c:331,1
    - Dst: vp_peek_varint_ofs
      Src: /src/haproxy/src/ring.c:333,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ring.c:336,1
    - Dst: vp_size
      Src: /src/haproxy/src/ring.c:336,1
    - Dst: vp_skip
      Src: /src/haproxy/src/ring.c:337,1
    - Dst: vp_size
      Src: /src/haproxy/src/ring.c:342,1
    - Dst: vp_data_to_ring
      Src: /src/haproxy/src/ring.c:343,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/ring.c:346,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/ring.c:354,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/ring.c:360,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/ring.c:364,1
    - Dst: vp_ring_to_room
      Src: /src/haproxy/src/ring.c:366,1
    - Dst: likely
      Src: /src/haproxy/src/ring.c:368,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:370,1
    - Dst: vp_put_varint
      Src: /src/haproxy/src/ring.c:378,1
    - Dst: vp_putblk
      Src: /src/haproxy/src/ring.c:388,1
    - Dst: vp_putblk
      Src: /src/haproxy/src/ring.c:398,1
    - Dst: vp_putchr
      Src: /src/haproxy/src/ring.c:406,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:411,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/ring.c:412,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/ring.c:416,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:420,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/ring.c:421,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/ring.c:422,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:435,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/ring.c:436,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:437,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/src/ring.c:437,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/ring.c:441,1
    - Dst: MT_LIST_FOR_EACH_ENTRY_LOCKED
      Src: /src/haproxy/src/ring.c:442,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/ring.c:443,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/ring.c:444,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:458,1
    - Dst: __ha_cpu_relax_for_read
      Src: /src/haproxy/src/ring.c:459,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:466,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 131
    argCount: 6
    argNames:
    - ring
    - maxlen
    - pfx
    - npfx
    - msg
    - nmsg
    argTypes:
    - struct ring*
    - size_t
    - struct ist[]
    - size_t
    - struct ist[]
    - size_t
    constantsTouched: []
    func_position:
      end: 467
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 467
    functionName: ring_write
    functionSourceFile: /src/haproxy/src/ring.c
    functionUses: 0
    functionsReached:
    - vp_skip
    - vp_putblk
    - HA_ATOMIC_INC
    - vp_ring_to_data
    - likely
    - HA_ATOMIC_LOAD
    - HA_ATOMIC_STORE
    - appctx_wakeup
    - HA_ATOMIC_FETCH_OR
    - vp_peek_varint_ofs
    - vp_ring_to_room
    - BUG_ON_HOT
    - vp_putchr
    - vp_put_varint
    - vp_size
    - varint_bytes
    - vp_data_to_ring
    - HA_ATOMIC_XCHG
    - HA_ATOMIC_CAS
    - DISGUISE
    - __ha_cpu_relax_for_read
    - MT_LIST_FOR_EACH_ENTRY_LOCKED
    - _vp_head
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: ssize_t
    signature: ring_write(struct ring *ring, size_t maxlen, const struct ist pfx[],
      size_t npfx, const struct ist msg[], size_t nmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/ring.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct ring*
    constantsTouched: []
    func_position:
      end: 485
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 485
    functionName: ring_attach
    functionSourceFile: /src/haproxy/src/ring.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_CAS
    linkageType: ''
    returnType: int
    signature: ring_attach(struct ring *ring)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/ring.c:496,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ring.c:503,1
    - Dst: ring_size
      Src: /src/haproxy/src/ring.c:503,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/ring.c:504,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:508,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/ring.c:510,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/ring.c:510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ring
    - appctx
    - ofs
    argTypes:
    - struct ring*
    - struct appctx*
    - size_t
    constantsTouched: []
    func_position:
      end: 512
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 512
    functionName: ring_detach_appctx
    functionSourceFile: /src/haproxy/src/ring.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_CAS
    - ring_size
    - __ha_cpu_relax
    - MT_LIST_DELETE
    - HA_ATOMIC_DEC
    - _HA_ATOMIC_LOAD
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: ring_detach_appctx(struct ring *ring, struct appctx *appctx, size_t
      ofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/ring.c:522,1
    - Dst: ring_attach
      Src: /src/haproxy/src/ring.c:524,1
    - Dst: cli_err
      Src: /src/haproxy/src/ring.c:525,1
    - Dst: TOSTR
      Src: /src/haproxy/src/ring.c:526,1
    - Dst: memset
      Src: /src/haproxy/src/ring.c:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ring
    - appctx
    - flags
    argTypes:
    - struct ring*
    - struct appctx*
    - uint
    constantsTouched: []
    func_position:
      end: 539
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 539
    functionName: ring_attach_cli
    functionSourceFile: /src/haproxy/src/ring.c
    functionUses: 0
    functionsReached:
    - ring_attach
    - cli_err
    - TOSTR
    - memset
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: ring_attach_cli(struct ring *ring, struct appctx *appctx, uint flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/ring.c:581,1
    - Dst: thread_isolate
      Src: /src/haproxy/src/ring.c:582,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:584,1
    - Dst: ring_tail
      Src: /src/haproxy/src/ring.c:585,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:596,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/ring.c:598,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/ring.c:598,1
    - Dst: thread_release
      Src: /src/haproxy/src/ring.c:600,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ring.c:608,1
    - Dst: ring_tail
      Src: /src/haproxy/src/ring.c:613,1
    - Dst: vp_ring_to_data
      Src: /src/haproxy/src/ring.c:626,1
    - Dst: vp_size
      Src: /src/haproxy/src/ring.c:629,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:634,1
    - Dst: _vp_addr
      Src: /src/haproxy/src/ring.c:634,1
    - Dst: vp_peek_varint_ofs
      Src: /src/haproxy/src/ring.c:641,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ring.c:646,1
    - Dst: vp_size
      Src: /src/haproxy/src/ring.c:646,1
    - Dst: msg_handler
      Src: /src/haproxy/src/ring.c:648,1
    - Dst: vp_skip
      Src: /src/haproxy/src/ring.c:660,1
    - Dst: vp_data_to_ring
      Src: /src/haproxy/src/ring.c:663,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:668,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/ring.c:670,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/ring.c:670,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ring.c:674,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/ring.c:676,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/ring.c:676,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 7
    argNames:
    - ring
    - ctx
    - ofs_ptr
    - last_ofs_ptr
    - flags
    - delim
    - processed
    argTypes:
    - struct ring*
    - void*
    - size_t*
    - size_t*
    - uint
    - char
    - size_t*
    constantsTouched: []
    func_position:
      end: 685
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 685
    functionName: ring_dispatch_messages
    functionSourceFile: /src/haproxy/src/ring.c
    functionUses: 0
    functionsReached:
    - vp_size
    - vp_skip
    - _HA_ATOMIC_CAS
    - thread_isolate
    - __ha_cpu_relax
    - thread_release
    - vp_ring_to_data
    - vp_peek_varint_ofs
    - vp_data_to_ring
    - HA_ATOMIC_LOAD
    - _vp_addr
    - ring_tail
    - msg_handler
    - _HA_ATOMIC_LOAD
    - unlikely
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: "ring_dispatch_messages(struct ring *ring, void *ctx, size_t *ofs_ptr,
      size_t *last_ofs_ptr, uint flags,\n                           ssize_t (*msg_handler)(void
      *ctx, struct ist v1, struct ist v2, size_t ofs, size_t len, char delim),\n                           char
      delim,\n                           size_t *processed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/ring.c:699,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/ring.c:705,1
    - Dst: ring_dispatch_messages
      Src: /src/haproxy/src/ring.c:707,1
    - Dst: sc_oc
      Src: /src/haproxy/src/ring.c:714,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/ring.c:716,1
    - Dst: ring_tail
      Src: /src/haproxy/src/ring.c:717,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/ring.c:723,1
    - Dst: applet_have_no_more_data
      Src: /src/haproxy/src/ring.c:725,1
    - Dst: co_skip
      Src: /src/haproxy/src/ring.c:729,1
    - Dst: sc_oc
      Src: /src/haproxy/src/ring.c:729,1
    - Dst: sc_oc
      Src: /src/haproxy/src/ring.c:729,1
    - Dst: applet_expect_no_data
      Src: /src/haproxy/src/ring.c:732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 734
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 734
    functionName: cli_io_handler_show_ring
    functionSourceFile: /src/haproxy/src/ring.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - applet_have_no_more_data
    - applet_expect_no_data
    - MT_LIST_DELETE
    - ring_dispatch_messages
    - co_skip
    - ring_tail
    - MT_LIST_APPEND
    - applet_have_more_data
    - sc_oc
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_ring(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ring_detach_appctx
      Src: /src/haproxy/src/ring.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 744
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 744
    functionName: cli_io_release_show_ring
    functionSourceFile: /src/haproxy/src/ring.c
    functionUses: 0
    functionsReached:
    - ring_detach_appctx
    linkageType: ''
    returnType: void
    signature: cli_io_release_show_ring(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ring_size
      Src: /src/haproxy/src/ring.c:756,1
    - Dst: varint_bytes
      Src: /src/haproxy/src/ring.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct ring*
    constantsTouched: []
    func_position:
      end: 761
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 761
    functionName: ring_max_payload
    functionSourceFile: /src/haproxy/src/ring.c
    functionUses: 0
    functionsReached:
    - ring_size
    - varint_bytes
    linkageType: ''
    returnType: size_t
    signature: ring_max_payload(const struct ring *ring)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/ring.c:770,1
    - Dst: atoi
      Src: /src/haproxy/src/ring.c:773,1
    - Dst: memprintf
      Src: /src/haproxy/src/ring.c:775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 781
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 781
    functionName: cfg_parse_tune_ring_queues
    functionSourceFile: /src/haproxy/src/ring.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "cfg_parse_tune_ring_queues(char **args, int section_type, struct proxy
      *curpx,\n                                       const struct proxy *defpx, const
      char *file, int line,\n                                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hpack_get_dte
      Src: /src/haproxy/src/hpack-tbl.c:113,1
    - Dst: fprintf
      Src: /src/haproxy/src/hpack-tbl.c:114,1
    - Dst: istpad
      Src: /src/haproxy/src/hpack-tbl.c:116,1
    - Dst: hpack_idx_to_name
      Src: /src/haproxy/src/hpack-tbl.c:116,1
    - Dst: istpad
      Src: /src/haproxy/src/hpack-tbl.c:117,1
    - Dst: hpack_idx_to_value
      Src: /src/haproxy/src/hpack-tbl.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - out
    - dht
    argTypes:
    - FILE*
    - struct hpack_dht*
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: hpack_dht_dump
    functionSourceFile: /src/haproxy/src/hpack-tbl.c
    functionUses: 1
    functionsReached:
    - hpack_idx_to_name
    - istpad
    - hpack_get_dte
    - fprintf
    - hpack_idx_to_value
    linkageType: ''
    returnType: void
    signature: hpack_dht_dump(FILE *out, const struct hpack_dht *dht)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/hpack-tbl.c:133,1
    - Dst: abort
      Src: /src/haproxy/src/hpack-tbl.c:136,1
    - Dst: abort
      Src: /src/haproxy/src/hpack-tbl.c:139,1
    - Dst: fprintf
      Src: /src/haproxy/src/hpack-tbl.c:149,1
    - Dst: abort
      Src: /src/haproxy/src/hpack-tbl.c:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - dht
    argTypes:
    - struct hpack_dht*
    constantsTouched: []
    func_position:
      end: 152
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 152
    functionName: hpack_dht_check_consistency
    functionSourceFile: /src/haproxy/src/hpack-tbl.c
    functionUses: 0
    functionsReached:
    - fprintf
    - abort
    linkageType: ''
    returnType: void
    signature: hpack_dht_check_consistency(const struct hpack_dht *dht)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hpack_dht_alloc
      Src: /src/haproxy/src/hpack-tbl.c:168,1
    - Dst: hpack_dht_get_tail
      Src: /src/haproxy/src/hpack-tbl.c:181,1
    - Dst: memcpy
      Src: /src/haproxy/src/hpack-tbl.c:188,1
    - Dst: dht::dht
      Src: /src/haproxy/src/hpack-tbl.c:196,1
    - Dst: memcpy
      Src: /src/haproxy/src/hpack-tbl.c:201,1
    - Dst: hpack_dht_free
      Src: /src/haproxy/src/hpack-tbl.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - dht
    argTypes:
    - struct hpack_dht*
    constantsTouched: []
    func_position:
      end: 205
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 205
    functionName: hpack_dht_defrag
    functionSourceFile: /src/haproxy/src/hpack-tbl.c
    functionUses: 0
    functionsReached:
    - hpack_dht_free
    - hpack_dht_get_tail
    - dht::dht
    - memcpy
    - hpack_dht_alloc
    linkageType: ''
    returnType: struct hpack_dht
    signature: '*hpack_dht_defrag(struct hpack_dht *dht)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - dht
    - needed
    argTypes:
    - struct hpack_dht*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 239
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 239
    functionName: __hpack_dht_make_room
    functionSourceFile: /src/haproxy/src/hpack-tbl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: __hpack_dht_make_room(struct hpack_dht *dht, unsigned int needed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hpack_dht_make_room
      Src: /src/haproxy/src/hpack-tbl.c:253,1
    - Dst: hpack_dht_get_tail
      Src: /src/haproxy/src/hpack-tbl.c:274,1
    - Dst: hpack_dht_defrag
      Src: /src/haproxy/src/hpack-tbl.c:293,1
    - Dst: hpack_dht_defrag
      Src: /src/haproxy/src/hpack-tbl.c:306,1
    - Dst: hpack_dht_defrag
      Src: /src/haproxy/src/hpack-tbl.c:353,1
    - Dst: memcpy
      Src: /src/haproxy/src/hpack-tbl.c:369,1
    - Dst: memcpy
      Src: /src/haproxy/src/hpack-tbl.c:370,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    argCount: 3
    argNames:
    - dht
    - name
    - value
    argTypes:
    - struct hpack_dht*
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 372
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 372
    functionName: hpack_dht_insert
    functionSourceFile: /src/haproxy/src/hpack-tbl.c
    functionUses: 1
    functionsReached:
    - hpack_dht_get_tail
    - hpack_dht_defrag
    - hpack_dht_make_room
    - memcpy
    linkageType: ''
    returnType: int
    signature: hpack_dht_insert(struct hpack_dht *dht, struct ist name, struct ist
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_isboolean
      Src: /src/haproxy/src/hlua_fcn.c:64,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua_fcn.c:65,1
    - Dst: lua_toboolean
      Src: /src/haproxy/src/hlua_fcn.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - L
    - index
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: hlua_checkboolean
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_toboolean
    - lua_isboolean
    - luaL_argerror
    linkageType: ''
    returnType: int
    signature: hlua_checkboolean(lua_State *L, int index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:73,1
    - Dst: lua_pushnumber
      Src: /src/haproxy/src/hlua_fcn.c:76,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - L
    - val
    argTypes:
    - lua_State*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: hlua_fcn_pushunsigned
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - lua_pushinteger
    linkageType: ''
    returnType: int
    signature: hlua_fcn_pushunsigned(lua_State *L, unsigned int val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushnumber
      Src: /src/haproxy/src/hlua_fcn.c:88,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:90,1
    - Dst: lua_pushnumber
      Src: /src/haproxy/src/hlua_fcn.c:94,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - L
    - val
    argTypes:
    - lua_State*
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: hlua_fcn_pushunsigned_ll
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushnumber
    - lua_pushinteger
    linkageType: ''
    returnType: int
    signature: hlua_fcn_pushunsigned_ll(lua_State *L, unsigned long long val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_format
      Src: /src/haproxy/src/hlua_fcn.c:112,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:115,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:120,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:126,1
    - Dst: lua_pushnumber
      Src: /src/haproxy/src/hlua_fcn.c:130,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:132,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:139,1
    - Dst: lua_pushnumber
      Src: /src/haproxy/src/hlua_fcn.c:143,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:145,1
    - Dst: lua_pushnumber
      Src: /src/haproxy/src/hlua_fcn.c:153,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:155,1
    - Dst: lua_pushnumber
      Src: /src/haproxy/src/hlua_fcn.c:159,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:161,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:166,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:174,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - L
    - field
    argTypes:
    - lua_State*
    - struct field*
    constantsTouched: []
    func_position:
      end: 176
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 176
    functionName: hlua_fcn_pushfield
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - lua_pushstring
    - field_format
    - lua_pushnumber
    - lua_pushinteger
    linkageType: ''
    returnType: int
    signature: hlua_fcn_pushfield(lua_State *L, struct field *field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/hlua_fcn.c:189,1
    - Dst: strlen
      Src: /src/haproxy/src/hlua_fcn.c:191,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/hlua_fcn.c:191,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua_fcn.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - L
    - str
    argTypes:
    - lua_State*
    - char*
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: hlua_pushstrippedstring
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - strlen
    - HTTP_IS_LWS
    - lua_pushlstring
    linkageType: ''
    returnType: char
    signature: '*hlua_pushstrippedstring(lua_State *L, const char *str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:206,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:207,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua_fcn.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - L
    - name
    - value
    argTypes:
    - lua_State*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: hlua_class_const_int
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 1
    functionsReached:
    - lua_pushstring
    - lua_rawset
    - lua_pushinteger
    linkageType: ''
    returnType: void
    signature: hlua_class_const_int(lua_State *L, const char *name, int value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:212,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:213,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua_fcn.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - L
    - name
    - value
    argTypes:
    - lua_State*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: hlua_class_const_str
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_rawset
    linkageType: ''
    returnType: void
    signature: hlua_class_const_str(lua_State *L, const char *name, const char *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:218,1
    - Dst: lua_pushcclosure
      Src: /src/haproxy/src/hlua_fcn.c:219,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua_fcn.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - L
    - name
    argTypes:
    - lua_State*
    - char*
    constantsTouched: []
    func_position:
      end: 221
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 221
    functionName: hlua_class_function
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 1
    functionsReached:
    - lua_pushstring
    - lua_pushcclosure
    - lua_rawset
    linkageType: ''
    returnType: void
    signature: hlua_class_function(lua_State *L, const char *name, int (*function)(lua_State
      *L))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua_fcn.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: hlua_dump_object
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushfstring
    linkageType: ''
    returnType: int
    signature: hlua_dump_object(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_type
      Src: /src/haproxy/src/hlua_fcn.c:241,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua_fcn.c:242,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:248,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:249,1
    - Dst: lua_pushcclosure
      Src: /src/haproxy/src/hlua_fcn.c:250,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua_fcn.c:251,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua_fcn.c:257,1
    - Dst: lua_setfield
      Src: /src/haproxy/src/hlua_fcn.c:258,1
    - Dst: luaL_ref
      Src: /src/haproxy/src/hlua_fcn.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - L
    - name
    argTypes:
    - struct lua_State*
    - char*
    constantsTouched: []
    func_position:
      end: 264
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 264
    functionName: hlua_register_metatable
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 1
    functionsReached:
    - lua_pushstring
    - lua_pushcclosure
    - lua_setfield
    - luaL_ref
    - luaL_error
    - lua_pushvalue
    - lua_rawset
    - lua_type
    linkageType: ''
    returnType: int
    signature: hlua_register_metatable(struct lua_State *L, char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_istable
      Src: /src/haproxy/src/hlua_fcn.c:273,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua_fcn.c:274,1
    - Dst: lua_getmetatable
      Src: /src/haproxy/src/hlua_fcn.c:277,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua_fcn.c:278,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:281,1
    - Dst: lua_rawequal
      Src: /src/haproxy/src/hlua_fcn.c:284,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua_fcn.c:285,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua_fcn.c:287,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:290,1
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua_fcn.c:293,1
    - Dst: luaL_argerror
      Src: /src/haproxy/src/hlua_fcn.c:295,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua_fcn.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - L
    - ud
    - class_ref
    argTypes:
    - lua_State*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 302
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 302
    functionName: hlua_checkudata
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 11
    functionsReached:
    - lua_pop
    - lua_touserdata
    - lua_rawequal
    - lua_rawgeti
    - lua_istable
    - luaL_argerror
    - lua_getmetatable
    linkageType: ''
    returnType: void
    signature: '*hlua_checkudata(lua_State *L, int ud, int class_ref)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NS_TO_TV
      Src: /src/haproxy/src/hlua_fcn.c:312,1
    - Dst: tv_add
      Src: /src/haproxy/src/hlua_fcn.c:313,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:315,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:316,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:317,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua_fcn.c:318,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:319,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:320,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua_fcn.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 323
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 323
    functionName: hlua_now
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - NS_TO_TV
    - lua_rawset
    - lua_pushinteger
    - tv_add
    - lua_newtable
    linkageType: ''
    returnType: int
    signature: hlua_now(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua_fcn.c:336,1
    - Dst: fcn
      Src: /src/haproxy/src/hlua_fcn.c:338,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:339,1
    - Dst: my_timegm
      Src: /src/haproxy/src/hlua_fcn.c:349,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:351,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 357
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 357
    functionName: hlua_parse_date
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - fcn
    - my_timegm
    - lua_pushinteger
    - luaL_checklstring
    linkageType: ''
    returnType: int
    signature: hlua_parse_date(lua_State *L, int (*fcn)(const char *, int, struct
      tm*))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_parse_date
      Src: /src/haproxy/src/hlua_fcn.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: hlua_http_date
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_parse_date
    linkageType: ''
    returnType: int
    signature: hlua_http_date(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_parse_date
      Src: /src/haproxy/src/hlua_fcn.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: hlua_imf_date
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_parse_date
    linkageType: ''
    returnType: int
    signature: hlua_imf_date(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_parse_date
      Src: /src/haproxy/src/hlua_fcn.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: hlua_rfc850_date
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_parse_date
    linkageType: ''
    returnType: int
    signature: hlua_rfc850_date(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_parse_date
      Src: /src/haproxy/src/hlua_fcn.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: hlua_asctime_date
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_parse_date
    linkageType: ''
    returnType: int
    signature: hlua_asctime_date(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stats_fill_info
      Src: /src/haproxy/src/hlua_fcn.c:379,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:381,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:383,1
    - Dst: hlua_fcn_pushfield
      Src: /src/haproxy/src/hlua_fcn.c:384,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 388
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 388
    functionName: hlua_get_info
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_settable
    - lua_pushstring
    - hlua_fcn_pushfield
    - lua_newtable
    - stats_fill_info
    linkageType: ''
    returnType: int
    signature: hlua_get_info(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: hlua_check_concat
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_checkudata
    linkageType: ''
    returnType: struct hlua_concat
    signature: '*hlua_check_concat(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_concat
      Src: /src/haproxy/src/hlua_fcn.c:404,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua_fcn.c:407,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:410,1
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua_fcn.c:411,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua_fcn.c:412,1
    - Dst: buffer::buffer
      Src: /src/haproxy/src/hlua_fcn.c:423,1
    - Dst: lua_newuserdata::lua_newuserdata
      Src: /src/haproxy/src/hlua_fcn.c:426,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:428,1
    - Dst: memcpy
      Src: /src/haproxy/src/hlua_fcn.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 436
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 436
    functionName: hlua_concat_add
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_touserdata
    - hlua_check_concat
    - buffer::buffer
    - lua_rawseti
    - lua_newuserdata::lua_newuserdata
    - lua_rawgeti
    - luaL_checklstring
    - memcpy
    linkageType: ''
    returnType: int
    signature: hlua_concat_add(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_concat
      Src: /src/haproxy/src/hlua_fcn.c:444,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:447,1
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua_fcn.c:448,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua_fcn.c:449,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua_fcn.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 454
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 454
    functionName: hlua_concat_dump
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_touserdata
    - lua_pushlstring
    - hlua_check_concat
    - lua_rawgeti
    linkageType: ''
    returnType: int
    signature: hlua_concat_dump(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:460,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua_fcn.c:461,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:464,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua_fcn.c:465,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:466,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:468,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua_fcn.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 472
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 472
    functionName: hlua_concat_new
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_newuserdata
    - lua_setmetatable
    - lua_rawseti
    - lua_rawgeti
    - lua_newtable
    linkageType: ''
    returnType: int
    signature: hlua_concat_new(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushfstring
      Src: /src/haproxy/src/hlua_fcn.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: concat_tostring
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushfstring
    linkageType: ''
    returnType: int
    signature: concat_tostring(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:484,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:486,1
    - Dst: lua_pushcclosure
      Src: /src/haproxy/src/hlua_fcn.c:487,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:488,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:490,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:491,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:493,1
    - Dst: lua_pushcclosure
      Src: /src/haproxy/src/hlua_fcn.c:494,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:495,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:497,1
    - Dst: lua_pushcclosure
      Src: /src/haproxy/src/hlua_fcn.c:498,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:499,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:501,1
    - Dst: luaL_ref
      Src: /src/haproxy/src/hlua_fcn.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 503
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 503
    functionName: hlua_concat_init
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_settable
    - luaL_ref
    - lua_pushstring
    - lua_pushcclosure
    - lua_newtable
    linkageType: ''
    returnType: void
    signature: hlua_concat_init(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: hlua_check_queue
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_checkudata
    linkageType: ''
    returnType: struct hlua_queue
    signature: '*hlua_check_queue(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_queue
      Src: /src/haproxy/src/hlua_fcn.c:532,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:534,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:535,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/hlua_fcn.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: hlua_queue_size
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_LOAD
    - hlua_check_queue
    - BUG_ON
    - lua_pushinteger
    linkageType: ''
    returnType: int
    signature: hlua_queue_size(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_queue
      Src: /src/haproxy/src/hlua_fcn.c:545,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:549,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua_fcn.c:552,1
    - Dst: HLUA_CANT_YIELD
      Src: /src/haproxy/src/hlua_fcn.c:554,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua_fcn.c:555,1
    - Dst: notification_new
      Src: /src/haproxy/src/hlua_fcn.c:560,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua_fcn.c:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 564
      start: 543
    functionDepth: 2
    functionLinenumber: 543
    functionLinenumberEnd: 564
    functionName: hlua_queue_alarm
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_queue
    - luaL_error
    - notification_new
    - HLUA_CANT_YIELD
    - hlua_gethlua
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: hlua_queue_alarm(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_queue
      Src: /src/haproxy/src/hlua_fcn.c:572,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua_fcn.c:575,1
    - Dst: lua_isnoneornil
      Src: /src/haproxy/src/hlua_fcn.c:575,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua_fcn.c:576,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:580,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/hlua_fcn.c:582,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:585,1
    - Dst: hlua_ref
      Src: /src/haproxy/src/hlua_fcn.c:590,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/hlua_fcn.c:593,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/hlua_fcn.c:594,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/hlua_fcn.c:595,1
    - Dst: notification_wake
      Src: /src/haproxy/src/hlua_fcn.c:598,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 602
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 602
    functionName: hlua_queue_push
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_isnoneornil
    - lua_pushboolean
    - hlua_ref
    - HA_ATOMIC_INC
    - hlua_check_queue
    - luaL_error
    - pool_alloc
    - lua_gettop
    - MT_LIST_APPEND
    - MT_LIST_INIT
    - BUG_ON
    - notification_wake
    linkageType: ''
    returnType: int
    signature: hlua_queue_push(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/hlua_fcn.c:613,1
    - Dst: typeof
      Src: /src/haproxy/src/hlua_fcn.c:613,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/hlua_fcn.c:617,1
    - Dst: hlua_pushref
      Src: /src/haproxy/src/hlua_fcn.c:619,1
    - Dst: hlua_unref
      Src: /src/haproxy/src/hlua_fcn.c:624,1
    - Dst: pool_free
      Src: /src/haproxy/src/hlua_fcn.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - L
    - queue
    argTypes:
    - lua_State*
    - struct hlua_queue*
    constantsTouched: []
    func_position:
      end: 630
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 630
    functionName: _hlua_queue_pop
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_unref
    - pool_free
    - typeof
    - HA_ATOMIC_DEC
    - hlua_pushref
    - MT_LIST_POP
    linkageType: ''
    returnType: int
    signature: _hlua_queue_pop(lua_State *L, struct hlua_queue *queue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_queue
      Src: /src/haproxy/src/hlua_fcn.c:637,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:639,1
    - Dst: _hlua_queue_pop
      Src: /src/haproxy/src/hlua_fcn.c:640,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 645
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 645
    functionName: hlua_queue_pop
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 1
    functionsReached:
    - _hlua_queue_pop
    - lua_pushnil
    - hlua_check_queue
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: hlua_queue_pop(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_queue
      Src: /src/haproxy/src/hlua_fcn.c:653,1
    - Dst: _hlua_queue_pop
      Src: /src/haproxy/src/hlua_fcn.c:656,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua_fcn.c:659,1
    - Dst: notification_new
      Src: /src/haproxy/src/hlua_fcn.c:660,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:661,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua_fcn.c:664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 669
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 669
    functionName: _hlua_queue_pop_wait
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - hlua_check_queue
    - notification_new
    - _hlua_queue_pop
    - hlua_gethlua
    - hlua_yieldk
    linkageType: ''
    returnType: int
    signature: _hlua_queue_pop_wait(lua_State *L, int status, lua_KContext ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_queue
      Src: /src/haproxy/src/hlua_fcn.c:672,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:675,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua_fcn.c:678,1
    - Dst: HLUA_CANT_YIELD
      Src: /src/haproxy/src/hlua_fcn.c:680,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua_fcn.c:681,1
    - Dst: _hlua_queue_pop
      Src: /src/haproxy/src/hlua_fcn.c:687,1
    - Dst: _hlua_queue_pop_wait
      Src: /src/haproxy/src/hlua_fcn.c:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 706
      start: 670
    functionDepth: 3
    functionLinenumber: 670
    functionLinenumberEnd: 706
    functionName: hlua_queue_pop_wait
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 1
    functionsReached:
    - hlua_check_queue
    - luaL_error
    - HLUA_CANT_YIELD
    - _hlua_queue_pop
    - _hlua_queue_pop_wait
    - hlua_gethlua
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: hlua_queue_pop_wait(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:712,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:715,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua_fcn.c:716,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua_fcn.c:719,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/hlua_fcn.c:720,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/hlua_fcn.c:721,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:723,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:726,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:727,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:728,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:729,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 733
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 733
    functionName: hlua_queue_new
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_newuserdata
    - hlua_class_function
    - lua_setmetatable
    - lua_rawseti
    - lua_rawgeti
    - lua_newtable
    - MT_LIST_INIT
    linkageType: ''
    returnType: int
    signature: hlua_queue_new(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_queue
      Src: /src/haproxy/src/hlua_fcn.c:737,1
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/hlua_fcn.c:741,1
    - Dst: typeof
      Src: /src/haproxy/src/hlua_fcn.c:741,1
    - Dst: pool_free
      Src: /src/haproxy/src/hlua_fcn.c:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 749
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 749
    functionName: hlua_queue_gc
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - typeof
    - hlua_check_queue
    - MT_LIST_POP
    - pool_free
    linkageType: ''
    returnType: int
    signature: hlua_queue_gc(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:754,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:756,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua_fcn.c:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 759
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 759
    functionName: hlua_queue_init
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_newtable
    - hlua_register_metatable
    - hlua_class_function
    linkageType: ''
    returnType: void
    signature: hlua_queue_init(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:763,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:766,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua_fcn.c:767,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua_fcn.c:769,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - L
    - tbl
    argTypes:
    - lua_State*
    - struct stktable*
    constantsTouched: []
    func_position:
      end: 772
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 772
    functionName: hlua_fcn_new_stktable
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_setmetatable
    - lua_rawseti
    - lua_pushlightuserdata
    - lua_rawgeti
    - lua_newtable
    linkageType: ''
    returnType: int
    signature: hlua_fcn_new_stktable(lua_State *L, struct stktable *tbl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 777
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 777
    functionName: hlua_check_stktable
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_checkudata
    linkageType: ''
    returnType: struct stktable
    signature: '*hlua_check_stktable(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_stktable
      Src: /src/haproxy/src/hlua_fcn.c:785,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:788,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:792,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:794,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:795,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:796,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:798,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:799,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:800,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:802,1
    - Dst: hlua_fcn_pushunsigned
      Src: /src/haproxy/src/hlua_fcn.c:803,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:804,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:806,1
    - Dst: hlua_fcn_pushunsigned
      Src: /src/haproxy/src/hlua_fcn.c:807,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:808,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:810,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:811,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:812,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:814,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:815,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:816,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:819,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:820,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:826,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:829,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:831,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:833,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:836,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 839
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 839
    functionName: hlua_stktable_info
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_settable
    - lua_pushstring
    - lua_pushnil
    - hlua_check_stktable
    - lua_pushboolean
    - hlua_fcn_pushunsigned
    - lua_pushinteger
    - lua_newtable
    linkageType: ''
    returnType: int
    signature: hlua_stktable_info(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/hlua_fcn.c:849,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:853,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:857,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/hlua_fcn.c:857,1
    - Dst: hlua_fcn_pushunsigned
      Src: /src/haproxy/src/hlua_fcn.c:860,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/hlua_fcn.c:860,1
    - Dst: hlua_fcn_pushunsigned_ll
      Src: /src/haproxy/src/hlua_fcn.c:863,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/hlua_fcn.c:863,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:866,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/hlua_fcn.c:866,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/hlua_fcn.c:866,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/hlua_fcn.c:871,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:872,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:877,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - L
    - t
    - ts
    argTypes:
    - lua_State*
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 879
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 879
    functionName: hlua_stktable_entry
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_settable
    - lua_pushstring
    - stktable_data_cast
    - hlua_fcn_pushunsigned
    - read_freq_ctr_period
    - lua_pushinteger
    - stktable_data_ptr
    - hlua_fcn_pushunsigned_ll
    linkageType: ''
    returnType: void
    signature: hlua_stktable_entry(lua_State *L, struct stktable *t, struct stksess
      *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_stktable
      Src: /src/haproxy/src/hlua_fcn.c:895,1
    - Dst: lua_tolstring
      Src: /src/haproxy/src/hlua_fcn.c:898,1
    - Dst: smp_to_stkey
      Src: /src/haproxy/src/hlua_fcn.c:900,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:902,1
    - Dst: stktable_lookup_key
      Src: /src/haproxy/src/hlua_fcn.c:906,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:908,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:912,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:913,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:914,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/hlua_fcn.c:914,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:915,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:917,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:918,1
    - Dst: tick_remain
      Src: /src/haproxy/src/hlua_fcn.c:918,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:919,1
    - Dst: hlua_stktable_entry
      Src: /src/haproxy/src/hlua_fcn.c:921,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/hlua_fcn.c:922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 925
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 925
    functionName: hlua_stktable_lookup
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - smp_to_stkey
    - lua_settable
    - lua_pushnil
    - lua_pushstring
    - hlua_check_stktable
    - tick_remain
    - lua_pushinteger
    - HA_ATOMIC_DEC
    - stktable_lookup_key
    - HA_ATOMIC_LOAD
    - lua_newtable
    - hlua_stktable_entry
    - lua_tolstring
    linkageType: ''
    returnType: int
    signature: hlua_stktable_lookup(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/hlua_fcn.c:939,1
    - Dst: vsnprintf
      Src: /src/haproxy/src/hlua_fcn.c:940,1
    - Dst: va_end
      Src: /src/haproxy/src/hlua_fcn.c:941,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua_fcn.c:944,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:945,1
    - Dst: ha_alert
      Src: /src/haproxy/src/hlua_fcn.c:948,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:950,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - L
    - fmt
    argTypes:
    - lua_State*
    - char*
    constantsTouched: []
    func_position:
      end: 954
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 954
    functionName: hlua_error
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - va_end
    - lua_pushnil
    - lua_pushstring
    - vsnprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: hlua_error(lua_State *L, const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_stktable
      Src: /src/haproxy/src/hlua_fcn.c:974,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua_fcn.c:975,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:982,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua_fcn.c:983,1
    - Dst: hlua_error
      Src: /src/haproxy/src/hlua_fcn.c:987,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua_fcn.c:989,1
    - Dst: lua_rawlen
      Src: /src/haproxy/src/hlua_fcn.c:989,1
    - Dst: hlua_error
      Src: /src/haproxy/src/hlua_fcn.c:990,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:992,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua_fcn.c:993,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua_fcn.c:996,1
    - Dst: hlua_error
      Src: /src/haproxy/src/hlua_fcn.c:997,1
    - Dst: stktable_get_data_type
      Src: /src/haproxy/src/hlua_fcn.c:999,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua_fcn.c:999,1
    - Dst: hlua_error
      Src: /src/haproxy/src/hlua_fcn.c:1001,1
    - Dst: lua_type
      Src: /src/haproxy/src/hlua_fcn.c:1005,1
    - Dst: hlua_error
      Src: /src/haproxy/src/hlua_fcn.c:1006,1
    - Dst: get_std_op
      Src: /src/haproxy/src/hlua_fcn.c:1008,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua_fcn.c:1008,1
    - Dst: hlua_error
      Src: /src/haproxy/src/hlua_fcn.c:1010,1
    - Dst: lua_tointeger
      Src: /src/haproxy/src/hlua_fcn.c:1014,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua_fcn.c:1022,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua_fcn.c:1024,1
    - Dst: hlua_error
      Src: /src/haproxy/src/hlua_fcn.c:1028,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:1031,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1034,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/hlua_fcn.c:1035,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/hlua_fcn.c:1036,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/hlua_fcn.c:1037,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1039,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/hlua_fcn.c:1042,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1043,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/hlua_fcn.c:1048,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/hlua_fcn.c:1054,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/hlua_fcn.c:1057,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/hlua_fcn.c:1060,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/hlua_fcn.c:1063,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/hlua_fcn.c:1063,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1082,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/hlua_fcn.c:1083,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/hlua_fcn.c:1089,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:1090,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/hlua_fcn.c:1093,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:1094,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:1096,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:1098,1
    - Dst: hlua_error
      Src: /src/haproxy/src/hlua_fcn.c:1100,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:1103,1
    - Dst: hlua_stktable_entry
      Src: /src/haproxy/src/hlua_fcn.c:1104,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:1105,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1106,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/hlua_fcn.c:1107,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1109,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 127
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1116
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 1116
    functionName: hlua_stktable_dump
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    - ebmb_first
    - ebmb_next
    - lua_tostring
    - hlua_stktable_entry
    - lua_settable
    - lua_pushnil
    - get_std_op
    - stktable_data_cast
    - read_freq_ctr_period
    - stktable_data_ptr
    - lua_pushinteger
    - HA_ATOMIC_DEC
    - hlua_error
    - lua_newtable
    - lua_type
    - lua_pushstring
    - hlua_check_stktable
    - HA_RWLOCK_WRUNLOCK
    - lua_rawlen
    - lua_tointeger
    - lua_pop
    - ebmb_entry
    - HA_RWLOCK_WRLOCK
    - lua_next
    - stktable_get_data_type
    - inet_ntop
    linkageType: ''
    returnType: int
    signature: hlua_stktable_dump(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:1120,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:1123,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua_fcn.c:1124,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua_fcn.c:1126,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - L
    - lst
    argTypes:
    - lua_State*
    - struct listener*
    constantsTouched: []
    func_position:
      end: 1129
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1129
    functionName: hlua_fcn_new_listener
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_setmetatable
    - lua_rawseti
    - lua_pushlightuserdata
    - lua_rawgeti
    - lua_newtable
    linkageType: ''
    returnType: int
    signature: hlua_fcn_new_listener(lua_State *L, struct listener *lst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:1133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 1134
      start: 1131
    functionDepth: 1
    functionLinenumber: 1131
    functionLinenumberEnd: 1134
    functionName: hlua_check_listener
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_checkudata
    linkageType: ''
    returnType: struct listener
    signature: '*hlua_check_listener(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_listener
      Src: /src/haproxy/src/hlua_fcn.c:1141,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1144,1
    - Dst: stats_fill_li_line
      Src: /src/haproxy/src/hlua_fcn.c:1148,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:1151,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:1153,1
    - Dst: hlua_fcn_pushfield
      Src: /src/haproxy/src/hlua_fcn.c:1154,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:1155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1159
      start: 1136
    functionDepth: 2
    functionLinenumber: 1136
    functionLinenumberEnd: 1159
    functionName: hlua_listener_get_stats
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_settable
    - lua_pushstring
    - lua_pushnil
    - lua_newtable
    - hlua_fcn_pushfield
    - stats_fill_li_line
    - hlua_check_listener
    linkageType: ''
    returnType: int
    signature: hlua_listener_get_stats(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:1163,1
    - Dst: srv_drop
      Src: /src/haproxy/src/hlua_fcn.c:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1167
      start: 1161
    functionDepth: 1
    functionLinenumber: 1161
    functionLinenumberEnd: 1167
    functionName: hlua_server_gc
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - srv_drop
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_server_gc(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:1171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 1176
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1176
    functionName: hlua_check_server
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_checkudata
    linkageType: ''
    returnType: struct server
    signature: '*hlua_check_server(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1183,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1185,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1190,1
    - Dst: stats_fill_sv_line
      Src: /src/haproxy/src/hlua_fcn.c:1194,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:1197,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:1199,1
    - Dst: hlua_fcn_pushfield
      Src: /src/haproxy/src/hlua_fcn.c:1200,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:1201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1178
    functionDepth: 2
    functionLinenumber: 1178
    functionLinenumberEnd: 1205
    functionName: hlua_server_get_stats
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_settable
    - lua_pushnil
    - lua_pushstring
    - lua_newtable
    - hlua_check_server
    - hlua_fcn_pushfield
    - stats_fill_sv_line
    linkageType: ''
    returnType: int
    signature: hlua_server_get_stats(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1211,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1213,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1218,1
    - Dst: hlua_fcn_new_proxy
      Src: /src/haproxy/src/hlua_fcn.c:1222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1224
    functionName: hlua_server_get_proxy
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_server
    - lua_pushnil
    - hlua_fcn_new_proxy
    linkageType: ''
    returnType: int
    signature: hlua_server_get_proxy(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1232,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1234,1
    - Dst: luaL_buffinit
      Src: /src/haproxy/src/hlua_fcn.c:1238,1
    - Dst: real_family
      Src: /src/haproxy/src/hlua_fcn.c:1240,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/hlua_fcn.c:1242,1
    - Dst: luaL_addstring
      Src: /src/haproxy/src/hlua_fcn.c:1244,1
    - Dst: luaL_addstring
      Src: /src/haproxy/src/hlua_fcn.c:1245,1
    - Dst: snprintf
      Src: /src/haproxy/src/hlua_fcn.c:1246,1
    - Dst: luaL_addstring
      Src: /src/haproxy/src/hlua_fcn.c:1247,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/hlua_fcn.c:1250,1
    - Dst: luaL_addstring
      Src: /src/haproxy/src/hlua_fcn.c:1252,1
    - Dst: luaL_addstring
      Src: /src/haproxy/src/hlua_fcn.c:1253,1
    - Dst: snprintf
      Src: /src/haproxy/src/hlua_fcn.c:1254,1
    - Dst: luaL_addstring
      Src: /src/haproxy/src/hlua_fcn.c:1255,1
    - Dst: luaL_addstring
      Src: /src/haproxy/src/hlua_fcn.c:1258,1
    - Dst: luaL_addstring
      Src: /src/haproxy/src/hlua_fcn.c:1261,1
    - Dst: luaL_pushresult
      Src: /src/haproxy/src/hlua_fcn.c:1265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1267
      start: 1226
    functionDepth: 2
    functionLinenumber: 1226
    functionLinenumberEnd: 1267
    functionName: hlua_server_get_addr
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - real_family
    - luaL_buffinit
    - lua_pushnil
    - luaL_pushresult
    - hlua_check_server
    - snprintf
    - luaL_addstring
    - inet_ntop
    linkageType: ''
    returnType: int
    signature: hlua_server_get_addr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1274,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1276,1
    - Dst: snprintf
      Src: /src/haproxy/src/hlua_fcn.c:1280,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:1281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1283
      start: 1269
    functionDepth: 2
    functionLinenumber: 1269
    functionLinenumberEnd: 1283
    functionName: hlua_server_get_puid
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_server
    - lua_pushnil
    - snprintf
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: hlua_server_get_puid(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1290,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1292,1
    - Dst: snprintf
      Src: /src/haproxy/src/hlua_fcn.c:1296,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:1297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1299
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1299
    functionName: hlua_server_get_rid
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_server
    - lua_pushnil
    - snprintf
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: hlua_server_get_rid(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1305,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1307,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:1311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1313
      start: 1301
    functionDepth: 2
    functionLinenumber: 1301
    functionLinenumberEnd: 1313
    functionName: hlua_server_get_name
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_server
    - lua_pushnil
    - lua_pushstring
    linkageType: ''
    returnType: int
    signature: hlua_server_get_name(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/hlua_fcn.c:1325,1
    - Dst: ONLY_ONCE
      Src: /src/haproxy/src/hlua_fcn.c:1326,1
    - Dst: ha_warning
      Src: /src/haproxy/src/hlua_fcn.c:1327,1
    - Dst: hlua_traceback
      Src: /src/haproxy/src/hlua_fcn.c:1327,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua_fcn.c:1328,1
    - Dst: hlua_server_get_name
      Src: /src/haproxy/src/hlua_fcn.c:1329,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua_fcn.c:1332,1
    - Dst: ONLY_ONCE
      Src: /src/haproxy/src/hlua_fcn.c:1333,1
    - Dst: ha_warning
      Src: /src/haproxy/src/hlua_fcn.c:1334,1
    - Dst: hlua_traceback
      Src: /src/haproxy/src/hlua_fcn.c:1334,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua_fcn.c:1335,1
    - Dst: hlua_server_get_puid
      Src: /src/haproxy/src/hlua_fcn.c:1336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 1341
      start: 1321
    functionDepth: 3
    functionLinenumber: 1321
    functionLinenumberEnd: 1341
    functionName: hlua_server_index
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_server_get_puid
    - ha_warning
    - strcmp
    - hlua_traceback
    - lua_pushvalue
    - ONLY_ONCE
    - hlua_server_get_name
    linkageType: ''
    returnType: int
    signature: hlua_server_index(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1347,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1349,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:1353,1
    - Dst: server_is_draining
      Src: /src/haproxy/src/hlua_fcn.c:1353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1343
    functionDepth: 2
    functionLinenumber: 1343
    functionLinenumberEnd: 1355
    functionName: hlua_server_is_draining
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - hlua_check_server
    - lua_pushnil
    - server_is_draining
    linkageType: ''
    returnType: int
    signature: hlua_server_is_draining(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1361,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1363,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:1367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1369
      start: 1357
    functionDepth: 2
    functionLinenumber: 1357
    functionLinenumberEnd: 1369
    functionName: hlua_server_is_backup
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - hlua_check_server
    - lua_pushnil
    linkageType: ''
    returnType: int
    signature: hlua_server_is_backup(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1375,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1377,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:1381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1383
      start: 1371
    functionDepth: 2
    functionLinenumber: 1371
    functionLinenumberEnd: 1383
    functionName: hlua_server_is_dynamic
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - hlua_check_server
    - lua_pushnil
    linkageType: ''
    returnType: int
    signature: hlua_server_is_dynamic(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1389,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1391,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:1395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1385
    functionDepth: 2
    functionLinenumber: 1385
    functionLinenumberEnd: 1397
    functionName: hlua_server_get_cur_sess
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_server
    - lua_pushnil
    - lua_pushinteger
    linkageType: ''
    returnType: int
    signature: hlua_server_get_cur_sess(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1403,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1405,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:1409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1411
      start: 1399
    functionDepth: 2
    functionLinenumber: 1399
    functionLinenumberEnd: 1411
    functionName: hlua_server_get_pend_conn
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_server
    - lua_pushnil
    - lua_pushinteger
    linkageType: ''
    returnType: int
    signature: hlua_server_get_pend_conn(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1419,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1421,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:1425,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1427,1
    - Dst: server_parse_maxconn_change_request
      Src: /src/haproxy/src/hlua_fcn.c:1428,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1429,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1431,1
    - Dst: hlua_pushstrippedstring
      Src: /src/haproxy/src/hlua_fcn.c:1433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1435
      start: 1413
    functionDepth: 2
    functionLinenumber: 1413
    functionLinenumberEnd: 1435
    functionName: hlua_server_set_maxconn
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - hlua_check_server
    - HA_SPIN_UNLOCK
    - hlua_pushstrippedstring
    - HA_SPIN_LOCK
    - server_parse_maxconn_change_request
    - luaL_checkstring
    linkageType: ''
    returnType: int
    signature: hlua_server_set_maxconn(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1441,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1443,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:1447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1449
      start: 1437
    functionDepth: 2
    functionLinenumber: 1437
    functionLinenumberEnd: 1449
    functionName: hlua_server_get_maxconn
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_server
    - lua_pushnil
    - lua_pushinteger
    linkageType: ''
    returnType: int
    signature: hlua_server_get_maxconn(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1457,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1459,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:1463,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1465,1
    - Dst: server_parse_weight_change_request
      Src: /src/haproxy/src/hlua_fcn.c:1466,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1467,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1469,1
    - Dst: hlua_pushstrippedstring
      Src: /src/haproxy/src/hlua_fcn.c:1471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1473
      start: 1451
    functionDepth: 2
    functionLinenumber: 1451
    functionLinenumberEnd: 1473
    functionName: hlua_server_set_weight
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - hlua_check_server
    - HA_SPIN_UNLOCK
    - hlua_pushstrippedstring
    - HA_SPIN_LOCK
    - luaL_checkstring
    - server_parse_weight_change_request
    linkageType: ''
    returnType: int
    signature: hlua_server_set_weight(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1479,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1481,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:1485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1487
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1487
    functionName: hlua_server_get_weight
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_server
    - lua_pushnil
    - lua_pushinteger
    linkageType: ''
    returnType: int
    signature: hlua_server_get_weight(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1496,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1498,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:1502,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua_fcn.c:1503,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:1504,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1508,1
    - Dst: srv_update_addr_port
      Src: /src/haproxy/src/hlua_fcn.c:1509,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1510,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1512,1
    - Dst: hlua_pushstrippedstring
      Src: /src/haproxy/src/hlua_fcn.c:1514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1516
      start: 1489
    functionDepth: 2
    functionLinenumber: 1489
    functionLinenumberEnd: 1516
    functionName: hlua_server_set_addr
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - srv_update_addr_port
    - hlua_check_server
    - HA_SPIN_UNLOCK
    - hlua_pushstrippedstring
    - HA_SPIN_LOCK
    - lua_gettop
    - luaL_checkstring
    linkageType: ''
    returnType: int
    signature: hlua_server_set_addr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1522,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1526,1
    - Dst: srv_shutdown_streams
      Src: /src/haproxy/src/hlua_fcn.c:1527,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1530
      start: 1518
    functionDepth: 2
    functionLinenumber: 1518
    functionLinenumberEnd: 1530
    functionName: hlua_server_shut_sess
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - hlua_check_server
    - srv_shutdown_streams
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: int
    signature: hlua_server_shut_sess(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1536,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1540,1
    - Dst: srv_adm_set_drain
      Src: /src/haproxy/src/hlua_fcn.c:1541,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1544
      start: 1532
    functionDepth: 2
    functionLinenumber: 1532
    functionLinenumberEnd: 1544
    functionName: hlua_server_set_drain
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - hlua_check_server
    - HA_SPIN_UNLOCK
    - srv_adm_set_drain
    linkageType: ''
    returnType: int
    signature: hlua_server_set_drain(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1550,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1554,1
    - Dst: srv_adm_set_maint
      Src: /src/haproxy/src/hlua_fcn.c:1555,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1558
      start: 1546
    functionDepth: 2
    functionLinenumber: 1546
    functionLinenumberEnd: 1558
    functionName: hlua_server_set_maint
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - hlua_check_server
    - HA_SPIN_UNLOCK
    - srv_adm_set_maint
    linkageType: ''
    returnType: int
    signature: hlua_server_set_maint(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1564,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1568,1
    - Dst: srv_adm_set_ready
      Src: /src/haproxy/src/hlua_fcn.c:1569,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1572
      start: 1560
    functionDepth: 2
    functionLinenumber: 1560
    functionLinenumberEnd: 1572
    functionName: hlua_server_set_ready
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - hlua_check_server
    - HA_SPIN_UNLOCK
    - srv_adm_set_ready
    linkageType: ''
    returnType: int
    signature: hlua_server_set_ready(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1578,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1582,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1588
      start: 1574
    functionDepth: 2
    functionLinenumber: 1574
    functionLinenumberEnd: 1588
    functionName: hlua_server_check_enable
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - hlua_check_server
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: int
    signature: hlua_server_check_enable(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1594,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1598,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1604
      start: 1590
    functionDepth: 2
    functionLinenumber: 1590
    functionLinenumberEnd: 1604
    functionName: hlua_server_check_disable
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - hlua_check_server
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: int
    signature: hlua_server_check_disable(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1610,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1614,1
    - Dst: srv_set_running
      Src: /src/haproxy/src/hlua_fcn.c:1617,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1621
      start: 1606
    functionDepth: 2
    functionLinenumber: 1606
    functionLinenumberEnd: 1621
    functionName: hlua_server_check_force_up
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - hlua_check_server
    - srv_set_running
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: int
    signature: hlua_server_check_force_up(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1627,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1631,1
    - Dst: srv_set_stopping
      Src: /src/haproxy/src/hlua_fcn.c:1634,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1638
      start: 1623
    functionDepth: 2
    functionLinenumber: 1623
    functionLinenumberEnd: 1638
    functionName: hlua_server_check_force_nolb
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - hlua_check_server
    - HA_SPIN_UNLOCK
    - srv_set_stopping
    linkageType: ''
    returnType: int
    signature: hlua_server_check_force_nolb(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1644,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1648,1
    - Dst: srv_set_stopped
      Src: /src/haproxy/src/hlua_fcn.c:1651,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1655
      start: 1640
    functionDepth: 2
    functionLinenumber: 1640
    functionLinenumberEnd: 1655
    functionName: hlua_server_check_force_down
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - hlua_check_server
    - srv_set_stopped
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: int
    signature: hlua_server_check_force_down(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1661,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1665,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1671
      start: 1657
    functionDepth: 2
    functionLinenumber: 1657
    functionLinenumberEnd: 1671
    functionName: hlua_server_agent_enable
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - hlua_check_server
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: int
    signature: hlua_server_agent_enable(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1677,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1681,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1687
      start: 1673
    functionDepth: 2
    functionLinenumber: 1673
    functionLinenumberEnd: 1687
    functionName: hlua_server_agent_disable
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - hlua_check_server
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: int
    signature: hlua_server_agent_disable(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1693,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1697,1
    - Dst: srv_set_running
      Src: /src/haproxy/src/hlua_fcn.c:1700,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1704
      start: 1689
    functionDepth: 2
    functionLinenumber: 1689
    functionLinenumberEnd: 1704
    functionName: hlua_server_agent_force_up
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - hlua_check_server
    - srv_set_running
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: int
    signature: hlua_server_agent_force_up(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1710,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/hlua_fcn.c:1714,1
    - Dst: srv_set_stopped
      Src: /src/haproxy/src/hlua_fcn.c:1717,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:1719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1706
    functionDepth: 2
    functionLinenumber: 1706
    functionLinenumberEnd: 1721
    functionName: hlua_server_agent_force_down
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - hlua_check_server
    - srv_set_stopped
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: int
    signature: hlua_server_agent_force_down(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1729,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1736,1
    - Dst: hlua_fcn_new_server
      Src: /src/haproxy/src/hlua_fcn.c:1738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1741
      start: 1724
    functionDepth: 2
    functionLinenumber: 1724
    functionLinenumberEnd: 1741
    functionName: hlua_server_tracking
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_server
    - lua_pushnil
    - hlua_fcn_new_server
    linkageType: ''
    returnType: int
    signature: hlua_server_tracking(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1750,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:1755,1
    - Dst: lua_checkstack
      Src: /src/haproxy/src/hlua_fcn.c:1758,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua_fcn.c:1759,1
    - Dst: hlua_fcn_new_server
      Src: /src/haproxy/src/hlua_fcn.c:1760,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:1762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1765
      start: 1744
    functionDepth: 2
    functionLinenumber: 1744
    functionLinenumberEnd: 1765
    functionName: hlua_server_get_trackers
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_server
    - luaL_error
    - hlua_fcn_new_server
    - lua_rawseti
    - lua_checkstack
    - lua_newtable
    linkageType: ''
    returnType: int
    signature: hlua_server_get_trackers(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server
      Src: /src/haproxy/src/hlua_fcn.c:1777,1
    - Dst: lua_remove
      Src: /src/haproxy/src/hlua_fcn.c:1782,1
    - Dst: hlua_event_sub
      Src: /src/haproxy/src/hlua_fcn.c:1785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1786
      start: 1773
    functionDepth: 4
    functionLinenumber: 1773
    functionLinenumberEnd: 1786
    functionName: hlua_server_event_sub
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_server
    - hlua_event_sub
    - lua_remove
    linkageType: ''
    returnType: int
    signature: hlua_server_event_sub(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:1790,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:1793,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua_fcn.c:1794,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua_fcn.c:1796,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:1797,1
    - Dst: srv_take
      Src: /src/haproxy/src/hlua_fcn.c:1800,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1803,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1804,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1805,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1806,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1807,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1808,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1809,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1810,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1811,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1812,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1813,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1814,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1815,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1816,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1817,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1818,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1819,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1820,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1821,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1822,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1823,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1824,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1825,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1826,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1827,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1828,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1829,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1830,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1831,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1832,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1833,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:1834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 2
    argNames:
    - L
    - srv
    argTypes:
    - lua_State*
    - struct server*
    constantsTouched: []
    func_position:
      end: 1837
      start: 1788
    functionDepth: 1
    functionLinenumber: 1788
    functionLinenumberEnd: 1837
    functionName: hlua_fcn_new_server
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 3
    functionsReached:
    - hlua_class_function
    - lua_setmetatable
    - lua_rawseti
    - srv_take
    - lua_pushlightuserdata
    - lua_rawgeti
    - lua_newtable
    linkageType: ''
    returnType: int
    signature: hlua_fcn_new_server(lua_State *L, struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:1841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 1842
      start: 1839
    functionDepth: 1
    functionLinenumber: 1839
    functionLinenumberEnd: 1842
    functionName: hlua_check_server_list
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_checkudata
    linkageType: ''
    returnType: struct hlua_server_list
    signature: '*hlua_check_server_list(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1849
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1849
    functionName: hlua_listable_servers_newindex
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hlua_listable_servers_newindex(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server_list
      Src: /src/haproxy/src/hlua_fcn.c:1860,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:1861,1
    - Dst: server_find_by_name
      Src: /src/haproxy/src/hlua_fcn.c:1864,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1866,1
    - Dst: hlua_fcn_new_server
      Src: /src/haproxy/src/hlua_fcn.c:1870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1872
      start: 1854
    functionDepth: 2
    functionLinenumber: 1854
    functionLinenumberEnd: 1872
    functionName: hlua_listable_servers_index
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushnil
    - hlua_fcn_new_server
    - hlua_check_server_list
    - server_find_by_name
    - luaL_checkstring
    linkageType: ''
    returnType: int
    signature: hlua_listable_servers_index(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_upvalueindex
      Src: /src/haproxy/src/hlua_fcn.c:1886,1
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua_fcn.c:1887,1
    - Dst: watcher_attach
      Src: /src/haproxy/src/hlua_fcn.c:1892,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:1902,1
    - Dst: watcher_next
      Src: /src/haproxy/src/hlua_fcn.c:1907,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:1909,1
    - Dst: hlua_fcn_new_server
      Src: /src/haproxy/src/hlua_fcn.c:1910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1912
      start: 1880
    functionDepth: 2
    functionLinenumber: 1880
    functionLinenumberEnd: 1912
    functionName: hlua_listable_servers_pairs_iterator
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_touserdata
    - lua_pushnil
    - lua_pushstring
    - hlua_fcn_new_server
    - lua_upvalueindex
    - watcher_attach
    - watcher_next
    linkageType: ''
    returnType: int
    signature: hlua_listable_servers_pairs_iterator(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_server_list
      Src: /src/haproxy/src/hlua_fcn.c:1923,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua_fcn.c:1925,1
    - Dst: watcher_init
      Src: /src/haproxy/src/hlua_fcn.c:1928,1
    - Dst: lua_pushcclosure
      Src: /src/haproxy/src/hlua_fcn.c:1930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1932
      start: 1918
    functionDepth: 2
    functionLinenumber: 1918
    functionLinenumberEnd: 1932
    functionName: hlua_listable_servers_pairs
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - watcher_init
    - lua_pushcclosure
    - lua_newuserdata
    - hlua_check_server_list
    linkageType: ''
    returnType: int
    signature: hlua_listable_servers_pairs(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:1938,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua_fcn.c:1939,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:1941,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:1942,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua_fcn.c:1943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - L
    - px
    argTypes:
    - lua_State*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1944
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1944
    functionName: hlua_listable_servers
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_newuserdata
    - lua_setmetatable
    - lua_rawseti
    - lua_rawgeti
    - lua_newtable
    linkageType: ''
    returnType: void
    signature: hlua_listable_servers(lua_State *L, struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:1948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 1949
      start: 1946
    functionDepth: 1
    functionLinenumber: 1946
    functionLinenumberEnd: 1949
    functionName: hlua_check_proxy
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_checkudata
    linkageType: ''
    returnType: struct proxy
    signature: '*hlua_check_proxy(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_proxy
      Src: /src/haproxy/src/hlua_fcn.c:1955,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:1956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1958
      start: 1951
    functionDepth: 2
    functionLinenumber: 1951
    functionLinenumberEnd: 1958
    functionName: hlua_proxy_get_name
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - hlua_check_proxy
    linkageType: ''
    returnType: int
    signature: hlua_proxy_get_name(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_proxy
      Src: /src/haproxy/src/hlua_fcn.c:1965,1
    - Dst: snprintf
      Src: /src/haproxy/src/hlua_fcn.c:1966,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:1967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 1969
      start: 1960
    functionDepth: 2
    functionLinenumber: 1960
    functionLinenumberEnd: 1969
    functionName: hlua_proxy_get_uuid
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - snprintf
    - hlua_check_proxy
    linkageType: ''
    returnType: int
    signature: hlua_proxy_get_uuid(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/hlua_fcn.c:1981,1
    - Dst: ONLY_ONCE
      Src: /src/haproxy/src/hlua_fcn.c:1982,1
    - Dst: ha_warning
      Src: /src/haproxy/src/hlua_fcn.c:1983,1
    - Dst: hlua_traceback
      Src: /src/haproxy/src/hlua_fcn.c:1983,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua_fcn.c:1984,1
    - Dst: hlua_proxy_get_name
      Src: /src/haproxy/src/hlua_fcn.c:1985,1
    - Dst: strcmp
      Src: /src/haproxy/src/hlua_fcn.c:1988,1
    - Dst: ONLY_ONCE
      Src: /src/haproxy/src/hlua_fcn.c:1989,1
    - Dst: ha_warning
      Src: /src/haproxy/src/hlua_fcn.c:1990,1
    - Dst: hlua_traceback
      Src: /src/haproxy/src/hlua_fcn.c:1990,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua_fcn.c:1991,1
    - Dst: hlua_proxy_get_uuid
      Src: /src/haproxy/src/hlua_fcn.c:1992,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 1997
      start: 1977
    functionDepth: 3
    functionLinenumber: 1977
    functionLinenumberEnd: 1997
    functionName: hlua_proxy_index
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - strcmp
    - hlua_traceback
    - lua_pushvalue
    - ONLY_ONCE
    - hlua_proxy_get_uuid
    - hlua_proxy_get_name
    linkageType: ''
    returnType: int
    signature: hlua_proxy_index(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2003,1
    - Dst: pause_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2007
      start: 1999
    functionDepth: 2
    functionLinenumber: 1999
    functionLinenumberEnd: 2007
    functionName: hlua_proxy_pause
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - pause_proxy
    - hlua_check_proxy
    linkageType: ''
    returnType: int
    signature: hlua_proxy_pause(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2013,1
    - Dst: resume_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2017
      start: 2009
    functionDepth: 2
    functionLinenumber: 2009
    functionLinenumberEnd: 2017
    functionName: hlua_proxy_resume
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_proxy
    - resume_proxy
    linkageType: ''
    returnType: int
    signature: hlua_proxy_resume(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2023,1
    - Dst: stop_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2027
      start: 2019
    functionDepth: 2
    functionLinenumber: 2019
    functionLinenumberEnd: 2027
    functionName: hlua_proxy_stop
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - stop_proxy
    - hlua_check_proxy
    linkageType: ''
    returnType: int
    signature: hlua_proxy_stop(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2034,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/hlua_fcn.c:2035,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2038
      start: 2029
    functionDepth: 2
    functionLinenumber: 2029
    functionLinenumberEnd: 2038
    functionName: hlua_proxy_get_cap
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - proxy_cap_str
    - lua_pushstring
    - hlua_check_proxy
    linkageType: ''
    returnType: int
    signature: hlua_proxy_get_cap(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2045,1
    - Dst: stats_fill_be_line
      Src: /src/haproxy/src/hlua_fcn.c:2047,1
    - Dst: stats_fill_fe_line
      Src: /src/haproxy/src/hlua_fcn.c:2049,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:2050,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2052,1
    - Dst: hlua_fcn_pushfield
      Src: /src/haproxy/src/hlua_fcn.c:2053,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:2054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2057
      start: 2040
    functionDepth: 2
    functionLinenumber: 2040
    functionLinenumberEnd: 2057
    functionName: hlua_proxy_get_stats
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_settable
    - lua_pushstring
    - stats_fill_be_line
    - hlua_check_proxy
    - hlua_fcn_pushfield
    - lua_newtable
    - stats_fill_fe_line
    linkageType: ''
    returnType: int
    signature: hlua_proxy_get_stats(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2064,1
    - Dst: proxy_mode_str
      Src: /src/haproxy/src/hlua_fcn.c:2065,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2068
      start: 2059
    functionDepth: 2
    functionLinenumber: 2059
    functionLinenumberEnd: 2068
    functionName: hlua_proxy_get_mode
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - proxy_mode_str
    - hlua_check_proxy
    linkageType: ''
    returnType: int
    signature: hlua_proxy_get_mode(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2074,1
    - Dst: srv_shutdown_backup_streams
      Src: /src/haproxy/src/hlua_fcn.c:2075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2077
      start: 2070
    functionDepth: 2
    functionLinenumber: 2070
    functionLinenumberEnd: 2077
    functionName: hlua_proxy_shut_bcksess
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - srv_shutdown_backup_streams
    - hlua_check_proxy
    linkageType: ''
    returnType: int
    signature: hlua_proxy_shut_bcksess(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2083,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:2084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2086
      start: 2079
    functionDepth: 2
    functionLinenumber: 2079
    functionLinenumberEnd: 2086
    functionName: hlua_proxy_get_srv_act
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_proxy
    - lua_pushinteger
    linkageType: ''
    returnType: int
    signature: hlua_proxy_get_srv_act(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2092,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:2093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2095
      start: 2088
    functionDepth: 2
    functionLinenumber: 2088
    functionLinenumberEnd: 2095
    functionName: hlua_proxy_get_srv_bck
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_proxy
    - lua_pushinteger
    linkageType: ''
    returnType: int
    signature: hlua_proxy_get_srv_bck(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2106,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:2111,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2114,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2115,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:2116,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2119,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:2120,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:2121,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2124,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:2125,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2130,1
    - Dst: sa2str
      Src: /src/haproxy/src/hlua_fcn.c:2140,1
    - Dst: get_host_port
      Src: /src/haproxy/src/hlua_fcn.c:2140,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2142,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua_fcn.c:2143,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:2144,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:2147,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2150,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:2151,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:2152,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2155,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2156,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:2157,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2160,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2161,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:2162,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2165,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2166,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:2167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2170
      start: 2100
    functionDepth: 2
    functionLinenumber: 2100
    functionLinenumberEnd: 2170
    functionName: hlua_proxy_get_mailers
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_settable
    - lua_pushstring
    - ha_free
    - lua_pushboolean
    - hlua_check_proxy
    - lua_pushinteger
    - lua_newtable
    - get_host_port
    - sa2str
    linkageType: ''
    returnType: int
    signature: hlua_proxy_get_mailers(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:2178,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:2181,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua_fcn.c:2182,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua_fcn.c:2184,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:2185,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2188,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2189,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2190,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2191,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2192,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2193,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2194,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2195,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2196,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2197,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2198,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2199,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2202,1
    - Dst: hlua_listable_servers
      Src: /src/haproxy/src/hlua_fcn.c:2203,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:2204,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2207,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:2208,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/hlua_fcn.c:2210,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2212,1
    - Dst: snprintf
      Src: /src/haproxy/src/hlua_fcn.c:2214,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2216,1
    - Dst: hlua_fcn_new_listener
      Src: /src/haproxy/src/hlua_fcn.c:2218,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:2219,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:2221,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2224,1
    - Dst: hlua_fcn_new_stktable
      Src: /src/haproxy/src/hlua_fcn.c:2225,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:2226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 2
    argNames:
    - L
    - px
    argTypes:
    - lua_State*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2230
      start: 2172
    functionDepth: 1
    functionLinenumber: 2172
    functionLinenumberEnd: 2230
    functionName: hlua_fcn_new_proxy
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 1
    functionsReached:
    - lua_settable
    - lua_pushstring
    - hlua_class_function
    - list_for_each_entry
    - snprintf
    - lua_setmetatable
    - hlua_fcn_new_listener
    - lua_rawseti
    - hlua_fcn_new_stktable
    - lua_pushlightuserdata
    - lua_rawgeti
    - lua_newtable
    - hlua_listable_servers
    linkageType: ''
    returnType: int
    signature: hlua_fcn_new_proxy(lua_State *L, struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - L
    - ud
    argTypes:
    - lua_State*
    - int
    constantsTouched: []
    func_position:
      end: 2235
      start: 2232
    functionDepth: 1
    functionLinenumber: 2232
    functionLinenumberEnd: 2235
    functionName: hlua_check_proxy_list
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_checkudata
    linkageType: ''
    returnType: struct hlua_proxy_list
    signature: '*hlua_check_proxy_list(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2242
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2242
    functionName: hlua_listable_proxies_newindex
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hlua_listable_proxies_newindex(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_proxy_list
      Src: /src/haproxy/src/hlua_fcn.c:2253,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:2254,1
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/hlua_fcn.c:2258,1
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/hlua_fcn.c:2261,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:2264,1
    - Dst: hlua_fcn_new_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2270
      start: 2247
    functionDepth: 2
    functionLinenumber: 2247
    functionLinenumberEnd: 2270
    functionName: hlua_listable_proxies_index
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - proxy_find_by_name
    - lua_pushnil
    - hlua_fcn_new_proxy
    - hlua_check_proxy_list
    - luaL_checkstring
    linkageType: ''
    returnType: int
    signature: hlua_listable_proxies_index(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - px
    - cap
    argTypes:
    - struct proxy*
    - char
    constantsTouched: []
    func_position:
      end: 2274
      start: 2272
    functionDepth: 0
    functionLinenumber: 2272
    functionLinenumberEnd: 2274
    functionName: hlua_listable_proxies_match
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hlua_listable_proxies_match(struct proxy *px, char cap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_upvalueindex
      Src: /src/haproxy/src/hlua_fcn.c:2284,1
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua_fcn.c:2285,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:2288,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2292,1
    - Dst: hlua_fcn_new_proxy
      Src: /src/haproxy/src/hlua_fcn.c:2293,1
    - Dst: hlua_listable_proxies_match
      Src: /src/haproxy/src/hlua_fcn.c:2296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2300
      start: 2279
    functionDepth: 2
    functionLinenumber: 2279
    functionLinenumberEnd: 2300
    functionName: hlua_listable_proxies_pairs_iterator
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - lua_touserdata
    - lua_pushnil
    - hlua_listable_proxies_match
    - hlua_fcn_new_proxy
    - lua_upvalueindex
    linkageType: ''
    returnType: int
    signature: hlua_listable_proxies_pairs_iterator(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_proxy_list
      Src: /src/haproxy/src/hlua_fcn.c:2311,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua_fcn.c:2313,1
    - Dst: hlua_listable_proxies_match
      Src: /src/haproxy/src/hlua_fcn.c:2317,1
    - Dst: lua_pushcclosure
      Src: /src/haproxy/src/hlua_fcn.c:2319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2321
      start: 2306
    functionDepth: 2
    functionLinenumber: 2306
    functionLinenumberEnd: 2321
    functionName: hlua_listable_proxies_pairs
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_check_proxy_list
    - lua_pushcclosure
    - hlua_listable_proxies_match
    - lua_newuserdata
    linkageType: ''
    returnType: int
    signature: hlua_listable_proxies_pairs(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:2327,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua_fcn.c:2328,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:2330,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:2331,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua_fcn.c:2332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - L
    - capabilities
    argTypes:
    - lua_State*
    - char
    constantsTouched: []
    func_position:
      end: 2333
      start: 2323
    functionDepth: 0
    functionLinenumber: 2323
    functionLinenumberEnd: 2333
    functionName: hlua_listable_proxies
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_newuserdata
    - lua_setmetatable
    - lua_rawseti
    - lua_rawgeti
    - lua_newtable
    linkageType: ''
    returnType: void
    signature: hlua_listable_proxies(lua_State *L, char capabilities)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2337,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:2339,1
    - Dst: event_hdl_take
      Src: /src/haproxy/src/hlua_fcn.c:2340,1
    - Dst: event_hdl_unsubscribe
      Src: /src/haproxy/src/hlua_fcn.c:2341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2343
      start: 2335
    functionDepth: 1
    functionLinenumber: 2335
    functionLinenumberEnd: 2343
    functionName: hlua_event_sub_unsub
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - event_hdl_unsubscribe
    - BUG_ON
    - event_hdl_take
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_event_sub_unsub(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2347,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:2349,1
    - Dst: event_hdl_drop
      Src: /src/haproxy/src/hlua_fcn.c:2350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2352
      start: 2345
    functionDepth: 1
    functionLinenumber: 2345
    functionLinenumberEnd: 2352
    functionName: hlua_event_sub_gc
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - event_hdl_drop
    - BUG_ON
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_event_sub_gc(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:2356,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:2359,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua_fcn.c:2360,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua_fcn.c:2362,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:2363,1
    - Dst: event_hdl_take
      Src: /src/haproxy/src/hlua_fcn.c:2366,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - L
    - sub
    argTypes:
    - lua_State*
    - struct event_hdl_sub*
    constantsTouched: []
    func_position:
      end: 2372
      start: 2354
    functionDepth: 1
    functionLinenumber: 2354
    functionLinenumberEnd: 2372
    functionName: hlua_fcn_new_event_sub
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 2
    functionsReached:
    - event_hdl_take
    - hlua_class_function
    - lua_setmetatable
    - lua_rawseti
    - lua_pushlightuserdata
    - lua_rawgeti
    - lua_newtable
    linkageType: ''
    returnType: int
    signature: hlua_fcn_new_event_sub(lua_State *L, struct event_hdl_sub *sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:2392,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:2393,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua_fcn.c:2394,1
    - Dst: hlua_checkboolean
      Src: /src/haproxy/src/hlua_fcn.c:2395,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:2397,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua_fcn.c:2407,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:2408,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2419
      start: 2380
    functionDepth: 1
    functionLinenumber: 2380
    functionLinenumberEnd: 2419
    functionName: hlua_tokenize
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushlstring
    - hlua_checkboolean
    - lua_gettop
    - lua_rawseti
    - lua_newtable
    - luaL_checkstring
    linkageType: ''
    returnType: int
    signature: hlua_tokenize(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua_fcn.c:2427,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:2429,1
    - Dst: str2net
      Src: /src/haproxy/src/hlua_fcn.c:2433,1
    - Dst: str62net
      Src: /src/haproxy/src/hlua_fcn.c:2438,1
    - Dst: len2mask6
      Src: /src/haproxy/src/hlua_fcn.c:2439,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua_fcn.c:2444,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:2445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2447
      start: 2421
    functionDepth: 1
    functionLinenumber: 2421
    functionLinenumberEnd: 2447
    functionName: hlua_parse_addr
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - lua_pushnil
    - lua_newuserdata
    - len2mask6
    - str2net
    - str62net
    linkageType: ''
    returnType: int
    signature: hlua_parse_addr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_isuserdata
      Src: /src/haproxy/src/hlua_fcn.c:2454,1
    - Dst: lua_isuserdata
      Src: /src/haproxy/src/hlua_fcn.c:2455,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2456,1
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua_fcn.c:2460,1
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua_fcn.c:2461,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2464,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2471,1
    - Dst: read_u32
      Src: /src/haproxy/src/hlua_fcn.c:2478,1
    - Dst: read_u32
      Src: /src/haproxy/src/hlua_fcn.c:2479,1
    - Dst: read_u32
      Src: /src/haproxy/src/hlua_fcn.c:2480,1
    - Dst: read_u32
      Src: /src/haproxy/src/hlua_fcn.c:2481,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2485,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2490,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2492
      start: 2449
    functionDepth: 1
    functionLinenumber: 2449
    functionLinenumberEnd: 2492
    functionName: hlua_match_addr
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - lua_touserdata
    - read_u32
    - lua_isuserdata
    linkageType: ''
    returnType: int
    signature: hlua_match_addr(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2494
    functionDepth: 1
    functionLinenumber: 2494
    functionLinenumberEnd: 2497
    functionName: hlua_check_regex
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_checkudata
    linkageType: ''
    returnType: struct my_regex
    signature: '**hlua_check_regex(lua_State *L, int ud)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:2506,1
    - Dst: luaL_argcheck
      Src: /src/haproxy/src/hlua_fcn.c:2507,1
    - Dst: lua_isboolean
      Src: /src/haproxy/src/hlua_fcn.c:2507,1
    - Dst: lua_toboolean
      Src: /src/haproxy/src/hlua_fcn.c:2508,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua_fcn.c:2510,1
    - Dst: regex_comp
      Src: /src/haproxy/src/hlua_fcn.c:2513,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2514,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2515,1
    - Dst: free
      Src: /src/haproxy/src/hlua_fcn.c:2516,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2520,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:2523,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua_fcn.c:2524,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:2525,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:2526,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua_fcn.c:2527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 2529
      start: 2499
    functionDepth: 2
    functionLinenumber: 2499
    functionLinenumberEnd: 2529
    functionName: hlua_regex_comp
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - luaL_argcheck
    - lua_isboolean
    - lua_newuserdata
    - lua_pushboolean
    - lua_toboolean
    - free
    - lua_pushvalue
    - lua_setmetatable
    - regex_comp
    - lua_rawseti
    - lua_rawgeti
    - lua_newtable
    - luaL_checkstring
    linkageType: ''
    returnType: int
    signature: hlua_regex_comp(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_regex
      Src: /src/haproxy/src/hlua_fcn.c:2538,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua_fcn.c:2539,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2542,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/hlua_fcn.c:2549,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2551,1
    - Dst: memcpy
      Src: /src/haproxy/src/hlua_fcn.c:2554,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2556,1
    - Dst: regex_exec2
      Src: /src/haproxy/src/hlua_fcn.c:2556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 2559
      start: 2531
    functionDepth: 2
    functionLinenumber: 2531
    functionLinenumberEnd: 2559
    functionName: hlua_regex_exec
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - regex_exec2
    - lua_pushboolean
    - hlua_check_regex
    - get_trash_chunk
    - luaL_checklstring
    - memcpy
    linkageType: ''
    returnType: int
    signature: hlua_regex_exec(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_regex
      Src: /src/haproxy/src/hlua_fcn.c:2571,1
    - Dst: luaL_checklstring
      Src: /src/haproxy/src/hlua_fcn.c:2572,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2575,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/hlua_fcn.c:2582,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2584,1
    - Dst: memcpy
      Src: /src/haproxy/src/hlua_fcn.c:2587,1
    - Dst: regex_exec_match2
      Src: /src/haproxy/src/hlua_fcn.c:2589,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2590,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:2591,1
    - Dst: lua_pushlstring
      Src: /src/haproxy/src/hlua_fcn.c:2594,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:2595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 2599
      start: 2561
    functionDepth: 2
    functionLinenumber: 2561
    functionLinenumberEnd: 2599
    functionName: hlua_regex_match
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushlstring
    - regex_exec_match2
    - lua_pushboolean
    - hlua_check_regex
    - get_trash_chunk
    - lua_rawseti
    - lua_newtable
    - luaL_checklstring
    - memcpy
    linkageType: ''
    returnType: int
    signature: hlua_regex_match(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_check_regex
      Src: /src/haproxy/src/hlua_fcn.c:2605,1
    - Dst: regex_free
      Src: /src/haproxy/src/hlua_fcn.c:2606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - struct lua_State*
    constantsTouched: []
    func_position:
      end: 2609
      start: 2601
    functionDepth: 2
    functionLinenumber: 2601
    functionLinenumberEnd: 2609
    functionName: hlua_regex_free
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - regex_free
    - hlua_check_regex
    linkageType: ''
    returnType: int
    signature: hlua_regex_free(struct lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2616,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:2617,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:2619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2621
      start: 2611
    functionDepth: 1
    functionLinenumber: 2611
    functionLinenumberEnd: 2621
    functionName: hlua_patref_get_name
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushstring
    - BUG_ON
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_patref_get_name(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2627,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:2628,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2632
      start: 2623
    functionDepth: 1
    functionLinenumber: 2623
    functionLinenumberEnd: 2632
    functionName: hlua_patref_is_map
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushboolean
    - BUG_ON
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_patref_is_map(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2639,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/hlua_fcn.c:2645,1
    - Dst: pat_ref_purge_range
      Src: /src/haproxy/src/hlua_fcn.c:2646,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:2647,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua_fcn.c:2649,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 2659
      start: 2637
    functionDepth: 2
    functionLinenumber: 2637
    functionLinenumberEnd: 2659
    functionName: _hlua_patref_clear
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - pat_ref_purge_range
    - lua_pushboolean
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    - hlua_yieldk
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: _hlua_patref_clear(lua_State *L, int status, lua_KContext ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2666,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:2667,1
    - Dst: hlua_error
      Src: /src/haproxy/src/hlua_fcn.c:2670,1
    - Dst: pat_ref_commit
      Src: /src/haproxy/src/hlua_fcn.c:2673,1
    - Dst: hlua_error
      Src: /src/haproxy/src/hlua_fcn.c:2676,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:2682,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:2683,1
    - Dst: _hlua_patref_clear
      Src: /src/haproxy/src/hlua_fcn.c:2684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2685
      start: 2661
    functionDepth: 3
    functionLinenumber: 2661
    functionLinenumberEnd: 2685
    functionName: hlua_patref_commit
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - _hlua_patref_clear
    - pat_ref_commit
    - lua_pushinteger
    - hlua_error
    - BUG_ON
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_patref_commit(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2691,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:2692,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:2699,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:2700,1
    - Dst: _hlua_patref_clear
      Src: /src/haproxy/src/hlua_fcn.c:2701,1
    - Dst: pat_ref_giveup
      Src: /src/haproxy/src/hlua_fcn.c:2704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2707
      start: 2687
    functionDepth: 3
    functionLinenumber: 2687
    functionLinenumberEnd: 2707
    functionName: hlua_patref_giveup
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - pat_ref_giveup
    - _hlua_patref_clear
    - lua_pushinteger
    - BUG_ON
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_patref_giveup(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2713,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:2714,1
    - Dst: pat_ref_newgen
      Src: /src/haproxy/src/hlua_fcn.c:2715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2718
      start: 2709
    functionDepth: 1
    functionLinenumber: 2709
    functionLinenumberEnd: 2718
    functionName: hlua_patref_prepare
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - pat_ref_newgen
    - BUG_ON
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_patref_prepare(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2724,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:2725,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:2727,1
    - Dst: lua_pushinteger
      Src: /src/haproxy/src/hlua_fcn.c:2728,1
    - Dst: _hlua_patref_clear
      Src: /src/haproxy/src/hlua_fcn.c:2729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2730
      start: 2720
    functionDepth: 3
    functionLinenumber: 2720
    functionLinenumberEnd: 2730
    functionName: hlua_patref_purge
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - _hlua_patref_clear
    - BUG_ON
    - lua_pushinteger
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_patref_purge(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2740,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:2742,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:2744,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua_fcn.c:2745,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:2746,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/hlua_fcn.c:2748,1
    - Dst: pat_ref_may_commit
      Src: /src/haproxy/src/hlua_fcn.c:2750,1
    - Dst: pat_ref_load
      Src: /src/haproxy/src/hlua_fcn.c:2751,1
    - Dst: pat_ref_add
      Src: /src/haproxy/src/hlua_fcn.c:2753,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:2754,1
    - Dst: hlua_error
      Src: /src/haproxy/src/hlua_fcn.c:2758,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua_fcn.c:2759,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2764
      start: 2732
    functionDepth: 2
    functionLinenumber: 2732
    functionLinenumberEnd: 2764
    functionName: hlua_patref_add
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - pat_ref_may_commit
    - pat_ref_add
    - ha_free
    - lua_pushboolean
    - pat_ref_load
    - HA_RWLOCK_WRUNLOCK
    - lua_gettop
    - hlua_error
    - HA_RWLOCK_WRLOCK
    - luaL_checkstring
    - BUG_ON
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_patref_add(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2769,1
    - Dst: pat_ref_may_commit
      Src: /src/haproxy/src/hlua_fcn.c:2776,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/hlua_fcn.c:2781,1
    - Dst: lua_next
      Src: /src/haproxy/src/hlua_fcn.c:2783,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua_fcn.c:2790,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:2792,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua_fcn.c:2793,1
    - Dst: luaL_checktype
      Src: /src/haproxy/src/hlua_fcn.c:2800,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua_fcn.c:2801,1
    - Dst: luaL_checktype
      Src: /src/haproxy/src/hlua_fcn.c:2802,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua_fcn.c:2803,1
    - Dst: luaL_checktype
      Src: /src/haproxy/src/hlua_fcn.c:2807,1
    - Dst: lua_tostring
      Src: /src/haproxy/src/hlua_fcn.c:2808,1
    - Dst: pat_ref_load
      Src: /src/haproxy/src/hlua_fcn.c:2811,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:2812,1
    - Dst: hlua_error
      Src: /src/haproxy/src/hlua_fcn.c:2813,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua_fcn.c:2814,1
    - Dst: lua_pop
      Src: /src/haproxy/src/hlua_fcn.c:2820,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:2823,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2824,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 2826
      start: 2767
    functionDepth: 2
    functionLinenumber: 2767
    functionLinenumberEnd: 2826
    functionName: _hlua_patref_add_bulk
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pop
    - pat_ref_may_commit
    - luaL_checktype
    - ha_free
    - lua_pushboolean
    - pat_ref_load
    - HA_RWLOCK_WRLOCK
    - HA_RWLOCK_WRUNLOCK
    - hlua_error
    - lua_tostring
    - hlua_gethlua
    - lua_next
    - hlua_yieldk
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: _hlua_patref_add_bulk(lua_State *L, int status, lua_KContext ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2831,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:2833,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:2836,1
    - Dst: _hlua_patref_add_bulk
      Src: /src/haproxy/src/hlua_fcn.c:2837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2838
      start: 2827
    functionDepth: 3
    functionLinenumber: 2827
    functionLinenumberEnd: 2838
    functionName: hlua_patref_add_bulk
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 1
    functionsReached:
    - lua_pushnil
    - _hlua_patref_add_bulk
    - BUG_ON
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_patref_add_bulk(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2846,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:2848,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:2850,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/hlua_fcn.c:2852,1
    - Dst: pat_ref_may_commit
      Src: /src/haproxy/src/hlua_fcn.c:2854,1
    - Dst: pat_ref_gen_delete
      Src: /src/haproxy/src/hlua_fcn.c:2855,1
    - Dst: pat_ref_delete
      Src: /src/haproxy/src/hlua_fcn.c:2857,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:2858,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2862
      start: 2840
    functionDepth: 1
    functionLinenumber: 2840
    functionLinenumberEnd: 2862
    functionName: hlua_patref_del
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - pat_ref_gen_delete
    - pat_ref_may_commit
    - lua_pushboolean
    - HA_RWLOCK_WRUNLOCK
    - pat_ref_delete
    - HA_RWLOCK_WRLOCK
    - luaL_checkstring
    - BUG_ON
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_patref_del(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2874,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:2876,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:2878,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:2879,1
    - Dst: lua_gettop
      Src: /src/haproxy/src/hlua_fcn.c:2881,1
    - Dst: lua_toboolean
      Src: /src/haproxy/src/hlua_fcn.c:2882,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/hlua_fcn.c:2884,1
    - Dst: pat_ref_may_commit
      Src: /src/haproxy/src/hlua_fcn.c:2886,1
    - Dst: pat_ref_gen_find_elt
      Src: /src/haproxy/src/hlua_fcn.c:2894,1
    - Dst: pat_ref_set_elt_duplicate
      Src: /src/haproxy/src/hlua_fcn.c:2896,1
    - Dst: pat_ref_load
      Src: /src/haproxy/src/hlua_fcn.c:2898,1
    - Dst: pat_ref_gen_set
      Src: /src/haproxy/src/hlua_fcn.c:2901,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:2903,1
    - Dst: hlua_error
      Src: /src/haproxy/src/hlua_fcn.c:2906,1
    - Dst: ha_free
      Src: /src/haproxy/src/hlua_fcn.c:2907,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:2910,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2912
      start: 2864
    functionDepth: 2
    functionLinenumber: 2864
    functionLinenumberEnd: 2912
    functionName: hlua_patref_set
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - pat_ref_may_commit
    - ha_free
    - lua_pushboolean
    - pat_ref_load
    - lua_toboolean
    - HA_RWLOCK_WRUNLOCK
    - pat_ref_gen_set
    - lua_gettop
    - hlua_error
    - pat_ref_gen_find_elt
    - HA_RWLOCK_WRLOCK
    - luaL_checkstring
    - BUG_ON
    - pat_ref_set_elt_duplicate
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_patref_set(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2924,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hlua_fcn.c:2926,1
    - Dst: lua_remove
      Src: /src/haproxy/src/hlua_fcn.c:2929,1
    - Dst: hlua_event_sub
      Src: /src/haproxy/src/hlua_fcn.c:2932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2933
      start: 2920
    functionDepth: 4
    functionLinenumber: 2920
    functionLinenumberEnd: 2933
    functionName: hlua_patref_event_sub
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_remove
    - hlua_event_sub
    - BUG_ON
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_patref_event_sub(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:2939,1
    - Dst: lua_rawgeti
      Src: /src/haproxy/src/hlua_fcn.c:2944,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua_fcn.c:2945,1
    - Dst: malloc
      Src: /src/haproxy/src/hlua_fcn.c:2949,1
    - Dst: luaL_error
      Src: /src/haproxy/src/hlua_fcn.c:2951,1
    - Dst: lua_pushlightuserdata
      Src: /src/haproxy/src/hlua_fcn.c:2955,1
    - Dst: lua_rawseti
      Src: /src/haproxy/src/hlua_fcn.c:2956,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2960,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2961,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2962,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2963,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2964,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2965,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2966,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2967,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2968,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2969,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:2970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - L
    - ref
    argTypes:
    - lua_State*
    - struct pat_ref*
    constantsTouched: []
    func_position:
      end: 2971
      start: 2935
    functionDepth: 1
    functionLinenumber: 2935
    functionLinenumberEnd: 2971
    functionName: hlua_fcn_new_patref
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 1
    functionsReached:
    - malloc
    - hlua_class_function
    - luaL_error
    - lua_setmetatable
    - lua_rawseti
    - lua_pushlightuserdata
    - lua_rawgeti
    - lua_newtable
    linkageType: ''
    returnType: void
    signature: hlua_fcn_new_patref(lua_State *L, struct pat_ref *ref)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2975,1
    - Dst: free
      Src: /src/haproxy/src/hlua_fcn.c:2977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2979
      start: 2973
    functionDepth: 1
    functionLinenumber: 2973
    functionLinenumberEnd: 2979
    functionName: hlua_patref_gc
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - free
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_patref_gc(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 2984
      start: 2981
    functionDepth: 0
    functionLinenumber: 2981
    functionLinenumberEnd: 2984
    functionName: hlua_listable_patref_newindex
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hlua_listable_patref_newindex(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:2996,1
    - Dst: luaL_checkstring
      Src: /src/haproxy/src/hlua_fcn.c:2997,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/hlua_fcn.c:3000,1
    - Dst: pat_ref_may_commit
      Src: /src/haproxy/src/hlua_fcn.c:3002,1
    - Dst: pat_ref_gen_find_elt
      Src: /src/haproxy/src/hlua_fcn.c:3003,1
    - Dst: pat_ref_find_elt
      Src: /src/haproxy/src/hlua_fcn.c:3005,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:3007,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:3008,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:3013,1
    - Dst: lua_pushboolean
      Src: /src/haproxy/src/hlua_fcn.c:3015,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:3016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 3019
      start: 2990
    functionDepth: 1
    functionLinenumber: 2990
    functionLinenumberEnd: 3019
    functionName: hlua_listable_patref_index
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - pat_ref_may_commit
    - pat_ref_find_elt
    - lua_pushnil
    - lua_pushstring
    - lua_pushboolean
    - HA_RWLOCK_WRUNLOCK
    - pat_ref_gen_find_elt
    - HA_RWLOCK_WRLOCK
    - luaL_checkstring
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_listable_patref_index(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lua_upvalueindex
      Src: /src/haproxy/src/hlua_fcn.c:3029,1
    - Dst: lua_touserdata
      Src: /src/haproxy/src/hlua_fcn.c:3030,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/hlua_fcn.c:3032,1
    - Dst: pat_ref_may_commit
      Src: /src/haproxy/src/hlua_fcn.c:3035,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/hlua_fcn.c:3040,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/hlua_fcn.c:3045,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:3050,1
    - Dst: lua_pushnil
      Src: /src/haproxy/src/hlua_fcn.c:3051,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/hlua_fcn.c:3055,1
    - Dst: hlua_gethlua
      Src: /src/haproxy/src/hlua_fcn.c:3061,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/hlua_fcn.c:3063,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:3064,1
    - Dst: hlua_yieldk
      Src: /src/haproxy/src/hlua_fcn.c:3065,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/hlua_fcn.c:3074,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/hlua_fcn.c:3075,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:3079,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:3081,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - L
    - status
    - ctx
    argTypes:
    - lua_State*
    - int
    - lua_KContext
    constantsTouched: []
    func_position:
      end: 3086
      start: 3021
    functionDepth: 2
    functionLinenumber: 3021
    functionLinenumberEnd: 3086
    functionName: _hlua_listable_patref_pairs_iterator
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - hlua_gethlua
    - pat_ref_may_commit
    - lua_touserdata
    - lua_pushnil
    - lua_pushstring
    - LIST_ISEMPTY
    - LIST_APPEND
    - lua_upvalueindex
    - HA_RWLOCK_WRUNLOCK
    - LIST_DEL_INIT
    - HA_RWLOCK_WRLOCK
    - hlua_yieldk
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: _hlua_listable_patref_pairs_iterator(lua_State *L, int status, lua_KContext
      ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _hlua_listable_patref_pairs_iterator
      Src: /src/haproxy/src/hlua_fcn.c:3096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 3097
      start: 3094
    functionDepth: 3
    functionLinenumber: 3094
    functionLinenumberEnd: 3097
    functionName: hlua_listable_patref_pairs_iterator
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 1
    functionsReached:
    - _hlua_listable_patref_pairs_iterator
    linkageType: ''
    returnType: int
    signature: hlua_listable_patref_pairs_iterator(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_checkudata
      Src: /src/haproxy/src/hlua_fcn.c:3108,1
    - Dst: lua_newuserdata
      Src: /src/haproxy/src/hlua_fcn.c:3110,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/hlua_fcn.c:3112,1
    - Dst: lua_pushcclosure
      Src: /src/haproxy/src/hlua_fcn.c:3114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 3116
      start: 3103
    functionDepth: 1
    functionLinenumber: 3103
    functionLinenumberEnd: 3116
    functionName: hlua_listable_patref_pairs
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 0
    functionsReached:
    - lua_pushcclosure
    - LIST_INIT
    - lua_newuserdata
    - hlua_checkudata
    linkageType: ''
    returnType: int
    signature: hlua_listable_patref_pairs(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hlua_concat_init
      Src: /src/haproxy/src/hlua_fcn.c:3120,1
    - Dst: hlua_queue_init
      Src: /src/haproxy/src/hlua_fcn.c:3121,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3123,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3124,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3125,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3126,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3127,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3128,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3129,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3130,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3131,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3132,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3133,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:3136,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3137,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:3139,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:3140,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:3141,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3142,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3143,1
    - Dst: lua_rawset
      Src: /src/haproxy/src/hlua_fcn.c:3144,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3145,1
    - Dst: lua_pushvalue
      Src: /src/haproxy/src/hlua_fcn.c:3147,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua_fcn.c:3148,1
    - Dst: lua_setmetatable
      Src: /src/haproxy/src/hlua_fcn.c:3150,1
    - Dst: lua_setglobal
      Src: /src/haproxy/src/hlua_fcn.c:3151,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:3154,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:3155,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:3156,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3157,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3158,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3159,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:3160,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua_fcn.c:3161,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:3164,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:3165,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:3166,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3167,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:3168,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua_fcn.c:3169,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:3172,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3173,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua_fcn.c:3174,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:3177,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3178,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3179,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3180,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3181,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua_fcn.c:3182,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:3185,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3186,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3187,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua_fcn.c:3188,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:3191,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3192,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua_fcn.c:3193,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:3205,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3206,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3207,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3208,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua_fcn.c:3209,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:3212,1
    - Dst: hlua_listable_proxies
      Src: /src/haproxy/src/hlua_fcn.c:3213,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:3214,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:3217,1
    - Dst: hlua_listable_proxies
      Src: /src/haproxy/src/hlua_fcn.c:3218,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:3219,1
    - Dst: lua_pushstring
      Src: /src/haproxy/src/hlua_fcn.c:3222,1
    - Dst: hlua_listable_proxies
      Src: /src/haproxy/src/hlua_fcn.c:3223,1
    - Dst: lua_settable
      Src: /src/haproxy/src/hlua_fcn.c:3224,1
    - Dst: lua_newtable
      Src: /src/haproxy/src/hlua_fcn.c:3229,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3230,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3231,1
    - Dst: hlua_class_function
      Src: /src/haproxy/src/hlua_fcn.c:3232,1
    - Dst: hlua_register_metatable
      Src: /src/haproxy/src/hlua_fcn.c:3233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 76
    argCount: 1
    argNames:
    - L
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 3234
      start: 3118
    functionDepth: 2
    functionLinenumber: 3118
    functionLinenumberEnd: 3234
    functionName: hlua_fcn_reg_core_fcn
    functionSourceFile: /src/haproxy/src/hlua_fcn.c
    functionUses: 1
    functionsReached:
    - lua_settable
    - lua_pushstring
    - hlua_class_function
    - hlua_concat_init
    - hlua_register_metatable
    - hlua_queue_init
    - lua_pushvalue
    - lua_setmetatable
    - hlua_listable_proxies
    - lua_rawset
    - lua_newtable
    - lua_setglobal
    linkageType: ''
    returnType: void
    signature: hlua_fcn_reg_core_fcn(lua_State *L)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/server_state.c:69,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server_state.c:73,1
    - Dst: strtol
      Src: /src/haproxy/src/server_state.c:102,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:108,1
    - Dst: strtol
      Src: /src/haproxy/src/server_state.c:114,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:129,1
    - Dst: strtol
      Src: /src/haproxy/src/server_state.c:135,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:137,1
    - Dst: strtol
      Src: /src/haproxy/src/server_state.c:142,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:144,1
    - Dst: strtol
      Src: /src/haproxy/src/server_state.c:149,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:151,1
    - Dst: strtol
      Src: /src/haproxy/src/server_state.c:156,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:159,1
    - Dst: strtol
      Src: /src/haproxy/src/server_state.c:164,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:171,1
    - Dst: strtol
      Src: /src/haproxy/src/server_state.c:177,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:179,1
    - Dst: strtol
      Src: /src/haproxy/src/server_state.c:184,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:187,1
    - Dst: strtol
      Src: /src/haproxy/src/server_state.c:192,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:195,1
    - Dst: strtol
      Src: /src/haproxy/src/server_state.c:200,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:202,1
    - Dst: strtol
      Src: /src/haproxy/src/server_state.c:207,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:209,1
    - Dst: strlen
      Src: /src/haproxy/src/server_state.c:215,1
    - Dst: invalid_domainchar
      Src: /src/haproxy/src/server_state.c:215,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:216,1
    - Dst: strl2uic
      Src: /src/haproxy/src/server_state.c:222,1
    - Dst: strlen
      Src: /src/haproxy/src/server_state.c:222,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:224,1
    - Dst: srv_set_stopped
      Src: /src/haproxy/src/server_state.c:247,1
    - Dst: srv_set_running
      Src: /src/haproxy/src/server_state.c:255,1
    - Dst: srv_set_stopped
      Src: /src/haproxy/src/server_state.c:268,1
    - Dst: srv_set_stopping
      Src: /src/haproxy/src/server_state.c:274,1
    - Dst: srv_set_running
      Src: /src/haproxy/src/server_state.c:278,1
    - Dst: srv_adm_set_maint
      Src: /src/haproxy/src/server_state.c:291,1
    - Dst: srv_adm_set_ready
      Src: /src/haproxy/src/server_state.c:293,1
    - Dst: srv_adm_set_maint
      Src: /src/haproxy/src/server_state.c:298,1
    - Dst: srv_adm_set_ready
      Src: /src/haproxy/src/server_state.c:300,1
    - Dst: srv_adm_set_drain
      Src: /src/haproxy/src/server_state.c:321,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/server_state.c:324,1
    - Dst: server_recalc_eweight
      Src: /src/haproxy/src/server_state.c:356,1
    - Dst: strcmp
      Src: /src/haproxy/src/server_state.c:359,1
    - Dst: strdup
      Src: /src/haproxy/src/server_state.c:360,1
    - Dst: strcmp
      Src: /src/haproxy/src/server_state.c:363,1
    - Dst: srv_set_fqdn
      Src: /src/haproxy/src/server_state.c:384,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:400,1
    - Dst: strcmp
      Src: /src/haproxy/src/server_state.c:403,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:404,1
    - Dst: srv_prepare_for_resolution
      Src: /src/haproxy/src/server_state.c:409,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:411,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/server_state.c:418,1
    - Dst: strdup
      Src: /src/haproxy/src/server_state.c:419,1
    - Dst: tolower
      Src: /src/haproxy/src/server_state.c:425,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/server_state.c:428,1
    - Dst: task_schedule
      Src: /src/haproxy/src/server_state.c:429,1
    - Dst: tick_add
      Src: /src/haproxy/src/server_state.c:429,1
    - Dst: strtol
      Src: /src/haproxy/src/server_state.c:447,1
    - Dst: srv_set_ssl
      Src: /src/haproxy/src/server_state.c:451,1
    - Dst: strcmp
      Src: /src/haproxy/src/server_state.c:456,1
    - Dst: strcmp
      Src: /src/haproxy/src/server_state.c:459,1
    - Dst: srv_update_check_addr_port
      Src: /src/haproxy/src/server_state.c:462,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:464,1
    - Dst: strcmp
      Src: /src/haproxy/src/server_state.c:470,1
    - Dst: strcmp
      Src: /src/haproxy/src/server_state.c:473,1
    - Dst: srv_update_agent_addr_port
      Src: /src/haproxy/src/server_state.c:476,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server_state.c:478,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server_state.c:484,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server_state.c:487,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server_state.c:490,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/server_state.c:494,1
    CyclomaticComplexity: 139
    EdgeCount: 139
    ICount: 235
    argCount: 3
    argNames:
    - srv
    - version
    - params
    argTypes:
    - struct server*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 495
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 495
    functionName: srv_state_srv_update
    functionSourceFile: /src/haproxy/src/server_state.c
    functionUses: 0
    functionsReached:
    - ns_to_sec
    - srv_adm_set_maint
    - ha_warning
    - srv_adm_set_drain
    - server_recalc_eweight
    - free_trash_chunk
    - alloc_trash_chunk
    - srv_set_running
    - strcmp
    - task_schedule
    - srv_update_agent_addr_port
    - chunk_appendf
    - strtol
    - LIST_DEL_INIT
    - srv_set_stopping
    - srv_set_ssl
    - strl2uic
    - tolower
    - strlen
    - srv_set_fqdn
    - HA_SPIN_UNLOCK
    - strdup
    - HA_SPIN_LOCK
    - srv_set_stopped
    - tick_add
    - srv_adm_set_ready
    - invalid_domainchar
    - ebis_insert
    - srv_update_check_addr_port
    - srv_prepare_for_resolution
    linkageType: ''
    returnType: void
    signature: srv_state_srv_update(struct server *srv, int version, char **params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_printf
      Src: /src/haproxy/src/server_state.c:510,1
    - Dst: XXH3
      Src: /src/haproxy/src/server_state.c:511,1
    - Dst: eb64_lookup
      Src: /src/haproxy/src/server_state.c:512,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/server_state.c:515,1
    - Dst: typeof
      Src: /src/haproxy/src/server_state.c:515,1
    - Dst: srv_state_srv_update
      Src: /src/haproxy/src/server_state.c:516,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/server_state.c:519,1
    - Dst: free
      Src: /src/haproxy/src/server_state.c:520,1
    - Dst: free
      Src: /src/haproxy/src/server_state.c:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - px
    - vsn
    - st_tree
    argTypes:
    - struct proxy*
    - int
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 523
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 523
    functionName: srv_state_px_update
    functionSourceFile: /src/haproxy/src/server_state.c
    functionUses: 0
    functionsReached:
    - eb64_delete
    - chunk_printf
    - eb64_entry
    - typeof
    - eb64_lookup
    - srv_state_srv_update
    - free
    - XXH3
    linkageType: ''
    returnType: void
    signature: srv_state_px_update(const struct proxy *px, int vsn, struct eb_root
      *st_tree)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/haproxy/src/server_state.c:537,1
    - Dst: strtol
      Src: /src/haproxy/src/server_state.c:540,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 552
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 552
    functionName: srv_state_get_version
    functionSourceFile: /src/haproxy/src/server_state.c
    functionUses: 0
    functionsReached:
    - strtol
    - fgets
    linkageType: ''
    returnType: int
    signature: srv_state_get_version(FILE *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/server_state.c:566,1
    - Dst: memset
      Src: /src/haproxy/src/server_state.c:590,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 40
    argCount: 3
    argNames:
    - buf
    - version
    - params
    argTypes:
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 656
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 656
    functionName: srv_state_parse_line
    functionSourceFile: /src/haproxy/src/server_state.c
    functionUses: 0
    functionsReached:
    - memset
    - strlen
    linkageType: ''
    returnType: int
    signature: srv_state_parse_line(char *buf, const int version, char **params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/server_state.c:672,1
    - Dst: strdup
      Src: /src/haproxy/src/server_state.c:675,1
    - Dst: srv_state_parse_line
      Src: /src/haproxy/src/server_state.c:679,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server_state.c:696,1
    - Dst: send_log
      Src: /src/haproxy/src/server_state.c:698,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server_state.c:704,1
    - Dst: send_log
      Src: /src/haproxy/src/server_state.c:706,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server_state.c:718,1
    - Dst: XXH3
      Src: /src/haproxy/src/server_state.c:719,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/server_state.c:720,1
    - Dst: free
      Src: /src/haproxy/src/server_state.c:730,1
    - Dst: free
      Src: /src/haproxy/src/server_state.c:731,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 4
    argNames:
    - line
    - vsn
    - st_tree
    - px
    argTypes:
    - char*
    - int
    - struct eb_root*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 734
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 734
    functionName: srv_state_parse_and_store_line
    functionSourceFile: /src/haproxy/src/server_state.c
    functionUses: 0
    functionsReached:
    - send_log
    - eb64_insert
    - ha_warning
    - calloc
    - chunk_printf
    - strdup
    - free
    - XXH3
    - srv_state_parse_line
    linkageType: ''
    returnType: int
    signature: "srv_state_parse_and_store_line(char *line, int vsn, struct eb_root
      *st_tree,\n\t\t\t\t\t  struct proxy *px)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy2
      Src: /src/haproxy/src/server_state.c:754,1
    - Dst: strlen
      Src: /src/haproxy/src/server_state.c:758,1
    - Dst: snprintf
      Src: /src/haproxy/src/server_state.c:759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - dst_path
    - maxpathlen
    - filename
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 762
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 762
    functionName: srv_state_get_filepath
    functionSourceFile: /src/haproxy/src/server_state.c
    functionUses: 0
    functionsReached:
    - strlen
    - strlcpy2
    - snprintf
    linkageType: ''
    returnType: int
    signature: srv_state_get_filepath(char *dst_path, int maxpathlen, const char *filename)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_state_get_filepath
      Src: /src/haproxy/src/server_state.c:794,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server_state.c:796,1
    - Dst: fopen
      Src: /src/haproxy/src/server_state.c:802,1
    - Dst: ha_notice
      Src: /src/haproxy/src/server_state.c:805,1
    - Dst: strerror
      Src: /src/haproxy/src/server_state.c:805,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server_state.c:807,1
    - Dst: strerror
      Src: /src/haproxy/src/server_state.c:807,1
    - Dst: srv_state_get_version
      Src: /src/haproxy/src/server_state.c:811,1
    - Dst: ha_notice
      Src: /src/haproxy/src/server_state.c:814,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server_state.c:817,1
    - Dst: fgets
      Src: /src/haproxy/src/server_state.c:822,1
    - Dst: srv_state_parse_and_store_line
      Src: /src/haproxy/src/server_state.c:825,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server_state.c:827,1
    - Dst: fclose
      Src: /src/haproxy/src/server_state.c:835,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/server_state.c:847,1
    - Dst: srv_state_px_update
      Src: /src/haproxy/src/server_state.c:860,1
    - Dst: srv_state_get_filepath
      Src: /src/haproxy/src/server_state.c:869,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server_state.c:871,1
    - Dst: fopen
      Src: /src/haproxy/src/server_state.c:877,1
    - Dst: ha_notice
      Src: /src/haproxy/src/server_state.c:880,1
    - Dst: strerror
      Src: /src/haproxy/src/server_state.c:881,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server_state.c:883,1
    - Dst: strerror
      Src: /src/haproxy/src/server_state.c:884,1
    - Dst: srv_state_get_version
      Src: /src/haproxy/src/server_state.c:889,1
    - Dst: ha_notice
      Src: /src/haproxy/src/server_state.c:892,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server_state.c:895,1
    - Dst: fgets
      Src: /src/haproxy/src/server_state.c:901,1
    - Dst: srv_state_parse_and_store_line
      Src: /src/haproxy/src/server_state.c:904,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server_state.c:906,1
    - Dst: srv_state_px_update
      Src: /src/haproxy/src/server_state.c:914,1
    - Dst: eb64_first
      Src: /src/haproxy/src/server_state.c:917,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/server_state.c:919,1
    - Dst: typeof
      Src: /src/haproxy/src/server_state.c:919,1
    - Dst: eb64_next
      Src: /src/haproxy/src/server_state.c:920,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/server_state.c:921,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server_state.c:925,1
    - Dst: send_log
      Src: /src/haproxy/src/server_state.c:927,1
    - Dst: free
      Src: /src/haproxy/src/server_state.c:931,1
    - Dst: free
      Src: /src/haproxy/src/server_state.c:932,1
    - Dst: fclose
      Src: /src/haproxy/src/server_state.c:937,1
    - Dst: eb64_first
      Src: /src/haproxy/src/server_state.c:940,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/server_state.c:942,1
    - Dst: typeof
      Src: /src/haproxy/src/server_state.c:942,1
    - Dst: eb64_next
      Src: /src/haproxy/src/server_state.c:943,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/server_state.c:944,1
    - Dst: free
      Src: /src/haproxy/src/server_state.c:945,1
    - Dst: free
      Src: /src/haproxy/src/server_state.c:946,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 111
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 949
      start: 779
    functionDepth: 3
    functionLinenumber: 779
    functionLinenumberEnd: 949
    functionName: apply_server_state
    functionSourceFile: /src/haproxy/src/server_state.c
    functionUses: 0
    functionsReached:
    - send_log
    - strerror
    - ha_warning
    - eb64_first
    - eb64_entry
    - typeof
    - srv_state_get_filepath
    - srv_state_get_version
    - srv_state_px_update
    - ha_notice
    - eb64_next
    - eb64_delete
    - srv_state_parse_and_store_line
    - free
    - fopen
    - BUG_ON
    - fclose
    - fgets
    linkageType: ''
    returnType: void
    signature: apply_server_state(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - evp_keytype
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: ssl_sock_get_ocsp_arg_kt_index
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ssl_sock_get_ocsp_arg_kt_index(int evp_keytype)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_ocsp.c:103,1
    - Dst: SSL_get_SSL_CTX
      Src: /src/haproxy/src/ssl_ocsp.c:115,1
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_ocsp.c:119,1
    - Dst: __objt_listener
      Src: /src/haproxy/src/ssl_ocsp.c:120,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_ocsp.c:123,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/ssl_ocsp.c:131,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/ssl_ocsp.c:132,1
    - Dst: SSL_CTX_get_ex_data
      Src: /src/haproxy/src/ssl_ocsp.c:135,1
    - Dst: SSL_get_privatekey
      Src: /src/haproxy/src/ssl_ocsp.c:139,1
    - Dst: EVP_PKEY_base_id
      Src: /src/haproxy/src/ssl_ocsp.c:143,1
    - Dst: ssl_sock_get_ocsp_arg_kt_index
      Src: /src/haproxy/src/ssl_ocsp.c:151,1
    - Dst: OPENSSL_malloc
      Src: /src/haproxy/src/ssl_ocsp.c:166,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_ocsp.c:171,1
    - Dst: SSL_set_tlsext_status_ocsp_resp
      Src: /src/haproxy/src/ssl_ocsp.c:172,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/ssl_ocsp.c:175,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/ssl_ocsp.c:176,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/ssl_ocsp.c:185,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/ssl_ocsp.c:186,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    constantsTouched: []
    func_position:
      end: 190
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 190
    functionName: ssl_sock_ocsp_stapling_cbk
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - SSL_get_ex_data
    - SSL_set_tlsext_status_ocsp_resp
    - HA_ATOMIC_INC
    - SSL_get_privatekey
    - ssl_sock_get_ocsp_arg_kt_index
    - SSL_CTX_get_ex_data
    - EXTRA_COUNTERS_GET
    - obj_type
    - SSL_get_SSL_CTX
    - EVP_PKEY_base_id
    - memcpy
    - OPENSSL_malloc
    - __objt_listener
    linkageType: ''
    returnType: int
    signature: ssl_sock_ocsp_stapling_cbk(SSL *ssl, void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i2d_OCSP_CERTID
      Src: /src/haproxy/src/ssl_ocsp.c:223,1
    - Dst: i2d_OCSP_CERTID
      Src: /src/haproxy/src/ssl_ocsp.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ocsp_cid
    - certid
    - key_length
    argTypes:
    - OCSP_CERTID*
    - unsigned char[]
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: ssl_ocsp_build_response_key
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - i2d_OCSP_CERTID
    linkageType: ''
    returnType: int
    signature: ssl_ocsp_build_response_key(OCSP_CERTID *ocsp_cid, unsigned char certid[OCSP_MAX_CERTID_ASN1_LENGTH],
      unsigned int *key_length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: d2i_OCSP_RESPONSE
      Src: /src/haproxy/src/ssl_ocsp.c:268,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:271,1
    - Dst: OCSP_response_status
      Src: /src/haproxy/src/ssl_ocsp.c:275,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:277,1
    - Dst: OCSP_response_get1_basic
      Src: /src/haproxy/src/ssl_ocsp.c:281,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:283,1
    - Dst: OCSP_resp_count
      Src: /src/haproxy/src/ssl_ocsp.c:287,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:289,1
    - Dst: OCSP_resp_get0
      Src: /src/haproxy/src/ssl_ocsp.c:293,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:295,1
    - Dst: OCSP_SINGLERESP_get0_id
      Src: /src/haproxy/src/ssl_ocsp.c:299,1
    - Dst: OCSP_single_get0_status
      Src: /src/haproxy/src/ssl_ocsp.c:301,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:303,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:308,1
    - Dst: OCSP_check_validity
      Src: /src/haproxy/src/ssl_ocsp.c:312,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:314,1
    - Dst: OCSP_id_cmp
      Src: /src/haproxy/src/ssl_ocsp.c:319,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:320,1
    - Dst: i2d_OCSP_CERTID
      Src: /src/haproxy/src/ssl_ocsp.c:329,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:331,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:336,1
    - Dst: memset
      Src: /src/haproxy/src/ssl_ocsp.c:341,1
    - Dst: i2d_OCSP_CERTID
      Src: /src/haproxy/src/ssl_ocsp.c:342,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ocsp.c:343,1
    - Dst: ebmb_lookup
      Src: /src/haproxy/src/ssl_ocsp.c:344,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:346,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:347,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:350,1
    - Dst: chunk_dup
      Src: /src/haproxy/src/ssl_ocsp.c:355,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:356,1
    - Dst: ASN1_TIME_to_tm
      Src: /src/haproxy/src/ssl_ocsp.c:361,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:362,1
    - Dst: my_timegm
      Src: /src/haproxy/src/ssl_ocsp.c:365,1
    - Dst: asn1_generalizedtime_to_epoch
      Src: /src/haproxy/src/ssl_ocsp.c:367,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:369,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:375,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_ocsp.c:381,1
    - Dst: OCSP_BASICRESP_free
      Src: /src/haproxy/src/ssl_ocsp.c:384,1
    - Dst: OCSP_RESPONSE_free
      Src: /src/haproxy/src/ssl_ocsp.c:387,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 112
    argCount: 4
    argNames:
    - ocsp_response
    - ocsp
    - cid
    - err
    argTypes:
    - struct buffer*
    - struct certificate_ocsp*
    - OCSP_CERTID*
    - char**
    constantsTouched: []
    func_position:
      end: 390
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 390
    functionName: ssl_sock_load_ocsp_response
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 1
    functionsReached:
    - memprintf
    - ebmb_lookup
    - OCSP_resp_count
    - ASN1_TIME_to_tm
    - memset
    - OCSP_id_cmp
    - OCSP_SINGLERESP_get0_id
    - OCSP_single_get0_status
    - OCSP_check_validity
    - OCSP_RESPONSE_free
    - asn1_generalizedtime_to_epoch
    - my_timegm
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - chunk_dup
    - OCSP_response_get1_basic
    - OCSP_resp_get0
    - OCSP_BASICRESP_free
    - d2i_OCSP_RESPONSE
    - OCSP_response_status
    - ERR_clear_error
    - i2d_OCSP_CERTID
    linkageType: ''
    returnType: int
    signature: "ssl_sock_load_ocsp_response(struct buffer *ocsp_response,\n                                struct
      certificate_ocsp *ocsp,\n                                OCSP_CERTID *cid, char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_load_ocsp_response
      Src: /src/haproxy/src/ssl_ocsp.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ocsp_response
    - err
    argTypes:
    - struct buffer*
    - char**
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: ssl_sock_update_ocsp_response
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - ssl_sock_load_ocsp_response
    linkageType: ''
    returnType: int
    signature: ssl_sock_update_ocsp_response(struct buffer *ocsp_response, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_delete
      Src: /src/haproxy/src/ssl_ocsp.c:411,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/ssl_ocsp.c:412,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_ocsp.c:413,1
    - Dst: sk_X509_pop_free
      Src: /src/haproxy/src/ssl_ocsp.c:415,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/ssl_ocsp.c:417,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ocsp.c:419,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ocsp.c:420,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ocsp.c:422,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ocsp.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ocsp
    argTypes:
    - struct certificate_ocsp*
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: ssl_sock_free_ocsp_data
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - chunk_destroy
    - sk_X509_pop_free
    - ha_free
    - X509_free
    - free
    - eb64_delete
    - ebmb_delete
    linkageType: ''
    returnType: void
    signature: ssl_sock_free_ocsp_data(struct certificate_ocsp *ocsp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ocsp.c:435,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/ssl_ocsp.c:438,1
    - Dst: ssl_sock_free_ocsp_data
      Src: /src/haproxy/src/ssl_ocsp.c:445,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ocsp
    argTypes:
    - struct certificate_ocsp*
    constantsTouched: []
    func_position:
      end: 448
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 448
    functionName: ssl_sock_free_ocsp
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 1
    functionsReached:
    - HA_SPIN_LOCK
    - ssl_sock_free_ocsp_data
    - HA_SPIN_UNLOCK
    - eb64_delete
    linkageType: ''
    returnType: void
    signature: ssl_sock_free_ocsp(struct certificate_ocsp *ocsp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ocsp.c:455,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/ssl_ocsp.c:458,1
    - Dst: ssl_sock_free_ocsp_data
      Src: /src/haproxy/src/ssl_ocsp.c:465,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ocsp
    argTypes:
    - struct certificate_ocsp*
    constantsTouched: []
    func_position:
      end: 469
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 469
    functionName: ssl_sock_free_ocsp_instance
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - ssl_sock_free_ocsp_data
    - HA_SPIN_UNLOCK
    - eb64_delete
    linkageType: ''
    returnType: void
    signature: ssl_sock_free_ocsp_instance(struct certificate_ocsp *ocsp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OCSP_id_get0_info
      Src: /src/haproxy/src/ssl_ocsp.c:482,1
    - Dst: BIO_printf
      Src: /src/haproxy/src/ssl_ocsp.c:484,1
    - Dst: BIO_printf
      Src: /src/haproxy/src/ssl_ocsp.c:486,1
    - Dst: i2a_ASN1_STRING
      Src: /src/haproxy/src/ssl_ocsp.c:488,1
    - Dst: wolfSSL_ASN1_STRING_print
      Src: /src/haproxy/src/ssl_ocsp.c:490,1
    - Dst: BIO_printf
      Src: /src/haproxy/src/ssl_ocsp.c:492,1
    - Dst: i2a_ASN1_STRING
      Src: /src/haproxy/src/ssl_ocsp.c:494,1
    - Dst: wolfSSL_ASN1_STRING_print
      Src: /src/haproxy/src/ssl_ocsp.c:496,1
    - Dst: BIO_printf
      Src: /src/haproxy/src/ssl_ocsp.c:498,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/haproxy/src/ssl_ocsp.c:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - bp
    - certid
    - indent
    argTypes:
    - BIO*
    - OCSP_CERTID*
    - int
    constantsTouched: []
    func_position:
      end: 502
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 502
    functionName: ocsp_certid_print
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - OCSP_id_get0_info
    - i2a_ASN1_INTEGER
    - i2a_ASN1_STRING
    - wolfSSL_ASN1_STRING_print
    linkageType: ''
    returnType: int
    signature: ocsp_certid_print(BIO *bp, OCSP_CERTID *certid, int indent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: a2base64
      Src: /src/haproxy/src/ssl_ocsp.c:607,1
    - Dst: b_orig
      Src: /src/haproxy/src/ssl_ocsp.c:607,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:607,1
    - Dst: b_orig
      Src: /src/haproxy/src/ssl_ocsp.c:608,1
    - Dst: b_size
      Src: /src/haproxy/src/ssl_ocsp.c:608,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ocsp_response
    - out
    argTypes:
    - struct buffer*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 619
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 619
    functionName: ssl_ocsp_response_print_base64
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - a2base64
    - chunk_appendf
    - b_data
    - b_size
    - b_orig
    linkageType: ''
    returnType: int
    signature: ssl_ocsp_response_print_base64(struct buffer *ocsp_response, struct
      buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ocsp.c:630,1
    - Dst: ebmb_lookup
      Src: /src/haproxy/src/ssl_ocsp.c:631,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:633,1
    - Dst: ssl_ocsp_response_print
      Src: /src/haproxy/src/ssl_ocsp.c:637,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ocsp_certid
    - out
    argTypes:
    - unsigned char*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 642
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 642
    functionName: ssl_get_ocspresponse_detail
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - HA_SPIN_UNLOCK
    - ebmb_lookup
    - ssl_ocsp_response_print
    linkageType: ''
    returnType: int
    signature: ssl_get_ocspresponse_detail(unsigned char *ocsp_certid, struct buffer
      *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:650,1
    - Dst: ssl_ocsp_response_print
      Src: /src/haproxy/src/ssl_ocsp.c:658,1
    - Dst: ssl_ocsp_response_print_base64
      Src: /src/haproxy/src/ssl_ocsp.c:661,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ocsp.c:668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 676
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 676
    functionName: cli_io_handler_show_ocspresponse_detail
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - applet_putchk
    - ssl_ocsp_response_print_base64
    - ssl_ocsp_response_print
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_ocspresponse_detail(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_free_ocsp_instance
      Src: /src/haproxy/src/ssl_ocsp.c:686,1
    - Dst: ssl_sock_free_ocsp_instance
      Src: /src/haproxy/src/ssl_ocsp.c:692,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ocsp.c:696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - parent
    - ptr
    - ad
    - idx
    - argl
    - argp
    argTypes:
    - void*
    - void*
    - CRYPTO_EX_DATA*
    - int
    - long
    - void*
    constantsTouched: []
    func_position:
      end: 698
      start: 678
    functionDepth: 3
    functionLinenumber: 678
    functionLinenumberEnd: 698
    functionName: ssl_sock_ocsp_free_func
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - free
    - ssl_sock_free_ocsp_instance
    linkageType: ''
    returnType: void
    signature: ssl_sock_ocsp_free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
      int idx, long argl, void *argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_ocsp.c:707,1
    - Dst: X509_get1_ocsp
      Src: /src/haproxy/src/ssl_ocsp.c:713,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:715,1
    - Dst: chunk_strcpy
      Src: /src/haproxy/src/ssl_ocsp.c:719,1
    - Dst: sk_OPENSSL_STRING_value
      Src: /src/haproxy/src/ssl_ocsp.c:719,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:720,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:723,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:724,1
    - Dst: X509_email_free
      Src: /src/haproxy/src/ssl_ocsp.c:731,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - cert
    - out
    - err
    argTypes:
    - X509*
    - struct buffer*
    - char**
    constantsTouched: []
    func_position:
      end: 733
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 733
    functionName: ssl_ocsp_get_uri_from_cert
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 1
    functionsReached:
    - memprintf
    - X509_get1_ocsp
    - X509_email_free
    - b_data
    - chunk_strcpy
    - sk_OPENSSL_STRING_value
    - STACK_OF
    linkageType: ''
    returnType: int
    signature: ssl_ocsp_get_uri_from_cert(X509 *cert, struct buffer *out, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:749,1
    - Dst: OCSP_REQUEST_new
      Src: /src/haproxy/src/ssl_ocsp.c:752,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:754,1
    - Dst: OCSP_request_add0_id
      Src: /src/haproxy/src/ssl_ocsp.c:758,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:759,1
    - Dst: i2d_OCSP_REQUEST
      Src: /src/haproxy/src/ssl_ocsp.c:763,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:764,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:765,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:775,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:775,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:776,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/ssl_ocsp.c:780,1
    - Dst: a2base64
      Src: /src/haproxy/src/ssl_ocsp.c:782,1
    - Dst: b_orig
      Src: /src/haproxy/src/ssl_ocsp.c:782,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:782,1
    - Dst: b_orig
      Src: /src/haproxy/src/ssl_ocsp.c:783,1
    - Dst: b_size
      Src: /src/haproxy/src/ssl_ocsp.c:783,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:786,1
    - Dst: encode_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:792,1
    - Dst: b_stop
      Src: /src/haproxy/src/ssl_ocsp.c:792,1
    - Dst: b_orig
      Src: /src/haproxy/src/ssl_ocsp.c:792,1
    - Dst: b_size
      Src: /src/haproxy/src/ssl_ocsp.c:792,1
    - Dst: b_orig
      Src: /src/haproxy/src/ssl_ocsp.c:795,1
    - Dst: chunk_cpy
      Src: /src/haproxy/src/ssl_ocsp.c:800,1
    - Dst: OCSP_REQUEST_free
      Src: /src/haproxy/src/ssl_ocsp.c:806,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - certid
    - req_url
    - req_body
    - err
    argTypes:
    - OCSP_CERTID*
    - struct buffer*
    - struct buffer*
    - char**
    constantsTouched: []
    func_position:
      end: 809
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 809
    functionName: ssl_ocsp_create_request_details
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - OCSP_REQUEST_new
    - chunk_strcat
    - i2d_OCSP_REQUEST
    - a2base64
    - OCSP_REQUEST_free
    - get_trash_chunk
    - chunk_cpy
    - b_data
    - b_size
    - b_stop
    - encode_chunk
    - OCSP_request_add0_id
    - b_orig
    linkageType: ''
    returnType: int
    signature: "ssl_ocsp_create_request_details(const OCSP_CERTID *certid, struct
      buffer *req_url,\n                                    struct buffer *req_body,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/ssl_ocsp.c:946,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - err
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 956
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 956
    functionName: ssl_create_ocsp_update_task
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - task_new_anywhere
    linkageType: ''
    returnType: int
    signature: ssl_create_ocsp_update_task(char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_schedule
      Src: /src/haproxy/src/ssl_ocsp.c:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 964
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 964
    functionName: ssl_ocsp_task_schedule
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - task_schedule
    linkageType: ''
    returnType: int
    signature: ssl_ocsp_task_schedule()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ocsp.c:975,1
    - Dst: eb64_first
      Src: /src/haproxy/src/ssl_ocsp.c:977,1
    - Dst: eb64_next
      Src: /src/haproxy/src/ssl_ocsp.c:979,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/ssl_ocsp.c:980,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:984,1
    - Dst: task_destroy
      Src: /src/haproxy/src/ssl_ocsp.c:986,1
    - Dst: ssl_sock_free_ocsp_instance
      Src: /src/haproxy/src/ssl_ocsp.c:989,1
    - Dst: httpclient_stop_and_destroy
      Src: /src/haproxy/src/ssl_ocsp.c:993,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 996
      start: 969
    functionDepth: 3
    functionLinenumber: 969
    functionLinenumberEnd: 996
    functionName: ssl_destroy_ocsp_update_task
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 1
    functionsReached:
    - ssl_sock_free_ocsp_instance
    - HA_SPIN_UNLOCK
    - eb64_first
    - HA_SPIN_LOCK
    - httpclient_stop_and_destroy
    - eb64_next
    - eb64_delete
    - task_destroy
    linkageType: ''
    returnType: void
    signature: ssl_destroy_ocsp_update_task(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/haproxy/src/ssl_ocsp.c:1002,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:1009,1
    - Dst: MAX
      Src: /src/haproxy/src/ssl_ocsp.c:1010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ocsp
    argTypes:
    - struct certificate_ocsp*
    constantsTouched: []
    func_position:
      end: 1012
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1012
    functionName: ssl_ocsp_set_next_update
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - MIN
    - b_data
    - MAX
    linkageType: ''
    returnType: void
    signature: ssl_ocsp_set_next_update(struct certificate_ocsp *ocsp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_ocsp_set_next_update
      Src: /src/haproxy/src/ssl_ocsp.c:1029,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1033,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/ssl_ocsp.c:1039,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ocsp
    argTypes:
    - struct certificate_ocsp*
    constantsTouched: []
    func_position:
      end: 1043
      start: 1024
    functionDepth: 2
    functionLinenumber: 1024
    functionLinenumberEnd: 1043
    functionName: ssl_ocsp_update_insert
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 1
    functionsReached:
    - HA_SPIN_LOCK
    - ssl_ocsp_set_next_update
    - HA_SPIN_UNLOCK
    - eb64_insert
    linkageType: ''
    returnType: int
    signature: ssl_ocsp_update_insert(struct certificate_ocsp *ocsp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_ocsp_set_next_update
      Src: /src/haproxy/src/ssl_ocsp.c:1060,1
    - Dst: MIN
      Src: /src/haproxy/src/ssl_ocsp.c:1071,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1077,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/ssl_ocsp.c:1083,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1084,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ocsp
    argTypes:
    - struct certificate_ocsp*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1087
    functionName: ssl_ocsp_update_insert_after_error
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - eb64_insert
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - ssl_ocsp_set_next_update
    - MIN
    linkageType: ''
    returnType: int
    signature: ssl_ocsp_update_insert_after_error(struct certificate_ocsp *ocsp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_wakeup
      Src: /src/haproxy/src/ssl_ocsp.c:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 1098
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1098
    functionName: ocsp_update_response_stline_cb
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - task_wakeup
    linkageType: ''
    returnType: void
    signature: ocsp_update_response_stline_cb(struct httpclient *hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_wakeup
      Src: /src/haproxy/src/ssl_ocsp.c:1108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1109
    functionName: ocsp_update_response_headers_cb
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - task_wakeup
    linkageType: ''
    returnType: void
    signature: ocsp_update_response_headers_cb(struct httpclient *hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_wakeup
      Src: /src/haproxy/src/ssl_ocsp.c:1119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1120
    functionName: ocsp_update_response_body_cb
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - task_wakeup
    linkageType: ''
    returnType: void
    signature: ocsp_update_response_body_cb(struct httpclient *hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_wakeup
      Src: /src/haproxy/src/ssl_ocsp.c:1130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 1131
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1131
    functionName: ocsp_update_response_end_cb
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - task_wakeup
    linkageType: ''
    returnType: void
    signature: ocsp_update_response_end_cb(struct httpclient *hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:1147,1
    - Dst: istlen
      Src: /src/haproxy/src/ssl_ocsp.c:1153,1
    - Dst: istptr
      Src: /src/haproxy/src/ssl_ocsp.c:1154,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/ssl_ocsp.c:1158,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1163,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1165,1
    - Dst: send_log
      Src: /src/haproxy/src/ssl_ocsp.c:1168,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:1168,1
    - Dst: b_orig
      Src: /src/haproxy/src/ssl_ocsp.c:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1169
    functionName: ssl_ocsp_send_log
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - send_log
    - istlen
    - chunk_printf
    - istptr
    - get_trash_chunk
    - chunk_appendf
    - b_data
    - b_orig
    linkageType: ''
    returnType: void
    signature: ssl_ocsp_send_log()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isttest
      Src: /src/haproxy/src/ssl_ocsp.c:1220,1
    - Dst: isteqi
      Src: /src/haproxy/src/ssl_ocsp.c:1221,1
    - Dst: ist
      Src: /src/haproxy/src/ssl_ocsp.c:1221,1
    - Dst: isteqi
      Src: /src/haproxy/src/ssl_ocsp.c:1222,1
    - Dst: ist
      Src: /src/haproxy/src/ssl_ocsp.c:1222,1
    - Dst: ssl_ocsp_check_response
      Src: /src/haproxy/src/ssl_ocsp.c:1244,1
    - Dst: ssl_sock_update_ocsp_response
      Src: /src/haproxy/src/ssl_ocsp.c:1249,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ocsp.c:1263,1
    - Dst: ssl_ocsp_send_log
      Src: /src/haproxy/src/ssl_ocsp.c:1265,1
    - Dst: ssl_ocsp_update_insert
      Src: /src/haproxy/src/ssl_ocsp.c:1268,1
    - Dst: ssl_sock_free_ocsp_instance
      Src: /src/haproxy/src/ssl_ocsp.c:1270,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1273,1
    - Dst: eb64_first
      Src: /src/haproxy/src/ssl_ocsp.c:1275,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1282,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1293,1
    - Dst: eb64_first
      Src: /src/haproxy/src/ssl_ocsp.c:1295,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1297,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1303,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/ssl_ocsp.c:1307,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/ssl_ocsp.c:1311,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1318,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:1320,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:1324,1
    - Dst: d2i_OCSP_CERTID
      Src: /src/haproxy/src/ssl_ocsp.c:1331,1
    - Dst: chunk_cpy
      Src: /src/haproxy/src/ssl_ocsp.c:1336,1
    - Dst: ssl_ocsp_create_request_details
      Src: /src/haproxy/src/ssl_ocsp.c:1339,1
    - Dst: httpclient_new_from_proxy
      Src: /src/haproxy/src/ssl_ocsp.c:1346,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:1347,1
    - Dst: ist2
      Src: /src/haproxy/src/ssl_ocsp.c:1348,1
    - Dst: b_orig
      Src: /src/haproxy/src/ssl_ocsp.c:1348,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:1348,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/ssl_ocsp.c:1356,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ocsp.c:1357,1
    - Dst: httpclient_req_gen
      Src: /src/haproxy/src/ssl_ocsp.c:1362,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:1363,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:1364,1
    - Dst: ist2
      Src: /src/haproxy/src/ssl_ocsp.c:1364,1
    - Dst: b_orig
      Src: /src/haproxy/src/ssl_ocsp.c:1364,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:1364,1
    - Dst: httpclient_start
      Src: /src/haproxy/src/ssl_ocsp.c:1373,1
    - Dst: ssl_ocsp_update_insert_after_error
      Src: /src/haproxy/src/ssl_ocsp.c:1388,1
    - Dst: ssl_sock_free_ocsp_instance
      Src: /src/haproxy/src/ssl_ocsp.c:1390,1
    - Dst: httpclient_stop_and_destroy
      Src: /src/haproxy/src/ssl_ocsp.c:1394,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:1396,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:1397,1
    - Dst: tick_add
      Src: /src/haproxy/src/ssl_ocsp.c:1398,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:1402,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:1403,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ocsp.c:1412,1
    - Dst: ssl_ocsp_update_insert_after_error
      Src: /src/haproxy/src/ssl_ocsp.c:1414,1
    - Dst: ssl_ocsp_send_log
      Src: /src/haproxy/src/ssl_ocsp.c:1416,1
    - Dst: httpclient_stop_and_destroy
      Src: /src/haproxy/src/ssl_ocsp.c:1419,1
    - Dst: ssl_sock_free_ocsp_instance
      Src: /src/haproxy/src/ssl_ocsp.c:1421,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1422,1
    - Dst: eb64_first
      Src: /src/haproxy/src/ssl_ocsp.c:1424,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1431,1
    - Dst: tick_add
      Src: /src/haproxy/src/ssl_ocsp.c:1435,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 181
    argCount: 3
    argNames:
    - task
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1437
      start: 1191
    functionDepth: 4
    functionLinenumber: 1191
    functionLinenumberEnd: 1437
    functionName: ssl_ocsp_update_responses
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - d2i_OCSP_CERTID
    - httpclient_req_gen
    - ha_free
    - isttest
    - ist
    - ssl_ocsp_send_log
    - httpclient_stop_and_destroy
    - chunk_cpy
    - free_trash_chunk
    - isteqi
    - b_orig
    - alloc_trash_chunk
    - ist2
    - ssl_sock_free_ocsp_instance
    - httpclient_new_from_proxy
    - ssl_ocsp_update_insert_after_error
    - ssl_ocsp_create_request_details
    - sockaddr_alloc
    - ssl_ocsp_check_response
    - eb64_first
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - b_data
    - eb64_delete
    - tick_add
    - ssl_ocsp_update_insert
    - eb64_entry
    - ssl_sock_update_ocsp_response
    - httpclient_start
    linkageType: ''
    returnType: struct task
    signature: '*ssl_ocsp_update_responses(struct task *task, void *context, unsigned
      int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: httpclient_create_proxy
      Src: /src/haproxy/src/ssl_ocsp.c:1452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1459
    functionName: ssl_ocsp_update_precheck
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - httpclient_create_proxy
    linkageType: ''
    returnType: int
    signature: ssl_ocsp_update_precheck()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:1476,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ocsp.c:1477,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1482,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:1483,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_ocsp.c:1487,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:1490,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1491,1
    - Dst: i2d_OCSP_CERTID
      Src: /src/haproxy/src/ssl_ocsp.c:1496,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1498,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1501,1
    - Dst: ebmb_lookup
      Src: /src/haproxy/src/ssl_ocsp.c:1502,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:1504,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1505,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/ssl_ocsp.c:1512,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/ssl_ocsp.c:1524,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1528,1
    - Dst: ssl_create_ocsp_update_task
      Src: /src/haproxy/src/ssl_ocsp.c:1531,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/ssl_ocsp.c:1533,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ocsp.c:1535,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ocsp.c:1540,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:1540,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1541
      start: 1466
    functionDepth: 2
    functionLinenumber: 1466
    functionLinenumberEnd: 1541
    functionName: cli_parse_update_ocsp_response
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - eb64_insert
    - task_wakeup
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - HA_SPIN_LOCK
    - ebmb_lookup
    - free
    - ssl_create_ocsp_update_task
    - eb64_delete
    - ckchs_lookup
    - i2d_OCSP_CERTID
    linkageType: ''
    returnType: int
    signature: cli_parse_update_ocsp_response(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ocsp.c:1560,1
    - Dst: base64dec
      Src: /src/haproxy/src/ssl_ocsp.c:1570,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ocsp.c:1572,1
    - Dst: ssl_sock_update_ocsp_response
      Src: /src/haproxy/src/ssl_ocsp.c:1575,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ocsp.c:1577,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:1577,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ocsp.c:1579,1
    - Dst: cli_msg
      Src: /src/haproxy/src/ssl_ocsp.c:1582,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ocsp.c:1584,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1587
      start: 1549
    functionDepth: 4
    functionLinenumber: 1549
    functionLinenumberEnd: 1587
    functionName: cli_parse_set_ocspresponse
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - cli_err
    - cli_msg
    - ssl_sock_update_ocsp_response
    - base64dec
    linkageType: ''
    returnType: int
    signature: cli_parse_set_ocspresponse(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/ssl_ocsp.c:1596,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ocsp.c:1607,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ocsp.c:1610,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ocsp.c:1616,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ocsp.c:1620,1
    - Dst: parse_binary
      Src: /src/haproxy/src/ssl_ocsp.c:1621,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1628,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ocsp.c:1629,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_ocsp.c:1632,1
    - Dst: i2d_OCSP_CERTID
      Src: /src/haproxy/src/ssl_ocsp.c:1636,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1638,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ocsp.c:1642,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1645,1
    - Dst: ebmb_lookup
      Src: /src/haproxy/src/ssl_ocsp.c:1646,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1649,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ocsp.c:1650,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1653,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ocsp.c:1662,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1664
      start: 1592
    functionDepth: 2
    functionLinenumber: 1592
    functionLinenumberEnd: 1664
    functionName: cli_parse_show_ocspresponse
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - HA_SPIN_LOCK
    - ebmb_lookup
    - ckchs_lookup
    - applet_reserve_svcctx
    - parse_binary
    - i2d_OCSP_CERTID
    linkageType: ''
    returnType: int
    signature: cli_parse_show_ocspresponse(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:1674,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1685,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:1687,1
    - Dst: BIO_new
      Src: /src/haproxy/src/ssl_ocsp.c:1691,1
    - Dst: BIO_s_mem
      Src: /src/haproxy/src/ssl_ocsp.c:1691,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1695,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/ssl_ocsp.c:1696,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_ocsp.c:1706,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1709,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1711,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1713,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1716,1
    - Dst: d2i_OCSP_CERTID
      Src: /src/haproxy/src/ssl_ocsp.c:1721,1
    - Dst: ocsp_certid_print
      Src: /src/haproxy/src/ssl_ocsp.c:1726,1
    - Dst: OCSP_CERTID_free
      Src: /src/haproxy/src/ssl_ocsp.c:1727,1
    - Dst: BIO_read
      Src: /src/haproxy/src/ssl_ocsp.c:1728,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1734,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/ssl_ocsp.c:1736,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ocsp.c:1737,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1742,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:1743,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:1744,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_ocsp.c:1745,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:1749,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:1750,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_ocsp.c:1751,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1755,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ocsp.c:1758,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1760
      start: 1671
    functionDepth: 1
    functionLinenumber: 1671
    functionLinenumberEnd: 1760
    functionName: cli_io_handler_show_ocspresponse
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - d2i_OCSP_CERTID
    - BIO_read
    - BIO_free
    - cli_err
    - ocsp_certid_print
    - HA_SPIN_UNLOCK
    - chunk_appendf
    - HA_SPIN_LOCK
    - ebmb_entry
    - ebmb_first
    - applet_putchk
    - ebmb_next
    - free_trash_chunk
    - BIO_s_mem
    - OCSP_CERTID_free
    - BIO_new
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_ocspresponse(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_free_ocsp_instance
      Src: /src/haproxy/src/ssl_ocsp.c:1767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1768
      start: 1762
    functionDepth: 3
    functionLinenumber: 1762
    functionLinenumberEnd: 1768
    functionName: cli_release_show_ocspresponse
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - ssl_sock_free_ocsp_instance
    linkageType: ''
    returnType: void
    signature: cli_release_show_ocspresponse(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/ssl_ocsp.c:1780,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1782,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ocsp.c:1786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1788
      start: 1777
    functionDepth: 1
    functionLinenumber: 1777
    functionLinenumberEnd: 1788
    functionName: cli_parse_show_ocsp_updates
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - cli_err
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_show_ocsp_updates(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1805,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1808,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1811,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1813,1
    - Dst: get_localtime
      Src: /src/haproxy/src/ssl_ocsp.c:1818,1
    - Dst: get_localtime
      Src: /src/haproxy/src/ssl_ocsp.c:1821,1
    - Dst: localdate2str_log
      Src: /src/haproxy/src/ssl_ocsp.c:1823,1
    - Dst: b_orig
      Src: /src/haproxy/src/ssl_ocsp.c:1823,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:1823,1
    - Dst: b_size
      Src: /src/haproxy/src/ssl_ocsp.c:1823,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:1823,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1830,1
    - Dst: get_localtime
      Src: /src/haproxy/src/ssl_ocsp.c:1834,1
    - Dst: localdate2str_log
      Src: /src/haproxy/src/ssl_ocsp.c:1835,1
    - Dst: b_orig
      Src: /src/haproxy/src/ssl_ocsp.c:1835,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:1835,1
    - Dst: b_size
      Src: /src/haproxy/src/ssl_ocsp.c:1835,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ocsp.c:1835,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1842,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1844,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1847,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1849,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1852,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1854,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1857,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1859,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1863,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1865,1
    - Dst: istptr
      Src: /src/haproxy/src/ssl_ocsp.c:1865,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1867,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1870,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 2
    argNames:
    - ocsp
    - out
    argTypes:
    - struct certificate_ocsp*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1873
      start: 1796
    functionDepth: 1
    functionLinenumber: 1796
    functionLinenumberEnd: 1873
    functionName: dump_ocsp_update_info
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - localdate2str_log
    - get_localtime
    - istptr
    - chunk_appendf
    - b_data
    - b_size
    - b_orig
    linkageType: ''
    returnType: int
    signature: dump_ocsp_update_info(struct certificate_ocsp *ocsp, struct buffer
      *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_ocsp.c:1880,1
    - Dst: eb64_first
      Src: /src/haproxy/src/ssl_ocsp.c:1883,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ocsp.c:1884,1
    - Dst: dump_ocsp_update_info
      Src: /src/haproxy/src/ssl_ocsp.c:1889,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ocsp.c:1893,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/ssl_ocsp.c:1901,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/ssl_ocsp.c:1903,1
    - Dst: dump_ocsp_update_info
      Src: /src/haproxy/src/ssl_ocsp.c:1904,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ocsp.c:1907,1
    - Dst: eb64_next
      Src: /src/haproxy/src/ssl_ocsp.c:1912,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1920
      start: 1875
    functionDepth: 2
    functionLinenumber: 1875
    functionLinenumberEnd: 1920
    functionName: cli_io_handler_show_ocsp_updates
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - eb64_first
    - chunk_appendf
    - get_trash_chunk
    - applet_putchk
    - eb64_entry
    - eb64_next
    - dump_ocsp_update_info
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_ocsp_updates(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ocsp.c:1924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1925
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1925
    functionName: cli_release_show_ocsp_updates
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: void
    signature: cli_release_show_ocsp_updates(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:1934,1
    - Dst: atoi
      Src: /src/haproxy/src/ssl_ocsp.c:1938,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:1940,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:1945,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1952
      start: 1927
    functionDepth: 1
    functionLinenumber: 1927
    functionLinenumberEnd: 1952
    functionName: ssl_parse_global_ocsp_maxdelay
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_ocsp_maxdelay(char **args, int section_type, struct
      proxy *curpx,\n                                          const struct proxy
      *defpx, const char *file, int line,\n                                          char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:1961,1
    - Dst: atoi
      Src: /src/haproxy/src/ssl_ocsp.c:1965,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:1967,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:1972,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1979
      start: 1954
    functionDepth: 1
    functionLinenumber: 1954
    functionLinenumberEnd: 1979
    functionName: ssl_parse_global_ocsp_mindelay
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_ocsp_mindelay(char **args, int section_type, struct
      proxy *curpx,\n                                          const struct proxy
      *defpx, const char *file, int line,\n                                          char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:1986,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ocsp.c:1990,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ocsp.c:1992,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:1995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2000
      start: 1981
    functionDepth: 1
    functionLinenumber: 1981
    functionLinenumberEnd: 2000
    functionName: ssl_parse_global_ocsp_update_mode
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_ocsp_update_mode(char **args, int section_type, struct
      proxy *curpx,\n                                             const struct proxy
      *defpx, const char *file, int line,\n                                             char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:2007,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ocsp.c:2011,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ocsp.c:2013,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ocsp.c:2016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2021
      start: 2002
    functionDepth: 1
    functionLinenumber: 2002
    functionLinenumberEnd: 2021
    functionName: ssl_parse_global_ocsp_update_disable
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_ocsp_update_disable(char **args, int section_type,
      struct proxy *curpx,\n                                                const
      struct proxy *defpx, const char *file, int line,\n                                                char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/ssl_ocsp.c:2030,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/ssl_ocsp.c:2033,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/ssl_ocsp.c:2035,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ocsp.c:2039,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ocsp.c:2040,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/ssl_ocsp.c:2044,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ocsp.c:2045,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2050
      start: 2023
    functionDepth: 1
    functionLinenumber: 2023
    functionLinenumberEnd: 2050
    functionName: ocsp_update_parse_global_http_proxy
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - sockaddr_free
    - ha_alert
    - str2sa_range
    - sockaddr_alloc
    - free
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "ocsp_update_parse_global_http_proxy(char **args, int section_type,
      struct proxy *curpx,\n                                        const struct proxy
      *defpx, const char *file, int line,\n                                        char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_create_ocsp_update_task
      Src: /src/haproxy/src/ssl_ocsp.c:2062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - value
    - buf
    - d
    - cli
    - err
    argTypes:
    - void*
    - char*
    - struct ckch_data*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2066
      start: 2052
    functionDepth: 2
    functionLinenumber: 2052
    functionLinenumberEnd: 2066
    functionName: ocsp_update_init
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - ssl_create_ocsp_update_task
    linkageType: ''
    returnType: int
    signature: ocsp_update_init(void *value, char *buf, struct ckch_data *d, int cli,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_create_ocsp_update_task
      Src: /src/haproxy/src/ssl_ocsp.c:2078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2068
    functionDepth: 2
    functionLinenumber: 2068
    functionLinenumberEnd: 2082
    functionName: ocsp_update_postparser_init
    functionSourceFile: /src/haproxy/src/ssl_ocsp.c
    functionUses: 0
    functionsReached:
    - ssl_create_ocsp_update_task
    linkageType: ''
    returnType: int
    signature: ocsp_update_postparser_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/session.c:75,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/session.c:77,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/session.c:86,1
    - Dst: memset
      Src: /src/haproxy/src/session.c:89,1
    - Dst: vars_init_head
      Src: /src/haproxy/src/session.c:91,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/session.c:95,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/session.c:96,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/session.c:97,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/session.c:102,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/session.c:104,1
    - Dst: pool_free
      Src: /src/haproxy/src/session.c:107,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/session.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 3
    argNames:
    - fe
    - li
    - origin
    argTypes:
    - struct proxy*
    - struct listener*
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 110
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 110
    functionName: session_new
    functionSourceFile: /src/haproxy/src/session.c
    functionUses: 3
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - _HA_ATOMIC_INC
    - pool_alloc
    - pool_free
    - LIST_INIT
    - vars_init_head
    - TRACE_DEVEL
    - memset
    - TRACE_STATE
    linkageType: ''
    returnType: struct session
    signature: '*session_new(struct proxy *fe, struct listener *li, enum obj_type
      *origin)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/session.c:117,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/session.c:118,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/session.c:122,1
    - Dst: listener_release
      Src: /src/haproxy/src/session.c:123,1
    - Dst: session_store_counters
      Src: /src/haproxy/src/session.c:126,1
    - Dst: pool_free
      Src: /src/haproxy/src/session.c:127,1
    - Dst: vars_prune_per_sess
      Src: /src/haproxy/src/session.c:128,1
    - Dst: objt_conn
      Src: /src/haproxy/src/session.c:129,1
    - Dst: struct connection*::mux::destroy
      Src: /src/haproxy/src/session.c:131,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/session.c:132,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/session.c:133,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/session.c:134,1
    - Dst: conn_release
      Src: /src/haproxy/src/session.c:137,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/session.c:139,1
    - Dst: pool_free
      Src: /src/haproxy/src/session.c:140,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/session.c:142,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/session.c:143,1
    - Dst: pool_free
      Src: /src/haproxy/src/session.c:144,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/session.c:145,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/session.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct session*
    constantsTouched: []
    func_position:
      end: 148
      start: 112
    functionDepth: 5
    functionLinenumber: 112
    functionLinenumberEnd: 148
    functionName: session_free
    functionSourceFile: /src/haproxy/src/session.c
    functionUses: 3
    functionsReached:
    - sockaddr_free
    - session_store_counters
    - TRACE_LEAVE
    - list_for_each_entry_safe
    - _HA_ATOMIC_DEC
    - TRACE_ENTER
    - vars_prune_per_sess
    - conn_release
    - struct connection*::mux::destroy
    - objt_conn
    - MT_LIST_DELETE
    - pool_free
    - LIST_DEL_INIT
    - listener_release
    - TRACE_STATE
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: session_free(struct session *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_free
      Src: /src/haproxy/src/session.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 6
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: conn_session_free
    functionSourceFile: /src/haproxy/src/session.c
    functionUses: 0
    functionsReached:
    - session_free
    linkageType: ''
    returnType: void
    signature: conn_session_free(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proxy_inc_fe_sess_ctr
      Src: /src/haproxy/src/session.c:166,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/session.c:170,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/session.c:173,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/session.c:173,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/session.c:175,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/session.c:175,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/session.c:177,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/session.c:177,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/src/session.c:179,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/session.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct session*
    constantsTouched: []
    func_position:
      end: 182
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 182
    functionName: session_count_new
    functionSourceFile: /src/haproxy/src/session.c
    functionUses: 0
    functionsReached:
    - update_freq_ctr_period
    - stkctr_entry
    - stktable_data_cast
    - HA_ATOMIC_INC
    - proxy_inc_fe_sess_ctr
    - stktable_data_ptr
    linkageType: ''
    returnType: void
    signature: session_count_new(struct session *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_listener
      Src: /src/haproxy/src/session.c:195,1
    - Dst: conn_prepare
      Src: /src/haproxy/src/session.c:210,1
    - Dst: conn_ctrl_init
      Src: /src/haproxy/src/session.c:213,1
    - Dst: xprt_add_hs
      Src: /src/haproxy/src/session.c:225,1
    - Dst: session_new
      Src: /src/haproxy/src/session.c:232,1
    - Dst: conn_set_owner
      Src: /src/haproxy/src/session.c:236,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/session.c:245,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/session.c:246,1
    - Dst: tcp_exec_l4_rules
      Src: /src/haproxy/src/session.c:246,1
    - Dst: setsockopt
      Src: /src/haproxy/src/session.c:249,1
    - Dst: conn_xprt_start
      Src: /src/haproxy/src/session.c:254,1
    - Dst: setsockopt
      Src: /src/haproxy/src/session.c:265,1
    - Dst: setsockopt
      Src: /src/haproxy/src/session.c:268,1
    - Dst: setsockopt
      Src: /src/haproxy/src/session.c:272,1
    - Dst: setsockopt
      Src: /src/haproxy/src/session.c:277,1
    - Dst: setsockopt
      Src: /src/haproxy/src/session.c:282,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/session.c:287,1
    - Dst: getsockopt
      Src: /src/haproxy/src/session.c:294,1
    - Dst: setsockopt
      Src: /src/haproxy/src/session.c:296,1
    - Dst: setsockopt
      Src: /src/haproxy/src/session.c:303,1
    - Dst: setsockopt
      Src: /src/haproxy/src/session.c:306,1
    - Dst: unlikely
      Src: /src/haproxy/src/session.c:330,1
    - Dst: task_new_here
      Src: /src/haproxy/src/session.c:330,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/session.c:338,1
    - Dst: task_queue
      Src: /src/haproxy/src/session.c:339,1
    - Dst: conn_complete_session
      Src: /src/haproxy/src/session.c:348,1
    - Dst: session_free
      Src: /src/haproxy/src/session.c:365,1
    - Dst: xprt_get
      Src: /src/haproxy/src/session.c:368,1
    - Dst: send
      Src: /src/haproxy/src/session.c:372,1
    - Dst: strlen
      Src: /src/haproxy/src/session.c:372,1
    - Dst: conn_release
      Src: /src/haproxy/src/session.c:377,1
    - Dst: listener_release
      Src: /src/haproxy/src/session.c:378,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 95
    argCount: 1
    argNames:
    - cli_conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 380
      start: 193
    functionDepth: 6
    functionLinenumber: 193
    functionLinenumberEnd: 380
    functionName: session_accept_fd
    functionSourceFile: /src/haproxy/src/session.c
    functionUses: 0
    functionsReached:
    - conn_complete_session
    - session_new
    - tcp_exec_l4_rules
    - task_new_here
    - conn_set_owner
    - LIST_ISEMPTY
    - conn_prepare
    - task_queue
    - send
    - conn_ctrl_init
    - setsockopt
    - strlen
    - conn_release
    - session_free
    - tick_add_ifset
    - xprt_get
    - __objt_listener
    - xprt_add_hs
    - getsockopt
    - conn_xprt_start
    - listener_release
    - unlikely
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: session_accept_fd(struct connection *cli_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sess_src
      Src: /src/haproxy/src/session.c:395,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/session.c:396,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/session.c:398,1
    - Dst: real_family
      Src: /src/haproxy/src/session.c:399,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/session.c:400,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/session.c:402,1
    - Dst: get_host_port
      Src: /src/haproxy/src/session.c:402,1
    - Dst: get_localtime
      Src: /src/haproxy/src/session.c:404,1
    - Dst: date2str_log
      Src: /src/haproxy/src/session.c:405,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/session.c:409,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/session.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - sess
    - out
    argTypes:
    - struct session*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 412
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 412
    functionName: session_prepare_log_prefix
    functionSourceFile: /src/haproxy/src/session.c
    functionUses: 0
    functionsReached:
    - real_family
    - sess_src
    - addr_to_str
    - get_localtime
    - chunk_printf
    - chunk_appendf
    - get_host_port
    - date2str_log
    linkageType: ''
    returnType: void
    signature: session_prepare_log_prefix(struct session *sess, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/session.c:425,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/session.c:429,1
    - Dst: conn_err_code_str
      Src: /src/haproxy/src/session.c:431,1
    - Dst: session_prepare_log_prefix
      Src: /src/haproxy/src/session.c:432,1
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/session.c:435,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/session.c:440,1
    - Dst: ERR_error_string_n
      Src: /src/haproxy/src/session.c:441,1
    - Dst: b_orig
      Src: /src/haproxy/src/session.c:441,1
    - Dst: b_data
      Src: /src/haproxy/src/session.c:441,1
    - Dst: b_room
      Src: /src/haproxy/src/session.c:441,1
    - Dst: strlen
      Src: /src/haproxy/src/session.c:442,1
    - Dst: b_orig
      Src: /src/haproxy/src/session.c:442,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/session.c:443,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/session.c:450,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/session.c:452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - sess
    - out
    argTypes:
    - struct session*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 456
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 456
    functionName: session_embryonic_build_legacy_err
    functionSourceFile: /src/haproxy/src/session.c
    functionUses: 0
    functionsReached:
    - b_room
    - strlen
    - session_prepare_log_prefix
    - objt_conn
    - ERR_error_string_n
    - chunk_appendf
    - b_orig
    - conn_err_code_str
    - b_data
    - conn_get_ssl_sock_ctx
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: session_embryonic_build_legacy_err(struct session *sess, struct buffer
      *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_conn
      Src: /src/haproxy/src/session.c:467,1
    - Dst: sess_log_embryonic
      Src: /src/haproxy/src/session.c:490,1
    - Dst: conn_stop_tracking
      Src: /src/haproxy/src/session.c:494,1
    - Dst: conn_full_close
      Src: /src/haproxy/src/session.c:495,1
    - Dst: conn_free
      Src: /src/haproxy/src/session.c:496,1
    - Dst: task_destroy
      Src: /src/haproxy/src/session.c:499,1
    - Dst: session_free
      Src: /src/haproxy/src/session.c:500,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 2
    argNames:
    - sess
    - state
    argTypes:
    - struct session*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 501
      start: 465
    functionDepth: 6
    functionLinenumber: 465
    functionLinenumberEnd: 501
    functionName: session_kill_embryonic
    functionSourceFile: /src/haproxy/src/session.c
    functionUses: 0
    functionsReached:
    - conn_full_close
    - conn_free
    - __objt_conn
    - session_free
    - conn_stop_tracking
    - task_destroy
    - sess_log_embryonic
    linkageType: ''
    returnType: void
    signature: session_kill_embryonic(struct session *sess, unsigned int state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_kill_embryonic
      Src: /src/haproxy/src/session.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 516
      start: 507
    functionDepth: 7
    functionLinenumber: 507
    functionLinenumberEnd: 516
    functionName: session_expire_embryonic
    functionSourceFile: /src/haproxy/src/session.c
    functionUses: 0
    functionsReached:
    - session_kill_embryonic
    linkageType: ''
    returnType: struct task
    signature: '*session_expire_embryonic(struct task *t, void *context, unsigned
      int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ns_to_ms
      Src: /src/haproxy/src/session.c:528,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/session.c:538,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/session.c:539,1
    - Dst: tcp_exec_l5_rules
      Src: /src/haproxy/src/session.c:539,1
    - Dst: session_count_new
      Src: /src/haproxy/src/session.c:542,1
    - Dst: conn_install_mux_fe
      Src: /src/haproxy/src/session.c:544,1
    - Dst: task_destroy
      Src: /src/haproxy/src/session.c:549,1
    - Dst: conn_set_owner
      Src: /src/haproxy/src/session.c:551,1
    - Dst: session_kill_embryonic
      Src: /src/haproxy/src/session.c:557,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 559
      start: 524
    functionDepth: 7
    functionLinenumber: 524
    functionLinenumberEnd: 559
    functionName: conn_complete_session
    functionSourceFile: /src/haproxy/src/session.c
    functionUses: 2
    functionsReached:
    - session_kill_embryonic
    - LIST_ISEMPTY
    - tcp_exec_l5_rules
    - conn_install_mux_fe
    - ns_to_ms
    - task_destroy
    - conn_set_owner
    - session_count_new
    linkageType: ''
    returnType: int
    signature: conn_complete_session(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_add_glitch_ctr
      Src: /src/haproxy/src/session.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sess
    - inc
    argTypes:
    - struct session*
    - uint
    constantsTouched: []
    func_position:
      end: 571
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 571
    functionName: __session_add_glitch_ctr
    functionSourceFile: /src/haproxy/src/session.c
    functionUses: 0
    functionsReached:
    - stkctr_add_glitch_ctr
    linkageType: ''
    returnType: void
    signature: __session_add_glitch_ctr(struct session *sess, uint inc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ssl.c:38,1
    - Dst: quic_transport_params_encode
      Src: /src/haproxy/src/quic_ssl.c:39,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:41,1
    - Dst: SSL_set_quic_transport_params
      Src: /src/haproxy/src/quic_ssl.c:45,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:46,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ssl.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - qc
    - ver
    - server
    argTypes:
    - struct quic_conn*
    - struct quic_version*
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 22
    functionDepth: 4
    functionLinenumber: 22
    functionLinenumberEnd: 54
    functionName: qc_ssl_set_quic_transport_params
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - quic_transport_params_encode
    - TRACE_ENTER
    - SSL_set_quic_transport_params
    - TRACE_ERROR
    linkageType: ''
    returnType: int
    signature: "qc_ssl_set_quic_transport_params(struct quic_conn *qc,\n                                            const
      struct quic_version *ver, int server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ssl.c:77,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_ssl.c:86,1
    - Dst: realloc
      Src: /src/haproxy/src/quic_ssl.c:97,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_ssl.c:102,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:104,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/quic_ssl.c:127,1
    - Dst: qc_frm_alloc
      Src: /src/haproxy/src/quic_ssl.c:140,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:142,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_ssl.c:149,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ssl.c:154,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 4
    argNames:
    - qc
    - qel
    - data
    - len
    argTypes:
    - struct quic_conn*
    - struct quic_enc_level*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 156
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 156
    functionName: qc_ssl_crypto_data_cpy
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - qc_frm_alloc
    - TRACE_LEAVE
    - list_for_each_entry
    - TRACE_ENTER
    - LIST_APPEND
    - pool_alloc
    - TRACE_ERROR
    - realloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: "qc_ssl_crypto_data_cpy(struct quic_conn *qc, struct quic_enc_level
      *qel,\n                                  const unsigned char *data, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/quic_ssl.c:164,1
    - Dst: ssl_to_qel_addr
      Src: /src/haproxy/src/quic_ssl.c:165,1
    - Dst: ssl_to_quic_pktns
      Src: /src/haproxy/src/quic_ssl.c:166,1
    - Dst: SSL_get_current_cipher
      Src: /src/haproxy/src/quic_ssl.c:168,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ssl.c:173,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_ssl.c:174,1
    - Dst: qc_enc_level_alloc
      Src: /src/haproxy/src/quic_ssl.c:176,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_ssl.c:177,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_ssl.c:184,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_ssl.c:189,1
    - Dst: tls_aead
      Src: /src/haproxy/src/quic_ssl.c:197,1
    - Dst: tls_md
      Src: /src/haproxy/src/quic_ssl.c:198,1
    - Dst: tls_hp
      Src: /src/haproxy/src/quic_ssl.c:199,1
    - Dst: quic_tls_secrets_keys_alloc
      Src: /src/haproxy/src/quic_ssl.c:203,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:204,1
    - Dst: quic_tls_derive_keys
      Src: /src/haproxy/src/quic_ssl.c:208,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:211,1
    - Dst: quic_tls_rx_ctx_init
      Src: /src/haproxy/src/quic_ssl.c:215,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:216,1
    - Dst: quic_tls_dec_hp_ctx_init
      Src: /src/haproxy/src/quic_ssl.c:220,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:221,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_ssl.c:229,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_ssl.c:235,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_ssl.c:238,1
    - Dst: quic_accept_push_qc
      Src: /src/haproxy/src/quic_ssl.c:239,1
    - Dst: tls_aead
      Src: /src/haproxy/src/quic_ssl.c:249,1
    - Dst: tls_md
      Src: /src/haproxy/src/quic_ssl.c:250,1
    - Dst: tls_hp
      Src: /src/haproxy/src/quic_ssl.c:251,1
    - Dst: quic_tls_secrets_keys_alloc
      Src: /src/haproxy/src/quic_ssl.c:255,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:256,1
    - Dst: quic_tls_derive_keys
      Src: /src/haproxy/src/quic_ssl.c:260,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:263,1
    - Dst: quic_tls_tx_ctx_init
      Src: /src/haproxy/src/quic_ssl.c:267,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:268,1
    - Dst: quic_tls_enc_hp_ctx_init
      Src: /src/haproxy/src/quic_ssl.c:272,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:273,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_ssl.c:278,1
    - Dst: qc_ssl_set_quic_transport_params
      Src: /src/haproxy/src/quic_ssl.c:279,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_ssl.c:290,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:291,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_ssl.c:295,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_ssl.c:300,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:301,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_ssl.c:305,1
    - Dst: qc_release_pktns_frms
      Src: /src/haproxy/src/quic_ssl.c:320,1
    - Dst: qc_release_pktns_frms
      Src: /src/haproxy/src/quic_ssl.c:321,1
    - Dst: qc_release_pktns_frms
      Src: /src/haproxy/src/quic_ssl.c:322,1
    - Dst: quic_set_tls_alert
      Src: /src/haproxy/src/quic_ssl.c:323,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ssl.c:326,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 128
    argCount: 5
    argNames:
    - ssl
    - level
    - read_secret
    - write_secret
    - secret_len
    argTypes:
    - SSL*
    - enum ssl_encryption_level_t
    - uint8_t*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 328
      start: 159
    functionDepth: 5
    functionLinenumber: 159
    functionLinenumberEnd: 328
    functionName: ha_quic_set_encryption_secrets
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - qc_ssl_set_quic_transport_params
    - TRACE_ENTER
    - qc_release_pktns_frms
    - pool_alloc
    - quic_tls_secrets_keys_alloc
    - quic_accept_push_qc
    - BUG_ON
    - TRACE_LEAVE
    - quic_tls_rx_ctx_init
    - quic_tls_tx_ctx_init
    - quic_set_tls_alert
    - ssl_to_quic_pktns
    - quic_tls_dec_hp_ctx_init
    - ssl_to_qel_addr
    - qc_enc_level_alloc
    - TRACE_DEVEL
    - quic_tls_derive_keys
    - tls_hp
    - tls_md
    - SSL_get_ex_data
    - TRACE_PROTO
    - SSL_get_current_cipher
    - tls_aead
    - TRACE_ERROR
    - memcpy
    - qc_is_listener
    - quic_tls_enc_hp_ctx_init
    linkageType: ''
    returnType: int
    signature: "ha_quic_set_encryption_secrets(SSL *ssl, enum ssl_encryption_level_t
      level,\n                                          const uint8_t *read_secret,\n
      \                                         const uint8_t *write_secret, size_t
      secret_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_quic_set_encryption_secrets
      Src: /src/haproxy/src/quic_ssl.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ssl
    - level
    - cipher
    - secret
    - secret_len
    argTypes:
    - SSL*
    - enum ssl_encryption_level_t
    - SSL_CIPHER*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 6
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: ha_quic_set_read_secret
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - ha_quic_set_encryption_secrets
    linkageType: ''
    returnType: int
    signature: "ha_quic_set_read_secret(SSL *ssl, enum ssl_encryption_level_t level,\n
      \                                  const SSL_CIPHER *cipher, const uint8_t *secret,\n
      \                                  size_t secret_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_quic_set_encryption_secrets
      Src: /src/haproxy/src/quic_ssl.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ssl
    - level
    - cipher
    - secret
    - secret_len
    argTypes:
    - SSL*
    - enum ssl_encryption_level_t
    - SSL_CIPHER*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 6
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: ha_quic_set_write_secret
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - ha_quic_set_encryption_secrets
    linkageType: ''
    returnType: int
    signature: "ha_quic_set_write_secret(SSL *ssl, enum ssl_encryption_level_t level,\n
      \                                  const SSL_CIPHER *cipher, const uint8_t *secret,\n
      \                                  size_t secret_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/quic_ssl.c:359,1
    - Dst: ssl_to_qel_addr
      Src: /src/haproxy/src/quic_ssl.c:360,1
    - Dst: ssl_to_quic_pktns
      Src: /src/haproxy/src/quic_ssl.c:361,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ssl.c:363,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_ssl.c:365,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_ssl.c:368,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_ssl.c:373,1
    - Dst: qc_enc_level_alloc
      Src: /src/haproxy/src/quic_ssl.c:377,1
    - Dst: qc_ssl_crypto_data_cpy
      Src: /src/haproxy/src/quic_ssl.c:380,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:381,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_ssl.c:385,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ssl.c:390,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - ssl
    - level
    - data
    - len
    argTypes:
    - SSL*
    - enum ssl_encryption_level_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 392
      start: 355
    functionDepth: 2
    functionLinenumber: 355
    functionLinenumberEnd: 392
    functionName: ha_quic_add_handshake_data
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - ssl_to_quic_pktns
    - TRACE_LEAVE
    - SSL_get_ex_data
    - TRACE_ENTER
    - TRACE_PROTO
    - ssl_to_qel_addr
    - qc_ssl_crypto_data_cpy
    - qc_enc_level_alloc
    - TRACE_ERROR
    - TRACE_DEVEL
    linkageType: ''
    returnType: int
    signature: "ha_quic_add_handshake_data(SSL *ssl, enum ssl_encryption_level_t level,\n
      \                                     const uint8_t *data, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/quic_ssl.c:396,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ssl.c:398,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ssl.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: ha_quic_flush_flight
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: ha_quic_flush_flight(SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/quic_ssl.c:406,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ssl.c:408,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_ssl.c:410,1
    - Dst: quic_set_tls_alert
      Src: /src/haproxy/src/quic_ssl.c:412,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ssl.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ssl
    - level
    - alert
    argTypes:
    - SSL*
    - enum ssl_encryption_level_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 415
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 415
    functionName: ha_quic_send_alert
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - SSL_get_ex_data
    - TRACE_ENTER
    - TRACE_PROTO
    - quic_set_tls_alert
    linkageType: ''
    returnType: int
    signature: ha_quic_send_alert(SSL *ssl, enum ssl_encryption_level_t level, uint8_t
      alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_new
      Src: /src/haproxy/src/quic_ssl.c:452,1
    - Dst: TLS_server_method
      Src: /src/haproxy/src/quic_ssl.c:452,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/haproxy/src/quic_ssl.c:456,1
    - Dst: SSL_CTX_set_options
      Src: /src/haproxy/src/quic_ssl.c:457,1
    - Dst: SSL_CTX_set_mode
      Src: /src/haproxy/src/quic_ssl.c:458,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/haproxy/src/quic_ssl.c:459,1
    - Dst: SSL_CTX_set_max_proto_version
      Src: /src/haproxy/src/quic_ssl.c:460,1
    - Dst: ha_warning
      Src: /src/haproxy/src/quic_ssl.c:464,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/quic_ssl.c:465,1
    - Dst: SSL_CTX_set_early_data_enabled
      Src: /src/haproxy/src/quic_ssl.c:467,1
    - Dst: SSL_CTX_set_options
      Src: /src/haproxy/src/quic_ssl.c:469,1
    - Dst: SSL_CTX_set_max_early_data
      Src: /src/haproxy/src/quic_ssl.c:470,1
    - Dst: SSL_CTX_set_select_certificate_cb
      Src: /src/haproxy/src/quic_ssl.c:476,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/haproxy/src/quic_ssl.c:477,1
    - Dst: SSL_CTX_set_client_hello_cb
      Src: /src/haproxy/src/quic_ssl.c:479,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/haproxy/src/quic_ssl.c:480,1
    - Dst: SSL_CTX_set_tlsext_servername_callback
      Src: /src/haproxy/src/quic_ssl.c:482,1
    - Dst: SSL_CTX_set_tlsext_servername_arg
      Src: /src/haproxy/src/quic_ssl.c:484,1
    - Dst: quic_tls_compat_init
      Src: /src/haproxy/src/quic_ssl.c:487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - bind_conf
    argTypes:
    - struct bind_conf*
    constantsTouched: []
    func_position:
      end: 492
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 492
    functionName: ssl_quic_initial_ctx
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 1
    functionsReached:
    - SSL_CTX_set_options
    - SSL_CTX_set_max_early_data
    - SSL_CTX_set_tlsext_servername_callback
    - quic_tls_compat_init
    - ha_warning
    - SSL_CTX_set_max_proto_version
    - SSL_CTX_set_security_level
    - SSL_CTX_set_select_certificate_cb
    - SSL_CTX_set_mode
    - SSL_CTX_set_tlsext_servername_arg
    - TLS_server_method
    - SSL_CTX_set_client_hello_cb
    - SSL_CTX_new
    - proxy_type_str
    - SSL_CTX_set_early_data_enabled
    - SSL_CTX_set_min_proto_version
    linkageType: ''
    returnType: int
    signature: ssl_quic_initial_ctx(struct bind_conf *bind_conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/quic_ssl.c:500,1
    - Dst: ERR_peek_error_func
      Src: /src/haproxy/src/quic_ssl.c:505,1
    - Dst: ERR_get_error
      Src: /src/haproxy/src/quic_ssl.c:506,1
    - Dst: fprintf
      Src: /src/haproxy/src/quic_ssl.c:510,1
    - Dst: ERR_reason_error_string
      Src: /src/haproxy/src/quic_ssl.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 514
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 514
    functionName: qc_ssl_dump_errors
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - ERR_peek_error_func
    - ERR_get_error
    - ERR_reason_error_string
    - fprintf
    - unlikely
    linkageType: ''
    returnType: forceinline
    signature: qc_ssl_dump_errors(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ssl.c:536,1
    - Dst: SSL_provide_quic_data
      Src: /src/haproxy/src/quic_ssl.c:538,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:539,1
    - Dst: SSL_do_handshake
      Src: /src/haproxy/src/quic_ssl.c:546,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_ssl.c:547,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_ssl.c:550,1
    - Dst: qc_conn_finalize
      Src: /src/haproxy/src/quic_ssl.c:558,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:559,1
    - Dst: SSL_get_error
      Src: /src/haproxy/src/quic_ssl.c:564,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_ssl.c:566,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:571,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_ssl.c:572,1
    - Dst: qc_ssl_dump_errors
      Src: /src/haproxy/src/quic_ssl.c:573,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/quic_ssl.c:574,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:583,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_ssl.c:584,1
    - Dst: SSL_in_early_data
      Src: /src/haproxy/src/quic_ssl.c:604,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_ssl.c:605,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_ssl.c:611,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:615,1
    - Dst: quic_set_tls_alert
      Src: /src/haproxy/src/quic_ssl.c:616,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_ssl.c:622,1
    - Dst: quic_accept_push_qc
      Src: /src/haproxy/src/quic_ssl.c:627,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_ssl.c:634,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_ssl.c:637,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/quic_ssl.c:638,1
    - Dst: quic_tls_key_update
      Src: /src/haproxy/src/quic_ssl.c:645,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:646,1
    - Dst: SSL_process_quic_post_handshake
      Src: /src/haproxy/src/quic_ssl.c:650,1
    - Dst: SSL_get_error
      Src: /src/haproxy/src/quic_ssl.c:652,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_ssl.c:654,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:659,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_ssl.c:664,1
    - Dst: ncb_is_null
      Src: /src/haproxy/src/quic_ssl.c:673,1
    - Dst: ncb_advance
      Src: /src/haproxy/src/quic_ssl.c:675,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_ssl.c:681,1
    - Dst: ncb_advance
      Src: /src/haproxy/src/quic_ssl.c:683,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ssl.c:687,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 5
    argNames:
    - ncbuf
    - level
    - ctx
    - data
    - len
    argTypes:
    - struct ncbuf*
    - enum ssl_encryption_level_t
    - struct ssl_sock_ctx*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 689
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 689
    functionName: qc_ssl_provide_quic_data
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - ncb_is_null
    - SSL_do_handshake
    - quic_accept_push_qc
    - BUG_ON
    - TRACE_LEAVE
    - SSL_provide_quic_data
    - ncb_advance
    - HA_ATOMIC_DEC
    - quic_tls_key_update
    - SSL_process_quic_post_handshake
    - quic_set_tls_alert
    - qc_conn_finalize
    - SSL_get_error
    - tasklet_wakeup
    - SSL_in_early_data
    - TRACE_DEVEL
    - qc_ssl_dump_errors
    - TRACE_PROTO
    - TRACE_ERROR
    - TRACE_STATE
    - ERR_clear_error
    - qc_is_listener
    linkageType: ''
    returnType: int
    signature: "qc_ssl_provide_quic_data(struct ncbuf *ncbuf,\n                                    enum
      ssl_encryption_level_t level,\n                                    struct ssl_sock_ctx
      *ctx,\n                                    const unsigned char *data, size_t
      len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ssl.c:701,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/quic_ssl.c:702,1
    - Dst: ncb_is_null
      Src: /src/haproxy/src/quic_ssl.c:709,1
    - Dst: ncb_data
      Src: /src/haproxy/src/quic_ssl.c:713,1
    - Dst: qc_ssl_provide_quic_data
      Src: /src/haproxy/src/quic_ssl.c:716,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_ssl.c:721,1
    - Dst: ncb_is_null
      Src: /src/haproxy/src/quic_ssl.c:725,1
    - Dst: ncb_is_empty
      Src: /src/haproxy/src/quic_ssl.c:725,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_ssl.c:726,1
    - Dst: quic_free_ncbuf
      Src: /src/haproxy/src/quic_ssl.c:727,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ssl.c:733,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - qc
    - ctx
    argTypes:
    - struct quic_conn*
    - struct ssl_sock_ctx*
    constantsTouched: []
    func_position:
      end: 735
      start: 694
    functionDepth: 3
    functionLinenumber: 694
    functionLinenumberEnd: 735
    functionName: qc_ssl_provide_all_quic_data
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - ncb_is_empty
    - TRACE_LEAVE
    - qc_ssl_provide_quic_data
    - list_for_each_entry
    - TRACE_ENTER
    - ncb_is_null
    - ncb_data
    - TRACE_DEVEL
    - quic_free_ncbuf
    linkageType: ''
    returnType: int
    signature: qc_ssl_provide_all_quic_data(struct quic_conn *qc, struct ssl_sock_ctx
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ssl.c:749,1
    - Dst: SSL_new
      Src: /src/haproxy/src/quic_ssl.c:753,1
    - Dst: pool_gc
      Src: /src/haproxy/src/quic_ssl.c:758,1
    - Dst: SSL_set_ex_data
      Src: /src/haproxy/src/quic_ssl.c:762,1
    - Dst: SSL_set_quic_method
      Src: /src/haproxy/src/quic_ssl.c:763,1
    - Dst: SSL_free
      Src: /src/haproxy/src/quic_ssl.c:764,1
    - Dst: pool_gc
      Src: /src/haproxy/src/quic_ssl.c:769,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ssl.c:775,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - qc
    - ssl_ctx
    - ssl
    argTypes:
    - struct quic_conn*
    - SSL_CTX*
    - SSL**
    constantsTouched: []
    func_position:
      end: 777
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 777
    functionName: qc_ssl_sess_init
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - SSL_free
    - SSL_set_ex_data
    - SSL_new
    - pool_gc
    - SSL_set_quic_method
    linkageType: ''
    returnType: int
    signature: qc_ssl_sess_init(struct quic_conn *qc, SSL_CTX *ssl_ctx, SSL **ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_transport_params_init
      Src: /src/haproxy/src/quic_ssl.c:792,1
    - Dst: quic_transport_params_encode
      Src: /src/haproxy/src/quic_ssl.c:795,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:797,1
    - Dst: SSL_set_quic_early_data_context
      Src: /src/haproxy/src/quic_ssl.c:802,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:803,1
    - Dst: SSL_set_early_data_enabled
      Src: /src/haproxy/src/quic_ssl.c:807,1
    - Dst: SSL_set_quic_early_data_enabled
      Src: /src/haproxy/src/quic_ssl.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - qc
    - ssl
    argTypes:
    - struct quic_conn*
    - SSL*
    constantsTouched: []
    func_position:
      end: 813
      start: 784
    functionDepth: 4
    functionLinenumber: 784
    functionLinenumberEnd: 813
    functionName: qc_set_quic_early_data_enabled
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - quic_transport_params_encode
    - SSL_set_quic_early_data_context
    - SSL_set_early_data_enabled
    - SSL_set_quic_early_data_enabled
    - quic_transport_params_init
    - TRACE_ERROR
    linkageType: ''
    returnType: int
    signature: qc_set_quic_early_data_enabled(struct quic_conn *qc, SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ssl.c:828,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_ssl.c:830,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ssl.c:832,1
    - Dst: memset
      Src: /src/haproxy/src/quic_ssl.c:840,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_ssl.c:848,1
    - Dst: qc_ssl_sess_init
      Src: /src/haproxy/src/quic_ssl.c:849,1
    - Dst: qc_set_quic_early_data_enabled
      Src: /src/haproxy/src/quic_ssl.c:853,1
    - Dst: SSL_set_accept_state
      Src: /src/haproxy/src/quic_ssl.c:857,1
    - Dst: xprt_get
      Src: /src/haproxy/src/quic_ssl.c:860,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_ssl.c:866,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ssl.c:870,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_ssl.c:874,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 876
      start: 822
    functionDepth: 5
    functionLinenumber: 822
    functionLinenumberEnd: 876
    functionName: qc_alloc_ssl_sock_ctx
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - qc_ssl_sess_init
    - TRACE_LEAVE
    - TRACE_ENTER
    - _HA_ATOMIC_INC
    - qc_set_quic_early_data_enabled
    - pool_alloc
    - pool_free
    - TRACE_ERROR
    - memset
    - SSL_set_accept_state
    - qc_is_listener
    - xprt_get
    linkageType: ''
    returnType: int
    signature: qc_alloc_ssl_sock_ctx(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_new
      Src: /src/haproxy/src/quic_ssl.c:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 881
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 881
    functionName: __quic_conn_init
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - BIO_meth_new
    linkageType: ''
    returnType: void
    signature: __quic_conn_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_meth_free
      Src: /src/haproxy/src/quic_ssl.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 887
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 887
    functionName: __quic_conn_deinit
    functionSourceFile: /src/haproxy/src/quic_ssl.c
    functionUses: 0
    functionsReached:
    - BIO_meth_free
    linkageType: ''
    returnType: void
    signature: __quic_conn_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/protocol.c:44,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/protocol.c:45,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/protocol.c:47,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/protocol.c:50,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/protocol.c:51,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/protocol.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - proto
    argTypes:
    - struct protocol*
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: protocol_register
    functionSourceFile: /src/haproxy/src/protocol.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - LIST_INIT
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: protocol_register(struct protocol *proto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/protocol.c:65,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/protocol.c:66,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/protocol.c:67,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/protocol.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - proto
    argTypes:
    - struct protocol*
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: protocol_unregister
    functionSourceFile: /src/haproxy/src/protocol.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - LIST_DELETE
    - HA_SPIN_UNLOCK
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: protocol_unregister(struct protocol *proto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/protocol.c:76,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/protocol.c:77,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/protocol.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - flag
    argTypes:
    - uint
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: protocol_clrf_all
    functionSourceFile: /src/haproxy/src/protocol.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - HA_SPIN_UNLOCK
    - list_for_each_entry
    linkageType: ''
    returnType: void
    signature: protocol_clrf_all(uint flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/protocol.c:87,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/protocol.c:88,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/protocol.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - flag
    argTypes:
    - uint
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: protocol_setf_all
    functionSourceFile: /src/haproxy/src/protocol.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - HA_SPIN_UNLOCK
    - list_for_each_entry
    linkageType: ''
    returnType: void
    signature: protocol_setf_all(uint flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/protocol.c:105,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/protocol.c:109,1
    - Dst: _sock_supports_reuseport
      Src: /src/haproxy/src/protocol.c:113,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/protocol.c:115,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/protocol.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - proto
    - flag
    argTypes:
    - struct protocol*
    - uint
    constantsTouched: []
    func_position:
      end: 121
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 121
    functionName: protocol_supports_flag
    functionSourceFile: /src/haproxy/src/protocol.c
    functionUses: 1
    functionsReached:
    - _HA_ATOMIC_LOAD
    - _HA_ATOMIC_AND
    - _sock_supports_reuseport
    - _HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: protocol_supports_flag(struct protocol *proto, uint flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: protocol_may_bind_quic
    functionSourceFile: /src/haproxy/src/protocol.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: protocol_may_bind_quic(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/protocol.c:148,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/protocol.c:149,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/protocol.c:150,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/protocol.c:151,1
    - Dst: protocol_may_bind_quic
      Src: /src/haproxy/src/protocol.c:154,1
    - Dst: struct protocol*::fam::bind
      Src: /src/haproxy/src/protocol.c:158,1
    - Dst: ha_alert
      Src: /src/haproxy/src/protocol.c:166,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/protocol.c:168,1
    - Dst: ha_warning
      Src: /src/haproxy/src/protocol.c:170,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/protocol.c:172,1
    - Dst: ha_free
      Src: /src/haproxy/src/protocol.c:175,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/protocol.c:184,1
    - Dst: struct protocol*::listen
      Src: /src/haproxy/src/protocol.c:185,1
    - Dst: ha_alert
      Src: /src/haproxy/src/protocol.c:192,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/protocol.c:194,1
    - Dst: ha_warning
      Src: /src/haproxy/src/protocol.c:196,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/protocol.c:198,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/protocol.c:206,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 208
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 208
    functionName: protocol_bind_all
    functionSourceFile: /src/haproxy/src/protocol.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - struct protocol*::fam::bind
    - ha_free
    - list_for_each_entry
    - ha_warning
    - struct protocol*::listen
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - LIST_ELEM
    - proxy_type_str
    - BUG_ON
    - protocol_may_bind_quic
    linkageType: ''
    returnType: int
    signature: protocol_bind_all(int verbose)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/protocol.c:222,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/protocol.c:223,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/protocol.c:224,1
    - Dst: unbind_listener
      Src: /src/haproxy/src/protocol.c:225,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/protocol.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 229
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 229
    functionName: protocol_unbind_all
    functionSourceFile: /src/haproxy/src/protocol.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - HA_SPIN_UNLOCK
    - list_for_each_entry
    - unbind_listener
    linkageType: ''
    returnType: int
    signature: protocol_unbind_all(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/protocol.c:240,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/protocol.c:241,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/protocol.c:242,1
    - Dst: stop_listener
      Src: /src/haproxy/src/protocol.c:243,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/protocol.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 246
    functionName: protocol_stop_now
    functionSourceFile: /src/haproxy/src/protocol.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_safe
    - list_for_each_entry
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - stop_listener
    linkageType: ''
    returnType: void
    signature: protocol_stop_now(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/protocol.c:260,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/protocol.c:261,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/protocol.c:262,1
    - Dst: suspend_listener
      Src: /src/haproxy/src/protocol.c:263,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/protocol.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 268
    functionName: protocol_pause_all
    functionSourceFile: /src/haproxy/src/protocol.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - suspend_listener
    - HA_SPIN_UNLOCK
    - list_for_each_entry
    linkageType: ''
    returnType: int
    signature: protocol_pause_all(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/protocol.c:282,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/protocol.c:283,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/protocol.c:284,1
    - Dst: resume_listener
      Src: /src/haproxy/src/protocol.c:285,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/protocol.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 290
    functionName: protocol_resume_all
    functionSourceFile: /src/haproxy/src/protocol.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - HA_SPIN_UNLOCK
    - resume_listener
    - list_for_each_entry
    linkageType: ''
    returnType: int
    signature: protocol_resume_all(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/protocol.c:301,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/protocol.c:302,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/protocol.c:303,1
    - Dst: enable_listener
      Src: /src/haproxy/src/protocol.c:304,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/protocol.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 308
    functionName: protocol_enable_all
    functionSourceFile: /src/haproxy/src/protocol.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - enable_listener
    - HA_SPIN_UNLOCK
    - list_for_each_entry
    linkageType: ''
    returnType: int
    signature: protocol_enable_all(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - mask
    argTypes:
    - unsigned char
    - unsigned int
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: is_delimiter
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: is_delimiter(unsigned char c, unsigned int mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - d1
    - d2
    - d3
    - d4
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: make_4delim
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: make_4delim(unsigned char d1, unsigned char d2, unsigned char d3, unsigned
      char d4)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - text
    - pattern
    - mflags
    - err
    argTypes:
    - char*
    - struct pattern*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: pat_parse_nothing
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: pat_parse_nothing(const char *text, struct pattern *pattern, int mflags,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/pattern.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - text
    - pattern
    - mflags
    - err
    argTypes:
    - char*
    - struct pattern*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: pat_parse_str
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: pat_parse_str(const char *text, struct pattern *pattern, int mflags,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/pattern.c:212,1
    - Dst: parse_binary
      Src: /src/haproxy/src/pattern.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - text
    - pattern
    - mflags
    - err
    argTypes:
    - char*
    - struct pattern*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: pat_parse_bin
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - parse_binary
    linkageType: ''
    returnType: int
    signature: pat_parse_bin(const char *text, struct pattern *pattern, int mflags,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - text
    - pattern
    - mflags
    - err
    argTypes:
    - char*
    - struct pattern*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: pat_parse_reg
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: pat_parse_reg(const char *text, struct pattern *pattern, int mflags,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strl2llrc
      Src: /src/haproxy/src/pattern.c:256,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:257,1
    - Dst: strl2llrc
      Src: /src/haproxy/src/pattern.c:268,1
    - Dst: strlen
      Src: /src/haproxy/src/pattern.c:268,1
    - Dst: strl2llrc
      Src: /src/haproxy/src/pattern.c:278,1
    - Dst: strl2llrc
      Src: /src/haproxy/src/pattern.c:287,1
    - Dst: strl2llrc
      Src: /src/haproxy/src/pattern.c:290,1
    - Dst: strlen
      Src: /src/haproxy/src/pattern.c:290,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:301,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 4
    argNames:
    - text
    - pattern
    - mflags
    - err
    argTypes:
    - char*
    - struct pattern*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 303
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 303
    functionName: pat_parse_int
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strl2llrc
    - strlen
    linkageType: ''
    returnType: int
    signature: pat_parse_int(const char *text, struct pattern *pattern, int mflags,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strl2llrc_dotted
      Src: /src/haproxy/src/pattern.c:337,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:338,1
    - Dst: strl2llrc_dotted
      Src: /src/haproxy/src/pattern.c:349,1
    - Dst: strlen
      Src: /src/haproxy/src/pattern.c:349,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:350,1
    - Dst: strlen
      Src: /src/haproxy/src/pattern.c:359,1
    - Dst: strl2llrc_dotted
      Src: /src/haproxy/src/pattern.c:360,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:361,1
    - Dst: strl2llrc_dotted
      Src: /src/haproxy/src/pattern.c:370,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:371,1
    - Dst: strl2llrc_dotted
      Src: /src/haproxy/src/pattern.c:374,1
    - Dst: strlen
      Src: /src/haproxy/src/pattern.c:374,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:375,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:379,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 4
    argNames:
    - text
    - pattern
    - mflags
    - err
    argTypes:
    - char*
    - struct pattern*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 385
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 385
    functionName: pat_parse_dotted_ver
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strlen
    - strl2llrc_dotted
    linkageType: ''
    returnType: int
    signature: pat_parse_dotted_ver(const char *text, struct pattern *pattern, int
      mflags, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str2net
      Src: /src/haproxy/src/pattern.c:394,1
    - Dst: str62net
      Src: /src/haproxy/src/pattern.c:399,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - text
    - pattern
    - mflags
    - err
    argTypes:
    - char*
    - struct pattern*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 407
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 407
    functionName: pat_parse_ip
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - memprintf
    - str62net
    - str2net
    linkageType: ''
    returnType: int
    signature: pat_parse_ip(const char *text, struct pattern *pattern, int mflags,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 433
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 433
    functionName: pat_match_nothing
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct pattern
    signature: '*pat_match_nothing(struct sample *smp, struct pattern_expr *expr,
      int fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_dup
      Src: /src/haproxy/src/pattern.c:448,1
    - Dst: smp_dup
      Src: /src/haproxy/src/pattern.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 461
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 461
    functionName: pat_match_ensure_str
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - smp_dup
    linkageType: ''
    returnType: int
    signature: pat_match_ensure_str(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/src/pattern.c:475,1
    - Dst: pat_match_ensure_str
      Src: /src/haproxy/src/pattern.c:476,1
    - Dst: ebst_lookup
      Src: /src/haproxy/src/pattern.c:479,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/pattern.c:482,1
    - Dst: ebmb_next_dup
      Src: /src/haproxy/src/pattern.c:484,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/pattern.c:499,1
    - Dst: lru64_get
      Src: /src/haproxy/src/pattern.c:502,1
    - Dst: XXH3
      Src: /src/haproxy/src/pattern.c:502,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:511,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/pattern.c:521,1
    - Dst: strncmp
      Src: /src/haproxy/src/pattern.c:522,1
    - Dst: lru64_commit
      Src: /src/haproxy/src/pattern.c:529,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 532
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 532
    functionName: pat_match_str
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - strncmp
    - pat_match_ensure_str
    - LIST_ISEMPTY
    - list_for_each_entry
    - eb_is_empty
    - ebmb_entry
    - strncasecmp
    - lru64_get
    - lru64_commit
    - ebst_lookup
    - XXH3
    - ebmb_next_dup
    linkageType: ''
    returnType: struct pattern
    signature: '*pat_match_str(struct sample *smp, struct pattern_expr *expr, int
      fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/pattern.c:542,1
    - Dst: lru64_get
      Src: /src/haproxy/src/pattern.c:545,1
    - Dst: XXH3
      Src: /src/haproxy/src/pattern.c:545,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:553,1
    - Dst: memcmp
      Src: /src/haproxy/src/pattern.c:562,1
    - Dst: lru64_commit
      Src: /src/haproxy/src/pattern.c:569,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 572
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 572
    functionName: pat_match_bin
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - LIST_ISEMPTY
    - list_for_each_entry
    - lru64_get
    - XXH3
    - memcmp
    - lru64_commit
    linkageType: ''
    returnType: struct pattern
    signature: '*pat_match_bin(struct sample *smp, struct pattern_expr *expr, int
      fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:584,1
    - Dst: regex_exec_match2
      Src: /src/haproxy/src/pattern.c:590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 599
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 599
    functionName: pat_match_regm
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - regex_exec_match2
    linkageType: ''
    returnType: struct pattern
    signature: '*pat_match_regm(struct sample *smp, struct pattern_expr *expr, int
      fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/pattern.c:611,1
    - Dst: lru64_get
      Src: /src/haproxy/src/pattern.c:614,1
    - Dst: XXH3
      Src: /src/haproxy/src/pattern.c:614,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:622,1
    - Dst: regex_exec2
      Src: /src/haproxy/src/pattern.c:628,1
    - Dst: lru64_commit
      Src: /src/haproxy/src/pattern.c:635,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 638
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 638
    functionName: pat_match_reg
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - regex_exec2
    - LIST_ISEMPTY
    - list_for_each_entry
    - lru64_get
    - XXH3
    - lru64_commit
    linkageType: ''
    returnType: struct pattern
    signature: '*pat_match_reg(struct sample *smp, struct pattern_expr *expr, int
      fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/src/pattern.c:652,1
    - Dst: pat_match_ensure_str
      Src: /src/haproxy/src/pattern.c:653,1
    - Dst: ebmb_lookup_longest
      Src: /src/haproxy/src/pattern.c:656,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/pattern.c:660,1
    - Dst: ebmb_lookup_shorter
      Src: /src/haproxy/src/pattern.c:662,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/pattern.c:677,1
    - Dst: lru64_get
      Src: /src/haproxy/src/pattern.c:680,1
    - Dst: XXH3
      Src: /src/haproxy/src/pattern.c:680,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:688,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/pattern.c:698,1
    - Dst: strncmp
      Src: /src/haproxy/src/pattern.c:699,1
    - Dst: lru64_commit
      Src: /src/haproxy/src/pattern.c:707,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 710
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 710
    functionName: pat_match_beg
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - ebmb_lookup_shorter
    - strncmp
    - pat_match_ensure_str
    - LIST_ISEMPTY
    - list_for_each_entry
    - eb_is_empty
    - ebmb_entry
    - strncasecmp
    - lru64_get
    - XXH3
    - ebmb_lookup_longest
    - lru64_commit
    linkageType: ''
    returnType: struct pattern
    signature: '*pat_match_beg(struct sample *smp, struct pattern_expr *expr, int
      fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/pattern.c:721,1
    - Dst: lru64_get
      Src: /src/haproxy/src/pattern.c:724,1
    - Dst: XXH3
      Src: /src/haproxy/src/pattern.c:724,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:732,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/pattern.c:742,1
    - Dst: strncmp
      Src: /src/haproxy/src/pattern.c:743,1
    - Dst: lru64_commit
      Src: /src/haproxy/src/pattern.c:751,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 754
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 754
    functionName: pat_match_end
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - strncmp
    - LIST_ISEMPTY
    - list_for_each_entry
    - strncasecmp
    - lru64_get
    - XXH3
    - lru64_commit
    linkageType: ''
    returnType: struct pattern
    signature: '*pat_match_end(struct sample *smp, struct pattern_expr *expr, int
      fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/pattern.c:769,1
    - Dst: lru64_get
      Src: /src/haproxy/src/pattern.c:772,1
    - Dst: XXH3
      Src: /src/haproxy/src/pattern.c:772,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:780,1
    - Dst: tolower
      Src: /src/haproxy/src/pattern.c:793,1
    - Dst: tolower
      Src: /src/haproxy/src/pattern.c:793,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/pattern.c:795,1
    - Dst: strncmp
      Src: /src/haproxy/src/pattern.c:804,1
    - Dst: lru64_commit
      Src: /src/haproxy/src/pattern.c:813,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 816
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 816
    functionName: pat_match_sub
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - strncmp
    - tolower
    - LIST_ISEMPTY
    - list_for_each_entry
    - strncasecmp
    - lru64_get
    - XXH3
    - lru64_commit
    linkageType: ''
    returnType: struct pattern
    signature: '*pat_match_sub(struct sample *smp, struct pattern_expr *expr, int
      fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_delimiter
      Src: /src/haproxy/src/pattern.c:834,1
    - Dst: is_delimiter
      Src: /src/haproxy/src/pattern.c:839,1
    - Dst: is_delimiter
      Src: /src/haproxy/src/pattern.c:849,1
    - Dst: tolower
      Src: /src/haproxy/src/pattern.c:858,1
    - Dst: tolower
      Src: /src/haproxy/src/pattern.c:858,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/pattern.c:859,1
    - Dst: is_delimiter
      Src: /src/haproxy/src/pattern.c:860,1
    - Dst: strncmp
      Src: /src/haproxy/src/pattern.c:864,1
    - Dst: is_delimiter
      Src: /src/haproxy/src/pattern.c:865,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 4
    argNames:
    - smp
    - pattern
    - mflags
    - delimiters
    argTypes:
    - struct sample*
    - struct pattern*
    - int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 871
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 871
    functionName: match_word
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - is_delimiter
    - strncasecmp
    - strncmp
    - tolower
    linkageType: ''
    returnType: int
    signature: match_word(struct sample *smp, struct pattern *pattern, int mflags,
      unsigned int delimiters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:882,1
    - Dst: match_word
      Src: /src/haproxy/src/pattern.c:888,1
    - Dst: make_4delim
      Src: /src/haproxy/src/pattern.c:888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 892
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 892
    functionName: pat_match_dir
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - make_4delim
    - match_word
    linkageType: ''
    returnType: struct pattern
    signature: '*pat_match_dir(struct sample *smp, struct pattern_expr *expr, int
      fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:903,1
    - Dst: match_word
      Src: /src/haproxy/src/pattern.c:909,1
    - Dst: make_4delim
      Src: /src/haproxy/src/pattern.c:909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 913
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 913
    functionName: pat_match_dom
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - make_4delim
    - match_word
    linkageType: ''
    returnType: struct pattern
    signature: '*pat_match_dom(struct sample *smp, struct pattern_expr *expr, int
      fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:921,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 932
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 932
    functionName: pat_match_int
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: struct pattern
    signature: '*pat_match_int(struct sample *smp, struct pattern_expr *expr, int
      fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:940,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 951
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 951
    functionName: pat_match_len
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: struct pattern
    signature: '*pat_match_len(struct sample *smp, struct pattern_expr *expr, int
      fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_lookup_longest
      Src: /src/haproxy/src/pattern.c:964,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/pattern.c:966,1
    - Dst: ebmb_lookup_shorter
      Src: /src/haproxy/src/pattern.c:968,1
    - Dst: read_u32
      Src: /src/haproxy/src/pattern.c:976,1
    - Dst: cidr2dotted
      Src: /src/haproxy/src/pattern.c:977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - key
    - expr
    - fill
    argTypes:
    - struct in_addr*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 983
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 983
    functionName: _pat_match_tree_ipv4
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - ebmb_lookup_shorter
    - read_u32
    - cidr2dotted
    - ebmb_entry
    - ebmb_lookup_longest
    linkageType: ''
    returnType: struct pattern
    signature: '*_pat_match_tree_ipv4(struct in_addr *key, struct pattern_expr *expr,
      int fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_lookup_longest
      Src: /src/haproxy/src/pattern.c:996,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/pattern.c:998,1
    - Dst: ebmb_lookup_shorter
      Src: /src/haproxy/src/pattern.c:1000,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:1008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - key
    - expr
    - fill
    argTypes:
    - struct in6_addr*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 1014
      start: 988
    functionDepth: 2
    functionLinenumber: 988
    functionLinenumberEnd: 1014
    functionName: _pat_match_tree_ipv6
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - ebmb_entry
    - ebmb_lookup_shorter
    - ebmb_lookup_longest
    - memcpy
    linkageType: ''
    returnType: struct pattern
    signature: '*_pat_match_tree_ipv6(struct in6_addr *key, struct pattern_expr *expr,
      int fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _pat_match_tree_ipv4
      Src: /src/haproxy/src/pattern.c:1025,1
    - Dst: v4tov6
      Src: /src/haproxy/src/pattern.c:1031,1
    - Dst: _pat_match_tree_ipv6
      Src: /src/haproxy/src/pattern.c:1032,1
    - Dst: _pat_match_tree_ipv6
      Src: /src/haproxy/src/pattern.c:1042,1
    - Dst: v6tov4
      Src: /src/haproxy/src/pattern.c:1048,1
    - Dst: _pat_match_tree_ipv4
      Src: /src/haproxy/src/pattern.c:1049,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:1064,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 1075
      start: 1016
    functionDepth: 3
    functionLinenumber: 1016
    functionLinenumberEnd: 1075
    functionName: pat_match_ip
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - _pat_match_tree_ipv4
    - _pat_match_tree_ipv6
    - v4tov6
    - list_for_each_entry
    - v6tov4
    linkageType: ''
    returnType: struct pattern
    signature: '*pat_match_ip(struct sample *smp, struct pattern_expr *expr, int fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - head
    - list
    argTypes:
    - void**
    - void**
    constantsTouched: []
    func_position:
      end: 1089
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1089
    functionName: pat_unlink_from_head
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pat_unlink_from_head(void **head, void **list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_first
      Src: /src/haproxy/src/pattern.c:1096,1
    - Dst: eb_next
      Src: /src/haproxy/src/pattern.c:1098,1
    - Dst: eb_delete
      Src: /src/haproxy/src/pattern.c:1099,1
    - Dst: container_of
      Src: /src/haproxy/src/pattern.c:1100,1
    - Dst: pat_unlink_from_head
      Src: /src/haproxy/src/pattern.c:1101,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1102,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 1106
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1106
    functionName: free_pattern_tree
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - container_of
    - pat_unlink_from_head
    - eb_next
    - eb_delete
    - free
    - eb_first
    linkageType: ''
    returnType: void
    signature: free_pattern_tree(struct eb_root *root)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/pattern.c:1112,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/pattern.c:1113,1
    - Dst: pat_unlink_from_head
      Src: /src/haproxy/src/pattern.c:1114,1
    - Dst: regex_free
      Src: /src/haproxy/src/pattern.c:1116,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1118,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1119,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1120,1
    - Dst: free_pattern_tree
      Src: /src/haproxy/src/pattern.c:1123,1
    - Dst: free_pattern_tree
      Src: /src/haproxy/src/pattern.c:1124,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/pattern.c:1125,1
    - Dst: rdtsc
      Src: /src/haproxy/src/pattern.c:1126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - expr
    argTypes:
    - struct pattern_expr*
    constantsTouched: []
    func_position:
      end: 1128
      start: 1108
    functionDepth: 2
    functionLinenumber: 1108
    functionLinenumberEnd: 1128
    functionName: pat_prune_gen
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - pat_unlink_from_head
    - list_for_each_entry_safe
    - rdtsc
    - LIST_DELETE
    - free_pattern_tree
    - free
    - LIST_INIT
    - regex_free
    linkageType: ''
    returnType: void
    signature: pat_prune_gen(struct pattern_expr *expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/pattern.c:1141,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1143,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:1148,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/pattern.c:1151,1
    - Dst: rdtsc
      Src: /src/haproxy/src/pattern.c:1156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - expr
    - pat
    - err
    argTypes:
    - struct pattern_expr*
    - struct pattern*
    - char**
    constantsTouched: []
    func_position:
      end: 1161
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1161
    functionName: pat_idx_list_val
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - memprintf
    - rdtsc
    - calloc
    - LIST_APPEND
    - memcpy
    linkageType: ''
    returnType: int
    signature: pat_idx_list_val(struct pattern_expr *expr, struct pattern *pat, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/pattern.c:1168,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1170,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:1175,1
    - Dst: malloc
      Src: /src/haproxy/src/pattern.c:1176,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1178,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1179,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:1182,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/pattern.c:1185,1
    - Dst: rdtsc
      Src: /src/haproxy/src/pattern.c:1190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - expr
    - pat
    - err
    argTypes:
    - struct pattern_expr*
    - struct pattern*
    - char**
    constantsTouched: []
    func_position:
      end: 1195
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1195
    functionName: pat_idx_list_ptr
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - memprintf
    - malloc
    - rdtsc
    - calloc
    - LIST_APPEND
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: pat_idx_list_ptr(struct pattern_expr *expr, struct pattern *pat, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/pattern.c:1202,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1204,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:1209,1
    - Dst: malloc
      Src: /src/haproxy/src/pattern.c:1210,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1212,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1213,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:1216,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/pattern.c:1220,1
    - Dst: rdtsc
      Src: /src/haproxy/src/pattern.c:1225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - expr
    - pat
    - err
    argTypes:
    - struct pattern_expr*
    - struct pattern*
    - char**
    constantsTouched: []
    func_position:
      end: 1230
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1230
    functionName: pat_idx_list_str
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - memprintf
    - malloc
    - rdtsc
    - calloc
    - LIST_APPEND
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: pat_idx_list_str(struct pattern_expr *expr, struct pattern *pat, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/pattern.c:1237,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1239,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:1244,1
    - Dst: regex_comp
      Src: /src/haproxy/src/pattern.c:1248,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1250,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/pattern.c:1255,1
    - Dst: rdtsc
      Src: /src/haproxy/src/pattern.c:1260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - expr
    - pat
    - cap
    - err
    argTypes:
    - struct pattern_expr*
    - struct pattern*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1265
      start: 1232
    functionDepth: 2
    functionLinenumber: 1232
    functionLinenumberEnd: 1265
    functionName: pat_idx_list_reg_cap
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - memprintf
    - rdtsc
    - calloc
    - LIST_APPEND
    - free
    - regex_comp
    - memcpy
    linkageType: ''
    returnType: int
    signature: pat_idx_list_reg_cap(struct pattern_expr *expr, struct pattern *pat,
      int cap, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pat_idx_list_reg_cap
      Src: /src/haproxy/src/pattern.c:1269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - expr
    - pat
    - err
    argTypes:
    - struct pattern_expr*
    - struct pattern*
    - char**
    constantsTouched: []
    func_position:
      end: 1270
      start: 1267
    functionDepth: 3
    functionLinenumber: 1267
    functionLinenumberEnd: 1270
    functionName: pat_idx_list_reg
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - pat_idx_list_reg_cap
    linkageType: ''
    returnType: int
    signature: pat_idx_list_reg(struct pattern_expr *expr, struct pattern *pat, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pat_idx_list_reg_cap
      Src: /src/haproxy/src/pattern.c:1274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - expr
    - pat
    - err
    argTypes:
    - struct pattern_expr*
    - struct pattern*
    - char**
    constantsTouched: []
    func_position:
      end: 1275
      start: 1272
    functionDepth: 3
    functionLinenumber: 1272
    functionLinenumberEnd: 1275
    functionName: pat_idx_list_regm
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - pat_idx_list_reg_cap
    linkageType: ''
    returnType: int
    signature: pat_idx_list_regm(struct pattern_expr *expr, struct pattern *pat, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/haproxy/src/pattern.c:1289,1
    - Dst: flsnz
      Src: /src/haproxy/src/pattern.c:1291,1
    - Dst: calloc
      Src: /src/haproxy/src/pattern.c:1294,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1296,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:1305,1
    - Dst: ebmb_insert_prefix
      Src: /src/haproxy/src/pattern.c:1309,1
    - Dst: rdtsc
      Src: /src/haproxy/src/pattern.c:1314,1
    - Dst: pat_idx_list_val
      Src: /src/haproxy/src/pattern.c:1322,1
    - Dst: calloc
      Src: /src/haproxy/src/pattern.c:1327,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1329,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:1338,1
    - Dst: ebmb_insert_prefix
      Src: /src/haproxy/src/pattern.c:1342,1
    - Dst: rdtsc
      Src: /src/haproxy/src/pattern.c:1347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 3
    argNames:
    - expr
    - pat
    - err
    argTypes:
    - struct pattern_expr*
    - struct pattern*
    - char**
    constantsTouched: []
    func_position:
      end: 1355
      start: 1277
    functionDepth: 2
    functionLinenumber: 1277
    functionLinenumberEnd: 1355
    functionName: pat_idx_tree_ip
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - memprintf
    - rdtsc
    - calloc
    - ebmb_insert_prefix
    - ntohl
    - pat_idx_list_val
    - flsnz
    - memcpy
    linkageType: ''
    returnType: int
    signature: pat_idx_tree_ip(struct pattern_expr *expr, struct pattern *pat, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1364,1
    - Dst: pat_idx_list_str
      Src: /src/haproxy/src/pattern.c:1371,1
    - Dst: strlen
      Src: /src/haproxy/src/pattern.c:1374,1
    - Dst: calloc
      Src: /src/haproxy/src/pattern.c:1377,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1379,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:1388,1
    - Dst: ebst_insert
      Src: /src/haproxy/src/pattern.c:1391,1
    - Dst: rdtsc
      Src: /src/haproxy/src/pattern.c:1396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - expr
    - pat
    - err
    argTypes:
    - struct pattern_expr*
    - struct pattern*
    - char**
    constantsTouched: []
    func_position:
      end: 1401
      start: 1357
    functionDepth: 2
    functionLinenumber: 1357
    functionLinenumberEnd: 1401
    functionName: pat_idx_tree_str
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - memprintf
    - rdtsc
    - pat_idx_list_str
    - calloc
    - strlen
    - ebst_insert
    - memcpy
    linkageType: ''
    returnType: int
    signature: pat_idx_tree_str(struct pattern_expr *expr, struct pattern *pat, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1410,1
    - Dst: pat_idx_list_str
      Src: /src/haproxy/src/pattern.c:1417,1
    - Dst: strlen
      Src: /src/haproxy/src/pattern.c:1420,1
    - Dst: calloc
      Src: /src/haproxy/src/pattern.c:1423,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1425,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:1434,1
    - Dst: ebmb_insert_prefix
      Src: /src/haproxy/src/pattern.c:1438,1
    - Dst: rdtsc
      Src: /src/haproxy/src/pattern.c:1443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - expr
    - pat
    - err
    argTypes:
    - struct pattern_expr*
    - struct pattern*
    - char**
    constantsTouched: []
    func_position:
      end: 1448
      start: 1403
    functionDepth: 2
    functionLinenumber: 1403
    functionLinenumberEnd: 1448
    functionName: pat_idx_tree_pfx
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - memprintf
    - rdtsc
    - pat_idx_list_str
    - calloc
    - strlen
    - ebmb_insert_prefix
    - memcpy
    linkageType: ''
    returnType: int
    signature: pat_idx_tree_pfx(struct pattern_expr *expr, struct pattern *pat, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/pattern.c:1461,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/pattern.c:1463,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/pattern.c:1465,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1466,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1467,1
    - Dst: container_of
      Src: /src/haproxy/src/pattern.c:1472,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/pattern.c:1474,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/pattern.c:1477,1
    - Dst: regex_free
      Src: /src/haproxy/src/pattern.c:1479,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1481,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1482,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1483,1
    - Dst: rdtsc
      Src: /src/haproxy/src/pattern.c:1487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - ref
    - elt
    argTypes:
    - struct pat_ref*
    - struct pat_ref_elt*
    constantsTouched: []
    func_position:
      end: 1491
      start: 1453
    functionDepth: 1
    functionLinenumber: 1453
    functionLinenumberEnd: 1491
    functionName: pat_delete_gen
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - container_of
    - rdtsc
    - LIST_DELETE
    - free
    - regex_free
    - BUG_ON
    - ebmb_delete
    linkageType: ''
    returnType: void
    signature: pat_delete_gen(struct pat_ref *ref, struct pat_ref_elt *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/pattern.c:1495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - expr
    argTypes:
    - struct pattern_expr*
    constantsTouched: []
    func_position:
      end: 1498
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1498
    functionName: pattern_init_expr
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: pattern_init_expr(struct pattern_expr *expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/pattern.c:1502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct pattern_head*
    constantsTouched: []
    func_position:
      end: 1503
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1503
    functionName: pattern_init_head
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 1
    functionsReached:
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: pattern_init_head(struct pattern_head *head)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/pattern.c:1537,1
    - Dst: strncmp
      Src: /src/haproxy/src/pattern.c:1537,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:1540,1
    - Dst: strcmp
      Src: /src/haproxy/src/pattern.c:1541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - reference
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1544
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1544
    functionName: pat_ref_lookup
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 5
    functionsReached:
    - list_for_each_entry
    - strlen
    - strncmp
    - strcmp
    linkageType: ''
    returnType: struct pat_ref
    signature: '*pat_ref_lookup(const char *reference)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:1553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - unique_id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1557
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1557
    functionName: pat_ref_lookupid
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: struct pat_ref
    signature: '*pat_ref_lookupid(int unique_id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/pattern.c:1572,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/pattern.c:1573,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/pattern.c:1574,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/pattern.c:1576,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/pattern.c:1576,1
    - Dst: typeof
      Src: /src/haproxy/src/pattern.c:1576,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:1581,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/pattern.c:1582,1
    - Dst: pat_delete_gen
      Src: /src/haproxy/src/pattern.c:1584,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:1586,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/pattern.c:1587,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/pattern.c:1589,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/pattern.c:1590,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1591,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - ref
    - elt
    argTypes:
    - struct pat_ref*
    - struct pat_ref_elt*
    constantsTouched: []
    func_position:
      end: 1593
      start: 1563
    functionDepth: 2
    functionLinenumber: 1563
    functionLinenumberEnd: 1593
    functionName: pat_ref_delete_by_ptr
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_safe
    - list_for_each_entry
    - LIST_APPEND
    - LIST_DELETE
    - pat_delete_gen
    - free
    - typeof
    - HA_RWLOCK_WRUNLOCK
    - LIST_INIT
    - HA_RWLOCK_WRLOCK
    - ebmb_delete
    - LIST_ELEM
    linkageType: ''
    returnType: void
    signature: pat_ref_delete_by_ptr(struct pat_ref *ref, struct pat_ref_elt *elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/pattern.c:1607,1
    - Dst: event_hdl_publish
      Src: /src/haproxy/src/pattern.c:1609,1
    - Dst: pat_ref_delete_by_ptr
      Src: /src/haproxy/src/pattern.c:1610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ref
    - refelt
    argTypes:
    - struct pat_ref*
    - struct pat_ref_elt*
    constantsTouched: []
    func_position:
      end: 1615
      start: 1602
    functionDepth: 3
    functionLinenumber: 1602
    functionLinenumberEnd: 1615
    functionName: pat_ref_delete_by_id
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - event_hdl_publish
    - pat_ref_delete_by_ptr
    - list_for_each_entry_safe
    linkageType: ''
    returnType: int
    signature: pat_ref_delete_by_id(struct pat_ref *ref, struct pat_ref_elt *refelt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebst_lookup
      Src: /src/haproxy/src/pattern.c:1628,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/pattern.c:1632,1
    - Dst: ebmb_next_dup
      Src: /src/haproxy/src/pattern.c:1633,1
    - Dst: pat_ref_delete_by_ptr
      Src: /src/haproxy/src/pattern.c:1636,1
    - Dst: event_hdl_publish
      Src: /src/haproxy/src/pattern.c:1641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ref
    - gen_id
    - key
    argTypes:
    - struct pat_ref*
    - unsigned int
    - char*
    constantsTouched: []
    func_position:
      end: 1644
      start: 1622
    functionDepth: 3
    functionLinenumber: 1622
    functionLinenumberEnd: 1644
    functionName: pat_ref_gen_delete
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 1
    functionsReached:
    - ebmb_entry
    - event_hdl_publish
    - pat_ref_delete_by_ptr
    - ebst_lookup
    - ebmb_next_dup
    linkageType: ''
    returnType: int
    signature: pat_ref_gen_delete(struct pat_ref *ref, unsigned int gen_id, const
      char *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pat_ref_gen_delete
      Src: /src/haproxy/src/pattern.c:1652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ref
    - key
    argTypes:
    - struct pat_ref*
    - char*
    constantsTouched: []
    func_position:
      end: 1653
      start: 1650
    functionDepth: 4
    functionLinenumber: 1650
    functionLinenumberEnd: 1653
    functionName: pat_ref_delete
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 3
    functionsReached:
    - pat_ref_gen_delete
    linkageType: ''
    returnType: int
    signature: pat_ref_delete(struct pat_ref *ref, const char *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebst_lookup
      Src: /src/haproxy/src/pattern.c:1664,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/pattern.c:1666,1
    - Dst: ebmb_next_dup
      Src: /src/haproxy/src/pattern.c:1669,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/pattern.c:1672,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ref
    - gen_id
    - key
    argTypes:
    - struct pat_ref*
    - unsigned int
    - char*
    constantsTouched: []
    func_position:
      end: 1675
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1675
    functionName: pat_ref_gen_find_elt
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 2
    functionsReached:
    - ebmb_entry
    - ebmb_next_dup
    - ebst_lookup
    linkageType: ''
    returnType: struct pat_ref_elt
    signature: '*pat_ref_gen_find_elt(struct pat_ref *ref, unsigned int gen_id, const
      char *key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pat_ref_gen_find_elt
      Src: /src/haproxy/src/pattern.c:1683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ref
    - key
    argTypes:
    - struct pat_ref*
    - char*
    constantsTouched: []
    func_position:
      end: 1684
      start: 1681
    functionDepth: 2
    functionLinenumber: 1681
    functionLinenumberEnd: 1684
    functionName: pat_ref_find_elt
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 3
    functionsReached:
    - pat_ref_gen_find_elt
    linkageType: ''
    returnType: struct pat_ref_elt
    signature: '*pat_ref_find_elt(struct pat_ref *ref, const char *key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:1704,1
    - Dst: struct pattern_expr*::pat_head::parse_smp
      Src: /src/haproxy/src/pattern.c:1708,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1709,1
    - Dst: strdup
      Src: /src/haproxy/src/pattern.c:1715,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1717,1
    - Dst: container_of
      Src: /src/haproxy/src/pattern.c:1724,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/pattern.c:1726,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/pattern.c:1733,1
    - Dst: struct pattern_expr*::pat_head::parse_smp
      Src: /src/haproxy/src/pattern.c:1734,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/pattern.c:1736,1
    - Dst: container_of
      Src: /src/haproxy/src/pattern.c:1741,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/pattern.c:1743,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/pattern.c:1750,1
    - Dst: struct pattern_expr*::pat_head::parse_smp
      Src: /src/haproxy/src/pattern.c:1751,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/pattern.c:1753,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1758,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 4
    argNames:
    - ref
    - elt
    - value
    - err
    argTypes:
    - struct pat_ref*
    - struct pat_ref_elt*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1763
      start: 1691
    functionDepth: 1
    functionLinenumber: 1691
    functionLinenumberEnd: 1763
    functionName: pat_ref_set_elt
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - memprintf
    - container_of
    - struct pattern_expr*::pat_head::parse_smp
    - list_for_each_entry
    - strdup
    - free
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: "pat_ref_set_elt(struct pat_ref *ref, struct pat_ref_elt *elt,\n                                  const
      char *value, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:1777,1
    - Dst: pat_ref_set_elt
      Src: /src/haproxy/src/pattern.c:1779,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - ref
    - refelt
    - value
    - err
    argTypes:
    - struct pat_ref*
    - struct pat_ref_elt*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1787
      start: 1772
    functionDepth: 2
    functionLinenumber: 1772
    functionLinenumberEnd: 1787
    functionName: pat_ref_set_by_id
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - memprintf
    - pat_ref_set_elt
    linkageType: ''
    returnType: int
    signature: pat_ref_set_by_id(struct pat_ref *ref, struct pat_ref_elt *refelt,
      const char *value, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_entry
      Src: /src/haproxy/src/pattern.c:1799,1
    - Dst: ebmb_next_dup
      Src: /src/haproxy/src/pattern.c:1806,1
    - Dst: pat_ref_set_elt
      Src: /src/haproxy/src/pattern.c:1807,1
    - Dst: ha_free
      Src: /src/haproxy/src/pattern.c:1811,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:1819,1
    - Dst: event_hdl_publish
      Src: /src/haproxy/src/pattern.c:1824,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - ref
    - node
    - value
    - err
    argTypes:
    - struct pat_ref*
    - struct ebmb_node*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1827
      start: 1789
    functionDepth: 2
    functionLinenumber: 1789
    functionLinenumberEnd: 1827
    functionName: pat_ref_set_from_node
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_free
    - ebmb_entry
    - event_hdl_publish
    - ebmb_next_dup
    - pat_ref_set_elt
    linkageType: ''
    returnType: int
    signature: pat_ref_set_from_node(struct pat_ref *ref, struct ebmb_node *node,
      const char *value, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pat_ref_set_from_node
      Src: /src/haproxy/src/pattern.c:1833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ref
    - elt
    - value
    - err
    argTypes:
    - struct pat_ref*
    - struct pat_ref_elt*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1834
      start: 1830
    functionDepth: 3
    functionLinenumber: 1830
    functionLinenumberEnd: 1834
    functionName: pat_ref_set_elt_duplicate
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 2
    functionsReached:
    - pat_ref_set_from_node
    linkageType: ''
    returnType: int
    signature: "pat_ref_set_elt_duplicate(struct pat_ref *ref, struct pat_ref_elt
      *elt, const char *value,\n                              char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebst_lookup
      Src: /src/haproxy/src/pattern.c:1846,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/pattern.c:1848,1
    - Dst: ebmb_next_dup
      Src: /src/haproxy/src/pattern.c:1851,1
    - Dst: pat_ref_set_from_node
      Src: /src/haproxy/src/pattern.c:1853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - ref
    - gen_id
    - key
    - value
    - err
    argTypes:
    - struct pat_ref*
    - unsigned int
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1854
      start: 1839
    functionDepth: 3
    functionLinenumber: 1839
    functionLinenumberEnd: 1854
    functionName: pat_ref_gen_set
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 1
    functionsReached:
    - ebmb_entry
    - pat_ref_set_from_node
    - ebmb_next_dup
    - ebst_lookup
    linkageType: ''
    returnType: int
    signature: "pat_ref_gen_set(struct pat_ref *ref, unsigned int gen_id,\n                    const
      char *key, const char *value, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pat_ref_gen_set
      Src: /src/haproxy/src/pattern.c:1861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ref
    - key
    - value
    - err
    argTypes:
    - struct pat_ref*
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1862
      start: 1859
    functionDepth: 4
    functionLinenumber: 1859
    functionLinenumberEnd: 1862
    functionName: pat_ref_set
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - pat_ref_gen_set
    linkageType: ''
    returnType: int
    signature: pat_ref_set(struct pat_ref *ref, const char *key, const char *value,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/pattern.c:1873,1
    - Dst: strdup
      Src: /src/haproxy/src/pattern.c:1880,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1882,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/pattern.c:1894,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/pattern.c:1896,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/pattern.c:1897,1
    - Dst: event_hdl_sub_list_init
      Src: /src/haproxy/src/pattern.c:1898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - display
    - flags
    argTypes:
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1901
      start: 1869
    functionDepth: 1
    functionLinenumber: 1869
    functionLinenumberEnd: 1901
    functionName: _pat_ref_new
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - malloc
    - strdup
    - free
    - LIST_INIT
    - HA_RWLOCK_INIT
    - event_hdl_sub_list_init
    linkageType: ''
    returnType: struct pat_ref
    signature: '*_pat_ref_new(const char *display, unsigned int flags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/pattern.c:1906,1
    - Dst: ha_free
      Src: /src/haproxy/src/pattern.c:1907,1
    - Dst: event_hdl_sub_list_destroy
      Src: /src/haproxy/src/pattern.c:1908,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:1909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ref
    argTypes:
    - struct pat_ref*
    constantsTouched: []
    func_position:
      end: 1910
      start: 1904
    functionDepth: 1
    functionLinenumber: 1904
    functionLinenumberEnd: 1910
    functionName: pat_ref_free
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - free
    - ha_free
    - event_hdl_sub_list_destroy
    linkageType: ''
    returnType: void
    signature: pat_ref_free(struct pat_ref *ref)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _pat_ref_new
      Src: /src/haproxy/src/pattern.c:1922,1
    - Dst: strlen
      Src: /src/haproxy/src/pattern.c:1926,1
    - Dst: strncmp
      Src: /src/haproxy/src/pattern.c:1926,1
    - Dst: strlen
      Src: /src/haproxy/src/pattern.c:1928,1
    - Dst: strncmp
      Src: /src/haproxy/src/pattern.c:1928,1
    - Dst: strlen
      Src: /src/haproxy/src/pattern.c:1936,1
    - Dst: strncmp
      Src: /src/haproxy/src/pattern.c:1936,1
    - Dst: strdup
      Src: /src/haproxy/src/pattern.c:1941,1
    - Dst: pat_ref_free
      Src: /src/haproxy/src/pattern.c:1943,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/pattern.c:1947,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - reference
    - display
    - flags
    argTypes:
    - char*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1949
      start: 1918
    functionDepth: 2
    functionLinenumber: 1918
    functionLinenumberEnd: 1949
    functionName: pat_ref_new
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 1
    functionsReached:
    - strncmp
    - strlen
    - LIST_APPEND
    - _pat_ref_new
    - strdup
    - pat_ref_free
    linkageType: ''
    returnType: struct pat_ref
    signature: '*pat_ref_new(const char *reference, const char *display, unsigned
      int flags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _pat_ref_new
      Src: /src/haproxy/src/pattern.c:1962,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/pattern.c:1968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - unique_id
    - display
    - flags
    argTypes:
    - int
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1970
      start: 1958
    functionDepth: 2
    functionLinenumber: 1958
    functionLinenumberEnd: 1970
    functionName: pat_ref_newid
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    - _pat_ref_new
    linkageType: ''
    returnType: struct pat_ref
    signature: '*pat_ref_newid(int unique_id, const char *display, unsigned int flags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/pattern.c:1982,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:1989,1
    - Dst: strdup
      Src: /src/haproxy/src/pattern.c:1992,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/pattern.c:1997,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/pattern.c:2000,1
    - Dst: ebst_insert
      Src: /src/haproxy/src/pattern.c:2003,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:2006,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - ref
    - pattern
    - sample
    - line
    argTypes:
    - struct pat_ref*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2008
      start: 1977
    functionDepth: 1
    functionLinenumber: 1977
    functionLinenumberEnd: 2008
    functionName: pat_ref_append
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - calloc
    - LIST_APPEND
    - strdup
    - free
    - LIST_INIT
    - ebst_insert
    - memcpy
    linkageType: ''
    returnType: struct pat_ref_elt
    signature: '*pat_ref_append(struct pat_ref *ref, const char *pattern, const char
      *sample, int line)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/pattern.c:2024,1
    - Dst: struct pattern_expr*::pat_head::parse_smp
      Src: /src/haproxy/src/pattern.c:2029,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2030,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:2031,1
    - Dst: memset
      Src: /src/haproxy/src/pattern.c:2040,1
    - Dst: struct pattern_expr*::pat_head::parse
      Src: /src/haproxy/src/pattern.c:2045,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:2046,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/pattern.c:2050,1
    - Dst: struct pattern_expr*::pat_head::index
      Src: /src/haproxy/src/pattern.c:2052,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/pattern.c:2053,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:2054,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/pattern.c:2057,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - elt
    - expr
    - patflags
    - err
    argTypes:
    - struct pat_ref_elt*
    - struct pattern_expr*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2060
      start: 2015
    functionDepth: 1
    functionLinenumber: 2015
    functionLinenumberEnd: 2060
    functionName: pat_ref_push
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - malloc
    - memprintf
    - struct pattern_expr*::pat_head::parse_smp
    - struct pattern_expr*::pat_head::index
    - free
    - HA_RWLOCK_WRUNLOCK
    - struct pattern_expr*::pat_head::parse
    - memset
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: "pat_ref_push(struct pat_ref_elt *elt, struct pattern_expr *expr,\n
      \                int patflags, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:2076,1
    - Dst: pat_ref_push
      Src: /src/haproxy/src/pattern.c:2077,1
    - Dst: pat_ref_delete_by_ptr
      Src: /src/haproxy/src/pattern.c:2078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ref
    - elt
    - err
    argTypes:
    - struct pat_ref*
    - struct pat_ref_elt*
    - char**
    constantsTouched: []
    func_position:
      end: 2083
      start: 2072
    functionDepth: 3
    functionLinenumber: 2072
    functionLinenumberEnd: 2083
    functionName: pat_ref_commit_elt
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - pat_ref_delete_by_ptr
    - pat_ref_push
    linkageType: ''
    returnType: int
    signature: pat_ref_commit_elt(struct pat_ref *ref, struct pat_ref_elt *elt, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pat_ref_append
      Src: /src/haproxy/src/pattern.c:2100,1
    - Dst: pat_ref_commit_elt
      Src: /src/haproxy/src/pattern.c:2103,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2106,1
    - Dst: event_hdl_publish
      Src: /src/haproxy/src/pattern.c:2110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - ref
    - gen
    - pattern
    - sample
    - line
    - err
    argTypes:
    - struct pat_ref*
    - unsigned int
    - char*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2113
      start: 2094
    functionDepth: 4
    functionLinenumber: 2094
    functionLinenumberEnd: 2113
    functionName: pat_ref_load
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 3
    functionsReached:
    - memprintf
    - event_hdl_publish
    - pat_ref_append
    - pat_ref_commit_elt
    linkageType: ''
    returnType: struct pat_ref_elt
    signature: "*pat_ref_load(struct pat_ref *ref, unsigned int gen,\n                                 const
      char *pattern, const char *sample,\n                                 int line,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pat_ref_load
      Src: /src/haproxy/src/pattern.c:2125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ref
    - pattern
    - sample
    - err
    argTypes:
    - struct pat_ref*
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 2126
      start: 2121
    functionDepth: 5
    functionLinenumber: 2121
    functionLinenumberEnd: 2126
    functionName: pat_ref_add
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 4
    functionsReached:
    - pat_ref_load
    linkageType: ''
    returnType: int
    signature: "pat_ref_add(struct pat_ref *ref,\n                const char *pattern,
      const char *sample,\n                char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:2144,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/pattern.c:2145,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/pattern.c:2151,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/pattern.c:2164,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/pattern.c:2165,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/pattern.c:2166,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/pattern.c:2168,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/pattern.c:2168,1
    - Dst: typeof
      Src: /src/haproxy/src/pattern.c:2168,1
    - Dst: pat_delete_gen
      Src: /src/haproxy/src/pattern.c:2173,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/pattern.c:2175,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/pattern.c:2176,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:2177,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:2178,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:2181,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/pattern.c:2182,1
    - Dst: event_hdl_publish
      Src: /src/haproxy/src/pattern.c:2188,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - ref
    - from
    - to
    - budget
    argTypes:
    - struct pat_ref*
    - uint
    - uint
    - int
    constantsTouched: []
    func_position:
      end: 2191
      start: 2137
    functionDepth: 2
    functionLinenumber: 2137
    functionLinenumberEnd: 2191
    functionName: pat_ref_purge_range
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry_safe
    - list_for_each_entry
    - LIST_APPEND
    - LIST_DELETE
    - pat_delete_gen
    - free
    - typeof
    - HA_RWLOCK_WRUNLOCK
    - LIST_INIT
    - event_hdl_publish
    - HA_RWLOCK_WRLOCK
    - ebmb_delete
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: pat_ref_purge_range(struct pat_ref *ref, uint from, uint to, int budget)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pat_ref_purge_range
      Src: /src/haproxy/src/pattern.c:2201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - struct pat_ref*
    constantsTouched: []
    func_position:
      end: 2202
      start: 2199
    functionDepth: 3
    functionLinenumber: 2199
    functionLinenumberEnd: 2202
    functionName: pat_ref_prune
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - pat_ref_purge_range
    linkageType: ''
    returnType: int
    signature: pat_ref_prune(struct pat_ref *ref)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:2211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - head
    - ref
    argTypes:
    - struct pattern_head*
    - struct pat_ref*
    constantsTouched: []
    func_position:
      end: 2215
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2215
    functionName: pattern_lookup_expr
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: struct pattern_expr
    signature: '*pattern_lookup_expr(struct pattern_head *head, struct pat_ref *ref)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/pattern.c:2235,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2237,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:2246,1
    - Dst: calloc
      Src: /src/haproxy/src/pattern.c:2261,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:2263,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2264,1
    - Dst: pattern_init_expr
      Src: /src/haproxy/src/pattern.c:2269,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/pattern.c:2279,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/pattern.c:2281,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/pattern.c:2285,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/pattern.c:2292,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/pattern.c:2298,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 5
    argNames:
    - head
    - ref
    - patflags
    - err
    - reuse
    argTypes:
    - struct pattern_head*
    - struct pat_ref*
    - int
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 2300
      start: 2225
    functionDepth: 1
    functionLinenumber: 2225
    functionLinenumberEnd: 2300
    functionName: pattern_new_expr
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 1
    functionsReached:
    - memprintf
    - pattern_init_expr
    - list_for_each_entry
    - calloc
    - LIST_APPEND
    - HA_ATOMIC_INC
    - free
    - LIST_INIT
    - HA_RWLOCK_INIT
    linkageType: ''
    returnType: struct pattern_expr
    signature: "*pattern_new_expr(struct pattern_head *head, struct pat_ref *ref,\n
      \                                     int patflags, char **err, int *reuse)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/haproxy/src/pattern.c:2335,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2342,1
    - Dst: fgets
      Src: /src/haproxy/src/pattern.c:2351,1
    - Dst: pat_ref_append
      Src: /src/haproxy/src/pattern.c:2393,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2394,1
    - Dst: ferror
      Src: /src/haproxy/src/pattern.c:2399,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2400,1
    - Dst: strerror
      Src: /src/haproxy/src/pattern.c:2401,1
    - Dst: fclose
      Src: /src/haproxy/src/pattern.c:2408,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 50
    argCount: 2
    argNames:
    - ref
    - err
    argTypes:
    - struct pat_ref*
    - char**
    constantsTouched: []
    func_position:
      end: 2410
      start: 2324
    functionDepth: 2
    functionLinenumber: 2324
    functionLinenumberEnd: 2410
    functionName: pat_ref_read_from_file_smp
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strerror
    - pat_ref_append
    - fgets
    - fopen
    - fclose
    - ferror
    linkageType: ''
    returnType: int
    signature: pat_ref_read_from_file_smp(struct pat_ref *ref, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/haproxy/src/pattern.c:2423,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2430,1
    - Dst: fgets
      Src: /src/haproxy/src/pattern.c:2438,1
    - Dst: pat_ref_append
      Src: /src/haproxy/src/pattern.c:2460,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2461,1
    - Dst: ferror
      Src: /src/haproxy/src/pattern.c:2466,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2467,1
    - Dst: strerror
      Src: /src/haproxy/src/pattern.c:2468,1
    - Dst: fclose
      Src: /src/haproxy/src/pattern.c:2474,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - ref
    - err
    argTypes:
    - struct pat_ref*
    - char**
    constantsTouched: []
    func_position:
      end: 2476
      start: 2415
    functionDepth: 2
    functionLinenumber: 2415
    functionLinenumberEnd: 2476
    functionName: pat_ref_read_from_file
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strerror
    - pat_ref_append
    - fgets
    - fopen
    - fclose
    - ferror
    linkageType: ''
    returnType: int
    signature: pat_ref_read_from_file(struct pat_ref *ref, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pat_ref_lookup
      Src: /src/haproxy/src/pattern.c:2488,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/pattern.c:2492,1
    - Dst: pat_ref_new
      Src: /src/haproxy/src/pattern.c:2496,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2498,1
    - Dst: pat_ref_read_from_file_smp
      Src: /src/haproxy/src/pattern.c:2505,1
    - Dst: pat_ref_read_from_file
      Src: /src/haproxy/src/pattern.c:2509,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2522,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2533,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/pattern.c:2541,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pattern.c:2542,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:2544,1
    - Dst: strdup
      Src: /src/haproxy/src/pattern.c:2545,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2547,1
    - Dst: pattern_lookup_expr
      Src: /src/haproxy/src/pattern.c:2560,1
    - Dst: pattern_new_expr
      Src: /src/haproxy/src/pattern.c:2562,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:2582,1
    - Dst: pat_ref_push
      Src: /src/haproxy/src/pattern.c:2583,1
    - Dst: memprintf
      Src: /src/haproxy/src/pattern.c:2585,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 8
    argNames:
    - head
    - refflags
    - filename
    - patflags
    - load_smp
    - err
    - file
    - line
    argTypes:
    - struct pattern_head*
    - unsigned int
    - char*
    - int
    - int
    - char**
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2592
      start: 2478
    functionDepth: 3
    functionLinenumber: 2478
    functionLinenumberEnd: 2592
    functionName: pattern_read_from_file
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 1
    functionsReached:
    - memprintf
    - pat_ref_read_from_file
    - pat_ref_lookup
    - pattern_new_expr
    - list_for_each_entry
    - pat_ref_read_from_file_smp
    - chunk_printf
    - chunk_appendf
    - free
    - strdup
    - pat_ref_push
    - pat_ref_new
    - pattern_lookup_expr
    linkageType: ''
    returnType: int
    signature: "pattern_read_from_file(struct pattern_head *head, unsigned int refflags,\n
      \                          const char *filename, int patflags, int load_smp,\n
      \                          char **err, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_convert
      Src: /src/haproxy/src/pattern.c:2617,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:2620,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/pattern.c:2621,1
    - Dst: struct pattern_head*::match
      Src: /src/haproxy/src/pattern.c:2622,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:2627,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/pattern.c:2637,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:2641,1
    - Dst: memcpy
      Src: /src/haproxy/src/pattern.c:2650,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/pattern.c:2659,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/pattern.c:2662,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 3
    argNames:
    - head
    - smp
    - fill
    argTypes:
    - struct pattern_head*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 2665
      start: 2600
    functionDepth: 2
    functionLinenumber: 2600
    functionLinenumberEnd: 2665
    functionName: pattern_exec_match
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 2
    functionsReached:
    - list_for_each_entry
    - HA_RWLOCK_RDUNLOCK
    - sample_convert
    - HA_RWLOCK_RDLOCK
    - get_trash_chunk
    - memcpy
    - struct pattern_head*::match
    linkageType: ''
    returnType: struct pattern
    signature: '*pattern_exec_match(struct pattern_head *head, struct sample *smp,
      int fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/pattern.c:2672,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/pattern.c:2673,1
    - Dst: HA_ATOMIC_SUB_FETCH
      Src: /src/haproxy/src/pattern.c:2674,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/pattern.c:2675,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/pattern.c:2676,1
    - Dst: struct pattern_head*::prune
      Src: /src/haproxy/src/pattern.c:2677,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/pattern.c:2678,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:2679,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:2681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct pattern_head*
    constantsTouched: []
    func_position:
      end: 2683
      start: 2668
    functionDepth: 1
    functionLinenumber: 2668
    functionLinenumberEnd: 2683
    functionName: pattern_prune
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 1
    functionsReached:
    - HA_ATOMIC_SUB_FETCH
    - list_for_each_entry_safe
    - LIST_DELETE
    - struct pattern_head*::prune
    - free
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: void
    signature: pattern_prune(struct pattern_head *head)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2698
      start: 2688
    functionDepth: 0
    functionLinenumber: 2688
    functionLinenumberEnd: 2698
    functionName: cmp_pat_ref
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: cmp_pat_ref(const void *_a, const void *_b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/pattern.c:2710,1
    - Dst: ha_random
      Src: /src/haproxy/src/pattern.c:2712,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:2715,1
    - Dst: calloc
      Src: /src/haproxy/src/pattern.c:2725,1
    - Dst: ha_alert
      Src: /src/haproxy/src/pattern.c:2727,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pattern.c:2733,1
    - Dst: qsort
      Src: /src/haproxy/src/pattern.c:2743,1
    - Dst: bsearch
      Src: /src/haproxy/src/pattern.c:2749,1
    - Dst: qsort
      Src: /src/haproxy/src/pattern.c:2753,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/pattern.c:2757,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/pattern.c:2760,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/pattern.c:2761,1
    - Dst: free
      Src: /src/haproxy/src/pattern.c:2763,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2703
    functionDepth: 1
    functionLinenumber: 2703
    functionLinenumberEnd: 2765
    functionName: pattern_finalize_config
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - ha_random
    - ha_alert
    - LIST_HEAD_INIT
    - list_for_each_entry
    - calloc
    - LIST_APPEND
    - bsearch
    - LIST_DELETE
    - free
    - LIST_INSERT
    - qsort
    linkageType: ''
    returnType: int
    signature: pattern_finalize_config(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lru64_new
      Src: /src/haproxy/src/pattern.c:2771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2773
      start: 2767
    functionDepth: 1
    functionLinenumber: 2767
    functionLinenumberEnd: 2773
    functionName: pattern_per_thread_lru_alloc
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - lru64_new
    linkageType: ''
    returnType: int
    signature: pattern_per_thread_lru_alloc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lru64_destroy
      Src: /src/haproxy/src/pattern.c:2777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2778
      start: 2775
    functionDepth: 1
    functionLinenumber: 2775
    functionLinenumberEnd: 2778
    functionName: pattern_per_thread_lru_free
    functionSourceFile: /src/haproxy/src/pattern.c
    functionUses: 0
    functionsReached:
    - lru64_destroy
    linkageType: ''
    returnType: void
    signature: pattern_per_thread_lru_free()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/haproxy/src/mworker-prog.c:48,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/mworker-prog.c:51,1
    - Dst: kill
      Src: /src/haproxy/src/mworker-prog.c:54,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker-prog.c:70,1
    - Dst: strcmp
      Src: /src/haproxy/src/mworker-prog.c:74,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/mworker-prog.c:79,1
    - Dst: mworker_free_child
      Src: /src/haproxy/src/mworker-prog.c:80,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/mworker-prog.c:86,1
    - Dst: fork
      Src: /src/haproxy/src/mworker-prog.c:88,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:90,1
    - Dst: exit
      Src: /src/haproxy/src/mworker-prog.c:91,1
    - Dst: ha_notice
      Src: /src/haproxy/src/mworker-prog.c:94,1
    - Dst: mworker_unblock_signals
      Src: /src/haproxy/src/mworker-prog.c:98,1
    - Dst: mworker_cleanlisteners
      Src: /src/haproxy/src/mworker-prog.c:99,1
    - Dst: mworker_cleantasks
      Src: /src/haproxy/src/mworker-prog.c:100,1
    - Dst: getgroups
      Src: /src/haproxy/src/mworker-prog.c:104,1
    - Dst: setgroups
      Src: /src/haproxy/src/mworker-prog.c:104,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker-prog.c:105,1
    - Dst: setgid
      Src: /src/haproxy/src/mworker-prog.c:108,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:109,1
    - Dst: exit
      Src: /src/haproxy/src/mworker-prog.c:110,1
    - Dst: setuid
      Src: /src/haproxy/src/mworker-prog.c:114,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:115,1
    - Dst: exit
      Src: /src/haproxy/src/mworker-prog.c:116,1
    - Dst: unsetenv
      Src: /src/haproxy/src/mworker-prog.c:120,1
    - Dst: unsetenv
      Src: /src/haproxy/src/mworker-prog.c:121,1
    - Dst: execvp
      Src: /src/haproxy/src/mworker-prog.c:122,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:124,1
    - Dst: strerror
      Src: /src/haproxy/src/mworker-prog.c:124,1
    - Dst: exit
      Src: /src/haproxy/src/mworker-prog.c:125,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 132
    functionName: mworker_ext_launch_all
    functionSourceFile: /src/haproxy/src/mworker-prog.c
    functionUses: 0
    functionsReached:
    - ns_to_sec
    - ha_alert
    - setgroups
    - ha_warning
    - LIST_DELETE
    - mworker_cleantasks
    - kill
    - getgroups
    - setuid
    - strerror
    - list_for_each_entry
    - strcmp
    - mworker_unblock_signals
    - mworker_cleanlisteners
    - exit
    - mworker_free_child
    - fork
    - setgid
    - execvp
    - unsetenv
    - list_for_each_entry_safe
    - ha_notice
    - getenv
    linkageType: ''
    returnType: int
    signature: mworker_ext_launch_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/mworker-prog.c:146,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/mworker-prog.c:147,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:153,1
    - Dst: calloc
      Src: /src/haproxy/src/mworker-prog.c:159,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:161,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mworker-prog.c:178,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker-prog.c:180,1
    - Dst: strcmp
      Src: /src/haproxy/src/mworker-prog.c:182,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:183,1
    - Dst: strdup
      Src: /src/haproxy/src/mworker-prog.c:190,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:192,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker-prog.c:198,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mworker-prog.c:207,1
    - Dst: strcmp
      Src: /src/haproxy/src/mworker-prog.c:209,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:214,1
    - Dst: calloc
      Src: /src/haproxy/src/mworker-prog.c:222,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:225,1
    - Dst: strdup
      Src: /src/haproxy/src/mworker-prog.c:231,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:233,1
    - Dst: strcmp
      Src: /src/haproxy/src/mworker-prog.c:241,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:244,1
    - Dst: strcmp
      Src: /src/haproxy/src/mworker-prog.c:250,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/mworker-prog.c:251,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:260,1
    - Dst: strcmp
      Src: /src/haproxy/src/mworker-prog.c:264,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:267,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/mworker-prog.c:273,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:277,1
    - Dst: getpwnam
      Src: /src/haproxy/src/mworker-prog.c:282,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:286,1
    - Dst: strerror
      Src: /src/haproxy/src/mworker-prog.c:286,1
    - Dst: strcmp
      Src: /src/haproxy/src/mworker-prog.c:289,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:292,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/mworker-prog.c:298,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:302,1
    - Dst: getgrnam
      Src: /src/haproxy/src/mworker-prog.c:307,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:311,1
    - Dst: strerror
      Src: /src/haproxy/src/mworker-prog.c:311,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker-prog.c:315,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/mworker-prog.c:326,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker-prog.c:331,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker-prog.c:333,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker-prog.c:335,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker-prog.c:338,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 183
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 343
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 343
    functionName: cfg_parse_program
    functionSourceFile: /src/haproxy/src/mworker-prog.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strerror
    - getgrnam
    - ha_free
    - list_for_each_entry
    - strcmp
    - calloc
    - ha_warning
    - LIST_APPEND
    - alertif_too_many_args_idx
    - LIST_DELETE
    - strdup
    - alertif_too_many_args
    - getpwnam
    - LIST_INIT
    linkageType: ''
    returnType: int
    signature: cfg_parse_program(const char *file, int linenum, char **args, int kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/mailers.c:53,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/mailers.c:54,1
    - Dst: free_tcpcheck
      Src: /src/haproxy/src/mailers.c:55,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/mailers.c:57,1
    - Dst: ha_free
      Src: /src/haproxy/src/mailers.c:58,1
    - Dst: pool_free
      Src: /src/haproxy/src/mailers.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - alert
    argTypes:
    - struct email_alert*
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: email_alert_free
    functionSourceFile: /src/haproxy/src/mailers.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_safe
    - ha_free
    - LIST_DELETE
    - free_tcpcheck
    - pool_free
    - free_tcpcheck_vars
    linkageType: ''
    returnType: void
    signature: email_alert_free(struct email_alert *alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/mailers.c:69,1
    - Dst: typeof
      Src: /src/haproxy/src/mailers.c:69,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mailers.c:71,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mailers.c:74,1
    - Dst: task_queue
      Src: /src/haproxy/src/mailers.c:77,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/mailers.c:81,1
    - Dst: typeof
      Src: /src/haproxy/src/mailers.c:81,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/mailers.c:82,1
    - Dst: tick_add
      Src: /src/haproxy/src/mailers.c:83,1
    - Dst: process_chk
      Src: /src/haproxy/src/mailers.c:89,1
    - Dst: container_of
      Src: /src/haproxy/src/mailers.c:93,1
    - Dst: typeof
      Src: /src/haproxy/src/mailers.c:93,1
    - Dst: email_alert_free
      Src: /src/haproxy/src/mailers.c:94,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mailers.c:100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 102
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 102
    functionName: process_email_alert
    functionSourceFile: /src/haproxy/src/mailers.c
    functionUses: 0
    functionsReached:
    - container_of
    - LIST_NEXT
    - LIST_ISEMPTY
    - tick_add
    - LIST_DELETE
    - process_chk
    - HA_SPIN_UNLOCK
    - task_queue
    - HA_SPIN_LOCK
    - typeof
    - email_alert_free
    linkageType: ''
    returnType: struct task
    signature: '*process_email_alert(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/mailers.c:117,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/mailers.c:118,1
    - Dst: calloc
      Src: /src/haproxy/src/mailers.c:120,1
    - Dst: memprintf
      Src: /src/haproxy/src/mailers.c:121,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mailers.c:130,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/mailers.c:131,1
    - Dst: init_check
      Src: /src/haproxy/src/mailers.c:137,1
    - Dst: memprintf
      Src: /src/haproxy/src/mailers.c:138,1
    - Dst: get_host_port
      Src: /src/haproxy/src/mailers.c:144,1
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/mailers.c:146,1
    - Dst: memprintf
      Src: /src/haproxy/src/mailers.c:147,1
    - Dst: task_queue
      Src: /src/haproxy/src/mailers.c:158,1
    - Dst: free
      Src: /src/haproxy/src/mailers.c:162,1
    - Dst: free_check
      Src: /src/haproxy/src/mailers.c:173,1
    - Dst: free
      Src: /src/haproxy/src/mailers.c:175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 3
    argNames:
    - mls
    - p
    - err
    argTypes:
    - struct mailers*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 178
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 178
    functionName: init_email_alert
    functionSourceFile: /src/haproxy/src/mailers.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_warning
    - calloc
    - HA_SPIN_INIT
    - free_check
    - task_queue
    - free
    - task_new_anywhere
    - proxy_type_str
    - LIST_INIT
    - init_check
    - get_host_port
    linkageType: ''
    returnType: int
    signature: init_email_alert(struct mailers *mls, struct proxy *p, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/mailers.c:183,1
    - Dst: ha_free
      Src: /src/haproxy/src/mailers.c:184,1
    - Dst: ha_free
      Src: /src/haproxy/src/mailers.c:185,1
    - Dst: ha_free
      Src: /src/haproxy/src/mailers.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: free_email_alert
    functionSourceFile: /src/haproxy/src/mailers.c
    functionUses: 0
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: void
    signature: free_email_alert(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/mailers.c:196,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mailers.c:198,1
    - Dst: calloc
      Src: /src/haproxy/src/mailers.c:200,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mailers.c:203,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mailers.c:204,1
    - Dst: pool_zalloc
      Src: /src/haproxy/src/mailers.c:207,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mailers.c:212,1
    - Dst: add_tcpcheck_expect_str
      Src: /src/haproxy/src/mailers.c:214,1
    - Dst: add_tcpcheck_send_strs
      Src: /src/haproxy/src/mailers.c:219,1
    - Dst: add_tcpcheck_expect_str
      Src: /src/haproxy/src/mailers.c:223,1
    - Dst: add_tcpcheck_send_strs
      Src: /src/haproxy/src/mailers.c:228,1
    - Dst: add_tcpcheck_expect_str
      Src: /src/haproxy/src/mailers.c:232,1
    - Dst: add_tcpcheck_send_strs
      Src: /src/haproxy/src/mailers.c:237,1
    - Dst: add_tcpcheck_expect_str
      Src: /src/haproxy/src/mailers.c:241,1
    - Dst: add_tcpcheck_send_strs
      Src: /src/haproxy/src/mailers.c:246,1
    - Dst: add_tcpcheck_expect_str
      Src: /src/haproxy/src/mailers.c:250,1
    - Dst: get_localtime
      Src: /src/haproxy/src/mailers.c:268,1
    - Dst: strftime
      Src: /src/haproxy/src/mailers.c:270,1
    - Dst: add_tcpcheck_send_strs
      Src: /src/haproxy/src/mailers.c:274,1
    - Dst: add_tcpcheck_expect_str
      Src: /src/haproxy/src/mailers.c:278,1
    - Dst: add_tcpcheck_send_strs
      Src: /src/haproxy/src/mailers.c:283,1
    - Dst: add_tcpcheck_expect_str
      Src: /src/haproxy/src/mailers.c:287,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mailers.c:290,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/mailers.c:291,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mailers.c:292,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mailers.c:293,1
    - Dst: email_alert_free
      Src: /src/haproxy/src/mailers.c:297,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 78
    argCount: 4
    argNames:
    - p
    - s
    - q
    - msg
    argTypes:
    - struct proxy*
    - struct server*
    - struct email_alertq*
    - char*
    constantsTouched: []
    func_position:
      end: 299
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 299
    functionName: enqueue_one_email_alert
    functionSourceFile: /src/haproxy/src/mailers.c
    functionUses: 0
    functionsReached:
    - calloc
    - LIST_APPEND
    - pool_zalloc
    - add_tcpcheck_send_strs
    - get_localtime
    - task_wakeup
    - pool_alloc
    - HA_SPIN_LOCK
    - HA_SPIN_UNLOCK
    - email_alert_free
    - LIST_INIT
    - strftime
    - add_tcpcheck_expect_str
    linkageType: ''
    returnType: int
    signature: "enqueue_one_email_alert(struct proxy *p, struct server *s,\n\t\t\t\t
      \  struct email_alertq *q, const char *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enqueue_one_email_alert
      Src: /src/haproxy/src/mailers.c:308,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mailers.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - p
    - s
    - msg
    argTypes:
    - struct proxy*
    - struct server*
    - char*
    constantsTouched: []
    func_position:
      end: 315
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 315
    functionName: enqueue_email_alert
    functionSourceFile: /src/haproxy/src/mailers.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - enqueue_one_email_alert
    linkageType: ''
    returnType: void
    signature: enqueue_email_alert(struct proxy *p, struct server *s, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/mailers.c:333,1
    - Dst: vsnprintf
      Src: /src/haproxy/src/mailers.c:334,1
    - Dst: va_end
      Src: /src/haproxy/src/mailers.c:335,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mailers.c:338,1
    - Dst: enqueue_email_alert
      Src: /src/haproxy/src/mailers.c:342,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - s
    - level
    - format
    argTypes:
    - struct server*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 343
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 343
    functionName: send_email_alert
    functionSourceFile: /src/haproxy/src/mailers.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - va_end
    - vsnprintf
    - enqueue_email_alert
    - va_start
    linkageType: ''
    returnType: void
    signature: send_email_alert(struct server *s, int level, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h2.c:384,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h2.c:387,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h2.c:390,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h2.c:393,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h2.c:396,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h2.c:399,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h2.c:402,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h2.c:405,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h2.c:408,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h2.c:411,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h2.c:414,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h2.c:417,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/mux_h2.c:420,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 3
    argNames:
    - data
    - stats
    - selected_field
    argTypes:
    - void*
    - struct field*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 435
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 435
    functionName: h2_fill_stats
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - mkf_u64
    linkageType: ''
    returnType: int
    signature: h2_fill_stats(void *data, struct field *stats, unsigned int *selected_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: h2s_sc
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: '*h2s_sc(const struct h2s *h2s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:579,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_h2.c:580,1
    - Dst: h2c_st_to_str
      Src: /src/haproxy/src/mux_h2.c:581,1
    - Dst: conn_append_debug_info
      Src: /src/haproxy/src/mux_h2.c:584,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:587,1
    - Dst: h2_err_str
      Src: /src/haproxy/src/mux_h2.c:587,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:590,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:594,1
    - Dst: h2_ft_str
      Src: /src/haproxy/src/mux_h2.c:594,1
    - Dst: br_head
      Src: /src/haproxy/src/mux_h2.c:597,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:598,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:599,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:600,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:600,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_h2.c:601,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:601,1
    - Dst: br_head_idx
      Src: /src/haproxy/src/mux_h2.c:602,1
    - Dst: br_tail_idx
      Src: /src/haproxy/src/mux_h2.c:602,1
    - Dst: br_size
      Src: /src/haproxy/src/mux_h2.c:602,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:603,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:603,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_h2.c:604,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:604,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:605,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:605,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_h2.c:606,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:606,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:610,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:612,1
    - Dst: h2s_rxbuf_head
      Src: /src/haproxy/src/mux_h2.c:616,1
    - Dst: h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:617,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:618,1
    - Dst: h2s_st_to_str
      Src: /src/haproxy/src/mux_h2.c:619,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:622,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:623,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_h2.c:624,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:625,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:626,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:627,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_h2.c:628,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:629,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:632,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:634,1
    - Dst: h2_err_str
      Src: /src/haproxy/src/mux_h2.c:634,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:638,1
    - Dst: htxbuf
      Src: /src/haproxy/src/mux_h2.c:646,1
    - Dst: htx_get_head
      Src: /src/haproxy/src/mux_h2.c:652,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/mux_h2.c:653,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/mux_h2.c:654,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h2.c:655,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:658,1
    - Dst: HTX_SL_P1_LEN
      Src: /src/haproxy/src/mux_h2.c:660,1
    - Dst: HTX_SL_P1_PTR
      Src: /src/haproxy/src/mux_h2.c:660,1
    - Dst: HTX_SL_P2_LEN
      Src: /src/haproxy/src/mux_h2.c:661,1
    - Dst: HTX_SL_P2_PTR
      Src: /src/haproxy/src/mux_h2.c:661,1
    - Dst: HTX_SL_P3_LEN
      Src: /src/haproxy/src/mux_h2.c:662,1
    - Dst: HTX_SL_P3_PTR
      Src: /src/haproxy/src/mux_h2.c:662,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:664,1
    - Dst: HTX_SL_P1_LEN
      Src: /src/haproxy/src/mux_h2.c:666,1
    - Dst: HTX_SL_P1_PTR
      Src: /src/haproxy/src/mux_h2.c:666,1
    - Dst: HTX_SL_P2_LEN
      Src: /src/haproxy/src/mux_h2.c:667,1
    - Dst: HTX_SL_P2_PTR
      Src: /src/haproxy/src/mux_h2.c:667,1
    - Dst: HTX_SL_P3_LEN
      Src: /src/haproxy/src/mux_h2.c:668,1
    - Dst: HTX_SL_P3_PTR
      Src: /src/haproxy/src/mux_h2.c:668,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 46
    argCount: 9
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - struct ist
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 670
      start: 563
    functionDepth: 2
    functionLinenumber: 563
    functionLinenumberEnd: 670
    functionName: h2_trace
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - htx_get_head
    - h2s_rxbuf_tail
    - htx_get_blk_ptr
    - HTX_SL_P3_PTR
    - b_orig
    - h2s_rxbuf_head
    - HTX_SL_P2_PTR
    - HTX_SL_P2_LEN
    - HTX_SL_P3_LEN
    - conn_append_debug_info
    - chunk_appendf
    - htx_get_blk
    - b_size
    - br_tail_idx
    - h2c_st_to_str
    - h2s_st_to_str
    - HTX_SL_P1_LEN
    - br_head_idx
    - htxbuf
    - htx_get_blk_type
    - conn_is_back
    - b_data
    - HTX_SL_P1_PTR
    - br_head
    - br_tail
    - br_size
    - h2_ft_str
    - b_head_ofs
    - h2_err_str
    linkageType: ''
    returnType: void
    signature: "h2_trace(enum trace_level level, uint64_t mask, const struct trace_source
      *src,\n                     const struct ist where, const struct ist func,\n
      \                    const void *a1, const void *a2, const void *a3, const void
      *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:694,1
    - Dst: sc_strm
      Src: /src/haproxy/src/mux_h2.c:695,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:695,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 6
    argNames:
    - ctx
    - src
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - struct trace_ctx*
    - struct trace_source*
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 697
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 697
    functionName: h2_trace_fill_ctx
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2s_sc
    - sc_strm
    linkageType: ''
    returnType: void
    signature: "h2_trace_fill_ctx(struct trace_ctx *ctx, const struct trace_source
      *src,\n                              const void *a1, const void *a2, const void
      *a3, const void *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tevt_report_event
      Src: /src/haproxy/src/mux_h2.c:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h2c
    - type
    argTypes:
    - struct h2c*
    - enum muxc_term_event_type
    constantsTouched: []
    func_position:
      end: 706
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 706
    functionName: h2c_report_term_evt
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - tevt_report_event
    linkageType: ''
    returnType: void
    signature: h2c_report_term_evt(struct h2c *h2c, enum muxc_term_event_type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 717
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 717
    functionName: h2c_read0_pending
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: h2c_read0_pending(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: h2c_may_expire
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: h2c_may_expire(const struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 744
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 744
    functionName: h2c_max_concurrent_streams
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: h2c_max_concurrent_streams(const struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 753
    functionName: _h2s_rxbuf_head
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct buffer
    signature: '*_h2s_rxbuf_head(const struct h2s *h2s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 762
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 762
    functionName: _h2s_rxbuf_tail
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct buffer
    signature: '*_h2s_rxbuf_tail(const struct h2s *h2s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _h2s_rxbuf_head
      Src: /src/haproxy/src/mux_h2.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 771
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 771
    functionName: h2s_rxbuf_head
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 2
    functionsReached:
    - _h2s_rxbuf_head
    linkageType: ''
    returnType: struct buffer
    signature: '*h2s_rxbuf_head(const struct h2s *h2s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 780
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 780
    functionName: h2s_rxbuf_tail
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 2
    functionsReached:
    - _h2s_rxbuf_tail
    linkageType: ''
    returnType: struct buffer
    signature: '*h2s_rxbuf_tail(const struct h2s *h2s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 786
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 786
    functionName: h2s_rxbuf_cnt
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: h2s_rxbuf_cnt(const struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bl_get
      Src: /src/haproxy/src/mux_h2.c:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 806
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 806
    functionName: h2s_get_rxbuf
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - bl_get
    linkageType: ''
    returnType: uint
    signature: h2s_get_rxbuf(struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_h2.c:817,1
    - Dst: h2s_rxbuf_head
      Src: /src/haproxy/src/mux_h2.c:817,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:817,1
    - Dst: bl_put
      Src: /src/haproxy/src/mux_h2.c:819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 825
      start: 814
    functionDepth: 2
    functionLinenumber: 814
    functionLinenumberEnd: 825
    functionName: h2s_put_rxbuf
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2s_rxbuf_head
    - bl_put
    - b_size
    - BUG_ON_HOT
    linkageType: ''
    returnType: uint
    signature: h2s_put_rxbuf(struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:836,1
    - Dst: b_is_null
      Src: /src/haproxy/src/mux_h2.c:837,1
    - Dst: htxbuf
      Src: /src/haproxy/src/mux_h2.c:840,1
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/mux_h2.c:841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 842
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 842
    functionName: h2s_may_append_to_rxbuf
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - htxbuf
    - b_is_null
    - htx_free_data_space
    - h2s_rxbuf_tail
    linkageType: ''
    returnType: int
    signature: h2s_may_append_to_rxbuf(const struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:849,1
    - Dst: h2c_may_expire
      Src: /src/haproxy/src/mux_h2.c:854,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_h2.c:856,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_h2.c:858,1
    - Dst: tick_first
      Src: /src/haproxy/src/mux_h2.c:865,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:871,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h2.c:872,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_h2.c:882,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h2.c:887,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_h2.c:888,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h2.c:892,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h2.c:905,1
    - Dst: tick_is_le
      Src: /src/haproxy/src/mux_h2.c:906,1
    - Dst: tick_add
      Src: /src/haproxy/src/mux_h2.c:910,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/mux_h2.c:910,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/mux_h2.c:917,1
    - Dst: task_queue
      Src: /src/haproxy/src/mux_h2.c:924,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:926,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 927
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 927
    functionName: h2c_update_timeout
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - statistical_prng_range
    - br_data
    - TRACE_ENTER
    - tick_add
    - tick_is_le
    - task_wakeup
    - task_queue
    - tick_first
    - tick_add_ifset
    - b_data
    - tick_isset
    - h2c_may_expire
    linkageType: ''
    returnType: void
    signature: h2c_update_timeout(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_h2.c:932,1
    - Dst: conn_is_reverse
      Src: /src/haproxy/src/mux_h2.c:936,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_h2.c:937,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 4
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 943
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 943
    functionName: h2c_is_dead
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - conn_is_reverse
    - br_data
    - eb_is_empty
    linkageType: ''
    returnType: int
    signature: h2c_is_dead(const struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 972
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 972
    functionName: h2_recv_allowed
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: h2_recv_allowed(const struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:984,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 994
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 994
    functionName: h2_may_demux
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_data
    linkageType: ''
    returnType: int
    signature: h2_may_demux(const struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h2_recv_allowed
      Src: /src/haproxy/src/mux_h2.c:1001,1
    - Dst: h2_may_demux
      Src: /src/haproxy/src/mux_h2.c:1001,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h2.c:1003,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - h2c
    - consider_buffer
    argTypes:
    - struct h2c*
    - int
    constantsTouched: []
    func_position:
      end: 1004
      start: 999
    functionDepth: 2
    functionLinenumber: 999
    functionLinenumberEnd: 1004
    functionName: h2c_restart_reading
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_recv_allowed
    - tasklet_wakeup
    - h2_may_demux
    linkageType: ''
    returnType: void
    signature: h2c_restart_reading(const struct h2c *h2c, int consider_buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h2c_max_concurrent_streams
      Src: /src/haproxy/src/mux_h2.c:1010,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:1011,1
    - Dst: conn_reverse_in_preconnect
      Src: /src/haproxy/src/mux_h2.c:1011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 1012
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1012
    functionName: h2_frt_has_too_many_sc
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - unlikely
    - h2c_max_concurrent_streams
    - conn_reverse_in_preconnect
    linkageType: ''
    returnType: int
    signature: h2_frt_has_too_many_sc(const struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_h2.c:1024,1
    - Dst: h2c_restart_reading
      Src: /src/haproxy/src/mux_h2.c:1026,1
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_h2.c:1030,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:1030,1
    - Dst: h2c_restart_reading
      Src: /src/haproxy/src/mux_h2.c:1035,1
    - Dst: h2c_st_by_id
      Src: /src/haproxy/src/mux_h2.c:1041,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:1041,1
    - Dst: h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:1042,1
    - Dst: h2s_get_rxbuf
      Src: /src/haproxy/src/mux_h2.c:1042,1
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_h2.c:1044,1
    - Dst: _h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:1044,1
    - Dst: h2c_restart_reading
      Src: /src/haproxy/src/mux_h2.c:1046,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - target
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1019
    functionDepth: 3
    functionLinenumber: 1019
    functionLinenumberEnd: 1052
    functionName: h2_buf_available
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - br_tail
    - h2s_rxbuf_tail
    - h2c_st_by_id
    - h2s_get_rxbuf
    - _h2s_rxbuf_tail
    - h2c_restart_reading
    - h2s_sc
    - b_alloc
    linkageType: ''
    returnType: int
    signature: h2_buf_available(void *target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/mux_h2.c:1058,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h2.c:1058,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:1059,1
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_h2.c:1059,1
    - Dst: b_queue
      Src: /src/haproxy/src/mux_h2.c:1060,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - h2c
    - bptr
    argTypes:
    - struct h2c*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1063
    functionName: h2_get_buf
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_queue
    - likely
    - LIST_INLIST
    - unlikely
    - b_alloc
    linkageType: ''
    returnType: struct buffer
    signature: '*h2_get_buf(struct h2c *h2c, struct buffer *bptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_free
      Src: /src/haproxy/src/mux_h2.c:1068,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_h2.c:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - h2c
    - bptr
    argTypes:
    - struct h2c*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1071
    functionName: h2_release_buf
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - offer_buffers
    - b_free
    linkageType: ''
    returnType: void
    signature: h2_release_buf(struct h2c *h2c, struct buffer *bptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:1078,1
    - Dst: br_head_pick
      Src: /src/haproxy/src/mux_h2.c:1078,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_h2.c:1079,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_h2.c:1086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1087
    functionName: h2_release_mbuf
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - offer_buffers
    - br_head_pick
    - b_free
    - b_size
    linkageType: ''
    returnType: void
    signature: h2_release_mbuf(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 1105
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1105
    functionName: h2_streams_left
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: h2_streams_left(const struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 1116
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1116
    functionName: h2_used_streams
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: h2_used_streams(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/src/mux_h2.c:1121,1
    - Dst: h2_streams_left
      Src: /src/haproxy/src/mux_h2.c:1138,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_h2.c:1139,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_h2.c:1142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 1145
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1145
    functionName: h2_avail_streams
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - objt_server
    - h2_streams_left
    - MIN
    linkageType: ''
    returnType: int
    signature: h2_avail_streams(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/mux_h2.c:1157,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/mux_h2.c:1158,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:1160,1
    - Dst: h2c_st_to_str
      Src: /src/haproxy/src/mux_h2.c:1161,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/mux_h2.c:1164,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:1167,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:1168,1
    - Dst: h2s_st_to_str
      Src: /src/haproxy/src/mux_h2.c:1168,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:1171,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_h2.c:1173,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/mux_h2.c:1173,1
    - Dst: istscpy
      Src: /src/haproxy/src/mux_h2.c:1174,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:1177,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_h2.c:1179,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/mux_h2.c:1179,1
    - Dst: istscpy
      Src: /src/haproxy/src/mux_h2.c:1180,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:1183,1
    - Dst: TRACE_PRINTF_LOC
      Src: /src/haproxy/src/mux_h2.c:1185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 7
    argNames:
    - hn
    - hv
    - mask
    - trc_loc
    - func
    - h2c
    - h2s
    argTypes:
    - struct ist
    - struct ist
    - uint64_t
    - struct ist
    - char*
    - struct h2c*
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1190
    functionName: _h2_trace_header
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - h2s_st_to_str
    - istscpy
    - ist2
    - chunk_appendf
    - chunk_newstr
    - TRACE_PRINTF_LOC
    - h2c_st_to_str
    linkageType: ''
    returnType: void
    signature: "_h2_trace_header(const struct ist hn, const struct ist hv,\n\t\t      uint64_t
      mask, const struct ist trc_loc, const char *func,\n\t\t      const struct h2c
      *h2c, const struct h2s *h2s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENABLED
      Src: /src/haproxy/src/mux_h2.c:1198,1
    - Dst: _h2_trace_header
      Src: /src/haproxy/src/mux_h2.c:1199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 7
    argNames:
    - hn
    - hv
    - mask
    - trc_loc
    - func
    - h2c
    - h2s
    argTypes:
    - struct ist
    - struct ist
    - uint64_t
    - struct ist
    - char*
    - struct h2c*
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 1200
      start: 1193
    functionDepth: 2
    functionLinenumber: 1193
    functionLinenumberEnd: 1200
    functionName: h2_trace_header
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 1
    functionsReached:
    - TRACE_ENABLED
    - _h2_trace_header
    linkageType: ''
    returnType: void
    signature: "h2_trace_header(const struct ist hn, const struct ist hv,\n\t\t\t\t
      \  uint64_t mask, const struct ist trc_loc, const char *func,\n\t\t\t\t   const
      struct h2c *h2c, const struct h2s *h2s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:1218,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/mux_h2.c:1218,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:1220,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/mux_h2.c:1220,1
    - Dst: hpack_encode_header
      Src: /src/haproxy/src/mux_h2.c:1224,1
    - Dst: h2_trace_header
      Src: /src/haproxy/src/mux_h2.c:1226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 8
    argNames:
    - buf
    - hn
    - hv
    - mask
    - trc_loc
    - func
    - h2c
    - h2s
    argTypes:
    - struct buffer*
    - struct ist
    - struct ist
    - uint64_t
    - struct ist
    - char*
    - struct h2c*
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1209
    functionDepth: 3
    functionLinenumber: 1209
    functionLinenumberEnd: 1229
    functionName: h2_encode_header
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_trace_header
    - unlikely
    - HTTP_IS_LWS
    - hpack_encode_header
    linkageType: ''
    returnType: int
    signature: "h2_encode_header(struct buffer *buf, const struct ist hn, const struct
      ist hv,\n\t\t\t\t   uint64_t mask, const struct ist trc_loc, const char *func,\n\t\t\t\t
      \  const struct h2c *h2c, const struct h2s *h2s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:1249,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/mux_h2.c:1251,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_h2.c:1255,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h2.c:1258,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/mux_h2.c:1261,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h2.c:1266,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/mux_h2.c:1269,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h2.c:1279,1
    - Dst: task_new_here
      Src: /src/haproxy/src/mux_h2.c:1280,1
    - Dst: tick_add
      Src: /src/haproxy/src/mux_h2.c:1287,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/mux_h2.c:1290,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_h2.c:1296,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h2.c:1300,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_h2.c:1301,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/mux_h2.c:1306,1
    - Dst: hpack_dht_alloc
      Src: /src/haproxy/src/mux_h2.c:1310,1
    - Dst: h2c_max_concurrent_streams
      Src: /src/haproxy/src/mux_h2.c:1317,1
    - Dst: MAX
      Src: /src/haproxy/src/mux_h2.c:1320,1
    - Dst: bl_init
      Src: /src/haproxy/src/mux_h2.c:1321,1
    - Dst: br_init
      Src: /src/haproxy/src/mux_h2.c:1341,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_h2.c:1346,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_h2.c:1347,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_h2.c:1348,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_h2.c:1349,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:1353,1
    - Dst: task_queue
      Src: /src/haproxy/src/mux_h2.c:1356,1
    - Dst: likely
      Src: /src/haproxy/src/mux_h2.c:1358,1
    - Dst: conn_is_reverse
      Src: /src/haproxy/src/mux_h2.c:1358,1
    - Dst: h2c_bck_stream_new
      Src: /src/haproxy/src/mux_h2.c:1366,1
    - Dst: proxy_inc_fe_cum_sess_ver_ctr
      Src: /src/haproxy/src/mux_h2.c:1372,1
    - Dst: conn_is_reverse
      Src: /src/haproxy/src/mux_h2.c:1375,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:1376,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:1377,1
    - Dst: h2c_restart_reading
      Src: /src/haproxy/src/mux_h2.c:1381,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:1382,1
    - Dst: hpack_dht_free
      Src: /src/haproxy/src/mux_h2.c:1385,1
    - Dst: task_destroy
      Src: /src/haproxy/src/mux_h2.c:1387,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_h2.c:1388,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_h2.c:1389,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_h2.c:1391,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_h2.c:1392,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:1394,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 120
    argCount: 4
    argNames:
    - conn
    - prx
    - sess
    - input
    argTypes:
    - struct connection*
    - struct proxy*
    - struct session*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1396
      start: 1241
    functionDepth: 3
    functionLinenumber: 1241
    functionLinenumberEnd: 1396
    functionName: h2_init
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - bl_init
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - pool_alloc
    - h2c_bck_stream_new
    - EXTRA_COUNTERS_GET
    - likely
    - tasklet_new
    - task_new_here
    - hpack_dht_alloc
    - TRACE_LEAVE
    - proxy_inc_fe_cum_sess_ver_ctr
    - MAX
    - task_queue
    - LIST_DEL_INIT
    - LIST_INLIST
    - h2c_max_concurrent_streams
    - tasklet_free
    - pool_free
    - conn_is_back
    - LIST_INIT
    - TRACE_DEVEL
    - conn_is_reverse
    - TRACE_USER
    - hpack_dht_free
    - tick_add
    - LIST_APPEND
    - br_init
    - h2c_restart_reading
    - task_destroy
    - tick_isset
    linkageType: ''
    returnType: int
    signature: "h2_init(struct connection *conn, struct proxy *prx, struct session
      *sess,\n\t\t   struct buffer *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 1408
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1408
    functionName: h2c_get_next_sid
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: h2c_get_next_sid(const struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup
      Src: /src/haproxy/src/mux_h2.c:1421,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_h2.c:1425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - h2c
    - id
    argTypes:
    - struct h2c*
    - int
    constantsTouched: []
    func_position:
      end: 1426
      start: 1411
    functionDepth: 1
    functionLinenumber: 1411
    functionLinenumberEnd: 1426
    functionName: h2c_st_by_id
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 1
    functionsReached:
    - container_of
    - eb32_lookup
    linkageType: ''
    returnType: struct h2s
    signature: '*h2c_st_by_id(struct h2c *h2c, int id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:1435,1
    - Dst: hpack_dht_free
      Src: /src/haproxy/src/mux_h2.c:1437,1
    - Dst: b_dequeue
      Src: /src/haproxy/src/mux_h2.c:1439,1
    - Dst: h2_release_buf
      Src: /src/haproxy/src/mux_h2.c:1441,1
    - Dst: h2_release_mbuf
      Src: /src/haproxy/src/mux_h2.c:1442,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/mux_h2.c:1446,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_h2.c:1449,1
    - Dst: struct connection*::xprt::unsubscribe
      Src: /src/haproxy/src/mux_h2.c:1452,1
    - Dst: h2c_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:1454,1
    - Dst: conn_is_reverse
      Src: /src/haproxy/src/mux_h2.c:1458,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/mux_h2.c:1459,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_h2.c:1461,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_h2.c:1462,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_h2.c:1465,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_h2.c:1466,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:1470,1
    - Dst: conn_stop_tracking
      Src: /src/haproxy/src/mux_h2.c:1472,1
    - Dst: conn_xprt_shutw
      Src: /src/haproxy/src/mux_h2.c:1481,1
    - Dst: conn_xprt_close
      Src: /src/haproxy/src/mux_h2.c:1482,1
    - Dst: conn_sock_shutw
      Src: /src/haproxy/src/mux_h2.c:1483,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_h2.c:1483,1
    - Dst: conn_ctrl_close
      Src: /src/haproxy/src/mux_h2.c:1484,1
    - Dst: struct connection*::destroy_cb
      Src: /src/haproxy/src/mux_h2.c:1487,1
    - Dst: conn_free
      Src: /src/haproxy/src/mux_h2.c:1488,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:1491,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 1492
      start: 1431
    functionDepth: 3
    functionLinenumber: 1431
    functionLinenumberEnd: 1492
    functionName: h2_release
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - struct connection*::destroy_cb
    - TRACE_ENTER
    - h2c_report_term_evt
    - conn_sock_shutw
    - conn_ctrl_close
    - TRACE_LEAVE
    - task_wakeup
    - conn_xprt_close
    - h2_release_mbuf
    - HA_ATOMIC_DEC
    - LIST_DEL_INIT
    - tasklet_free
    - pool_free
    - conn_stop_tracking
    - conn_is_back
    - TRACE_DEVEL
    - conn_is_reverse
    - b_dequeue
    - conn_free
    - hpack_dht_free
    - struct connection*::xprt::unsubscribe
    - h2_release_buf
    - conn_xprt_shutw
    linkageType: ''
    returnType: void
    signature: h2_release(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 1503
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1503
    functionName: h2s_id
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __maybe_unused
    signature: h2s_id(const struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 1511
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1511
    functionName: h2s_mws
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: h2s_mws(const struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - h2s
    - reason
    argTypes:
    - struct h2s*
    - struct se_abort_info*
    constantsTouched: []
    func_position:
      end: 1525
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1525
    functionName: h2s_is_forwardable_abort
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: h2s_is_forwardable_abort(struct h2s *h2s, struct se_abort_info *reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h2.c:1534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - h2c
    - err
    argTypes:
    - struct h2c*
    - enum h2_err
    constantsTouched: []
    func_position:
      end: 1539
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1539
    functionName: h2c_error
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    linkageType: ''
    returnType: __maybe_unused
    signature: h2c_error(struct h2c *h2c, enum h2_err err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h2.c:1547,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_h2.c:1551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - h2s
    - err
    argTypes:
    - struct h2s*
    - enum h2_err
    constantsTouched: []
    func_position:
      end: 1553
      start: 1544
    functionDepth: 1
    functionLinenumber: 1544
    functionLinenumberEnd: 1553
    functionName: h2s_error
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - se_fl_set_error
    linkageType: ''
    returnType: __maybe_unused
    signature: h2s_error(struct h2s *h2s, enum h2_err err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h2.c:1559,1
    - Dst: tasklet_wakeup_after
      Src: /src/haproxy/src/mux_h2.c:1562,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h2.c:1564,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 1569
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1569
    functionName: __maybe_unused::h2s_notify_recv
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - tasklet_wakeup_after
    - TRACE_POINT
    - tasklet_wakeup
    linkageType: ''
    returnType: void
    signature: __maybe_unused h2s_notify_recv(struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h2.c:1575,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h2.c:1577,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h2.c:1583,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h2.c:1584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 1586
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1586
    functionName: __maybe_unused::h2s_notify_send
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - tasklet_wakeup
    linkageType: ''
    returnType: void
    signature: __maybe_unused h2s_notify_send(struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:1598,1
    - Dst: __maybe_unused::h2s_notify_recv
      Src: /src/haproxy/src/mux_h2.c:1602,1
    - Dst: __maybe_unused::h2s_notify_send
      Src: /src/haproxy/src/mux_h2.c:1603,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:1605,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:1605,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_h2.c:1606,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:1607,1
    - Dst: wake
      Src: /src/haproxy/src/mux_h2.c:1607,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:1607,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:1610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 1611
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1611
    functionName: __maybe_unused::h2s_alert
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - __maybe_unused::h2s_notify_recv
    - TRACE_POINT
    - TRACE_LEAVE
    - TRACE_ENTER
    - __maybe_unused::h2s_notify_send
    - wake
    - h2s_sc
    linkageType: ''
    returnType: void
    signature: __maybe_unused h2s_alert(struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:1631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - h2c
    - increment
    argTypes:
    - struct h2c*
    - int
    constantsTouched: []
    func_position:
      end: 1635
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1635
    functionName: _h2c_report_glitch
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2c_error
    linkageType: ''
    returnType: int
    signature: _h2c_report_glitch(struct h2c *h2c, int increment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_n16
      Src: /src/haproxy/src/mux_h2.c:1643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - frame
    - len
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1644
      start: 1638
    functionDepth: 1
    functionLinenumber: 1638
    functionLinenumberEnd: 1644
    functionName: h2_set_frame_size
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - write_n16
    linkageType: ''
    returnType: __maybe_unused
    signature: h2_set_frame_size(void *frame, uint32_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readv_bytes
      Src: /src/haproxy/src/mux_h2.c:1655,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_h2.c:1655,1
    - Dst: b_wrap
      Src: /src/haproxy/src/mux_h2.c:1655,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_h2.c:1655,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:1655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dst
    - bytes
    - b
    - o
    argTypes:
    - void*
    - size_t
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 1656
      start: 1652
    functionDepth: 1
    functionLinenumber: 1652
    functionLinenumberEnd: 1656
    functionName: h2_get_buf_bytes
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_peek
    - b_orig
    - readv_bytes
    - b_wrap
    linkageType: ''
    returnType: __maybe_unused
    signature: "h2_get_buf_bytes(void *dst, size_t bytes,\n                                    const
      struct buffer *b, int o)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readv_n16
      Src: /src/haproxy/src/mux_h2.c:1660,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_h2.c:1660,1
    - Dst: b_wrap
      Src: /src/haproxy/src/mux_h2.c:1660,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_h2.c:1660,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:1660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - o
    argTypes:
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 1661
      start: 1658
    functionDepth: 1
    functionLinenumber: 1658
    functionLinenumberEnd: 1661
    functionName: h2_get_n16
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_peek
    - readv_n16
    - b_orig
    - b_wrap
    linkageType: ''
    returnType: __maybe_unused
    signature: h2_get_n16(const struct buffer *b, int o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readv_n32
      Src: /src/haproxy/src/mux_h2.c:1665,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_h2.c:1665,1
    - Dst: b_wrap
      Src: /src/haproxy/src/mux_h2.c:1665,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_h2.c:1665,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - o
    argTypes:
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 1666
      start: 1663
    functionDepth: 1
    functionLinenumber: 1663
    functionLinenumberEnd: 1666
    functionName: h2_get_n32
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_peek
    - readv_n32
    - b_orig
    - b_wrap
    linkageType: ''
    returnType: __maybe_unused
    signature: h2_get_n32(const struct buffer *b, int o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readv_n64
      Src: /src/haproxy/src/mux_h2.c:1670,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_h2.c:1670,1
    - Dst: b_wrap
      Src: /src/haproxy/src/mux_h2.c:1670,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_h2.c:1670,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:1670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - o
    argTypes:
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 1671
      start: 1668
    functionDepth: 1
    functionLinenumber: 1668
    functionLinenumberEnd: 1671
    functionName: h2_get_n64
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_peek
    - readv_n64
    - b_orig
    - b_wrap
    linkageType: ''
    returnType: __maybe_unused
    signature: h2_get_n64(const struct buffer *b, int o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:1695,1
    - Dst: h2_get_n64
      Src: /src/haproxy/src/mux_h2.c:1698,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_h2.c:1699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - b
    - o
    - h
    argTypes:
    - struct buffer*
    - int
    - struct h2_fh*
    constantsTouched: []
    func_position:
      end: 1705
      start: 1691
    functionDepth: 2
    functionLinenumber: 1691
    functionLinenumberEnd: 1705
    functionName: h2_peek_frame_hdr
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_peek
    - b_data
    - h2_get_n64
    linkageType: ''
    returnType: __maybe_unused
    signature: h2_peek_frame_hdr(const struct buffer *b, int o, struct h2_fh *h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_del
      Src: /src/haproxy/src/mux_h2.c:1712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1713
      start: 1710
    functionDepth: 1
    functionLinenumber: 1710
    functionLinenumberEnd: 1713
    functionName: h2_skip_frame_hdr
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_del
    linkageType: ''
    returnType: __maybe_unused
    signature: h2_skip_frame_hdr(struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h2_peek_frame_hdr
      Src: /src/haproxy/src/mux_h2.c:1720,1
    - Dst: h2_skip_frame_hdr
      Src: /src/haproxy/src/mux_h2.c:1722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - h
    argTypes:
    - struct buffer*
    - struct h2_fh*
    constantsTouched: []
    func_position:
      end: 1724
      start: 1716
    functionDepth: 3
    functionLinenumber: 1716
    functionLinenumberEnd: 1724
    functionName: h2_get_frame_hdr
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_peek_frame_hdr
    - h2_skip_frame_hdr
    linkageType: ''
    returnType: __maybe_unused
    signature: h2_get_frame_hdr(struct buffer *b, struct h2_fh *h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/haproxy/src/mux_h2.c:1758,1
    - Dst: h2_set_frame_size
      Src: /src/haproxy/src/mux_h2.c:1762,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:1765,1
    - Dst: read_n32
      Src: /src/haproxy/src/mux_h2.c:1765,1
    - Dst: h2_set_frame_size
      Src: /src/haproxy/src/mux_h2.c:1769,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - b
    - mfs
    argTypes:
    - struct buffer*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1771
      start: 1735
    functionDepth: 2
    functionLinenumber: 1735
    functionLinenumberEnd: 1771
    functionName: h2_fragment_headers
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_set_frame_size
    - memmove
    - read_n32
    - write_n32
    linkageType: ''
    returnType: int
    signature: h2_fragment_headers(struct buffer *b, uint32_t mfs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:1779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 1783
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1783
    functionName: h2s_count_as_receiving
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    linkageType: ''
    returnType: void
    signature: h2s_count_as_receiving(struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:1791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 1795
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1795
    functionName: h2s_no_longer_receiving
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    linkageType: ''
    returnType: void
    signature: h2s_no_longer_receiving(struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:1806,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:1807,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:1811,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h2.c:1812,1
    - Dst: h2s_rxbuf_head
      Src: /src/haproxy/src/mux_h2.c:1813,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:1813,1
    - Dst: h2s_rxbuf_head
      Src: /src/haproxy/src/mux_h2.c:1813,1
    - Dst: h2s_notify_recv
      Src: /src/haproxy/src/mux_h2.c:1814,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/mux_h2.c:1816,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:1818,1
    - Dst: h2s_no_longer_receiving
      Src: /src/haproxy/src/mux_h2.c:1821,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 1822
      start: 1803
    functionDepth: 2
    functionLinenumber: 1803
    functionLinenumberEnd: 1822
    functionName: h2s_close
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2s_rxbuf_head
    - TRACE_LEAVE
    - h2s_sc
    - se_fl_test
    - TRACE_ENTER
    - h2s_notify_recv
    - HA_ATOMIC_DEC
    - b_data
    - TRACE_STATE
    - h2s_no_longer_receiving
    linkageType: ''
    returnType: void
    signature: h2s_close(struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:1830,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:1833,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:1834,1
    - Dst: h2c_read0_pending
      Src: /src/haproxy/src/mux_h2.c:1837,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:1838,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h2.c:1839,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:1840,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:1841,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:1844,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h2.c:1846,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:1847,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - h2c
    - h2s
    argTypes:
    - struct h2c*
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 1848
      start: 1827
    functionDepth: 1
    functionLinenumber: 1827
    functionLinenumberEnd: 1848
    functionName: h2s_propagate_term_flags
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - se_report_term_evt
    - se_fl_set
    - se_fl_test
    - h2c_read0_pending
    linkageType: ''
    returnType: void
    signature: h2s_propagate_term_flags(struct h2c *h2c, struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:1860,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:1862,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/mux_h2.c:1863,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_h2.c:1866,1
    - Dst: bl_put
      Src: /src/haproxy/src/mux_h2.c:1867,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_h2.c:1872,1
    - Dst: h2c_restart_reading
      Src: /src/haproxy/src/mux_h2.c:1876,1
    - Dst: h2_remove_from_list
      Src: /src/haproxy/src/mux_h2.c:1887,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_h2.c:1890,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:1891,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h2.c:1891,1
    - Dst: sedesc_free
      Src: /src/haproxy/src/mux_h2.c:1892,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_h2.c:1893,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:1895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 1896
      start: 1855
    functionDepth: 3
    functionLinenumber: 1855
    functionLinenumberEnd: 1896
    functionName: h2s_destroy
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_remove_from_list
    - TRACE_LEAVE
    - bl_put
    - eb32_delete
    - b_free
    - tasklet_free
    - se_fl_test
    - TRACE_ENTER
    - pool_free
    - offer_buffers
    - sedesc_free
    - h2c_restart_reading
    - h2s_close
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: h2s_destroy(struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:1909,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/mux_h2.c:1911,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/mux_h2.c:1915,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_h2.c:1917,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_h2.c:1923,1
    - Dst: memset
      Src: /src/haproxy/src/mux_h2.c:1936,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/mux_h2.c:1954,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:1957,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:1958,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:1960,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:1963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 2
    argNames:
    - h2c
    - id
    argTypes:
    - struct h2c*
    - int
    constantsTouched: []
    func_position:
      end: 1965
      start: 1904
    functionDepth: 1
    functionLinenumber: 1904
    functionLinenumberEnd: 1965
    functionName: h2s_new
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - eb32_insert
    - pool_free
    - pool_alloc
    - LIST_INIT
    - tasklet_new
    - TRACE_DEVEL
    - memset
    linkageType: ''
    returnType: struct h2s
    signature: '*h2s_new(struct h2c *h2c, int id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:1978,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:1981,1
    - Dst: conn_reverse_in_preconnect
      Src: /src/haproxy/src/mux_h2.c:1981,1
    - Dst: h2c_max_concurrent_streams
      Src: /src/haproxy/src/mux_h2.c:1983,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:1984,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:1985,1
    - Dst: session_inc_http_req_ctr
      Src: /src/haproxy/src/mux_h2.c:1986,1
    - Dst: session_inc_http_err_ctr
      Src: /src/haproxy/src/mux_h2.c:1987,1
    - Dst: h2s_new
      Src: /src/haproxy/src/mux_h2.c:1991,1
    - Dst: sedesc_new
      Src: /src/haproxy/src/mux_h2.c:1995,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:2000,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:2003,1
    - Dst: se_expect_no_data
      Src: /src/haproxy/src/mux_h2.c:2009,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:2015,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/mux_h2.c:2022,1
    - Dst: sc_new_from_endp
      Src: /src/haproxy/src/mux_h2.c:2024,1
    - Dst: h2_frt_has_too_many_sc
      Src: /src/haproxy/src/mux_h2.c:2040,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:2043,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2044,1
    - Dst: h2s_destroy
      Src: /src/haproxy/src/mux_h2.c:2048,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:2050,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:2052,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2053,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 4
    argNames:
    - h2c
    - id
    - input
    - flags
    argTypes:
    - struct h2c*
    - int
    - struct buffer*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2055
      start: 1973
    functionDepth: 4
    functionLinenumber: 1973
    functionLinenumberEnd: 2055
    functionName: h2c_frt_stream_new
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - conn_reverse_in_preconnect
    - TRACE_ENTER
    - se_expect_no_data
    - sess_log
    - BUG_ON
    - TRACE_LEAVE
    - h2c_max_concurrent_streams
    - sedesc_new
    - session_inc_http_req_ctr
    - h2_frt_has_too_many_sc
    - sc_new_from_endp
    - h2s_destroy
    - h2s_new
    - session_inc_http_err_ctr
    - TRACE_ERROR
    - h2c_report_glitch
    - se_fl_set
    - ns_to_ms
    - TRACE_STATE
    linkageType: ''
    returnType: struct h2s
    signature: '*h2c_frt_stream_new(struct h2c *h2c, int id, struct buffer *input,
      uint32_t flags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2065,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:2068,1
    - Dst: conn_reverse_in_preconnect
      Src: /src/haproxy/src/mux_h2.c:2068,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:2071,1
    - Dst: h2_streams_left
      Src: /src/haproxy/src/mux_h2.c:2075,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:2076,1
    - Dst: h2s_new
      Src: /src/haproxy/src/mux_h2.c:2081,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:2083,1
    - Dst: sc_attach_mux
      Src: /src/haproxy/src/mux_h2.c:2087,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:2088,1
    - Dst: h2s_destroy
      Src: /src/haproxy/src/mux_h2.c:2089,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:2098,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:2101,1
    - Dst: likely
      Src: /src/haproxy/src/mux_h2.c:2104,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2105,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - h2c
    - sc
    - sess
    argTypes:
    - struct h2c*
    - struct stconn*
    - struct session*
    constantsTouched: []
    func_position:
      end: 2109
      start: 2061
    functionDepth: 4
    functionLinenumber: 2061
    functionLinenumberEnd: 2109
    functionName: h2c_bck_stream_new
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 1
    functionsReached:
    - TRACE_LEAVE
    - sc_attach_mux
    - conn_reverse_in_preconnect
    - TRACE_ENTER
    - h2s_new
    - h2_streams_left
    - se_fl_set
    - TRACE_ERROR
    - likely
    - TRACE_STATE
    - h2s_destroy
    - BUG_ON
    linkageType: ''
    returnType: struct h2s
    signature: '*h2c_bck_stream_new(struct h2c *h2c, struct stconn *sc, struct session
      *sess)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2125,1
    - Dst: chunk_init
      Src: /src/haproxy/src/mux_h2.c:2127,1
    - Dst: chunk_memcpy
      Src: /src/haproxy/src/mux_h2.c:2128,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h2.c:2136,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h2.c:2142,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:2147,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h2.c:2148,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:2159,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h2.c:2160,1
    - Dst: h2c_max_concurrent_streams
      Src: /src/haproxy/src/mux_h2.c:2163,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:2170,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h2.c:2171,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:2188,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_h2.c:2189,1
    - Dst: h2_set_frame_size
      Src: /src/haproxy/src/mux_h2.c:2192,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:2194,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:2196,1
    - Dst: b_istput
      Src: /src/haproxy/src/mux_h2.c:2202,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_h2.c:2202,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:2203,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:2205,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:2211,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2216,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 2218
      start: 2115
    functionDepth: 2
    functionLinenumber: 2115
    functionLinenumberEnd: 2218
    functionName: h2c_send_settings
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - chunk_memcpy
    - h2_set_frame_size
    - b_istput
    - TRACE_LEAVE
    - chunk_init
    - br_tail
    - br_tail_add
    - TRACE_ENTER
    - chunk_memcat
    - ist2
    - unlikely
    - h2c_max_concurrent_streams
    - h2_get_buf
    - h2c_error
    - write_n32
    linkageType: ''
    returnType: int
    signature: h2c_send_settings(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2229,1
    - Dst: b_isteq
      Src: /src/haproxy/src/mux_h2.c:2231,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:2231,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:2231,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:2233,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:2237,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:2238,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:2239,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:2240,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:2242,1
    - Dst: h2c_send_settings
      Src: /src/haproxy/src/mux_h2.c:2248,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_h2.c:2250,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 2254
      start: 2224
    functionDepth: 3
    functionLinenumber: 2224
    functionLinenumberEnd: 2254
    functionName: h2c_frt_recv_preface
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - ist
    - b_del
    - b_isteq
    - b_data
    - h2c_report_glitch
    - TRACE_ERROR
    - unlikely
    - h2c_send_settings
    - h2c_error
    linkageType: ''
    returnType: int
    signature: h2c_frt_recv_preface(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2265,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:2267,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:2269,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:2275,1
    - Dst: b_istput
      Src: /src/haproxy/src/mux_h2.c:2277,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:2277,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:2278,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:2280,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:2287,1
    - Dst: h2c_send_settings
      Src: /src/haproxy/src/mux_h2.c:2293,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2295,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 2297
      start: 2260
    functionDepth: 3
    functionLinenumber: 2260
    functionLinenumberEnd: 2297
    functionName: h2c_bck_send_preface
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_istput
    - TRACE_LEAVE
    - br_tail
    - br_tail_add
    - TRACE_ENTER
    - ist
    - b_data
    - unlikely
    - h2_get_buf
    - h2c_send_settings
    - h2c_error
    linkageType: ''
    returnType: int
    signature: h2c_bck_send_preface(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2315,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:2323,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:2328,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:2329,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:2331,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:2333,1
    - Dst: b_istput
      Src: /src/haproxy/src/mux_h2.c:2342,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_h2.c:2342,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:2343,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:2345,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:2358,1
    - Dst: h2c_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:2370,1
    - Dst: h2c_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:2379,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:2380,1
    - Dst: h2c_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:2384,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:2385,1
    - Dst: h2c_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:2389,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:2390,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2393,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 2
    argNames:
    - h2c
    - h2s
    argTypes:
    - struct h2c*
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 2395
      start: 2309
    functionDepth: 2
    functionLinenumber: 2309
    functionLinenumberEnd: 2395
    functionName: h2c_send_goaway_error
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_istput
    - TRACE_LEAVE
    - br_tail
    - br_tail_add
    - TRACE_ENTER
    - ist2
    - HA_ATOMIC_INC
    - h2c_report_term_evt
    - memcpy
    - unlikely
    - h2_get_buf
    - h2c_error
    - write_n32
    linkageType: ''
    returnType: int
    signature: h2c_send_goaway_error(struct h2c *h2c, struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2412,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:2430,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:2431,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:2432,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:2434,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:2436,1
    - Dst: b_istput
      Src: /src/haproxy/src/mux_h2.c:2442,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_h2.c:2442,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:2443,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:2445,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:2452,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:2460,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2462,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - h2c
    - h2s
    argTypes:
    - struct h2c*
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 2464
      start: 2406
    functionDepth: 3
    functionLinenumber: 2406
    functionLinenumberEnd: 2464
    functionName: h2s_send_rst_stream
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_istput
    - TRACE_LEAVE
    - h2s_close
    - br_tail
    - br_tail_add
    - TRACE_ENTER
    - ist2
    - memcpy
    - unlikely
    - h2_get_buf
    - h2c_error
    - write_n32
    linkageType: ''
    returnType: int
    signature: h2s_send_rst_stream(struct h2c *h2c, struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2482,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:2493,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:2495,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:2496,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:2498,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:2500,1
    - Dst: b_istput
      Src: /src/haproxy/src/mux_h2.c:2506,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_h2.c:2506,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:2507,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:2509,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:2516,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:2528,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:2533,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:2536,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:2539,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:2545,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:2549,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2550,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 2
    argNames:
    - h2c
    - h2s
    argTypes:
    - struct h2c*
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 2552
      start: 2476
    functionDepth: 3
    functionLinenumber: 2476
    functionLinenumberEnd: 2552
    functionName: h2c_send_rst_stream
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_istput
    - TRACE_LEAVE
    - h2s_close
    - br_tail
    - br_tail_add
    - TRACE_ENTER
    - ist2
    - HA_ATOMIC_INC
    - se_report_term_evt
    - memcpy
    - unlikely
    - h2_get_buf
    - h2c_error
    - write_n32
    linkageType: ''
    returnType: int
    signature: h2c_send_rst_stream(struct h2c *h2c, struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2567,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:2575,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:2576,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:2578,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:2580,1
    - Dst: b_istput
      Src: /src/haproxy/src/mux_h2.c:2586,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_h2.c:2586,1
    - Dst: likely
      Src: /src/haproxy/src/mux_h2.c:2587,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:2591,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:2597,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2601,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 2603
      start: 2560
    functionDepth: 2
    functionLinenumber: 2560
    functionLinenumberEnd: 2603
    functionName: h2_send_empty_data_es
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_istput
    - TRACE_LEAVE
    - br_tail
    - br_tail_add
    - TRACE_ENTER
    - ist2
    - likely
    - memcpy
    - h2_get_buf
    - h2c_error
    - write_n32
    linkageType: ''
    returnType: int
    signature: h2_send_empty_data_es(struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2614,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:2616,1
    - Dst: h2s_destroy
      Src: /src/haproxy/src/mux_h2.c:2618,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:2619,1
    - Dst: h2c_read0_pending
      Src: /src/haproxy/src/mux_h2.c:2623,1
    - Dst: h2s_no_longer_receiving
      Src: /src/haproxy/src/mux_h2.c:2624,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:2628,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_h2.c:2634,1
    - Dst: h2s_propagate_term_flags
      Src: /src/haproxy/src/mux_h2.c:2635,1
    - Dst: h2s_alert
      Src: /src/haproxy/src/mux_h2.c:2641,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2642,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 2643
      start: 2610
    functionDepth: 4
    functionLinenumber: 2610
    functionLinenumberEnd: 2643
    functionName: h2s_wake_one_stream
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - se_fl_set_error
    - h2s_propagate_term_flags
    - TRACE_ENTER
    - h2s_alert
    - h2c_read0_pending
    - TRACE_DEVEL
    - h2s_close
    - h2s_sc
    - h2s_destroy
    - h2s_no_longer_receiving
    linkageType: ''
    returnType: void
    signature: h2s_wake_one_stream(struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2653,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/mux_h2.c:2656,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_h2.c:2658,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_h2.c:2659,1
    - Dst: h2s_wake_one_stream
      Src: /src/haproxy/src/mux_h2.c:2660,1
    - Dst: eb32_lookup
      Src: /src/haproxy/src/mux_h2.c:2664,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_h2.c:2666,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_h2.c:2669,1
    - Dst: h2s_wake_one_stream
      Src: /src/haproxy/src/mux_h2.c:2670,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - h2c
    - last
    argTypes:
    - struct h2c*
    - int
    constantsTouched: []
    func_position:
      end: 2674
      start: 2648
    functionDepth: 5
    functionLinenumber: 2648
    functionLinenumberEnd: 2674
    functionName: h2_wake_some_streams
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - container_of
    - TRACE_ENTER
    - h2s_wake_one_stream
    - eb32_lookup
    - eb32_next
    - eb32_lookup_ge
    linkageType: ''
    returnType: void
    signature: h2_wake_some_streams(struct h2c *h2c, int last)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2685,1
    - Dst: eb32_first
      Src: /src/haproxy/src/mux_h2.c:2687,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_h2.c:2689,1
    - Dst: h2s_mws
      Src: /src/haproxy/src/mux_h2.c:2690,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_h2.c:2692,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_h2.c:2695,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_h2.c:2697,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2700,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 2701
      start: 2680
    functionDepth: 1
    functionLinenumber: 2680
    functionLinenumberEnd: 2701
    functionName: h2c_unblock_sfctl
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - container_of
    - TRACE_ENTER
    - LIST_APPEND
    - eb32_next
    - LIST_DEL_INIT
    - eb32_first
    - h2s_mws
    linkageType: ''
    returnType: void
    signature: h2c_unblock_sfctl(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2713,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:2724,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:2741,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:2742,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:2751,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:2753,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:2761,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:2762,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:2764,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:2774,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:2775,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:2777,1
    - Dst: h2c_max_concurrent_streams
      Src: /src/haproxy/src/mux_h2.c:2784,1
    - Dst: h2c_max_concurrent_streams
      Src: /src/haproxy/src/mux_h2.c:2785,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2799,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:2803,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:2804,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:2806,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 86
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 2808
      start: 2708
    functionDepth: 1
    functionLinenumber: 2708
    functionLinenumberEnd: 2808
    functionName: h2c_handle_settings
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - TRACE_ERROR
    - b_data
    - h2c_report_glitch
    - sess_log
    - TRACE_STATE
    - TRACE_DEVEL
    - h2c_max_concurrent_streams
    - h2c_error
    linkageType: ''
    returnType: int
    signature: h2c_handle_settings(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2819,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:2821,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:2826,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:2828,1
    - Dst: b_istput
      Src: /src/haproxy/src/mux_h2.c:2834,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_h2.c:2834,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:2835,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:2837,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:2843,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2848,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 2850
      start: 2813
    functionDepth: 2
    functionLinenumber: 2813
    functionLinenumberEnd: 2850
    functionName: h2c_ack_settings
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_istput
    - TRACE_LEAVE
    - br_tail
    - br_tail_add
    - TRACE_ENTER
    - ist2
    - h2_get_buf
    - unlikely
    - memcpy
    - h2c_error
    linkageType: ''
    returnType: int
    signature: h2c_ack_settings(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 2863
      start: 2857
    functionDepth: 0
    functionLinenumber: 2857
    functionLinenumberEnd: 2863
    functionName: h2c_handle_ping
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: h2c_handle_ping(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2875,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:2878,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:2879,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:2880,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:2882,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:2884,1
    - Dst: b_istput
      Src: /src/haproxy/src/mux_h2.c:2890,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_h2.c:2890,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:2891,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:2893,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:2899,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2904,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - h2c
    - sid
    - increment
    argTypes:
    - struct h2c*
    - int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2906
      start: 2869
    functionDepth: 2
    functionLinenumber: 2869
    functionLinenumberEnd: 2906
    functionName: h2c_send_window_update
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_istput
    - TRACE_LEAVE
    - br_tail
    - br_tail_add
    - TRACE_ENTER
    - ist2
    - memcpy
    - unlikely
    - h2_get_buf
    - h2c_error
    - write_n32
    linkageType: ''
    returnType: int
    signature: h2c_send_window_update(struct h2c *h2c, int sid, uint32_t increment)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:2916,1
    - Dst: h2c_send_window_update
      Src: /src/haproxy/src/mux_h2.c:2930,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:2935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 2937
      start: 2912
    functionDepth: 3
    functionLinenumber: 2912
    functionLinenumberEnd: 2937
    functionName: h2c_send_conn_wu
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - h2c_send_window_update
    - TRACE_LEAVE
    linkageType: ''
    returnType: int
    signature: h2c_send_conn_wu(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h2c_st_by_id
      Src: /src/haproxy/src/mux_h2.c:2952,1
    - Dst: MAX
      Src: /src/haproxy/src/mux_h2.c:2997,1
    - Dst: MAX
      Src: /src/haproxy/src/mux_h2.c:2998,1
    - Dst: bl_size
      Src: /src/haproxy/src/mux_h2.c:2998,1
    - Dst: MAX
      Src: /src/haproxy/src/mux_h2.c:3000,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 3046
      start: 2946
    functionDepth: 2
    functionLinenumber: 2946
    functionLinenumberEnd: 3046
    functionName: h2c_update_strm_rx_win
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - bl_size
    - h2c_st_by_id
    - MAX
    linkageType: ''
    returnType: int
    signature: h2c_update_strm_rx_win(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:3057,1
    - Dst: h2c_send_window_update
      Src: /src/haproxy/src/mux_h2.c:3063,1
    - Dst: h2c_st_by_id
      Src: /src/haproxy/src/mux_h2.c:3066,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:3071,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 3073
      start: 3052
    functionDepth: 3
    functionLinenumber: 3052
    functionLinenumberEnd: 3073
    functionName: h2c_send_strm_wu
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - h2c_send_window_update
    - TRACE_LEAVE
    - h2c_st_by_id
    linkageType: ''
    returnType: int
    signature: h2c_send_strm_wu(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:3084,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:3086,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:3089,1
    - Dst: h2_get_buf_bytes
      Src: /src/haproxy/src/mux_h2.c:3095,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:3097,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:3099,1
    - Dst: b_istput
      Src: /src/haproxy/src/mux_h2.c:3105,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_h2.c:3105,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:3106,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:3108,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:3114,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:3119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 3121
      start: 3078
    functionDepth: 2
    functionLinenumber: 3078
    functionLinenumberEnd: 3121
    functionName: h2c_ack_ping
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_istput
    - TRACE_LEAVE
    - br_tail
    - br_tail_add
    - TRACE_ENTER
    - ist2
    - h2_get_buf_bytes
    - h2_get_buf
    - b_data
    - unlikely
    - memcpy
    - h2c_error
    linkageType: ''
    returnType: int
    signature: h2c_ack_ping(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:3133,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:3136,1
    - Dst: h2_get_n32
      Src: /src/haproxy/src/mux_h2.c:3141,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3151,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3152,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:3154,1
    - Dst: h2s_mws
      Src: /src/haproxy/src/mux_h2.c:3165,1
    - Dst: h2s_mws
      Src: /src/haproxy/src/mux_h2.c:3165,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3166,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3167,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:3169,1
    - Dst: h2s_mws
      Src: /src/haproxy/src/mux_h2.c:3174,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_h2.c:3176,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_h2.c:3179,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3185,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3186,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:3188,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3193,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3194,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:3203,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:3207,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3209,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:3213,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3215,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 2
    argNames:
    - h2c
    - h2s
    argTypes:
    - struct h2c*
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 3217
      start: 3128
    functionDepth: 2
    functionLinenumber: 3128
    functionLinenumberEnd: 3217
    functionName: h2c_handle_window_update
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2s_error
    - TRACE_LEAVE
    - h2_get_n32
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - LIST_APPEND
    - TRACE_ERROR
    - b_data
    - h2c_report_glitch
    - LIST_DEL_INIT
    - TRACE_DEVEL
    - h2s_mws
    - h2c_error
    linkageType: ''
    returnType: int
    signature: h2c_handle_window_update(struct h2c *h2c, struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:3228,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:3230,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3231,1
    - Dst: h2_get_n32
      Src: /src/haproxy/src/mux_h2.c:3236,1
    - Dst: h2_get_n32
      Src: /src/haproxy/src/mux_h2.c:3237,1
    - Dst: h2c_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:3240,1
    - Dst: h2_wake_some_streams
      Src: /src/haproxy/src/mux_h2.c:3241,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:3242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 3244
      start: 3224
    functionDepth: 6
    functionLinenumber: 3224
    functionLinenumberEnd: 3244
    functionName: h2c_handle_goaway
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - h2_get_n32
    - TRACE_ENTER
    - h2c_report_term_evt
    - TRACE_DEVEL
    - b_data
    - h2_wake_some_streams
    linkageType: ''
    returnType: int
    signature: h2c_handle_goaway(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:3253,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:3256,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3257,1
    - Dst: h2_get_n32
      Src: /src/haproxy/src/mux_h2.c:3262,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3264,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3265,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:3266,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:3267,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3268,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:3271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 3273
      start: 3251
    functionDepth: 2
    functionLinenumber: 3251
    functionLinenumberEnd: 3273
    functionName: h2c_handle_priority
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - h2_get_n32
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - TRACE_DEVEL
    - b_data
    - h2c_report_glitch
    - TRACE_ERROR
    - h2c_error
    linkageType: ''
    returnType: int
    signature: h2c_handle_priority(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:3281,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:3284,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3285,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3292,1
    - Dst: h2_get_n32
      Src: /src/haproxy/src/mux_h2.c:3296,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:3297,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:3299,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_h2.c:3300,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:3301,1
    - Dst: h2s_alert
      Src: /src/haproxy/src/mux_h2.c:3306,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:3310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - h2c
    - h2s
    argTypes:
    - struct h2c*
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 3312
      start: 3279
    functionDepth: 3
    functionLinenumber: 3279
    functionLinenumberEnd: 3312
    functionName: h2c_handle_rst_stream
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - h2_get_n32
    - se_fl_set_error
    - TRACE_ENTER
    - h2s_alert
    - TRACE_DEVEL
    - b_data
    - se_report_term_evt
    - h2s_close
    - h2s_sc
    linkageType: ''
    returnType: int
    signature: h2c_handle_rst_stream(struct h2c *h2c, struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:3328,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:3330,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:3335,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_h2.c:3335,1
    - Dst: h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:3344,1
    - Dst: h2s_get_rxbuf
      Src: /src/haproxy/src/mux_h2.c:3344,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:3345,1
    - Dst: h2c_dec_hdrs
      Src: /src/haproxy/src/mux_h2.c:3350,1
    - Dst: h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:3350,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:3353,1
    - Dst: h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:3353,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:3354,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:3371,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:3372,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:3373,1
    - Dst: h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:3373,1
    - Dst: h2c_dec_hdrs
      Src: /src/haproxy/src/mux_h2.c:3382,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:3383,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:3385,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3391,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3392,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:3393,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:3394,1
    - Dst: session_inc_http_req_ctr
      Src: /src/haproxy/src/mux_h2.c:3395,1
    - Dst: session_inc_http_err_ctr
      Src: /src/haproxy/src/mux_h2.c:3396,1
    - Dst: h2c_max_concurrent_streams
      Src: /src/haproxy/src/mux_h2.c:3403,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3409,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:3410,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:3411,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:3412,1
    - Dst: session_inc_http_req_ctr
      Src: /src/haproxy/src/mux_h2.c:3413,1
    - Dst: session_inc_http_err_ctr
      Src: /src/haproxy/src/mux_h2.c:3414,1
    - Dst: h2c_dec_hdrs
      Src: /src/haproxy/src/mux_h2.c:3418,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:3445,1
    - Dst: session_inc_http_req_ctr
      Src: /src/haproxy/src/mux_h2.c:3446,1
    - Dst: session_inc_http_err_ctr
      Src: /src/haproxy/src/mux_h2.c:3447,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:3450,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:3455,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:3459,1
    - Dst: h2c_frt_stream_new
      Src: /src/haproxy/src/mux_h2.c:3468,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:3471,1
    - Dst: h2s_propagate_term_flags
      Src: /src/haproxy/src/mux_h2.c:3478,1
    - Dst: h2s_no_longer_receiving
      Src: /src/haproxy/src/mux_h2.c:3482,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:3486,1
    - Dst: h2s_count_as_receiving
      Src: /src/haproxy/src/mux_h2.c:3489,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:3491,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:3495,1
    - Dst: h2_release_buf
      Src: /src/haproxy/src/mux_h2.c:3497,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3498,1
    - Dst: h2_release_buf
      Src: /src/haproxy/src/mux_h2.c:3510,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3513,1
    - Dst: h2c_max_concurrent_streams
      Src: /src/haproxy/src/mux_h2.c:3527,1
    - Dst: h2c_max_concurrent_streams
      Src: /src/haproxy/src/mux_h2.c:3529,1
    - Dst: h2c_send_goaway_error
      Src: /src/haproxy/src/mux_h2.c:3530,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 151
    argCount: 2
    argNames:
    - h2c
    - h2s
    argTypes:
    - struct h2c*
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 3535
      start: 3321
    functionDepth: 5
    functionLinenumber: 3321
    functionLinenumberEnd: 3535
    functionName: h2c_frt_handle_headers
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_release_buf
    - h2s_rxbuf_tail
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - sess_log
    - h2c_frt_stream_new
    - h2c_error
    - TRACE_LEAVE
    - h2s_propagate_term_flags
    - h2s_get_rxbuf
    - b_size
    - h2c_max_concurrent_streams
    - h2c_send_goaway_error
    - b_full
    - h2s_error
    - session_inc_http_req_ctr
    - h2s_count_as_receiving
    - b_data
    - TRACE_DEVEL
    - h2s_no_longer_receiving
    - TRACE_USER
    - session_inc_http_err_ctr
    - TRACE_ERROR
    - h2c_report_glitch
    - h2s_close
    - TRACE_STATE
    - h2c_dec_hdrs
    linkageType: ''
    returnType: struct h2s
    signature: '*h2c_frt_handle_headers(struct h2c *h2c, struct h2s *h2s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:3549,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:3551,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:3556,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_h2.c:3556,1
    - Dst: h2c_dec_hdrs
      Src: /src/haproxy/src/mux_h2.c:3565,1
    - Dst: h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:3571,1
    - Dst: h2s_get_rxbuf
      Src: /src/haproxy/src/mux_h2.c:3571,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:3572,1
    - Dst: h2c_dec_hdrs
      Src: /src/haproxy/src/mux_h2.c:3577,1
    - Dst: h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:3577,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:3581,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3587,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3588,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:3589,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:3591,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3606,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:3607,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:3609,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h2.c:3613,1
    - Dst: h2s_no_longer_receiving
      Src: /src/haproxy/src/mux_h2.c:3616,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:3620,1
    - Dst: h2s_count_as_receiving
      Src: /src/haproxy/src/mux_h2.c:3623,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:3631,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:3635,1
    - Dst: h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:3635,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:3636,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3639,1
    - Dst: h2_release_buf
      Src: /src/haproxy/src/mux_h2.c:3647,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:3650,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3651,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 2
    argNames:
    - h2c
    - h2s
    argTypes:
    - struct h2c*
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 3653
      start: 3542
    functionDepth: 3
    functionLinenumber: 3542
    functionLinenumberEnd: 3653
    functionName: h2c_bck_handle_headers
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_release_buf
    - h2s_rxbuf_tail
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - TRACE_LEAVE
    - se_fl_test
    - h2s_get_rxbuf
    - b_size
    - b_full
    - h2s_error
    - h2s_count_as_receiving
    - b_data
    - TRACE_DEVEL
    - h2s_no_longer_receiving
    - TRACE_USER
    - TRACE_ERROR
    - h2c_report_glitch
    - h2s_close
    - TRACE_STATE
    - h2c_dec_hdrs
    linkageType: ''
    returnType: struct h2s
    signature: '*h2c_bck_handle_headers(struct h2c *h2c, struct h2s *h2s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:3662,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:3668,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:3673,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_h2.c:3673,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3688,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3689,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:3691,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3696,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3697,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:3699,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3711,1
    - Dst: h2_frt_transfer_data
      Src: /src/haproxy/src/mux_h2.c:3716,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:3722,1
    - Dst: h2s_no_longer_receiving
      Src: /src/haproxy/src/mux_h2.c:3748,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:3752,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3756,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3757,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:3759,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:3769,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:3773,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:3783,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3786,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 88
    argCount: 2
    argNames:
    - h2c
    - h2s
    argTypes:
    - struct h2c*
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 3788
      start: 3658
    functionDepth: 3
    functionLinenumber: 3658
    functionLinenumberEnd: 3788
    functionName: h2c_handle_data
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_full
    - TRACE_STATE
    - h2s_error
    - TRACE_LEAVE
    - h2s_close
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - h2_frt_transfer_data
    - b_data
    - h2c_report_glitch
    - b_size
    - TRACE_ERROR
    - h2s_sc
    - TRACE_DEVEL
    - h2s_no_longer_receiving
    linkageType: ''
    returnType: int
    signature: h2c_handle_data(struct h2c *h2c, struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:3798,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3805,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3806,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:3807,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:3810,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:3812,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3813,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3819,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3820,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:3821,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:3822,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3823,1
    - Dst: h2_ft_bit
      Src: /src/haproxy/src/mux_h2.c:3834,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3835,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3836,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:3837,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:3838,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3841,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:3842,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3844,1
    - Dst: h2_ft_bit
      Src: /src/haproxy/src/mux_h2.c:3860,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3871,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:3872,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3873,1
    - Dst: h2_ft_bit
      Src: /src/haproxy/src/mux_h2.c:3878,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3905,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:3906,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3908,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:3930,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:3931,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:3932,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:3937,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 2
    argNames:
    - h2c
    - h2s
    argTypes:
    - struct h2c*
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 3939
      start: 3796
    functionDepth: 2
    functionLinenumber: 3796
    functionLinenumberEnd: 3939
    functionName: h2_frame_check_vs_state
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2s_error
    - TRACE_LEAVE
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - h2_ft_bit
    - TRACE_ERROR
    - h2c_report_glitch
    - TRACE_DEVEL
    - sess_log
    - h2c_error
    linkageType: ''
    returnType: int
    signature: h2_frame_check_vs_state(struct h2c *h2c, struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:3957,1
    - Dst: conn_reverse
      Src: /src/haproxy/src/mux_h2.c:3959,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:3960,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:3964,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_h2.c:3967,1
    - Dst: __objt_server
      Src: /src/haproxy/src/mux_h2.c:3968,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h2.c:3974,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/mux_h2.c:3977,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/mux_h2.c:3980,1
    - Dst: xprt_set_idle
      Src: /src/haproxy/src/mux_h2.c:3981,1
    - Dst: srv_add_to_idle_list
      Src: /src/haproxy/src/mux_h2.c:3982,1
    - Dst: __objt_listener
      Src: /src/haproxy/src/mux_h2.c:3986,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h2.c:3992,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/mux_h2.c:3995,1
    - Dst: proxy_inc_fe_cum_sess_ver_ctr
      Src: /src/haproxy/src/mux_h2.c:3998,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:4000,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h2.c:4000,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_h2.c:4001,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:4005,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:4006,1
    - Dst: conn_reverse_in_preconnect
      Src: /src/haproxy/src/mux_h2.c:4011,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:4012,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h2.c:4019,1
    - Dst: task_new_here
      Src: /src/haproxy/src/mux_h2.c:4020,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h2.c:4027,1
    - Dst: task_destroy
      Src: /src/haproxy/src/mux_h2.c:4028,1
    - Dst: tick_add
      Src: /src/haproxy/src/mux_h2.c:4034,1
    - Dst: task_queue
      Src: /src/haproxy/src/mux_h2.c:4035,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:4038,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:4042,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:4043,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 4045
      start: 3953
    functionDepth: 4
    functionLinenumber: 3953
    functionLinenumberEnd: 4045
    functionName: h2_conn_reverse
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - conn_reverse_in_preconnect
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - EXTRA_COUNTERS_GET
    - task_new_here
    - BUG_ON
    - h2c_error
    - TRACE_LEAVE
    - proxy_inc_fe_cum_sess_ver_ctr
    - task_queue
    - __objt_server
    - LIST_INLIST
    - xprt_set_idle
    - conn_is_back
    - TRACE_DEVEL
    - __objt_listener
    - TRACE_USER
    - tick_add
    - LIST_APPEND
    - conn_reverse
    - TRACE_ERROR
    - task_destroy
    - tick_isset
    - srv_add_to_idle_list
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: h2_conn_reverse(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:4055,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:4060,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:4062,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:4066,1
    - Dst: h2c_frt_recv_preface
      Src: /src/haproxy/src/mux_h2.c:4066,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4069,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:4071,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4073,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4075,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:4077,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4081,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:4084,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:4092,1
    - Dst: h2_get_frame_hdr
      Src: /src/haproxy/src/mux_h2.c:4093,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:4097,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:4098,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:4101,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:4108,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:4109,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:4110,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:4113,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:4114,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:4120,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:4121,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:4122,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:4125,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:4134,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_h2.c:4144,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4147,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:4148,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:4154,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:4159,1
    - Dst: h2_peek_frame_hdr
      Src: /src/haproxy/src/mux_h2.c:4160,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:4166,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:4167,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:4168,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:4171,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:4173,1
    - Dst: h2c_update_strm_rx_win
      Src: /src/haproxy/src/mux_h2.c:4177,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4181,1
    - Dst: h2c_send_strm_wu
      Src: /src/haproxy/src/mux_h2.c:4182,1
    - Dst: h2_ft_bit
      Src: /src/haproxy/src/mux_h2.c:4188,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:4197,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:4198,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:4199,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:4201,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:4202,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4207,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_h2.c:4212,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:4215,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:4216,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:4220,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:4222,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:4223,1
    - Dst: h2_ft_bit
      Src: /src/haproxy/src/mux_h2.c:4227,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_h2.c:4231,1
    - Dst: h2_skip_frame_hdr
      Src: /src/haproxy/src/mux_h2.c:4233,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:4242,1
    - Dst: h2_frame_check
      Src: /src/haproxy/src/mux_h2.c:4246,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:4248,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:4249,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:4250,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:4252,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:4253,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_h2.c:4266,1
    - Dst: h2c_st_by_id
      Src: /src/haproxy/src/mux_h2.c:4276,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:4278,1
    - Dst: h2s_rxbuf_head
      Src: /src/haproxy/src/mux_h2.c:4279,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4279,1
    - Dst: h2s_rxbuf_head
      Src: /src/haproxy/src/mux_h2.c:4279,1
    - Dst: h2c_read0_pending
      Src: /src/haproxy/src/mux_h2.c:4280,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h2.c:4283,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:4285,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:4286,1
    - Dst: h2s_notify_recv
      Src: /src/haproxy/src/mux_h2.c:4287,1
    - Dst: h2_frame_check_vs_state
      Src: /src/haproxy/src/mux_h2.c:4292,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4293,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4300,1
    - Dst: h2c_handle_settings
      Src: /src/haproxy/src/mux_h2.c:4301,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:4303,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4306,1
    - Dst: h2c_ack_settings
      Src: /src/haproxy/src/mux_h2.c:4307,1
    - Dst: conn_is_reverse
      Src: /src/haproxy/src/mux_h2.c:4309,1
    - Dst: h2_conn_reverse
      Src: /src/haproxy/src/mux_h2.c:4311,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4318,1
    - Dst: h2c_handle_ping
      Src: /src/haproxy/src/mux_h2.c:4319,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4323,1
    - Dst: h2c_ack_ping
      Src: /src/haproxy/src/mux_h2.c:4324,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4330,1
    - Dst: h2c_handle_window_update
      Src: /src/haproxy/src/mux_h2.c:4331,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:4341,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:4342,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:4343,1
    - Dst: sess_log
      Src: /src/haproxy/src/mux_h2.c:4345,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:4346,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4351,1
    - Dst: h2c_bck_handle_headers
      Src: /src/haproxy/src/mux_h2.c:4353,1
    - Dst: h2c_frt_handle_headers
      Src: /src/haproxy/src/mux_h2.c:4355,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:4361,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4366,1
    - Dst: h2c_handle_data
      Src: /src/haproxy/src/mux_h2.c:4367,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:4369,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4379,1
    - Dst: h2c_handle_priority
      Src: /src/haproxy/src/mux_h2.c:4380,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4386,1
    - Dst: h2c_handle_rst_stream
      Src: /src/haproxy/src/mux_h2.c:4387,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:4389,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4394,1
    - Dst: h2c_handle_goaway
      Src: /src/haproxy/src/mux_h2.c:4395,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:4397,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4402,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_h2.c:4407,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4407,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_h2.c:4408,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:4416,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4421,1
    - Dst: h2c_send_rst_stream
      Src: /src/haproxy/src/mux_h2.c:4422,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:4431,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_h2.c:4432,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4432,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_h2.c:4433,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:4437,1
    - Dst: h2c_update_strm_rx_win
      Src: /src/haproxy/src/mux_h2.c:4443,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4445,1
    - Dst: h2c_send_strm_wu
      Src: /src/haproxy/src/mux_h2.c:4446,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:4451,1
    - Dst: h2c_send_conn_wu
      Src: /src/haproxy/src/mux_h2.c:4452,1
    - Dst: h2c_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:4462,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_h2.c:4462,1
    - Dst: h2c_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:4466,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_h2.c:4466,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_h2.c:4471,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:4474,1
    - Dst: h2s_rxbuf_head
      Src: /src/haproxy/src/mux_h2.c:4475,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4475,1
    - Dst: h2s_rxbuf_head
      Src: /src/haproxy/src/mux_h2.c:4475,1
    - Dst: h2c_read0_pending
      Src: /src/haproxy/src/mux_h2.c:4476,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h2.c:4479,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:4481,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:4482,1
    - Dst: h2s_notify_recv
      Src: /src/haproxy/src/mux_h2.c:4483,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:4487,1
    - Dst: h2c_unblock_sfctl
      Src: /src/haproxy/src/mux_h2.c:4488,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:4492,1
    CyclomaticComplexity: 129
    EdgeCount: 129
    ICount: 324
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 4494
      start: 4048
    functionDepth: 7
    functionLinenumber: 4048
    functionLinenumberEnd: 4494
    functionName: h2_process_demux
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_frame_check_vs_state
    - h2c_handle_settings
    - h2c_unblock_sfctl
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - h2c_send_rst_stream
    - h2c_ack_settings
    - h2c_report_term_evt
    - eb_is_empty
    - sess_log
    - h2c_error
    - h2s_rxbuf_head
    - TRACE_LEAVE
    - se_fl_test
    - b_peek
    - h2_frame_check
    - h2s_notify_recv
    - h2_conn_reverse
    - h2c_handle_ping
    - h2c_handle_goaway
    - h2c_handle_window_update
    - h2_peek_frame_hdr
    - h2c_send_strm_wu
    - b_full
    - h2c_ack_ping
    - h2c_frt_recv_preface
    - b_data
    - TRACE_DEVEL
    - h2_skip_frame_hdr
    - conn_is_reverse
    - h2s_sc
    - h2_ft_bit
    - h2c_update_strm_rx_win
    - h2_get_frame_hdr
    - h2c_handle_data
    - h2c_send_conn_wu
    - h2c_st_by_id
    - h2c_frt_handle_headers
    - TRACE_PROTO
    - h2c_handle_rst_stream
    - h2c_read0_pending
    - b_del
    - MIN
    - se_fl_set
    - TRACE_ERROR
    - h2c_report_glitch
    - TRACE_STATE
    - unlikely
    - h2c_handle_priority
    - h2c_bck_handle_headers
    linkageType: ''
    returnType: void
    signature: h2_process_demux(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:4501,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_h2.c:4519,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h2.c:4525,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h2.c:4531,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:4535,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 2
    argNames:
    - h2c
    - head
    argTypes:
    - struct h2c*
    - struct list*
    constantsTouched: []
    func_position:
      end: 4536
      start: 4497
    functionDepth: 0
    functionLinenumber: 4497
    functionLinenumberEnd: 4536
    functionName: h2_resume_each_sending_h2s
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - tasklet_wakeup
    - LIST_DEL_INIT
    linkageType: ''
    returnType: void
    signature: h2_resume_each_sending_h2s(struct h2c *h2c, struct list *head)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h2.c:4551,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_h2.c:4554,1
    - Dst: h2_resume_each_sending_h2s
      Src: /src/haproxy/src/mux_h2.c:4557,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 4559
      start: 4547
    functionDepth: 1
    functionLinenumber: 4547
    functionLinenumberEnd: 4559
    functionName: h2_remove_from_list
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 1
    functionsReached:
    - LIST_INLIST
    - h2_resume_each_sending_h2s
    - LIST_DEL_INIT
    linkageType: ''
    returnType: void
    signature: h2_remove_from_list(struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:4566,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:4568,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:4569,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:4570,1
    - Dst: h2c_bck_send_preface
      Src: /src/haproxy/src/mux_h2.c:4570,1
    - Dst: h2c_update_strm_rx_win
      Src: /src/haproxy/src/mux_h2.c:4584,1
    - Dst: h2c_send_strm_wu
      Src: /src/haproxy/src/mux_h2.c:4586,1
    - Dst: h2c_send_conn_wu
      Src: /src/haproxy/src/mux_h2.c:4591,1
    - Dst: h2_resume_each_sending_h2s
      Src: /src/haproxy/src/mux_h2.c:4599,1
    - Dst: h2_resume_each_sending_h2s
      Src: /src/haproxy/src/mux_h2.c:4600,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:4603,1
    - Dst: h2c_send_goaway_error
      Src: /src/haproxy/src/mux_h2.c:4606,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:4615,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:4618,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 4620
      start: 4564
    functionDepth: 4
    functionLinenumber: 4564
    functionLinenumberEnd: 4620
    functionName: h2_process_mux
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2c_send_conn_wu
    - TRACE_LEAVE
    - TRACE_ENTER
    - h2_resume_each_sending_h2s
    - TRACE_DEVEL
    - unlikely
    - h2c_update_strm_rx_win
    - h2c_bck_send_preface
    - h2c_send_goaway_error
    - h2c_send_strm_wu
    linkageType: ''
    returnType: int
    signature: h2_process_mux(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:4633,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:4636,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4637,1
    - Dst: h2_recv_allowed
      Src: /src/haproxy/src/mux_h2.c:4640,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:4641,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:4645,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:4648,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4652,1
    - Dst: buf_room_for_htx_data
      Src: /src/haproxy/src/mux_h2.c:4661,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_h2.c:4665,1
    - Dst: struct connection*::xprt::rcv_buf
      Src: /src/haproxy/src/mux_h2.c:4667,1
    - Dst: h2_recv_allowed
      Src: /src/haproxy/src/mux_h2.c:4669,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_h2.c:4670,1
    - Dst: struct connection*::xprt::subscribe
      Src: /src/haproxy/src/mux_h2.c:4671,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_h2.c:4673,1
    - Dst: conn_xprt_read0_pending
      Src: /src/haproxy/src/mux_h2.c:4677,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_h2.c:4678,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4682,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_h2.c:4683,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4687,1
    - Dst: h2_release_buf
      Src: /src/haproxy/src/mux_h2.c:4688,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4692,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:4694,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:4698,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 4700
      start: 4626
    functionDepth: 2
    functionLinenumber: 4626
    functionLinenumberEnd: 4700
    functionName: h2_recv
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - b_room
    - TRACE_DATA
    - TRACE_LEAVE
    - conn_xprt_read0_pending
    - TRACE_ENTER
    - h2_recv_allowed
    - struct connection*::xprt::subscribe
    - struct connection*::xprt::rcv_buf
    - b_data
    - TRACE_DEVEL
    - buf_room_for_htx_data
    - h2_release_buf
    - h2_get_buf
    linkageType: ''
    returnType: int
    signature: h2_recv(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:4711,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:4714,1
    - Dst: b_reset
      Src: /src/haproxy/src/mux_h2.c:4717,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:4717,1
    - Dst: h2_process_mux
      Src: /src/haproxy/src/mux_h2.c:4750,1
    - Dst: br_count
      Src: /src/haproxy/src/mux_h2.c:4762,1
    - Dst: br_head
      Src: /src/haproxy/src/mux_h2.c:4773,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:4773,1
    - Dst: br_del_head
      Src: /src/haproxy/src/mux_h2.c:4773,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4774,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_h2.c:4783,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_h2.c:4784,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4785,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_h2.c:4790,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_h2.c:4795,1
    - Dst: br_single
      Src: /src/haproxy/src/mux_h2.c:4807,1
    - Dst: h2c_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:4813,1
    - Dst: b_reset
      Src: /src/haproxy/src/mux_h2.c:4816,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:4816,1
    - Dst: h2_resume_each_sending_h2s
      Src: /src/haproxy/src/mux_h2.c:4824,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_h2.c:4828,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:4829,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:4838,1
    - Dst: struct connection*::xprt::subscribe
      Src: /src/haproxy/src/mux_h2.c:4839,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:4841,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 75
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 4844
      start: 4705
    functionDepth: 5
    functionLinenumber: 4705
    functionLinenumberEnd: 4844
    functionName: h2_send
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_DATA
    - TRACE_ENTER
    - h2c_report_term_evt
    - h2_resume_each_sending_h2s
    - struct connection*::xprt::subscribe
    - br_del_head
    - br_count
    - br_single
    - b_free
    - offer_buffers
    - b_reset
    - b_size
    - h2_process_mux
    - br_data
    - TRACE_DEVEL
    - b_data
    - br_head
    - br_tail
    - b_del
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: h2_send(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_h2.c:4859,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h2.c:4865,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_h2.c:4866,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:4871,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/mux_h2.c:4878,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h2.c:4880,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:4884,1
    - Dst: h2_send
      Src: /src/haproxy/src/mux_h2.c:4889,1
    - Dst: h2_recv
      Src: /src/haproxy/src/mux_h2.c:4891,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4892,1
    - Dst: h2_process
      Src: /src/haproxy/src/mux_h2.c:4893,1
    - Dst: __objt_server
      Src: /src/haproxy/src/mux_h2.c:4907,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_h2.c:4909,1
    - Dst: _srv_add_idle
      Src: /src/haproxy/src/mux_h2.c:4910,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h2.c:4911,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:4915,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4917
      start: 4847
    functionDepth: 6
    functionLinenumber: 4847
    functionLinenumberEnd: 4917
    functionName: h2_io_cb
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - tasklet_free
    - h2_send
    - TRACE_ENTER
    - h2_process
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - __objt_server
    - b_data
    - _srv_add_idle
    - h2_recv
    - conn_delete_from_tree
    linkageType: ''
    returnType: struct task
    signature: '*h2_io_cb(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:4928,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4931,1
    - Dst: h2_process_demux
      Src: /src/haproxy/src/mux_h2.c:4935,1
    - Dst: h2_recv_allowed
      Src: /src/haproxy/src/mux_h2.c:4945,1
    - Dst: h2_recv
      Src: /src/haproxy/src/mux_h2.c:4949,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:4950,1
    - Dst: h2_may_demux
      Src: /src/haproxy/src/mux_h2.c:4950,1
    - Dst: h2c_restart_reading
      Src: /src/haproxy/src/mux_h2.c:4953,1
    - Dst: session_add_glitch_ctr
      Src: /src/haproxy/src/mux_h2.c:4956,1
    - Dst: b_reset
      Src: /src/haproxy/src/mux_h2.c:4959,1
    - Dst: h2_send
      Src: /src/haproxy/src/mux_h2.c:4961,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:4963,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h2.c:4969,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/mux_h2.c:4974,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:4984,1
    - Dst: h2c_send_goaway_error
      Src: /src/haproxy/src/mux_h2.c:4988,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/mux_h2.c:5003,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_h2.c:5006,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h2.c:5007,1
    - Dst: h2s_notify_recv
      Src: /src/haproxy/src/mux_h2.c:5008,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_h2.c:5009,1
    - Dst: h2c_read0_pending
      Src: /src/haproxy/src/mux_h2.c:5013,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_h2.c:5015,1
    - Dst: h2_wake_some_streams
      Src: /src/haproxy/src/mux_h2.c:5017,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_h2.c:5019,1
    - Dst: h2_release
      Src: /src/haproxy/src/mux_h2.c:5021,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5022,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_h2.c:5028,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/mux_h2.c:5029,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h2.c:5030,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_h2.c:5036,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/mux_h2.c:5037,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h2.c:5038,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:5042,1
    - Dst: h2_release_buf
      Src: /src/haproxy/src/mux_h2.c:5043,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_h2.c:5047,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_h2.c:5048,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_h2.c:5049,1
    - Dst: h2_release_mbuf
      Src: /src/haproxy/src/mux_h2.c:5050,1
    - Dst: h2c_update_timeout
      Src: /src/haproxy/src/mux_h2.c:5052,1
    - Dst: h2_send
      Src: /src/haproxy/src/mux_h2.c:5053,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:5054,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 75
    argCount: 1
    argNames:
    - h2c
    argTypes:
    - struct h2c*
    constantsTouched: []
    func_position:
      end: 5056
      start: 4923
    functionDepth: 8
    functionLinenumber: 4923
    functionLinenumberEnd: 5056
    functionName: h2_process
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 1
    functionsReached:
    - h2_release_buf
    - h2_may_demux
    - statistical_prng_range
    - TRACE_ENTER
    - eb_is_empty
    - eb32_next
    - h2_release
    - h2_wake_some_streams
    - h2_recv
    - TRACE_LEAVE
    - se_fl_test
    - LIST_ISEMPTY
    - h2_send
    - h2s_notify_recv
    - h2_release_mbuf
    - b_reset
    - h2c_send_goaway_error
    - session_add_glitch_ctr
    - br_data
    - h2c_update_timeout
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - eb32_lookup_ge
    - b_data
    - TRACE_DEVEL
    - conn_delete_from_tree
    - container_of
    - h2_recv_allowed
    - h2_process_demux
    - h2c_read0_pending
    - h2c_restart_reading
    - tick_isset
    - TRACE_STATE
    - unlikely
    linkageType: ''
    returnType: int
    signature: h2_process(struct h2c *h2c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:5064,1
    - Dst: h2_process
      Src: /src/haproxy/src/mux_h2.c:5065,1
    - Dst: h2_wake_some_streams
      Src: /src/haproxy/src/mux_h2.c:5067,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:5074,1
    - Dst: conn_reverse_in_preconnect
      Src: /src/haproxy/src/mux_h2.c:5074,1
    - Dst: h2c_is_dead
      Src: /src/haproxy/src/mux_h2.c:5074,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5075,1
    - Dst: h2_release
      Src: /src/haproxy/src/mux_h2.c:5076,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:5080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 5082
      start: 5059
    functionDepth: 9
    functionLinenumber: 5059
    functionLinenumberEnd: 5082
    functionName: h2_wake
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - conn_reverse_in_preconnect
    - TRACE_ENTER
    - h2_process
    - h2c_is_dead
    - h2_release
    - TRACE_DEVEL
    - h2_wake_some_streams
    - unlikely
    linkageType: ''
    returnType: int
    signature: h2_wake(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:5095,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_h2.c:5099,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h2.c:5106,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h2.c:5112,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5113,1
    - Dst: h2c_may_expire
      Src: /src/haproxy/src/mux_h2.c:5117,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h2.c:5121,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/mux_h2.c:5130,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h2.c:5132,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_h2.c:5137,1
    - Dst: h2c_may_expire
      Src: /src/haproxy/src/mux_h2.c:5137,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:5139,1
    - Dst: h2_send
      Src: /src/haproxy/src/mux_h2.c:5140,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h2.c:5141,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_h2.c:5142,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h2.c:5143,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_h2.c:5144,1
    - Dst: h2c_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:5148,1
    - Dst: task_destroy
      Src: /src/haproxy/src/mux_h2.c:5152,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5156,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:5161,1
    - Dst: h2_wake_some_streams
      Src: /src/haproxy/src/mux_h2.c:5162,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_h2.c:5164,1
    - Dst: h2c_send_goaway_error
      Src: /src/haproxy/src/mux_h2.c:5171,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_h2.c:5174,1
    - Dst: conn_xprt_ready
      Src: /src/haproxy/src/mux_h2.c:5174,1
    - Dst: br_head
      Src: /src/haproxy/src/mux_h2.c:5178,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:5178,1
    - Dst: br_del_head
      Src: /src/haproxy/src/mux_h2.c:5178,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:5179,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_h2.c:5183,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:5184,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_h2.c:5186,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_h2.c:5192,1
    - Dst: br_single
      Src: /src/haproxy/src/mux_h2.c:5198,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_h2.c:5203,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/mux_h2.c:5204,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_h2.c:5205,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_h2.c:5211,1
    - Dst: h2_release
      Src: /src/haproxy/src/mux_h2.c:5212,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:5214,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 76
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 5216
      start: 5090
    functionDepth: 6
    functionLinenumber: 5090
    functionLinenumberEnd: 5216
    functionName: h2_timeout_task
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - h2c_report_term_evt
    - eb_is_empty
    - h2_release
    - h2_wake_some_streams
    - br_del_head
    - h2c_may_expire
    - h2c_error
    - br_single
    - b_free
    - TRACE_LEAVE
    - h2_send
    - offer_buffers
    - b_size
    - h2c_send_goaway_error
    - conn_xprt_ready
    - br_data
    - HA_SPIN_UNLOCK
    - tasklet_wakeup
    - HA_SPIN_LOCK
    - TRACE_DEVEL
    - tick_add_ifset
    - b_data
    - conn_delete_from_tree
    - br_head
    - b_del
    - task_destroy
    - tick_isset
    linkageType: ''
    returnType: struct task
    signature: '*h2_timeout_task(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:5232,1
    - Dst: h2c_bck_stream_new
      Src: /src/haproxy/src/mux_h2.c:5233,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5235,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/mux_h2.c:5240,1
    - Dst: xprt_set_used
      Src: /src/haproxy/src/mux_h2.c:5241,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:5243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - conn
    - sd
    - sess
    argTypes:
    - struct connection*
    - struct sedesc*
    - struct session*
    constantsTouched: []
    func_position:
      end: 5245
      start: 5227
    functionDepth: 5
    functionLinenumber: 5227
    functionLinenumberEnd: 5245
    functionName: h2_attach
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - HA_ATOMIC_AND
    - TRACE_ENTER
    - xprt_set_used
    - TRACE_DEVEL
    - h2c_bck_stream_new
    linkageType: ''
    returnType: int
    signature: h2_attach(struct connection *conn, struct sedesc *sd, struct session
      *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_first
      Src: /src/haproxy/src/mux_h2.c:5258,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_h2.c:5260,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:5261,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:5262,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_h2.c:5263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 5266
      start: 5252
    functionDepth: 1
    functionLinenumber: 5252
    functionLinenumberEnd: 5266
    functionName: h2_get_first_sc
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2s_sc
    - eb32_next
    - container_of
    - eb32_first
    linkageType: ''
    returnType: struct stconn
    signature: '*h2_get_first_sc(const struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:5285,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5287,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h2.c:5289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - conn
    - mux_ctl
    - output
    argTypes:
    - struct connection*
    - enum mux_ctl_type
    - void*
    constantsTouched: []
    func_position:
      end: 5307
      start: 5268
    functionDepth: 0
    functionLinenumber: 5268
    functionLinenumberEnd: 5307
    functionName: h2_ctl
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - TRACE_DEVEL
    - tasklet_wakeup
    linkageType: ''
    returnType: int
    signature: h2_ctl(struct connection *conn, enum mux_ctl_type mux_ctl, void *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h2.c:5312,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/mux_h2.c:5323,1
    - Dst: h2_dump_h2s_info
      Src: /src/haproxy/src/mux_h2.c:5326,1
    - Dst: h2_dump_h2c_info
      Src: /src/haproxy/src/mux_h2.c:5329,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:5332,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_h2.c:5334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - sc
    - mux_sctl
    - output
    argTypes:
    - struct stconn*
    - enum mux_sctl_type
    - void*
    constantsTouched: []
    func_position:
      end: 5345
      start: 5309
    functionDepth: 2
    functionLinenumber: 5309
    functionLinenumberEnd: 5345
    functionName: h2_sctl
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_dump_h2c_info
    - h2_dump_h2s_info
    - __sc_mux_strm
    - tevt_evts2str
    - chunk_appendf
    - get_trash_chunk
    linkageType: ''
    returnType: int
    signature: h2_sctl(struct stconn *sc, enum mux_sctl_type mux_sctl, void *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:5354,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_h2.c:5355,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:5356,1
    - Dst: h2_release
      Src: /src/haproxy/src/mux_h2.c:5357,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:5359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5360
      start: 5350
    functionDepth: 4
    functionLinenumber: 5350
    functionLinenumberEnd: 5360
    functionName: h2_destroy
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - eb_is_empty
    - h2_release
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: h2_destroy(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:5371,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:5374,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_h2.c:5384,1
    - Dst: h2_frt_has_too_many_sc
      Src: /src/haproxy/src/mux_h2.c:5388,1
    - Dst: h2c_restart_reading
      Src: /src/haproxy/src/mux_h2.c:5391,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5401,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_h2.c:5405,1
    - Dst: h2c_update_timeout
      Src: /src/haproxy/src/mux_h2.c:5406,1
    - Dst: h2c_restart_reading
      Src: /src/haproxy/src/mux_h2.c:5416,1
    - Dst: h2s_destroy
      Src: /src/haproxy/src/mux_h2.c:5419,1
    - Dst: session_add_conn
      Src: /src/haproxy/src/mux_h2.c:5425,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_h2.c:5427,1
    - Dst: struct h2c*::conn::mux::destroy
      Src: /src/haproxy/src/mux_h2.c:5428,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5429,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_h2.c:5433,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/mux_h2.c:5437,1
    - Dst: session_check_idle_conn
      Src: /src/haproxy/src/mux_h2.c:5438,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5440,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_h2.c:5446,1
    - Dst: session_unown_conn
      Src: /src/haproxy/src/mux_h2.c:5451,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/mux_h2.c:5458,1
    - Dst: xprt_set_idle
      Src: /src/haproxy/src/mux_h2.c:5459,1
    - Dst: srv_add_to_idle_list
      Src: /src/haproxy/src/mux_h2.c:5461,1
    - Dst: objt_server
      Src: /src/haproxy/src/mux_h2.c:5461,1
    - Dst: struct h2c*::conn::mux::destroy
      Src: /src/haproxy/src/mux_h2.c:5463,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5464,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5471,1
    - Dst: h2_avail_streams
      Src: /src/haproxy/src/mux_h2.c:5476,1
    - Dst: objt_server
      Src: /src/haproxy/src/mux_h2.c:5476,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h2.c:5477,1
    - Dst: srv_add_to_avail_list
      Src: /src/haproxy/src/mux_h2.c:5478,1
    - Dst: __objt_server
      Src: /src/haproxy/src/mux_h2.c:5478,1
    - Dst: h2c_is_dead
      Src: /src/haproxy/src/mux_h2.c:5489,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5491,1
    - Dst: h2_release
      Src: /src/haproxy/src/mux_h2.c:5492,1
    - Dst: h2c_update_timeout
      Src: /src/haproxy/src/mux_h2.c:5495,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5496,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5499,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 1
    argNames:
    - sd
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 5500
      start: 5365
    functionDepth: 4
    functionLinenumber: 5365
    functionLinenumberEnd: 5500
    functionName: h2_detach
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - srv_add_to_avail_list
    - session_unown_conn
    - TRACE_ENTER
    - eb_is_empty
    - h2_release
    - h2_avail_streams
    - TRACE_LEAVE
    - __objt_server
    - LIST_INLIST
    - xprt_set_idle
    - br_data
    - h2c_update_timeout
    - objt_server
    - struct h2c*::conn::mux::destroy
    - session_add_conn
    - TRACE_DEVEL
    - h2_frt_has_too_many_sc
    - h2s_destroy
    - h2c_is_dead
    - h2c_restart_reading
    - tick_isset
    - srv_add_to_idle_list
    - session_check_idle_conn
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: h2_detach(struct sedesc *sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:5510,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h2.c:5520,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5522,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:5523,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:5524,1
    - Dst: h2s_is_forwardable_abort
      Src: /src/haproxy/src/mux_h2.c:5526,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5527,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:5528,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5535,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:5536,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:5547,1
    - Dst: h2s_send_rst_stream
      Src: /src/haproxy/src/mux_h2.c:5551,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h2.c:5555,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:5556,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:5559,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h2.c:5568,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_h2.c:5570,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_h2.c:5572,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:5574,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - h2s
    - reason
    argTypes:
    - struct h2s*
    - struct se_abort_info*
    constantsTouched: []
    func_position:
      end: 5576
      start: 5503
    functionDepth: 4
    functionLinenumber: 5503
    functionLinenumberEnd: 5576
    functionName: h2_do_shutr
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2s_error
    - h2s_send_rst_stream
    - TRACE_LEAVE
    - se_fl_test
    - TRACE_ENTER
    - LIST_APPEND
    - tasklet_wakeup
    - LIST_INLIST
    - h2s_close
    - TRACE_STATE
    - h2s_is_forwardable_abort
    - h2c_error
    linkageType: ''
    returnType: void
    signature: h2_do_shutr(struct h2s *h2s, struct se_abort_info *reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:5587,1
    - Dst: h2s_is_forwardable_abort
      Src: /src/haproxy/src/mux_h2.c:5590,1
    - Dst: h2_send_empty_data_es
      Src: /src/haproxy/src/mux_h2.c:5596,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:5600,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h2.c:5609,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5611,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:5612,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:5613,1
    - Dst: h2s_is_forwardable_abort
      Src: /src/haproxy/src/mux_h2.c:5615,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5616,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:5617,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5623,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:5624,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5631,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:5632,1
    - Dst: h2s_send_rst_stream
      Src: /src/haproxy/src/mux_h2.c:5636,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:5639,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h2.c:5643,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:5645,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h2.c:5658,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_h2.c:5660,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_h2.c:5662,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:5664,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 2
    argNames:
    - h2s
    - reason
    argTypes:
    - struct h2s*
    - struct se_abort_info*
    constantsTouched: []
    func_position:
      end: 5666
      start: 5580
    functionDepth: 4
    functionLinenumber: 5580
    functionLinenumberEnd: 5666
    functionName: h2_do_shutw
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2s_error
    - h2s_send_rst_stream
    - h2_send_empty_data_es
    - TRACE_LEAVE
    - se_fl_test
    - TRACE_ENTER
    - LIST_APPEND
    - tasklet_wakeup
    - LIST_INLIST
    - h2s_close
    - TRACE_STATE
    - h2s_is_forwardable_abort
    - h2c_error
    linkageType: ''
    returnType: void
    signature: h2_do_shutw(struct h2s *h2s, struct se_abort_info *reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:5677,1
    - Dst: h2_do_shutw
      Src: /src/haproxy/src/mux_h2.c:5685,1
    - Dst: h2_do_shutr
      Src: /src/haproxy/src/mux_h2.c:5688,1
    - Dst: h2_remove_from_list
      Src: /src/haproxy/src/mux_h2.c:5692,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:5694,1
    - Dst: h2s_destroy
      Src: /src/haproxy/src/mux_h2.c:5695,1
    - Dst: h2c_is_dead
      Src: /src/haproxy/src/mux_h2.c:5696,1
    - Dst: h2_release
      Src: /src/haproxy/src/mux_h2.c:5697,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:5703,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 5705
      start: 5672
    functionDepth: 5
    functionLinenumber: 5672
    functionLinenumberEnd: 5705
    functionName: h2_deferred_shut
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_remove_from_list
    - TRACE_LEAVE
    - h2_do_shutw
    - TRACE_ENTER
    - h2_do_shutr
    - h2c_is_dead
    - h2_release
    - h2s_sc
    - h2s_destroy
    linkageType: ''
    returnType: struct task
    signature: '*h2_deferred_shut(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h2.c:5709,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:5711,1
    - Dst: h2_do_shutw
      Src: /src/haproxy/src/mux_h2.c:5714,1
    - Dst: h2_do_shutr
      Src: /src/haproxy/src/mux_h2.c:5717,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:5718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sc
    - mode
    - reason
    argTypes:
    - struct stconn*
    - unsigned int
    - struct se_abort_info*
    constantsTouched: []
    func_position:
      end: 5719
      start: 5707
    functionDepth: 5
    functionLinenumber: 5707
    functionLinenumberEnd: 5719
    functionName: h2_shut
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - __sc_mux_strm
    - h2_do_shutw
    - TRACE_ENTER
    - h2_do_shutr
    linkageType: ''
    returnType: void
    signature: h2_shut(struct stconn *sc, unsigned int mode, struct se_abort_info
      *reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/mux_h2.c:5778,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:5790,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:5793,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:5803,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5807,1
    - Dst: h2_peek_frame_hdr
      Src: /src/haproxy/src/mux_h2.c:5808,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:5818,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5819,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:5820,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:5821,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:5827,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5828,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:5829,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:5830,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:5836,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5837,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:5838,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:5846,1
    - Dst: b_move
      Src: /src/haproxy/src/mux_h2.c:5854,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/mux_h2.c:5854,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5858,1
    - Dst: b_wrap
      Src: /src/haproxy/src/mux_h2.c:5866,1
    - Dst: b_head
      Src: /src/haproxy/src/mux_h2.c:5866,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/mux_h2.c:5868,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:5870,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:5871,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:5874,1
    - Dst: b_head
      Src: /src/haproxy/src/mux_h2.c:5874,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:5875,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:5875,1
    - Dst: read_n32
      Src: /src/haproxy/src/mux_h2.c:5881,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:5883,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5884,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:5885,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:5886,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:5891,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5892,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:5893,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:5901,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5902,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_h2.c:5912,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h2.c:5913,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5914,1
    - Dst: hpack_decode_frame
      Src: /src/haproxy/src/mux_h2.c:5920,1
    - Dst: TRACE_ENABLED
      Src: /src/haproxy/src/mux_h2.c:5925,1
    - Dst: isttest
      Src: /src/haproxy/src/mux_h2.c:5932,1
    - Dst: h2_phdr_to_ist
      Src: /src/haproxy/src/mux_h2.c:5934,1
    - Dst: h2_trace_header
      Src: /src/haproxy/src/mux_h2.c:5937,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:5938,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:5943,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5944,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:5945,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_h2.c:5953,1
    - Dst: h2_make_htx_response
      Src: /src/haproxy/src/mux_h2.c:5969,1
    - Dst: h2_make_htx_request
      Src: /src/haproxy/src/mux_h2.c:5971,1
    - Dst: htx_free_space
      Src: /src/haproxy/src/mux_h2.c:5974,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:5976,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:5977,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:6012,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6013,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:6032,1
    - Dst: b_move
      Src: /src/haproxy/src/mux_h2.c:6033,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/mux_h2.c:6033,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:6034,1
    - Dst: b_sub
      Src: /src/haproxy/src/mux_h2.c:6035,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_h2.c:6038,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h2.c:6038,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:6040,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_h2.c:6045,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/mux_h2.c:6046,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:6047,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:6055,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:6056,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6057,1
    - Dst: h2c_report_glitch
      Src: /src/haproxy/src/mux_h2.c:6072,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6073,1
    - Dst: h2c_error
      Src: /src/haproxy/src/mux_h2.c:6074,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/mux_h2.c:6075,1
    - Dst: h2_make_htx_trailers
      Src: /src/haproxy/src/mux_h2.c:6080,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6081,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 208
    argCount: 5
    argNames:
    - h2c
    - rxbuf
    - flags
    - body_len
    - upgrade_protocol
    argTypes:
    - struct h2c*
    - struct buffer*
    - uint32_t*
    - unsigned long long*
    - char*
    constantsTouched: []
    func_position:
      end: 6087
      start: 5775
    functionDepth: 3
    functionLinenumber: 5775
    functionLinenumberEnd: 6087
    functionName: h2c_dec_hdrs
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - isttest
    - ist
    - b_head
    - free_trash_chunk
    - TRACE_ENABLED
    - htx_to_buf
    - h2_make_htx_response
    - h2_make_htx_request
    - b_orig
    - h2c_error
    - b_peek_ofs
    - b_sub
    - alloc_trash_chunk
    - TRACE_LEAVE
    - b_wrap
    - htx_from_buf
    - get_trash_chunk
    - read_n32
    - htx_is_empty
    - h2_peek_frame_hdr
    - b_full
    - hpack_decode_frame
    - b_move
    - h2_make_htx_trailers
    - b_data
    - TRACE_DEVEL
    - h2_phdr_to_ist
    - h2_trace_header
    - h2_get_buf
    - htx_free_space
    - b_del
    - h2c_report_glitch
    - TRACE_STATE
    - unlikely
    - memcpy
    linkageType: ''
    returnType: int
    signature: h2c_dec_hdrs(struct h2c *h2c, struct buffer *rxbuf, uint32_t *flags,
      unsigned long long *body_len, char *upgrade_protocol)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:6107,1
    - Dst: h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:6116,1
    - Dst: h2s_may_append_to_rxbuf
      Src: /src/haproxy/src/mux_h2.c:6116,1
    - Dst: h2s_get_rxbuf
      Src: /src/haproxy/src/mux_h2.c:6116,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6118,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:6124,1
    - Dst: h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:6124,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6127,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_h2.c:6130,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:6137,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:6138,1
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/mux_h2.c:6143,1
    - Dst: h2s_get_rxbuf
      Src: /src/haproxy/src/mux_h2.c:6145,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6149,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/mux_h2.c:6156,1
    - Dst: htx_add_data
      Src: /src/haproxy/src/mux_h2.c:6160,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_h2.c:6160,1
    - Dst: b_head
      Src: /src/haproxy/src/mux_h2.c:6160,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_h2.c:6161,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_h2.c:6163,1
    - Dst: h2s_get_rxbuf
      Src: /src/haproxy/src/mux_h2.c:6174,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6178,1
    - Dst: htx_set_eom
      Src: /src/haproxy/src/mux_h2.c:6197,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_h2.c:6206,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:6207,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_h2.c:6211,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:6212,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 89
    argCount: 1
    argNames:
    - h2s
    argTypes:
    - struct h2s*
    constantsTouched: []
    func_position:
      end: 6214
      start: 6098
    functionDepth: 3
    functionLinenumber: 6098
    functionLinenumberEnd: 6214
    functionName: h2_frt_transfer_data
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 1
    functionsReached:
    - TRACE_DATA
    - TRACE_LEAVE
    - htx_free_data_space
    - h2s_rxbuf_tail
    - htx_from_buf
    - TRACE_ENTER
    - h2s_get_rxbuf
    - ist2
    - h2_get_buf
    - b_head
    - b_contig_data
    - b_del
    - htx_set_eom
    - b_data
    - htx_add_data
    - htx_to_buf
    - TRACE_STATE
    - h2s_may_append_to_rxbuf
    linkageType: ''
    returnType: int
    signature: h2_frt_transfer_data(struct h2s *h2s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:6238,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h2.c:6244,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/mux_h2.c:6244,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h2.c:6245,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:6254,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:6255,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:6256,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/mux_h2.c:6260,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/mux_h2.c:6261,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:6265,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/mux_h2.c:6266,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:6273,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:6277,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:6284,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:6295,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:6301,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6304,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:6306,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:6308,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6311,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/mux_h2.c:6315,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_h2.c:6318,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_h2.c:6318,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h2.c:6318,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:6319,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_h2.c:6322,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:6322,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:6329,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:6330,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_h2.c:6344,1
    - Dst: hpack_encode_int_status
      Src: /src/haproxy/src/mux_h2.c:6354,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:6355,1
    - Dst: h2_trace_header
      Src: /src/haproxy/src/mux_h2.c:6363,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6363,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6363,1
    - Dst: ultoa_r
      Src: /src/haproxy/src/mux_h2.c:6363,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6364,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6371,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6371,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6372,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6372,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6373,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6373,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6374,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6374,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6375,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6375,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6382,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6382,1
    - Dst: h2_encode_header
      Src: /src/haproxy/src/mux_h2.c:6385,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6386,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:6388,1
    - Dst: h2_set_frame_size
      Src: /src/haproxy/src/mux_h2.c:6395,1
    - Dst: h2_fragment_headers
      Src: /src/haproxy/src/mux_h2.c:6398,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:6400,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:6406,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h2.c:6412,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h2.c:6414,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_h2.c:6415,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_h2.c:6416,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:6422,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h2.c:6422,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h2.c:6426,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h2.c:6439,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:6456,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:6460,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:6465,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:6468,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6473,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:6479,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 177
    argCount: 2
    argNames:
    - h2s
    - htx
    argTypes:
    - struct h2s*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 6482
      start: 6225
    functionDepth: 4
    functionLinenumber: 6225
    functionLinenumberEnd: 6482
    functionName: h2s_snd_fhdrs
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - ultoa_r
    - h2_set_frame_size
    - b_room
    - chunk_reset
    - htx_get_blk_ptr
    - TRACE_ENTER
    - ist
    - htx_get_blk_value
    - b_contig_space
    - BUG_ON
    - htx_get_next_blk
    - TRACE_LEAVE
    - se_fl_test
    - br_tail_add
    - isteq
    - b_tail
    - h2_encode_header
    - htx_is_empty
    - h2s_error
    - htx_get_blksz
    - htx_get_head_blk
    - htx_get_blk_type
    - b_slow_realign
    - b_data
    - h2_trace_header
    - h2s_sc
    - h2_get_buf
    - b_space_wraps
    - write_n32
    - TRACE_USER
    - htx_get_blk_name
    - br_tail
    - b_make
    - TRACE_PROTO
    - b_add
    - hpack_encode_int_status
    - TRACE_ERROR
    - h2s_close
    - TRACE_STATE
    - unlikely
    - memcpy
    - htx_remove_blk
    - h2_fragment_headers
    linkageType: ''
    returnType: size_t
    signature: h2s_snd_fhdrs(struct h2s *h2s, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:6508,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h2.c:6514,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/mux_h2.c:6514,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h2.c:6515,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:6524,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:6525,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:6526,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/mux_h2.c:6530,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/mux_h2.c:6531,1
    - Dst: isttest
      Src: /src/haproxy/src/mux_h2.c:6534,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6535,1
    - Dst: isteqi
      Src: /src/haproxy/src/mux_h2.c:6539,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6539,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6544,1
    - Dst: isteqi
      Src: /src/haproxy/src/mux_h2.c:6549,1
    - Dst: iststop
      Src: /src/haproxy/src/mux_h2.c:6549,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6550,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6552,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6556,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6559,1
    - Dst: istadv
      Src: /src/haproxy/src/mux_h2.c:6565,1
    - Dst: istfind
      Src: /src/haproxy/src/mux_h2.c:6565,1
    - Dst: istlen
      Src: /src/haproxy/src/mux_h2.c:6566,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6569,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6569,1
    - Dst: iststop
      Src: /src/haproxy/src/mux_h2.c:6575,1
    - Dst: istpad
      Src: /src/haproxy/src/mux_h2.c:6577,1
    - Dst: isttrim
      Src: /src/haproxy/src/mux_h2.c:6577,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6580,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6580,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:6586,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/mux_h2.c:6587,1
    - Dst: htx_sl_req_meth
      Src: /src/haproxy/src/mux_h2.c:6588,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/mux_h2.c:6589,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:6594,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:6595,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:6600,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:6606,1
    - Dst: isttest
      Src: /src/haproxy/src/mux_h2.c:6609,1
    - Dst: objt_server
      Src: /src/haproxy/src/mux_h2.c:6610,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6614,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6620,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:6622,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:6624,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6627,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/mux_h2.c:6631,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_h2.c:6634,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_h2.c:6634,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h2.c:6634,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:6635,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_h2.c:6638,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:6638,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:6645,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:6646,1
    - Dst: hpack_encode_method
      Src: /src/haproxy/src/mux_h2.c:6650,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:6651,1
    - Dst: h2_trace_header
      Src: /src/haproxy/src/mux_h2.c:6656,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6656,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6656,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6658,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:6668,1
    - Dst: h2_encode_header
      Src: /src/haproxy/src/mux_h2.c:6671,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6671,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6672,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:6674,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_h2.c:6699,1
    - Dst: istadv
      Src: /src/haproxy/src/mux_h2.c:6700,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_h2.c:6703,1
    - Dst: istadv
      Src: /src/haproxy/src/mux_h2.c:6707,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:6714,1
    - Dst: isttest
      Src: /src/haproxy/src/mux_h2.c:6714,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6726,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6728,1
    - Dst: hpack_encode_scheme
      Src: /src/haproxy/src/mux_h2.c:6731,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:6733,1
    - Dst: h2_encode_header
      Src: /src/haproxy/src/mux_h2.c:6739,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6739,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6740,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:6742,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:6750,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6752,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6754,1
    - Dst: hpack_encode_path
      Src: /src/haproxy/src/mux_h2.c:6757,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:6759,1
    - Dst: h2_trace_header
      Src: /src/haproxy/src/mux_h2.c:6764,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6764,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6764,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:6769,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6770,1
    - Dst: isttest
      Src: /src/haproxy/src/mux_h2.c:6771,1
    - Dst: h2_encode_header
      Src: /src/haproxy/src/mux_h2.c:6772,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6772,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6773,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:6775,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6791,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6791,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6792,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6792,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6793,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6793,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6794,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6794,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6795,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6795,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6796,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6796,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6799,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6799,1
    - Dst: istist
      Src: /src/haproxy/src/mux_h2.c:6803,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6803,1
    - Dst: isttest
      Src: /src/haproxy/src/mux_h2.c:6804,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6806,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:6813,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6813,1
    - Dst: h2_encode_header
      Src: /src/haproxy/src/mux_h2.c:6816,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:6816,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:6818,1
    - Dst: h2_set_frame_size
      Src: /src/haproxy/src/mux_h2.c:6825,1
    - Dst: h2_fragment_headers
      Src: /src/haproxy/src/mux_h2.c:6828,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:6830,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_h2.c:6836,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h2.c:6842,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h2.c:6844,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_h2.c:6845,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_h2.c:6846,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:6852,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h2.c:6852,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h2.c:6856,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h2.c:6869,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:6875,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:6884,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6889,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:6895,1
    CyclomaticComplexity: 126
    EdgeCount: 126
    ICount: 262
    argCount: 2
    argNames:
    - h2s
    - htx
    argTypes:
    - struct h2s*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 6898
      start: 6493
    functionDepth: 4
    functionLinenumber: 6493
    functionLinenumberEnd: 6898
    functionName: h2s_snd_bhdrs
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_set_frame_size
    - chunk_reset
    - htx_get_blk_ptr
    - TRACE_ENTER
    - isttest
    - istfind
    - ist
    - istadv
    - htx_get_blk_value
    - b_contig_space
    - BUG_ON
    - isteqi
    - htx_get_next_blk
    - htx_sl_req_uri
    - se_fl_test
    - br_tail_add
    - istlen
    - ist2
    - isteq
    - istist
    - b_tail
    - h2_encode_header
    - htx_is_empty
    - hpack_encode_path
    - h2s_error
    - hpack_encode_method
    - htx_get_blksz
    - htx_get_head_blk
    - objt_server
    - istpad
    - htx_get_blk_type
    - b_slow_realign
    - b_data
    - h2_trace_header
    - h2s_sc
    - h2_get_buf
    - b_space_wraps
    - hpack_encode_scheme
    - write_n32
    - TRACE_USER
    - htx_get_blk_name
    - br_tail
    - b_make
    - isttrim
    - htx_sl_req_meth
    - b_add
    - TRACE_PROTO
    - TRACE_ERROR
    - iststop
    - TRACE_STATE
    - unlikely
    - memcpy
    - htx_remove_blk
    - h2_fragment_headers
    linkageType: ''
    returnType: size_t
    signature: h2s_snd_bhdrs(struct h2s *h2s, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:6919,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_h2.c:6921,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h2.c:6926,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6936,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6946,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:6950,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:6951,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h2.c:6956,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h2.c:6957,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_h2.c:6958,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:6964,1
    - Dst: br_count
      Src: /src/haproxy/src/mux_h2.c:6966,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6971,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:6975,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:6978,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:6999,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/mux_h2.c:7000,1
    - Dst: h2s_mws
      Src: /src/haproxy/src/mux_h2.c:7001,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:7004,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_h2.c:7011,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:7012,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:7012,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:7013,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h2.c:7013,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:7014,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:7018,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:7023,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_h2.c:7038,1
    - Dst: b_head
      Src: /src/haproxy/src/mux_h2.c:7039,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:7042,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:7043,1
    - Dst: h2_set_frame_size
      Src: /src/haproxy/src/mux_h2.c:7046,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:7059,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_h2.c:7067,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_h2.c:7067,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h2.c:7067,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:7068,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_h2.c:7071,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:7071,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:7075,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:7079,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:7084,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:7085,1
    - Dst: h2s_mws
      Src: /src/haproxy/src/mux_h2.c:7100,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h2.c:7102,1
    - Dst: h2_remove_from_list
      Src: /src/haproxy/src/mux_h2.c:7103,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_h2.c:7104,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:7105,1
    - Dst: h2s_mws
      Src: /src/haproxy/src/mux_h2.c:7112,1
    - Dst: h2s_mws
      Src: /src/haproxy/src/mux_h2.c:7113,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:7123,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_h2.c:7124,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:7125,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:7132,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:7136,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:7143,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:7151,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/mux_h2.c:7151,1
    - Dst: h2_set_frame_size
      Src: /src/haproxy/src/mux_h2.c:7158,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_h2.c:7163,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h2.c:7164,1
    - Dst: htx_cut_data_blk
      Src: /src/haproxy/src/mux_h2.c:7175,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h2.c:7182,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:7190,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:7193,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7197,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:7207,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 200
    argCount: 3
    argNames:
    - h2s
    - buf
    - count
    argTypes:
    - struct h2s*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 7209
      start: 6905
    functionDepth: 3
    functionLinenumber: 6905
    functionLinenumberEnd: 7209
    functionName: h2s_make_data
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_set_frame_size
    - b_room
    - h2_remove_from_list
    - htx_get_blk_ptr
    - TRACE_ENTER
    - b_head
    - b_contig_space
    - br_count
    - TRACE_LEAVE
    - htx_from_buf
    - br_tail_add
    - htx_nbblks
    - b_tail
    - b_size
    - htx_is_empty
    - LIST_INLIST
    - htx_cut_data_blk
    - h2s_error
    - htx_get_blksz
    - htx_get_head_blk
    - htx_get_blk_type
    - b_slow_realign
    - b_data
    - TRACE_DEVEL
    - h2_get_buf
    - b_space_wraps
    - write_n32
    - br_tail
    - b_make
    - LIST_APPEND
    - TRACE_PROTO
    - b_add
    - TRACE_ERROR
    - h2s_close
    - TRACE_STATE
    - unlikely
    - memcpy
    - h2s_mws
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: h2s_make_data(struct h2s *h2s, struct buffer *buf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:7228,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_h2.c:7230,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h2.c:7233,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h2.c:7235,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h2.c:7236,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_h2.c:7237,1
    - Dst: htx_is_unique_blk
      Src: /src/haproxy/src/mux_h2.c:7248,1
    - Dst: h2_send_empty_data_es
      Src: /src/haproxy/src/mux_h2.c:7255,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:7261,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7267,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_h2.c:7268,1
    - Dst: htx_cut_data_blk
      Src: /src/haproxy/src/mux_h2.c:7273,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:7277,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 3
    argNames:
    - h2s
    - buf
    - count
    argTypes:
    - struct h2s*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 7279
      start: 7218
    functionDepth: 3
    functionLinenumber: 7218
    functionLinenumberEnd: 7279
    functionName: h2s_skip_data
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_send_empty_data_es
    - htx_get_blksz
    - TRACE_LEAVE
    - htx_get_head_blk
    - htx_from_buf
    - TRACE_ENTER
    - htx_get_blk_type
    - htx_is_unique_blk
    - TRACE_DEVEL
    - htx_is_empty
    - h2s_close
    - htx_cut_data_blk
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: h2s_skip_data(struct h2s *h2s, struct buffer *buf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:7302,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h2.c:7306,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/mux_h2.c:7306,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h2.c:7307,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_h2.c:7315,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:7316,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/mux_h2.c:7320,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/mux_h2.c:7321,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_h2.c:7325,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:7331,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:7333,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:7335,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:7338,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/mux_h2.c:7342,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_h2.c:7345,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_h2.c:7345,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h2.c:7345,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:7346,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_h2.c:7349,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:7349,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:7356,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:7357,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:7365,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:7365,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:7366,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:7366,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:7367,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:7367,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:7368,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:7368,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:7369,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:7369,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:7370,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:7370,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:7371,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:7371,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_h2.c:7372,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:7372,1
    - Dst: h2_encode_header
      Src: /src/haproxy/src/mux_h2.c:7379,1
    - Dst: ist
      Src: /src/haproxy/src/mux_h2.c:7380,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:7382,1
    - Dst: h2_set_frame_size
      Src: /src/haproxy/src/mux_h2.c:7400,1
    - Dst: h2_fragment_headers
      Src: /src/haproxy/src/mux_h2.c:7403,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:7405,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:7412,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h2.c:7413,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:7420,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_h2.c:7426,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h2.c:7428,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_h2.c:7429,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_h2.c:7430,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:7437,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:7440,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:7445,1
    - Dst: h2s_error
      Src: /src/haproxy/src/mux_h2.c:7451,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 116
    argCount: 2
    argNames:
    - h2s
    - htx
    argTypes:
    - struct h2s*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 7454
      start: 7290
    functionDepth: 4
    functionLinenumber: 7290
    functionLinenumberEnd: 7454
    functionName: h2s_make_trailers
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_set_frame_size
    - chunk_reset
    - TRACE_ENTER
    - ist
    - htx_get_blk_value
    - b_contig_space
    - htx_get_next_blk
    - TRACE_LEAVE
    - br_tail_add
    - isteq
    - b_tail
    - h2_encode_header
    - h2s_error
    - htx_get_blksz
    - htx_get_head_blk
    - htx_get_blk_type
    - b_slow_realign
    - b_data
    - h2_get_buf
    - b_space_wraps
    - write_n32
    - htx_get_blk_name
    - br_tail
    - b_make
    - TRACE_PROTO
    - b_add
    - TRACE_ERROR
    - h2s_close
    - TRACE_STATE
    - unlikely
    - memcpy
    - htx_remove_blk
    - h2_fragment_headers
    linkageType: ''
    returnType: size_t
    signature: h2s_make_trailers(struct h2s *h2s, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h2.c:7463,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:7466,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:7468,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:7469,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7475,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7478,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h2.c:7480,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7482,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_h2.c:7483,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7486,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_h2.c:7487,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:7491,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - sc
    - event_type
    - es
    argTypes:
    - struct stconn*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 7493
      start: 7461
    functionDepth: 1
    functionLinenumber: 7461
    functionLinenumberEnd: 7493
    functionName: h2_subscribe
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - __sc_mux_strm
    - TRACE_ENTER
    - LIST_APPEND
    - TRACE_DEVEL
    - LIST_INLIST
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: h2_subscribe(struct stconn *sc, int event_type, struct wait_event *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h2.c:7501,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:7503,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:7505,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:7506,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7513,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7516,1
    - Dst: h2_remove_from_list
      Src: /src/haproxy/src/mux_h2.c:7519,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:7522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - sc
    - event_type
    - es
    argTypes:
    - struct stconn*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 7524
      start: 7499
    functionDepth: 2
    functionLinenumber: 7499
    functionLinenumberEnd: 7524
    functionName: h2_unsubscribe
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_remove_from_list
    - TRACE_LEAVE
    - __sc_mux_strm
    - TRACE_ENTER
    - TRACE_DEVEL
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: h2_unsubscribe(struct stconn *sc, int event_type, struct wait_event
      *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h2.c:7541,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:7550,1
    - Dst: h2s_rxbuf_head
      Src: /src/haproxy/src/mux_h2.c:7555,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_h2.c:7559,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h2.c:7560,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_h2.c:7564,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_h2.c:7568,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h2.c:7572,1
    - Dst: htx_used_space
      Src: /src/haproxy/src/mux_h2.c:7572,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_h2.c:7574,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_h2.c:7575,1
    - Dst: b_xfer
      Src: /src/haproxy/src/mux_h2.c:7576,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:7576,1
    - Dst: htx_xfer_blks
      Src: /src/haproxy/src/mux_h2.c:7580,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h2.c:7585,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:7586,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h2.c:7588,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_h2.c:7593,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_h2.c:7594,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:7599,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:7599,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_h2.c:7600,1
    - Dst: _h2s_rxbuf_head
      Src: /src/haproxy/src/mux_h2.c:7600,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_h2.c:7601,1
    - Dst: _h2s_rxbuf_head
      Src: /src/haproxy/src/mux_h2.c:7601,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_h2.c:7602,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:7606,1
    - Dst: h2s_put_rxbuf
      Src: /src/haproxy/src/mux_h2.c:7607,1
    - Dst: h2s_rxbuf_cnt
      Src: /src/haproxy/src/mux_h2.c:7615,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:7616,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_h2.c:7617,1
    - Dst: se_expect_data
      Src: /src/haproxy/src/mux_h2.c:7624,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/mux_h2.c:7627,1
    - Dst: h2s_propagate_term_flags
      Src: /src/haproxy/src/mux_h2.c:7628,1
    - Dst: h2c_restart_reading
      Src: /src/haproxy/src/mux_h2.c:7637,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_h2.c:7639,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_h2.c:7639,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:7641,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 4
    argNames:
    - sc
    - buf
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 7643
      start: 7539
    functionDepth: 3
    functionLinenumber: 7539
    functionLinenumberEnd: 7643
    functionName: h2_rcv_buf
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - htx_to_buf
    - h2s_rxbuf_head
    - TRACE_LEAVE
    - b_free
    - __sc_mux_strm
    - se_expect_data
    - htx_from_buf
    - h2s_propagate_term_flags
    - h2s_put_rxbuf
    - se_fl_test
    - offer_buffers
    - b_size
    - htx_is_empty
    - BUG_ON_HOT
    - h2s_rxbuf_cnt
    - b_data
    - htx_used_space
    - se_fl_clr
    - se_fl_set
    - h2c_restart_reading
    - _h2s_rxbuf_head
    - htx_xfer_blks
    - b_xfer
    linkageType: ''
    returnType: size_t
    signature: h2_rcv_buf(struct stconn *sc, struct buffer *buf, size_t count, int
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h2.c:7652,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:7661,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_h2.c:7668,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_h2.c:7668,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h2.c:7669,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7670,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7672,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7680,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:7685,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7686,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_h2.c:7690,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_h2.c:7699,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7700,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/mux_h2.c:7704,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/mux_h2.c:7708,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_h2.c:7712,1
    - Dst: htx_get_head
      Src: /src/haproxy/src/mux_h2.c:7713,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/mux_h2.c:7714,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_h2.c:7715,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_h2.c:7716,1
    - Dst: h2s_snd_bhdrs
      Src: /src/haproxy/src/mux_h2.c:7721,1
    - Dst: h2s_snd_fhdrs
      Src: /src/haproxy/src/mux_h2.c:7732,1
    - Dst: h2s_skip_data
      Src: /src/haproxy/src/mux_h2.c:7745,1
    - Dst: h2s_make_data
      Src: /src/haproxy/src/mux_h2.c:7747,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_h2.c:7749,1
    - Dst: h2s_make_trailers
      Src: /src/haproxy/src/mux_h2.c:7760,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_h2.c:7770,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7788,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_h2.c:7789,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_h2.c:7790,1
    - Dst: h2s_send_rst_stream
      Src: /src/haproxy/src/mux_h2.c:7791,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:7792,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_h2.c:7795,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7799,1
    - Dst: h2_send
      Src: /src/haproxy/src/mux_h2.c:7800,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h2.c:7801,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:7810,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7812,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_h2.c:7813,1
    - Dst: h2_remove_from_list
      Src: /src/haproxy/src/mux_h2.c:7819,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7820,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:7823,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 123
    argCount: 4
    argNames:
    - sc
    - buf
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 7825
      start: 7650
    functionDepth: 6
    functionLinenumber: 7650
    functionLinenumberEnd: 7825
    functionName: h2_snd_buf
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - htx_get_head
    - h2_remove_from_list
    - TRACE_ENTER
    - h2s_snd_bhdrs
    - se_report_term_evt
    - htx_to_buf
    - h2s_send_rst_stream
    - TRACE_LEAVE
    - __sc_mux_strm
    - LIST_ISEMPTY
    - htx_from_buf
    - h2_send
    - eb32_insert
    - htx_get_blk
    - htx_is_empty
    - LIST_INLIST
    - eb32_delete
    - htx_get_blksz
    - h2s_make_data
    - se_fl_set_error
    - tasklet_wakeup
    - htx_get_blk_type
    - TRACE_DEVEL
    - b_data
    - h2s_skip_data
    - se_fl_set
    - h2s_make_trailers
    - h2s_close
    - h2s_snd_fhdrs
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: h2_snd_buf(struct stconn *sc, struct buffer *buf, size_t count, int
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h2.c:7829,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:7834,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_h2.c:7844,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_h2.c:7844,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h2.c:7845,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7846,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_h2.c:7848,1
    - Dst: h2s_mws
      Src: /src/haproxy/src/mux_h2.c:7855,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h2.c:7857,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_h2.c:7858,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_h2.c:7859,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:7861,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:7867,1
    - Dst: h2s_mws
      Src: /src/haproxy/src/mux_h2.c:7872,1
    - Dst: h2s_mws
      Src: /src/haproxy/src/mux_h2.c:7873,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:7882,1
    - Dst: br_count
      Src: /src/haproxy/src/mux_h2.c:7884,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:7890,1
    - Dst: h2_get_buf
      Src: /src/haproxy/src/mux_h2.c:7894,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:7898,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_h2.c:7902,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_h2.c:7902,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:7902,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:7903,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:7908,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h2.c:7913,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_h2.c:7913,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_h2.c:7915,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:7915,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h2.c:7918,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_h2.c:7919,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_h2.c:7924,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_h2.c:7929,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_h2.c:7934,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_h2.c:7934,1
    - Dst: write_n32
      Src: /src/haproxy/src/mux_h2.c:7935,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_h2.c:7935,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:7942,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:7945,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:7946,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h2.c:7947,1
    - Dst: b_xfer
      Src: /src/haproxy/src/mux_h2.c:7948,1
    - Dst: b_sub
      Src: /src/haproxy/src/mux_h2.c:7949,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:7952,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:7960,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 108
    argCount: 4
    argNames:
    - sc
    - input
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 7962
      start: 7827
    functionDepth: 2
    functionLinenumber: 7827
    functionLinenumberEnd: 7962
    functionName: h2_nego_ff
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - b_room
    - TRACE_ENTER
    - b_contig_space
    - br_count
    - b_sub
    - TRACE_LEAVE
    - __sc_mux_strm
    - LIST_ISEMPTY
    - br_tail_add
    - b_tail
    - LIST_DEL_INIT
    - b_size
    - LIST_INLIST
    - b_slow_realign
    - TRACE_DEVEL
    - b_data
    - h2_get_buf
    - b_space_wraps
    - write_n32
    - br_tail
    - LIST_APPEND
    - b_add
    - TRACE_STATE
    - memcpy
    - h2s_mws
    - b_xfer
    linkageType: ''
    returnType: size_t
    signature: h2_nego_ff(struct stconn *sc, struct buffer *input, size_t count, unsigned
      int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_h2.c:7966,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_h2.c:7974,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_h2.c:7979,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:7979,1
    - Dst: h2_set_frame_size
      Src: /src/haproxy/src/mux_h2.c:7993,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_h2.c:7996,1
    - Dst: h2_send
      Src: /src/haproxy/src/mux_h2.c:7999,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_h2.c:8000,1
    - Dst: h2s_close
      Src: /src/haproxy/src/mux_h2.c:8006,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_h2.c:8009,1
    - Dst: h2_remove_from_list
      Src: /src/haproxy/src/mux_h2.c:8024,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_h2.c:8027,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 8029
      start: 7964
    functionDepth: 6
    functionLinenumber: 7964
    functionLinenumberEnd: 8029
    functionName: h2_done_ff
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_set_frame_size
    - h2_remove_from_list
    - TRACE_LEAVE
    - __sc_mux_strm
    - h2_send
    - TRACE_ENTER
    - b_peek
    - TRACE_PROTO
    - b_add
    - tasklet_wakeup
    - b_data
    - h2s_close
    linkageType: ''
    returnType: size_t
    signature: h2_done_ff(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - flags
    argTypes:
    - struct stconn*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 8034
      start: 8031
    functionDepth: 0
    functionLinenumber: 8031
    functionLinenumberEnd: 8034
    functionName: h2_resume_ff
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: h2_resume_ff(struct stconn *sc, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h2s_rxbuf_head
      Src: /src/haproxy/src/mux_h2.c:8049,1
    - Dst: h2s_rxbuf_tail
      Src: /src/haproxy/src/mux_h2.c:8050,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8052,1
    - Dst: h2s_st_to_str
      Src: /src/haproxy/src/mux_h2.c:8053,1
    - Dst: h2s_rxbuf_cnt
      Src: /src/haproxy/src/mux_h2.c:8055,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:8056,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:8057,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_h2.c:8058,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:8059,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:8060,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:8061,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_h2.c:8062,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:8063,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8066,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8068,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:8068,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:8069,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8070,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:8071,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:8071,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8073,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8074,1
    - Dst: se_fl_get
      Src: /src/haproxy/src/mux_h2.c:8074,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_h2.c:8074,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8077,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8079,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8081,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8082,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/mux_h2.c:8087,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8088,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - msg
    - h2s
    - pfx
    argTypes:
    - struct buffer*
    - struct h2s*
    - char*
    constantsTouched: []
    func_position:
      end: 8091
      start: 8041
    functionDepth: 2
    functionLinenumber: 8041
    functionLinenumberEnd: 8091
    functionName: h2_dump_h2s_info
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 1
    functionsReached:
    - h2s_rxbuf_head
    - h2s_rxbuf_cnt
    - h2s_st_to_str
    - tevt_evts2str
    - h2s_rxbuf_tail
    - se_fl_get
    - chunk_appendf
    - b_data
    - b_head_ofs
    - b_size
    - h2s_sc
    - b_orig
    - resolve_sym_name
    linkageType: ''
    returnType: int
    signature: h2_dump_h2s_info(struct buffer *msg, const struct h2s *h2s, const char
      *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mux_h2.c:8112,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mux_h2.c:8115,1
    - Dst: eb32_first
      Src: /src/haproxy/src/mux_h2.c:8118,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_h2.c:8120,1
    - Dst: h2s_sc
      Src: /src/haproxy/src/mux_h2.c:8122,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_h2.c:8124,1
    - Dst: br_head
      Src: /src/haproxy/src/mux_h2.c:8127,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_h2.c:8128,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8129,1
    - Dst: h2c_st_to_str
      Src: /src/haproxy/src/mux_h2.c:8131,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_h2.c:8133,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8136,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8138,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:8142,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:8142,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_h2.c:8143,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:8143,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8146,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8148,1
    - Dst: br_head_idx
      Src: /src/haproxy/src/mux_h2.c:8149,1
    - Dst: br_tail_idx
      Src: /src/haproxy/src/mux_h2.c:8149,1
    - Dst: br_size
      Src: /src/haproxy/src/mux_h2.c:8149,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:8150,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:8150,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_h2.c:8151,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:8151,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_h2.c:8152,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_h2.c:8152,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_h2.c:8153,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_h2.c:8153,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8155,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8157,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/mux_h2.c:8158,1
    - Dst: human_time
      Src: /src/haproxy/src/mux_h2.c:8159,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/mux_h2.c:8159,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/mux_h2.c:8159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - msg
    - h2c
    - pfx
    argTypes:
    - struct buffer*
    - struct h2c*
    - char*
    constantsTouched: []
    func_position:
      end: 8163
      start: 8098
    functionDepth: 1
    functionLinenumber: 8098
    functionLinenumberEnd: 8163
    functionName: h2_dump_h2c_info
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 1
    functionsReached:
    - TICKS_TO_MS
    - eb32_next
    - human_time
    - b_orig
    - list_for_each_entry
    - chunk_appendf
    - b_size
    - br_tail_idx
    - h2c_st_to_str
    - tevt_evts2str
    - tick_is_expired
    - br_head_idx
    - b_data
    - h2s_sc
    - container_of
    - br_head
    - br_tail
    - br_size
    - b_head_ofs
    - eb32_first
    linkageType: ''
    returnType: int
    signature: h2_dump_h2c_info(struct buffer *msg, struct h2c *h2c, const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h2_dump_h2c_info
      Src: /src/haproxy/src/mux_h2.c:8176,1
    - Dst: eb32_last
      Src: /src/haproxy/src/mux_h2.c:8178,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_h2.c:8180,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8181,1
    - Dst: h2_dump_h2s_info
      Src: /src/haproxy/src/mux_h2.c:8182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - msg
    - conn
    argTypes:
    - struct buffer*
    - struct connection*
    constantsTouched: []
    func_position:
      end: 8186
      start: 8166
    functionDepth: 3
    functionLinenumber: 8166
    functionLinenumberEnd: 8186
    functionName: h2_show_fd
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_dump_h2c_info
    - h2_dump_h2s_info
    - container_of
    - eb32_last
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: h2_show_fd(struct buffer *msg, struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8201,1
    - Dst: h2_dump_h2s_info
      Src: /src/haproxy/src/mux_h2.c:8202,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8204,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_h2.c:8205,1
    - Dst: h2_dump_h2c_info
      Src: /src/haproxy/src/mux_h2.c:8206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - msg
    - sd
    - pfx
    argTypes:
    - struct buffer*
    - struct sedesc*
    - char*
    constantsTouched: []
    func_position:
      end: 8208
      start: 8193
    functionDepth: 3
    functionLinenumber: 8193
    functionLinenumberEnd: 8208
    functionName: h2_show_sd
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - h2_dump_h2c_info
    - h2_dump_h2s_info
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: h2_show_sd(struct buffer *msg, struct sedesc *sd, const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h2.c:8230,1
    - Dst: task_new_here
      Src: /src/haproxy/src/mux_h2.c:8233,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/mux_h2.c:8234,1
    - Dst: fd_takeover
      Src: /src/haproxy/src/mux_h2.c:8239,1
    - Dst: struct connection*::xprt::takeover
      Src: /src/haproxy/src/mux_h2.c:8242,1
    - Dst: tasklet_wakeup_on
      Src: /src/haproxy/src/mux_h2.c:8249,1
    - Dst: struct h2c*::conn::xprt::unsubscribe
      Src: /src/haproxy/src/mux_h2.c:8254,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/mux_h2.c:8264,1
    - Dst: task_kill
      Src: /src/haproxy/src/mux_h2.c:8265,1
    - Dst: tasklet_wakeup_on
      Src: /src/haproxy/src/mux_h2.c:8279,1
    - Dst: struct h2c*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_h2.c:8285,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_h2.c:8298,1
    - Dst: thread_isolated
      Src: /src/haproxy/src/mux_h2.c:8298,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_h2.c:8299,1
    - Dst: _b_dequeue
      Src: /src/haproxy/src/mux_h2.c:8300,1
    - Dst: __task_free
      Src: /src/haproxy/src/mux_h2.c:8304,1
    - Dst: __task_free
      Src: /src/haproxy/src/mux_h2.c:8308,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_h2.c:8309,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - conn
    - orig_tid
    - release
    argTypes:
    - struct connection*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 8311
      start: 8214
    functionDepth: 2
    functionLinenumber: 8214
    functionLinenumberEnd: 8311
    functionName: h2_takeover
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - struct h2c*::conn::xprt::unsubscribe
    - fd_takeover
    - _b_dequeue
    - tasklet_free
    - tasklet_wakeup_on
    - __ha_barrier_store
    - struct connection*::xprt::takeover
    - thread_isolated
    - task_kill
    - tasklet_new
    - __task_free
    - LIST_INLIST
    - task_new_here
    - BUG_ON
    - struct h2c*::conn::xprt::subscribe
    linkageType: ''
    returnType: int
    signature: h2_takeover(struct connection *conn, int orig_tid, int release)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/mux_h2.c:8324,1
    - Dst: atoi
      Src: /src/haproxy/src/mux_h2.c:8330,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h2.c:8332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 8336
      start: 8318
    functionDepth: 1
    functionLinenumber: 8318
    functionLinenumberEnd: 8336
    functionName: h2_parse_glitches_threshold
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "h2_parse_glitches_threshold(char **args, int section_type, struct
      proxy *curpx,\n\t\t\t\t       const struct proxy *defpx, const char *file, int
      line,\n\t\t\t\t       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/mux_h2.c:8343,1
    - Dst: atoi
      Src: /src/haproxy/src/mux_h2.c:8346,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h2.c:8348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 8352
      start: 8339
    functionDepth: 1
    functionLinenumber: 8339
    functionLinenumberEnd: 8352
    functionName: h2_parse_header_table_size
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "h2_parse_header_table_size(char **args, int section_type, struct proxy
      *curpx,\n                                      const struct proxy *defpx, const
      char *file, int line,\n                                      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/mux_h2.c:8361,1
    - Dst: atoi
      Src: /src/haproxy/src/mux_h2.c:8369,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h2.c:8371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 8375
      start: 8355
    functionDepth: 1
    functionLinenumber: 8355
    functionLinenumberEnd: 8375
    functionName: h2_parse_initial_window_size
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "h2_parse_initial_window_size(char **args, int section_type, struct
      proxy *curpx,\n                                        const struct proxy *defpx,
      const char *file, int line,\n                                        char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/mux_h2.c:8384,1
    - Dst: atoi
      Src: /src/haproxy/src/mux_h2.c:8392,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h2.c:8394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 8398
      start: 8378
    functionDepth: 1
    functionLinenumber: 8378
    functionLinenumberEnd: 8398
    functionName: h2_parse_max_concurrent_streams
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "h2_parse_max_concurrent_streams(char **args, int section_type, struct
      proxy *curpx,\n                                           const struct proxy
      *defpx, const char *file, int line,\n                                           char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/mux_h2.c:8407,1
    - Dst: atoi
      Src: /src/haproxy/src/mux_h2.c:8413,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h2.c:8415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 8419
      start: 8401
    functionDepth: 1
    functionLinenumber: 8401
    functionLinenumberEnd: 8419
    functionName: h2_parse_max_total_streams
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "h2_parse_max_total_streams(char **args, int section_type, struct proxy
      *curpx,\n\t\t\t\t      const struct proxy *defpx, const char *file, int line,\n\t\t\t\t
      \     char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/mux_h2.c:8426,1
    - Dst: atoi
      Src: /src/haproxy/src/mux_h2.c:8429,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h2.c:8431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 8435
      start: 8422
    functionDepth: 1
    functionLinenumber: 8422
    functionLinenumberEnd: 8435
    functionName: h2_parse_max_frame_size
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "h2_parse_max_frame_size(char **args, int section_type, struct proxy
      *curpx,\n                                   const struct proxy *defpx, const
      char *file, int line,\n                                   char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/mux_h2.c:8445,1
    - Dst: atoi
      Src: /src/haproxy/src/mux_h2.c:8451,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/mux_h2.c:8452,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h2.c:8453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 8457
      start: 8438
    functionDepth: 1
    functionLinenumber: 8438
    functionLinenumberEnd: 8457
    functionName: h2_parse_rxbuf
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_size_err
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "h2_parse_rxbuf(char **args, int section_type, struct proxy *curpx,\n
      \                         const struct proxy *defpx, const char *file, int line,\n
      \                         char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/mux_h2.c:8464,1
    - Dst: strcmp
      Src: /src/haproxy/src/mux_h2.c:8467,1
    - Dst: strcmp
      Src: /src/haproxy/src/mux_h2.c:8469,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_h2.c:8472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 8476
      start: 8460
    functionDepth: 1
    functionLinenumber: 8460
    functionLinenumberEnd: 8476
    functionName: h2_parse_zero_copy_fwd_snd
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "h2_parse_zero_copy_fwd_snd(char **args, int section_type, struct proxy
      *curpx,\n\t\t\t\t\t  const struct proxy *defpx, const char *file, int line,\n\t\t\t\t\t
      \ char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_pool
      Src: /src/haproxy/src/mux_h2.c:8543,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mux_h2.c:8547,1
    - Dst: MAX
      Src: /src/haproxy/src/mux_h2.c:8553,1
    - Dst: MAX
      Src: /src/haproxy/src/mux_h2.c:8559,1
    - Dst: MAX
      Src: /src/haproxy/src/mux_h2.c:8565,1
    - Dst: MAX
      Src: /src/haproxy/src/mux_h2.c:8567,1
    - Dst: create_pool
      Src: /src/haproxy/src/mux_h2.c:8569,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mux_h2.c:8573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8577
      start: 8538
    functionDepth: 1
    functionLinenumber: 8538
    functionLinenumberEnd: 8577
    functionName: init_h2
    functionSourceFile: /src/haproxy/src/mux_h2.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - MAX
    - create_pool
    linkageType: ''
    returnType: int
    signature: init_h2()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_size
      Src: /src/haproxy/src/fcgi.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - out
    - h
    argTypes:
    - struct buffer*
    - struct fcgi_header*
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: fcgi_encode_record_hdr
    functionSourceFile: /src/haproxy/src/fcgi.c
    functionUses: 0
    functionsReached:
    - b_size
    linkageType: ''
    returnType: int
    signature: fcgi_encode_record_hdr(struct buffer *out, const struct fcgi_header
      *h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/fcgi.c:69,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:72,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:73,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:74,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:74,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:75,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:75,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - in
    - o
    - h
    argTypes:
    - struct buffer*
    - size_t
    - struct fcgi_header*
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: fcgi_decode_record_hdr
    functionSourceFile: /src/haproxy/src/fcgi.c
    functionUses: 0
    functionsReached:
    - b_peek
    - b_data
    linkageType: ''
    returnType: size_t
    signature: fcgi_decode_record_hdr(const struct buffer *in, size_t o, struct fcgi_header
      *h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_size
      Src: /src/haproxy/src/fcgi.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - out
    - r
    argTypes:
    - struct buffer*
    - struct fcgi_begin_request*
    constantsTouched: []
    func_position:
      end: 105
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 105
    functionName: fcgi_encode_begin_request
    functionSourceFile: /src/haproxy/src/fcgi.c
    functionUses: 0
    functionsReached:
    - b_size
    linkageType: ''
    returnType: int
    signature: fcgi_encode_begin_request(struct buffer *out, const struct fcgi_begin_request
      *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_size
      Src: /src/haproxy/src/fcgi.c:121,1
    - Dst: isalnum
      Src: /src/haproxy/src/fcgi.c:143,1
    - Dst: ist2bin
      Src: /src/haproxy/src/fcgi.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - out
    - p
    argTypes:
    - struct buffer*
    - struct fcgi_param*
    constantsTouched: []
    func_position:
      end: 155
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 155
    functionName: fcgi_encode_param
    functionSourceFile: /src/haproxy/src/fcgi.c
    functionUses: 0
    functionsReached:
    - isalnum
    - ist2bin
    - b_size
    linkageType: ''
    returnType: int
    signature: fcgi_encode_param(struct buffer *out, const struct fcgi_param *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:169,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:177,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:178,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:179,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:186,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:194,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:195,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:196,1
    - Dst: ist2
      Src: /src/haproxy/src/fcgi.c:204,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:204,1
    - Dst: ist2
      Src: /src/haproxy/src/fcgi.c:205,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - in
    - o
    - p
    argTypes:
    - struct buffer*
    - size_t
    - struct fcgi_param*
    constantsTouched: []
    func_position:
      end: 209
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 209
    functionName: fcgi_decode_param
    functionSourceFile: /src/haproxy/src/fcgi.c
    functionUses: 0
    functionsReached:
    - ist2
    - b_peek
    linkageType: ''
    returnType: size_t
    signature: fcgi_decode_param(const struct buffer *in, size_t o, struct fcgi_param
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/fcgi.c:259,1
    - Dst: ist2
      Src: /src/haproxy/src/fcgi.c:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - in
    - o
    - p
    argTypes:
    - struct buffer*
    - size_t
    - struct fcgi_param*
    constantsTouched: []
    func_position:
      end: 264
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 264
    functionName: fcgi_aligned_decode_param
    functionSourceFile: /src/haproxy/src/fcgi.c
    functionUses: 0
    functionsReached:
    - ist2
    linkageType: ''
    returnType: size_t
    signature: fcgi_aligned_decode_param(const struct buffer *in, size_t o, struct
      fcgi_param *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/fcgi.c:275,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:278,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:279,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:280,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:281,1
    - Dst: b_peek
      Src: /src/haproxy/src/fcgi.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - in
    - o
    - rec
    argTypes:
    - struct buffer*
    - size_t
    - struct fcgi_end_request*
    constantsTouched: []
    func_position:
      end: 287
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 287
    functionName: fcgi_decode_end_request
    functionSourceFile: /src/haproxy/src/fcgi.c
    functionUses: 0
    functionsReached:
    - b_peek
    - b_data
    linkageType: ''
    returnType: size_t
    signature: fcgi_decode_end_request(const struct buffer *in, size_t o, struct fcgi_end_request
      *rec)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb_delete
      Src: /src/haproxy/src/ebtree.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct eb_node*
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: eb_delete
    functionSourceFile: /src/haproxy/src/ebtree.c
    functionUses: 3
    functionsReached:
    - __eb_delete
    linkageType: ''
    returnType: void
    signature: eb_delete(struct eb_node *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb_insert_dup
      Src: /src/haproxy/src/ebtree.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sub
    - new
    argTypes:
    - struct eb_node*
    - struct eb_node*
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: eb_insert_dup
    functionSourceFile: /src/haproxy/src/ebtree.c
    functionUses: 1
    functionsReached:
    - __eb_insert_dup
    linkageType: ''
    returnType: struct eb_node
    signature: '*eb_insert_dup(struct eb_node *sub, struct eb_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - m1
    - m2
    - len
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: eb_memcmp
    functionSourceFile: /src/haproxy/src/ebtree.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: eb_memcmp(const void *m1, const void *m2, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - type
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 337
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 337
    functionName: ctrl_msg_type_str
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*ctrl_msg_type_str(unsigned int type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:351,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:356,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:361,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:369,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:374,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:379,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:387,1
    - Dst: ctrl_msg_type_str
      Src: /src/haproxy/src/peers.c:387,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:393,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:399,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:412,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:413,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:419,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 9
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - struct ist
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 422
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 422
    functionName: peers_trace
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - ctrl_msg_type_str
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "peers_trace(enum trace_level level, uint64_t mask,\n                        const
      struct trace_source *src,\n                        const struct ist where, const
      struct ist func,\n                        const void *a1, const void *a2, const
      void *a3, const void *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - statuscode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 446
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 446
    functionName: statuscode_str
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*statuscode_str(int statuscode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - appstate
    argTypes:
    - enum peer_app_state
    constantsTouched: []
    func_position:
      end: 462
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 462
    functionName: peer_app_state_str
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*peer_app_state_str(enum peer_app_state appstate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - learnstate
    argTypes:
    - enum peer_learn_state
    constantsTouched: []
    func_position:
      end: 478
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 478
    functionName: peer_learn_state_str
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*peer_learn_state_str(enum peer_learn_state learnstate)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - i
    - str
    argTypes:
    - uint64_t
    - char**
    constantsTouched: []
    func_position:
      end: 506
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 506
    functionName: intencode
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: intencode(uint64_t i, char **str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - str
    - end
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 557
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 557
    functionName: intdecode
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: intdecode(char **str, char *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/src/peers.c:572,1
    - Dst: getpid
      Src: /src/haproxy/src/peers.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - msg
    - size
    - p
    argTypes:
    - char*
    - size_t
    - struct peer_prep_params*
    constantsTouched: []
    func_position:
      end: 578
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 578
    functionName: peer_prepare_hellomsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - snprintf
    - getpid
    linkageType: ''
    returnType: int
    signature: peer_prepare_hellomsg(char *msg, size_t size, struct peer_prep_params
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/src/peers.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - msg
    - size
    - p
    argTypes:
    - char*
    - size_t
    - struct peer_prep_params*
    constantsTouched: []
    func_position:
      end: 594
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 594
    functionName: peer_prepare_status_successmsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: peer_prepare_status_successmsg(char *msg, size_t size, struct peer_prep_params
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/src/peers.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - size
    - p
    argTypes:
    - char*
    - size_t
    - struct peer_prep_params*
    constantsTouched: []
    func_position:
      end: 612
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 612
    functionName: peer_prepare_status_errormsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: peer_prepare_status_errormsg(char *msg, size_t size, struct peer_prep_params
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - msg_type
    - use_identifier
    - use_timed
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 632
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 632
    functionName: peer_set_update_msg_type
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: peer_set_update_msg_type(char *msg_type, int use_identifier, int use_timed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/haproxy/src/peers.c:672,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:673,1
    - Dst: htonl
      Src: /src/haproxy/src/peers.c:678,1
    - Dst: tick_remain
      Src: /src/haproxy/src/peers.c:678,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:679,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:687,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:688,1
    - Dst: htonl
      Src: /src/haproxy/src/peers.c:692,1
    - Dst: read_u32
      Src: /src/haproxy/src/peers.c:692,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:693,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:697,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/peers.c:701,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/peers.c:705,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:719,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:720,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/peers.c:722,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:730,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:731,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/peers.c:733,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:741,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:742,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/peers.c:744,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:752,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:753,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:754,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:755,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/peers.c:757,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:772,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:773,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:779,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:780,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:786,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:787,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:793,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:794,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:795,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:796,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:807,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:810,1
    - Dst: dcache_tx_insert
      Src: /src/haproxy/src/peers.c:816,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:821,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:823,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:829,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:832,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:834,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:838,1
    - Dst: memmove
      Src: /src/haproxy/src/peers.c:839,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/peers.c:847,1
    - Dst: peer_set_update_msg_type
      Src: /src/haproxy/src/peers.c:854,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:856,1
    - Dst: memmove
      Src: /src/haproxy/src/peers.c:859,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 139
    argCount: 3
    argNames:
    - msg
    - size
    - p
    argTypes:
    - char*
    - size_t
    - struct peer_prep_params*
    constantsTouched: []
    func_position:
      end: 863
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 863
    functionName: peer_prepare_updatemsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - stktable_data_ptr_idx
    - read_u32
    - intencode
    - stktable_data_cast
    - HA_RWLOCK_RDUNLOCK
    - tick_remain
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - peer_set_update_msg_type
    - htonl
    - memmove
    - dcache_tx_insert
    - memcpy
    linkageType: ''
    returnType: int
    signature: peer_prepare_updatemsg(char *msg, size_t size, struct peer_prep_params
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:887,1
    - Dst: strlen
      Src: /src/haproxy/src/peers.c:890,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:891,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:892,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:897,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:900,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/peers.c:902,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:936,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:941,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:947,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:954,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:955,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:961,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:964,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:968,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:979,1
    - Dst: memmove
      Src: /src/haproxy/src/peers.c:982,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 3
    argNames:
    - msg
    - size
    - params
    argTypes:
    - char*
    - size_t
    - struct peer_prep_params*
    constantsTouched: []
    func_position:
      end: 986
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 986
    functionName: peer_prepare_switchmsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - intencode
    - strlen
    - get_trash_chunk
    - memmove
    - memcpy
    linkageType: ''
    returnType: int
    signature: peer_prepare_switchmsg(char *msg, size_t size, struct peer_prep_params
      *params)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:1005,1
    - Dst: htonl
      Src: /src/haproxy/src/peers.c:1006,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:1007,1
    - Dst: intencode
      Src: /src/haproxy/src/peers.c:1017,1
    - Dst: memmove
      Src: /src/haproxy/src/peers.c:1020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - msg
    - size
    - p
    argTypes:
    - char*
    - size_t
    - struct peer_prep_params*
    constantsTouched: []
    func_position:
      end: 1024
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1024
    functionName: peer_prepare_ackmsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - htonl
    - memmove
    - memcpy
    - intencode
    linkageType: ''
    returnType: int
    signature: peer_prepare_ackmsg(char *msg, size_t size, struct peer_prep_params
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/peers.c:1038,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/peers.c:1041,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/peers.c:1043,1
    - Dst: flush_dcache
      Src: /src/haproxy/src/peers.c:1045,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/peers.c:1058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct peer*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1059
    functionName: __peer_session_deinit
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - flush_dcache
    - HA_ATOMIC_DEC
    - task_wakeup
    linkageType: ''
    returnType: void
    signature: __peer_session_deinit(struct peer *peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/peers.c:1067,1
    - Dst: set_host_port
      Src: /src/haproxy/src/peers.c:1069,1
    - Dst: appctx_finalize_startup
      Src: /src/haproxy/src/peers.c:1071,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/peers.c:1074,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/peers.c:1076,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/peers.c:1077,1
    - Dst: peer_session_target
      Src: /src/haproxy/src/peers.c:1083,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/peers.c:1088,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/peers.c:1092,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1095
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1095
    functionName: peer_session_init
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - sockaddr_free
    - appctx_strm
    - appctx_wakeup
    - set_host_port
    - peer_session_target
    - sockaddr_alloc
    - _HA_ATOMIC_INC
    - applet_need_more_data
    - appctx_finalize_startup
    linkageType: ''
    returnType: int
    signature: peer_session_init(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1104,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/peers.c:1111,1
    - Dst: __peer_session_deinit
      Src: /src/haproxy/src/peers.c:1113,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/peers.c:1115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1117
      start: 1100
    functionDepth: 2
    functionLinenumber: 1100
    functionLinenumberEnd: 1117
    functionName: peer_session_release
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - TRACE_PROTO
    - __peer_session_deinit
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: void
    signature: peer_session_release(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/peers.c:1131,1
    - Dst: read_uint
      Src: /src/haproxy/src/peers.c:1133,1
    - Dst: read_uint
      Src: /src/haproxy/src/peers.c:1138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - str
    - maj_ver
    - min_ver
    argTypes:
    - char*
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1146
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1146
    functionName: peer_get_version
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - read_uint
    - strlen
    linkageType: ''
    returnType: int
    signature: "peer_get_version(const char *str,\n                            unsigned
      int *maj_ver, unsigned int *min_ver)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/peers.c:1156,1
    - Dst: co_getline
      Src: /src/haproxy/src/peers.c:1159,1
    - Dst: sc_oc
      Src: /src/haproxy/src/peers.c:1159,1
    - Dst: co_skip
      Src: /src/haproxy/src/peers.c:1173,1
    - Dst: sc_oc
      Src: /src/haproxy/src/peers.c:1173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1176
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1176
    functionName: peer_getline
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - co_getline
    - sc_oc
    - co_skip
    linkageType: ''
    returnType: int
    signature: peer_getline(struct appctx  *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_prepare_msg
      Src: /src/haproxy/src/peers.c:1191,1
    - Dst: applet_putblk
      Src: /src/haproxy/src/peers.c:1199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - appctx
    - params
    argTypes:
    - struct appctx*
    - struct peer_prep_params*
    constantsTouched: []
    func_position:
      end: 1206
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1206
    functionName: peer_send_msg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - applet_putblk
    - peer_prepare_msg
    linkageType: ''
    returnType: int
    signature: "peer_send_msg(struct appctx *appctx,\n                                int
      (*peer_prepare_msg)(char *, size_t, struct peer_prep_params *),\n                                struct
      peer_prep_params *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_send_msg
      Src: /src/haproxy/src/peers.c:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - appctx
    - peer
    argTypes:
    - struct appctx*
    - struct peer*
    constantsTouched: []
    func_position:
      end: 1222
      start: 1215
    functionDepth: 2
    functionLinenumber: 1215
    functionLinenumberEnd: 1222
    functionName: peer_send_hellomsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_send_msg
    linkageType: ''
    returnType: int
    signature: peer_send_hellomsg(struct appctx *appctx, struct peer *peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_send_msg
      Src: /src/haproxy/src/peers.c:1233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1231
    functionDepth: 2
    functionLinenumber: 1231
    functionLinenumberEnd: 1234
    functionName: peer_send_status_successmsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_send_msg
    linkageType: ''
    returnType: int
    signature: peer_send_status_successmsg(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_send_msg
      Src: /src/haproxy/src/peers.c:1249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1250
      start: 1243
    functionDepth: 2
    functionLinenumber: 1243
    functionLinenumberEnd: 1250
    functionName: peer_send_status_errormsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_send_msg
    linkageType: ''
    returnType: int
    signature: peer_send_status_errormsg(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_send_msg
      Src: /src/haproxy/src/peers.c:1265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - appctx
    argTypes:
    - struct shared_table*
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1266
    functionName: peer_send_switchmsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_send_msg
    linkageType: ''
    returnType: int
    signature: peer_send_switchmsg(struct shared_table *st, struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_send_msg
      Src: /src/haproxy/src/peers.c:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - appctx
    argTypes:
    - struct shared_table*
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1282
      start: 1275
    functionDepth: 2
    functionLinenumber: 1275
    functionLinenumberEnd: 1282
    functionName: peer_send_ackmsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_send_msg
    linkageType: ''
    returnType: int
    signature: peer_send_ackmsg(struct shared_table *st, struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_send_msg
      Src: /src/haproxy/src/peers.c:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - st
    - appctx
    - ts
    - updateid
    - use_identifier
    - use_timed
    argTypes:
    - struct shared_table*
    - struct appctx*
    - struct stksess*
    - unsigned int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1306
      start: 1291
    functionDepth: 2
    functionLinenumber: 1291
    functionLinenumberEnd: 1306
    functionName: peer_send_updatemsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_send_msg
    linkageType: ''
    returnType: int
    signature: "peer_send_updatemsg(struct shared_table *st, struct appctx *appctx,
      struct stksess *ts,\n                                      unsigned int updateid,
      int use_identifier, int use_timed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - size
    - p
    argTypes:
    - char*
    - size_t
    - struct peer_prep_params*
    constantsTouched: []
    func_position:
      end: 1322
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1322
    functionName: peer_prepare_control_msg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: peer_prepare_control_msg(char *msg, size_t size, struct peer_prep_params
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1338,1
    - Dst: peer_send_msg
      Src: /src/haproxy/src/peers.c:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - appctx
    - peer
    - peers
    argTypes:
    - struct appctx*
    - struct peer*
    - struct peers*
    constantsTouched: []
    func_position:
      end: 1342
      start: 1331
    functionDepth: 2
    functionLinenumber: 1331
    functionLinenumberEnd: 1342
    functionName: peer_send_resync_reqmsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_send_msg
    - TRACE_PROTO
    linkageType: ''
    returnType: int
    signature: "peer_send_resync_reqmsg(struct appctx *appctx,\n                                          struct
      peer *peer, struct peers *peers)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1358,1
    - Dst: peer_send_msg
      Src: /src/haproxy/src/peers.c:1361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - appctx
    - peer
    - peers
    argTypes:
    - struct appctx*
    - struct peer*
    - struct peers*
    constantsTouched: []
    func_position:
      end: 1362
      start: 1351
    functionDepth: 2
    functionLinenumber: 1351
    functionLinenumberEnd: 1362
    functionName: peer_send_resync_confirmsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_send_msg
    - TRACE_PROTO
    linkageType: ''
    returnType: int
    signature: "peer_send_resync_confirmsg(struct appctx *appctx,\n                                             struct
      peer *peer, struct peers *peers)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/peers.c:1378,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1381,1
    - Dst: peer_send_msg
      Src: /src/haproxy/src/peers.c:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - appctx
    - peer
    - peers
    argTypes:
    - struct appctx*
    - struct peer*
    - struct peers*
    constantsTouched: []
    func_position:
      end: 1385
      start: 1371
    functionDepth: 2
    functionLinenumber: 1371
    functionLinenumberEnd: 1385
    functionName: peer_send_resync_finishedmsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - TRACE_PROTO
    - peer_send_msg
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: int
    signature: "peer_send_resync_finishedmsg(struct appctx *appctx,\n                                               struct
      peer *peer, struct peers *peers)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1401,1
    - Dst: peer_send_msg
      Src: /src/haproxy/src/peers.c:1404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - appctx
    - peer
    - peers
    argTypes:
    - struct appctx*
    - struct peer*
    - struct peers*
    constantsTouched: []
    func_position:
      end: 1405
      start: 1394
    functionDepth: 2
    functionLinenumber: 1394
    functionLinenumberEnd: 1405
    functionName: peer_send_heartbeatmsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_send_msg
    - TRACE_PROTO
    linkageType: ''
    returnType: int
    signature: "peer_send_heartbeatmsg(struct appctx *appctx,\n                                         struct
      peer *peer, struct peers *peers)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - size
    - p
    argTypes:
    - char*
    - size_t
    - struct peer_prep_params*
    constantsTouched: []
    func_position:
      end: 1421
      start: 1412
    functionDepth: 0
    functionLinenumber: 1412
    functionLinenumberEnd: 1421
    functionName: peer_prepare_error_msg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: peer_prepare_error_msg(char *msg, size_t size, struct peer_prep_params
      *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_send_msg
      Src: /src/haproxy/src/peers.c:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1437
      start: 1430
    functionDepth: 2
    functionLinenumber: 1430
    functionLinenumberEnd: 1437
    functionName: peer_send_error_size_limitmsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_send_msg
    linkageType: ''
    returnType: int
    signature: peer_send_error_size_limitmsg(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_send_msg
      Src: /src/haproxy/src/peers.c:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1453
      start: 1446
    functionDepth: 2
    functionLinenumber: 1446
    functionLinenumberEnd: 1453
    functionName: peer_send_error_protomsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_send_msg
    linkageType: ''
    returnType: int
    signature: peer_send_error_protomsg(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/peers.c:1464,1
    - Dst: eb32_first
      Src: /src/haproxy/src/peers.c:1466,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/peers.c:1482,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/peers.c:1483,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/peers.c:1484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct shared_table*
    constantsTouched: []
    func_position:
      end: 1486
      start: 1459
    functionDepth: 1
    functionLinenumber: 1459
    functionLinenumberEnd: 1486
    functionName: peer_teach_process_stksess_lookup
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - eb32_first
    - eb32_lookup_ge
    - eb32_entry
    - _HA_ATOMIC_LOAD
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: struct stksess
    signature: '*peer_teach_process_stksess_lookup(struct shared_table *st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/peers.c:1497,1
    - Dst: eb32_first
      Src: /src/haproxy/src/peers.c:1500,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/peers.c:1506,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/peers.c:1507,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/peers.c:1508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct shared_table*
    constantsTouched: []
    func_position:
      end: 1510
      start: 1492
    functionDepth: 1
    functionLinenumber: 1492
    functionLinenumberEnd: 1510
    functionName: peer_teach_stage1_stksess_lookup
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - eb32_first
    - eb32_lookup_ge
    - eb32_entry
    - _HA_ATOMIC_LOAD
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: struct stksess
    signature: '*peer_teach_stage1_stksess_lookup(struct shared_table *st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/peers.c:1521,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/peers.c:1527,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/peers.c:1528,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/peers.c:1529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - st
    argTypes:
    - struct shared_table*
    constantsTouched: []
    func_position:
      end: 1531
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1531
    functionName: peer_teach_stage2_stksess_lookup
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_LOAD
    - _HA_ATOMIC_STORE
    - eb32_lookup_ge
    - eb32_entry
    linkageType: ''
    returnType: struct stksess
    signature: '*peer_teach_stage2_stksess_lookup(struct shared_table *st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_send_switchmsg
      Src: /src/haproxy/src/peers.c:1558,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/peers.c:1571,1
    - Dst: peer_stksess_lookup
      Src: /src/haproxy/src/peers.c:1578,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/peers.c:1592,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/peers.c:1593,1
    - Dst: peer_send_updatemsg
      Src: /src/haproxy/src/peers.c:1595,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/peers.c:1596,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/peers.c:1597,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/peers.c:1604,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/peers.c:1607,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/peers.c:1609,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/peers.c:1618,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/peers.c:1625,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 4
    argNames:
    - appctx
    - p
    - (*peer_stksess_lookup)(struct shared_table *)
    - st
    argTypes:
    - struct appctx*
    - struct peer*
    - struct stksess*
    - struct shared_table*
    constantsTouched: []
    func_position:
      end: 1627
      start: 1548
    functionDepth: 3
    functionLinenumber: 1548
    functionLinenumberEnd: 1627
    functionName: peer_send_teachmsgs
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    - _HA_ATOMIC_CAS
    - peer_send_switchmsg
    - __ha_cpu_relax
    - peer_send_updatemsg
    - HA_RWLOCK_RDLOCK
    - HA_ATOMIC_DEC
    - peer_stksess_lookup
    - _HA_ATOMIC_LOAD
    - applet_have_more_data
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: "peer_send_teachmsgs(struct appctx *appctx, struct peer *p,\n                                      struct
      stksess *(*peer_stksess_lookup)(struct shared_table *),\n                                      struct
      shared_table *st)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_send_teachmsgs
      Src: /src/haproxy/src/peers.c:1644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - appctx
    - p
    - st
    argTypes:
    - struct appctx*
    - struct peer*
    - struct shared_table*
    constantsTouched: []
    func_position:
      end: 1645
      start: 1641
    functionDepth: 4
    functionLinenumber: 1641
    functionLinenumberEnd: 1645
    functionName: peer_send_teach_process_msgs
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_send_teachmsgs
    linkageType: ''
    returnType: int
    signature: "peer_send_teach_process_msgs(struct appctx *appctx, struct peer *p,\n
      \                                              struct shared_table *st)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_send_teachmsgs
      Src: /src/haproxy/src/peers.c:1660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - appctx
    - p
    - st
    argTypes:
    - struct appctx*
    - struct peer*
    - struct shared_table*
    constantsTouched: []
    func_position:
      end: 1661
      start: 1657
    functionDepth: 4
    functionLinenumber: 1657
    functionLinenumberEnd: 1661
    functionName: peer_send_teach_stage1_msgs
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_send_teachmsgs
    linkageType: ''
    returnType: int
    signature: "peer_send_teach_stage1_msgs(struct appctx *appctx, struct peer *p,\n
      \                                             struct shared_table *st)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_send_teachmsgs
      Src: /src/haproxy/src/peers.c:1676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - appctx
    - p
    - st
    argTypes:
    - struct appctx*
    - struct peer*
    - struct shared_table*
    constantsTouched: []
    func_position:
      end: 1677
      start: 1673
    functionDepth: 4
    functionLinenumber: 1673
    functionLinenumberEnd: 1677
    functionName: peer_send_teach_stage2_msgs
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_send_teachmsgs
    linkageType: ''
    returnType: int
    signature: "peer_send_teach_stage2_msgs(struct appctx *appctx, struct peer *p,\n
      \                                             struct shared_table *st)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/peers.c:1706,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:1713,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1717,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:1721,1
    - Dst: htonl
      Src: /src/haproxy/src/peers.c:1723,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1733,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1735,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:1740,1
    - Dst: ntohl
      Src: /src/haproxy/src/peers.c:1742,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:1747,1
    - Dst: stksess_new
      Src: /src/haproxy/src/peers.c:1750,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:1757,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1759,1
    - Dst: MIN
      Src: /src/haproxy/src/peers.c:1763,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1765,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1767,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:1773,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1781,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1783,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:1789,1
    - Dst: ntohl
      Src: /src/haproxy/src/peers.c:1790,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:1791,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1796,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1798,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:1804,1
    - Dst: stktable_get_key_shard
      Src: /src/haproxy/src/peers.c:1808,1
    - Dst: stktable_set_entry
      Src: /src/haproxy/src/peers.c:1811,1
    - Dst: stksess_free
      Src: /src/haproxy/src/peers.c:1813,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/peers.c:1821,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:1852,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1854,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/peers.c:1858,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:1860,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:1865,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1867,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/peers.c:1871,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:1873,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:1878,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1880,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/peers.c:1884,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:1886,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:1899,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1901,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:1905,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:1906,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1908,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:1912,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1914,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/peers.c:1918,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:1920,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:1930,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1932,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/peers.c:1938,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:1940,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/peers.c:1944,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:1946,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/peers.c:1950,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:1952,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:1964,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:1965,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1967,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:1971,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1973,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/peers.c:1977,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:1979,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1996,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:1998,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2007,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2009,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2018,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/peers.c:2026,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2027,1
    - Dst: unlikely
      Src: /src/haproxy/src/peers.c:2029,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2030,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2032,1
    - Dst: chunk_memcpy
      Src: /src/haproxy/src/peers.c:2037,1
    - Dst: dict_insert
      Src: /src/haproxy/src/peers.c:2041,1
    - Dst: dict_entry_unref
      Src: /src/haproxy/src/peers.c:2042,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/peers.c:2046,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/peers.c:2048,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/peers.c:2049,1
    - Dst: stktable_get_entry
      Src: /src/haproxy/src/peers.c:2063,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:2067,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/peers.c:2069,1
    - Dst: stktable_touch_remote
      Src: /src/haproxy/src/peers.c:2070,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/peers.c:2076,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/peers.c:2096,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/peers.c:2101,1
    - Dst: stktable_touch_remote
      Src: /src/haproxy/src/peers.c:2102,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/peers.c:2104,1
    - Dst: stksess_free
      Src: /src/haproxy/src/peers.c:2109,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/peers.c:2112,1
    CyclomaticComplexity: 101
    EdgeCount: 101
    ICount: 292
    argCount: 8
    argNames:
    - appctx
    - p
    - updt
    - exp
    - msg_cur
    - msg_end
    - msg_len
    - totl
    argTypes:
    - struct appctx*
    - struct peer*
    - int
    - int
    - char**
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2114
      start: 1692
    functionDepth: 2
    functionLinenumber: 1692
    functionLinenumberEnd: 2114
    functionName: peer_treat_updatemsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - stktable_get_key_shard
    - htonl
    - HA_ATOMIC_STORE
    - TRACE_LEAVE
    - stktable_get_entry
    - stktable_data_cast
    - stktable_data_ptr
    - get_trash_chunk
    - stksess_new
    - ntohl
    - chunk_memcpy
    - stktable_data_ptr_idx
    - dict_entry_unref
    - dict_insert
    - HA_RWLOCK_WRUNLOCK
    - stktable_touch_remote
    - TRACE_DEVEL
    - MS_TO_TICKS
    - stktable_set_entry
    - tick_add
    - TRACE_PROTO
    - intdecode
    - stksess_free
    - HA_RWLOCK_WRLOCK
    - unlikely
    - MIN
    - memcpy
    linkageType: ''
    returnType: int
    signature: "peer_treat_updatemsg(struct appctx *appctx, struct peer *p, int updt,
      int exp,\n                                char **msg_cur, char *msg_end, int
      msg_len, int totl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2136,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2140,1
    - Dst: memcpy
      Src: /src/haproxy/src/peers.c:2146,1
    - Dst: ntohl
      Src: /src/haproxy/src/peers.c:2147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - appctx
    - p
    - msg_cur
    - msg_end
    argTypes:
    - struct appctx*
    - struct peer*
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 2157
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2157
    functionName: peer_treat_ackmsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ntohl
    - TRACE_PROTO
    - intdecode
    linkageType: ''
    returnType: int
    signature: "peer_treat_ackmsg(struct appctx *appctx, struct peer *p,\n                                    char
      **msg_cur, char *msg_end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2173,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - appctx
    - p
    - msg_cur
    - msg_end
    argTypes:
    - struct appctx*
    - struct peer*
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 2190
      start: 2167
    functionDepth: 0
    functionLinenumber: 2167
    functionLinenumberEnd: 2190
    functionName: peer_treat_switchmsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - TRACE_PROTO
    - intdecode
    linkageType: ''
    returnType: int
    signature: "peer_treat_switchmsg(struct appctx *appctx, struct peer *p,\n                                      char
      **msg_cur, char *msg_end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2211,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2213,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2217,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2219,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2225,1
    - Dst: strlen
      Src: /src/haproxy/src/peers.c:2234,1
    - Dst: memcmp
      Src: /src/haproxy/src/peers.c:2235,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2240,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2246,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2250,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2252,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2256,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2258,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2262,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2264,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2271,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2276,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2291,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2294,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2301,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2306,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2309,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2315,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2318,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2328,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2331,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2338,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2343,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2346,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2365,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 140
    argCount: 5
    argNames:
    - appctx
    - p
    - msg_cur
    - msg_end
    - totl
    argTypes:
    - struct appctx*
    - struct peer*
    - char**
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2382
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2382
    functionName: peer_treat_definemsg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    - TRACE_PROTO
    - intdecode
    linkageType: ''
    returnType: int
    signature: "peer_treat_definemsg(struct appctx *appctx, struct peer *p,\n                                      char
      **msg_cur, char *msg_end, int totl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/peers.c:2400,1
    - Dst: co_getblk
      Src: /src/haproxy/src/peers.c:2403,1
    - Dst: sc_oc
      Src: /src/haproxy/src/peers.c:2403,1
    - Dst: co_data
      Src: /src/haproxy/src/peers.c:2417,1
    - Dst: sc_oc
      Src: /src/haproxy/src/peers.c:2417,1
    - Dst: co_getblk
      Src: /src/haproxy/src/peers.c:2421,1
    - Dst: sc_oc
      Src: /src/haproxy/src/peers.c:2421,1
    - Dst: intdecode
      Src: /src/haproxy/src/peers.c:2426,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2433,1
    - Dst: co_getblk
      Src: /src/haproxy/src/peers.c:2447,1
    - Dst: sc_oc
      Src: /src/haproxy/src/peers.c:2447,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 5
    argNames:
    - appctx
    - msg_head
    - msg_head_sz
    - msg_len
    - totl
    argTypes:
    - struct appctx*
    - char*
    - size_t
    - uint32_t*
    - int*
    constantsTouched: []
    func_position:
      end: 2463
      start: 2396
    functionDepth: 1
    functionLinenumber: 2396
    functionLinenumberEnd: 2463
    functionName: peer_recv_msg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - co_getblk
    - co_data
    - TRACE_PROTO
    - intdecode
    - sc_oc
    linkageType: ''
    returnType: int
    signature: "peer_recv_msg(struct appctx *appctx, char *msg_head, size_t msg_head_sz,\n
      \                               uint32_t *msg_len, int *totl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2479,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2494,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/peers.c:2499,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2504,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/peers.c:2509,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2516,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:2534,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:2536,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:2536,1
    - Dst: peer_treat_definemsg
      Src: /src/haproxy/src/peers.c:2542,1
    - Dst: peer_treat_switchmsg
      Src: /src/haproxy/src/peers.c:2546,1
    - Dst: peer_treat_updatemsg
      Src: /src/haproxy/src/peers.c:2557,1
    - Dst: peer_treat_ackmsg
      Src: /src/haproxy/src/peers.c:2563,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 7
    argNames:
    - appctx
    - peer
    - msg_head
    - msg_cur
    - msg_end
    - msg_len
    - totl
    argTypes:
    - struct appctx*
    - struct peer*
    - unsigned char*
    - char**
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2573
      start: 2469
    functionDepth: 3
    functionLinenumber: 2469
    functionLinenumberEnd: 2573
    functionName: peer_treat_awaited_msg
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_treat_switchmsg
    - peer_treat_ackmsg
    - tick_add
    - peer_treat_definemsg
    - task_wakeup
    - TRACE_PROTO
    - MS_TO_TICKS
    - peer_treat_updatemsg
    linkageType: ''
    returnType: int
    signature: "peer_treat_awaited_msg(struct appctx *appctx, struct peer *peer, unsigned
      char *msg_head,\n                                         char **msg_cur, char
      *msg_end, int msg_len, int totl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/peers.c:2607,1
    - Dst: peer_send_resync_reqmsg
      Src: /src/haproxy/src/peers.c:2608,1
    - Dst: peer_send_ackmsg
      Src: /src/haproxy/src/peers.c:2632,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/peers.c:2642,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/peers.c:2644,1
    - Dst: peer_send_teach_process_msgs
      Src: /src/haproxy/src/peers.c:2647,1
    - Dst: peer_send_teach_stage1_msgs
      Src: /src/haproxy/src/peers.c:2656,1
    - Dst: peer_send_teach_stage2_msgs
      Src: /src/haproxy/src/peers.c:2664,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/peers.c:2686,1
    - Dst: peer_send_resync_finishedmsg
      Src: /src/haproxy/src/peers.c:2695,1
    - Dst: peer_send_resync_confirmsg
      Src: /src/haproxy/src/peers.c:2705,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 3
    argNames:
    - appctx
    - peer
    - peers
    argTypes:
    - struct appctx*
    - struct peer*
    - struct peers*
    constantsTouched: []
    func_position:
      end: 2713
      start: 2600
    functionDepth: 5
    functionLinenumber: 2600
    functionLinenumberEnd: 2713
    functionName: peer_send_msgs
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - peer_send_resync_reqmsg
    - peer_send_teach_process_msgs
    - peer_send_teach_stage1_msgs
    - applet_have_more_data
    - peer_send_resync_finishedmsg
    - HA_RWLOCK_RDLOCK
    - peer_send_resync_confirmsg
    - peer_send_ackmsg
    - peer_send_teach_stage2_msgs
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: "peer_send_msgs(struct appctx *appctx,\n                                 struct
      peer *peer, struct peers *peers)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_getline
      Src: /src/haproxy/src/peers.c:2725,1
    - Dst: strncmp
      Src: /src/haproxy/src/peers.c:2733,1
    - Dst: peer_get_version
      Src: /src/haproxy/src/peers.c:2738,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - appctx
    - maj_ver
    - min_ver
    argTypes:
    - struct appctx*
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2746
      start: 2720
    functionDepth: 2
    functionLinenumber: 2720
    functionLinenumberEnd: 2746
    functionName: peer_getline_version
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_getline
    - strncmp
    - peer_get_version
    linkageType: ''
    returnType: int
    signature: "peer_getline_version(struct appctx *appctx,\n                                       unsigned
      int *maj_ver, unsigned int *min_ver)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: peer_getline
      Src: /src/haproxy/src/peers.c:2757,1
    - Dst: strcmp
      Src: /src/haproxy/src/peers.c:2765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2772
      start: 2753
    functionDepth: 2
    functionLinenumber: 2753
    functionLinenumberEnd: 2772
    functionName: peer_getline_host
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peer_getline
    - strcmp
    linkageType: ''
    returnType: int
    signature: peer_getline_host(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_strm
      Src: /src/haproxy/src/peers.c:2785,1
    - Dst: strm_fe
      Src: /src/haproxy/src/peers.c:2786,1
    - Dst: peer_getline
      Src: /src/haproxy/src/peers.c:2788,1
    - Dst: strchr
      Src: /src/haproxy/src/peers.c:2796,1
    - Dst: strcmp
      Src: /src/haproxy/src/peers.c:2806,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - appctx
    - curpeer
    argTypes:
    - struct appctx*
    - struct peer**
    constantsTouched: []
    func_position:
      end: 2819
      start: 2780
    functionDepth: 2
    functionLinenumber: 2780
    functionLinenumberEnd: 2819
    functionName: peer_getline_last
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - appctx_strm
    - strcmp
    - strchr
    - peer_getline
    - strm_fe
    linkageType: ''
    returnType: int
    signature: peer_getline_last(struct appctx *appctx, struct peer **curpeer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:2830,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:2830,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/peers.c:2837,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/peers.c:2853,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/peers.c:2856,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/peers.c:2858,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/peers.c:2861,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/peers.c:2865,1
    - Dst: appctx_is_back
      Src: /src/haproxy/src/peers.c:2873,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - peer
    - peers
    argTypes:
    - struct peer*
    - struct peers*
    constantsTouched: []
    func_position:
      end: 2883
      start: 2826
    functionDepth: 1
    functionLinenumber: 2826
    functionLinenumberEnd: 2883
    functionName: init_connected_peer
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - tick_add
    - _HA_ATOMIC_CAS
    - task_wakeup
    - __ha_cpu_relax
    - appctx_is_back
    - HA_RWLOCK_WRUNLOCK
    - MS_TO_TICKS
    - _HA_ATOMIC_LOAD
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: void
    signature: init_connected_peer(struct peer *peer, struct peers *peers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/peers.c:2890,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/peers.c:2891,1
    - Dst: strm_fe
      Src: /src/haproxy/src/peers.c:2892,1
    - Dst: unlikely
      Src: /src/haproxy/src/peers.c:2899,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/peers.c:2899,1
    - Dst: co_skip
      Src: /src/haproxy/src/peers.c:2900,1
    - Dst: sc_oc
      Src: /src/haproxy/src/peers.c:2900,1
    - Dst: co_data
      Src: /src/haproxy/src/peers.c:2900,1
    - Dst: sc_oc
      Src: /src/haproxy/src/peers.c:2900,1
    - Dst: sc_ib
      Src: /src/haproxy/src/peers.c:2905,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/peers.c:2906,1
    - Dst: peer_getline_version
      Src: /src/haproxy/src/peers.c:2922,1
    - Dst: peer_getline_host
      Src: /src/haproxy/src/peers.c:2933,1
    - Dst: peer_getline_last
      Src: /src/haproxy/src/peers.c:2944,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/peers.c:2951,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:2964,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:2964,1
    - Dst: ha_random
      Src: /src/haproxy/src/peers.c:2964,1
    - Dst: peer_session_forceshutdown
      Src: /src/haproxy/src/peers.c:2965,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/peers.c:2982,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/peers.c:2989,1
    - Dst: peer_send_status_successmsg
      Src: /src/haproxy/src/peers.c:2996,1
    - Dst: init_connected_peer
      Src: /src/haproxy/src/peers.c:3007,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/peers.c:3010,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/peers.c:3018,1
    - Dst: peer_send_hellomsg
      Src: /src/haproxy/src/peers.c:3025,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/peers.c:3040,1
    - Dst: sc_ic
      Src: /src/haproxy/src/peers.c:3047,1
    - Dst: peer_getline
      Src: /src/haproxy/src/peers.c:3050,1
    - Dst: atoi
      Src: /src/haproxy/src/peers.c:3058,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/peers.c:3062,1
    - Dst: init_connected_peer
      Src: /src/haproxy/src/peers.c:3066,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/peers.c:3075,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/peers.c:3089,1
    - Dst: applet_wont_consume
      Src: /src/haproxy/src/peers.c:3097,1
    - Dst: applet_will_consume
      Src: /src/haproxy/src/peers.c:3100,1
    - Dst: peer_recv_msg
      Src: /src/haproxy/src/peers.c:3106,1
    - Dst: peer_treat_awaited_msg
      Src: /src/haproxy/src/peers.c:3114,1
    - Dst: co_skip
      Src: /src/haproxy/src/peers.c:3120,1
    - Dst: sc_oc
      Src: /src/haproxy/src/peers.c:3120,1
    - Dst: peer_send_heartbeatmsg
      Src: /src/haproxy/src/peers.c:3127,1
    - Dst: peer_send_msgs
      Src: /src/haproxy/src/peers.c:3136,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/peers.c:3148,1
    - Dst: peer_send_status_errormsg
      Src: /src/haproxy/src/peers.c:3150,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/peers.c:3156,1
    - Dst: peer_send_error_size_limitmsg
      Src: /src/haproxy/src/peers.c:3158,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:3164,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/peers.c:3169,1
    - Dst: peer_send_error_protomsg
      Src: /src/haproxy/src/peers.c:3171,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/peers.c:3172,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/peers.c:3181,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/peers.c:3184,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/peers.c:3187,1
    - Dst: co_skip
      Src: /src/haproxy/src/peers.c:3188,1
    - Dst: sc_oc
      Src: /src/haproxy/src/peers.c:3188,1
    - Dst: co_data
      Src: /src/haproxy/src/peers.c:3188,1
    - Dst: sc_oc
      Src: /src/haproxy/src/peers.c:3188,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/peers.c:3194,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/peers.c:3197,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 286
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 3199
      start: 2888
    functionDepth: 6
    functionLinenumber: 2888
    functionLinenumberEnd: 3199
    functionName: peer_io_handler
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - init_connected_peer
    - atoi
    - peer_treat_awaited_msg
    - peer_session_forceshutdown
    - applet_will_consume
    - co_skip
    - peer_send_hellomsg
    - strm_fe
    - sc_oc
    - sc_need_room
    - peer_getline_version
    - se_fl_test
    - co_data
    - task_wakeup
    - applet_wont_consume
    - sc_ib
    - peer_send_error_size_limitmsg
    - peer_send_heartbeatmsg
    - __sc_strm
    - peer_getline_last
    - peer_send_msgs
    - _HA_ATOMIC_INC
    - peer_getline_host
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - MS_TO_TICKS
    - peer_send_error_protomsg
    - appctx_sc
    - ha_random
    - sc_ic
    - tick_add
    - _HA_ATOMIC_DEC
    - sc_opposite
    - TRACE_PROTO
    - peer_recv_msg
    - se_fl_set
    - peer_getline
    - unlikely
    - peer_send_status_errormsg
    - peer_send_status_successmsg
    linkageType: ''
    returnType: void
    signature: peer_io_handler(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __peer_session_deinit
      Src: /src/haproxy/src/peers.c:3229,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/peers.c:3232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct peer*
    constantsTouched: []
    func_position:
      end: 3233
      start: 3213
    functionDepth: 2
    functionLinenumber: 3213
    functionLinenumberEnd: 3233
    functionName: peer_session_forceshutdown
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 1
    functionsReached:
    - appctx_wakeup
    - __peer_session_deinit
    linkageType: ''
    returnType: void
    signature: peer_session_forceshutdown(struct peer *peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3241,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3242,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - fe
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 3247
      start: 3236
    functionDepth: 0
    functionLinenumber: 3236
    functionLinenumberEnd: 3247
    functionName: peers_setup_frontend
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - MS_TO_TICKS
    linkageType: ''
    returnType: void
    signature: peers_setup_frontend(struct proxy *fe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3259,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3259,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3259,1
    - Dst: appctx_new_on
      Src: /src/haproxy/src/peers.c:3266,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/peers.c:3274,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/peers.c:3275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - peers
    - peer
    argTypes:
    - struct peers*
    - struct peer*
    constantsTouched: []
    func_position:
      end: 3280
      start: 3252
    functionDepth: 1
    functionLinenumber: 3252
    functionLinenumberEnd: 3280
    functionName: peer_session_create
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    - tick_add
    - HA_ATOMIC_INC
    - MS_TO_TICKS
    - appctx_new_on
    linkageType: ''
    returnType: struct appctx
    signature: '*peer_session_create(struct peers *peers, struct peer *peer)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/peers.c:3291,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/peers.c:3292,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3295,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct peer*
    constantsTouched: []
    func_position:
      end: 3299
      start: 3285
    functionDepth: 1
    functionLinenumber: 3285
    functionLinenumberEnd: 3299
    functionName: clear_peer_learning_status
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - tick_add
    - MS_TO_TICKS
    - HA_ATOMIC_OR
    - HA_ATOMIC_AND
    linkageType: ''
    returnType: void
    signature: clear_peer_learning_status(struct peer *peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3312,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3312,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/peers.c:3324,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/peers.c:3339,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3345,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3345,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/peers.c:3355,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/peers.c:3356,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/peers.c:3359,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - peers
    - peer
    argTypes:
    - struct peers*
    - struct peer*
    constantsTouched: []
    func_position:
      end: 3360
      start: 3301
    functionDepth: 1
    functionLinenumber: 3301
    functionLinenumberEnd: 3360
    functionName: sync_peer_learn_state
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    - HA_ATOMIC_AND
    - tick_add
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - MS_TO_TICKS
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: sync_peer_learn_state(struct peers *peers, struct peer *peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clear_peer_learning_status
      Src: /src/haproxy/src/peers.c:3368,1
    - Dst: clear_peer_learning_status
      Src: /src/haproxy/src/peers.c:3372,1
    - Dst: appctx_is_back
      Src: /src/haproxy/src/peers.c:3373,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/peers.c:3384,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/peers.c:3398,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/peers.c:3402,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - peers
    - peer
    argTypes:
    - struct peers*
    - struct peer*
    constantsTouched: []
    func_position:
      end: 3404
      start: 3365
    functionDepth: 2
    functionLinenumber: 3365
    functionLinenumberEnd: 3404
    functionName: sync_peer_app_state
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - clear_peer_learning_status
    - appctx_wakeup
    - appctx_is_back
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: sync_peer_app_state(struct peers *peers, struct peer *peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3419,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3419,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/peers.c:3422,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/peers.c:3430,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3433,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3433,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/peers.c:3438,1
    - Dst: sync_peer_learn_state
      Src: /src/haproxy/src/peers.c:3440,1
    - Dst: sync_peer_app_state
      Src: /src/haproxy/src/peers.c:3441,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/peers.c:3457,1
    - Dst: peer_session_create
      Src: /src/haproxy/src/peers.c:3464,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/peers.c:3466,1
    - Dst: tick_first
      Src: /src/haproxy/src/peers.c:3471,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/peers.c:3486,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/peers.c:3489,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3506,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3506,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/peers.c:3508,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3509,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3509,1
    - Dst: tick_first
      Src: /src/haproxy/src/peers.c:3513,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/peers.c:3514,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/peers.c:3522,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3528,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3528,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3531,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3531,1
    - Dst: ha_random
      Src: /src/haproxy/src/peers.c:3531,1
    - Dst: peer_session_forceshutdown
      Src: /src/haproxy/src/peers.c:3533,1
    - Dst: sync_peer_app_state
      Src: /src/haproxy/src/peers.c:3534,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/peers.c:3538,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3539,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3539,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/peers.c:3541,1
    - Dst: tick_first
      Src: /src/haproxy/src/peers.c:3543,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/peers.c:3550,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/peers.c:3556,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/peers.c:3562,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/peers.c:3568,1
    - Dst: tick_first
      Src: /src/haproxy/src/peers.c:3569,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 71
    argCount: 3
    argNames:
    - task
    - peers
    - state
    argTypes:
    - struct task*
    - struct peers*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3571
      start: 3407
    functionDepth: 3
    functionLinenumber: 3407
    functionLinenumberEnd: 3571
    functionName: __process_running_peer_sync
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - ha_random
    - appctx_wakeup
    - peer_session_create
    - tick_is_expired
    - tick_add
    - sync_peer_app_state
    - sync_peer_learn_state
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - peer_session_forceshutdown
    - tick_first
    - MS_TO_TICKS
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: __process_running_peer_sync(struct task *task, struct peers *peers,
      unsigned int state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/peers.c:3582,1
    - Dst: sync_peer_learn_state
      Src: /src/haproxy/src/peers.c:3584,1
    - Dst: sync_peer_app_state
      Src: /src/haproxy/src/peers.c:3585,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3598,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3598,1
    - Dst: ha_random
      Src: /src/haproxy/src/peers.c:3598,1
    - Dst: peer_session_forceshutdown
      Src: /src/haproxy/src/peers.c:3600,1
    - Dst: sync_peer_app_state
      Src: /src/haproxy/src/peers.c:3601,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/peers.c:3605,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/peers.c:3612,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3616,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3616,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3617,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/peers.c:3622,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/peers.c:3626,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/peers.c:3629,1
    - Dst: tick_isset
      Src: /src/haproxy/src/peers.c:3634,1
    - Dst: tick_add
      Src: /src/haproxy/src/peers.c:3635,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/peers.c:3635,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/peers.c:3639,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/peers.c:3651,1
    - Dst: tick_first
      Src: /src/haproxy/src/peers.c:3653,1
    - Dst: peer_session_create
      Src: /src/haproxy/src/peers.c:3658,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/peers.c:3666,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/peers.c:3669,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/peers.c:3681,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/peers.c:3686,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 3
    argNames:
    - task
    - peers
    - state
    argTypes:
    - struct task*
    - struct peers*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3687
      start: 3574
    functionDepth: 3
    functionLinenumber: 3574
    functionLinenumberEnd: 3687
    functionName: __process_stopping_peer_sync
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - ha_random
    - appctx_wakeup
    - peer_session_create
    - tick_is_expired
    - _HA_ATOMIC_DEC
    - tick_add
    - sync_peer_app_state
    - sync_peer_learn_state
    - _HA_ATOMIC_INC
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - peer_session_forceshutdown
    - HA_ATOMIC_DEC
    - tick_isset
    - tick_first
    - MS_TO_TICKS
    linkageType: ''
    returnType: void
    signature: __process_stopping_peer_sync(struct task *task, struct peers *peers,
      unsigned int state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __process_running_peer_sync
      Src: /src/haproxy/src/peers.c:3702,1
    - Dst: __process_stopping_peer_sync
      Src: /src/haproxy/src/peers.c:3707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - task
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3712
      start: 3694
    functionDepth: 4
    functionLinenumber: 3694
    functionLinenumberEnd: 3712
    functionName: process_peer_sync
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - __process_running_peer_sync
    - __process_stopping_peer_sync
    linkageType: ''
    returnType: struct task
    signature: '*process_peer_sync(struct task * task, void *context, unsigned int
      state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/peers.c:3726,1
    - Dst: memset
      Src: /src/haproxy/src/peers.c:3730,1
    - Dst: signal_register_task
      Src: /src/haproxy/src/peers.c:3733,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/peers.c:3734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - peers
    argTypes:
    - struct peers*
    constantsTouched: []
    func_position:
      end: 3736
      start: 3718
    functionDepth: 1
    functionLinenumber: 3718
    functionLinenumberEnd: 3736
    functionName: peers_init_sync
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - memset
    - task_new_anywhere
    - task_wakeup
    - signal_register_task
    linkageType: ''
    returnType: int
    signature: peers_init_sync(struct peers *peers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/peers.c:3746,1
    - Dst: calloc
      Src: /src/haproxy/src/peers.c:3747,1
    - Dst: free
      Src: /src/haproxy/src/peers.c:3759,1
    - Dst: free
      Src: /src/haproxy/src/peers.c:3760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - max_entries
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 3762
      start: 3741
    functionDepth: 1
    functionLinenumber: 3741
    functionLinenumberEnd: 3762
    functionName: new_dcache_tx
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - malloc
    - calloc
    - free
    linkageType: ''
    returnType: struct dcache_tx
    signature: '*new_dcache_tx(size_t max_entries)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/peers.c:3776,1
    - Dst: new_dcache_tx
      Src: /src/haproxy/src/peers.c:3777,1
    - Dst: calloc
      Src: /src/haproxy/src/peers.c:3778,1
    - Dst: free
      Src: /src/haproxy/src/peers.c:3789,1
    - Dst: free
      Src: /src/haproxy/src/peers.c:3790,1
    - Dst: free
      Src: /src/haproxy/src/peers.c:3791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - max_entries
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 3793
      start: 3770
    functionDepth: 2
    functionLinenumber: 3770
    functionLinenumberEnd: 3793
    functionName: new_dcache
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - new_dcache_tx
    linkageType: ''
    returnType: struct dcache
    signature: '*new_dcache(size_t max_entries)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_lookup
      Src: /src/haproxy/src/peers.c:3803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - i
    argTypes:
    - struct dcache_tx*
    - struct dcache_tx_entry*
    constantsTouched: []
    func_position:
      end: 3804
      start: 3800
    functionDepth: 0
    functionLinenumber: 3800
    functionLinenumberEnd: 3804
    functionName: dcache_tx_lookup_value
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - ebpt_lookup
    linkageType: ''
    returnType: struct ebpt_node
    signature: "*dcache_tx_lookup_value(struct dcache_tx *d,\n                                                struct
      dcache_tx_entry *i)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_delete
      Src: /src/haproxy/src/peers.c:3816,1
    - Dst: dict_entry_unref
      Src: /src/haproxy/src/peers.c:3818,1
    - Dst: memset
      Src: /src/haproxy/src/peers.c:3824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - peer
    argTypes:
    - struct peer*
    constantsTouched: []
    func_position:
      end: 3825
      start: 3810
    functionDepth: 1
    functionLinenumber: 3810
    functionLinenumberEnd: 3825
    functionName: flush_dcache
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 1
    functionsReached:
    - memset
    - ebpt_delete
    - dict_entry_unref
    linkageType: ''
    returnType: void
    signature: flush_dcache(struct peer *peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dcache_tx_lookup_value
      Src: /src/haproxy/src/peers.c:3843,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/peers.c:3859,1
    - Dst: ebpt_insert
      Src: /src/haproxy/src/peers.c:3861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - dc
    - i
    argTypes:
    - struct dcache*
    - struct dcache_tx_entry*
    constantsTouched: []
    func_position:
      end: 3868
      start: 3833
    functionDepth: 1
    functionLinenumber: 3833
    functionLinenumberEnd: 3868
    functionName: dcache_tx_insert
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 1
    functionsReached:
    - ebpt_delete
    - ebpt_insert
    - dcache_tx_lookup_value
    linkageType: ''
    returnType: struct ebpt_node
    signature: '*dcache_tx_insert(struct dcache *dc, struct dcache_tx_entry *i)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_dcache
      Src: /src/haproxy/src/peers.c:3879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - peers
    argTypes:
    - struct peers*
    constantsTouched: []
    func_position:
      end: 3885
      start: 3874
    functionDepth: 3
    functionLinenumber: 3874
    functionLinenumberEnd: 3885
    functionName: peers_alloc_dcache
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - new_dcache
    linkageType: ''
    returnType: int
    signature: peers_alloc_dcache(struct peers *peers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/peers.c:3899,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/peers.c:3916,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - peers
    - table
    argTypes:
    - struct peers*
    - struct stktable*
    constantsTouched: []
    func_position:
      end: 3923
      start: 3891
    functionDepth: 1
    functionLinenumber: 3891
    functionLinenumberEnd: 3923
    functionName: peers_register_table
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    - calloc
    linkageType: ''
    returnType: int
    signature: peers_register_table(struct peers *peers, struct stktable *table)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/peers.c:3945,1
    - Dst: strcmp
      Src: /src/haproxy/src/peers.c:3947,1
    - Dst: strcmp
      Src: /src/haproxy/src/peers.c:3951,1
    - Dst: strcmp
      Src: /src/haproxy/src/peers.c:3958,1
    - Dst: cli_err
      Src: /src/haproxy/src/peers.c:3965,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3971
      start: 3943
    functionDepth: 1
    functionLinenumber: 3943
    functionLinenumberEnd: 3971
    functionName: cli_parse_show_peers
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cli_err
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_show_peers(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_localtime
      Src: /src/haproxy/src/peers.c:3982,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:3983,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/peers.c:3987,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/peers.c:3989,1
    - Dst: human_time
      Src: /src/haproxy/src/peers.c:3990,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/peers.c:3990,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/peers.c:3991,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/peers.c:3994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - msg
    - appctx
    - peers
    argTypes:
    - struct buffer*
    - struct appctx*
    - struct peers*
    constantsTouched: []
    func_position:
      end: 3998
      start: 3978
    functionDepth: 1
    functionLinenumber: 3978
    functionLinenumberEnd: 3998
    functionName: peers_dump_head
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - tick_is_expired
    - get_localtime
    - TICKS_TO_MS
    - chunk_appendf
    - applet_putchk
    - HA_ATOMIC_LOAD
    - human_time
    linkageType: ''
    returnType: int
    signature: peers_dump_head(struct buffer *msg, struct appctx *appctx, struct peers
      *peers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_to_str
      Src: /src/haproxy/src/peers.c:4013,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4014,1
    - Dst: peer_app_state_str
      Src: /src/haproxy/src/peers.c:4019,1
    - Dst: peer_learn_state_str
      Src: /src/haproxy/src/peers.c:4020,1
    - Dst: statuscode_str
      Src: /src/haproxy/src/peers.c:4021,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4023,1
    - Dst: human_time
      Src: /src/haproxy/src/peers.c:4024,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/peers.c:4024,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/peers.c:4025,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4027,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/peers.c:4029,1
    - Dst: human_time
      Src: /src/haproxy/src/peers.c:4030,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/peers.c:4030,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/peers.c:4031,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4033,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/peers.c:4035,1
    - Dst: human_time
      Src: /src/haproxy/src/peers.c:4036,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/peers.c:4036,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/peers.c:4037,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4039,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4043,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4048,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/peers.c:4052,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/peers.c:4061,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4063,1
    - Dst: sc_state_str
      Src: /src/haproxy/src/peers.c:4063,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/peers.c:4063,1
    - Dst: objt_conn
      Src: /src/haproxy/src/peers.c:4065,1
    - Dst: strm_orig
      Src: /src/haproxy/src/peers.c:4065,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4067,1
    - Dst: conn_get_xprt_name
      Src: /src/haproxy/src/peers.c:4067,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/peers.c:4069,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/peers.c:4069,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4072,1
    - Dst: get_host_port
      Src: /src/haproxy/src/peers.c:4072,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4077,1
    - Dst: strm_li
      Src: /src/haproxy/src/peers.c:4077,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/peers.c:4081,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/peers.c:4081,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4084,1
    - Dst: get_host_port
      Src: /src/haproxy/src/peers.c:4084,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4089,1
    - Dst: strm_li
      Src: /src/haproxy/src/peers.c:4089,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4095,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4102,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4109,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4118,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4122,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4126,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/peers.c:4128,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4130,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4141,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4143,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4146,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4150,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4151,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4157,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4163,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/peers.c:4164,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 90
    argCount: 4
    argNames:
    - msg
    - appctx
    - peer
    - flags
    argTypes:
    - struct buffer*
    - struct appctx*
    - struct peer*
    - int
    constantsTouched: []
    func_position:
      end: 4168
      start: 4005
    functionDepth: 1
    functionLinenumber: 4005
    functionLinenumberEnd: 4168
    functionName: peers_dump_peer
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - conn_get_xprt_name
    - addr_to_str
    - TICKS_TO_MS
    - objt_conn
    - conn_get_src
    - applet_putchk
    - get_host_port
    - statuscode_str
    - human_time
    - chunk_appendf
    - __sc_strm
    - tick_is_expired
    - peer_app_state_str
    - strm_orig
    - _HA_ATOMIC_LOAD
    - sc_state_str
    - conn_get_dst
    - appctx_sc
    - sc_opposite
    - strm_li
    - peer_learn_state_str
    linkageType: ''
    returnType: int
    signature: peers_dump_peer(struct buffer *msg, struct appctx *appctx, struct peer
      *peer, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_isolate
      Src: /src/haproxy/src/peers.c:4181,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/peers.c:4183,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/peers.c:4194,1
    - Dst: peers_dump_head
      Src: /src/haproxy/src/peers.c:4197,1
    - Dst: peers_dump_peer
      Src: /src/haproxy/src/peers.c:4215,1
    - Dst: thread_release
      Src: /src/haproxy/src/peers.c:4228,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 4230
      start: 4176
    functionDepth: 2
    functionLinenumber: 4176
    functionLinenumberEnd: 4230
    functionName: cli_io_handler_show_peers
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - peers_dump_peer
    - chunk_reset
    - thread_isolate
    - peers_dump_head
    - thread_release
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_peers(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/peers.c:4239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkwl
    argTypes:
    - struct peers_kw_list*
    constantsTouched: []
    func_position:
      end: 4240
      start: 4237
    functionDepth: 0
    functionLinenumber: 4237
    functionLinenumberEnd: 4240
    functionName: peers_register_keywords
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: peers_register_keywords(struct peers_kw_list *pkwl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/peers.c:4249,1
    - Dst: atoi
      Src: /src/haproxy/src/peers.c:4253,1
    - Dst: memprintf
      Src: /src/haproxy/src/peers.c:4256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4262
      start: 4243
    functionDepth: 1
    functionLinenumber: 4243
    functionLinenumberEnd: 4262
    functionName: cfg_parse_max_updt_at_once
    functionSourceFile: /src/haproxy/src/peers.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "cfg_parse_max_updt_at_once(char **args, int section_type, struct proxy
      *curpx,\n                                      const struct proxy *defpx, const
      char *file, int line,\n                                      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_insert
      Src: /src/haproxy/src/cebuis_tree.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebuis_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_insert
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebuis, _insert, struct ceb_node **,
      root, ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_first
      Src: /src/haproxy/src/cebuis_tree.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebuis_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_first
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebuis, _first, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_last
      Src: /src/haproxy/src/cebuis_tree.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebuis_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_last
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebuis, _last, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup
      Src: /src/haproxy/src/cebuis_tree.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebuis_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebuis, _lookup, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_le
      Src: /src/haproxy/src/cebuis_tree.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebuis_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_le
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebuis, _lookup_le, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_lt
      Src: /src/haproxy/src/cebuis_tree.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebuis_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_lt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebuis, _lookup_lt, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_ge
      Src: /src/haproxy/src/cebuis_tree.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebuis_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_ge
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebuis, _lookup_ge, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_gt
      Src: /src/haproxy/src/cebuis_tree.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebuis_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_gt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebuis, _lookup_gt, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_next
      Src: /src/haproxy/src/cebuis_tree.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebuis_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_next
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebuis, _next, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_prev
      Src: /src/haproxy/src/cebuis_tree.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebuis_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_prev
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebuis, _prev, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebuis_tree.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebuis_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebuis, _delete, struct ceb_node **,
      root, ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebuis_tree.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebuis_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebuis, _pick, struct ceb_node **, root,
      ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/haproxy/src/limits.c:30,1
    - Dst: setrlimit
      Src: /src/haproxy/src/limits.c:35,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - old_limit
    - new_limit
    argTypes:
    - struct rlimit*
    - struct rlimit*
    constantsTouched: []
    func_position:
      end: 42
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 42
    functionName: raise_rlim_nofile
    functionSourceFile: /src/haproxy/src/limits.c
    functionUses: 0
    functionsReached:
    - getrlimit
    - setrlimit
    linkageType: ''
    returnType: int
    signature: raise_rlim_nofile(struct rlimit *old_limit, struct rlimit *new_limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: is_any_limit_configured
    functionSourceFile: /src/haproxy/src/limits.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: is_any_limit_configured()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/haproxy/src/limits.c:95,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 104
    functionName: compute_ideal_maxpipes
    functionSourceFile: /src/haproxy/src/limits.c
    functionUses: 0
    functionsReached:
    - MAX
    linkageType: ''
    returnType: int
    signature: compute_ideal_maxpipes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_any_limit_configured
      Src: /src/haproxy/src/limits.c:152,1
    - Dst: MAX
      Src: /src/haproxy/src/limits.c:192,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 193
    functionName: compute_ideal_maxconn
    functionSourceFile: /src/haproxy/src/limits.c
    functionUses: 0
    functionsReached:
    - MAX
    - is_any_limit_configured
    linkageType: ''
    returnType: int
    signature: compute_ideal_maxconn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: compute_ideal_maxpipes
      Src: /src/haproxy/src/limits.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - maxconn
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 226
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 226
    functionName: compute_ideal_maxsock
    functionSourceFile: /src/haproxy/src/limits.c
    functionUses: 0
    functionsReached:
    - compute_ideal_maxpipes
    linkageType: ''
    returnType: int
    signature: compute_ideal_maxsock(int maxconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/haproxy/src/limits.c:244,1
    - Dst: raise_rlim_nofile
      Src: /src/haproxy/src/limits.c:248,1
    - Dst: MAX
      Src: /src/haproxy/src/limits.c:251,1
    - Dst: raise_rlim_nofile
      Src: /src/haproxy/src/limits.c:253,1
    - Dst: raise_rlim_nofile
      Src: /src/haproxy/src/limits.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - maxsock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 259
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 259
    functionName: check_if_maxsock_permitted
    functionSourceFile: /src/haproxy/src/limits.c
    functionUses: 0
    functionsReached:
    - getrlimit
    - raise_rlim_nofile
    - MAX
    linkageType: ''
    returnType: int
    signature: check_if_maxsock_permitted(int maxsock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/limits.c:295,1
    - Dst: MIN
      Src: /src/haproxy/src/limits.c:330,1
    - Dst: round_2dig
      Src: /src/haproxy/src/limits.c:331,1
    - Dst: check_if_maxsock_permitted
      Src: /src/haproxy/src/limits.c:338,1
    - Dst: compute_ideal_maxsock
      Src: /src/haproxy/src/limits.c:338,1
    - Dst: fprintf
      Src: /src/haproxy/src/limits.c:343,1
    - Dst: round_2dig
      Src: /src/haproxy/src/limits.c:364,1
    - Dst: ha_alert
      Src: /src/haproxy/src/limits.c:367,1
    - Dst: exit
      Src: /src/haproxy/src/limits.c:373,1
    - Dst: fprintf
      Src: /src/haproxy/src/limits.c:380,1
    - Dst: MIN
      Src: /src/haproxy/src/limits.c:409,1
    - Dst: round_2dig
      Src: /src/haproxy/src/limits.c:410,1
    - Dst: ha_alert
      Src: /src/haproxy/src/limits.c:417,1
    - Dst: exit
      Src: /src/haproxy/src/limits.c:423,1
    - Dst: check_if_maxsock_permitted
      Src: /src/haproxy/src/limits.c:426,1
    - Dst: compute_ideal_maxsock
      Src: /src/haproxy/src/limits.c:426,1
    - Dst: fprintf
      Src: /src/haproxy/src/limits.c:432,1
    - Dst: fprintf
      Src: /src/haproxy/src/limits.c:436,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 439
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 439
    functionName: set_global_maxconn
    functionSourceFile: /src/haproxy/src/limits.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - exit
    - compute_ideal_maxsock
    - fprintf
    - check_if_maxsock_permitted
    - MIN
    - round_2dig
    linkageType: ''
    returnType: void
    signature: set_global_maxconn(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/haproxy/src/limits.c:454,1
    - Dst: raise_rlim_nofile
      Src: /src/haproxy/src/limits.c:457,1
    - Dst: getrlimit
      Src: /src/haproxy/src/limits.c:458,1
    - Dst: ha_alert
      Src: /src/haproxy/src/limits.c:463,1
    - Dst: exit
      Src: /src/haproxy/src/limits.c:465,1
    - Dst: raise_rlim_nofile
      Src: /src/haproxy/src/limits.c:473,1
    - Dst: getrlimit
      Src: /src/haproxy/src/limits.c:474,1
    - Dst: ha_warning
      Src: /src/haproxy/src/limits.c:476,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 483
    functionName: apply_nofile_limit
    functionSourceFile: /src/haproxy/src/limits.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ha_warning
    - getrlimit
    - MAX
    - exit
    - raise_rlim_nofile
    linkageType: ''
    returnType: void
    signature: apply_nofile_limit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setrlimit
      Src: /src/haproxy/src/limits.c:496,1
    - Dst: ha_alert
      Src: /src/haproxy/src/limits.c:498,1
    - Dst: exit
      Src: /src/haproxy/src/limits.c:500,1
    - Dst: ha_warning
      Src: /src/haproxy/src/limits.c:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 508
    functionName: apply_memory_limit
    functionSourceFile: /src/haproxy/src/limits.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - exit
    - ha_warning
    - setrlimit
    linkageType: ''
    returnType: void
    signature: apply_memory_limit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/haproxy/src/limits.c:520,1
    - Dst: ha_alert
      Src: /src/haproxy/src/limits.c:523,1
    - Dst: exit
      Src: /src/haproxy/src/limits.c:527,1
    - Dst: ha_alert
      Src: /src/haproxy/src/limits.c:530,1
    - Dst: fcntl
      Src: /src/haproxy/src/limits.c:536,1
    - Dst: dup2
      Src: /src/haproxy/src/limits.c:537,1
    - Dst: ha_warning
      Src: /src/haproxy/src/limits.c:538,1
    - Dst: strerror
      Src: /src/haproxy/src/limits.c:539,1
    - Dst: close
      Src: /src/haproxy/src/limits.c:541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 543
    functionName: check_nofile_lim_and_prealloc_fd
    functionSourceFile: /src/haproxy/src/limits.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strerror
    - fcntl
    - ha_warning
    - getrlimit
    - dup2
    - exit
    - close
    linkageType: ''
    returnType: void
    signature: check_nofile_lim_and_prealloc_fd(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_backtrace
      Src: /src/haproxy/src/debug.c:187,1
    - Dst: snprintf
      Src: /src/haproxy/src/debug.c:191,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:197,1
    - Dst: dump_addr_and_bytes
      Src: /src/haproxy/src/debug.c:208,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/debug.c:209,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:247,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 3
    argNames:
    - buf
    - prefix
    - dump
    argTypes:
    - struct buffer*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 249
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 249
    functionName: ha_dump_backtrace
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - dump_addr_and_bytes
    - snprintf
    - chunk_appendf
    - my_backtrace
    - resolve_sym_name
    linkageType: ''
    returnType: void
    signature: ha_dump_backtrace(struct buffer *buf, const char *prefix, int dump)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_make
      Src: /src/haproxy/src/debug.c:255,1
    - Dst: ha_dump_backtrace
      Src: /src/haproxy/src/debug.c:257,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:259,1
    - Dst: write
      Src: /src/haproxy/src/debug.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: ha_backtrace_to_stderr
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - DISGUISE
    - write
    - ha_dump_backtrace
    - b_make
    linkageType: ''
    returnType: void
    signature: ha_backtrace_to_stderr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/debug.c:278,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:285,1
    - Dst: ha_get_pthread_id
      Src: /src/haproxy/src/debug.c:289,1
    - Dst: thread_has_tasks
      Src: /src/haproxy/src/debug.c:290,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/debug.c:291,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/debug.c:292,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/debug.c:293,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/debug.c:294,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/debug.c:295,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/debug.c:296,1
    - Dst: MT_LIST_ISEMPTY
      Src: /src/haproxy/src/debug.c:297,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:305,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/debug.c:307,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:311,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:312,1
    - Dst: thread_isolated
      Src: /src/haproxy/src/debug.c:316,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:319,1
    - Dst: ha_task_dump
      Src: /src/haproxy/src/debug.c:320,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/debug.c:322,1
    - Dst: HLUA_IS_BUSY
      Src: /src/haproxy/src/debug.c:331,1
    - Dst: HLUA_IS_BUSY
      Src: /src/haproxy/src/debug.c:333,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/debug.c:337,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/debug.c:339,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/debug.c:344,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/debug.c:345,1
    - Dst: ha_dump_backtrace
      Src: /src/haproxy/src/debug.c:347,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/debug.c:351,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:351,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 2
    argNames:
    - thr
    - from_signal
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 352
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 352
    functionName: ha_thread_dump_one
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - DISGUISE
    - MT_LIST_ISEMPTY
    - LIST_ISEMPTY
    - ha_get_pthread_id
    - HA_ATOMIC_OR
    - thread_has_tasks
    - eb_is_empty
    - chunk_appendf
    - HLUA_IS_BUSY
    - HA_ATOMIC_LOAD
    - mark_tainted
    - ha_task_dump
    - _HA_ATOMIC_LOAD
    - thread_isolated
    - ha_dump_backtrace
    linkageType: ''
    returnType: void
    signature: ha_thread_dump_one(int thr, int from_signal)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/debug.c:372,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/debug.c:376,1
    - Dst: ha_thread_relax
      Src: /src/haproxy/src/debug.c:383,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/debug.c:385,1
    - Dst: ha_tkill
      Src: /src/haproxy/src/debug.c:392,1
    - Dst: ha_thread_dump_one
      Src: /src/haproxy/src/debug.c:395,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/debug.c:399,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/debug.c:404,1
    - Dst: ha_thread_relax
      Src: /src/haproxy/src/debug.c:407,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - buf
    - thr
    argTypes:
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 410
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 410
    functionName: ha_thread_dump_fill
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - ha_thread_dump_one
    - ha_thread_relax
    - HA_ATOMIC_AND
    - ha_tkill
    - HA_ATOMIC_LOAD
    - HA_ATOMIC_OR
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: struct buffer
    signature: '*ha_thread_dump_fill(struct buffer *buf, int thr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/debug.c:423,1
    - Dst: ha_thread_relax
      Src: /src/haproxy/src/debug.c:427,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/debug.c:430,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/debug.c:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - thr
    argTypes:
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 433
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 433
    functionName: ha_thread_dump_done
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_AND
    - HA_ATOMIC_LOAD
    - ha_thread_relax
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: void
    signature: ha_thread_dump_done(struct buffer *buf, int thr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:449,1
    - Dst: TASK_IS_TASKLET
      Src: /src/haproxy/src/debug.c:453,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:454,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:459,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/debug.c:463,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:466,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/debug.c:467,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:468,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:471,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:473,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/debug.c:477,1
    - Dst: sc_strm
      Src: /src/haproxy/src/debug.c:478,1
    - Dst: sc_strm
      Src: /src/haproxy/src/debug.c:480,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:483,1
    - Dst: strm_dump_to_buffer
      Src: /src/haproxy/src/debug.c:484,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/debug.c:484,1
    - Dst: HLUA_IS_BUSY
      Src: /src/haproxy/src/debug.c:489,1
    - Dst: HLUA_IS_BUSY
      Src: /src/haproxy/src/debug.c:490,1
    - Dst: HLUA_IS_BUSY
      Src: /src/haproxy/src/debug.c:491,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:492,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:495,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:499,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:503,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:507,1
    - Dst: append_prefixed_str
      Src: /src/haproxy/src/debug.c:508,1
    - Dst: hlua_traceback
      Src: /src/haproxy/src/debug.c:508,1
    - Dst: b_peek
      Src: /src/haproxy/src/debug.c:512,1
    - Dst: b_data
      Src: /src/haproxy/src/debug.c:512,1
    - Dst: b_putchr
      Src: /src/haproxy/src/debug.c:513,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 44
    argCount: 3
    argNames:
    - buf
    - task
    - pfx
    argTypes:
    - struct buffer*
    - struct task*
    - char*
    constantsTouched: []
    func_position:
      end: 515
      start: 441
    functionDepth: 3
    functionLinenumber: 441
    functionLinenumberEnd: 515
    functionName: ha_task_dump
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 1
    functionsReached:
    - appctx_sc
    - TASK_IS_TASKLET
    - b_putchr
    - strm_dump_to_buffer
    - append_prefixed_str
    - b_peek
    - sc_strm
    - chunk_appendf
    - hlua_traceback
    - HA_ATOMIC_LOAD
    - b_data
    - HLUA_IS_BUSY
    - now_mono_time
    - resolve_sym_name
    linkageType: ''
    returnType: void
    signature: ha_task_dump(struct buffer *buf, const struct task *task, const char
      *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/debug.c:525,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/debug.c:528,1
    - Dst: ha_thread_dump_fill
      Src: /src/haproxy/src/debug.c:529,1
    - Dst: ha_thread_dump_done
      Src: /src/haproxy/src/debug.c:530,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/debug.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 540
      start: 520
    functionDepth: 4
    functionLinenumber: 520
    functionLinenumberEnd: 540
    functionName: cli_io_handler_show_threads
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - applet_putchk
    - ha_thread_dump_fill
    - ha_thread_dump_done
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_threads(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:546,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/debug.c:549,1
    - Dst: dump_libs
      Src: /src/haproxy/src/debug.c:550,1
    - Dst: cli_msg
      Src: /src/haproxy/src/debug.c:551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 554
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 554
    functionName: debug_parse_cli_show_libs
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - cli_msg
    - dump_libs
    - chunk_reset
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_show_libs(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:565,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/debug.c:567,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:569,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:570,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:572,1
    - Dst: hap_get_next_build_opt
      Src: /src/haproxy/src/debug.c:573,1
    - Dst: append_prefixed_str
      Src: /src/haproxy/src/debug.c:574,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/debug.c:575,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:577,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:579,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:581,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:583,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:585,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:587,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:589,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:591,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:593,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:595,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:597,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:599,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:601,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:603,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:605,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:607,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/debug.c:607,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:609,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:610,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:611,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:613,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:614,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:618,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:619,1
    - Dst: CAPS_TO_ULLONG
      Src: /src/haproxy/src/debug.c:620,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:622,1
    - Dst: CAPS_TO_ULLONG
      Src: /src/haproxy/src/debug.c:623,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:625,1
    - Dst: CAPS_TO_ULLONG
      Src: /src/haproxy/src/debug.c:626,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:629,1
    - Dst: errname
      Src: /src/haproxy/src/debug.c:630,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:634,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:635,1
    - Dst: CAPS_TO_ULLONG
      Src: /src/haproxy/src/debug.c:636,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:638,1
    - Dst: CAPS_TO_ULLONG
      Src: /src/haproxy/src/debug.c:639,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:641,1
    - Dst: CAPS_TO_ULLONG
      Src: /src/haproxy/src/debug.c:642,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:645,1
    - Dst: errname
      Src: /src/haproxy/src/debug.c:646,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:649,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:650,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:652,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:654,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:655,1
    - Dst: LIM2A
      Src: /src/haproxy/src/debug.c:656,1
    - Dst: normalize_rlim
      Src: /src/haproxy/src/debug.c:656,1
    - Dst: LIM2A
      Src: /src/haproxy/src/debug.c:657,1
    - Dst: normalize_rlim
      Src: /src/haproxy/src/debug.c:657,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:658,1
    - Dst: LIM2A
      Src: /src/haproxy/src/debug.c:659,1
    - Dst: normalize_rlim
      Src: /src/haproxy/src/debug.c:659,1
    - Dst: LIM2A
      Src: /src/haproxy/src/debug.c:660,1
    - Dst: normalize_rlim
      Src: /src/haproxy/src/debug.c:660,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:661,1
    - Dst: LIM2A
      Src: /src/haproxy/src/debug.c:662,1
    - Dst: normalize_rlim
      Src: /src/haproxy/src/debug.c:662,1
    - Dst: LIM2A
      Src: /src/haproxy/src/debug.c:663,1
    - Dst: normalize_rlim
      Src: /src/haproxy/src/debug.c:663,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:664,1
    - Dst: LIM2A
      Src: /src/haproxy/src/debug.c:665,1
    - Dst: normalize_rlim
      Src: /src/haproxy/src/debug.c:665,1
    - Dst: LIM2A
      Src: /src/haproxy/src/debug.c:666,1
    - Dst: normalize_rlim
      Src: /src/haproxy/src/debug.c:666,1
    - Dst: ha_free
      Src: /src/haproxy/src/debug.c:668,1
    - Dst: cli_msg
      Src: /src/haproxy/src/debug.c:670,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 671
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 671
    functionName: debug_parse_cli_show_dev
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - hap_get_next_build_opt
    - ha_free
    - append_prefixed_str
    - cli_err
    - chunk_strcat
    - CAPS_TO_ULLONG
    - LIM2A
    - normalize_rlim
    - chunk_appendf
    - cli_msg
    - HA_ANON_CLI
    - errname
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_show_dev(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mark_tainted
      Src: /src/haproxy/src/debug.c:679,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/debug.c:688,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:689,1
    - Dst: write
      Src: /src/haproxy/src/debug.c:689,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/debug.c:693,1
    - Dst: ha_thread_dump_fill
      Src: /src/haproxy/src/debug.c:697,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:701,1
    - Dst: write
      Src: /src/haproxy/src/debug.c:701,1
    - Dst: ha_thread_dump_done
      Src: /src/haproxy/src/debug.c:703,1
    - Dst: get_tainted
      Src: /src/haproxy/src/debug.c:707,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/debug.c:708,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:713,1
    - Dst: write
      Src: /src/haproxy/src/debug.c:713,1
    - Dst: get_tainted
      Src: /src/haproxy/src/debug.c:715,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/debug.c:716,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:721,1
    - Dst: write
      Src: /src/haproxy/src/debug.c:721,1
    - Dst: get_tainted
      Src: /src/haproxy/src/debug.c:724,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/debug.c:725,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:730,1
    - Dst: write
      Src: /src/haproxy/src/debug.c:730,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/debug.c:733,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:740,1
    - Dst: write
      Src: /src/haproxy/src/debug.c:740,1
    - Dst: abort
      Src: /src/haproxy/src/debug.c:743,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 744
      start: 674
    functionDepth: 4
    functionLinenumber: 674
    functionLinenumberEnd: 744
    functionName: ha_panic
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 1
    functionsReached:
    - DISGUISE
    - write
    - abort
    - chunk_printf
    - get_trash_chunk
    - ha_thread_dump_fill
    - get_tainted
    - mark_tainted
    - ha_thread_dump_done
    linkageType: ''
    returnType: void
    signature: ha_panic()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mark_tainted
      Src: /src/haproxy/src/debug.c:755,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:764,1
    - Dst: b_make
      Src: /src/haproxy/src/debug.c:766,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/debug.c:768,1
    - Dst: now_cpu_time_thread
      Src: /src/haproxy/src/debug.c:769,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/debug.c:771,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/debug.c:784,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:786,1
    - Dst: write
      Src: /src/haproxy/src/debug.c:786,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/debug.c:789,1
    - Dst: ha_thread_dump_fill
      Src: /src/haproxy/src/debug.c:790,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:791,1
    - Dst: write
      Src: /src/haproxy/src/debug.c:791,1
    - Dst: ha_thread_dump_done
      Src: /src/haproxy/src/debug.c:793,1
    - Dst: get_tainted
      Src: /src/haproxy/src/debug.c:797,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/debug.c:798,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:803,1
    - Dst: write
      Src: /src/haproxy/src/debug.c:803,1
    - Dst: get_tainted
      Src: /src/haproxy/src/debug.c:805,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/debug.c:806,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:811,1
    - Dst: write
      Src: /src/haproxy/src/debug.c:811,1
    - Dst: get_tainted
      Src: /src/haproxy/src/debug.c:814,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/debug.c:815,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:820,1
    - Dst: write
      Src: /src/haproxy/src/debug.c:820,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/debug.c:823,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:824,1
    - Dst: write
      Src: /src/haproxy/src/debug.c:824,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - thr
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 825
      start: 749
    functionDepth: 4
    functionLinenumber: 749
    functionLinenumberEnd: 825
    functionName: ha_stuck_warning
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 1
    functionsReached:
    - DISGUISE
    - write
    - chunk_reset
    - b_make
    - now_cpu_time_thread
    - HA_ATOMIC_INC
    - chunk_printf
    - ha_thread_dump_fill
    - get_tainted
    - HA_ATOMIC_LOAD
    - mark_tainted
    - ha_thread_dump_done
    linkageType: ''
    returnType: void
    signature: ha_stuck_warning(int thr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_FETCH_ADD
      Src: /src/haproxy/src/debug.c:834,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/debug.c:836,1
    - Dst: write
      Src: /src/haproxy/src/debug.c:836,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:836,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/debug.c:838,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/debug.c:840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - counter
    - msg
    - taint
    argTypes:
    - int*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 841
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 841
    functionName: complain
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - DISGUISE
    - write
    - strlen
    - _HA_ATOMIC_FETCH_ADD
    - mark_tainted
    linkageType: ''
    returnType: void
    signature: complain(int *counter, const char *msg, int taint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:848,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:851,1
    - Dst: exit
      Src: /src/haproxy/src/debug.c:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 854
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 854
    functionName: debug_parse_cli_exit
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_INC
    - exit
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_exit(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:861,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:864,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/debug.c:865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 867
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 867
    functionName: debug_parse_cli_bug
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_INC
    - BUG_ON
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_bug(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:874,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:877,1
    - Dst: WARN_ON
      Src: /src/haproxy/src/debug.c:878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 880
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 880
    functionName: debug_parse_cli_warn
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_INC
    - WARN_ON
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_warn(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:887,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:890,1
    - Dst: CHECK_IF
      Src: /src/haproxy/src/debug.c:891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 893
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 893
    functionName: debug_parse_cli_check
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_INC
    - CHECK_IF
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_check(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:900,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:904,1
    - Dst: atoi
      Src: /src/haproxy/src/debug.c:906,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:908,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:910,1
    - Dst: close
      Src: /src/haproxy/src/debug.c:912,1
    - Dst: cli_msg
      Src: /src/haproxy/src/debug.c:916,1
    - Dst: fd_delete
      Src: /src/haproxy/src/debug.c:918,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:920,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 922
      start: 896
    functionDepth: 2
    functionLinenumber: 896
    functionLinenumberEnd: 922
    functionName: debug_parse_cli_close
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - atoi
    - fd_delete
    - strcmp
    - cli_err
    - _HA_ATOMIC_INC
    - cli_msg
    - cli_has_level
    - close
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_close(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/debug.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - task
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 931
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 931
    functionName: debug_run_cli_deadlock
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    linkageType: ''
    returnType: struct task
    signature: '*debug_run_cli_deadlock(struct task *task, void *ctx, unsigned int
      state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:938,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:941,1
    - Dst: atoi
      Src: /src/haproxy/src/debug.c:942,1
    - Dst: task_new_on
      Src: /src/haproxy/src/debug.c:943,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/debug.c:948,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 952
      start: 934
    functionDepth: 2
    functionLinenumber: 934
    functionLinenumberEnd: 952
    functionName: debug_parse_cli_deadlock
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - task_new_on
    - atoi
    - _HA_ATOMIC_INC
    - task_wakeup
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_deadlock(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:959,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:962,1
    - Dst: usleep
      Src: /src/haproxy/src/debug.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 965
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 965
    functionName: debug_parse_cli_delay
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_INC
    - usleep
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_delay(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:972,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:975,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/debug.c:976,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/debug.c:979,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/debug.c:980,1
    - Dst: send_log
      Src: /src/haproxy/src/debug.c:983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 985
      start: 968
    functionDepth: 2
    functionLinenumber: 968
    functionLinenumberEnd: 985
    functionName: debug_parse_cli_log
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - send_log
    - chunk_reset
    - _HA_ATOMIC_INC
    - chunk_strcat
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_log(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:995,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:998,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:999,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:1001,1
    - Dst: gettimeofday
      Src: /src/haproxy/src/debug.c:1002,1
    - Dst: tv_ms_add
      Src: /src/haproxy/src/debug.c:1003,1
    - Dst: thread_isolate
      Src: /src/haproxy/src/debug.c:1006,1
    - Dst: tv_ms_cmp
      Src: /src/haproxy/src/debug.c:1008,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/debug.c:1010,1
    - Dst: gettimeofday
      Src: /src/haproxy/src/debug.c:1011,1
    - Dst: thread_release
      Src: /src/haproxy/src/debug.c:1015,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1018
      start: 988
    functionDepth: 2
    functionLinenumber: 988
    functionLinenumberEnd: 1018
    functionName: debug_parse_cli_loop
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - strcmp
    - _HA_ATOMIC_INC
    - thread_isolate
    - _HA_ATOMIC_AND
    - thread_release
    - gettimeofday
    - cli_has_level
    - tv_ms_add
    - tv_ms_cmp
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_loop(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:1023,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:1026,1
    - Dst: ha_panic
      Src: /src/haproxy/src/debug.c:1027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1029
      start: 1021
    functionDepth: 5
    functionLinenumber: 1021
    functionLinenumberEnd: 1029
    functionName: debug_parse_cli_panic
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_INC
    - ha_panic
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_panic(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:1039,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:1042,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/debug.c:1043,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/debug.c:1046,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/debug.c:1047,1
    - Dst: thread_isolate
      Src: /src/haproxy/src/debug.c:1050,1
    - Dst: pipe
      Src: /src/haproxy/src/debug.c:1051,1
    - Dst: fd_set_cloexec
      Src: /src/haproxy/src/debug.c:1054,1
    - Dst: fd_set_cloexec
      Src: /src/haproxy/src/debug.c:1057,1
    - Dst: fork
      Src: /src/haproxy/src/debug.c:1060,1
    - Dst: close
      Src: /src/haproxy/src/debug.c:1068,1
    - Dst: dup2
      Src: /src/haproxy/src/debug.c:1069,1
    - Dst: dup2
      Src: /src/haproxy/src/debug.c:1070,1
    - Dst: execvp
      Src: /src/haproxy/src/debug.c:1073,1
    - Dst: printf
      Src: /src/haproxy/src/debug.c:1074,1
    - Dst: exit
      Src: /src/haproxy/src/debug.c:1075,1
    - Dst: thread_release
      Src: /src/haproxy/src/debug.c:1079,1
    - Dst: close
      Src: /src/haproxy/src/debug.c:1080,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/debug.c:1081,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/debug.c:1088,1
    - Dst: close
      Src: /src/haproxy/src/debug.c:1092,1
    - Dst: waitpid
      Src: /src/haproxy/src/debug.c:1093,1
    - Dst: cli_msg
      Src: /src/haproxy/src/debug.c:1095,1
    - Dst: close
      Src: /src/haproxy/src/debug.c:1099,1
    - Dst: close
      Src: /src/haproxy/src/debug.c:1100,1
    - Dst: thread_release
      Src: /src/haproxy/src/debug.c:1102,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:1103,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1104
      start: 1033
    functionDepth: 2
    functionLinenumber: 1033
    functionLinenumberEnd: 1104
    functionName: debug_parse_cli_exec
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - fork
    - execvp
    - chunk_reset
    - printf
    - pipe
    - _HA_ATOMIC_INC
    - chunk_strcat
    - thread_isolate
    - thread_release
    - cli_err
    - cli_msg
    - fd_set_cloexec
    - cli_has_level
    - dup2
    - waitpid
    - exit
    - close
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_exec(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/debug.c:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - sig
    - si
    - arg
    argTypes:
    - int
    - siginfo_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1116
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1116
    functionName: debug_delay_inj_sighandler
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - __ha_cpu_relax
    linkageType: ''
    returnType: void
    signature: debug_delay_inj_sighandler(int sig, siginfo_t *si, void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:1124,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:1128,1
    - Dst: strtoul
      Src: /src/haproxy/src/debug.c:1130,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:1132,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:1134,1
    - Dst: strtoul
      Src: /src/haproxy/src/debug.c:1137,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/debug.c:1141,1
    - Dst: dump_hex
      Src: /src/haproxy/src/debug.c:1142,1
    - Dst: cli_msg
      Src: /src/haproxy/src/debug.c:1144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1145
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1145
    functionName: debug_parse_cli_hex
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - dump_hex
    - cli_err
    - _HA_ATOMIC_INC
    - cli_msg
    - cli_has_level
    - strtoul
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_hex(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:1152,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:1156,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:1158,1
    - Dst: strtoul
      Src: /src/haproxy/src/debug.c:1160,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/debug.c:1161,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/debug.c:1162,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1163,1
    - Dst: cli_msg
      Src: /src/haproxy/src/debug.c:1165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1166
      start: 1148
    functionDepth: 2
    functionLinenumber: 1148
    functionLinenumberEnd: 1166
    functionName: debug_parse_cli_sym
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - cli_err
    - _HA_ATOMIC_INC
    - chunk_printf
    - chunk_appendf
    - cli_msg
    - cli_has_level
    - strtoul
    - resolve_sym_name
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_sym(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:1174,1
    - Dst: atoi
      Src: /src/haproxy/src/debug.c:1178,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:1181,1
    - Dst: atoi
      Src: /src/haproxy/src/debug.c:1184,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:1186,1
    - Dst: ha_tkill
      Src: /src/haproxy/src/debug.c:1188,1
    - Dst: raise
      Src: /src/haproxy/src/debug.c:1190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1192
      start: 1169
    functionDepth: 2
    functionLinenumber: 1169
    functionLinenumberEnd: 1192
    functionName: debug_parse_cli_tkill
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - atoi
    - cli_err
    - _HA_ATOMIC_INC
    - ha_tkill
    - raise
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_tkill(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/debug.c:1199,1
    - Dst: memprintf
      Src: /src/haproxy/src/debug.c:1199,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/debug.c:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1201
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1201
    functionName: debug_parse_cli_hash
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - memprintf
    - HA_ANON_CLI
    - cli_dynmsg
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_hash(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:1209,1
    - Dst: strtoul
      Src: /src/haproxy/src/debug.c:1211,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:1213,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:1215,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/debug.c:1217,1
    - Dst: memset
      Src: /src/haproxy/src/debug.c:1219,1
    - Dst: cli_msg
      Src: /src/haproxy/src/debug.c:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1224
    functionName: debug_parse_cli_write
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - memset
    - cli_err
    - _HA_ATOMIC_INC
    - cli_msg
    - strtoul
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_write(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_strm
      Src: /src/haproxy/src/debug.c:1235,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:1245,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:1251,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:1260,1
    - Dst: ist2
      Src: /src/haproxy/src/debug.c:1266,1
    - Dst: isteq
      Src: /src/haproxy/src/debug.c:1267,1
    - Dst: ist
      Src: /src/haproxy/src/debug.c:1267,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1268,1
    - Dst: isteq
      Src: /src/haproxy/src/debug.c:1269,1
    - Dst: ist
      Src: /src/haproxy/src/debug.c:1269,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1270,1
    - Dst: isteq
      Src: /src/haproxy/src/debug.c:1271,1
    - Dst: ist
      Src: /src/haproxy/src/debug.c:1271,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1272,1
    - Dst: isteq
      Src: /src/haproxy/src/debug.c:1273,1
    - Dst: ist
      Src: /src/haproxy/src/debug.c:1273,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1274,1
    - Dst: isteq
      Src: /src/haproxy/src/debug.c:1275,1
    - Dst: ist
      Src: /src/haproxy/src/debug.c:1275,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1276,1
    - Dst: isteq
      Src: /src/haproxy/src/debug.c:1277,1
    - Dst: ist
      Src: /src/haproxy/src/debug.c:1277,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1278,1
    - Dst: isteq
      Src: /src/haproxy/src/debug.c:1279,1
    - Dst: ist
      Src: /src/haproxy/src/debug.c:1279,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1280,1
    - Dst: isteq
      Src: /src/haproxy/src/debug.c:1281,1
    - Dst: ist
      Src: /src/haproxy/src/debug.c:1281,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1282,1
    - Dst: isteq
      Src: /src/haproxy/src/debug.c:1283,1
    - Dst: ist
      Src: /src/haproxy/src/debug.c:1283,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1284,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1284,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/debug.c:1285,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/debug.c:1288,1
    - Dst: memprintf
      Src: /src/haproxy/src/debug.c:1288,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1291,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1291,1
    - Dst: read_u64
      Src: /src/haproxy/src/debug.c:1293,1
    - Dst: read_u32
      Src: /src/haproxy/src/debug.c:1295,1
    - Dst: read_u16
      Src: /src/haproxy/src/debug.c:1297,1
    - Dst: memprintf
      Src: /src/haproxy/src/debug.c:1301,1
    - Dst: strtoll::strtoll
      Src: /src/haproxy/src/debug.c:1308,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:1310,1
    - Dst: now_ms::now_ms
      Src: /src/haproxy/src/debug.c:1311,1
    - Dst: memprintf
      Src: /src/haproxy/src/debug.c:1313,1
    - Dst: memprintf
      Src: /src/haproxy/src/debug.c:1322,1
    - Dst: old::old
      Src: /src/haproxy/src/debug.c:1323,1
    - Dst: old::old
      Src: /src/haproxy/src/debug.c:1330,1
    - Dst: old::old
      Src: /src/haproxy/src/debug.c:1334,1
    - Dst: old::old
      Src: /src/haproxy/src/debug.c:1338,1
    - Dst: old::old
      Src: /src/haproxy/src/debug.c:1346,1
    - Dst: write_u64
      Src: /src/haproxy/src/debug.c:1348,1
    - Dst: write_u32
      Src: /src/haproxy/src/debug.c:1350,1
    - Dst: write_u16
      Src: /src/haproxy/src/debug.c:1352,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/debug.c:1359,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 105
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1361
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1361
    functionName: debug_parse_cli_stream
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - strtoll::strtoll
    - ist
    - appctx_strm
    - strcmp
    - ist2
    - isteq
    - task_wakeup
    - old::old
    - now_ms::now_ms
    - read_u32
    - _HA_ATOMIC_INC
    - read_u16
    - cli_has_level
    - write_u32
    - may_access
    - write_u16
    - cli_dynmsg
    - cli_err
    - write_u64
    - read_u64
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_stream(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:1379,1
    - Dst: strtoul
      Src: /src/haproxy/src/debug.c:1383,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:1387,1
    - Dst: thread_isolate
      Src: /src/haproxy/src/debug.c:1390,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1395,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1395,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:1398,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1405,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/debug.c:1407,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/debug.c:1408,1
    - Dst: memprintf
      Src: /src/haproxy/src/debug.c:1414,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1417,1
    - Dst: may_access
      Src: /src/haproxy/src/debug.c:1417,1
    - Dst: isalnum
      Src: /src/haproxy/src/debug.c:1417,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/debug.c:1419,1
    - Dst: memprintf
      Src: /src/haproxy/src/debug.c:1422,1
    - Dst: task_in_rq
      Src: /src/haproxy/src/debug.c:1423,1
    - Dst: task_in_wq
      Src: /src/haproxy/src/debug.c:1423,1
    - Dst: memprintf
      Src: /src/haproxy/src/debug.c:1425,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:1429,1
    - Dst: __task_unlink_wq
      Src: /src/haproxy/src/debug.c:1435,1
    - Dst: tick_add
      Src: /src/haproxy/src/debug.c:1436,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/debug.c:1437,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:1439,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/debug.c:1442,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/debug.c:1444,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:1445,1
    - Dst: tasklet_kill
      Src: /src/haproxy/src/debug.c:1449,1
    - Dst: task_kill
      Src: /src/haproxy/src/debug.c:1451,1
    - Dst: thread_release
      Src: /src/haproxy/src/debug.c:1454,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/debug.c:1460,1
    - Dst: thread_release
      Src: /src/haproxy/src/debug.c:1462,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:1465,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1472
      start: 1368
    functionDepth: 2
    functionLinenumber: 1368
    functionLinenumberEnd: 1472
    functionName: debug_parse_cli_task
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_reset
    - thread_release
    - __task_unlink_wq
    - isalnum
    - task_in_rq
    - strcmp
    - task_wakeup
    - strtoul
    - LIST_INLIST
    - _HA_ATOMIC_INC
    - thread_isolate
    - tasklet_wakeup
    - tasklet_kill
    - cli_has_level
    - may_access
    - cli_dynmsg
    - tick_add
    - cli_err
    - task_kill
    - task_in_wq
    - resolve_sym_name
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_task(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_add
      Src: /src/haproxy/src/debug.c:1483,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/debug.c:1485,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/debug.c:1489,1
    - Dst: ha_tkill
      Src: /src/haproxy/src/debug.c:1490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1493
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1493
    functionName: debug_delay_inj_task
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - tick_add
    - ha_tkill
    - task_wakeup
    - statistical_prng_range
    linkageType: ''
    returnType: struct task
    signature: '*debug_delay_inj_task(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:1503,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:1507,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:1509,1
    - Dst: calloc
      Src: /src/haproxy/src/debug.c:1511,1
    - Dst: atoi
      Src: /src/haproxy/src/debug.c:1515,1
    - Dst: atoi
      Src: /src/haproxy/src/debug.c:1516,1
    - Dst: task_new_here
      Src: /src/haproxy/src/debug.c:1518,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/debug.c:1524,1
    - Dst: free
      Src: /src/haproxy/src/debug.c:1528,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:1529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1530
      start: 1498
    functionDepth: 2
    functionLinenumber: 1498
    functionLinenumberEnd: 1530
    functionName: debug_parse_delay_inj
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - atoi
    - calloc
    - cli_err
    - _HA_ATOMIC_INC
    - task_wakeup
    - free
    - cli_has_level
    - task_new_here
    linkageType: ''
    returnType: int
    signature: debug_parse_delay_inj(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_add
      Src: /src/haproxy/src/debug.c:1542,1
    - Dst: statistical_prng
      Src: /src/haproxy/src/debug.c:1545,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/debug.c:1552,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/debug.c:1554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1557
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1557
    functionName: debug_task_handler
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - tick_add
    - task_wakeup
    - tasklet_wakeup
    - statistical_prng
    linkageType: ''
    returnType: struct task
    signature: '*debug_task_handler(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: statistical_prng
      Src: /src/haproxy/src/debug.c:1570,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/debug.c:1574,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/debug.c:1576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1579
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1579
    functionName: debug_tasklet_handler
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - task_wakeup
    - tasklet_wakeup
    - statistical_prng
    linkageType: ''
    returnType: struct task
    signature: '*debug_tasklet_handler(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:1601,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:1606,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:1606,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:1607,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:1614,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:1616,1
    - Dst: ist2
      Src: /src/haproxy/src/debug.c:1621,1
    - Dst: isteq
      Src: /src/haproxy/src/debug.c:1622,1
    - Dst: ist
      Src: /src/haproxy/src/debug.c:1622,1
    - Dst: isteq
      Src: /src/haproxy/src/debug.c:1624,1
    - Dst: ist
      Src: /src/haproxy/src/debug.c:1624,1
    - Dst: isteq
      Src: /src/haproxy/src/debug.c:1626,1
    - Dst: ist
      Src: /src/haproxy/src/debug.c:1626,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/debug.c:1629,1
    - Dst: memprintf
      Src: /src/haproxy/src/debug.c:1629,1
    - Dst: strtoll::strtoll
      Src: /src/haproxy/src/debug.c:1632,1
    - Dst: memprintf
      Src: /src/haproxy/src/debug.c:1634,1
    - Dst: write_u64
      Src: /src/haproxy/src/debug.c:1642,1
    - Dst: write_u32
      Src: /src/haproxy/src/debug.c:1644,1
    - Dst: write_u16
      Src: /src/haproxy/src/debug.c:1646,1
    - Dst: calloc
      Src: /src/haproxy/src/debug.c:1651,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/debug.c:1667,1
    - Dst: task_new_on
      Src: /src/haproxy/src/debug.c:1677,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/debug.c:1693,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/debug.c:1695,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/debug.c:1699,1
    - Dst: task_destroy
      Src: /src/haproxy/src/debug.c:1711,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/debug.c:1713,1
    - Dst: free
      Src: /src/haproxy/src/debug.c:1716,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:1717,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 86
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1718
      start: 1584
    functionDepth: 2
    functionLinenumber: 1584
    functionLinenumberEnd: 1718
    functionName: debug_parse_cli_sched
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - strtoll::strtoll
    - ist
    - tasklet_new
    - strcmp
    - ist2
    - isteq
    - task_wakeup
    - free
    - tasklet_free
    - _HA_ATOMIC_INC
    - tasklet_wakeup
    - cli_has_level
    - write_u32
    - write_u16
    - task_new_on
    - cli_dynmsg
    - calloc
    - cli_err
    - write_u64
    - task_destroy
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_sched(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/debug.c:1741,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1742,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1743,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1744,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1745,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1746,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1747,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1748,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1749,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1750,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1751,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1752,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1753,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1754,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1755,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1756,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1757,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1758,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/debug.c:1759,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/debug.c:1760,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/debug.c:1766,1
    - Dst: task_destroy
      Src: /src/haproxy/src/debug.c:1768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1772
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1772
    functionName: debug_trace_task
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - task_wakeup
    - TRACE_DEVEL
    - task_destroy
    linkageType: ''
    returnType: struct task
    signature: '*debug_trace_task(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:1786,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/debug.c:1789,1
    - Dst: memprintf
      Src: /src/haproxy/src/debug.c:1792,1
    - Dst: strtoll
      Src: /src/haproxy/src/debug.c:1797,1
    - Dst: memprintf
      Src: /src/haproxy/src/debug.c:1799,1
    - Dst: task_new_on
      Src: /src/haproxy/src/debug.c:1807,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/debug.c:1814,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/debug.c:1818,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/debug.c:1822,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1823
      start: 1779
    functionDepth: 2
    functionLinenumber: 1779
    functionLinenumberEnd: 1823
    functionName: debug_parse_cli_trace
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - memprintf
    - task_new_on
    - cli_dynmsg
    - _HA_ATOMIC_INC
    - task_wakeup
    - cli_has_level
    - strtoll
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_trace(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/debug.c:1836,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:1838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1844
      start: 1834
    functionDepth: 2
    functionLinenumber: 1834
    functionLinenumberEnd: 1844
    functionName: debug_parse_cli_fd
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - applet_reserve_svcctx
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_fd(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/debug.c:1861,1
    - Dst: thread_isolate
      Src: /src/haproxy/src/debug.c:1863,1
    - Dst: fcntl
      Src: /src/haproxy/src/debug.c:1870,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/debug.c:1879,1
    - Dst: fstat
      Src: /src/haproxy/src/debug.c:1881,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1882,1
    - Dst: isatty
      Src: /src/haproxy/src/debug.c:1883,1
    - Dst: S_ISREG
      Src: /src/haproxy/src/debug.c:1884,1
    - Dst: S_ISDIR
      Src: /src/haproxy/src/debug.c:1885,1
    - Dst: S_ISCHR
      Src: /src/haproxy/src/debug.c:1886,1
    - Dst: S_ISBLK
      Src: /src/haproxy/src/debug.c:1887,1
    - Dst: S_ISFIFO
      Src: /src/haproxy/src/debug.c:1888,1
    - Dst: S_ISLNK
      Src: /src/haproxy/src/debug.c:1889,1
    - Dst: S_ISSOCK
      Src: /src/haproxy/src/debug.c:1890,1
    - Dst: USE_EPOLL
      Src: /src/haproxy/src/debug.c:1891,1
    - Dst: epoll_ctl
      Src: /src/haproxy/src/debug.c:1904,1
    - Dst: close
      Src: /src/haproxy/src/debug.c:1909,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1926,1
    - Dst: fcntl
      Src: /src/haproxy/src/debug.c:1931,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1933,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1941,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1942,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1943,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1944,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1945,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1947,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1950,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1953,1
    - Dst: getsockopt
      Src: /src/haproxy/src/debug.c:1960,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1962,1
    - Dst: getsockopt
      Src: /src/haproxy/src/debug.c:1965,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1967,1
    - Dst: getsockopt
      Src: /src/haproxy/src/debug.c:1970,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1972,1
    - Dst: getsockname
      Src: /src/haproxy/src/debug.c:1975,1
    - Dst: ntohs
      Src: /src/haproxy/src/debug.c:1979,1
    - Dst: ntohs
      Src: /src/haproxy/src/debug.c:1981,1
    - Dst: sa2str
      Src: /src/haproxy/src/debug.c:1984,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:1986,1
    - Dst: iscntrl
      Src: /src/haproxy/src/debug.c:1987,1
    - Dst: isprint
      Src: /src/haproxy/src/debug.c:1987,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:1991,1
    - Dst: free
      Src: /src/haproxy/src/debug.c:1992,1
    - Dst: getpeername
      Src: /src/haproxy/src/debug.c:1996,1
    - Dst: ntohs
      Src: /src/haproxy/src/debug.c:1998,1
    - Dst: ntohs
      Src: /src/haproxy/src/debug.c:2000,1
    - Dst: sa2str
      Src: /src/haproxy/src/debug.c:2003,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2005,1
    - Dst: iscntrl
      Src: /src/haproxy/src/debug.c:2006,1
    - Dst: isprint
      Src: /src/haproxy/src/debug.c:2006,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:2009,1
    - Dst: free
      Src: /src/haproxy/src/debug.c:2010,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:2013,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/debug.c:2015,1
    - Dst: thread_release
      Src: /src/haproxy/src/debug.c:2022,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 108
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2024
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 2024
    functionName: debug_iohandler_fd
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - getpeername
    - getsockname
    - S_ISBLK
    - isprint
    - thread_release
    - applet_putchk
    - fstat
    - close
    - chunk_appendf
    - free
    - epoll_ctl
    - S_ISREG
    - S_ISDIR
    - strlen
    - thread_isolate
    - S_ISLNK
    - chunk_printf
    - S_ISCHR
    - isatty
    - S_ISSOCK
    - getsockopt
    - fcntl
    - USE_EPOLL
    - S_ISFIFO
    - ntohs
    - iscntrl
    - sa2str
    linkageType: ''
    returnType: int
    signature: debug_iohandler_fd(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/debug.c:2041,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:2047,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2051,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:2054,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/debug.c:2058,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/debug.c:2059,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2063,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2067,1
    - Dst: ha_free
      Src: /src/haproxy/src/debug.c:2068,1
    - Dst: strdup
      Src: /src/haproxy/src/debug.c:2069,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:2071,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:2076,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 2084
      start: 2039
    functionDepth: 2
    functionLinenumber: 2039
    functionLinenumberEnd: 2084
    functionName: debug_parse_cli_memstats
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - ha_free
    - strcmp
    - cli_err
    - strdup
    - cli_has_level
    - applet_reserve_svcctx
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_memstats(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/src/debug.c:2117,1
    - Dst: snprintf
      Src: /src/haproxy/src/debug.c:2119,1
    - Dst: strncmp
      Src: /src/haproxy/src/debug.c:2166,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2166,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/debug.c:2169,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:2171,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:2173,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:2176,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:2181,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/debug.c:2187,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/debug.c:2203,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:2204,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:2208,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/debug.c:2214,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 100
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2221
      start: 2091
    functionDepth: 1
    functionLinenumber: 2091
    functionLinenumberEnd: 2221
    functionName: debug_iohandler_memstats
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - strncmp
    - strlen
    - snprintf
    - chunk_appendf
    - applet_putchk
    linkageType: ''
    returnType: int
    signature: debug_iohandler_memstats(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/debug.c:2228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2229
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2229
    functionName: debug_release_memstats
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: void
    signature: debug_release_memstats(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/debug.c:2244,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:2248,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2253,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2257,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2261,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2265,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2269,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2273,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2277,1
    - Dst: cli_err
      Src: /src/haproxy/src/debug.c:2282,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/debug.c:2292,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/debug.c:2298,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 2305
      start: 2242
    functionDepth: 2
    functionLinenumber: 2242
    functionLinenumberEnd: 2305
    functionName: debug_parse_cli_counters
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cli_err
    - cli_has_level
    - applet_reserve_svcctx
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: int
    signature: debug_parse_cli_counters(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_printf
      Src: /src/haproxy/src/debug.c:2327,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/debug.c:2343,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/debug.c:2348,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2358
      start: 2312
    functionDepth: 1
    functionLinenumber: 2312
    functionLinenumberEnd: 2358
    functionName: debug_iohandler_counters
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - applet_putchk
    - chunk_printf
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: debug_iohandler_counters(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/debug.c:2372,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/debug.c:2382,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/debug.c:2390,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/debug.c:2391,1
    - Dst: ha_thread_dump_one
      Src: /src/haproxy/src/debug.c:2397,1
    - Dst: wait
      Src: /src/haproxy/src/debug.c:2403,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/debug.c:2405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - sig
    - si
    - arg
    argTypes:
    - int
    - siginfo_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2406
      start: 2370
    functionDepth: 3
    functionLinenumber: 2370
    functionLinenumberEnd: 2406
    functionName: debug_handler
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - ha_thread_dump_one
    - _HA_ATOMIC_OR
    - _HA_ATOMIC_AND
    - get_trash_chunk
    - HA_ATOMIC_LOAD
    - HA_ATOMIC_STORE
    - wait
    linkageType: ''
    returnType: void
    signature: debug_handler(int sig, siginfo_t *si, void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/haproxy/src/debug.c:2413,1
    - Dst: sigaddset
      Src: /src/haproxy/src/debug.c:2414,1
    - Dst: sigaddset
      Src: /src/haproxy/src/debug.c:2416,1
    - Dst: ha_sigmask
      Src: /src/haproxy/src/debug.c:2418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2408
    functionDepth: 0
    functionLinenumber: 2408
    functionLinenumberEnd: 2420
    functionName: init_debug_per_thread
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - sigaddset
    - ha_sigmask
    - sigemptyset
    linkageType: ''
    returnType: int
    signature: init_debug_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_backtrace
      Src: /src/haproxy/src/debug.c:2431,1
    - Dst: sigemptyset
      Src: /src/haproxy/src/debug.c:2434,1
    - Dst: sigaction
      Src: /src/haproxy/src/debug.c:2436,1
    - Dst: sigemptyset
      Src: /src/haproxy/src/debug.c:2441,1
    - Dst: sigaction
      Src: /src/haproxy/src/debug.c:2443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2422
    functionDepth: 1
    functionLinenumber: 2422
    functionLinenumberEnd: 2446
    functionName: init_debug
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - sigaction
    - my_backtrace
    - sigemptyset
    linkageType: ''
    returnType: int
    signature: init_debug()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/debug.c:2465,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2466,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/debug.c:2468,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2469,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2470,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/debug.c:2472,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2473,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2474,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2475,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/debug.c:2477,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2478,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2479,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/debug.c:2481,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2482,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2483,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2484,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2485,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/debug.c:2486,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2487,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2488,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2489,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2490,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2491,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/debug.c:2494,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2495,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2496,1
    - Dst: stat
      Src: /src/haproxy/src/debug.c:2500,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2502,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2505,1
    - Dst: fopen
      Src: /src/haproxy/src/debug.c:2508,1
    - Dst: fgets
      Src: /src/haproxy/src/debug.c:2518,1
    - Dst: strchr
      Src: /src/haproxy/src/debug.c:2519,1
    - Dst: strchr
      Src: /src/haproxy/src/debug.c:2528,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2538,1
    - Dst: strtoul
      Src: /src/haproxy/src/debug.c:2539,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2540,1
    - Dst: strtoul
      Src: /src/haproxy/src/debug.c:2541,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2542,1
    - Dst: strtoul
      Src: /src/haproxy/src/debug.c:2543,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2544,1
    - Dst: strtoul
      Src: /src/haproxy/src/debug.c:2545,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2546,1
    - Dst: strtoul
      Src: /src/haproxy/src/debug.c:2547,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2550,1
    - Dst: strtoul
      Src: /src/haproxy/src/debug.c:2551,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2552,1
    - Dst: strtoul
      Src: /src/haproxy/src/debug.c:2553,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2554,1
    - Dst: strtoul
      Src: /src/haproxy/src/debug.c:2555,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2556,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2557,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2558,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2559,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2560,1
    - Dst: strstr
      Src: /src/haproxy/src/debug.c:2561,1
    - Dst: strncmp
      Src: /src/haproxy/src/debug.c:2562,1
    - Dst: strncmp
      Src: /src/haproxy/src/debug.c:2564,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2572,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2573,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2574,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2575,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2576,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2577,1
    - Dst: fclose
      Src: /src/haproxy/src/debug.c:2579,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2583,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2586,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2591,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2595,1
    - Dst: snprintf
      Src: /src/haproxy/src/debug.c:2601,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2601,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2602,1
    - Dst: snprintf
      Src: /src/haproxy/src/debug.c:2606,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2606,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2607,1
    - Dst: snprintf
      Src: /src/haproxy/src/debug.c:2611,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2611,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2612,1
    - Dst: snprintf
      Src: /src/haproxy/src/debug.c:2616,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2616,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2617,1
    - Dst: snprintf
      Src: /src/haproxy/src/debug.c:2621,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2621,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2622,1
    - Dst: snprintf
      Src: /src/haproxy/src/debug.c:2626,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2626,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2627,1
    - Dst: snprintf
      Src: /src/haproxy/src/debug.c:2631,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2631,1
    - Dst: strlen
      Src: /src/haproxy/src/debug.c:2632,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2635,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2638,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 101
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2454
    functionDepth: 1
    functionLinenumber: 2454
    functionLinenumberEnd: 2641
    functionName: feed_post_mortem_linux
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - strlcpy2
    - strncmp
    - stat
    - read_line_to_trash
    - strcmp
    - strstr
    - snprintf
    - strlen
    - strchr
    - strtoul
    - fopen
    - fclose
    - fgets
    linkageType: ''
    returnType: void
    signature: feed_post_mortem_linux()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/haproxy/src/debug.c:2646,1
    - Dst: uname
      Src: /src/haproxy/src/debug.c:2650,1
    - Dst: getpid
      Src: /src/haproxy/src/debug.c:2653,1
    - Dst: geteuid
      Src: /src/haproxy/src/debug.c:2654,1
    - Dst: getegid
      Src: /src/haproxy/src/debug.c:2655,1
    - Dst: capget
      Src: /src/haproxy/src/debug.c:2660,1
    - Dst: getrlimit
      Src: /src/haproxy/src/debug.c:2665,1
    - Dst: strcmp
      Src: /src/haproxy/src/debug.c:2667,1
    - Dst: feed_post_mortem_linux
      Src: /src/haproxy/src/debug.c:2668,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/debug.c:2671,1
    - Dst: dump_libs
      Src: /src/haproxy/src/debug.c:2672,1
    - Dst: strdup
      Src: /src/haproxy/src/debug.c:2673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2687
      start: 2643
    functionDepth: 2
    functionLinenumber: 2643
    functionLinenumberEnd: 2687
    functionName: feed_post_mortem
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - geteuid
    - getegid
    - feed_post_mortem_linux
    - chunk_reset
    - uname
    - capget
    - strncpy
    - getrlimit
    - strcmp
    - getpid
    - dump_libs
    - strdup
    linkageType: ''
    returnType: int
    signature: feed_post_mortem()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/debug.c:2696,1
    - Dst: free
      Src: /src/haproxy/src/debug.c:2699,1
    - Dst: free
      Src: /src/haproxy/src/debug.c:2700,1
    - Dst: free
      Src: /src/haproxy/src/debug.c:2701,1
    - Dst: free
      Src: /src/haproxy/src/debug.c:2702,1
    - Dst: ha_free
      Src: /src/haproxy/src/debug.c:2704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2691
    functionDepth: 1
    functionLinenumber: 2691
    functionLinenumberEnd: 2705
    functionName: deinit_post_mortem
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - free
    - ha_free
    linkageType: ''
    returnType: void
    signature: deinit_post_mortem(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/haproxy/src/debug.c:2720,1
    - Dst: memset
      Src: /src/haproxy/src/debug.c:2724,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2725,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/debug.c:2726,1
    - Dst: strdup
      Src: /src/haproxy/src/debug.c:2727,1
    - Dst: strdup
      Src: /src/haproxy/src/debug.c:2728,1
    - Dst: strdup
      Src: /src/haproxy/src/debug.c:2729,1
    - Dst: strdup
      Src: /src/haproxy/src/debug.c:2730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - name
    - version
    - toolchain
    - toolchain_opts
    - build_settings
    - path
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2734
      start: 2713
    functionDepth: 1
    functionLinenumber: 2713
    functionLinenumberEnd: 2734
    functionName: post_mortem_add_component
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - memset
    - strlcpy2
    - realloc
    - strdup
    linkageType: ''
    returnType: void
    signature: "post_mortem_add_component(const char *name, const char *version,\n\t\t\t
      \      const char *toolchain, const char *toolchain_opts,\n\t\t\t       const
      char *build_settings, const char *path)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_ADD_FETCH
      Src: /src/haproxy/src/debug.c:2745,1
    - Dst: geteuid
      Src: /src/haproxy/src/debug.c:2751,1
    - Dst: getegid
      Src: /src/haproxy/src/debug.c:2752,1
    - Dst: capget
      Src: /src/haproxy/src/debug.c:2754,1
    - Dst: getrlimit
      Src: /src/haproxy/src/debug.c:2758,1
    - Dst: getrlimit
      Src: /src/haproxy/src/debug.c:2759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2762
      start: 2741
    functionDepth: 1
    functionLinenumber: 2741
    functionLinenumberEnd: 2762
    functionName: feed_post_mortem_late
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - geteuid
    - getegid
    - capget
    - getrlimit
    - HA_ATOMIC_ADD_FETCH
    linkageType: ''
    returnType: int
    signature: feed_post_mortem_late()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/debug.c:2776,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/debug.c:2778,1
    - Dst: fprintf
      Src: /src/haproxy/src/debug.c:2779,1
    - Dst: fprintf
      Src: /src/haproxy/src/debug.c:2784,1
    - Dst: fprintf
      Src: /src/haproxy/src/debug.c:2786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2787
      start: 2771
    functionDepth: 0
    functionLinenumber: 2771
    functionLinenumberEnd: 2787
    functionName: list_unittests
    functionSourceFile: /src/haproxy/src/debug.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - fprintf
    linkageType: ''
    returnType: void
    signature: list_unittests()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ebis_lookup
      Src: /src/haproxy/src/ebistree.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - char*
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ebis_lookup
    functionSourceFile: /src/haproxy/src/ebistree.c
    functionUses: 3
    functionsReached:
    - __ebis_lookup
    linkageType: ''
    returnType: struct ebpt_node
    signature: '*ebis_lookup(struct eb_root *root, const char *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ebis_insert
      Src: /src/haproxy/src/ebistree.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct ebpt_node*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ebis_insert
    functionSourceFile: /src/haproxy/src/ebistree.c
    functionUses: 5
    functionsReached:
    - __ebis_insert
    linkageType: ''
    returnType: struct ebpt_node
    signature: '*ebis_insert(struct eb_root *root, struct ebpt_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DISGUISE
      Src: /src/haproxy/src/activity.c:121,1
    - Dst: write
      Src: /src/haproxy/src/activity.c:121,1
    - Dst: strlen
      Src: /src/haproxy/src/activity.c:121,1
    - Dst: exit
      Src: /src/haproxy/src/activity.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: memprof_die
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - DISGUISE
    - strlen
    - write
    - exit
    linkageType: ''
    returnType: void
    signature: memprof_die(const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sym_next_addr
      Src: /src/haproxy/src/activity.c:138,1
    - Dst: memprof_die
      Src: /src/haproxy/src/activity.c:140,1
    - Dst: get_sym_next_addr
      Src: /src/haproxy/src/activity.c:142,1
    - Dst: memprof_die
      Src: /src/haproxy/src/activity.c:144,1
    - Dst: get_sym_next_addr
      Src: /src/haproxy/src/activity.c:146,1
    - Dst: memprof_die
      Src: /src/haproxy/src/activity.c:148,1
    - Dst: get_sym_next_addr
      Src: /src/haproxy/src/activity.c:150,1
    - Dst: memprof_die
      Src: /src/haproxy/src/activity.c:152,1
    - Dst: get_sym_next_addr
      Src: /src/haproxy/src/activity.c:154,1
    - Dst: memprof_die
      Src: /src/haproxy/src/activity.c:156,1
    - Dst: get_sym_next_addr
      Src: /src/haproxy/src/activity.c:161,1
    - Dst: get_sym_next_addr
      Src: /src/haproxy/src/activity.c:162,1
    - Dst: get_sym_next_addr
      Src: /src/haproxy/src/activity.c:163,1
    - Dst: get_sym_next_addr
      Src: /src/haproxy/src/activity.c:164,1
    - Dst: get_sym_next_addr
      Src: /src/haproxy/src/activity.c:165,1
    - Dst: get_sym_next_addr
      Src: /src/haproxy/src/activity.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 169
    functionName: memprof_init
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - get_sym_next_addr
    - memprof_die
    linkageType: ''
    returnType: void
    signature: memprof_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_init
      Src: /src/haproxy/src/activity.c:182,1
    - Dst: memprof_malloc_handler
      Src: /src/haproxy/src/activity.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 184
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 184
    functionName: memprof_malloc_initial_handler
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - memprof_init
    - memprof_malloc_handler
    linkageType: ''
    returnType: void
    signature: '*memprof_malloc_initial_handler(size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_init
      Src: /src/haproxy/src/activity.c:192,1
    - Dst: memprof_calloc_handler
      Src: /src/haproxy/src/activity.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - nmemb
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: memprof_calloc_initial_handler
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - memprof_init
    - memprof_calloc_handler
    linkageType: ''
    returnType: void
    signature: '*memprof_calloc_initial_handler(size_t nmemb, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_init
      Src: /src/haproxy/src/activity.c:203,1
    - Dst: memprof_realloc_handler
      Src: /src/haproxy/src/activity.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: memprof_realloc_initial_handler
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - memprof_init
    - memprof_realloc_handler
    linkageType: ''
    returnType: void
    signature: '*memprof_realloc_initial_handler(void *ptr, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_init
      Src: /src/haproxy/src/activity.c:214,1
    - Dst: memprof_strdup_handler
      Src: /src/haproxy/src/activity.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: memprof_strdup_initial_handler
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - memprof_init
    - memprof_strdup_handler
    linkageType: ''
    returnType: char
    signature: '*memprof_strdup_initial_handler(const char *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_init
      Src: /src/haproxy/src/activity.c:220,1
    - Dst: memprof_free_handler
      Src: /src/haproxy/src/activity.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: memprof_free_initial_handler
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - memprof_init
    - memprof_free_handler
    linkageType: ''
    returnType: void
    signature: memprof_free_initial_handler(void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_init
      Src: /src/haproxy/src/activity.c:233,1
    - Dst: memprof_strndup_handler
      Src: /src/haproxy/src/activity.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: memprof_strndup_initial_handler
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - memprof_init
    - memprof_strndup_handler
    linkageType: ''
    returnType: char
    signature: '*memprof_strndup_initial_handler(const char *s, size_t n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_init
      Src: /src/haproxy/src/activity.c:244,1
    - Dst: memprof_valloc_handler
      Src: /src/haproxy/src/activity.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: memprof_valloc_initial_handler
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - memprof_init
    - memprof_valloc_handler
    linkageType: ''
    returnType: void
    signature: '*memprof_valloc_initial_handler(size_t sz)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_init
      Src: /src/haproxy/src/activity.c:255,1
    - Dst: memprof_pvalloc_handler
      Src: /src/haproxy/src/activity.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 257
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 257
    functionName: memprof_pvalloc_initial_handler
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - memprof_init
    - memprof_pvalloc_handler
    linkageType: ''
    returnType: void
    signature: '*memprof_pvalloc_initial_handler(size_t sz)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_init
      Src: /src/haproxy/src/activity.c:266,1
    - Dst: memprof_memalign_handler
      Src: /src/haproxy/src/activity.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - al
    - sz
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: memprof_memalign_initial_handler
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - memprof_init
    - memprof_memalign_handler
    linkageType: ''
    returnType: void
    signature: '*memprof_memalign_initial_handler(size_t al, size_t sz)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_init
      Src: /src/haproxy/src/activity.c:277,1
    - Dst: memprof_aligned_alloc_handler
      Src: /src/haproxy/src/activity.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - al
    - sz
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: memprof_aligned_alloc_initial_handler
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - memprof_init
    - memprof_aligned_alloc_handler
    linkageType: ''
    returnType: void
    signature: '*memprof_aligned_alloc_initial_handler(size_t al, size_t sz)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_init
      Src: /src/haproxy/src/activity.c:288,1
    - Dst: memprof_posix_memalign_handler
      Src: /src/haproxy/src/activity.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - al
    - sz
    argTypes:
    - void**
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 290
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 290
    functionName: memprof_posix_memalign_initial_handler
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - memprof_init
    - memprof_posix_memalign_handler
    linkageType: ''
    returnType: int
    signature: memprof_posix_memalign_initial_handler(void **ptr, size_t al, size_t
      sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/activity.c:303,1
    - Dst: ptr_hash
      Src: /src/haproxy/src/activity.c:307,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/activity.c:316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - ra
    - meth
    argTypes:
    - void*
    - enum memprof_method
    constantsTouched: []
    func_position:
      end: 323
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 323
    functionName: memprof_get_bin
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - ptr_hash
    - unlikely
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: struct memprof_stats
    signature: '*memprof_get_bin(const void *ra, enum memprof_method meth)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/activity.c:338,1
    - Dst: memprof_malloc_handler
      Src: /src/haproxy/src/activity.c:339,1
    - Dst: memprof_malloc_handler
      Src: /src/haproxy/src/activity.c:341,1
    - Dst: malloc_usable_size
      Src: /src/haproxy/src/activity.c:342,1
    - Dst: memprof_get_bin
      Src: /src/haproxy/src/activity.c:344,1
    - Dst: __builtin_return_address
      Src: /src/haproxy/src/activity.c:344,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:345,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 348
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 348
    functionName: malloc
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 27
    functionsReached:
    - malloc_usable_size
    - __builtin_return_address
    - likely
    - memprof_get_bin
    - memprof_malloc_handler
    - _HA_ATOMIC_ADD
    linkageType: ''
    returnType: void
    signature: '*malloc(size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/activity.c:363,1
    - Dst: memprof_calloc_handler
      Src: /src/haproxy/src/activity.c:364,1
    - Dst: memprof_calloc_handler
      Src: /src/haproxy/src/activity.c:366,1
    - Dst: malloc_usable_size
      Src: /src/haproxy/src/activity.c:367,1
    - Dst: memprof_get_bin
      Src: /src/haproxy/src/activity.c:369,1
    - Dst: __builtin_return_address
      Src: /src/haproxy/src/activity.c:369,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:370,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - nmemb
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 373
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 373
    functionName: calloc
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 77
    functionsReached:
    - malloc_usable_size
    - __builtin_return_address
    - likely
    - memprof_get_bin
    - _HA_ATOMIC_ADD
    - memprof_calloc_handler
    linkageType: ''
    returnType: void
    signature: '*calloc(size_t nmemb, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/activity.c:391,1
    - Dst: memprof_realloc_handler
      Src: /src/haproxy/src/activity.c:392,1
    - Dst: malloc_usable_size
      Src: /src/haproxy/src/activity.c:394,1
    - Dst: memprof_realloc_handler
      Src: /src/haproxy/src/activity.c:395,1
    - Dst: malloc_usable_size
      Src: /src/haproxy/src/activity.c:396,1
    - Dst: memprof_get_bin
      Src: /src/haproxy/src/activity.c:402,1
    - Dst: __builtin_return_address
      Src: /src/haproxy/src/activity.c:402,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:404,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:405,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:407,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 411
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 411
    functionName: realloc
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 7
    functionsReached:
    - malloc_usable_size
    - memprof_realloc_handler
    - __builtin_return_address
    - likely
    - memprof_get_bin
    - _HA_ATOMIC_ADD
    linkageType: ''
    returnType: void
    signature: '*realloc(void *ptr, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/activity.c:427,1
    - Dst: memprof_strdup_handler
      Src: /src/haproxy/src/activity.c:428,1
    - Dst: memprof_strdup_handler
      Src: /src/haproxy/src/activity.c:430,1
    - Dst: malloc_usable_size
      Src: /src/haproxy/src/activity.c:431,1
    - Dst: memprof_get_bin
      Src: /src/haproxy/src/activity.c:433,1
    - Dst: __builtin_return_address
      Src: /src/haproxy/src/activity.c:433,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:434,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 437
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 437
    functionName: strdup
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 48
    functionsReached:
    - malloc_usable_size
    - __builtin_return_address
    - likely
    - memprof_get_bin
    - memprof_strdup_handler
    - _HA_ATOMIC_ADD
    linkageType: ''
    returnType: char
    signature: '*strdup(const char *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/activity.c:455,1
    - Dst: memprof_free_handler
      Src: /src/haproxy/src/activity.c:456,1
    - Dst: malloc_usable_size
      Src: /src/haproxy/src/activity.c:460,1
    - Dst: memprof_free_handler
      Src: /src/haproxy/src/activity.c:461,1
    - Dst: memprof_get_bin
      Src: /src/haproxy/src/activity.c:463,1
    - Dst: __builtin_return_address
      Src: /src/haproxy/src/activity.c:463,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:464,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 466
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 466
    functionName: free
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 272
    functionsReached:
    - malloc_usable_size
    - __builtin_return_address
    - likely
    - memprof_free_handler
    - memprof_get_bin
    - _HA_ATOMIC_ADD
    linkageType: ''
    returnType: void
    signature: free(void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_strndup_handler
      Src: /src/haproxy/src/activity.c:478,1
    - Dst: likely
      Src: /src/haproxy/src/activity.c:479,1
    - Dst: malloc_usable_size
      Src: /src/haproxy/src/activity.c:482,1
    - Dst: memprof_get_bin
      Src: /src/haproxy/src/activity.c:483,1
    - Dst: __builtin_return_address
      Src: /src/haproxy/src/activity.c:483,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:484,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:485,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 487
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 487
    functionName: strndup
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 1
    functionsReached:
    - malloc_usable_size
    - __builtin_return_address
    - likely
    - memprof_get_bin
    - memprof_strndup_handler
    - _HA_ATOMIC_ADD
    linkageType: ''
    returnType: char
    signature: '*strndup(const char *s, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_valloc_handler
      Src: /src/haproxy/src/activity.c:497,1
    - Dst: likely
      Src: /src/haproxy/src/activity.c:498,1
    - Dst: malloc_usable_size
      Src: /src/haproxy/src/activity.c:501,1
    - Dst: memprof_get_bin
      Src: /src/haproxy/src/activity.c:502,1
    - Dst: __builtin_return_address
      Src: /src/haproxy/src/activity.c:502,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:503,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 506
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 506
    functionName: valloc
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - malloc_usable_size
    - memprof_valloc_handler
    - __builtin_return_address
    - likely
    - memprof_get_bin
    - _HA_ATOMIC_ADD
    linkageType: ''
    returnType: void
    signature: '*valloc(size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_pvalloc_handler
      Src: /src/haproxy/src/activity.c:516,1
    - Dst: likely
      Src: /src/haproxy/src/activity.c:517,1
    - Dst: malloc_usable_size
      Src: /src/haproxy/src/activity.c:520,1
    - Dst: memprof_get_bin
      Src: /src/haproxy/src/activity.c:521,1
    - Dst: __builtin_return_address
      Src: /src/haproxy/src/activity.c:521,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:522,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 525
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 525
    functionName: pvalloc
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - malloc_usable_size
    - __builtin_return_address
    - _HA_ATOMIC_ADD
    - likely
    - memprof_get_bin
    - memprof_pvalloc_handler
    linkageType: ''
    returnType: void
    signature: '*pvalloc(size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_memalign_handler
      Src: /src/haproxy/src/activity.c:535,1
    - Dst: likely
      Src: /src/haproxy/src/activity.c:536,1
    - Dst: malloc_usable_size
      Src: /src/haproxy/src/activity.c:539,1
    - Dst: memprof_get_bin
      Src: /src/haproxy/src/activity.c:540,1
    - Dst: __builtin_return_address
      Src: /src/haproxy/src/activity.c:540,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:541,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - align
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 544
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 544
    functionName: memalign
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - malloc_usable_size
    - __builtin_return_address
    - likely
    - memprof_memalign_handler
    - memprof_get_bin
    - _HA_ATOMIC_ADD
    linkageType: ''
    returnType: void
    signature: '*memalign(size_t align, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_aligned_alloc_handler
      Src: /src/haproxy/src/activity.c:554,1
    - Dst: likely
      Src: /src/haproxy/src/activity.c:555,1
    - Dst: malloc_usable_size
      Src: /src/haproxy/src/activity.c:558,1
    - Dst: memprof_get_bin
      Src: /src/haproxy/src/activity.c:559,1
    - Dst: __builtin_return_address
      Src: /src/haproxy/src/activity.c:559,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:560,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - align
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 563
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 563
    functionName: aligned_alloc
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - malloc_usable_size
    - memprof_aligned_alloc_handler
    - __builtin_return_address
    - likely
    - memprof_get_bin
    - _HA_ATOMIC_ADD
    linkageType: ''
    returnType: void
    signature: '*aligned_alloc(size_t align, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprof_posix_memalign_handler
      Src: /src/haproxy/src/activity.c:573,1
    - Dst: likely
      Src: /src/haproxy/src/activity.c:574,1
    - Dst: malloc_usable_size
      Src: /src/haproxy/src/activity.c:580,1
    - Dst: memprof_get_bin
      Src: /src/haproxy/src/activity.c:581,1
    - Dst: __builtin_return_address
      Src: /src/haproxy/src/activity.c:581,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:582,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/activity.c:583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ptr
    - align
    - size
    argTypes:
    - void**
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 585
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 585
    functionName: posix_memalign
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - malloc_usable_size
    - __builtin_return_address
    - likely
    - memprof_get_bin
    - _HA_ATOMIC_ADD
    - memprof_posix_memalign_handler
    linkageType: ''
    returnType: int
    signature: posix_memalign(void **ptr, size_t align, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/activity.c:599,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 602
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 602
    functionName: memprof_remove_stale_info
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_LOAD
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: memprof_remove_stale_info(const void *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_freq_ctr
      Src: /src/haproxy/src/activity.c:612,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/src/activity.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stolen
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 614
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 614
    functionName: report_stolen_time
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 1
    functionsReached:
    - update_freq_ctr
    - update_freq_ctr_period
    linkageType: ''
    returnType: void
    signature: report_stolen_time(uint64_t stolen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: swrate_add
      Src: /src/haproxy/src/activity.c:631,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/activity.c:637,1
    - Dst: unlikely
      Src: /src/haproxy/src/activity.c:638,1
    - Dst: swrate_avg
      Src: /src/haproxy/src/activity.c:640,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/activity.c:641,1
    - Dst: unlikely
      Src: /src/haproxy/src/activity.c:643,1
    - Dst: swrate_avg
      Src: /src/haproxy/src/activity.c:645,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/activity.c:646,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - run_time
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 648
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 648
    functionName: activity_count_runtime
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 1
    functionsReached:
    - swrate_add
    - _HA_ATOMIC_OR
    - _HA_ATOMIC_AND
    - swrate_avg
    - _HA_ATOMIC_LOAD
    - unlikely
    linkageType: ''
    returnType: void
    signature: activity_count_runtime(uint32_t run_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/activity.c:656,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:659,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:661,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:663,1
    - Dst: memprintf
      Src: /src/haproxy/src/activity.c:666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 670
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 670
    functionName: cfg_parse_prof_memory
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - HA_ATOMIC_STORE
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_prof_memory(char **args, int section_type, struct proxy
      *curpx,\n                                const struct proxy *defpx, const char
      *file, int line,\n                                char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/activity.c:678,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:681,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:683,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:685,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:687,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:689,1
    - Dst: memprintf
      Src: /src/haproxy/src/activity.c:692,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 696
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 696
    functionName: cfg_parse_prof_tasks
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - HA_ATOMIC_STORE
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_prof_tasks(char **args, int section_type, struct proxy *curpx,\n
      \                               const struct proxy *defpx, const char *file,
      int line,\n                                char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/activity.c:701,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:704,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:706,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/activity.c:710,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:713,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:714,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:718,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:719,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:720,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:721,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:722,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:725,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/activity.c:728,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/activity.c:731,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:732,1
    - Dst: cli_err
      Src: /src/haproxy/src/activity.c:735,1
    - Dst: cli_err
      Src: /src/haproxy/src/activity.c:738,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:742,1
    - Dst: cli_err
      Src: /src/haproxy/src/activity.c:743,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:745,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/activity.c:749,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:752,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:753,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:757,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:758,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:759,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:760,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:761,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:764,1
    - Dst: HA_PROF_TASKS_AON::HA_PROF_TASKS_AON
      Src: /src/haproxy/src/activity.c:770,1
    - Dst: HA_PROF_TASKS_AOFF::HA_PROF_TASKS_AOFF
      Src: /src/haproxy/src/activity.c:772,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/activity.c:773,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:775,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:776,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:778,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/activity.c:780,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/activity.c:783,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/activity.c:784,1
    - Dst: cli_err
      Src: /src/haproxy/src/activity.c:787,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 790
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 790
    functionName: cli_parse_set_profiling
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - HA_PROF_TASKS_AON::HA_PROF_TASKS_AON
    - strcmp
    - _HA_ATOMIC_CAS
    - cli_err
    - HA_PROF_TASKS_AOFF::HA_PROF_TASKS_AOFF
    - HA_ATOMIC_LOAD
    - cli_has_level
    - HA_ATOMIC_STORE
    linkageType: ''
    returnType: int
    signature: cli_parse_set_profiling(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 803
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 803
    functionName: cmp_sched_activity_calls
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: cmp_sched_activity_calls(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 821
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 821
    functionName: cmp_sched_activity_addr
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: cmp_sched_activity_addr(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 839
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 839
    functionName: cmp_sched_activity_cpu
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: cmp_sched_activity_cpu(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 854
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 854
    functionName: cmp_memprof_stats
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: cmp_memprof_stats(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 867
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 867
    functionName: cmp_memprof_addr
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: cmp_memprof_addr(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/activity.c:887,1
    - Dst: likely
      Src: /src/haproxy/src/activity.c:888,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/activity.c:897,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - array
    - func
    - caller
    argTypes:
    - struct sched_activity*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 906
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 906
    functionName: sched_activity_entry
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 1
    functionsReached:
    - likely
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: struct sched_activity
    signature: '*sched_activity_entry(struct sched_activity *array, const void *func,
      const void *caller)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aligned
      Src: /src/haproxy/src/activity.c:926,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/activity.c:932,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/activity.c:939,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/activity.c:951,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/activity.c:956,1
    - Dst: memcpy
      Src: /src/haproxy/src/activity.c:969,1
    - Dst: qsort
      Src: /src/haproxy/src/activity.c:972,1
    - Dst: qsort
      Src: /src/haproxy/src/activity.c:987,1
    - Dst: qsort
      Src: /src/haproxy/src/activity.c:989,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:992,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/activity.c:1012,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/activity.c:1013,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/activity.c:1016,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/activity.c:1018,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1026,1
    - Dst: print_time_short
      Src: /src/haproxy/src/activity.c:1028,1
    - Dst: print_time_short
      Src: /src/haproxy/src/activity.c:1029,1
    - Dst: print_time_short
      Src: /src/haproxy/src/activity.c:1030,1
    - Dst: print_time_short
      Src: /src/haproxy/src/activity.c:1031,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1034,1
    - Dst: task_wakeup_type_str
      Src: /src/haproxy/src/activity.c:1036,1
    - Dst: b_putchr
      Src: /src/haproxy/src/activity.c:1038,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/activity.c:1040,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/activity.c:1047,1
    - Dst: memcpy
      Src: /src/haproxy/src/activity.c:1062,1
    - Dst: qsort
      Src: /src/haproxy/src/activity.c:1064,1
    - Dst: qsort
      Src: /src/haproxy/src/activity.c:1066,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1069,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1092,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/activity.c:1098,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1100,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1103,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1106,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1111,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1117,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1120,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/activity.c:1122,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/activity.c:1128,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/activity.c:1153,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/activity.c:1155,1
    - Dst: resolve_dso_name
      Src: /src/haproxy/src/activity.c:1157,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:1161,1
    - Dst: strdup
      Src: /src/haproxy/src/activity.c:1174,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1202,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1209,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1215,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1218,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1221,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/activity.c:1229,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 193
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1240
      start: 923
    functionDepth: 3
    functionLinenumber: 923
    functionLinenumberEnd: 1240
    functionName: cli_io_handler_show_profiling
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - print_time_short
    - resolve_dso_name
    - b_putchr
    - strcmp
    - task_wakeup_type_str
    - chunk_printf
    - aligned
    - get_trash_chunk
    - applet_putchk
    - chunk_appendf
    - strdup
    - HA_ATOMIC_LOAD
    - memcpy
    - qsort
    - resolve_sym_name
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_profiling(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/activity.c:1249,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/activity.c:1252,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:1256,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:1259,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:1262,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:1265,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:1268,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:1271,1
    - Dst: strcmp
      Src: /src/haproxy/src/activity.c:1274,1
    - Dst: isdigit
      Src: /src/haproxy/src/activity.c:1277,1
    - Dst: atoi
      Src: /src/haproxy/src/activity.c:1278,1
    - Dst: cli_err
      Src: /src/haproxy/src/activity.c:1281,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1284
      start: 1247
    functionDepth: 2
    functionLinenumber: 1247
    functionLinenumberEnd: 1284
    functionName: cli_parse_show_profiling
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - atoi
    - strcmp
    - cli_err
    - cli_has_level
    - applet_reserve_svcctx
    - isdigit
    linkageType: ''
    returnType: int
    signature: cli_parse_show_profiling(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: aligned
      Src: /src/haproxy/src/activity.c:1292,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/activity.c:1293,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/activity.c:1315,1
    - Dst: memset
      Src: /src/haproxy/src/activity.c:1316,1
    - Dst: thread_isolate
      Src: /src/haproxy/src/activity.c:1318,1
    - Dst: eb32_first
      Src: /src/haproxy/src/activity.c:1325,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/activity.c:1327,1
    - Dst: sched_activity_entry
      Src: /src/haproxy/src/activity.c:1328,1
    - Dst: eb32_next
      Src: /src/haproxy/src/activity.c:1335,1
    - Dst: eb32_first
      Src: /src/haproxy/src/activity.c:1342,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/activity.c:1344,1
    - Dst: sched_activity_entry
      Src: /src/haproxy/src/activity.c:1345,1
    - Dst: eb32_next
      Src: /src/haproxy/src/activity.c:1352,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/activity.c:1356,1
    - Dst: mt_list_to_list
      Src: /src/haproxy/src/activity.c:1356,1
    - Dst: sched_activity_entry
      Src: /src/haproxy/src/activity.c:1358,1
    - Dst: TASK_IS_TASKLET
      Src: /src/haproxy/src/activity.c:1359,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/activity.c:1369,1
    - Dst: sched_activity_entry
      Src: /src/haproxy/src/activity.c:1371,1
    - Dst: TASK_IS_TASKLET
      Src: /src/haproxy/src/activity.c:1372,1
    - Dst: thread_release
      Src: /src/haproxy/src/activity.c:1383,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/activity.c:1385,1
    - Dst: qsort
      Src: /src/haproxy/src/activity.c:1391,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1393,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/activity.c:1398,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/activity.c:1401,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/activity.c:1403,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1411,1
    - Dst: print_time_short
      Src: /src/haproxy/src/activity.c:1415,1
    - Dst: print_time_short
      Src: /src/haproxy/src/activity.c:1416,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/activity.c:1419,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1424
      start: 1290
    functionDepth: 2
    functionLinenumber: 1290
    functionLinenumberEnd: 1424
    functionName: cli_io_handler_show_tasks
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - thread_release
    - aligned
    - applet_putchk
    - eb32_next
    - memset
    - qsort
    - print_time_short
    - list_for_each_entry
    - chunk_appendf
    - get_trash_chunk
    - now_mono_time
    - TASK_IS_TASKLET
    - thread_isolate
    - chunk_printf
    - eb32_entry
    - eb32_first
    - mt_list_to_list
    - sched_activity_entry
    - resolve_sym_name
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_tasks(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/activity.c:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1466
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1466
    functionName: cli_io_handler_show_activity
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_activity(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/activity.c:1582,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/activity.c:1584,1
    - Dst: atoi
      Src: /src/haproxy/src/activity.c:1589,1
    - Dst: cli_err
      Src: /src/haproxy/src/activity.c:1592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1595
      start: 1580
    functionDepth: 2
    functionLinenumber: 1580
    functionLinenumberEnd: 1595
    functionName: cli_parse_show_activity
    functionSourceFile: /src/haproxy/src/activity.c
    functionUses: 0
    functionsReached:
    - cli_err
    - applet_reserve_svcctx
    - atoi
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_show_activity(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_nocc.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: quic_cc_nocc_init
    functionSourceFile: /src/haproxy/src/quic_cc_nocc.c
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: int
    signature: quic_cc_nocc_init(struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: quic_cc_nocc_slow_start
    functionSourceFile: /src/haproxy/src/quic_cc_nocc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_cc_nocc_slow_start(struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_nocc.c:29,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_nocc.c:30,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cc_nocc.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cc
    - ev
    argTypes:
    - struct quic_cc*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: quic_cc_nocc_ss_cb
    functionSourceFile: /src/haproxy/src/quic_cc_nocc.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - TRACE_PROTO
    linkageType: ''
    returnType: void
    signature: quic_cc_nocc_ss_cb(struct quic_cc *cc, struct quic_cc_event *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_nocc.c:37,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_nocc.c:38,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cc_nocc.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cc
    - ev
    argTypes:
    - struct quic_cc*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: quic_cc_nocc_ca_cb
    functionSourceFile: /src/haproxy/src/quic_cc_nocc.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - TRACE_PROTO
    linkageType: ''
    returnType: void
    signature: quic_cc_nocc_ca_cb(struct quic_cc *cc, struct quic_cc_event *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_nocc.c:45,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_nocc.c:46,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cc_nocc.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cc
    - ev
    argTypes:
    - struct quic_cc*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: quic_cc_nocc_rp_cb
    functionSourceFile: /src/haproxy/src/quic_cc_nocc.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - TRACE_PROTO
    linkageType: ''
    returnType: void
    signature: quic_cc_nocc_rp_cb(struct quic_cc *cc, struct quic_cc_event *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_nocc.c:54,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cc_nocc.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - cc
    argTypes:
    - struct buffer*
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: quic_cc_nocc_state_trace
    functionSourceFile: /src/haproxy/src/quic_cc_nocc.c
    functionUses: 0
    functionsReached:
    - container_of
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: quic_cc_nocc_state_trace(struct buffer *buf, const struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cc
    - ev
    argTypes:
    - struct quic_cc*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: quic_cc_nocc_event
    functionSourceFile: /src/haproxy/src/quic_cc_nocc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_cc_nocc_event(struct quic_cc *cc, struct quic_cc_event *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:103,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:106,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:109,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:112,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:115,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:118,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:121,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:124,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:127,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:130,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:133,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:136,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:139,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:142,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:145,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:148,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:153,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:158,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:161,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:164,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:167,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:170,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:173,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:176,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:179,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:182,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:185,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:188,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:191,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:194,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:197,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:200,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:203,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:206,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:209,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:212,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:217,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:220,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:223,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/quic_stats.c:226,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 133
    argCount: 3
    argNames:
    - data
    - stats
    - selected_field
    argTypes:
    - void*
    - struct field*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 241
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 241
    functionName: quic_fill_stats
    functionSourceFile: /src/haproxy/src/quic_stats.c
    functionUses: 0
    functionsReached:
    - mkf_u64
    linkageType: ''
    returnType: int
    signature: quic_fill_stats(void *data, struct field *stats, unsigned int *selected_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:260,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:263,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:266,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:269,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:272,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:275,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:278,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:281,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:284,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:287,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:290,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:293,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:296,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:299,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:302,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:305,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:308,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:312,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_stats.c:314,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 2
    argNames:
    - ctrs
    - error_code
    argTypes:
    - struct quic_counters*
    - int
    constantsTouched: []
    func_position:
      end: 316
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 316
    functionName: quic_stats_transp_err_count_inc
    functionSourceFile: /src/haproxy/src/quic_stats.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    linkageType: ''
    returnType: void
    signature: quic_stats_transp_err_count_inc(struct quic_counters *ctrs, int error_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/cbuf.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - sz
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 43
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 43
    functionName: cbuf_new
    functionSourceFile: /src/haproxy/src/cbuf.c
    functionUses: 0
    functionsReached:
    - pool_alloc
    linkageType: ''
    returnType: struct cbuf
    signature: '*cbuf_new(unsigned char *buf, size_t sz)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free
      Src: /src/haproxy/src/cbuf.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cbuf
    argTypes:
    - struct cbuf*
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: cbuf_free
    functionSourceFile: /src/haproxy/src/cbuf.c
    functionUses: 0
    functionsReached:
    - pool_free
    linkageType: ''
    returnType: void
    signature: cbuf_free(struct cbuf *cbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pt
    argTypes:
    - struct mux_pt_ctx*
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: pt_sc
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: '*pt_sc(const struct mux_pt_ctx *pt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_contig_data
      Src: /src/haproxy/src/mux_pt.c:107,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/mux_pt.c:113,1
    - Dst: dump_text_line
      Src: /src/haproxy/src/mux_pt.c:118,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_pt.c:118,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_pt.c:118,1
    - Dst: dump_text_line
      Src: /src/haproxy/src/mux_pt.c:126,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_pt.c:126,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_pt.c:126,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - ofs
    - len
    argTypes:
    - struct buffer*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 131
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 131
    functionName: pt_trace_buf
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - dump_text_line
    - b_contig_data
    - b_size
    - b_orig
    - b_peek_ofs
    linkageType: ''
    returnType: void
    signature: pt_trace_buf(const struct buffer *buf, size_t ofs, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_pt.c:151,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_pt.c:151,1
    - Dst: pt_sc
      Src: /src/haproxy/src/mux_pt.c:157,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_pt.c:161,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_pt.c:164,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_pt.c:165,1
    - Dst: se_fl_get
      Src: /src/haproxy/src/mux_pt.c:165,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_pt.c:167,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_pt.c:187,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_pt.c:188,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_pt.c:188,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_pt.c:189,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_pt.c:189,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_pt.c:191,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_pt.c:192,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_pt.c:193,1
    - Dst: pt_trace_buf
      Src: /src/haproxy/src/mux_pt.c:194,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_pt.c:194,1
    - Dst: pt_trace_buf
      Src: /src/haproxy/src/mux_pt.c:196,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_pt.c:197,1
    - Dst: pt_trace_buf
      Src: /src/haproxy/src/mux_pt.c:198,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_pt.c:198,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 9
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - struct ist
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 202
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 202
    functionName: pt_trace
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - pt_trace_buf
    - se_fl_get
    - chunk_memcat
    - chunk_appendf
    - conn_is_back
    - b_data
    - b_head_ofs
    - b_size
    - b_orig
    - pt_sc
    linkageType: ''
    returnType: void
    signature: "pt_trace(enum trace_level level, uint64_t mask, const struct trace_source
      *src,\n                     const struct ist where, const struct ist func,\n
      \                    const void *a1, const void *a2, const void *a3, const void
      *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_pt.c:209,1
    - Dst: tevt_report_event
      Src: /src/haproxy/src/mux_pt.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - type
    argTypes:
    - struct mux_pt_ctx*
    - enum muxc_term_event_type
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: mux_pt_report_term_evt
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - conn_is_back
    - tevt_report_event
    linkageType: ''
    returnType: void
    signature: mux_pt_report_term_evt(struct mux_pt_ctx *ctx, enum muxc_term_event_type
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_pt.c:218,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_pt.c:224,1
    - Dst: struct connection*::xprt::unsubscribe
      Src: /src/haproxy/src/mux_pt.c:227,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_pt.c:229,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_pt.c:229,1
    - Dst: sedesc_free
      Src: /src/haproxy/src/mux_pt.c:230,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_pt.c:231,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:236,1
    - Dst: conn_stop_tracking
      Src: /src/haproxy/src/mux_pt.c:238,1
    - Dst: conn_full_close
      Src: /src/haproxy/src/mux_pt.c:239,1
    - Dst: struct connection*::destroy_cb
      Src: /src/haproxy/src/mux_pt.c:241,1
    - Dst: conn_free
      Src: /src/haproxy/src/mux_pt.c:242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mux_pt_ctx*
    constantsTouched: []
    func_position:
      end: 244
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 244
    functionName: mux_pt_destroy
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - conn_full_close
    - TRACE_POINT
    - tasklet_free
    - conn_free
    - se_fl_test
    - struct connection*::destroy_cb
    - pool_free
    - sedesc_free
    - conn_stop_tracking
    - TRACE_DEVEL
    - struct connection*::xprt::unsubscribe
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: mux_pt_destroy(struct mux_pt_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_pt.c:253,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_pt.c:254,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_pt.c:265,1
    - Dst: pt_sc
      Src: /src/haproxy/src/mux_pt.c:267,1
    - Dst: pt_sc
      Src: /src/haproxy/src/mux_pt.c:268,1
    - Dst: wake
      Src: /src/haproxy/src/mux_pt.c:268,1
    - Dst: pt_sc
      Src: /src/haproxy/src/mux_pt.c:268,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:269,1
    - Dst: conn_ctrl_drain
      Src: /src/haproxy/src/mux_pt.c:272,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:274,1
    - Dst: mux_pt_destroy
      Src: /src/haproxy/src/mux_pt.c:275,1
    - Dst: struct mux_pt_ctx*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_pt.c:279,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - t
    - tctx
    - status
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 285
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 285
    functionName: mux_pt_io_cb
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - conn_ctrl_drain
    - mux_pt_destroy
    - se_fl_test
    - TRACE_ENTER
    - struct mux_pt_ctx*::conn::xprt::subscribe
    - tasklet_wakeup
    - wake
    - TRACE_DEVEL
    - pt_sc
    linkageType: ''
    returnType: struct task
    signature: '*mux_pt_io_cb(struct task *t, void *tctx, unsigned int status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/mux_pt.c:296,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_pt.c:298,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_pt.c:301,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/mux_pt.c:305,1
    - Dst: sedesc_new
      Src: /src/haproxy/src/mux_pt.c:315,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_pt.c:317,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:322,1
    - Dst: sc_new_from_endp
      Src: /src/haproxy/src/mux_pt.c:324,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_pt.c:326,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_pt.c:329,1
    - Dst: sc_attach_mux
      Src: /src/haproxy/src/mux_pt.c:332,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:337,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:339,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_pt.c:341,1
    - Dst: sedesc_free
      Src: /src/haproxy/src/mux_pt.c:345,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_pt.c:347,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_pt.c:348,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:350,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 4
    argNames:
    - conn
    - prx
    - sess
    - input
    argTypes:
    - struct connection*
    - struct proxy*
    - struct session*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 352
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 352
    functionName: mux_pt_init
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - sedesc_new
    - TRACE_POINT
    - TRACE_LEAVE
    - sc_attach_mux
    - tasklet_free
    - TRACE_ENTER
    - pool_alloc
    - sedesc_free
    - pool_free
    - se_fl_set
    - TRACE_ERROR
    - tasklet_new
    - sc_new_from_endp
    - TRACE_DEVEL
    linkageType: ''
    returnType: int
    signature: "mux_pt_init(struct connection *conn, struct proxy *prx, struct session
      *sess,\n\t\t       struct buffer *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_pt.c:362,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_pt.c:363,1
    - Dst: pt_sc
      Src: /src/haproxy/src/mux_pt.c:364,1
    - Dst: pt_sc
      Src: /src/haproxy/src/mux_pt.c:364,1
    - Dst: wake
      Src: /src/haproxy/src/mux_pt.c:364,1
    - Dst: pt_sc
      Src: /src/haproxy/src/mux_pt.c:364,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:367,1
    - Dst: conn_ctrl_drain
      Src: /src/haproxy/src/mux_pt.c:371,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:373,1
    - Dst: mux_pt_destroy
      Src: /src/haproxy/src/mux_pt.c:374,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_pt.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 388
      start: 357
    functionDepth: 4
    functionLinenumber: 357
    functionLinenumberEnd: 388
    functionName: mux_pt_wake
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - conn_ctrl_drain
    - mux_pt_destroy
    - TRACE_LEAVE
    - se_fl_test
    - TRACE_ENTER
    - wake
    - TRACE_DEVEL
    - pt_sc
    linkageType: ''
    returnType: int
    signature: mux_pt_wake(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_pt.c:398,1
    - Dst: struct connection*::xprt::unsubscribe
      Src: /src/haproxy/src/mux_pt.c:400,1
    - Dst: sc_attach_mux
      Src: /src/haproxy/src/mux_pt.c:401,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:404,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:406,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_pt.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - conn
    - sd
    - sess
    argTypes:
    - struct connection*
    - struct sedesc*
    - struct session*
    constantsTouched: []
    func_position:
      end: 410
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 410
    functionName: mux_pt_attach
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - sc_attach_mux
    - TRACE_ENTER
    - se_fl_set
    - struct connection*::xprt::unsubscribe
    linkageType: ''
    returnType: int
    signature: mux_pt_attach(struct connection *conn, struct sedesc *sd, struct session
      *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pt_sc
      Src: /src/haproxy/src/mux_pt.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: mux_pt_get_first_sc
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - pt_sc
    linkageType: ''
    returnType: struct stconn
    signature: '*mux_pt_get_first_sc(const struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_pt.c:428,1
    - Dst: pt_sc
      Src: /src/haproxy/src/mux_pt.c:428,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_pt.c:429,1
    - Dst: mux_pt_destroy
      Src: /src/haproxy/src/mux_pt.c:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 435
      start: 424
    functionDepth: 4
    functionLinenumber: 424
    functionLinenumberEnd: 435
    functionName: mux_pt_destroy_meth
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - mux_pt_destroy
    - TRACE_POINT
    - pt_sc
    - se_fl_test
    linkageType: ''
    returnType: void
    signature: mux_pt_destroy_meth(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_pt.c:445,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_pt.c:450,1
    - Dst: struct connection*::xprt::subscribe
      Src: /src/haproxy/src/mux_pt.c:452,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:455,1
    - Dst: mux_pt_destroy
      Src: /src/haproxy/src/mux_pt.c:456,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_pt.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - sd
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 460
      start: 440
    functionDepth: 4
    functionLinenumber: 440
    functionLinenumberEnd: 460
    functionName: mux_pt_detach
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - mux_pt_destroy
    - TRACE_LEAVE
    - TRACE_ENTER
    - struct connection*::xprt::subscribe
    - conn_is_back
    - TRACE_DEVEL
    linkageType: ''
    returnType: void
    signature: mux_pt_detach(struct sedesc *sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_pt.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: mux_pt_used_streams
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - se_fl_test
    linkageType: ''
    returnType: int
    signature: mux_pt_used_streams(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mux_pt_used_streams
      Src: /src/haproxy/src/mux_pt.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 474
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 474
    functionName: mux_pt_avail_streams
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - mux_pt_used_streams
    linkageType: ''
    returnType: int
    signature: mux_pt_avail_streams(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/src/mux_pt.c:478,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_pt.c:481,1
    - Dst: mux_pt_report_term_evt
      Src: /src/haproxy/src/mux_pt.c:483,1
    - Dst: conn_xprt_ready
      Src: /src/haproxy/src/mux_pt.c:485,1
    - Dst: struct connection*::xprt::shutw
      Src: /src/haproxy/src/mux_pt.c:486,1
    - Dst: conn_sock_shutw
      Src: /src/haproxy/src/mux_pt.c:488,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/mux_pt.c:492,1
    - Dst: conn_xprt_ready
      Src: /src/haproxy/src/mux_pt.c:493,1
    - Dst: struct connection*::xprt::shutr
      Src: /src/haproxy/src/mux_pt.c:494,1
    - Dst: conn_ctrl_drain
      Src: /src/haproxy/src/mux_pt.c:496,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_pt.c:499,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - sc
    - mode
    - reason
    argTypes:
    - struct stconn*
    - unsigned int
    - struct se_abort_info*
    constantsTouched: []
    func_position:
      end: 500
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 500
    functionName: mux_pt_shut
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - conn_ctrl_drain
    - TRACE_LEAVE
    - TRACE_ENTER
    - se_fl_clr
    - mux_pt_report_term_evt
    - struct connection*::xprt::shutw
    - conn_sock_shutw
    - __sc_conn
    - struct connection*::xprt::shutr
    - conn_xprt_ready
    linkageType: ''
    returnType: void
    signature: mux_pt_shut(struct stconn *sc, unsigned int mode, struct se_abort_info
      *reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/src/mux_pt.c:517,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_pt.c:521,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:524,1
    - Dst: b_realign_if_empty
      Src: /src/haproxy/src/mux_pt.c:527,1
    - Dst: struct connection*::xprt::rcv_buf
      Src: /src/haproxy/src/mux_pt.c:528,1
    - Dst: mux_pt_report_term_evt
      Src: /src/haproxy/src/mux_pt.c:530,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/mux_pt.c:531,1
    - Dst: conn_xprt_read0_pending
      Src: /src/haproxy/src/mux_pt.c:532,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:533,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:534,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:535,1
    - Dst: conn_xprt_read0_pending
      Src: /src/haproxy/src/mux_pt.c:537,1
    - Dst: mux_pt_report_term_evt
      Src: /src/haproxy/src/mux_pt.c:538,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/mux_pt.c:539,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:540,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:541,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_pt.c:544,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - sc
    - buf
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 546
      start: 515
    functionDepth: 2
    functionLinenumber: 515
    functionLinenumberEnd: 546
    functionName: mux_pt_rcv_buf
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - conn_xprt_read0_pending
    - TRACE_ENTER
    - se_fl_clr
    - mux_pt_report_term_evt
    - struct connection*::xprt::rcv_buf
    - se_fl_set
    - TRACE_DEVEL
    - __sc_conn
    - b_realign_if_empty
    linkageType: ''
    returnType: size_t
    signature: mux_pt_rcv_buf(struct stconn *sc, struct buffer *buf, size_t count,
      int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/src/mux_pt.c:551,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_pt.c:555,1
    - Dst: struct connection*::xprt::snd_buf
      Src: /src/haproxy/src/mux_pt.c:557,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_pt.c:560,1
    - Dst: mux_pt_report_term_evt
      Src: /src/haproxy/src/mux_pt.c:563,1
    - Dst: conn_xprt_read0_pending
      Src: /src/haproxy/src/mux_pt.c:564,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:565,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_pt.c:566,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:567,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_pt.c:570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - sc
    - buf
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 572
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 572
    functionName: mux_pt_snd_buf
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - se_fl_set_error
    - conn_xprt_read0_pending
    - TRACE_ENTER
    - mux_pt_report_term_evt
    - struct connection*::xprt::snd_buf
    - b_del
    - se_fl_set
    - TRACE_DEVEL
    - __sc_conn
    linkageType: ''
    returnType: size_t
    signature: mux_pt_snd_buf(struct stconn *sc, struct buffer *buf, size_t count,
      int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_opposite
      Src: /src/haproxy/src/mux_pt.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct mux_pt_ctx*
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: mux_pt_opposite_sd
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - se_opposite
    linkageType: ''
    returnType: struct sedesc
    signature: '*mux_pt_opposite_sd(struct mux_pt_ctx *ctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/src/mux_pt.c:581,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_pt.c:585,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_pt.c:594,1
    - Dst: get_pipe
      Src: /src/haproxy/src/mux_pt.c:595,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:602,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_pt.c:608,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - sc
    - input
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 610
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 610
    functionName: mux_pt_nego_ff
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - get_pipe
    - TRACE_DEVEL
    - b_data
    - __sc_conn
    linkageType: ''
    returnType: size_t
    signature: mux_pt_nego_ff(struct stconn *sc, struct buffer *input, size_t count,
      unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/src/mux_pt.c:614,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_pt.c:619,1
    - Dst: struct connection*::xprt::snd_pipe
      Src: /src/haproxy/src/mux_pt.c:622,1
    - Dst: put_pipe
      Src: /src/haproxy/src/mux_pt.c:624,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_pt.c:629,1
    - Dst: conn_xprt_read0_pending
      Src: /src/haproxy/src/mux_pt.c:634,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:635,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_pt.c:636,1
    - Dst: put_pipe
      Src: /src/haproxy/src/mux_pt.c:638,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:641,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_pt.c:644,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 646
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 646
    functionName: mux_pt_done_ff
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - se_fl_set_error
    - conn_xprt_read0_pending
    - TRACE_ENTER
    - struct connection*::xprt::snd_pipe
    - put_pipe
    - se_fl_set
    - TRACE_DEVEL
    - __sc_conn
    - BUG_ON
    linkageType: ''
    returnType: size_t
    signature: mux_pt_done_ff(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/src/mux_pt.c:650,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_pt.c:657,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/mux_pt.c:659,1
    - Dst: mux_pt_opposite_sd
      Src: /src/haproxy/src/mux_pt.c:661,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_pt.c:663,1
    - Dst: se_nego_ff
      Src: /src/haproxy/src/mux_pt.c:670,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/mux_pt.c:673,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:674,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:678,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_pt.c:679,1
    - Dst: struct connection*::xprt::rcv_pipe
      Src: /src/haproxy/src/mux_pt.c:687,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_pt.c:689,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/mux_pt.c:691,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_pt.c:692,1
    - Dst: put_pipe
      Src: /src/haproxy/src/mux_pt.c:693,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_pt.c:700,1
    - Dst: se_done_ff
      Src: /src/haproxy/src/mux_pt.c:706,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:709,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:712,1
    - Dst: mux_pt_report_term_evt
      Src: /src/haproxy/src/mux_pt.c:717,1
    - Dst: conn_xprt_read0_pending
      Src: /src/haproxy/src/mux_pt.c:718,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:719,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:720,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:721,1
    - Dst: conn_xprt_read0_pending
      Src: /src/haproxy/src/mux_pt.c:723,1
    - Dst: mux_pt_report_term_evt
      Src: /src/haproxy/src/mux_pt.c:724,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:725,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:726,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_pt.c:729,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 3
    argNames:
    - sc
    - count
    - flags
    argTypes:
    - struct stconn*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 731
      start: 648
    functionDepth: 2
    functionLinenumber: 648
    functionLinenumberEnd: 731
    functionName: mux_pt_fastfwd
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - conn_xprt_read0_pending
    - TRACE_ENTER
    - mux_pt_opposite_sd
    - se_fl_clr
    - struct connection*::xprt::rcv_pipe
    - se_done_ff
    - mux_pt_report_term_evt
    - se_nego_ff
    - put_pipe
    - se_fl_set
    - TRACE_DEVEL
    - TRACE_ERROR
    - __sc_conn
    - TRACE_STATE
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: mux_pt_fastfwd(struct stconn *sc, unsigned int count, unsigned int
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/src/mux_pt.c:735,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_pt.c:740,1
    - Dst: struct connection*::xprt::snd_pipe
      Src: /src/haproxy/src/mux_pt.c:743,1
    - Dst: put_pipe
      Src: /src/haproxy/src/mux_pt.c:745,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_pt.c:750,1
    - Dst: mux_pt_report_term_evt
      Src: /src/haproxy/src/mux_pt.c:755,1
    - Dst: conn_xprt_read0_pending
      Src: /src/haproxy/src/mux_pt.c:756,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_pt.c:757,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_pt.c:758,1
    - Dst: put_pipe
      Src: /src/haproxy/src/mux_pt.c:760,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_pt.c:763,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_pt.c:766,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - sc
    - flags
    argTypes:
    - struct stconn*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 768
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 768
    functionName: mux_pt_resume_fastfwd
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - se_fl_set_error
    - conn_xprt_read0_pending
    - TRACE_ENTER
    - mux_pt_report_term_evt
    - struct connection*::xprt::snd_pipe
    - put_pipe
    - se_fl_set
    - TRACE_DEVEL
    - __sc_conn
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: mux_pt_resume_fastfwd(struct stconn *sc, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/src/mux_pt.c:777,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_pt.c:779,1
    - Dst: struct connection*::xprt::subscribe
      Src: /src/haproxy/src/mux_pt.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sc
    - event_type
    - es
    argTypes:
    - struct stconn*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 781
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 781
    functionName: mux_pt_subscribe
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - struct connection*::xprt::subscribe
    - __sc_conn
    linkageType: ''
    returnType: int
    signature: mux_pt_subscribe(struct stconn *sc, int event_type, struct wait_event
      *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/src/mux_pt.c:789,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_pt.c:791,1
    - Dst: struct connection*::xprt::unsubscribe
      Src: /src/haproxy/src/mux_pt.c:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - sc
    - event_type
    - es
    argTypes:
    - struct stconn*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 793
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 793
    functionName: mux_pt_unsubscribe
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - struct connection*::xprt::unsubscribe
    - TRACE_POINT
    - __sc_conn
    linkageType: ''
    returnType: int
    signature: mux_pt_unsubscribe(struct stconn *sc, int event_type, struct wait_event
      *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mux_pt_used_streams
      Src: /src/haproxy/src/mux_pt.c:808,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - conn
    - mux_ctl
    - output
    argTypes:
    - struct connection*
    - enum mux_ctl_type
    - void*
    constantsTouched: []
    func_position:
      end: 816
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 816
    functionName: mux_pt_ctl
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - mux_pt_used_streams
    linkageType: ''
    returnType: int
    signature: mux_pt_ctl(struct connection *conn, enum mux_ctl_type mux_ctl, void
      *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - sc
    - mux_sctl
    - output
    argTypes:
    - struct stconn*
    - enum mux_sctl_type
    - void*
    constantsTouched: []
    func_position:
      end: 834
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 834
    functionName: mux_pt_sctl
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: mux_pt_sctl(struct stconn *sc, enum mux_sctl_type mux_sctl, void *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/mux_pt.c:841,1
    - Dst: strcmp
      Src: /src/haproxy/src/mux_pt.c:844,1
    - Dst: strcmp
      Src: /src/haproxy/src/mux_pt.c:846,1
    - Dst: memprintf
      Src: /src/haproxy/src/mux_pt.c:849,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 853
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 853
    functionName: cfg_parse_pt_zero_copy_fwd
    functionSourceFile: /src/haproxy/src/mux_pt.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_pt_zero_copy_fwd(char **args, int section_type, struct proxy
      *curpx,\n\t\t\t\t      const struct proxy *defpx, const char *file, int line,\n\t\t\t\t
      \     char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:117,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:120,1
    - Dst: quic_cid_dump
      Src: /src/haproxy/src/quic_trace.c:121,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:122,1
    - Dst: quic_cid_dump
      Src: /src/haproxy/src/quic_trace.c:123,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:124,1
    - Dst: quic_cid_dump
      Src: /src/haproxy/src/quic_trace.c:125,1
    - Dst: quic_transport_params_dump
      Src: /src/haproxy/src/quic_trace.c:132,1
    - Dst: ssl_to_quic_enc_level
      Src: /src/haproxy/src/quic_trace.c:140,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:142,1
    - Dst: quic_enc_level_char
      Src: /src/haproxy/src/quic_trace.c:142,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:145,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:153,1
    - Dst: quic_tls_secret_hexdump
      Src: /src/haproxy/src/quic_trace.c:155,1
    - Dst: quic_tls_keys_hexdump
      Src: /src/haproxy/src/quic_trace.c:156,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:157,1
    - Dst: quic_tls_secret_hexdump
      Src: /src/haproxy/src/quic_trace.c:159,1
    - Dst: quic_tls_keys_hexdump
      Src: /src/haproxy/src/quic_trace.c:160,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:169,1
    - Dst: quic_tls_secret_hexdump
      Src: /src/haproxy/src/quic_trace.c:171,1
    - Dst: quic_tls_kp_keys_hexdump
      Src: /src/haproxy/src/quic_trace.c:172,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:175,1
    - Dst: quic_tls_secret_hexdump
      Src: /src/haproxy/src/quic_trace.c:177,1
    - Dst: quic_tls_kp_keys_hexdump
      Src: /src/haproxy/src/quic_trace.c:178,1
    - Dst: ssl_to_quic_enc_level
      Src: /src/haproxy/src/quic_trace.c:187,1
    - Dst: qc_quic_enc_level
      Src: /src/haproxy/src/quic_trace.c:188,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:190,1
    - Dst: quic_enc_level_char
      Src: /src/haproxy/src/quic_trace.c:190,1
    - Dst: quic_tls_has_rx_sec
      Src: /src/haproxy/src/quic_trace.c:191,1
    - Dst: quic_tls_keys_hexdump
      Src: /src/haproxy/src/quic_trace.c:192,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:194,1
    - Dst: ssl_to_quic_enc_level
      Src: /src/haproxy/src/quic_trace.c:202,1
    - Dst: qc_quic_enc_level
      Src: /src/haproxy/src/quic_trace.c:203,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:205,1
    - Dst: quic_enc_level_char
      Src: /src/haproxy/src/quic_trace.c:205,1
    - Dst: quic_tls_has_tx_sec
      Src: /src/haproxy/src/quic_trace.c:206,1
    - Dst: quic_tls_keys_hexdump
      Src: /src/haproxy/src/quic_trace.c:207,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:210,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:221,1
    - Dst: chunk_frm_appendf
      Src: /src/haproxy/src/quic_trace.c:222,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:234,1
    - Dst: quic_enc_level_char_from_qel
      Src: /src/haproxy/src/quic_trace.c:236,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:248,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/quic_trace.c:249,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:250,1
    - Dst: chunk_frm_appendf
      Src: /src/haproxy/src/quic_trace.c:251,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:256,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:257,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:268,1
    - Dst: quic_hdshk_state_str
      Src: /src/haproxy/src/quic_trace.c:268,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:270,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:272,1
    - Dst: quic_ssl_early_data_status_str
      Src: /src/haproxy/src/quic_trace.c:273,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:282,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:284,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:286,1
    - Dst: quic_packet_type_enc_level_char
      Src: /src/haproxy/src/quic_trace.c:287,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:289,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:292,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:295,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:297,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:301,1
    - Dst: SSL_quic_read_level
      Src: /src/haproxy/src/quic_trace.c:303,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:304,1
    - Dst: quic_enc_level_char
      Src: /src/haproxy/src/quic_trace.c:305,1
    - Dst: ssl_to_quic_enc_level
      Src: /src/haproxy/src/quic_trace.c:305,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:315,1
    - Dst: quic_packet_type_enc_level_char
      Src: /src/haproxy/src/quic_trace.c:316,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:319,1
    - Dst: SSL_quic_read_level
      Src: /src/haproxy/src/quic_trace.c:323,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:324,1
    - Dst: quic_enc_level_char
      Src: /src/haproxy/src/quic_trace.c:325,1
    - Dst: ssl_to_quic_enc_level
      Src: /src/haproxy/src/quic_trace.c:325,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:329,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:336,1
    - Dst: quic_frame_type_string
      Src: /src/haproxy/src/quic_trace.c:336,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:345,1
    - Dst: quic_enc_level_char_from_qel
      Src: /src/haproxy/src/quic_trace.c:348,1
    - Dst: quic_hdshk_state_str
      Src: /src/haproxy/src/quic_trace.c:350,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:364,1
    - Dst: chunk_frm_appendf
      Src: /src/haproxy/src/quic_trace.c:365,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:374,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:388,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:390,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:401,1
    - Dst: chunk_frm_appendf
      Src: /src/haproxy/src/quic_trace.c:402,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:405,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:407,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:415,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:417,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:426,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:428,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:430,1
    - Dst: quic_cc_event_trace
      Src: /src/haproxy/src/quic_trace.c:439,1
    - Dst: quic_cc_state_trace
      Src: /src/haproxy/src/quic_trace.c:441,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:449,1
    - Dst: quic_pktns_char
      Src: /src/haproxy/src/quic_trace.c:449,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:451,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/quic_trace.c:452,1
    - Dst: tick_remain
      Src: /src/haproxy/src/quic_trace.c:452,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_trace.c:454,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:457,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/quic_trace.c:458,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:459,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:469,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:472,1
    - Dst: quic_pktns_char
      Src: /src/haproxy/src/quic_trace.c:473,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:477,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:479,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/quic_trace.c:480,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:484,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/quic_trace.c:485,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:487,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/quic_trace.c:487,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:492,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/quic_trace.c:493,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:500,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:508,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:509,1
    - Dst: quic_pktns_char
      Src: /src/haproxy/src/quic_trace.c:511,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:513,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/quic_trace.c:516,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:517,1
    - Dst: chunk_frm_appendf
      Src: /src/haproxy/src/quic_trace.c:518,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:522,1
    - Dst: quic_cid_dump
      Src: /src/haproxy/src/quic_trace.c:523,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:533,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:535,1
    - Dst: quic_enc_level_char
      Src: /src/haproxy/src/quic_trace.c:536,1
    - Dst: ssl_to_quic_enc_level
      Src: /src/haproxy/src/quic_trace.c:536,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:545,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:547,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:549,1
    - Dst: chunk_frm_appendf
      Src: /src/haproxy/src/quic_trace.c:556,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:565,1
    - Dst: quic_hdshk_state_str
      Src: /src/haproxy/src/quic_trace.c:565,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:567,1
    - Dst: quic_enc_level_char
      Src: /src/haproxy/src/quic_trace.c:567,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:569,1
    - Dst: quic_enc_level_char
      Src: /src/haproxy/src/quic_trace.c:569,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_trace.c:574,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:575,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/quic_trace.c:576,1
    - Dst: tick_remain
      Src: /src/haproxy/src/quic_trace.c:576,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_trace.c:577,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:578,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/quic_trace.c:579,1
    - Dst: tick_remain
      Src: /src/haproxy/src/quic_trace.c:579,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_trace.c:580,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:581,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/quic_trace.c:582,1
    - Dst: tick_remain
      Src: /src/haproxy/src/quic_trace.c:582,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/quic_trace.c:592,1
    - Dst: port_to_str
      Src: /src/haproxy/src/quic_trace.c:593,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:594,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:598,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/quic_trace.c:602,1
    - Dst: port_to_str
      Src: /src/haproxy/src/quic_trace.c:603,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:604,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/quic_trace.c:606,1
    - Dst: port_to_str
      Src: /src/haproxy/src/quic_trace.c:607,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:608,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:612,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:623,1
    - Dst: qc_pkt_long
      Src: /src/haproxy/src/quic_trace.c:624,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:626,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:630,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:633,1
    - Dst: quic_cid_dump
      Src: /src/haproxy/src/quic_trace.c:640,1
    CyclomaticComplexity: 125
    EdgeCount: 125
    ICount: 305
    argCount: 9
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - struct ist
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 643
      start: 108
    functionDepth: 3
    functionLinenumber: 108
    functionLinenumberEnd: 643
    functionName: quic_trace
    functionSourceFile: /src/haproxy/src/quic_trace.c
    functionUses: 0
    functionsReached:
    - quic_pktns_char
    - chunk_frm_appendf
    - quic_enc_level_char_from_qel
    - addr_to_str
    - TICKS_TO_MS
    - quic_cid_dump
    - quic_cc_state_trace
    - quic_packet_type_enc_level_char
    - quic_ssl_early_data_status_str
    - LIST_ISEMPTY
    - list_for_each_entry
    - quic_frame_type_string
    - tick_remain
    - chunk_appendf
    - quic_hdshk_state_str
    - quic_enc_level_char
    - ssl_to_quic_enc_level
    - qc_pkt_long
    - qc_quic_enc_level
    - quic_tls_has_rx_sec
    - SSL_quic_read_level
    - quic_tls_kp_keys_hexdump
    - quic_tls_keys_hexdump
    - quic_tls_has_tx_sec
    - quic_transport_params_dump
    - quic_tls_secret_hexdump
    - quic_cc_event_trace
    - tick_isset
    - port_to_str
    linkageType: ''
    returnType: void
    signature: "quic_trace(enum trace_level level, uint64_t mask, const struct trace_source
      *src,\n                       const struct ist where, const struct ist func,\n
      \                      const void *a1, const void *a2, const void *a3, const
      void *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_trace.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - qc
    argTypes:
    - struct buffer*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: quic_dump_qc_info
    functionSourceFile: /src/haproxy/src/quic_trace.c
    functionUses: 1
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: quic_dump_qc_info(struct buffer *msg, const struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fctl
    - limit
    argTypes:
    - struct quic_fctl*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 10
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 10
    functionName: qfctl_init
    functionSourceFile: /src/haproxy/src/quic_fctl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: qfctl_init(struct quic_fctl *fctl, uint64_t limit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_fctl.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fctl
    argTypes:
    - struct quic_fctl*
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: qfctl_rblocked
    functionSourceFile: /src/haproxy/src/quic_fctl.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: qfctl_rblocked(const struct quic_fctl *fctl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fctl
    argTypes:
    - struct quic_fctl*
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: qfctl_sblocked
    functionSourceFile: /src/haproxy/src/quic_fctl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: qfctl_sblocked(const struct quic_fctl *fctl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - fctl
    - val
    - out_unblock_soft
    - out_unblock_real
    argTypes:
    - struct quic_fctl*
    - uint64_t
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: qfctl_set_max
    functionSourceFile: /src/haproxy/src/quic_fctl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "qfctl_set_max(struct quic_fctl *fctl, uint64_t val,\n                  int
      *out_unblock_soft, int *out_unblock_real)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_fctl.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fctl
    - diff
    argTypes:
    - struct quic_fctl*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: qfctl_rinc
    functionSourceFile: /src/haproxy/src/quic_fctl.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: qfctl_rinc(struct quic_fctl *fctl, uint64_t diff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_fctl.c:84,1
    - Dst: qfctl_sblocked
      Src: /src/haproxy/src/quic_fctl.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fctl
    - diff
    argTypes:
    - struct quic_fctl*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: qfctl_sinc
    functionSourceFile: /src/haproxy/src/quic_fctl.c
    functionUses: 0
    functionsReached:
    - qfctl_sblocked
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: qfctl_sinc(struct quic_fctl *fctl, uint64_t diff)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_fctl.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fctl
    argTypes:
    - struct quic_fctl*
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: qfctl_rcap
    functionSourceFile: /src/haproxy/src/quic_fctl.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: uint64_t
    signature: qfctl_rcap(const struct quic_fctl *fctl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ack.c:18,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_ack.c:20,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_ack.c:24,1
    - Dst: eb64_next
      Src: /src/haproxy/src/quic_ack.c:25,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_ack.c:26,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_ack.c:27,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ack.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - qc
    - arngs
    argTypes:
    - struct quic_conn*
    - struct quic_arngs*
    constantsTouched: []
    func_position:
      end: 32
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 32
    functionName: quic_free_arngs
    functionSourceFile: /src/haproxy/src/quic_ack.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - eb64_first
    - pool_free
    - eb64_entry
    - eb64_next
    - eb64_delete
    linkageType: ''
    returnType: void
    signature: quic_free_arngs(struct quic_conn *qc, struct quic_arngs *arngs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - q
    argTypes:
    - struct quic_arng_node*
    - struct quic_arng_node*
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: sack_gap
    functionSourceFile: /src/haproxy/src/quic_ack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "sack_gap(struct quic_arng_node *p,\n                              struct
      quic_arng_node *q)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ack.c:49,1
    - Dst: eb64_last
      Src: /src/haproxy/src/quic_ack.c:51,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_ack.c:55,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/quic_ack.c:56,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/quic_ack.c:57,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/quic_ack.c:57,1
    - Dst: eb64_prev
      Src: /src/haproxy/src/quic_ack.c:59,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_ack.c:60,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/quic_ack.c:61,1
    - Dst: sack_gap
      Src: /src/haproxy/src/quic_ack.c:61,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/quic_ack.c:62,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_ack.c:64,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ack.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - qc
    - arngs
    argTypes:
    - struct quic_conn*
    - struct quic_arngs*
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: quic_arngs_set_enc_sz
    functionSourceFile: /src/haproxy/src/quic_ack.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - quic_int_getsize
    - TRACE_ENTER
    - sack_gap
    - eb64_last
    - eb64_entry
    - eb64_prev
    linkageType: ''
    returnType: void
    signature: quic_arngs_set_enc_sz(struct quic_conn *qc, struct quic_arngs *arngs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ack.c:81,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_ack.c:86,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_ack.c:87,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_ack.c:88,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_ack.c:89,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_ack.c:93,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_ack.c:95,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/quic_ack.c:101,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ack.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - qc
    - arngs
    - ar
    argTypes:
    - struct quic_conn*
    - struct quic_arngs*
    - struct quic_arng*
    constantsTouched: []
    func_position:
      end: 107
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 107
    functionName: quic_insert_new_range
    functionSourceFile: /src/haproxy/src/quic_ack.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - eb64_insert
    - TRACE_ENTER
    - eb64_first
    - pool_free
    - pool_alloc
    - TRACE_ERROR
    - eb64_delete
    - BUG_ON
    linkageType: ''
    returnType: struct quic_arng_node
    signature: "*quic_insert_new_range(struct quic_conn *qc,\n                                             struct
      quic_arngs *arngs,\n                                             struct quic_arng
      *ar)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ack.c:143,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/quic_ack.c:146,1
    - Dst: quic_insert_new_range
      Src: /src/haproxy/src/quic_ack.c:147,1
    - Dst: eb64_lookup_le
      Src: /src/haproxy/src/quic_ack.c:154,1
    - Dst: quic_insert_new_range
      Src: /src/haproxy/src/quic_ack.c:156,1
    - Dst: new_node::new_node
      Src: /src/haproxy/src/quic_ack.c:160,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_ack.c:164,1
    - Dst: le::le
      Src: /src/haproxy/src/quic_ack.c:172,1
    - Dst: quic_insert_new_range
      Src: /src/haproxy/src/quic_ack.c:176,1
    - Dst: new_node::new_node
      Src: /src/haproxy/src/quic_ack.c:180,1
    - Dst: eb64_next
      Src: /src/haproxy/src/quic_ack.c:191,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_ack.c:193,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_ack.c:199,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_ack.c:200,1
    - Dst: quic_arngs_set_enc_sz
      Src: /src/haproxy/src/quic_ack.c:208,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ack.c:209,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - qc
    - arngs
    - ar
    argTypes:
    - struct quic_conn*
    - struct quic_arngs*
    - struct quic_arng*
    constantsTouched: []
    func_position:
      end: 211
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 211
    functionName: quic_update_ack_ranges_list
    functionSourceFile: /src/haproxy/src/quic_ack.c
    functionUses: 0
    functionsReached:
    - new_node::new_node
    - TRACE_LEAVE
    - quic_insert_new_range
    - TRACE_ENTER
    - le::le
    - eb_is_empty
    - pool_free
    - eb64_entry
    - eb64_lookup_le
    - quic_arngs_set_enc_sz
    - eb64_next
    - eb64_delete
    linkageType: ''
    returnType: int
    signature: "quic_update_ack_ranges_list(struct quic_conn *qc,\n                                struct
      quic_arngs *arngs,\n                                struct quic_arng *ar)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_ack.c:223,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_ack.c:225,1
    - Dst: eb64_next
      Src: /src/haproxy/src/quic_ack.c:229,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_ack.c:230,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_ack.c:233,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_ack.c:238,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/quic_ack.c:240,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_ack.c:250,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_ack.c:251,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_ack.c:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - qc
    - arngs
    - largest_acked_pn
    argTypes:
    - struct quic_conn*
    - struct quic_arngs*
    - int64_t
    constantsTouched: []
    func_position:
      end: 257
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 257
    functionName: qc_treat_ack_of_ack
    functionSourceFile: /src/haproxy/src/quic_ack.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - eb64_insert
    - TRACE_ENTER
    - eb64_first
    - pool_free
    - eb64_entry
    - TRACE_DEVEL
    - eb64_next
    - eb64_delete
    linkageType: ''
    returnType: void
    signature: "qc_treat_ack_of_ack(struct quic_conn *qc, struct quic_arngs *arngs,\n
      \                        int64_t largest_acked_pn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_FOR_EACH_ENTRY_UNLOCKED
      Src: /src/haproxy/src/event_hdl.c:83,1
    - Dst: _event_hdl_sub_list_destroy
      Src: /src/haproxy/src/event_hdl.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sh
    argTypes:
    - struct sig_handler*
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: event_hdl_deinit
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - _event_hdl_sub_list_destroy
    - MT_LIST_FOR_EACH_ENTRY_UNLOCKED
    linkageType: ''
    returnType: void
    signature: event_hdl_deinit(struct sig_handler *sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: event_hdl_sub_list_init
      Src: /src/haproxy/src/event_hdl.c:93,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/event_hdl.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: event_hdl_init
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - signal_register_fct
    - event_hdl_sub_list_init
    linkageType: ''
    returnType: void
    signature: event_hdl_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_reset
      Src: /src/haproxy/src/event_hdl.c:111,1
    - Dst: XXH64_update
      Src: /src/haproxy/src/event_hdl.c:112,1
    - Dst: strlen
      Src: /src/haproxy/src/event_hdl.c:112,1
    - Dst: XXH64_update
      Src: /src/haproxy/src/event_hdl.c:113,1
    - Dst: strlen
      Src: /src/haproxy/src/event_hdl.c:113,1
    - Dst: XXH64_digest
      Src: /src/haproxy/src/event_hdl.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - scope
    - name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: event_hdl_id
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - XXH64_reset
    - XXH64_update
    - XXH64_digest
    - strlen
    linkageType: ''
    returnType: uint64_t
    signature: event_hdl_id(const char *scope, const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/src/event_hdl.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - sub_type
    argTypes:
    - struct event_hdl_sub_type
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: event_hdl_sub_type_to_string
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 1
    functionsReached:
    - ha_alert
    linkageType: ''
    returnType: char
    signature: '*event_hdl_sub_type_to_string(struct event_hdl_sub_type sub_type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/event_hdl.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: event_hdl_string_to_sub_type
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct event_hdl_sub_type
    signature: event_hdl_string_to_sub_type(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/event_hdl.c:171,1
    - Dst: memprintf
      Src: /src/haproxy/src/event_hdl.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - subscriptions
    argTypes:
    - struct event_hdl_sub_type
    constantsTouched: []
    func_position:
      end: 180
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 180
    functionName: event_hdl_sub_type_print
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: char
    signature: '*event_hdl_sub_type_print(struct event_hdl_sub_type subscriptions)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: report_func
      Src: /src/haproxy/src/event_hdl.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - report_func
    - hdl
    - what
    - state
    argTypes:
    - event_hdl_report_hdl_state_func
    - struct event_hdl*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: event_hdl_report_hdl_state
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - report_func
    linkageType: ''
    returnType: void
    signature: "event_hdl_report_hdl_state(event_hdl_report_hdl_state_func report_func,\n
      \                                      const struct event_hdl *hdl, const char
      *what, const char *state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_SUB_FETCH
      Src: /src/haproxy/src/event_hdl.c:197,1
    - Dst: struct event_hdl_async_event_data*::mfree
      Src: /src/haproxy/src/event_hdl.c:208,1
    - Dst: pool_free
      Src: /src/haproxy/src/event_hdl.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct event_hdl_async_event_data*
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: _event_hdl_async_data_drop
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - struct event_hdl_async_event_data*::mfree
    - HA_ATOMIC_SUB_FETCH
    - pool_free
    linkageType: ''
    returnType: void
    signature: _event_hdl_async_data_drop(struct event_hdl_async_event_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/event_hdl.c:216,1
    - Dst: event_hdl_sub_type_equal
      Src: /src/haproxy/src/event_hdl.c:216,1
    - Dst: event_hdl_drop
      Src: /src/haproxy/src/event_hdl.c:221,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/event_hdl.c:222,1
    - Dst: _event_hdl_async_data_drop
      Src: /src/haproxy/src/event_hdl.c:225,1
    - Dst: pool_free
      Src: /src/haproxy/src/event_hdl.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - e
    argTypes:
    - struct event_hdl_async_event*
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: event_hdl_async_free_event
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 1
    functionsReached:
    - _event_hdl_async_data_drop
    - unlikely
    - pool_free
    - HA_ATOMIC_DEC
    - event_hdl_sub_type_equal
    - event_hdl_drop
    linkageType: ''
    returnType: void
    signature: event_hdl_async_free_event(struct event_hdl_async_event *e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TASK_IS_TASKLET
      Src: /src/haproxy/src/event_hdl.c:237,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/event_hdl.c:238,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/event_hdl.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - task
    argTypes:
    - struct tasklet*
    constantsTouched: []
    func_position:
      end: 241
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 241
    functionName: event_hdl_task_wakeup
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - task_wakeup
    - TASK_IS_TASKLET
    - tasklet_wakeup
    linkageType: ''
    returnType: void
    signature: event_hdl_task_wakeup(struct tasklet *task)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: event_hdl_async_equeue_pop
      Src: /src/haproxy/src/event_hdl.c:261,1
    - Dst: event_hdl_sub_type_equal
      Src: /src/haproxy/src/event_hdl.c:263,1
    - Dst: event_hdl_async_free_event
      Src: /src/haproxy/src/event_hdl.c:265,1
    - Dst: struct event_hdl_async_task_default_ctx*::func
      Src: /src/haproxy/src/event_hdl.c:281,1
    - Dst: event_hdl_async_free_event
      Src: /src/haproxy/src/event_hdl.c:284,1
    - Dst: pool_free
      Src: /src/haproxy/src/event_hdl.c:289,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/event_hdl.c:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - task
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 294
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 294
    functionName: event_hdl_async_task_default
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - tasklet_free
    - event_hdl_async_equeue_pop
    - pool_free
    - struct event_hdl_async_task_default_ctx*::func
    - event_hdl_sub_type_equal
    - event_hdl_async_free_event
    linkageType: ''
    returnType: struct task
    signature: '*event_hdl_async_task_default(struct task *task, void *ctx, unsigned
      int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cur_sub
    argTypes:
    - struct event_hdl_sub*
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: _event_hdl_getsub
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct event_hdl_sub_type
    signature: _event_hdl_getsub(struct event_hdl_sub *cur_sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_lock_full
      Src: /src/haproxy/src/event_hdl.c:307,1
    - Dst: _event_hdl_getsub
      Src: /src/haproxy/src/event_hdl.c:309,1
    - Dst: mt_list_unlock_full
      Src: /src/haproxy/src/event_hdl.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cur_sub
    argTypes:
    - struct event_hdl_sub*
    constantsTouched: []
    func_position:
      end: 313
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 313
    functionName: _event_hdl_getsub_async
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - mt_list_lock_full
    - mt_list_unlock_full
    - _event_hdl_getsub
    linkageType: ''
    returnType: struct event_hdl_sub_type
    signature: _event_hdl_getsub_async(struct event_hdl_sub *cur_sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: event_hdl_sub_family_equal
      Src: /src/haproxy/src/event_hdl.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cur_sub
    - type
    argTypes:
    - struct event_hdl_sub*
    - struct event_hdl_sub_type
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: _event_hdl_resub
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - event_hdl_sub_family_equal
    linkageType: ''
    returnType: int
    signature: _event_hdl_resub(struct event_hdl_sub *cur_sub, struct event_hdl_sub_type
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_lock_full
      Src: /src/haproxy/src/event_hdl.c:328,1
    - Dst: _event_hdl_resub
      Src: /src/haproxy/src/event_hdl.c:330,1
    - Dst: mt_list_unlock_full
      Src: /src/haproxy/src/event_hdl.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cur_sub
    - type
    argTypes:
    - struct event_hdl_sub*
    - struct event_hdl_sub_type
    constantsTouched: []
    func_position:
      end: 334
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 334
    functionName: _event_hdl_resub_async
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - mt_list_lock_full
    - mt_list_unlock_full
    - _event_hdl_resub
    linkageType: ''
    returnType: int
    signature: _event_hdl_resub_async(struct event_hdl_sub *cur_sub, struct event_hdl_sub_type
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/event_hdl.c:350,1
    - Dst: mt_list_lock_elem
      Src: /src/haproxy/src/event_hdl.c:351,1
    - Dst: mt_list_lock_prev
      Src: /src/haproxy/src/event_hdl.c:352,1
    - Dst: event_hdl_task_wakeup
      Src: /src/haproxy/src/event_hdl.c:355,1
    - Dst: mt_list_unlock_full
      Src: /src/haproxy/src/event_hdl.c:358,1
    - Dst: event_hdl_drop
      Src: /src/haproxy/src/event_hdl.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - del_sub
    argTypes:
    - struct event_hdl_sub*
    constantsTouched: []
    func_position:
      end: 373
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 373
    functionName: _event_hdl_unsubscribe
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - mt_list_lock_prev
    - mt_list_unlock_full
    - HA_ATOMIC_INC
    - mt_list_lock_elem
    - event_hdl_task_wakeup
    - event_hdl_drop
    linkageType: ''
    returnType: void
    signature: _event_hdl_unsubscribe(struct event_hdl_sub *del_sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/event_hdl.c:377,1
    - Dst: _event_hdl_unsubscribe
      Src: /src/haproxy/src/event_hdl.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - del_sub
    argTypes:
    - struct event_hdl_sub*
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: _event_hdl_unsubscribe_async
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - _event_hdl_unsubscribe
    - MT_LIST_DELETE
    linkageType: ''
    returnType: void
    signature: _event_hdl_unsubscribe_async(struct event_hdl_sub *del_sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _event_hdl_getsub
      Src: /src/haproxy/src/event_hdl.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mgmt
    argTypes:
    - struct event_hdl_sub_mgmt*
    constantsTouched: []
    func_position:
      end: 391
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 391
    functionName: event_hdl_getsub_sync
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - _event_hdl_getsub
    linkageType: ''
    returnType: struct event_hdl_sub_type
    signature: event_hdl_getsub_sync(const struct event_hdl_sub_mgmt *mgmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _event_hdl_getsub_async
      Src: /src/haproxy/src/event_hdl.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mgmt
    argTypes:
    - struct event_hdl_sub_mgmt*
    constantsTouched: []
    func_position:
      end: 399
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 399
    functionName: event_hdl_getsub_async
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 1
    functionsReached:
    - _event_hdl_getsub_async
    linkageType: ''
    returnType: struct event_hdl_sub_type
    signature: event_hdl_getsub_async(const struct event_hdl_sub_mgmt *mgmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _event_hdl_resub
      Src: /src/haproxy/src/event_hdl.c:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - mgmt
    - type
    argTypes:
    - struct event_hdl_sub_mgmt*
    - struct event_hdl_sub_type
    constantsTouched: []
    func_position:
      end: 409
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 409
    functionName: event_hdl_resub_sync
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - _event_hdl_resub
    linkageType: ''
    returnType: int
    signature: event_hdl_resub_sync(const struct event_hdl_sub_mgmt *mgmt, struct
      event_hdl_sub_type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _event_hdl_resub_async
      Src: /src/haproxy/src/event_hdl.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mgmt
    - type
    argTypes:
    - struct event_hdl_sub_mgmt*
    - struct event_hdl_sub_type
    constantsTouched: []
    func_position:
      end: 417
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 417
    functionName: event_hdl_resub_async
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 1
    functionsReached:
    - _event_hdl_resub_async
    linkageType: ''
    returnType: int
    signature: event_hdl_resub_async(const struct event_hdl_sub_mgmt *mgmt, struct
      event_hdl_sub_type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mgmt
    argTypes:
    - struct event_hdl_sub_mgmt*
    constantsTouched: []
    func_position:
      end: 432
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 432
    functionName: event_hdl_unsubscribe_sync
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: event_hdl_unsubscribe_sync(const struct event_hdl_sub_mgmt *mgmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _event_hdl_unsubscribe_async
      Src: /src/haproxy/src/event_hdl.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mgmt
    argTypes:
    - struct event_hdl_sub_mgmt*
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: event_hdl_unsubscribe_async
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 1
    functionsReached:
    - _event_hdl_unsubscribe_async
    linkageType: ''
    returnType: void
    signature: event_hdl_unsubscribe_async(const struct event_hdl_sub_mgmt *mgmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/event_hdl.c:464,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/event_hdl.c:469,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/event_hdl.c:482,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/event_hdl.c:491,1
    - Dst: event_hdl_async_equeue_init
      Src: /src/haproxy/src/event_hdl.c:497,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/event_hdl.c:501,1
    - Dst: EVENT_HDL_SUB_MGMT_ASYNC
      Src: /src/haproxy/src/event_hdl.c:517,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/event_hdl.c:520,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/event_hdl.c:529,1
    - Dst: mt_list_lock_full
      Src: /src/haproxy/src/event_hdl.c:531,1
    - Dst: MT_LIST_FOR_EACH_ENTRY_LOCKED
      Src: /src/haproxy/src/event_hdl.c:538,1
    - Dst: mt_list_unlock_full
      Src: /src/haproxy/src/event_hdl.c:547,1
    - Dst: event_hdl_report_hdl_state
      Src: /src/haproxy/src/event_hdl.c:548,1
    - Dst: mt_list_unlock_full
      Src: /src/haproxy/src/event_hdl.c:559,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/event_hdl.c:575,1
    - Dst: MT_LIST_INSERT
      Src: /src/haproxy/src/event_hdl.c:577,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/event_hdl.c:580,1
    - Dst: mt_list_unlock_full
      Src: /src/haproxy/src/event_hdl.c:583,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/event_hdl.c:590,1
    - Dst: pool_free
      Src: /src/haproxy/src/event_hdl.c:591,1
    - Dst: pool_free
      Src: /src/haproxy/src/event_hdl.c:594,1
    - Dst: pool_free
      Src: /src/haproxy/src/event_hdl.c:595,1
    - Dst: event_hdl_report_hdl_state
      Src: /src/haproxy/src/event_hdl.c:601,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 89
    argCount: 3
    argNames:
    - sub_list
    - e_type
    - hdl
    argTypes:
    - event_hdl_sub_list*
    - struct event_hdl_sub_type
    - struct event_hdl
    constantsTouched: []
    func_position:
      end: 603
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 603
    functionName: event_hdl_subscribe_ptr
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 1
    functionsReached:
    - mt_list_lock_full
    - event_hdl_report_hdl_state
    - tasklet_free
    - mt_list_unlock_full
    - MT_LIST_INSERT
    - HA_ATOMIC_INC
    - MT_LIST_FOR_EACH_ENTRY_LOCKED
    - pool_alloc
    - EVENT_HDL_SUB_MGMT_ASYNC
    - pool_free
    - event_hdl_async_equeue_init
    - tasklet_new
    - MT_LIST_APPEND
    - MT_LIST_INIT
    - BUG_ON
    linkageType: ''
    returnType: struct event_hdl_sub
    signature: "*event_hdl_subscribe_ptr(event_hdl_sub_list *sub_list,\n                                              struct
      event_hdl_sub_type e_type, struct event_hdl hdl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/event_hdl.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sub
    argTypes:
    - struct event_hdl_sub*
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: event_hdl_take
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_INC
    linkageType: ''
    returnType: void
    signature: event_hdl_take(struct event_hdl_sub *sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_SUB_FETCH
      Src: /src/haproxy/src/event_hdl.c:612,1
    - Dst: struct event_hdl_sub*::hdl::private_free
      Src: /src/haproxy/src/event_hdl.c:618,1
    - Dst: pool_free
      Src: /src/haproxy/src/event_hdl.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sub
    argTypes:
    - struct event_hdl_sub*
    constantsTouched: []
    func_position:
      end: 621
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 621
    functionName: event_hdl_drop
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 4
    functionsReached:
    - struct event_hdl_sub*::hdl::private_free
    - HA_ATOMIC_SUB_FETCH
    - pool_free
    linkageType: ''
    returnType: void
    signature: event_hdl_drop(struct event_hdl_sub *sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _event_hdl_resub_async
      Src: /src/haproxy/src/event_hdl.c:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cur_sub
    - type
    argTypes:
    - struct event_hdl_sub*
    - struct event_hdl_sub_type
    constantsTouched: []
    func_position:
      end: 626
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 626
    functionName: event_hdl_resubscribe
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - _event_hdl_resub_async
    linkageType: ''
    returnType: int
    signature: event_hdl_resubscribe(struct event_hdl_sub *cur_sub, struct event_hdl_sub_type
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cur_sub
    argTypes:
    - struct event_hdl_sub*
    constantsTouched: []
    func_position:
      end: 631
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 631
    functionName: _event_hdl_pause
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _event_hdl_pause(struct event_hdl_sub *cur_sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_lock_full
      Src: /src/haproxy/src/event_hdl.c:637,1
    - Dst: _event_hdl_pause
      Src: /src/haproxy/src/event_hdl.c:639,1
    - Dst: mt_list_unlock_full
      Src: /src/haproxy/src/event_hdl.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cur_sub
    argTypes:
    - struct event_hdl_sub*
    constantsTouched: []
    func_position:
      end: 642
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 642
    functionName: event_hdl_pause
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 2
    functionsReached:
    - mt_list_lock_full
    - _event_hdl_pause
    - mt_list_unlock_full
    linkageType: ''
    returnType: void
    signature: event_hdl_pause(struct event_hdl_sub *cur_sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cur_sub
    argTypes:
    - struct event_hdl_sub*
    constantsTouched: []
    func_position:
      end: 647
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 647
    functionName: _event_hdl_resume
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _event_hdl_resume(struct event_hdl_sub *cur_sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_lock_full
      Src: /src/haproxy/src/event_hdl.c:653,1
    - Dst: _event_hdl_resume
      Src: /src/haproxy/src/event_hdl.c:655,1
    - Dst: mt_list_unlock_full
      Src: /src/haproxy/src/event_hdl.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cur_sub
    argTypes:
    - struct event_hdl_sub*
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: event_hdl_resume
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 2
    functionsReached:
    - mt_list_lock_full
    - mt_list_unlock_full
    - _event_hdl_resume
    linkageType: ''
    returnType: void
    signature: event_hdl_resume(struct event_hdl_sub *cur_sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _event_hdl_unsubscribe_async
      Src: /src/haproxy/src/event_hdl.c:662,1
    - Dst: event_hdl_drop
      Src: /src/haproxy/src/event_hdl.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - del_sub
    argTypes:
    - struct event_hdl_sub*
    constantsTouched: []
    func_position:
      end: 665
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 665
    functionName: event_hdl_unsubscribe
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 3
    functionsReached:
    - _event_hdl_unsubscribe_async
    - event_hdl_drop
    linkageType: ''
    returnType: void
    signature: event_hdl_unsubscribe(struct event_hdl_sub *del_sub)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: event_hdl_subscribe_ptr
      Src: /src/haproxy/src/event_hdl.c:671,1
    - Dst: event_hdl_drop
      Src: /src/haproxy/src/event_hdl.c:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - sub_list
    - e_type
    - hdl
    argTypes:
    - event_hdl_sub_list*
    - struct event_hdl_sub_type
    - struct event_hdl
    constantsTouched: []
    func_position:
      end: 678
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 678
    functionName: event_hdl_subscribe
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - event_hdl_subscribe_ptr
    - event_hdl_drop
    linkageType: ''
    returnType: int
    signature: event_hdl_subscribe(event_hdl_sub_list *sub_list, struct event_hdl_sub_type
      e_type, struct event_hdl hdl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_FOR_EACH_ENTRY_LOCKED
      Src: /src/haproxy/src/event_hdl.c:692,1
    - Dst: mt_list_unlock_self
      Src: /src/haproxy/src/event_hdl.c:695,1
    - Dst: _event_hdl_unsubscribe
      Src: /src/haproxy/src/event_hdl.c:696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - sub_list
    - lookup_id
    argTypes:
    - event_hdl_sub_list*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 703
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 703
    functionName: event_hdl_lookup_unsubscribe
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - mt_list_unlock_self
    - _event_hdl_unsubscribe
    - MT_LIST_FOR_EACH_ENTRY_LOCKED
    linkageType: ''
    returnType: int
    signature: "event_hdl_lookup_unsubscribe(event_hdl_sub_list *sub_list,\n                                 uint64_t
      lookup_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_FOR_EACH_ENTRY_LOCKED
      Src: /src/haproxy/src/event_hdl.c:715,1
    - Dst: _event_hdl_resub
      Src: /src/haproxy/src/event_hdl.c:718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - sub_list
    - lookup_id
    - type
    argTypes:
    - event_hdl_sub_list*
    - uint64_t
    - struct event_hdl_sub_type
    constantsTouched: []
    func_position:
      end: 723
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 723
    functionName: event_hdl_lookup_resubscribe
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - MT_LIST_FOR_EACH_ENTRY_LOCKED
    - _event_hdl_resub
    linkageType: ''
    returnType: int
    signature: "event_hdl_lookup_resubscribe(event_hdl_sub_list *sub_list,\n                                 uint64_t
      lookup_id, struct event_hdl_sub_type type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_FOR_EACH_ENTRY_LOCKED
      Src: /src/haproxy/src/event_hdl.c:735,1
    - Dst: _event_hdl_pause
      Src: /src/haproxy/src/event_hdl.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sub_list
    - lookup_id
    argTypes:
    - event_hdl_sub_list*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 744
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 744
    functionName: event_hdl_lookup_pause
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - _event_hdl_pause
    - MT_LIST_FOR_EACH_ENTRY_LOCKED
    linkageType: ''
    returnType: int
    signature: "event_hdl_lookup_pause(event_hdl_sub_list *sub_list,\n                           uint64_t
      lookup_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_FOR_EACH_ENTRY_LOCKED
      Src: /src/haproxy/src/event_hdl.c:756,1
    - Dst: _event_hdl_resume
      Src: /src/haproxy/src/event_hdl.c:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sub_list
    - lookup_id
    argTypes:
    - event_hdl_sub_list*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 765
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 765
    functionName: event_hdl_lookup_resume
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - _event_hdl_resume
    - MT_LIST_FOR_EACH_ENTRY_LOCKED
    linkageType: ''
    returnType: int
    signature: "event_hdl_lookup_resume(event_hdl_sub_list *sub_list,\n                            uint64_t
      lookup_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_FOR_EACH_ENTRY_LOCKED
      Src: /src/haproxy/src/event_hdl.c:777,1
    - Dst: event_hdl_take
      Src: /src/haproxy/src/event_hdl.c:780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - sub_list
    - lookup_id
    argTypes:
    - event_hdl_sub_list*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 788
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 788
    functionName: event_hdl_lookup_take
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - event_hdl_take
    - MT_LIST_FOR_EACH_ENTRY_LOCKED
    linkageType: ''
    returnType: struct event_hdl_sub
    signature: "*event_hdl_lookup_take(event_hdl_sub_list *sub_list,\n                                            uint64_t
      lookup_id)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_FOR_EACH_ENTRY_LOCKED
      Src: /src/haproxy/src/event_hdl.c:800,1
    - Dst: EVENT_HDL_SUB_MGMT_SYNC
      Src: /src/haproxy/src/event_hdl.c:815,1
    - Dst: struct event_hdl_sub*::hdl::sync_ptr
      Src: /src/haproxy/src/event_hdl.c:825,1
    - Dst: mt_list_unlock_self
      Src: /src/haproxy/src/event_hdl.c:832,1
    - Dst: _event_hdl_unsubscribe
      Src: /src/haproxy/src/event_hdl.c:833,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/event_hdl.c:851,1
    - Dst: EVENT_HDL_SUB_MGMT_ASYNC
      Src: /src/haproxy/src/event_hdl.c:859,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/event_hdl.c:865,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/event_hdl.c:868,1
    - Dst: pool_free
      Src: /src/haproxy/src/event_hdl.c:871,1
    - Dst: memcpy
      Src: /src/haproxy/src/event_hdl.c:876,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/event_hdl.c:892,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/event_hdl.c:899,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/event_hdl.c:900,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/event_hdl.c:901,1
    - Dst: event_hdl_task_wakeup
      Src: /src/haproxy/src/event_hdl.c:904,1
    - Dst: _event_hdl_async_data_drop
      Src: /src/haproxy/src/event_hdl.c:910,1
    - Dst: struct event_hdl_cb_data*::_mfree
      Src: /src/haproxy/src/event_hdl.c:916,1
    - Dst: event_hdl_report_hdl_state
      Src: /src/haproxy/src/event_hdl.c:919,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 3
    argNames:
    - sub_list
    - e_type
    - data
    argTypes:
    - event_hdl_sub_list*
    - struct event_hdl_sub_type
    - struct event_hdl_cb_data*
    constantsTouched: []
    func_position:
      end: 923
      start: 792
    functionDepth: 2
    functionLinenumber: 792
    functionLinenumberEnd: 923
    functionName: _event_hdl_publish
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - mt_list_unlock_self
    - struct event_hdl_cb_data*::_mfree
    - event_hdl_report_hdl_state
    - BUG_ON
    - _event_hdl_async_data_drop
    - HA_ATOMIC_INC
    - MT_LIST_FOR_EACH_ENTRY_LOCKED
    - pool_alloc
    - EVENT_HDL_SUB_MGMT_ASYNC
    - pool_free
    - event_hdl_task_wakeup
    - struct event_hdl_sub*::hdl::sync_ptr
    - MT_LIST_APPEND
    - memcpy
    - MT_LIST_INIT
    - _event_hdl_unsubscribe
    - EVENT_HDL_SUB_MGMT_SYNC
    linkageType: ''
    returnType: int
    signature: "_event_hdl_publish(event_hdl_sub_list *sub_list, struct event_hdl_sub_type
      e_type,\n                              const struct event_hdl_cb_data *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _event_hdl_publish
      Src: /src/haproxy/src/event_hdl.c:946,1
    - Dst: _event_hdl_publish
      Src: /src/haproxy/src/event_hdl.c:949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - sub_list
    - e_type
    - data
    argTypes:
    - event_hdl_sub_list*
    - struct event_hdl_sub_type
    - struct event_hdl_cb_data*
    constantsTouched: []
    func_position:
      end: 951
      start: 936
    functionDepth: 3
    functionLinenumber: 936
    functionLinenumberEnd: 951
    functionName: event_hdl_publish
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 6
    functionsReached:
    - _event_hdl_publish
    linkageType: ''
    returnType: int
    signature: "event_hdl_publish(event_hdl_sub_list *sub_list,\n                      struct
      event_hdl_sub_type e_type, const struct event_hdl_cb_data *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/event_hdl.c:955,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/event_hdl.c:956,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/event_hdl.c:957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sub_list
    argTypes:
    - event_hdl_sub_list*
    constantsTouched: []
    func_position:
      end: 958
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 958
    functionName: event_hdl_sub_list_init
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 2
    functionsReached:
    - MT_LIST_INIT
    - BUG_ON
    - MT_LIST_APPEND
    linkageType: ''
    returnType: void
    signature: event_hdl_sub_list_init(event_hdl_sub_list *sub_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_FOR_EACH_ENTRY_UNLOCKED
      Src: /src/haproxy/src/event_hdl.c:966,1
    - Dst: _event_hdl_unsubscribe
      Src: /src/haproxy/src/event_hdl.c:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sub_list
    argTypes:
    - event_hdl_sub_list*
    constantsTouched: []
    func_position:
      end: 971
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 971
    functionName: _event_hdl_sub_list_destroy
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 1
    functionsReached:
    - _event_hdl_unsubscribe
    - MT_LIST_FOR_EACH_ENTRY_UNLOCKED
    linkageType: ''
    returnType: void
    signature: _event_hdl_sub_list_destroy(event_hdl_sub_list *sub_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/event_hdl.c:979,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/event_hdl.c:980,1
    - Dst: _event_hdl_sub_list_destroy
      Src: /src/haproxy/src/event_hdl.c:982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sub_list
    argTypes:
    - event_hdl_sub_list*
    constantsTouched: []
    func_position:
      end: 983
      start: 977
    functionDepth: 3
    functionLinenumber: 977
    functionLinenumberEnd: 983
    functionName: event_hdl_sub_list_destroy
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 3
    functionsReached:
    - _event_hdl_sub_list_destroy
    - BUG_ON
    - MT_LIST_DELETE
    linkageType: ''
    returnType: void
    signature: event_hdl_sub_list_destroy(event_hdl_sub_list *sub_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/event_hdl.c:992,1
    - Dst: atoi
      Src: /src/haproxy/src/event_hdl.c:996,1
    - Dst: memprintf
      Src: /src/haproxy/src/event_hdl.c:999,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1005
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 1005
    functionName: event_hdl_parse_max_events_at_once
    functionSourceFile: /src/haproxy/src/event_hdl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "event_hdl_parse_max_events_at_once(char **args, int section_type,
      struct proxy *curpx,\n                                              const struct
      proxy *defpx, const char *file, int line,\n                                              char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/tcp_sample.c:49,1
    - Dst: sc_conn
      Src: /src/haproxy/src/tcp_sample.c:50,1
    - Dst: __objt_check
      Src: /src/haproxy/src/tcp_sample.c:50,1
    - Dst: sc_conn
      Src: /src/haproxy/src/tcp_sample.c:51,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/tcp_sample.c:52,1
    - Dst: conn_src
      Src: /src/haproxy/src/tcp_sample.c:53,1
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_sample.c:56,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/tcp_sample.c:58,1
    - Dst: conn_src
      Src: /src/haproxy/src/tcp_sample.c:59,1
    - Dst: sc_src
      Src: /src/haproxy/src/tcp_sample.c:62,1
    - Dst: sess_src
      Src: /src/haproxy/src/tcp_sample.c:62,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 82
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 82
    functionName: smp_fetch_src
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - sess_src
    - conn_src
    - __objt_check
    - conn_get_src
    - objt_conn
    - obj_type
    - sc_src
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_src(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/tcp_sample.c:93,1
    - Dst: sc_conn
      Src: /src/haproxy/src/tcp_sample.c:94,1
    - Dst: __objt_check
      Src: /src/haproxy/src/tcp_sample.c:94,1
    - Dst: sc_conn
      Src: /src/haproxy/src/tcp_sample.c:95,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/tcp_sample.c:96,1
    - Dst: conn_src
      Src: /src/haproxy/src/tcp_sample.c:97,1
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_sample.c:100,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/tcp_sample.c:102,1
    - Dst: conn_src
      Src: /src/haproxy/src/tcp_sample.c:103,1
    - Dst: sc_src
      Src: /src/haproxy/src/tcp_sample.c:106,1
    - Dst: sess_src
      Src: /src/haproxy/src/tcp_sample.c:106,1
    - Dst: get_host_port
      Src: /src/haproxy/src/tcp_sample.c:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 117
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 117
    functionName: smp_fetch_sport
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - sess_src
    - conn_src
    - __objt_check
    - conn_get_src
    - objt_conn
    - obj_type
    - sc_src
    - get_host_port
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_sport(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: smp_fetch_reused
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_reused(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/tcp_sample.c:139,1
    - Dst: sc_conn
      Src: /src/haproxy/src/tcp_sample.c:140,1
    - Dst: __objt_check
      Src: /src/haproxy/src/tcp_sample.c:140,1
    - Dst: sc_conn
      Src: /src/haproxy/src/tcp_sample.c:141,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/tcp_sample.c:142,1
    - Dst: conn_dst
      Src: /src/haproxy/src/tcp_sample.c:143,1
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_sample.c:146,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/tcp_sample.c:148,1
    - Dst: conn_dst
      Src: /src/haproxy/src/tcp_sample.c:149,1
    - Dst: sc_dst
      Src: /src/haproxy/src/tcp_sample.c:152,1
    - Dst: sess_dst
      Src: /src/haproxy/src/tcp_sample.c:152,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 172
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 172
    functionName: smp_fetch_dst
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - sess_dst
    - sc_dst
    - __objt_check
    - objt_conn
    - obj_type
    - conn_get_dst
    - conn_dst
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_dst(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_sample.c:183,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/tcp_sample.c:185,1
    - Dst: conn_dst
      Src: /src/haproxy/src/tcp_sample.c:186,1
    - Dst: sc_dst
      Src: /src/haproxy/src/tcp_sample.c:189,1
    - Dst: sess_dst
      Src: /src/haproxy/src/tcp_sample.c:189,1
    - Dst: addr_is_local
      Src: /src/haproxy/src/tcp_sample.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 198
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 198
    functionName: smp_fetch_dst_is_local
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - sess_dst
    - sc_dst
    - objt_conn
    - addr_is_local
    - conn_get_dst
    - conn_dst
    linkageType: ''
    returnType: int
    signature: smp_fetch_dst_is_local(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_sample.c:209,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/tcp_sample.c:211,1
    - Dst: conn_src
      Src: /src/haproxy/src/tcp_sample.c:212,1
    - Dst: sc_src
      Src: /src/haproxy/src/tcp_sample.c:215,1
    - Dst: sess_src
      Src: /src/haproxy/src/tcp_sample.c:215,1
    - Dst: addr_is_local
      Src: /src/haproxy/src/tcp_sample.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 224
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 224
    functionName: smp_fetch_src_is_local
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - sess_src
    - conn_src
    - objt_conn
    - conn_get_src
    - addr_is_local
    - sc_src
    linkageType: ''
    returnType: int
    signature: smp_fetch_src_is_local(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/tcp_sample.c:235,1
    - Dst: sc_conn
      Src: /src/haproxy/src/tcp_sample.c:236,1
    - Dst: __objt_check
      Src: /src/haproxy/src/tcp_sample.c:236,1
    - Dst: sc_conn
      Src: /src/haproxy/src/tcp_sample.c:237,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/tcp_sample.c:238,1
    - Dst: conn_dst
      Src: /src/haproxy/src/tcp_sample.c:239,1
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_sample.c:242,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/tcp_sample.c:244,1
    - Dst: conn_dst
      Src: /src/haproxy/src/tcp_sample.c:245,1
    - Dst: sc_dst
      Src: /src/haproxy/src/tcp_sample.c:248,1
    - Dst: sess_dst
      Src: /src/haproxy/src/tcp_sample.c:248,1
    - Dst: get_host_port
      Src: /src/haproxy/src/tcp_sample.c:254,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 259
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 259
    functionName: smp_fetch_dport
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - sess_dst
    - sc_dst
    - __objt_check
    - objt_conn
    - obj_type
    - get_host_port
    - conn_get_dst
    - conn_dst
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_dport(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_sample.c:272,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/tcp_sample.c:273,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_sample.c:277,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/tcp_sample.c:278,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_sample.c:283,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_sample.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - args
    - err
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 294
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 294
    functionName: val_fc_time_value
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - chunk_destroy
    linkageType: ''
    returnType: int
    signature: val_fc_time_value(struct arg *args, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/tcp_sample.c:306,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/tcp_sample.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - args
    - err
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: var_fc_counter
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - chunk_destroy
    linkageType: ''
    returnType: int
    signature: var_fc_counter(struct arg *args, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/tcp_sample.c:335,1
    - Dst: sc_conn
      Src: /src/haproxy/src/tcp_sample.c:335,1
    - Dst: struct connection*::ctrl::get_info
      Src: /src/haproxy/src/tcp_sample.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - dir
    - val
    argTypes:
    - struct arg*
    - struct sample*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 342
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 342
    functionName: get_tcp_info
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - struct connection*::ctrl::get_info
    - sc_conn
    linkageType: ''
    returnType: int
    signature: "get_tcp_info(const struct arg *args, struct sample *smp,\n                               int
      dir, int val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tcp_info
      Src: /src/haproxy/src/tcp_sample.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 356
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 356
    functionName: smp_fetch_fc_rtt
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - get_tcp_info
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_rtt(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tcp_info
      Src: /src/haproxy/src/tcp_sample.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 370
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 370
    functionName: smp_fetch_fc_rttvar
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - get_tcp_info
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_rttvar(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tcp_info
      Src: /src/haproxy/src/tcp_sample.c:376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 384
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 384
    functionName: smp_fetch_bc_rtt
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - get_tcp_info
    linkageType: ''
    returnType: int
    signature: smp_fetch_bc_rtt(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tcp_info
      Src: /src/haproxy/src/tcp_sample.c:390,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 398
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 398
    functionName: smp_fetch_bc_rttvar
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - get_tcp_info
    linkageType: ''
    returnType: int
    signature: smp_fetch_bc_rttvar(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tcp_info
      Src: /src/haproxy/src/tcp_sample.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 409
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 409
    functionName: smp_fetch_fc_unacked
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - get_tcp_info
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_unacked(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tcp_info
      Src: /src/haproxy/src/tcp_sample.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: smp_fetch_fc_sacked
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - get_tcp_info
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_sacked(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tcp_info
      Src: /src/haproxy/src/tcp_sample.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: smp_fetch_fc_lost
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - get_tcp_info
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_lost(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tcp_info
      Src: /src/haproxy/src/tcp_sample.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: smp_fetch_fc_retrans
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - get_tcp_info
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_retrans(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tcp_info
      Src: /src/haproxy/src/tcp_sample.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 453
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 453
    functionName: smp_fetch_fc_fackets
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - get_tcp_info
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_fackets(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_tcp_info
      Src: /src/haproxy/src/tcp_sample.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 464
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 464
    functionName: smp_fetch_fc_reordering
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - get_tcp_info
    linkageType: ''
    returnType: int
    signature: smp_fetch_fc_reordering(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_sample.c:478,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_sample.c:481,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_sample.c:484,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_sample.c:488,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/tcp_sample.c:493,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_sample.c:498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - args
    - err
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 503
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 503
    functionName: smp_check_accept_date_unit
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - chunk_destroy
    linkageType: ''
    returnType: int
    signature: smp_check_accept_date_unit(struct arg *args, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tv_ms_add
      Src: /src/haproxy/src/tcp_sample.c:517,1
    - Dst: tv_ms_add
      Src: /src/haproxy/src/tcp_sample.c:525,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 549
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 549
    functionName: smp_fetch_accept_date
    functionSourceFile: /src/haproxy/src/tcp_sample.c
    functionUses: 0
    functionsReached:
    - tv_ms_add
    linkageType: ''
    returnType: int
    signature: smp_fetch_accept_date(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/haproxy/src/cfgparse-unix.c:45,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-unix.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: bind_parse_mode
    functionSourceFile: /src/haproxy/src/cfgparse-unix.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strtol
    linkageType: ''
    returnType: int
    signature: bind_parse_mode(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-unix.c:59,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-unix.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: bind_parse_gid
    functionSourceFile: /src/haproxy/src/cfgparse-unix.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    linkageType: ''
    returnType: int
    signature: bind_parse_gid(char **args, int cur_arg, struct proxy *px, struct bind_conf
      *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-unix.c:73,1
    - Dst: getgrnam
      Src: /src/haproxy/src/cfgparse-unix.c:77,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-unix.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: bind_parse_group
    functionSourceFile: /src/haproxy/src/cfgparse-unix.c
    functionUses: 0
    functionsReached:
    - memprintf
    - getgrnam
    linkageType: ''
    returnType: int
    signature: bind_parse_group(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-unix.c:91,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-unix.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: bind_parse_uid
    functionSourceFile: /src/haproxy/src/cfgparse-unix.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    linkageType: ''
    returnType: int
    signature: bind_parse_uid(char **args, int cur_arg, struct proxy *px, struct bind_conf
      *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-unix.c:105,1
    - Dst: getpwnam
      Src: /src/haproxy/src/cfgparse-unix.c:109,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-unix.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: bind_parse_user
    functionSourceFile: /src/haproxy/src/cfgparse-unix.c
    functionUses: 0
    functionsReached:
    - memprintf
    - getpwnam
    linkageType: ''
    returnType: int
    signature: bind_parse_user(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_cubic.c:93,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_cubic.c:95,1
    - Dst: quic_cc_hystart_reset
      Src: /src/haproxy/src/quic_cc_cubic.c:107,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cc_cubic.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: quic_cc_cubic_reset
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - quic_cc_hystart_reset
    - TRACE_LEAVE
    - quic_cc_priv
    linkageType: ''
    returnType: void
    signature: quic_cc_cubic_reset(struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_cubic.c:113,1
    - Dst: quic_cc_cubic_reset
      Src: /src/haproxy/src/quic_cc_cubic.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: quic_cc_cubic_init
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - quic_cc_cubic_reset
    - quic_cc_priv
    linkageType: ''
    returnType: int
    signature: quic_cc_cubic_init(struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_flsl
      Src: /src/haproxy/src/quic_cc_cubic.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 153
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 153
    functionName: cubic_root
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - my_flsl
    linkageType: ''
    returnType: uint32_t
    signature: cubic_root(uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_cubic.c:228,1
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_cubic.c:229,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_cubic.c:244,1
    - Dst: cubic_root
      Src: /src/haproxy/src/quic_cc_cubic.c:269,1
    - Dst: quic_cc_cubic_reset
      Src: /src/haproxy/src/quic_cc_cubic.c:292,1
    - Dst: quic_cwnd_may_increase
      Src: /src/haproxy/src/quic_cc_cubic.c:386,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/src/quic_cc_cubic.c:388,1
    - Dst: QUIC_MAX
      Src: /src/haproxy/src/quic_cc_cubic.c:389,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cc_cubic.c:392,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 2
    argNames:
    - cc
    - acked
    argTypes:
    - struct quic_cc*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 393
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 393
    functionName: quic_cubic_update
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - quic_cc_cubic_reset
    - TRACE_LEAVE
    - container_of
    - quic_cc_priv
    - TRACE_ENTER
    - QUIC_MIN
    - QUIC_MAX
    - quic_cwnd_may_increase
    - cubic_root
    linkageType: ''
    returnType: void
    signature: quic_cubic_update(struct quic_cc *cc, uint32_t acked)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_cubic.c:397,1
    - Dst: quic_cc_cubic_reset
      Src: /src/haproxy/src/quic_cc_cubic.c:398,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cc_cubic.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: quic_cc_cubic_slow_start
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - quic_cc_cubic_reset
    linkageType: ''
    returnType: void
    signature: quic_cc_cubic_slow_start(struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_cubic.c:404,1
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_cubic.c:405,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_cubic.c:408,1
    - Dst: QUIC_MAX
      Src: /src/haproxy/src/quic_cc_cubic.c:437,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cc_cubic.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 440
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 440
    functionName: quic_enter_recovery
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - container_of
    - quic_cc_priv
    - TRACE_ENTER
    - QUIC_MAX
    linkageType: ''
    returnType: void
    signature: quic_enter_recovery(struct quic_cc *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_cubic.c:445,1
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_cubic.c:446,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_cubic.c:448,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_cubic.c:449,1
    - Dst: quic_cwnd_may_increase
      Src: /src/haproxy/src/quic_cc_cubic.c:459,1
    - Dst: QUIC_MAX
      Src: /src/haproxy/src/quic_cc_cubic.c:461,1
    - Dst: quic_cc_hystart_track_min_rtt
      Src: /src/haproxy/src/quic_cc_cubic.c:463,1
    - Dst: quic_cc_hystart_may_enter_cs
      Src: /src/haproxy/src/quic_cc_cubic.c:466,1
    - Dst: quic_cwnd_may_increase
      Src: /src/haproxy/src/quic_cc_cubic.c:473,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/src/quic_cc_cubic.c:475,1
    - Dst: QUIC_MAX
      Src: /src/haproxy/src/quic_cc_cubic.c:481,1
    - Dst: quic_enter_recovery
      Src: /src/haproxy/src/quic_cc_cubic.c:485,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_cubic.c:494,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cc_cubic.c:495,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - cc
    - ev
    argTypes:
    - struct quic_cc*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 496
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 496
    functionName: quic_cc_cubic_ss_cb
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - container_of
    - quic_cc_priv
    - TRACE_ENTER
    - TRACE_PROTO
    - quic_cc_hystart_may_enter_cs
    - quic_cc_hystart_track_min_rtt
    - QUIC_MIN
    - QUIC_MAX
    - quic_cwnd_may_increase
    - quic_enter_recovery
    linkageType: ''
    returnType: void
    signature: quic_cc_cubic_ss_cb(struct quic_cc *cc, struct quic_cc_event *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_cubic.c:501,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_cubic.c:503,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_cubic.c:504,1
    - Dst: quic_cubic_update
      Src: /src/haproxy/src/quic_cc_cubic.c:508,1
    - Dst: quic_enter_recovery
      Src: /src/haproxy/src/quic_cc_cubic.c:523,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_cubic.c:531,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cc_cubic.c:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - cc
    - ev
    argTypes:
    - struct quic_cc*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 533
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 533
    functionName: quic_cc_cubic_ca_cb
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - quic_cc_priv
    - TRACE_ENTER
    - TRACE_PROTO
    - quic_enter_recovery
    - quic_cubic_update
    linkageType: ''
    returnType: void
    signature: quic_cc_cubic_ca_cb(struct quic_cc *cc, struct quic_cc_event *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_cubic.c:538,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_cubic.c:540,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_cubic.c:541,1
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_cubic.c:546,1
    - Dst: quic_cwnd_may_increase
      Src: /src/haproxy/src/quic_cc_cubic.c:554,1
    - Dst: QUIC_MAX
      Src: /src/haproxy/src/quic_cc_cubic.c:556,1
    - Dst: quic_cc_hystart_track_min_rtt
      Src: /src/haproxy/src/quic_cc_cubic.c:558,1
    - Dst: quic_cc_hystart_may_reenter_ss
      Src: /src/haproxy/src/quic_cc_cubic.c:559,1
    - Dst: quic_enter_recovery
      Src: /src/haproxy/src/quic_cc_cubic.c:588,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_cubic.c:596,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cc_cubic.c:597,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - cc
    - ev
    argTypes:
    - struct quic_cc*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 598
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 598
    functionName: quic_cc_cubic_cs_cb
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - container_of
    - quic_cc_priv
    - TRACE_ENTER
    - TRACE_PROTO
    - quic_cc_hystart_track_min_rtt
    - QUIC_MAX
    - quic_cwnd_may_increase
    - quic_cc_hystart_may_reenter_ss
    - quic_enter_recovery
    linkageType: ''
    returnType: void
    signature: quic_cc_cubic_cs_cb(struct quic_cc *cc, struct quic_cc_event *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_cubic.c:603,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_cc_cubic.c:605,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_cubic.c:606,1
    - Dst: tick_is_le
      Src: /src/haproxy/src/quic_cc_cubic.c:614,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_cubic.c:615,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_cc_cubic.c:630,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_cc_cubic.c:631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - cc
    - ev
    argTypes:
    - struct quic_cc*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 632
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 632
    functionName: quic_cc_cubic_rp_cb
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - quic_cc_priv
    - TRACE_ENTER
    - tick_is_le
    - TRACE_PROTO
    linkageType: ''
    returnType: void
    signature: quic_cc_cubic_rp_cb(struct quic_cc *cc, struct quic_cc_event *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_cubic.c:644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cc
    - ev
    argTypes:
    - struct quic_cc*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 647
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 647
    functionName: quic_cc_cubic_event
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - quic_cc_priv
    linkageType: ''
    returnType: void
    signature: quic_cc_cubic_event(struct quic_cc *cc, struct quic_cc_event *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_cubic.c:651,1
    - Dst: quic_cc_hystart_start_round
      Src: /src/haproxy/src/quic_cc_cubic.c:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cc
    - pn
    argTypes:
    - struct quic_cc*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: quic_cc_cubic_hystart_start_round
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - quic_cc_hystart_start_round
    - quic_cc_priv
    linkageType: ''
    returnType: void
    signature: quic_cc_cubic_hystart_start_round(struct quic_cc *cc, uint64_t pn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_cubic.c:663,1
    - Dst: container_of
      Src: /src/haproxy/src/quic_cc_cubic.c:665,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cc_cubic.c:666,1
    - Dst: quic_cc_state_str
      Src: /src/haproxy/src/quic_cc_cubic.c:667,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_cc_cubic.c:671,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/quic_cc_cubic.c:672,1
    - Dst: tick_remain
      Src: /src/haproxy/src/quic_cc_cubic.c:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - cc
    argTypes:
    - struct buffer*
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 673
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 673
    functionName: quic_cc_cubic_state_trace
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - container_of
    - quic_cc_priv
    - quic_cc_state_str
    - tick_remain
    - TICKS_TO_MS
    - chunk_appendf
    - tick_isset
    linkageType: ''
    returnType: void
    signature: quic_cc_cubic_state_trace(struct buffer *buf, const struct quic_cc
      *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_priv
      Src: /src/haproxy/src/quic_cc_cubic.c:677,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cc_cubic.c:679,1
    - Dst: quic_cc_state_str
      Src: /src/haproxy/src/quic_cc_cubic.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - path
    argTypes:
    - struct buffer*
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 682
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 682
    functionName: quic_cc_cubic_state_cli
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - quic_cc_state_str
    - quic_cc_priv
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: quic_cc_cubic_state_cli(struct buffer *buf, const struct quic_cc_path
      *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/quic_cc_cubic.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 701
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 701
    functionName: quic_cc_cubic_check
    functionSourceFile: /src/haproxy/src/quic_cc_cubic.c
    functionUses: 0
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: quic_cc_cubic_check(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - 'off'
    argTypes:
    - struct ncbuf*
    - ncb_sz_t
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: ncb_peek
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*ncb_peek(const struct ncbuf *buf, ncb_sz_t off)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: ncb_reserved
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_peek
    linkageType: ''
    returnType: char
    signature: '*ncb_reserved(const struct ncbuf *buf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:73,1
    - Dst: ncb_wrap
      Src: /src/haproxy/src/ncbuf.c:78,1
    - Dst: ncb_orig
      Src: /src/haproxy/src/ncbuf.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - st
    - 'off'
    argTypes:
    - struct ncbuf*
    - char*
    - ncb_sz_t
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: ncb_write_off
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_orig
    - ncb_wrap
    - BUG_ON_HOT
    linkageType: ''
    returnType: forceinline
    signature: ncb_write_off(const struct ncbuf *buf, char *st, ncb_sz_t off)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:89,1
    - Dst: ncb_wrap
      Src: /src/haproxy/src/ncbuf.c:94,1
    - Dst: ncb_orig
      Src: /src/haproxy/src/ncbuf.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - st
    argTypes:
    - struct ncbuf*
    - char*
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: ncb_read_off
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_orig
    - ncb_wrap
    - BUG_ON_HOT
    linkageType: ''
    returnType: forceinline
    signature: ncb_read_off(const struct ncbuf *buf, char *st)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_read_off
      Src: /src/haproxy/src/ncbuf.c:104,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - st
    - 'off'
    argTypes:
    - struct ncbuf*
    - char*
    - ncb_sz_t
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: ncb_inc_off
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_read_off
    - ncb_write_off
    linkageType: ''
    returnType: forceinline
    signature: ncb_inc_off(const struct ncbuf *buf, char *st, ncb_sz_t off)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - 'off'
    argTypes:
    - struct ncbuf*
    - ncb_sz_t
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: ncb_off_reduced
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_size
    linkageType: ''
    returnType: forceinline
    signature: ncb_off_reduced(const struct ncbuf *b, ncb_sz_t off)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - blk
    argTypes:
    - struct ncb_blk*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: ncb_blk_is_null
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: ncb_blk_is_null(const struct ncb_blk *blk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:123,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:123,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - blk
    argTypes:
    - struct ncbuf*
    - struct ncb_blk*
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: ncb_blk_is_last
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - BUG_ON_HOT
    - ncb_size
    linkageType: ''
    returnType: forceinline
    signature: ncb_blk_is_last(const struct ncbuf *buf, const struct ncb_blk *blk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_is_null
      Src: /src/haproxy/src/ncbuf.c:132,1
    - Dst: ncb_head
      Src: /src/haproxy/src/ncbuf.c:135,1
    - Dst: ncb_reserved
      Src: /src/haproxy/src/ncbuf.c:137,1
    - Dst: ncb_read_off
      Src: /src/haproxy/src/ncbuf.c:138,1
    - Dst: ncb_reserved
      Src: /src/haproxy/src/ncbuf.c:138,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:140,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:140,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: ncb_blk_first
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_reserved
    - ncb_is_null
    - ncb_head
    - BUG_ON_HOT
    - ncb_read_off
    - ncb_peek
    - ncb_size
    linkageType: ''
    returnType: struct ncb_blk
    signature: ncb_blk_first(const struct ncbuf *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:155,1
    - Dst: ncb_blk_is_null
      Src: /src/haproxy/src/ncbuf.c:155,1
    - Dst: ncb_blk_is_last
      Src: /src/haproxy/src/ncbuf.c:157,1
    - Dst: ncb_off_reduced
      Src: /src/haproxy/src/ncbuf.c:165,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:168,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:172,1
    - Dst: ncb_blk_is_last
      Src: /src/haproxy/src/ncbuf.c:172,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:175,1
    - Dst: ncb_read_off
      Src: /src/haproxy/src/ncbuf.c:176,1
    - Dst: ncb_read_off
      Src: /src/haproxy/src/ncbuf.c:177,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:177,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:178,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:182,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:189,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:192,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:192,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - buf
    - prev
    argTypes:
    - struct ncbuf*
    - struct ncb_blk*
    constantsTouched: []
    func_position:
      end: 196
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 196
    functionName: ncb_blk_next
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_read_off
    - ncb_blk_is_last
    - ncb_off_reduced
    - BUG_ON_HOT
    - ncb_blk_is_null
    - ncb_peek
    - ncb_size
    linkageType: ''
    returnType: struct ncb_blk
    signature: "ncb_blk_next(const struct ncbuf *buf,\n                                   const
      struct ncb_blk *prev)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_is_null
      Src: /src/haproxy/src/ncbuf.c:206,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:209,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:209,1
    - Dst: ncb_blk_first
      Src: /src/haproxy/src/ncbuf.c:211,1
    - Dst: ncb_blk_next
      Src: /src/haproxy/src/ncbuf.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - 'off'
    argTypes:
    - struct ncbuf*
    - ncb_sz_t
    constantsTouched: []
    func_position:
      end: 216
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 216
    functionName: ncb_blk_find
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_blk_first
    - ncb_is_null
    - ncb_blk_next
    - BUG_ON_HOT
    - ncb_size
    linkageType: ''
    returnType: struct ncb_blk
    signature: ncb_blk_find(const struct ncbuf *buf, ncb_sz_t off)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:221,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - blk
    - 'off'
    argTypes:
    - struct ncb_blk*
    - ncb_sz_t
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: ncb_blk_off
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: forceinline
    signature: ncb_blk_off(const struct ncb_blk *blk, ncb_sz_t off)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_blk_off
      Src: /src/haproxy/src/ncbuf.c:240,1
    - Dst: ncb_blk_off
      Src: /src/haproxy/src/ncbuf.c:254,1
    - Dst: MIN
      Src: /src/haproxy/src/ncbuf.c:255,1
    - Dst: ncb_blk_is_last
      Src: /src/haproxy/src/ncbuf.c:262,1
    - Dst: ncb_blk_off
      Src: /src/haproxy/src/ncbuf.c:267,1
    - Dst: MIN
      Src: /src/haproxy/src/ncbuf.c:270,1
    - Dst: ncb_wrap
      Src: /src/haproxy/src/ncbuf.c:271,1
    - Dst: ncb_wrap
      Src: /src/haproxy/src/ncbuf.c:272,1
    - Dst: memcmp
      Src: /src/haproxy/src/ncbuf.c:273,1
    - Dst: memcmp
      Src: /src/haproxy/src/ncbuf.c:275,1
    - Dst: ncb_orig
      Src: /src/haproxy/src/ncbuf.c:275,1
    - Dst: memcmp
      Src: /src/haproxy/src/ncbuf.c:279,1
    - Dst: ncb_blk_next
      Src: /src/haproxy/src/ncbuf.c:288,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 6
    argNames:
    - buf
    - blk
    - 'off'
    - data
    - len
    - mode
    argTypes:
    - struct ncbuf*
    - struct ncb_blk*
    - ncb_sz_t
    - char*
    - ncb_sz_t
    - enum ncb_add_mode
    constantsTouched: []
    func_position:
      end: 292
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 292
    functionName: ncb_check_insert
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_orig
    - memcmp
    - ncb_blk_off
    - ncb_blk_is_last
    - ncb_blk_next
    - MIN
    - ncb_wrap
    linkageType: ''
    returnType: enum ncb_ret
    signature: "ncb_check_insert(const struct ncbuf *buf,\n                                     const
      struct ncb_blk *blk, ncb_sz_t off,\n                                     const
      char *data, ncb_sz_t len,\n                                     enum ncb_add_mode
      mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/haproxy/src/ncbuf.c:303,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:306,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:314,1
    - Dst: ncb_wrap
      Src: /src/haproxy/src/ncbuf.c:316,1
    - Dst: ncb_wrap
      Src: /src/haproxy/src/ncbuf.c:317,1
    - Dst: memcpy
      Src: /src/haproxy/src/ncbuf.c:318,1
    - Dst: memcpy
      Src: /src/haproxy/src/ncbuf.c:319,1
    - Dst: ncb_orig
      Src: /src/haproxy/src/ncbuf.c:319,1
    - Dst: memcpy
      Src: /src/haproxy/src/ncbuf.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - buf
    - blk
    - 'off'
    - data
    - len
    - mode
    argTypes:
    - struct ncbuf*
    - struct ncb_blk*
    - ncb_sz_t
    - char*
    - ncb_sz_t
    - enum ncb_add_mode
    constantsTouched: []
    func_position:
      end: 327
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 327
    functionName: ncb_fill_data_blk
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_orig
    - BUG_ON_HOT
    - MIN
    - memcpy
    - ncb_peek
    - ncb_wrap
    linkageType: ''
    returnType: ncb_sz_t
    signature: "ncb_fill_data_blk(const struct ncbuf *buf,\n                                  const
      struct ncb_blk *blk, ncb_sz_t off,\n                                  const
      char *data, ncb_sz_t len,\n                                  enum ncb_add_mode
      mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/haproxy/src/ncbuf.c:336,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:339,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:351,1
    - Dst: ncb_off_reduced
      Src: /src/haproxy/src/ncbuf.c:351,1
    - Dst: ncb_off_reduced
      Src: /src/haproxy/src/ncbuf.c:355,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:359,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:360,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:365,1
    - Dst: ncb_wrap
      Src: /src/haproxy/src/ncbuf.c:366,1
    - Dst: ncb_wrap
      Src: /src/haproxy/src/ncbuf.c:367,1
    - Dst: memcpy
      Src: /src/haproxy/src/ncbuf.c:368,1
    - Dst: memcpy
      Src: /src/haproxy/src/ncbuf.c:369,1
    - Dst: ncb_orig
      Src: /src/haproxy/src/ncbuf.c:369,1
    - Dst: memcpy
      Src: /src/haproxy/src/ncbuf.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - buf
    - blk
    - 'off'
    - data
    - len
    argTypes:
    - struct ncbuf*
    - struct ncb_blk*
    - ncb_sz_t
    - char*
    - ncb_sz_t
    constantsTouched: []
    func_position:
      end: 376
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 376
    functionName: ncb_fill_gap_blk
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_write_off
    - ncb_orig
    - BUG_ON_HOT
    - ncb_off_reduced
    - MIN
    - memcpy
    - ncb_peek
    - ncb_wrap
    linkageType: ''
    returnType: ncb_sz_t
    signature: "ncb_fill_gap_blk(const struct ncbuf *buf,\n                                 const
      struct ncb_blk *blk, ncb_sz_t off,\n                                 const char
      *data, ncb_sz_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:386,1
    - Dst: ncb_is_null
      Src: /src/haproxy/src/ncbuf.c:386,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:388,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:391,1
    - Dst: ncb_reserved
      Src: /src/haproxy/src/ncbuf.c:391,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:392,1
    - Dst: ncb_head
      Src: /src/haproxy/src/ncbuf.c:392,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:392,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:393,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - head
    argTypes:
    - struct ncbuf*
    - ncb_sz_t
    constantsTouched: []
    func_position:
      end: 394
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 394
    functionName: ncb_init
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_reserved
    - ncb_write_off
    - ncb_is_null
    - ncb_head
    - BUG_ON_HOT
    - ncb_peek
    - ncb_size
    linkageType: ''
    returnType: void
    signature: ncb_init(struct ncbuf *buf, ncb_sz_t head)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - area
    - size
    - head
    argTypes:
    - char*
    - ncb_sz_t
    - ncb_sz_t
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 411
    functionName: ncb_make
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: struct ncbuf
    signature: ncb_make(char *area, ncb_sz_t size, ncb_sz_t head)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_blk_first
      Src: /src/haproxy/src/ncbuf.c:419,1
    - Dst: ncb_blk_is_null
      Src: /src/haproxy/src/ncbuf.c:419,1
    - Dst: ncb_blk_next
      Src: /src/haproxy/src/ncbuf.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: ncb_total_data
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_blk_first
    - ncb_blk_next
    - ncb_blk_is_null
    linkageType: ''
    returnType: ncb_sz_t
    signature: ncb_total_data(const struct ncbuf *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_is_null
      Src: /src/haproxy/src/ncbuf.c:432,1
    - Dst: ncb_read_off
      Src: /src/haproxy/src/ncbuf.c:435,1
    - Dst: ncb_reserved
      Src: /src/haproxy/src/ncbuf.c:435,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:436,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:436,1
    - Dst: ncb_read_off
      Src: /src/haproxy/src/ncbuf.c:442,1
    - Dst: ncb_head
      Src: /src/haproxy/src/ncbuf.c:442,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:443,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:443,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 445
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 445
    functionName: ncb_is_empty
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 1
    functionsReached:
    - ncb_reserved
    - ncb_is_null
    - ncb_head
    - BUG_ON_HOT
    - ncb_read_off
    - ncb_size
    linkageType: ''
    returnType: int
    signature: ncb_is_empty(const struct ncbuf *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_is_null
      Src: /src/haproxy/src/ncbuf.c:452,1
    - Dst: ncb_read_off
      Src: /src/haproxy/src/ncbuf.c:456,1
    - Dst: ncb_reserved
      Src: /src/haproxy/src/ncbuf.c:456,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:457,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:457,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 459
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 459
    functionName: ncb_is_full
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_reserved
    - ncb_is_null
    - BUG_ON_HOT
    - ncb_read_off
    - ncb_size
    linkageType: ''
    returnType: int
    signature: ncb_is_full(const struct ncbuf *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_is_null
      Src: /src/haproxy/src/ncbuf.c:466,1
    - Dst: ncb_is_empty
      Src: /src/haproxy/src/ncbuf.c:470,1
    - Dst: ncb_is_full
      Src: /src/haproxy/src/ncbuf.c:470,1
    - Dst: ncb_blk_first
      Src: /src/haproxy/src/ncbuf.c:474,1
    - Dst: ncb_blk_next
      Src: /src/haproxy/src/ncbuf.c:475,1
    - Dst: ncb_blk_is_last
      Src: /src/haproxy/src/ncbuf.c:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 477
      start: 462
    functionDepth: 3
    functionLinenumber: 462
    functionLinenumberEnd: 477
    functionName: ncb_is_fragmented
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_is_empty
    - ncb_blk_first
    - ncb_is_null
    - ncb_blk_next
    - ncb_blk_is_last
    - ncb_is_full
    linkageType: ''
    returnType: int
    signature: ncb_is_fragmented(const struct ncbuf *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_is_null
      Src: /src/haproxy/src/ncbuf.c:488,1
    - Dst: ncb_blk_find
      Src: /src/haproxy/src/ncbuf.c:491,1
    - Dst: ncb_blk_off
      Src: /src/haproxy/src/ncbuf.c:492,1
    - Dst: ncb_blk_is_last
      Src: /src/haproxy/src/ncbuf.c:498,1
    - Dst: ncb_blk_next
      Src: /src/haproxy/src/ncbuf.c:499,1
    - Dst: ncb_blk_off
      Src: /src/haproxy/src/ncbuf.c:500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - 'off'
    argTypes:
    - struct ncbuf*
    - ncb_sz_t
    constantsTouched: []
    func_position:
      end: 507
      start: 483
    functionDepth: 4
    functionLinenumber: 483
    functionLinenumberEnd: 507
    functionName: ncb_data
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 1
    functionsReached:
    - ncb_is_null
    - ncb_blk_next
    - ncb_blk_off
    - ncb_blk_is_last
    - ncb_blk_find
    linkageType: ''
    returnType: ncb_sz_t
    signature: ncb_data(const struct ncbuf *buf, ncb_sz_t off)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:527,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:527,1
    - Dst: ncb_blk_find
      Src: /src/haproxy/src/ncbuf.c:530,1
    - Dst: ncb_check_insert
      Src: /src/haproxy/src/ncbuf.c:533,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:542,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:545,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:547,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:548,1
    - Dst: ncb_blk_off
      Src: /src/haproxy/src/ncbuf.c:558,1
    - Dst: ncb_blk_next
      Src: /src/haproxy/src/ncbuf.c:564,1
    - Dst: ncb_fill_gap_blk
      Src: /src/haproxy/src/ncbuf.c:567,1
    - Dst: ncb_inc_off
      Src: /src/haproxy/src/ncbuf.c:572,1
    - Dst: ncb_inc_off
      Src: /src/haproxy/src/ncbuf.c:576,1
    - Dst: ncb_fill_data_blk
      Src: /src/haproxy/src/ncbuf.c:580,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:583,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 5
    argNames:
    - buf
    - 'off'
    - data
    - len
    - mode
    argTypes:
    - struct ncbuf*
    - ncb_sz_t
    - char*
    - ncb_sz_t
    - enum ncb_add_mode
    constantsTouched: []
    func_position:
      end: 592
      start: 516
    functionDepth: 4
    functionLinenumber: 516
    functionLinenumberEnd: 592
    functionName: ncb_add
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_inc_off
    - ncb_write_off
    - ncb_blk_next
    - ncb_blk_off
    - ncb_blk_find
    - ncb_fill_data_blk
    - BUG_ON_HOT
    - ncb_fill_gap_blk
    - ncb_check_insert
    - ncb_peek
    - ncb_size
    linkageType: ''
    returnType: enum ncb_ret
    signature: "ncb_add(struct ncbuf *buf, ncb_sz_t off,\n                     const
      char *data, ncb_sz_t len, enum ncb_add_mode mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/ncbuf.c:608,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:608,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:613,1
    - Dst: ncb_init
      Src: /src/haproxy/src/ncbuf.c:614,1
    - Dst: ncb_blk_find
      Src: /src/haproxy/src/ncbuf.c:618,1
    - Dst: ncb_blk_is_last
      Src: /src/haproxy/src/ncbuf.c:623,1
    - Dst: ncb_init
      Src: /src/haproxy/src/ncbuf.c:628,1
    - Dst: ncb_blk_is_last
      Src: /src/haproxy/src/ncbuf.c:633,1
    - Dst: ncb_blk_next
      Src: /src/haproxy/src/ncbuf.c:634,1
    - Dst: ncb_blk_off
      Src: /src/haproxy/src/ncbuf.c:636,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:664,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:665,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:665,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:671,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:671,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:672,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:672,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:680,1
    - Dst: ncb_reserved
      Src: /src/haproxy/src/ncbuf.c:680,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:684,1
    - Dst: ncb_head
      Src: /src/haproxy/src/ncbuf.c:684,1
    - Dst: ncb_write_off
      Src: /src/haproxy/src/ncbuf.c:686,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:686,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - buf
    - adv
    argTypes:
    - struct ncbuf*
    - ncb_sz_t
    constantsTouched: []
    func_position:
      end: 690
      start: 602
    functionDepth: 4
    functionLinenumber: 602
    functionLinenumberEnd: 690
    functionName: ncb_advance
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 1
    functionsReached:
    - ncb_reserved
    - ncb_write_off
    - ncb_blk_is_last
    - ncb_blk_next
    - ncb_blk_off
    - ncb_blk_find
    - ncb_head
    - BUG_ON_HOT
    - ncb_peek
    - ncb_init
    - ncb_size
    linkageType: ''
    returnType: enum ncb_ret
    signature: ncb_advance(struct ncbuf *buf, ncb_sz_t adv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/ncbuf.c:704,1
    - Dst: vfprintf
      Src: /src/haproxy/src/ncbuf.c:706,1
    - Dst: va_end
      Src: /src/haproxy/src/ncbuf.c:707,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 708
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 708
    functionName: ncbuf_printf
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - va_end
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: ncbuf_printf(char *str, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ncbuf.c:719,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:720,1
    - Dst: rand
      Src: /src/haproxy/src/ncbuf.c:722,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:722,1
    - Dst: rand
      Src: /src/haproxy/src/ncbuf.c:726,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 729
      start: 716
    functionDepth: 3
    functionLinenumber: 716
    functionLinenumberEnd: 729
    functionName: ncb_generate_rand_off
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - calloc
    - rand
    - BUG_ON
    - ncb_size
    linkageType: ''
    returnType: struct rand_off
    signature: '*ncb_generate_rand_off(const struct ncbuf *buf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/ncbuf.c:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - blk
    argTypes:
    - struct ncb_blk*
    constantsTouched: []
    func_position:
      end: 738
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 738
    functionName: ncb_print_blk
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: ncb_print_blk(const struct ncb_blk *blk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - blk
    argTypes:
    - struct ncb_blk*
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 743
    functionName: ncb_is_null_blk
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ncb_is_null_blk(const struct ncb_blk *blk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_blk_first
      Src: /src/haproxy/src/ncbuf.c:749,1
    - Dst: ncb_print_blk
      Src: /src/haproxy/src/ncbuf.c:751,1
    - Dst: ncb_blk_next
      Src: /src/haproxy/src/ncbuf.c:752,1
    - Dst: ncb_is_null_blk
      Src: /src/haproxy/src/ncbuf.c:753,1
    - Dst: ncbuf_printf
      Src: /src/haproxy/src/ncbuf.c:755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 756
      start: 745
    functionDepth: 3
    functionLinenumber: 745
    functionLinenumberEnd: 756
    functionName: ncb_loop
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_blk_first
    - ncb_print_blk
    - ncb_blk_next
    - ncbuf_printf
    - ncb_is_null_blk
    linkageType: ''
    returnType: void
    signature: ncb_loop(const struct ncbuf *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncbuf_printf
      Src: /src/haproxy/src/ncbuf.c:763,1
    - Dst: ncbuf_printf
      Src: /src/haproxy/src/ncbuf.c:765,1
    - Dst: ncbuf_printf
      Src: /src/haproxy/src/ncbuf.c:766,1
    - Dst: ncbuf_printf
      Src: /src/haproxy/src/ncbuf.c:767,1
    - Dst: ncbuf_printf
      Src: /src/haproxy/src/ncbuf.c:769,1
    - Dst: ncb_loop
      Src: /src/haproxy/src/ncbuf.c:771,1
    - Dst: getchar
      Src: /src/haproxy/src/ncbuf.c:774,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - b
    - len
    - area
    - line
    argTypes:
    - struct ncbuf*
    - ncb_sz_t
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 775
      start: 758
    functionDepth: 4
    functionLinenumber: 758
    functionLinenumberEnd: 775
    functionName: ncbuf_print_buf
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncbuf_printf
    - getchar
    - ncb_loop
    linkageType: ''
    returnType: void
    signature: "ncbuf_print_buf(struct ncbuf *b, ncb_sz_t len,\n                            unsigned
      char *area, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/ncbuf.c:808,1
    - Dst: malloc
      Src: /src/haproxy/src/ncbuf.c:812,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:813,1
    - Dst: memset
      Src: /src/haproxy/src/ncbuf.c:814,1
    - Dst: malloc
      Src: /src/haproxy/src/ncbuf.c:816,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:817,1
    - Dst: fprintf
      Src: /src/haproxy/src/ncbuf.c:819,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:822,1
    - Dst: ncb_is_null
      Src: /src/haproxy/src/ncbuf.c:822,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:823,1
    - Dst: NCB_TOTAL_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:824,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:825,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:825,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:826,1
    - Dst: ncb_is_empty
      Src: /src/haproxy/src/ncbuf.c:826,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:827,1
    - Dst: ncb_is_full
      Src: /src/haproxy/src/ncbuf.c:827,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:828,1
    - Dst: ncb_is_fragmented
      Src: /src/haproxy/src/ncbuf.c:828,1
    - Dst: NCB_INIT
      Src: /src/haproxy/src/ncbuf.c:833,1
    - Dst: NCB_INIT
      Src: /src/haproxy/src/ncbuf.c:836,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:837,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:837,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:838,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:838,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:840,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:840,1
    - Dst: NCB_INIT
      Src: /src/haproxy/src/ncbuf.c:842,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:842,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:843,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:843,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:844,1
    - Dst: ncb_is_fragmented
      Src: /src/haproxy/src/ncbuf.c:844,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:845,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:845,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:846,1
    - Dst: ncb_is_fragmented
      Src: /src/haproxy/src/ncbuf.c:846,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:848,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:848,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:849,1
    - Dst: ncb_is_fragmented
      Src: /src/haproxy/src/ncbuf.c:849,1
    - Dst: NCB_INIT
      Src: /src/haproxy/src/ncbuf.c:851,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:852,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:852,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:852,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:852,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:853,1
    - Dst: ncb_is_fragmented
      Src: /src/haproxy/src/ncbuf.c:853,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:854,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:854,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:854,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:854,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:855,1
    - Dst: ncb_is_fragmented
      Src: /src/haproxy/src/ncbuf.c:855,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:857,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:857,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:857,1
    - Dst: NCB_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:857,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:858,1
    - Dst: ncb_is_fragmented
      Src: /src/haproxy/src/ncbuf.c:858,1
    - Dst: NCB_INIT
      Src: /src/haproxy/src/ncbuf.c:860,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:861,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:863,1
    - Dst: NCB_INIT
      Src: /src/haproxy/src/ncbuf.c:866,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:868,1
    - Dst: NCB_INIT
      Src: /src/haproxy/src/ncbuf.c:871,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:872,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:873,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:874,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:874,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:874,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:875,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:875,1
    - Dst: ncb_peek
      Src: /src/haproxy/src/ncbuf.c:875,1
    - Dst: NCB_INIT
      Src: /src/haproxy/src/ncbuf.c:878,1
    - Dst: NCB_ADVANCE_EQ
      Src: /src/haproxy/src/ncbuf.c:879,1
    - Dst: NCB_ADVANCE_EQ
      Src: /src/haproxy/src/ncbuf.c:880,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:880,1
    - Dst: NCB_INIT
      Src: /src/haproxy/src/ncbuf.c:882,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:884,1
    - Dst: NCB_ADVANCE_EQ
      Src: /src/haproxy/src/ncbuf.c:886,1
    - Dst: NCB_TOTAL_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:886,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:886,1
    - Dst: NCB_ADVANCE_EQ
      Src: /src/haproxy/src/ncbuf.c:888,1
    - Dst: NCB_TOTAL_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:888,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:888,1
    - Dst: NCB_ADVANCE_EQ
      Src: /src/haproxy/src/ncbuf.c:890,1
    - Dst: NCB_TOTAL_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:890,1
    - Dst: ncb_size
      Src: /src/haproxy/src/ncbuf.c:890,1
    - Dst: NCB_ADVANCE_EQ
      Src: /src/haproxy/src/ncbuf.c:892,1
    - Dst: NCB_TOTAL_DATA_EQ
      Src: /src/haproxy/src/ncbuf.c:892,1
    - Dst: NCB_INIT
      Src: /src/haproxy/src/ncbuf.c:895,1
    - Dst: NCB_ADD_EQ
      Src: /src/haproxy/src/ncbuf.c:896,1
    - Dst: NCB_ADVANCE_EQ
      Src: /src/haproxy/src/ncbuf.c:897,1
    - Dst: NCB_ADVANCE_EQ
      Src: /src/haproxy/src/ncbuf.c:898,1
    - Dst: NCB_ADVANCE_EQ
      Src: /src/haproxy/src/ncbuf.c:899,1
    - Dst: NCB_ADVANCE_EQ
      Src: /src/haproxy/src/ncbuf.c:900,1
    - Dst: NCB_ADVANCE_EQ
      Src: /src/haproxy/src/ncbuf.c:901,1
    - Dst: fprintf
      Src: /src/haproxy/src/ncbuf.c:903,1
    - Dst: NCB_INIT
      Src: /src/haproxy/src/ncbuf.c:904,1
    - Dst: ncb_is_full
      Src: /src/haproxy/src/ncbuf.c:907,1
    - Dst: ncb_generate_rand_off
      Src: /src/haproxy/src/ncbuf.c:908,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/ncbuf.c:909,1
    - Dst: ncb_add
      Src: /src/haproxy/src/ncbuf.c:911,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:912,1
    - Dst: ncbuf_print_buf
      Src: /src/haproxy/src/ncbuf.c:913,1
    - Dst: usleep
      Src: /src/haproxy/src/ncbuf.c:914,1
    - Dst: fprintf
      Src: /src/haproxy/src/ncbuf.c:917,1
    - Dst: ncbuf_print_buf
      Src: /src/haproxy/src/ncbuf.c:918,1
    - Dst: NCB_INIT
      Src: /src/haproxy/src/ncbuf.c:923,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ncbuf.c:924,1
    - Dst: ncb_add
      Src: /src/haproxy/src/ncbuf.c:927,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ncbuf.c:928,1
    - Dst: ncbuf_print_buf
      Src: /src/haproxy/src/ncbuf.c:929,1
    - Dst: usleep
      Src: /src/haproxy/src/ncbuf.c:930,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ncbuf.c:933,1
    - Dst: free
      Src: /src/haproxy/src/ncbuf.c:934,1
    - Dst: ncb_is_full
      Src: /src/haproxy/src/ncbuf.c:937,1
    - Dst: abort
      Src: /src/haproxy/src/ncbuf.c:938,1
    - Dst: fprintf
      Src: /src/haproxy/src/ncbuf.c:940,1
    - Dst: free
      Src: /src/haproxy/src/ncbuf.c:942,1
    - Dst: free
      Src: /src/haproxy/src/ncbuf.c:943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 114
    argCount: 3
    argNames:
    - head
    - reset
    - print_delay
    argTypes:
    - ncb_sz_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 946
      start: 805
    functionDepth: 5
    functionLinenumber: 805
    functionLinenumberEnd: 946
    functionName: ncbuf_test
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 0
    functionsReached:
    - ncb_is_empty
    - ncb_is_fragmented
    - LIST_HEAD_INIT
    - ncb_is_null
    - LIST_DELETE
    - ncbuf_print_buf
    - fprintf
    - memset
    - usleep
    - BUG_ON
    - NCB_ADD_EQ
    - ncb_generate_rand_off
    - NCB_ADVANCE_EQ
    - NCB_TOTAL_DATA_EQ
    - free
    - ncb_peek
    - NCB_DATA_EQ
    - abort
    - ncb_add
    - LIST_INSERT
    - NCB_INIT
    - ncb_size
    - malloc
    - list_for_each_entry_safe
    - ncb_is_full
    linkageType: ''
    returnType: int
    signature: ncbuf_test(ncb_sz_t head, int reset, int print_delay)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/haproxy/src/ncbuf.c:955,1
    - Dst: atoi
      Src: /src/haproxy/src/ncbuf.c:958,1
    - Dst: atoi
      Src: /src/haproxy/src/ncbuf.c:961,1
    - Dst: fprintf
      Src: /src/haproxy/src/ncbuf.c:963,1
    - Dst: exit
      Src: /src/haproxy/src/ncbuf.c:964,1
    - Dst: atoi
      Src: /src/haproxy/src/ncbuf.c:972,1
    - Dst: fprintf
      Src: /src/haproxy/src/ncbuf.c:977,1
    - Dst: exit
      Src: /src/haproxy/src/ncbuf.c:978,1
    - Dst: ncbuf_test
      Src: /src/haproxy/src/ncbuf.c:982,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 984
      start: 948
    functionDepth: 6
    functionLinenumber: 948
    functionLinenumberEnd: 984
    functionName: main
    functionSourceFile: /src/haproxy/src/ncbuf.c
    functionUses: 9
    functionsReached:
    - ncbuf_test
    - atoi
    - fprintf
    - getopt
    - exit
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/quic_retry.c:40,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_retry.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - buf
    - saddr
    argTypes:
    - unsigned char*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 46
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 46
    functionName: quic_saddr_cpy
    functionSourceFile: /src/haproxy/src/quic_retry.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "quic_saddr_cpy(unsigned char *buf,\n                                    const
      struct sockaddr_storage *saddr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_u32
      Src: /src/haproxy/src/quic_retry.c:63,1
    - Dst: htonl
      Src: /src/haproxy/src/quic_retry.c:63,1
    - Dst: quic_saddr_cpy
      Src: /src/haproxy/src/quic_retry.c:65,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_retry.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - aad
    - version
    - cid
    - addr
    argTypes:
    - unsigned char*
    - uint32_t
    - struct quic_cid*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: quic_generate_retry_token_aad
    functionSourceFile: /src/haproxy/src/quic_retry.c
    functionUses: 0
    functionsReached:
    - htonl
    - quic_saddr_cpy
    - memcpy
    - write_u32
    linkageType: ''
    returnType: int
    signature: "quic_generate_retry_token_aad(unsigned char *aad,\n                                         uint32_t
      version,\n                                         const struct quic_cid *cid,\n
      \                                        const struct sockaddr_storage *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aead_aes_128_gcm
      Src: /src/haproxy/src/quic_retry.c:97,1
    - Dst: EVP_aes_128_gcm
      Src: /src/haproxy/src/quic_retry.c:99,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_retry.c:103,1
    - Dst: quic_generate_retry_token_aad
      Src: /src/haproxy/src/quic_retry.c:112,1
    - Dst: RAND_bytes
      Src: /src/haproxy/src/quic_retry.c:114,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retry.c:115,1
    - Dst: quic_tls_derive_retry_token_secret
      Src: /src/haproxy/src/quic_retry.c:119,1
    - Dst: EVP_sha256
      Src: /src/haproxy/src/quic_retry.c:119,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retry.c:121,1
    - Dst: quic_tls_tx_ctx_init
      Src: /src/haproxy/src/quic_retry.c:125,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retry.c:126,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_retry.c:134,1
    - Dst: write_u32
      Src: /src/haproxy/src/quic_retry.c:136,1
    - Dst: htonl
      Src: /src/haproxy/src/quic_retry.c:136,1
    - Dst: quic_tls_encrypt
      Src: /src/haproxy/src/quic_retry.c:140,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retry.c:141,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_retry.c:146,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/src/quic_retry.c:148,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_retry.c:152,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/src/quic_retry.c:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 6
    argNames:
    - token
    - len
    - version
    - odcid
    - dcid
    - addr
    argTypes:
    - unsigned char*
    - size_t
    - uint32_t
    - struct quic_cid*
    - struct quic_cid*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 159
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 159
    functionName: quic_generate_retry_token
    functionSourceFile: /src/haproxy/src/quic_retry.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - quic_generate_retry_token_aad
    - quic_tls_encrypt
    - write_u32
    - TRACE_ENTER
    - QUIC_AEAD_CTX_free
    - memcpy
    - htonl
    - quic_tls_tx_ctx_init
    - TRACE_ERROR
    - EVP_aead_aes_128_gcm
    - quic_tls_derive_retry_token_secret
    - EVP_sha256
    - RAND_bytes
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: int
    signature: "quic_generate_retry_token(unsigned char *token, size_t len,\n                              const
      uint32_t version,\n                              const struct quic_cid *odcid,\n
      \                             const struct quic_cid *dcid,\n                              struct
      sockaddr_storage *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_retry.c:176,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_retry.c:178,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retry.c:179,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retry.c:190,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retry.c:195,1
    - Dst: ntohl
      Src: /src/haproxy/src/quic_retry.c:199,1
    - Dst: read_u32
      Src: /src/haproxy/src/quic_retry.c:199,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retry.c:205,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_retry.c:210,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_retry.c:213,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - qc
    - token
    - end
    - odcid
    argTypes:
    - struct quic_conn*
    - unsigned char*
    - unsigned char*
    - struct quic_cid*
    constantsTouched: []
    func_position:
      end: 215
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 215
    functionName: parse_retry_token
    functionSourceFile: /src/haproxy/src/quic_retry.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - quic_dec_int
    - read_u32
    - TRACE_ENTER
    - TRACE_ERROR
    - ntohl
    - memcpy
    linkageType: ''
    returnType: int
    signature: "parse_retry_token(struct quic_conn *qc,\n                      const
      unsigned char *token, const unsigned char *end,\n                      struct
      quic_cid *odcid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aead_aes_128_gcm
      Src: /src/haproxy/src/quic_retry.c:253,1
    - Dst: EVP_aes_128_gcm
      Src: /src/haproxy/src/quic_retry.c:255,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_retry.c:258,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_retry.c:261,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/quic_retry.c:264,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retry.c:267,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retry.c:277,1
    - Dst: quic_generate_retry_token_aad
      Src: /src/haproxy/src/quic_retry.c:281,1
    - Dst: quic_tls_derive_retry_token_secret
      Src: /src/haproxy/src/quic_retry.c:283,1
    - Dst: EVP_sha256
      Src: /src/haproxy/src/quic_retry.c:283,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retry.c:285,1
    - Dst: quic_tls_rx_ctx_init
      Src: /src/haproxy/src/quic_retry.c:289,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retry.c:290,1
    - Dst: quic_tls_decrypt2
      Src: /src/haproxy/src/quic_retry.c:295,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retry.c:297,1
    - Dst: parse_retry_token
      Src: /src/haproxy/src/quic_retry.c:301,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retry.c:302,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/src/quic_retry.c:306,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_retry.c:309,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_retry.c:312,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_retry.c:316,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/src/quic_retry.c:318,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 5
    argNames:
    - pkt
    - dgram
    - l
    - qc
    - odcid
    argTypes:
    - struct quic_rx_packet*
    - struct quic_dgram*
    - struct listener*
    - struct quic_conn*
    - struct quic_cid*
    constantsTouched: []
    func_position:
      end: 320
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 320
    functionName: quic_retry_token_check
    functionSourceFile: /src/haproxy/src/quic_retry.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - quic_generate_retry_token_aad
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - quic_tls_rx_ctx_init
    - quic_tls_decrypt2
    - QUIC_AEAD_CTX_free
    - EXTRA_COUNTERS_GET
    - TRACE_ERROR
    - EVP_aead_aes_128_gcm
    - quic_tls_derive_retry_token_secret
    - EVP_sha256
    - parse_retry_token
    - BUG_ON
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: int
    signature: "quic_retry_token_check(struct quic_rx_packet *pkt,\n                           struct
      quic_dgram *dgram,\n                           struct listener *l,\n                           struct
      quic_conn *qc,\n                           struct quic_cid *odcid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/jwt.c:38,1
    - Dst: strncmp
      Src: /src/haproxy/src/jwt.c:46,1
    - Dst: strncmp
      Src: /src/haproxy/src/jwt.c:48,1
    - Dst: strncmp
      Src: /src/haproxy/src/jwt.c:50,1
    - Dst: strncmp
      Src: /src/haproxy/src/jwt.c:54,1
    - Dst: strncmp
      Src: /src/haproxy/src/jwt.c:56,1
    - Dst: strncmp
      Src: /src/haproxy/src/jwt.c:58,1
    - Dst: strncmp
      Src: /src/haproxy/src/jwt.c:62,1
    - Dst: strncmp
      Src: /src/haproxy/src/jwt.c:64,1
    - Dst: strncmp
      Src: /src/haproxy/src/jwt.c:66,1
    - Dst: strncmp
      Src: /src/haproxy/src/jwt.c:70,1
    - Dst: strncmp
      Src: /src/haproxy/src/jwt.c:72,1
    - Dst: strncmp
      Src: /src/haproxy/src/jwt.c:74,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 2
    argNames:
    - alg_str
    - alg_len
    argTypes:
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 83
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 83
    functionName: jwt_parse_alg
    functionSourceFile: /src/haproxy/src/jwt.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strncmp
    linkageType: ''
    returnType: enum jwt_alg
    signature: jwt_parse_alg(const char *alg_str, unsigned int alg_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - jwt
    - items
    - item_num
    argTypes:
    - struct buffer*
    - struct jwt_item*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 124
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 124
    functionName: jwt_tokenize
    functionSourceFile: /src/haproxy/src/jwt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: jwt_tokenize(const struct buffer *jwt, struct jwt_item *items, unsigned
      int *item_num)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/jwt.c:137,1
    - Dst: memprintf
      Src: /src/haproxy/src/jwt.c:139,1
    - Dst: memcpy
      Src: /src/haproxy/src/jwt.c:142,1
    - Dst: ebst_insert
      Src: /src/haproxy/src/jwt.c:144,1
    - Dst: free
      Src: /src/haproxy/src/jwt.c:145,1
    - Dst: BIO_new
      Src: /src/haproxy/src/jwt.c:149,1
    - Dst: BIO_s_file
      Src: /src/haproxy/src/jwt.c:149,1
    - Dst: memprintf
      Src: /src/haproxy/src/jwt.c:151,1
    - Dst: BIO_read_filename
      Src: /src/haproxy/src/jwt.c:155,1
    - Dst: PEM_read_bio_PUBKEY
      Src: /src/haproxy/src/jwt.c:157,1
    - Dst: memprintf
      Src: /src/haproxy/src/jwt.c:160,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/jwt.c:173,1
    - Dst: free
      Src: /src/haproxy/src/jwt.c:174,1
    - Dst: BIO_free
      Src: /src/haproxy/src/jwt.c:176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - path
    - pathlen
    - err
    argTypes:
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 178
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 178
    functionName: jwt_tree_load_cert
    functionSourceFile: /src/haproxy/src/jwt.c
    functionUses: 0
    functionsReached:
    - memprintf
    - BIO_free
    - ebmb_delete
    - calloc
    - free
    - ebst_insert
    - PEM_read_bio_PUBKEY
    - BIO_new
    - memcpy
    - BIO_s_file
    - BIO_read_filename
    linkageType: ''
    returnType: int
    signature: jwt_tree_load_cert(char *path, int pathlen, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/haproxy/src/jwt.c:196,1
    - Dst: EVP_sha384
      Src: /src/haproxy/src/jwt.c:199,1
    - Dst: EVP_sha512
      Src: /src/haproxy/src/jwt.c:202,1
    - Dst: HMAC
      Src: /src/haproxy/src/jwt.c:207,1
    - Dst: CRYPTO_memcmp
      Src: /src/haproxy/src/jwt.c:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - decoded_signature
    argTypes:
    - struct jwt_ctx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 215
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 215
    functionName: jwt_jwsverify_hmac
    functionSourceFile: /src/haproxy/src/jwt.c
    functionUses: 0
    functionsReached:
    - EVP_sha384
    - EVP_sha512
    - HMAC
    - EVP_sha256
    - CRYPTO_memcmp
    linkageType: ''
    returnType: enum jwt_vrfy_status
    signature: jwt_jwsverify_hmac(const struct jwt_ctx *ctx, const struct buffer *decoded_signature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ECDSA_SIG_new
      Src: /src/haproxy/src/jwt.c:231,1
    - Dst: b_data
      Src: /src/haproxy/src/jwt.c:237,1
    - Dst: b_data
      Src: /src/haproxy/src/jwt.c:242,1
    - Dst: BN_bin2bn
      Src: /src/haproxy/src/jwt.c:244,1
    - Dst: b_orig
      Src: /src/haproxy/src/jwt.c:244,1
    - Dst: BN_bin2bn
      Src: /src/haproxy/src/jwt.c:245,1
    - Dst: b_orig
      Src: /src/haproxy/src/jwt.c:245,1
    - Dst: ECDSA_SIG_set0
      Src: /src/haproxy/src/jwt.c:253,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/haproxy/src/jwt.c:257,1
    - Dst: ECDSA_SIG_free
      Src: /src/haproxy/src/jwt.c:264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - pkey
    - signature
    argTypes:
    - struct jwt_ctx*
    - EVP_PKEY*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 266
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 266
    functionName: convert_ecdsa_sig
    functionSourceFile: /src/haproxy/src/jwt.c
    functionUses: 0
    functionsReached:
    - i2d_ECDSA_SIG
    - ECDSA_SIG_set0
    - b_data
    - ECDSA_SIG_free
    - ECDSA_SIG_new
    - b_orig
    - BN_bin2bn
    linkageType: ''
    returnType: int
    signature: convert_ecdsa_sig(const struct jwt_ctx *ctx, EVP_PKEY *pkey, struct
      buffer *signature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/haproxy/src/jwt.c:287,1
    - Dst: EVP_sha384
      Src: /src/haproxy/src/jwt.c:290,1
    - Dst: EVP_sha512
      Src: /src/haproxy/src/jwt.c:293,1
    - Dst: EVP_sha256
      Src: /src/haproxy/src/jwt.c:297,1
    - Dst: EVP_sha384
      Src: /src/haproxy/src/jwt.c:301,1
    - Dst: EVP_sha512
      Src: /src/haproxy/src/jwt.c:305,1
    - Dst: EVP_sha256
      Src: /src/haproxy/src/jwt.c:310,1
    - Dst: EVP_sha384
      Src: /src/haproxy/src/jwt.c:314,1
    - Dst: EVP_sha512
      Src: /src/haproxy/src/jwt.c:318,1
    - Dst: EVP_MD_CTX_new
      Src: /src/haproxy/src/jwt.c:324,1
    - Dst: ebst_lookup
      Src: /src/haproxy/src/jwt.c:328,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/jwt.c:335,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/haproxy/src/jwt.c:355,1
    - Dst: EVP_PKEY_CTX_set_rsa_padding
      Src: /src/haproxy/src/jwt.c:356,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/haproxy/src/jwt.c:357,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/haproxy/src/jwt.c:359,1
    - Dst: EVP_MD_CTX_free
      Src: /src/haproxy/src/jwt.c:366,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/jwt.c:372,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 74
    argCount: 2
    argNames:
    - ctx
    - decoded_signature
    argTypes:
    - struct jwt_ctx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 375
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 375
    functionName: jwt_jwsverify_rsa_ecdsa
    functionSourceFile: /src/haproxy/src/jwt.c
    functionUses: 0
    functionsReached:
    - EVP_DigestVerifyUpdate
    - EVP_sha384
    - EVP_sha512
    - EVP_MD_CTX_new
    - ebmb_entry
    - EVP_DigestVerifyInit
    - EVP_PKEY_CTX_set_rsa_padding
    - EVP_DigestVerifyFinal
    - EVP_MD_CTX_free
    - ebst_lookup
    - EVP_sha256
    - ERR_clear_error
    linkageType: ''
    returnType: enum jwt_vrfy_status
    signature: jwt_jwsverify_rsa_ecdsa(const struct jwt_ctx *ctx, struct buffer *decoded_signature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: jwt_parse_alg
      Src: /src/haproxy/src/jwt.c:393,1
    - Dst: jwt_tokenize
      Src: /src/haproxy/src/jwt.c:398,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/jwt.c:417,1
    - Dst: base64urldec
      Src: /src/haproxy/src/jwt.c:421,1
    - Dst: jwt_jwsverify_hmac
      Src: /src/haproxy/src/jwt.c:440,1
    - Dst: jwt_jwsverify_rsa_ecdsa
      Src: /src/haproxy/src/jwt.c:454,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/jwt.c:463,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 3
    argNames:
    - token
    - alg
    - key
    argTypes:
    - struct buffer*
    - struct buffer*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 466
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 466
    functionName: jwt_verify
    functionSourceFile: /src/haproxy/src/jwt.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - jwt_parse_alg
    - base64urldec
    - jwt_tokenize
    - free_trash_chunk
    - jwt_jwsverify_rsa_ecdsa
    - jwt_jwsverify_hmac
    linkageType: ''
    returnType: enum jwt_vrfy_status
    signature: "jwt_verify(const struct buffer *token, const struct buffer *alg,\n\t\t\t\tconst
      struct buffer *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_first
      Src: /src/haproxy/src/jwt.c:473,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/jwt.c:475,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/jwt.c:476,1
    - Dst: EVP_PKEY_free
      Src: /src/haproxy/src/jwt.c:477,1
    - Dst: ha_free
      Src: /src/haproxy/src/jwt.c:478,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/jwt.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 481
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 481
    functionName: jwt_deinit
    functionSourceFile: /src/haproxy/src/jwt.c
    functionUses: 0
    functionsReached:
    - ha_free
    - EVP_PKEY_free
    - ebmb_entry
    - ebmb_first
    - ebmb_delete
    linkageType: ''
    returnType: void
    signature: jwt_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_insert
      Src: /src/haproxy/src/cebub_tree.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebub_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_insert
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebub, _insert, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_first
      Src: /src/haproxy/src/cebub_tree.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebub_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_first
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebub, _first, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_last
      Src: /src/haproxy/src/cebub_tree.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebub_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_last
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebub, _last, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup
      Src: /src/haproxy/src/cebub_tree.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebub_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebub, _lookup, struct ceb_node **, root,
      ptrdiff_t, kofs, const void *, key, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_le
      Src: /src/haproxy/src/cebub_tree.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebub_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_le
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebub, _lookup_le, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_lt
      Src: /src/haproxy/src/cebub_tree.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebub_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_lt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebub, _lookup_lt, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_ge
      Src: /src/haproxy/src/cebub_tree.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebub_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_ge
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebub, _lookup_ge, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_gt
      Src: /src/haproxy/src/cebub_tree.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebub_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_gt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebub, _lookup_gt, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_next
      Src: /src/haproxy/src/cebub_tree.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebub_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_next
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebub, _next, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_prev
      Src: /src/haproxy/src/cebub_tree.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebub_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_prev
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebub, _prev, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebub_tree.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebub_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebub, _delete, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebub_tree.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebub_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebub, _pick, struct ceb_node **, root,
      ptrdiff_t, kofs, const void *, key, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_ss.c:34,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_ss.c:37,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_ss.c:40,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_ss.c:42,1
    - Dst: recalc_server_ss
      Src: /src/haproxy/src/lb_ss.c:57,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_ss.c:62,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_ss.c:63,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_ss.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 67
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 67
    functionName: ss_set_server_status_down
    functionSourceFile: /src/haproxy/src/lb_ss.c
    functionUses: 0
    functionsReached:
    - srv_lb_status_changed
    - srv_currently_usable
    - update_backend_weight
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - recalc_server_ss
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    linkageType: ''
    returnType: void
    signature: ss_set_server_status_down(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_ss.c:77,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_ss.c:80,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_ss.c:83,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_ss.c:85,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_ss.c:106,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_ss.c:107,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_ss.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 111
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 111
    functionName: ss_set_server_status_up
    functionSourceFile: /src/haproxy/src/lb_ss.c
    functionUses: 0
    functionsReached:
    - srv_lb_status_changed
    - srv_currently_usable
    - update_backend_weight
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    linkageType: ''
    returnType: void
    signature: ss_set_server_status_up(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_ss.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: recalc_server_ss
    functionSourceFile: /src/haproxy/src/lb_ss.c
    functionUses: 1
    functionsReached:
    - srv_willbe_usable
    linkageType: ''
    returnType: void
    signature: recalc_server_ss(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_ss.c:159,1
    - Dst: recount_servers
      Src: /src/haproxy/src/lb_ss.c:163,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_ss.c:164,1
    - Dst: recalc_server_ss
      Src: /src/haproxy/src/lb_ss.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 166
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 166
    functionName: init_server_ss
    functionSourceFile: /src/haproxy/src/lb_ss.c
    functionUses: 0
    functionsReached:
    - srv_lb_commit_status
    - recount_servers
    - update_backend_weight
    - recalc_server_ss
    linkageType: ''
    returnType: void
    signature: init_server_ss(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/lb_ss.c:179,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/lb_ss.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 183
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 183
    functionName: ss_get_server
    functionSourceFile: /src/haproxy/src/lb_ss.c
    functionUses: 1
    functionsReached:
    - HA_RWLOCK_RDUNLOCK
    - HA_RWLOCK_RDLOCK
    linkageType: ''
    returnType: struct server
    signature: '*ss_get_server(struct proxy *px)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/http_htx.c:70,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_htx.c:71,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_htx.c:71,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/http_htx.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: http_get_stline
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 18
    functionsReached:
    - htx_get_blk_type
    - htx_get_first_blk
    - htx_get_blk_ptr
    linkageType: ''
    returnType: struct htx_sl
    signature: '*http_get_stline(const struct htx *htx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/http_htx.c:82,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_htx.c:83,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/http_htx.c:86,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/http_htx.c:87,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_htx.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: http_get_hdrs_size
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_type
    - htx_get_first_blk
    - htx_get_next_blk
    - htx_get_blksz
    linkageType: ''
    returnType: size_t
    signature: http_get_hdrs_size(struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isttest
      Src: /src/haproxy/src/http_htx.c:138,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:142,1
    - Dst: istend
      Src: /src/haproxy/src/http_htx.c:143,1
    - Dst: istnext
      Src: /src/haproxy/src/http_htx.c:150,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_htx.c:156,1
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/http_htx.c:159,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/http_htx.c:159,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_htx.c:161,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/http_htx.c:170,1
    - Dst: regex_exec2
      Src: /src/haproxy/src/http_htx.c:171,1
    - Dst: istlen
      Src: /src/haproxy/src/http_htx.c:178,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/http_htx.c:181,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_htx.c:184,1
    - Dst: istlen
      Src: /src/haproxy/src/http_htx.c:188,1
    - Dst: istlen
      Src: /src/haproxy/src/http_htx.c:188,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:191,1
    - Dst: istptr
      Src: /src/haproxy/src/http_htx.c:191,1
    - Dst: istlen
      Src: /src/haproxy/src/http_htx.c:191,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_htx.c:192,1
    - Dst: istlen
      Src: /src/haproxy/src/http_htx.c:196,1
    - Dst: istlen
      Src: /src/haproxy/src/http_htx.c:196,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:199,1
    - Dst: istend
      Src: /src/haproxy/src/http_htx.c:199,1
    - Dst: istlen
      Src: /src/haproxy/src/http_htx.c:199,1
    - Dst: istlen
      Src: /src/haproxy/src/http_htx.c:200,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_htx.c:201,1
    - Dst: strnistr
      Src: /src/haproxy/src/http_htx.c:205,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:214,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/http_htx.c:219,1
    - Dst: istnext
      Src: /src/haproxy/src/http_htx.c:220,1
    - Dst: http_find_hdr_value_end
      Src: /src/haproxy/src/http_htx.c:224,1
    - Dst: istend
      Src: /src/haproxy/src/http_htx.c:224,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/http_htx.c:226,1
    - Dst: istend
      Src: /src/haproxy/src/http_htx.c:226,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:239,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 104
    argCount: 4
    argNames:
    - htx
    - pattern
    - ctx
    - flags
    argTypes:
    - struct htx*
    - void*
    - struct http_hdr_ctx*
    - int
    constantsTouched: []
    func_position:
      end: 242
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 242
    functionName: __http_find_header
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - regex_exec2
    - htx_get_blk_name
    - HTTP_IS_LWS
    - istend
    - istlen
    - isttest
    - ist2
    - htx_get_first_blk
    - http_find_hdr_value_end
    - istptr
    - ist
    - istnext
    - htx_get_blk_type
    - htx_get_blk_value
    - htx_is_empty
    - strnistr
    - isteqi
    - htx_get_next_blk
    linkageType: ''
    returnType: int
    signature: __http_find_header(const struct htx *htx, const void *pattern, struct
      http_hdr_ctx *ctx, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __http_find_header
      Src: /src/haproxy/src/http_htx.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - htx
    - name
    - ctx
    - full
    argTypes:
    - struct htx*
    - struct ist
    - struct http_hdr_ctx*
    - int
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: http_find_header
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 17
    functionsReached:
    - __http_find_header
    linkageType: ''
    returnType: int
    signature: http_find_header(const struct htx *htx, const struct ist name, struct
      http_hdr_ctx *ctx, int full)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __http_find_header
      Src: /src/haproxy/src/http_htx.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - htx
    - name
    - ctx
    - full
    argTypes:
    - struct htx*
    - struct ist
    - struct http_hdr_ctx*
    - int
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: http_find_str_header
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - __http_find_header
    linkageType: ''
    returnType: int
    signature: http_find_str_header(const struct htx *htx, const struct ist name,
      struct http_hdr_ctx *ctx, int full)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __http_find_header
      Src: /src/haproxy/src/http_htx.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - htx
    - prefix
    - ctx
    - full
    argTypes:
    - struct htx*
    - struct ist
    - struct http_hdr_ctx*
    - int
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: http_find_pfx_header
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - __http_find_header
    linkageType: ''
    returnType: int
    signature: http_find_pfx_header(const struct htx *htx, const struct ist prefix,
      struct http_hdr_ctx *ctx, int full)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __http_find_header
      Src: /src/haproxy/src/http_htx.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - htx
    - suffix
    - ctx
    - full
    argTypes:
    - struct htx*
    - struct ist
    - struct http_hdr_ctx*
    - int
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: http_find_sfx_header
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - __http_find_header
    linkageType: ''
    returnType: int
    signature: http_find_sfx_header(const struct htx *htx, const struct ist suffix,
      struct http_hdr_ctx *ctx, int full)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __http_find_header
      Src: /src/haproxy/src/http_htx.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - htx
    - sub
    - ctx
    - full
    argTypes:
    - struct htx*
    - struct ist
    - struct http_hdr_ctx*
    - int
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: http_find_sub_header
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - __http_find_header
    linkageType: ''
    returnType: int
    signature: http_find_sub_header(const struct htx *htx, const struct ist sub, struct
      http_hdr_ctx *ctx, int full)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __http_find_header
      Src: /src/haproxy/src/http_htx.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - htx
    - re
    - ctx
    - full
    argTypes:
    - struct htx*
    - struct my_regex*
    - struct http_hdr_ctx*
    - int
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: http_match_header
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - __http_find_header
    linkageType: ''
    returnType: int
    signature: http_match_header(const struct htx *htx, const struct my_regex *re,
      struct http_hdr_ctx *ctx, int full)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_tail_type
      Src: /src/haproxy/src/http_htx.c:289,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_htx.c:292,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_htx.c:296,1
    - Dst: htx_get_prev
      Src: /src/haproxy/src/http_htx.c:301,1
    - Dst: htx_get_prev
      Src: /src/haproxy/src/http_htx.c:301,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_htx.c:302,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_htx.c:303,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/http_htx.c:310,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_htx.c:320,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_htx.c:321,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:321,1
    - Dst: http_update_authority
      Src: /src/haproxy/src/http_htx.c:322,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - htx
    - n
    - v
    argTypes:
    - struct htx*
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 329
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 329
    functionName: http_add_header
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 2
    functionsReached:
    - htx_add_header
    - htx_get_blksz
    - ist
    - htx_get_blk
    - htx_get_tail_type
    - htx_get_blk_type
    - http_update_authority
    - http_get_stline
    - unlikely
    - isteqi
    - htx_get_prev
    linkageType: ''
    returnType: int
    signature: http_add_header(struct htx *htx, const struct ist n, const struct ist
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/http_htx.c:338,1
    - Dst: htx_replace_stline
      Src: /src/haproxy/src/http_htx.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - htx
    - p1
    - p2
    - p3
    argTypes:
    - struct htx*
    - struct ist
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 342
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 342
    functionName: http_replace_stline
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - htx_replace_stline
    - htx_get_first_blk
    linkageType: ''
    returnType: int
    signature: http_replace_stline(struct htx *htx, const struct ist p1, const struct
      ist p2, const struct ist p3)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_htx.c:349,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_htx.c:350,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:357,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/src/http_htx.c:357,1
    - Dst: HTX_SL_REQ_ULEN
      Src: /src/haproxy/src/http_htx.c:357,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:358,1
    - Dst: HTX_SL_REQ_ULEN
      Src: /src/haproxy/src/http_htx.c:358,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:360,1
    - Dst: HTX_SL_REQ_VPTR
      Src: /src/haproxy/src/http_htx.c:360,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/http_htx.c:360,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:361,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/http_htx.c:361,1
    - Dst: find_http_meth
      Src: /src/haproxy/src/http_htx.c:364,1
    - Dst: http_replace_stline
      Src: /src/haproxy/src/http_htx.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - htx
    - meth
    argTypes:
    - struct htx*
    - struct ist
    constantsTouched: []
    func_position:
      end: 366
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 366
    functionName: http_replace_req_meth
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - HTX_SL_REQ_VLEN
    - chunk_memcat
    - HTX_SL_REQ_UPTR
    - ist2
    - get_trash_chunk
    - find_http_meth
    - HTX_SL_REQ_VPTR
    - http_get_stline
    - HTX_SL_REQ_ULEN
    - http_replace_stline
    linkageType: ''
    returnType: int
    signature: http_replace_req_meth(struct htx *htx, const struct ist meth)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_htx.c:373,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_htx.c:374,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:381,1
    - Dst: HTX_SL_REQ_MPTR
      Src: /src/haproxy/src/http_htx.c:381,1
    - Dst: HTX_SL_REQ_MLEN
      Src: /src/haproxy/src/http_htx.c:381,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:382,1
    - Dst: HTX_SL_REQ_MLEN
      Src: /src/haproxy/src/http_htx.c:382,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:384,1
    - Dst: HTX_SL_REQ_VPTR
      Src: /src/haproxy/src/http_htx.c:384,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/http_htx.c:384,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:385,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/http_htx.c:385,1
    - Dst: http_replace_stline
      Src: /src/haproxy/src/http_htx.c:388,1
    - Dst: ASSUME_NONNULL
      Src: /src/haproxy/src/http_htx.c:392,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_htx.c:392,1
    - Dst: http_update_host
      Src: /src/haproxy/src/http_htx.c:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - htx
    - uri
    argTypes:
    - struct htx*
    - struct ist
    constantsTouched: []
    func_position:
      end: 401
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 401
    functionName: http_replace_req_uri
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - HTX_SL_REQ_VLEN
    - chunk_memcat
    - ist2
    - HTX_SL_REQ_MLEN
    - get_trash_chunk
    - HTX_SL_REQ_VPTR
    - http_get_stline
    - ASSUME_NONNULL
    - http_update_host
    - HTX_SL_REQ_MPTR
    - http_replace_stline
    linkageType: ''
    returnType: int
    signature: http_replace_req_uri(struct htx *htx, const struct ist uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_htx.c:410,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_htx.c:411,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_htx.c:419,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_htx.c:420,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_htx.c:421,1
    - Dst: isttest
      Src: /src/haproxy/src/http_htx.c:422,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:432,1
    - Dst: HTX_SL_REQ_MPTR
      Src: /src/haproxy/src/http_htx.c:432,1
    - Dst: HTX_SL_REQ_MLEN
      Src: /src/haproxy/src/http_htx.c:432,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:433,1
    - Dst: HTX_SL_REQ_MLEN
      Src: /src/haproxy/src/http_htx.c:433,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:435,1
    - Dst: HTX_SL_REQ_VPTR
      Src: /src/haproxy/src/http_htx.c:435,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/http_htx.c:435,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:436,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/http_htx.c:436,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:438,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/http_htx.c:439,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:440,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:441,1
    - Dst: http_replace_stline
      Src: /src/haproxy/src/http_htx.c:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - htx
    - path
    - with_qs
    argTypes:
    - struct htx*
    - struct ist
    - int
    constantsTouched: []
    func_position:
      end: 445
      start: 408
    functionDepth: 4
    functionLinenumber: 408
    functionLinenumberEnd: 445
    functionName: http_replace_req_path
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - chunk_istcat
    - htx_sl_req_uri
    - HTX_SL_REQ_VLEN
    - isttest
    - chunk_memcat
    - ist2
    - HTX_SL_REQ_MLEN
    - get_trash_chunk
    - HTX_SL_REQ_VPTR
    - http_replace_stline
    - http_uri_parser_init
    - http_get_stline
    - HTX_SL_REQ_MPTR
    - http_parse_path
    linkageType: ''
    returnType: int
    signature: http_replace_req_path(struct htx *htx, const struct ist path, int with_qs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_htx.c:453,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_htx.c:454,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_htx.c:461,1
    - Dst: istnext
      Src: /src/haproxy/src/http_htx.c:464,1
    - Dst: istnext
      Src: /src/haproxy/src/http_htx.c:471,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:477,1
    - Dst: HTX_SL_REQ_MPTR
      Src: /src/haproxy/src/http_htx.c:477,1
    - Dst: HTX_SL_REQ_MLEN
      Src: /src/haproxy/src/http_htx.c:477,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:478,1
    - Dst: HTX_SL_REQ_MLEN
      Src: /src/haproxy/src/http_htx.c:478,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:480,1
    - Dst: HTX_SL_REQ_VPTR
      Src: /src/haproxy/src/http_htx.c:480,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/http_htx.c:480,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:481,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/http_htx.c:481,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:483,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:484,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:485,1
    - Dst: http_replace_stline
      Src: /src/haproxy/src/http_htx.c:488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - htx
    - query
    argTypes:
    - struct htx*
    - struct ist
    constantsTouched: []
    func_position:
      end: 489
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 489
    functionName: http_replace_req_query
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - htx_sl_req_uri
    - HTX_SL_REQ_VLEN
    - chunk_memcat
    - ist2
    - HTX_SL_REQ_MLEN
    - get_trash_chunk
    - istnext
    - HTX_SL_REQ_VPTR
    - http_get_stline
    - HTX_SL_REQ_MPTR
    - http_replace_stline
    linkageType: ''
    returnType: int
    signature: http_replace_req_query(struct htx *htx, const struct ist query)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_htx.c:496,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_htx.c:497,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:504,1
    - Dst: HTX_SL_RES_VPTR
      Src: /src/haproxy/src/http_htx.c:504,1
    - Dst: HTX_SL_RES_VLEN
      Src: /src/haproxy/src/http_htx.c:504,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:505,1
    - Dst: HTX_SL_RES_VLEN
      Src: /src/haproxy/src/http_htx.c:505,1
    - Dst: isttest
      Src: /src/haproxy/src/http_htx.c:507,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:508,1
    - Dst: HTX_SL_RES_RPTR
      Src: /src/haproxy/src/http_htx.c:508,1
    - Dst: HTX_SL_RES_RLEN
      Src: /src/haproxy/src/http_htx.c:508,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:509,1
    - Dst: HTX_SL_RES_RLEN
      Src: /src/haproxy/src/http_htx.c:509,1
    - Dst: strl2ui
      Src: /src/haproxy/src/http_htx.c:513,1
    - Dst: http_replace_stline
      Src: /src/haproxy/src/http_htx.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - htx
    - status
    - reason
    argTypes:
    - struct htx*
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 515
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 515
    functionName: http_replace_res_status
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - HTX_SL_RES_VPTR
    - HTX_SL_RES_VLEN
    - chunk_memcat
    - ist2
    - isttest
    - get_trash_chunk
    - strl2ui
    - http_get_stline
    - HTX_SL_RES_RLEN
    - HTX_SL_RES_RPTR
    - http_replace_stline
    linkageType: ''
    returnType: int
    signature: http_replace_res_status(struct htx *htx, const struct ist status, const
      struct ist reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_htx.c:522,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_htx.c:523,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:530,1
    - Dst: HTX_SL_RES_VPTR
      Src: /src/haproxy/src/http_htx.c:530,1
    - Dst: HTX_SL_RES_VLEN
      Src: /src/haproxy/src/http_htx.c:530,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:531,1
    - Dst: HTX_SL_RES_VLEN
      Src: /src/haproxy/src/http_htx.c:531,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:533,1
    - Dst: HTX_SL_RES_CPTR
      Src: /src/haproxy/src/http_htx.c:533,1
    - Dst: HTX_SL_RES_CLEN
      Src: /src/haproxy/src/http_htx.c:533,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:534,1
    - Dst: HTX_SL_RES_CLEN
      Src: /src/haproxy/src/http_htx.c:534,1
    - Dst: http_replace_stline
      Src: /src/haproxy/src/http_htx.c:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - htx
    - reason
    argTypes:
    - struct htx*
    - struct ist
    constantsTouched: []
    func_position:
      end: 538
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 538
    functionName: http_replace_res_reason
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - HTX_SL_RES_CLEN
    - HTX_SL_RES_CPTR
    - HTX_SL_RES_VPTR
    - HTX_SL_RES_VLEN
    - chunk_memcat
    - ist2
    - get_trash_chunk
    - http_get_stline
    - http_replace_stline
    linkageType: ''
    returnType: int
    signature: http_replace_res_reason(struct htx *htx, const struct ist reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:560,1
    - Dst: istlen
      Src: /src/haproxy/src/http_htx.c:562,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_htx.c:566,1
    - Dst: istlen
      Src: /src/haproxy/src/http_htx.c:566,1
    - Dst: istend
      Src: /src/haproxy/src/http_htx.c:569,1
    - Dst: htx_replace_blk_value
      Src: /src/haproxy/src/http_htx.c:572,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:572,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:572,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:576,1
    - Dst: htx_replace_blk_value
      Src: /src/haproxy/src/http_htx.c:580,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:580,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:583,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:586,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - htx
    - ctx
    - data
    argTypes:
    - struct htx*
    - struct http_hdr_ctx*
    - struct ist
    constantsTouched: []
    func_position:
      end: 592
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 592
    functionName: http_append_header_value
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 1
    functionsReached:
    - istend
    - istlen
    - ist2
    - ist
    - htx_get_blk_value
    - unlikely
    - htx_replace_blk_value
    linkageType: ''
    returnType: int
    signature: http_append_header_value(struct htx *htx, struct http_hdr_ctx *ctx,
      const struct ist data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:613,1
    - Dst: istlen
      Src: /src/haproxy/src/http_htx.c:615,1
    - Dst: istptr
      Src: /src/haproxy/src/http_htx.c:616,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_htx.c:618,1
    - Dst: istlen
      Src: /src/haproxy/src/http_htx.c:618,1
    - Dst: htx_replace_blk_value
      Src: /src/haproxy/src/http_htx.c:623,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:623,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:626,1
    - Dst: htx_replace_blk_value
      Src: /src/haproxy/src/http_htx.c:633,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:633,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:633,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:636,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:640,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - htx
    - ctx
    - data
    argTypes:
    - struct htx*
    - struct http_hdr_ctx*
    - struct ist
    constantsTouched: []
    func_position:
      end: 646
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 646
    functionName: http_prepend_header_value
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - istlen
    - ist2
    - ist
    - istptr
    - htx_get_blk_value
    - unlikely
    - htx_replace_blk_value
    linkageType: ''
    returnType: int
    signature: http_prepend_header_value(struct htx *htx, struct http_hdr_ctx *ctx,
      const struct ist data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:663,1
    - Dst: htx_replace_blk_value
      Src: /src/haproxy/src/http_htx.c:668,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:668,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:672,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_htx.c:674,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/http_htx.c:676,1
    - Dst: isteq
      Src: /src/haproxy/src/http_htx.c:678,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:678,1
    - Dst: http_update_authority
      Src: /src/haproxy/src/http_htx.c:679,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_htx.c:682,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:682,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:684,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:689,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - htx
    - ctx
    - data
    argTypes:
    - struct htx*
    - struct http_hdr_ctx*
    - struct ist
    constantsTouched: []
    func_position:
      end: 695
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 695
    functionName: http_replace_header_value
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 1
    functionsReached:
    - htx_get_blk_name
    - http_find_header
    - ist2
    - isteq
    - ist
    - htx_get_blk_value
    - http_update_authority
    - http_get_stline
    - htx_replace_blk_value
    linkageType: ''
    returnType: int
    signature: http_replace_header_value(struct htx *htx, struct http_hdr_ctx *ctx,
      const struct ist data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_replace_header
      Src: /src/haproxy/src/http_htx.c:710,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_htx.c:714,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_htx.c:715,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:715,1
    - Dst: http_update_authority
      Src: /src/haproxy/src/http_htx.c:716,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_htx.c:719,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:719,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:724,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - htx
    - ctx
    - name
    - value
    argTypes:
    - struct htx*
    - struct http_hdr_ctx*
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 730
      start: 701
    functionDepth: 3
    functionLinenumber: 701
    functionLinenumberEnd: 730
    functionName: http_replace_header
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - htx_replace_header
    - ist
    - http_update_authority
    - http_get_stline
    - isteqi
    - http_find_header
    linkageType: ''
    returnType: int
    signature: "http_replace_header(struct htx *htx, struct http_hdr_ctx *ctx,\n\t\t\tconst
      struct ist name, const struct ist value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:752,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/http_htx.c:754,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_htx.c:755,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_htx.c:761,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:762,1
    - Dst: memmove
      Src: /src/haproxy/src/http_htx.c:784,1
    - Dst: htx_change_blk_value_len
      Src: /src/haproxy/src/http_htx.c:785,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - htx
    - ctx
    argTypes:
    - struct htx*
    - struct http_hdr_ctx*
    constantsTouched: []
    func_position:
      end: 792
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 792
    functionName: http_remove_header
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 3
    functionsReached:
    - ist2
    - htx_get_blk
    - memmove
    - htx_get_blk_value
    - htx_is_empty
    - htx_remove_blk
    - htx_change_blk_value_len
    linkageType: ''
    returnType: int
    signature: http_remove_header(struct htx *htx, struct http_hdr_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_htx.c:802,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_htx.c:806,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_htx.c:807,1
    - Dst: http_parse_authority
      Src: /src/haproxy/src/http_htx.c:808,1
    - Dst: isteq
      Src: /src/haproxy/src/http_htx.c:813,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:817,1
    - Dst: HTX_SL_REQ_MPTR
      Src: /src/haproxy/src/http_htx.c:817,1
    - Dst: HTX_SL_REQ_MLEN
      Src: /src/haproxy/src/http_htx.c:817,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:818,1
    - Dst: HTX_SL_REQ_MLEN
      Src: /src/haproxy/src/http_htx.c:818,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:820,1
    - Dst: HTX_SL_REQ_VPTR
      Src: /src/haproxy/src/http_htx.c:820,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/http_htx.c:820,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:821,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/http_htx.c:821,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:823,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/http_htx.c:824,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:825,1
    - Dst: istend
      Src: /src/haproxy/src/http_htx.c:825,1
    - Dst: istend
      Src: /src/haproxy/src/http_htx.c:825,1
    - Dst: istend
      Src: /src/haproxy/src/http_htx.c:825,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:826,1
    - Dst: http_replace_stline
      Src: /src/haproxy/src/http_htx.c:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - htx
    - sl
    - host
    argTypes:
    - struct htx*
    - struct htx_sl*
    - struct ist
    constantsTouched: []
    func_position:
      end: 830
      start: 800
    functionDepth: 3
    functionLinenumber: 800
    functionLinenumberEnd: 830
    functionName: http_update_authority
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 3
    functionsReached:
    - chunk_istcat
    - htx_sl_req_uri
    - istend
    - HTX_SL_REQ_VLEN
    - chunk_memcat
    - isteq
    - ist2
    - HTX_SL_REQ_MLEN
    - get_trash_chunk
    - HTX_SL_REQ_VPTR
    - HTX_SL_REQ_MPTR
    - http_parse_authority
    - http_uri_parser_init
    - http_replace_stline
    linkageType: ''
    returnType: int
    signature: http_update_authority(struct htx *htx, struct htx_sl *sl, const struct
      ist host)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_htx.c:843,1
    - Dst: http_parse_authority
      Src: /src/haproxy/src/http_htx.c:858,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_htx.c:869,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:869,1
    - Dst: http_replace_header_value
      Src: /src/haproxy/src/http_htx.c:870,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - htx
    - sl
    - uri
    argTypes:
    - struct htx*
    - struct htx_sl*
    - struct ist
    constantsTouched: []
    func_position:
      end: 878
      start: 839
    functionDepth: 4
    functionLinenumber: 839
    functionLinenumberEnd: 878
    functionName: http_update_host
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 1
    functionsReached:
    - http_replace_header_value
    - ist
    - http_parse_authority
    - http_find_header
    - http_uri_parser_init
    linkageType: ''
    returnType: int
    signature: http_update_host(struct htx *htx, struct htx_sl *sl, const struct ist
      uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_find_header
      Src: /src/haproxy/src/http_htx.c:906,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_htx.c:922,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 6
    argNames:
    - htx
    - hdr
    - occ
    - ctx
    - vptr
    - vlen
    argTypes:
    - struct htx*
    - struct ist
    - int
    - struct http_hdr_ctx*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 942
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 942
    functionName: http_get_htx_hdr
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 2
    functionsReached:
    - http_find_header
    linkageType: ''
    returnType: unsigned int
    signature: "http_get_htx_hdr(const struct htx *htx, const struct ist hdr,\n\t\t\t
      \     int occ, struct http_hdr_ctx *ctx, char **vptr, size_t *vlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_find_header
      Src: /src/haproxy/src/http_htx.c:970,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_htx.c:986,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 6
    argNames:
    - htx
    - hdr
    - occ
    - ctx
    - vptr
    - vlen
    argTypes:
    - struct htx*
    - struct ist
    - int
    - struct http_hdr_ctx*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1006
      start: 955
    functionDepth: 3
    functionLinenumber: 955
    functionLinenumberEnd: 1006
    functionName: http_get_htx_fhdr
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 1
    functionsReached:
    - http_find_header
    linkageType: ''
    returnType: unsigned int
    signature: "http_get_htx_fhdr(const struct htx *htx, const struct ist hdr,\n\t\t\t
      \      int occ, struct http_hdr_ctx *ctx, char **vptr, size_t *vlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_reset
      Src: /src/haproxy/src/http_htx.c:1018,1
    - Dst: malloc
      Src: /src/haproxy/src/http_htx.c:1026,1
    - Dst: h1m_init_res
      Src: /src/haproxy/src/http_htx.c:1030,1
    - Dst: h1_headers_to_hdr_list
      Src: /src/haproxy/src/http_htx.c:1032,1
    - Dst: istend
      Src: /src/haproxy/src/http_htx.c:1032,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1035,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_htx.c:1039,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1040,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1048,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1069,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1082,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1086,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/http_htx.c:1091,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/http_htx.c:1092,1
    - Dst: htx_add_all_headers
      Src: /src/haproxy/src/http_htx.c:1093,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1094,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1102,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1114,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 90
    argCount: 3
    argNames:
    - buf
    - raw
    - errmsg
    argTypes:
    - struct buffer*
    - struct ist
    - char**
    constantsTouched: []
    func_position:
      end: 1116
      start: 1008
    functionDepth: 4
    functionLinenumber: 1008
    functionLinenumberEnd: 1116
    functionName: http_str_to_htx
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - malloc
    - memprintf
    - htx_add_all_headers
    - istend
    - htx_from_buf
    - h1_headers_to_hdr_list
    - free
    - b_reset
    - h1m_init_res
    - unlikely
    - htx_add_stline
    linkageType: ''
    returnType: int
    signature: http_str_to_htx(struct buffer *buf, struct ist raw, char **errmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/http_htx.c:1125,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/http_htx.c:1126,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/http_htx.c:1127,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/http_htx.c:1128,1
    - Dst: istfree
      Src: /src/haproxy/src/http_htx.c:1129,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1130,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_htx.c:1134,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/http_htx.c:1137,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/http_htx.c:1139,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - http_reply
    argTypes:
    - struct http_reply*
    constantsTouched: []
    func_position:
      end: 1141
      start: 1118
    functionDepth: 3
    functionLinenumber: 1118
    functionLinenumberEnd: 1141
    functionName: release_http_reply
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - chunk_destroy
    - istfree
    - list_for_each_entry_safe
    - ha_free
    - LIST_DELETE
    - lf_expr_deinit
    - free
    linkageType: ''
    returnType: void
    signature: release_http_reply(struct http_reply *http_reply)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/src/http_htx.c:1153,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:1158,1
    - Dst: http_str_to_htx
      Src: /src/haproxy/src/http_htx.c:1159,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_htx.c:1160,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_htx.c:1165,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_htx.c:1170,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/http_htx.c:1176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1143
    functionDepth: 5
    functionLinenumber: 1143
    functionLinenumberEnd: 1181
    functionName: http_htx_init
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ha_free
    - ha_warning
    - ist
    - LIST_INIT
    - http_str_to_htx
    linkageType: ''
    returnType: int
    signature: http_htx_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_first
      Src: /src/haproxy/src/http_htx.c:1191,1
    - Dst: ebpt_next
      Src: /src/haproxy/src/http_htx.c:1193,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/http_htx.c:1194,1
    - Dst: container_of
      Src: /src/haproxy/src/http_htx.c:1195,1
    - Dst: typeof
      Src: /src/haproxy/src/http_htx.c:1195,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/http_htx.c:1196,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1197,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1198,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/http_htx.c:1202,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1203,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1204,1
    - Dst: release_http_reply
      Src: /src/haproxy/src/http_htx.c:1206,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/http_htx.c:1207,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1208,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/http_htx.c:1211,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/http_htx.c:1212,1
    - Dst: release_http_reply
      Src: /src/haproxy/src/http_htx.c:1213,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/http_htx.c:1217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1183
    functionDepth: 4
    functionLinenumber: 1183
    functionLinenumberEnd: 1218
    functionName: http_htx_deinit
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - chunk_destroy
    - container_of
    - list_for_each_entry_safe
    - LIST_DELETE
    - release_http_reply
    - free
    - typeof
    - ebpt_first
    - ebpt_delete
    - ebpt_next
    linkageType: ''
    returnType: void
    signature: http_htx_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebis_lookup_len
      Src: /src/haproxy/src/http_htx.c:1239,1
    - Dst: strlen
      Src: /src/haproxy/src/http_htx.c:1239,1
    - Dst: container_of
      Src: /src/haproxy/src/http_htx.c:1241,1
    - Dst: typeof
      Src: /src/haproxy/src/http_htx.c:1241,1
    - Dst: open
      Src: /src/haproxy/src/http_htx.c:1247,1
    - Dst: fstat
      Src: /src/haproxy/src/http_htx.c:1248,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1249,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_htx.c:1256,1
    - Dst: malloc
      Src: /src/haproxy/src/http_htx.c:1261,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1263,1
    - Dst: read
      Src: /src/haproxy/src/http_htx.c:1267,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1269,1
    - Dst: calloc
      Src: /src/haproxy/src/http_htx.c:1274,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1276,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:1279,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1281,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1282,1
    - Dst: http_str_to_htx
      Src: /src/haproxy/src/http_htx.c:1287,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:1287,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1288,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1289,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1290,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/http_htx.c:1296,1
    - Dst: close
      Src: /src/haproxy/src/http_htx.c:1301,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1302,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - file
    - errmsg
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1304
      start: 1227
    functionDepth: 5
    functionLinenumber: 1227
    functionLinenumberEnd: 1304
    functionName: http_load_errorfile
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - memprintf
    - malloc
    - container_of
    - ha_warning
    - strlen
    - calloc
    - ist2
    - ebis_insert
    - ebis_lookup_len
    - strdup
    - free
    - typeof
    - fstat
    - read
    - close
    - open
    - http_str_to_htx
    linkageType: ''
    returnType: struct buffer
    signature: '*http_load_errorfile(const char *file, char **errmsg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebis_lookup_len
      Src: /src/haproxy/src/http_htx.c:1318,1
    - Dst: strlen
      Src: /src/haproxy/src/http_htx.c:1318,1
    - Dst: container_of
      Src: /src/haproxy/src/http_htx.c:1320,1
    - Dst: typeof
      Src: /src/haproxy/src/http_htx.c:1320,1
    - Dst: calloc
      Src: /src/haproxy/src/http_htx.c:1325,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1327,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:1330,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1332,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1333,1
    - Dst: http_str_to_htx
      Src: /src/haproxy/src/http_htx.c:1338,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1339,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1340,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1341,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/http_htx.c:1347,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - key
    - msg
    - errmsg
    argTypes:
    - char*
    - struct ist
    - char**
    constantsTouched: []
    func_position:
      end: 1351
      start: 1310
    functionDepth: 5
    functionLinenumber: 1310
    functionLinenumberEnd: 1351
    functionName: http_load_errormsg
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - memprintf
    - container_of
    - strlen
    - calloc
    - ebis_insert
    - ebis_lookup_len
    - strdup
    - free
    - typeof
    - http_str_to_htx
    linkageType: ''
    returnType: struct buffer
    signature: '*http_load_errormsg(const char *key, const struct ist msg, char **errmsg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_load_errorfile
      Src: /src/haproxy/src/http_htx.c:1364,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - status
    - file
    - errmsg
    argTypes:
    - int
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1372
      start: 1357
    functionDepth: 6
    functionLinenumber: 1357
    functionLinenumberEnd: 1372
    functionName: http_parse_errorfile
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - memprintf
    - http_load_errorfile
    linkageType: ''
    returnType: struct buffer
    signature: '*http_parse_errorfile(int status, const char *file, char **errmsg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1401,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1402,1
    - Dst: strlen
      Src: /src/haproxy/src/http_htx.c:1407,1
    - Dst: strlen
      Src: /src/haproxy/src/http_htx.c:1407,1
    - Dst: malloc
      Src: /src/haproxy/src/http_htx.c:1408,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1410,1
    - Dst: snprintf
      Src: /src/haproxy/src/http_htx.c:1413,1
    - Dst: http_load_errormsg
      Src: /src/haproxy/src/http_htx.c:1416,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:1416,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1422,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1424,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1425,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - errloc
    - status
    - url
    - errmsg
    argTypes:
    - int
    - int
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1427
      start: 1380
    functionDepth: 6
    functionLinenumber: 1380
    functionLinenumberEnd: 1427
    functionName: http_parse_errorloc
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - memprintf
    - malloc
    - strlen
    - ist2
    - snprintf
    - http_load_errormsg
    - free
    linkageType: ''
    returnType: struct buffer
    signature: '*http_parse_errorloc(int errloc, int status, const char *url, char
      **errmsg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/http_htx.c:1446,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:1447,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1449,1
    - Dst: http_get_status_idx
      Src: /src/haproxy/src/http_htx.c:1450,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_htx.c:1452,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - reply
    - px
    - errmsg
    argTypes:
    - struct http_reply*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 1467
      start: 1438
    functionDepth: 3
    functionLinenumber: 1438
    functionLinenumberEnd: 1467
    functionName: http_check_http_reply
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - memprintf
    - list_for_each_entry
    - strcmp
    - ha_warning
    - free
    - http_get_status_idx
    linkageType: ''
    returnType: int
    signature: http_check_http_reply(struct http_reply *reply, struct proxy *px, char
      **errmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/http_htx.c:1496,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1498,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/http_htx.c:1501,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:1516,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1519,1
    - Dst: atol
      Src: /src/haproxy/src/http_htx.c:1522,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1524,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:1529,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1532,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1535,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:1536,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:1539,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1541,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1547,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:1550,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1552,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:1558,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1560,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:1567,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1569,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1575,1
    - Dst: http_load_errorfile
      Src: /src/haproxy/src/http_htx.c:1578,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:1585,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1587,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1593,1
    - Dst: open
      Src: /src/haproxy/src/http_htx.c:1596,1
    - Dst: fstat
      Src: /src/haproxy/src/http_htx.c:1597,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1598,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1602,1
    - Dst: malloc
      Src: /src/haproxy/src/http_htx.c:1607,1
    - Dst: read
      Src: /src/haproxy/src/http_htx.c:1608,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1609,1
    - Dst: close
      Src: /src/haproxy/src/http_htx.c:1612,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/http_htx.c:1615,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:1619,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1621,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1627,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:1630,1
    - Dst: strlen
      Src: /src/haproxy/src/http_htx.c:1631,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1633,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/http_htx.c:1637,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:1641,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1643,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1649,1
    - Dst: open
      Src: /src/haproxy/src/http_htx.c:1652,1
    - Dst: fstat
      Src: /src/haproxy/src/http_htx.c:1653,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1654,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1658,1
    - Dst: malloc
      Src: /src/haproxy/src/http_htx.c:1663,1
    - Dst: read
      Src: /src/haproxy/src/http_htx.c:1664,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1665,1
    - Dst: close
      Src: /src/haproxy/src/http_htx.c:1668,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_htx.c:1672,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:1675,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1677,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1683,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:1686,1
    - Dst: strlen
      Src: /src/haproxy/src/http_htx.c:1687,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_htx.c:1689,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:1692,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1695,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/http_htx.c:1698,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/http_htx.c:1699,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/http_htx.c:1700,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_htx.c:1701,1
    - Dst: calloc
      Src: /src/haproxy/src/http_htx.c:1706,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1708,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_htx.c:1711,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_htx.c:1712,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:1713,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:1713,1
    - Dst: isttest
      Src: /src/haproxy/src/http_htx.c:1714,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1715,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/http_htx.c:1718,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_htx.c:1729,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_htx.c:1732,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1747,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_htx.c:1754,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_htx.c:1757,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/http_htx.c:1759,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_htx.c:1760,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/http_htx.c:1763,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/http_htx.c:1764,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/http_htx.c:1765,1
    - Dst: istfree
      Src: /src/haproxy/src/http_htx.c:1766,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1767,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1773,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1777,1
    - Dst: b_data
      Src: /src/haproxy/src/http_htx.c:1780,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_htx.c:1781,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_htx.c:1784,1
    - Dst: b_room
      Src: /src/haproxy/src/http_htx.c:1786,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_htx.c:1787,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_htx.c:1793,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1795,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1799,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/http_htx.c:1802,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1806,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:1811,1
    - Dst: close
      Src: /src/haproxy/src/http_htx.c:1813,1
    - Dst: release_http_reply
      Src: /src/haproxy/src/http_htx.c:1814,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 328
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - default_status
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1816
      start: 1485
    functionDepth: 6
    functionLinenumber: 1485
    functionLinenumberEnd: 1816
    functionName: http_parse_http_reply
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - memprintf
    - b_room
    - ha_free
    - ha_warning
    - isttest
    - LIST_DELETE
    - ist
    - fstat
    - open
    - close
    - http_load_errorfile
    - istfree
    - lf_expr_init
    - LIST_ISEMPTY
    - strcmp
    - free
    - atol
    - chunk_initlen
    - strlen
    - lf_expr_deinit
    - strdup
    - LIST_INIT
    - b_data
    - read
    - malloc
    - strcasecmp
    - list_for_each_entry_safe
    - calloc
    - LIST_APPEND
    - release_http_reply
    - parse_logformat_string
    linkageType: ''
    returnType: struct http_reply
    signature: "*http_parse_http_reply(const char **args, int *orig_arg, struct proxy
      *px,\n\t\t\t\t\t int default_status, char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_htx.c:1835,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_htx.c:1840,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_htx.c:1842,1
    - Dst: http_parse_scheme
      Src: /src/haproxy/src/http_htx.c:1843,1
    - Dst: isttest
      Src: /src/haproxy/src/http_htx.c:1845,1
    - Dst: http_parse_authority
      Src: /src/haproxy/src/http_htx.c:1849,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_htx.c:1850,1
    - Dst: http_get_host_port
      Src: /src/haproxy/src/http_htx.c:1851,1
    - Dst: isttest
      Src: /src/haproxy/src/http_htx.c:1852,1
    - Dst: http_is_default_port
      Src: /src/haproxy/src/http_htx.c:1852,1
    - Dst: isttrim
      Src: /src/haproxy/src/http_htx.c:1855,1
    - Dst: istlen
      Src: /src/haproxy/src/http_htx.c:1855,1
    - Dst: istlen
      Src: /src/haproxy/src/http_htx.c:1855,1
    - Dst: isttest
      Src: /src/haproxy/src/http_htx.c:1859,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:1860,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_htx.c:1866,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:1870,1
    - Dst: HTX_SL_REQ_MPTR
      Src: /src/haproxy/src/http_htx.c:1870,1
    - Dst: HTX_SL_REQ_MLEN
      Src: /src/haproxy/src/http_htx.c:1870,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:1871,1
    - Dst: HTX_SL_REQ_MLEN
      Src: /src/haproxy/src/http_htx.c:1871,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:1874,1
    - Dst: HTX_SL_REQ_VPTR
      Src: /src/haproxy/src/http_htx.c:1874,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/http_htx.c:1874,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:1875,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/http_htx.c:1875,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_htx.c:1878,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/http_htx.c:1879,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/http_htx.c:1880,1
    - Dst: ist2
      Src: /src/haproxy/src/http_htx.c:1881,1
    - Dst: http_replace_stline
      Src: /src/haproxy/src/http_htx.c:1883,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_htx.c:1887,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:1887,1
    - Dst: http_replace_header_value
      Src: /src/haproxy/src/http_htx.c:1888,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1897
      start: 1827
    functionDepth: 4
    functionLinenumber: 1827
    functionLinenumberEnd: 1897
    functionName: http_scheme_based_normalize
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - isttest
    - chunk_memcat
    - http_replace_header_value
    - ist
    - http_is_default_port
    - http_get_stline
    - htx_sl_req_uri
    - istlen
    - ist2
    - http_get_host_port
    - get_trash_chunk
    - HTX_SL_REQ_VPTR
    - http_parse_path
    - http_replace_stline
    - HTX_SL_REQ_VLEN
    - HTX_SL_REQ_MLEN
    - http_uri_parser_init
    - HTX_SL_REQ_MPTR
    - chunk_istcat
    - isttrim
    - http_parse_authority
    - http_find_header
    - http_parse_scheme
    linkageType: ''
    returnType: int
    signature: http_scheme_based_normalize(struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/http_htx.c:1914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - list
    - idx
    - first
    - last
    argTypes:
    - struct http_hdr*
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 1928
      start: 1905
    functionDepth: 0
    functionLinenumber: 1905
    functionLinenumberEnd: 1928
    functionName: http_cookie_register
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: http_cookie_register(struct http_hdr *list, int idx, int *first, int
      *last)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_htx.c:1950,1
    - Dst: ist
      Src: /src/haproxy/src/http_htx.c:1950,1
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/http_htx.c:1955,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/http_htx.c:1956,1
    - Dst: htx_change_blk_value_len
      Src: /src/haproxy/src/http_htx.c:1970,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/http_htx.c:1971,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/http_htx.c:1972,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_htx.c:1973,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/http_htx.c:1973,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - htx
    - list
    - first
    argTypes:
    - struct htx*
    - struct http_hdr*
    - int
    constantsTouched: []
    func_position:
      end: 1979
      start: 1939
    functionDepth: 1
    functionLinenumber: 1939
    functionLinenumberEnd: 1979
    functionName: http_cookie_merge
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - htx_add_header
    - htx_get_blksz
    - htx_free_data_space
    - htx_get_blk_ptr
    - ist
    - memcpy
    - htx_change_blk_value_len
    linkageType: ''
    returnType: int
    signature: http_cookie_merge(struct htx *htx, struct http_hdr *list, int first)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/http_htx.c:1992,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:1998,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2003,1
    - Dst: atol
      Src: /src/haproxy/src/http_htx.c:2008,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:2009,1
    - Dst: http_parse_errorloc
      Src: /src/haproxy/src/http_htx.c:2010,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2012,1
    - Dst: calloc
      Src: /src/haproxy/src/http_htx.c:2017,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2019,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/http_htx.c:2026,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_htx.c:2028,1
    - Dst: calloc
      Src: /src/haproxy/src/http_htx.c:2030,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2032,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:2033,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:2041,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_htx.c:2043,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 7
    argNames:
    - args
    - section
    - curpx
    - defpx
    - file
    - line
    - errmsg
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2051
      start: 1982
    functionDepth: 7
    functionLinenumber: 1982
    functionLinenumberEnd: 2051
    functionName: proxy_parse_errorloc
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - calloc
    - LIST_APPEND
    - strdup
    - free
    - warnifnotcap
    - LIST_INIT
    - atol
    - http_parse_errorloc
    linkageType: ''
    returnType: int
    signature: "proxy_parse_errorloc(char **args, int section, struct proxy *curpx,\n\t\t\t\t
      \ const struct proxy *defpx, const char *file, int line,\n\t\t\t\t  char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/http_htx.c:2064,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2070,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2075,1
    - Dst: atol
      Src: /src/haproxy/src/http_htx.c:2080,1
    - Dst: http_parse_errorfile
      Src: /src/haproxy/src/http_htx.c:2081,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2083,1
    - Dst: calloc
      Src: /src/haproxy/src/http_htx.c:2088,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2090,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/http_htx.c:2097,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_htx.c:2099,1
    - Dst: calloc
      Src: /src/haproxy/src/http_htx.c:2101,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2103,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:2104,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:2111,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_htx.c:2113,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 7
    argNames:
    - args
    - section
    - curpx
    - defpx
    - file
    - line
    - errmsg
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2121
      start: 2054
    functionDepth: 7
    functionLinenumber: 2054
    functionLinenumberEnd: 2121
    functionName: proxy_parse_errorfile
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    - LIST_APPEND
    - strdup
    - free
    - warnifnotcap
    - LIST_INIT
    - http_parse_errorfile
    - atol
    linkageType: ''
    returnType: int
    signature: "proxy_parse_errorfile(char **args, int section, struct proxy *curpx,\n\t\t\t\t
      const struct proxy *defpx, const char *file, int line,\n\t\t\t\t char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/http_htx.c:2132,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2138,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:2143,1
    - Dst: calloc
      Src: /src/haproxy/src/http_htx.c:2144,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2146,1
    - Dst: atol
      Src: /src/haproxy/src/http_htx.c:2159,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2168,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:2173,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_htx.c:2175,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:2180,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:2181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 7
    argNames:
    - args
    - section
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2184
      start: 2124
    functionDepth: 3
    functionLinenumber: 2124
    functionLinenumberEnd: 2184
    functionName: proxy_parse_errorfiles
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    - LIST_APPEND
    - strdup
    - free
    - warnifnotcap
    - atol
    linkageType: ''
    returnType: int
    signature: "proxy_parse_errorfiles(char **args, int section, struct proxy *curpx,\n\t\t\t\t
      \ const struct proxy *defpx, const char *file, int line,\n\t\t\t\t  char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/http_htx.c:2195,1
    - Dst: http_parse_http_reply
      Src: /src/haproxy/src/http_htx.c:2202,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2204,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2208,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2218,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2222,1
    - Dst: calloc
      Src: /src/haproxy/src/http_htx.c:2226,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2228,1
    - Dst: release_http_reply
      Src: /src/haproxy/src/http_htx.c:2238,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_htx.c:2244,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:2246,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_htx.c:2248,1
    - Dst: release_http_reply
      Src: /src/haproxy/src/http_htx.c:2257,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 7
    argNames:
    - args
    - section
    - curpx
    - defpx
    - file
    - line
    - errmsg
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2261
      start: 2187
    functionDepth: 7
    functionLinenumber: 2187
    functionLinenumberEnd: 2261
    functionName: proxy_parse_http_error
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    - LIST_APPEND
    - http_parse_http_reply
    - release_http_reply
    - strdup
    - warnifnotcap
    linkageType: ''
    returnType: int
    signature: "proxy_parse_http_error(char **args, int section, struct proxy *curpx,\n\t\t\t\t
      \ const struct proxy *defpx, const char *file, int line,\n\t\t\t\t  char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/http_htx.c:2270,1
    - Dst: http_get_status_idx
      Src: /src/haproxy/src/http_htx.c:2273,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/http_htx.c:2282,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:2283,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_htx.c:2289,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:2292,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:2296,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_htx.c:2302,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/http_htx.c:2310,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:2311,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:2312,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2317
      start: 2264
    functionDepth: 3
    functionLinenumber: 2264
    functionLinenumberEnd: 2317
    functionName: proxy_check_errors
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - list_for_each_entry_safe
    - list_for_each_entry
    - strcmp
    - ha_warning
    - LIST_DELETE
    - free
    - http_get_status_idx
    linkageType: ''
    returnType: int
    signature: proxy_check_errors(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_first
      Src: /src/haproxy/src/http_htx.c:2326,1
    - Dst: container_of
      Src: /src/haproxy/src/http_htx.c:2328,1
    - Dst: typeof
      Src: /src/haproxy/src/http_htx.c:2328,1
    - Dst: b_is_null
      Src: /src/haproxy/src/http_htx.c:2329,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_htx.c:2331,1
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/http_htx.c:2332,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_htx.c:2333,1
    - Dst: ebpt_next
      Src: /src/haproxy/src/http_htx.c:2340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2319
    functionDepth: 1
    functionLinenumber: 2319
    functionLinenumberEnd: 2344
    functionName: post_check_errors
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - container_of
    - htx_free_data_space
    - ha_warning
    - b_is_null
    - htxbuf
    - typeof
    - ebpt_first
    - ebpt_next
    linkageType: ''
    returnType: int
    signature: post_check_errors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/http_htx.c:2351,1
    - Dst: calloc
      Src: /src/haproxy/src/http_htx.c:2352,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2354,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:2363,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2365,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_htx.c:2368,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:2371,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_htx.c:2373,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:2379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - curpx
    - defpx
    - errmsg
    argTypes:
    - struct proxy*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 2381
      start: 2346
    functionDepth: 3
    functionLinenumber: 2346
    functionLinenumberEnd: 2381
    functionName: proxy_dup_default_conf_errors
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - memprintf
    - list_for_each_entry
    - calloc
    - LIST_APPEND
    - strdup
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: proxy_dup_default_conf_errors(struct proxy *curpx, const struct proxy
      *defpx, char **errmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/http_htx.c:2387,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:2389,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/http_htx.c:2390,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:2391,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:2392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2394
      start: 2383
    functionDepth: 3
    functionLinenumber: 2383
    functionLinenumberEnd: 2394
    functionName: proxy_release_conf_errors
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - free
    - LIST_DELETE
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: proxy_release_conf_errors(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:2413,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_htx.c:2415,1
    - Dst: invalid_char
      Src: /src/haproxy/src/http_htx.c:2420,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_htx.c:2422,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/http_htx.c:2427,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:2429,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_htx.c:2430,1
    - Dst: calloc
      Src: /src/haproxy/src/http_htx.c:2436,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_htx.c:2437,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_htx.c:2442,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:2443,1
    - Dst: strdup
      Src: /src/haproxy/src/http_htx.c:2444,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_htx.c:2447,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_htx.c:2453,1
    - Dst: atol
      Src: /src/haproxy/src/http_htx.c:2459,1
    - Dst: http_parse_errorfile
      Src: /src/haproxy/src/http_htx.c:2460,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_htx.c:2462,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_htx.c:2467,1
    - Dst: calloc
      Src: /src/haproxy/src/http_htx.c:2471,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_htx.c:2473,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/http_htx.c:2480,1
    - Dst: http_get_status_idx
      Src: /src/haproxy/src/http_htx.c:2483,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_htx.c:2487,1
    - Dst: free
      Src: /src/haproxy/src/http_htx.c:2493,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 2495
      start: 2406
    functionDepth: 7
    functionLinenumber: 2406
    functionLinenumberEnd: 2495
    functionName: cfg_parse_http_errors
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - http_parse_errorfile
    - list_for_each_entry
    - strcmp
    - calloc
    - LIST_APPEND
    - ha_warning
    - strdup
    - free
    - LIST_INIT
    - http_get_status_idx
    - invalid_char
    - atol
    linkageType: ''
    returnType: int
    signature: cfg_parse_http_errors(const char *file, int linenum, char **args, int
      kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/http_htx.c:2524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2527
      start: 2518
    functionDepth: 0
    functionLinenumber: 2518
    functionLinenumberEnd: 2527
    functionName: smp_fetch_is_htx
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - IS_HTX_STRM
    linkageType: ''
    returnType: int
    signature: smp_fetch_is_htx(const struct arg *arg_p, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_htx.c:2541,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/http_htx.c:2545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2549
      start: 2531
    functionDepth: 3
    functionLinenumber: 2531
    functionLinenumberEnd: 2549
    functionName: smp_fetch_htx_nbblks
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - htx_nbblks
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_htx_nbblks(const struct arg *arg_p, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_htx.c:2563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2571
      start: 2553
    functionDepth: 3
    functionLinenumber: 2553
    functionLinenumberEnd: 2571
    functionName: smp_fetch_htx_size
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_htx_size(const struct arg *arg_p, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_htx.c:2585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2593
      start: 2575
    functionDepth: 3
    functionLinenumber: 2575
    functionLinenumberEnd: 2593
    functionName: smp_fetch_htx_data
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_htx_data(const struct arg *arg_p, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_htx.c:2607,1
    - Dst: htx_used_space
      Src: /src/haproxy/src/http_htx.c:2611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2615
      start: 2597
    functionDepth: 3
    functionLinenumber: 2597
    functionLinenumberEnd: 2615
    functionName: smp_fetch_htx_used
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - htx_used_space
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_htx_used(const struct arg *arg_p, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_htx.c:2629,1
    - Dst: htx_free_space
      Src: /src/haproxy/src/http_htx.c:2633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2637
      start: 2619
    functionDepth: 3
    functionLinenumber: 2619
    functionLinenumberEnd: 2637
    functionName: smp_fetch_htx_free
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - htx_free_space
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_htx_free(const struct arg *arg_p, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_htx.c:2651,1
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/http_htx.c:2655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2659
      start: 2641
    functionDepth: 3
    functionLinenumber: 2641
    functionLinenumberEnd: 2659
    functionName: smp_fetch_htx_free_data
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - htx_free_data_space
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_htx_free_data(const struct arg *arg_p, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_htx.c:2674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2682
      start: 2664
    functionDepth: 3
    functionLinenumber: 2664
    functionLinenumberEnd: 2682
    functionName: smp_fetch_htx_has_eom
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_htx_has_eom(const struct arg *arg_p, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_htx.c:2700,1
    - Dst: htx_get_head_type
      Src: /src/haproxy/src/http_htx.c:2706,1
    - Dst: htx_get_tail_type
      Src: /src/haproxy/src/http_htx.c:2708,1
    - Dst: htx_get_first_type
      Src: /src/haproxy/src/http_htx.c:2710,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_htx.c:2713,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_htx.c:2713,1
    - Dst: chunk_initstr
      Src: /src/haproxy/src/http_htx.c:2716,1
    - Dst: htx_blk_type_str
      Src: /src/haproxy/src/http_htx.c:2716,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2720
      start: 2688
    functionDepth: 3
    functionLinenumber: 2688
    functionLinenumberEnd: 2720
    functionName: smp_fetch_htx_blk_type
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - htx_blk_type_str
    - htx_get_blk
    - htx_get_head_type
    - htx_get_first_type
    - htx_get_tail_type
    - htx_get_blk_type
    - chunk_initstr
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_htx_blk_type(const struct arg *arg_p, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_htx.c:2737,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/http_htx.c:2743,1
    - Dst: htx_get_tail_blk
      Src: /src/haproxy/src/http_htx.c:2745,1
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/http_htx.c:2747,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_htx.c:2749,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/http_htx.c:2751,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2755
      start: 2725
    functionDepth: 3
    functionLinenumber: 2725
    functionLinenumberEnd: 2755
    functionName: smp_fetch_htx_blk_size
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - htx_get_blksz
    - htx_get_head_blk
    - htx_get_first_blk
    - htx_get_blk
    - htx_get_tail_blk
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_htx_blk_size(const struct arg *arg_p, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_htx.c:2775,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/http_htx.c:2781,1
    - Dst: htx_get_tail_blk
      Src: /src/haproxy/src/http_htx.c:2783,1
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/http_htx.c:2785,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_htx.c:2787,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_htx.c:2789,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_htx.c:2789,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/http_htx.c:2795,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_htx.c:2797,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/http_htx.c:2798,1
    - Dst: htx_sl_p1
      Src: /src/haproxy/src/http_htx.c:2798,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/http_htx.c:2800,1
    - Dst: htx_sl_p2
      Src: /src/haproxy/src/http_htx.c:2800,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/http_htx.c:2802,1
    - Dst: htx_sl_p3
      Src: /src/haproxy/src/http_htx.c:2802,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2810
      start: 2761
    functionDepth: 3
    functionLinenumber: 2761
    functionLinenumberEnd: 2810
    functionName: smp_fetch_htx_blk_stline
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - chunk_istcat
    - htx_get_head_blk
    - htx_get_blk_ptr
    - htx_sl_p3
    - htx_sl_p1
    - htx_get_first_blk
    - htx_get_blk
    - htx_get_blk_type
    - get_trash_chunk
    - htx_get_tail_blk
    - htx_sl_p2
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_htx_blk_stline(const struct arg *arg_p, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_htx.c:2828,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/http_htx.c:2834,1
    - Dst: htx_get_tail_blk
      Src: /src/haproxy/src/http_htx.c:2836,1
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/http_htx.c:2838,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_htx.c:2840,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_htx.c:2842,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_htx.c:2842,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/http_htx.c:2848,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/http_htx.c:2850,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2855
      start: 2816
    functionDepth: 3
    functionLinenumber: 2816
    functionLinenumberEnd: 2855
    functionName: smp_fetch_htx_blk_hdrname
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_name
    - htx_get_head_blk
    - htx_get_first_blk
    - htx_get_blk
    - htx_get_blk_type
    - htx_get_tail_blk
    - chunk_initlen
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_htx_blk_hdrname(const struct arg *arg_p, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_htx.c:2873,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/http_htx.c:2879,1
    - Dst: htx_get_tail_blk
      Src: /src/haproxy/src/http_htx.c:2881,1
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/http_htx.c:2883,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_htx.c:2885,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_htx.c:2887,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_htx.c:2887,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:2893,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/http_htx.c:2895,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2900
      start: 2861
    functionDepth: 3
    functionLinenumber: 2861
    functionLinenumberEnd: 2900
    functionName: smp_fetch_htx_blk_hdrval
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - htx_get_head_blk
    - htx_get_first_blk
    - htx_get_blk
    - htx_get_blk_type
    - htx_get_tail_blk
    - htx_get_blk_value
    - chunk_initlen
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_htx_blk_hdrval(const struct arg *arg_p, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/src/http_htx.c:2918,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/http_htx.c:2924,1
    - Dst: htx_get_tail_blk
      Src: /src/haproxy/src/http_htx.c:2926,1
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/http_htx.c:2928,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_htx.c:2930,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_htx.c:2932,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_htx.c:2938,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/http_htx.c:2940,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2945
      start: 2906
    functionDepth: 3
    functionLinenumber: 2906
    functionLinenumberEnd: 2945
    functionName: smp_fetch_htx_blk_data
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - htx_get_head_blk
    - htx_get_first_blk
    - htx_get_blk
    - htx_get_blk_type
    - htx_get_tail_blk
    - htx_get_blk_value
    - chunk_initlen
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: smp_fetch_htx_blk_data(const struct arg *arg_p, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2955,1
    - Dst: strncmp
      Src: /src/haproxy/src/http_htx.c:2958,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/http_htx.c:2959,1
    - Dst: strncmp
      Src: /src/haproxy/src/http_htx.c:2963,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/http_htx.c:2964,1
    - Dst: strncmp
      Src: /src/haproxy/src/http_htx.c:2968,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/http_htx.c:2969,1
    - Dst: isdigit
      Src: /src/haproxy/src/http_htx.c:2977,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2978,1
    - Dst: strl2uic
      Src: /src/haproxy/src/http_htx.c:2983,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_htx.c:2985,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/http_htx.c:2988,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - arg
    - err_msg
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 2994
      start: 2952
    functionDepth: 1
    functionLinenumber: 2952
    functionLinenumberEnd: 2994
    functionName: val_blk_arg
    functionSourceFile: /src/haproxy/src/http_htx.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_destroy
    - strncmp
    - isdigit
    - strl2uic
    linkageType: ''
    returnType: int
    signature: val_blk_arg(struct arg *arg, char **err_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/fcgi-app.c:53,1
    - Dst: isalnum
      Src: /src/haproxy/src/fcgi-app.c:56,1
    - Dst: ist2
      Src: /src/haproxy/src/fcgi-app.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - name
    argTypes:
    - char*
    - struct ist
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: fcgi_param_name
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - isalnum
    - ist2
    - memcpy
    linkageType: ''
    returnType: struct ist
    signature: fcgi_param_name(char *dst, const struct ist name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: fcgi_app_find_by_name
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct fcgi_app
    signature: '*fcgi_app_find_by_name(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/fcgi-app.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: find_px_fcgi_conf
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: struct fcgi_flt_conf
    signature: '*find_px_fcgi_conf(struct proxy *px)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/fcgi-app.c:97,1
    - Dst: strm_flt
      Src: /src/haproxy/src/fcgi-app.c:97,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/fcgi-app.c:98,1
    - Dst: FLT_CONF
      Src: /src/haproxy/src/fcgi-app.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 102
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 102
    functionName: find_strm_fcgi_ctx
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strm_flt
    - FLT_ID
    - FLT_CONF
    linkageType: ''
    returnType: struct fcgi_flt_ctx
    signature: '*find_strm_fcgi_ctx(struct stream *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_px_fcgi_conf
      Src: /src/haproxy/src/fcgi-app.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: get_px_fcgi_app
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - find_px_fcgi_conf
    linkageType: ''
    returnType: struct fcgi_app
    signature: '*get_px_fcgi_app(struct proxy *px)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_strm_fcgi_ctx
      Src: /src/haproxy/src/fcgi-app.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: get_strm_fcgi_app
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - find_strm_fcgi_ctx
    linkageType: ''
    returnType: struct fcgi_app
    signature: '*get_strm_fcgi_app(struct stream *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:126,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:127,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/fcgi-app.c:128,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct fcgi_rule_conf*
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 3
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: fcgi_release_rule_conf
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - free
    - free_acl_cond
    linkageType: ''
    returnType: void
    signature: fcgi_release_rule_conf(struct fcgi_rule_conf *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/fcgi-app.c:137,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct fcgi_rule*
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: fcgi_release_rule
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - free
    - lf_expr_deinit
    linkageType: ''
    returnType: void
    signature: fcgi_release_rule(struct fcgi_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_strm_fcgi_app
      Src: /src/haproxy/src/fcgi-app.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 159
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 159
    functionName: smp_fetch_fcgi_docroot
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - get_strm_fcgi_app
    linkageType: ''
    returnType: int
    signature: "smp_fetch_fcgi_docroot(const struct arg *args, struct sample *smp,\n\t\t\t\t
      \ const char *kw, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_strm_fcgi_app
      Src: /src/haproxy/src/fcgi-app.c:164,1
    - Dst: istlen
      Src: /src/haproxy/src/fcgi-app.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: smp_fetch_fcgi_index
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - get_strm_fcgi_app
    - istlen
    linkageType: ''
    returnType: int
    signature: "smp_fetch_fcgi_index(const struct arg *args, struct sample *smp,\n\t\t\t\tconst
      char *kw, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: fcgi_flt_init
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fcgi_flt_init(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:193,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/fcgi-app.c:195,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/fcgi-app.c:196,1
    - Dst: fcgi_release_rule
      Src: /src/haproxy/src/fcgi-app.c:197,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/fcgi-app.c:200,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/fcgi-app.c:201,1
    - Dst: fcgi_release_rule
      Src: /src/haproxy/src/fcgi-app.c:202,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 206
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 206
    functionName: fcgi_flt_deinit
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - free
    - LIST_DELETE
    - list_for_each_entry_safe
    - fcgi_release_rule
    linkageType: ''
    returnType: void
    signature: fcgi_flt_deinit(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fcgi_app_find_by_name
      Src: /src/haproxy/src/fcgi-app.c:216,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:218,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/fcgi-app.c:223,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:227,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:235,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/fcgi-app.c:241,1
    - Dst: calloc
      Src: /src/haproxy/src/fcgi-app.c:242,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:244,1
    - Dst: ist
      Src: /src/haproxy/src/fcgi-app.c:248,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/fcgi-app.c:250,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/fcgi-app.c:253,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:255,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/fcgi-app.c:261,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/fcgi-app.c:263,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:268,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:269,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 271
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 271
    functionName: fcgi_flt_check
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - list_for_each_entry_safe
    - lf_expr_init
    - fcgi_app_find_by_name
    - calloc
    - list_for_each_entry
    - LIST_APPEND
    - ist
    - free
    - parse_logformat_string
    linkageType: ''
    returnType: int
    signature: fcgi_flt_check(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/fcgi-app.c:275,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/fcgi-app.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 289
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 289
    functionName: fcgi_flt_start
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - FLT_CONF
    - pool_alloc
    linkageType: ''
    returnType: int
    signature: fcgi_flt_start(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free
      Src: /src/haproxy/src/fcgi-app.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 299
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 299
    functionName: fcgi_flt_stop
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - pool_free
    linkageType: ''
    returnType: void
    signature: fcgi_flt_stop(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_sess
      Src: /src/haproxy/src/fcgi-app.c:303,1
    - Dst: FLT_CONF
      Src: /src/haproxy/src/fcgi-app.c:305,1
    - Dst: htxbuf
      Src: /src/haproxy/src/fcgi-app.c:315,1
    - Dst: http_find_header
      Src: /src/haproxy/src/fcgi-app.c:322,1
    - Dst: ist
      Src: /src/haproxy/src/fcgi-app.c:322,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/fcgi-app.c:323,1
    - Dst: http_find_header
      Src: /src/haproxy/src/fcgi-app.c:327,1
    - Dst: ist
      Src: /src/haproxy/src/fcgi-app.c:327,1
    - Dst: get_gmtime
      Src: /src/haproxy/src/fcgi-app.c:330,1
    - Dst: strftime
      Src: /src/haproxy/src/fcgi-app.c:331,1
    - Dst: http_add_header
      Src: /src/haproxy/src/fcgi-app.c:333,1
    - Dst: ist
      Src: /src/haproxy/src/fcgi-app.c:333,1
    - Dst: ist2
      Src: /src/haproxy/src/fcgi-app.c:333,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/fcgi-app.c:337,1
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/fcgi-app.c:345,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/fcgi-app.c:345,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/fcgi-app.c:346,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/fcgi-app.c:351,1
    - Dst: ultoa_o
      Src: /src/haproxy/src/fcgi-app.c:353,1
    - Dst: http_add_header
      Src: /src/haproxy/src/fcgi-app.c:354,1
    - Dst: ist
      Src: /src/haproxy/src/fcgi-app.c:354,1
    - Dst: ist2
      Src: /src/haproxy/src/fcgi-app.c:354,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/fcgi-app.c:365,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/fcgi-app.c:369,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/fcgi-app.c:370,1
    - Dst: ebis_lookup_len
      Src: /src/haproxy/src/fcgi-app.c:374,1
    - Dst: container_of
      Src: /src/haproxy/src/fcgi-app.c:376,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/fcgi-app.c:377,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/fcgi-app.c:380,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/fcgi-app.c:388,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/fcgi-app.c:391,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/fcgi-app.c:392,1
    - Dst: ebis_lookup_len
      Src: /src/haproxy/src/fcgi-app.c:396,1
    - Dst: container_of
      Src: /src/haproxy/src/fcgi-app.c:398,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/fcgi-app.c:399,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/fcgi-app.c:402,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/fcgi-app.c:410,1
    - Dst: ebpt_first
      Src: /src/haproxy/src/fcgi-app.c:413,1
    - Dst: ebpt_next
      Src: /src/haproxy/src/fcgi-app.c:415,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/fcgi-app.c:416,1
    - Dst: container_of
      Src: /src/haproxy/src/fcgi-app.c:417,1
    - Dst: b_reset
      Src: /src/haproxy/src/fcgi-app.c:420,1
    - Dst: build_logline
      Src: /src/haproxy/src/fcgi-app.c:421,1
    - Dst: pool_free
      Src: /src/haproxy/src/fcgi-app.c:423,1
    - Dst: http_add_header
      Src: /src/haproxy/src/fcgi-app.c:426,1
    - Dst: ist2
      Src: /src/haproxy/src/fcgi-app.c:426,1
    - Dst: pool_free
      Src: /src/haproxy/src/fcgi-app.c:428,1
    - Dst: ebpt_first
      Src: /src/haproxy/src/fcgi-app.c:431,1
    - Dst: ebpt_next
      Src: /src/haproxy/src/fcgi-app.c:433,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/fcgi-app.c:434,1
    - Dst: container_of
      Src: /src/haproxy/src/fcgi-app.c:435,1
    - Dst: http_find_header
      Src: /src/haproxy/src/fcgi-app.c:440,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/fcgi-app.c:441,1
    - Dst: pool_free
      Src: /src/haproxy/src/fcgi-app.c:443,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/fcgi-app.c:449,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/fcgi-app.c:450,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/fcgi-app.c:452,1
    - Dst: objt_server
      Src: /src/haproxy/src/fcgi-app.c:453,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/fcgi-app.c:454,1
    - Dst: __objt_server
      Src: /src/haproxy/src/fcgi-app.c:454,1
    - Dst: ebpt_first
      Src: /src/haproxy/src/fcgi-app.c:456,1
    - Dst: ebpt_next
      Src: /src/haproxy/src/fcgi-app.c:458,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/fcgi-app.c:459,1
    - Dst: container_of
      Src: /src/haproxy/src/fcgi-app.c:460,1
    - Dst: pool_free
      Src: /src/haproxy/src/fcgi-app.c:462,1
    - Dst: ebpt_first
      Src: /src/haproxy/src/fcgi-app.c:465,1
    - Dst: ebpt_next
      Src: /src/haproxy/src/fcgi-app.c:467,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/fcgi-app.c:468,1
    - Dst: container_of
      Src: /src/haproxy/src/fcgi-app.c:469,1
    - Dst: pool_free
      Src: /src/haproxy/src/fcgi-app.c:471,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/fcgi-app.c:474,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 135
    argCount: 3
    argNames:
    - s
    - filter
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 476
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 476
    functionName: fcgi_flt_http_headers
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - FLT_CONF
    - ist
    - pool_alloc
    - free_trash_chunk
    - strm_sess
    - http_get_stline
    - htx_get_next_blk
    - alloc_trash_chunk
    - list_for_each_entry
    - http_find_header
    - ist2
    - ebis_lookup_len
    - ultoa_o
    - __objt_server
    - b_reset
    - htx_get_blksz
    - objt_server
    - get_gmtime
    - _HA_ATOMIC_INC
    - build_logline
    - htxbuf
    - pool_free
    - htx_get_blk_type
    - strftime
    - ebpt_delete
    - http_add_header
    - container_of
    - htx_get_first_blk
    - ebis_insert
    - ebpt_first
    - http_remove_header
    - acl_match_cond
    - ebpt_next
    linkageType: ''
    returnType: int
    signature: fcgi_flt_http_headers(struct stream *s, struct filter *filter, struct
      http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/fcgi-app.c:503,1
    - Dst: strdup
      Src: /src/haproxy/src/fcgi-app.c:506,1
    - Dst: memprintf
      Src: /src/haproxy/src/fcgi-app.c:508,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/fcgi-app.c:514,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:518,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/fcgi-app.c:524,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:525,1
    - Dst: ha_free
      Src: /src/haproxy/src/fcgi-app.c:526,1
    - Dst: calloc
      Src: /src/haproxy/src/fcgi-app.c:532,1
    - Dst: memprintf
      Src: /src/haproxy/src/fcgi-app.c:534,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/fcgi-app.c:538,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/fcgi-app.c:539,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:549,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - fconf
    - err
    - private
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct flt_conf*
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 551
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 551
    functionName: parse_fcgi_flt
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - memprintf
    - list_for_each_entry_safe
    - ha_free
    - strcmp
    - calloc
    - LIST_DELETE
    - strdup
    - free
    - LIST_INIT
    linkageType: ''
    returnType: int
    signature: "parse_fcgi_flt(char **args, int *cur_arg, struct proxy *px,\n\t       struct
      flt_conf *fconf, char **err, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/fcgi-app.c:563,1
    - Dst: memprintf
      Src: /src/haproxy/src/fcgi-app.c:569,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/fcgi-app.c:576,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:579,1
    - Dst: memprintf
      Src: /src/haproxy/src/fcgi-app.c:581,1
    - Dst: calloc
      Src: /src/haproxy/src/fcgi-app.c:588,1
    - Dst: strdup
      Src: /src/haproxy/src/fcgi-app.c:591,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/fcgi-app.c:594,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/fcgi-app.c:595,1
    - Dst: calloc
      Src: /src/haproxy/src/fcgi-app.c:598,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/fcgi-app.c:604,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:610,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:611,1
    - Dst: memprintf
      Src: /src/haproxy/src/fcgi-app.c:613,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 7
    argNames:
    - args
    - section
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 616
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 616
    functionName: proxy_parse_use_fcgi_app
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - memprintf
    - list_for_each_entry
    - strcmp
    - calloc
    - LIST_APPEND
    - strdup
    - free
    - LIST_INIT
    linkageType: ''
    returnType: int
    signature: "proxy_parse_use_fcgi_app(char **args, int section, struct proxy *curpx,\n\t\t\t\t
      \   const struct proxy *defpx, const char *file, int line,\n\t\t\t\t    char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_px_fcgi_conf
      Src: /src/haproxy/src/fcgi-app.c:627,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:631,1
    - Dst: isteq
      Src: /src/haproxy/src/fcgi-app.c:644,1
    - Dst: ist
      Src: /src/haproxy/src/fcgi-app.c:644,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:648,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:655,1
    - Dst: istlen
      Src: /src/haproxy/src/fcgi-app.c:663,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:664,1
    - Dst: ha_warning
      Src: /src/haproxy/src/fcgi-app.c:671,1
    - Dst: postresolve_logger_list
      Src: /src/haproxy/src/fcgi-app.c:679,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 684
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 684
    functionName: cfg_fcgi_apps_postparser
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - find_px_fcgi_conf
    - ha_warning
    - istlen
    - postresolve_logger_list
    - isteq
    - ist
    linkageType: ''
    returnType: int
    signature: cfg_fcgi_apps_postparser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/fcgi-app.c:692,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/fcgi-app.c:695,1
    - Dst: fcgi_param_name
      Src: /src/haproxy/src/fcgi-app.c:698,1
    - Dst: ist
      Src: /src/haproxy/src/fcgi-app.c:698,1
    - Dst: my_strndup
      Src: /src/haproxy/src/fcgi-app.c:699,1
    - Dst: ist2bin_lc
      Src: /src/haproxy/src/fcgi-app.c:702,1
    - Dst: ist
      Src: /src/haproxy/src/fcgi-app.c:702,1
    - Dst: my_strndup
      Src: /src/haproxy/src/fcgi-app.c:703,1
    - Dst: strdup
      Src: /src/haproxy/src/fcgi-app.c:709,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/fcgi-app.c:714,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:719,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:720,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:721,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/fcgi-app.c:723,1
    - Dst: memprintf
      Src: /src/haproxy/src/fcgi-app.c:724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 6
    argNames:
    - curapp
    - type
    - name
    - value
    - cond
    - err
    argTypes:
    - struct fcgi_app*
    - enum fcgi_rule_type
    - char*
    - char*
    - struct acl_cond*
    - char**
    constantsTouched: []
    func_position:
      end: 726
      start: 686
    functionDepth: 3
    functionLinenumber: 686
    functionLinenumberEnd: 726
    functionName: fcgi_app_add_rule
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    - LIST_APPEND
    - ist
    - free_acl_cond
    - fcgi_param_name
    - strdup
    - free
    - LIST_INIT
    - ist2bin_lc
    - my_strndup
    linkageType: ''
    returnType: int
    signature: "fcgi_app_add_rule(struct fcgi_app *curapp, enum fcgi_rule_type type,
      char *name, char *value,\n\t\t\t     struct acl_cond *cond, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:739,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:741,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/fcgi-app.c:746,1
    - Dst: invalid_char
      Src: /src/haproxy/src/fcgi-app.c:749,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:751,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:758,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:759,1
    - Dst: calloc
      Src: /src/haproxy/src/fcgi-app.c:765,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:767,1
    - Dst: ist
      Src: /src/haproxy/src/fcgi-app.c:775,1
    - Dst: ist
      Src: /src/haproxy/src/fcgi-app.c:776,1
    - Dst: strdup
      Src: /src/haproxy/src/fcgi-app.c:778,1
    - Dst: strdup
      Src: /src/haproxy/src/fcgi-app.c:780,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/fcgi-app.c:782,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/fcgi-app.c:783,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/fcgi-app.c:784,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/fcgi-app.c:785,1
    - Dst: fcgi_app_add_rule
      Src: /src/haproxy/src/fcgi-app.c:788,1
    - Dst: fcgi_app_add_rule
      Src: /src/haproxy/src/fcgi-app.c:789,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:790,1
    - Dst: fcgi_app_add_rule
      Src: /src/haproxy/src/fcgi-app.c:796,1
    - Dst: fcgi_app_add_rule
      Src: /src/haproxy/src/fcgi-app.c:797,1
    - Dst: fcgi_app_add_rule
      Src: /src/haproxy/src/fcgi-app.c:798,1
    - Dst: fcgi_app_add_rule
      Src: /src/haproxy/src/fcgi-app.c:799,1
    - Dst: fcgi_app_add_rule
      Src: /src/haproxy/src/fcgi-app.c:800,1
    - Dst: fcgi_app_add_rule
      Src: /src/haproxy/src/fcgi-app.c:801,1
    - Dst: fcgi_app_add_rule
      Src: /src/haproxy/src/fcgi-app.c:802,1
    - Dst: fcgi_app_add_rule
      Src: /src/haproxy/src/fcgi-app.c:803,1
    - Dst: fcgi_app_add_rule
      Src: /src/haproxy/src/fcgi-app.c:804,1
    - Dst: fcgi_app_add_rule
      Src: /src/haproxy/src/fcgi-app.c:805,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:806,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:811,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:813,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/fcgi-app.c:818,1
    - Dst: istfree
      Src: /src/haproxy/src/fcgi-app.c:820,1
    - Dst: ist
      Src: /src/haproxy/src/fcgi-app.c:821,1
    - Dst: strdup
      Src: /src/haproxy/src/fcgi-app.c:821,1
    - Dst: isttest
      Src: /src/haproxy/src/fcgi-app.c:822,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:823,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:827,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:829,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/fcgi-app.c:834,1
    - Dst: regex_free
      Src: /src/haproxy/src/fcgi-app.c:836,1
    - Dst: regex_comp
      Src: /src/haproxy/src/fcgi-app.c:837,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:839,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:844,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:846,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/fcgi-app.c:851,1
    - Dst: istfree
      Src: /src/haproxy/src/fcgi-app.c:853,1
    - Dst: ist
      Src: /src/haproxy/src/fcgi-app.c:854,1
    - Dst: strdup
      Src: /src/haproxy/src/fcgi-app.c:854,1
    - Dst: isttest
      Src: /src/haproxy/src/fcgi-app.c:855,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:856,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:860,1
    - Dst: invalid_char
      Src: /src/haproxy/src/fcgi-app.c:862,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:864,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/fcgi-app.c:869,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:870,1
    - Dst: parse_acl
      Src: /src/haproxy/src/fcgi-app.c:876,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:877,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:883,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:885,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:900,1
    - Dst: parse_acl_cond
      Src: /src/haproxy/src/fcgi-app.c:901,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:903,1
    - Dst: parse_acl_cond
      Src: /src/haproxy/src/fcgi-app.c:904,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:907,1
    - Dst: fcgi_app_add_rule
      Src: /src/haproxy/src/fcgi-app.c:912,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:913,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:919,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:921,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:934,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:936,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:949,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:951,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:964,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:966,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:970,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/fcgi-app.c:971,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:978,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/fcgi-app.c:979,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:986,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/fcgi-app.c:987,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:994,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:996,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:1002,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/fcgi-app.c:1007,1
    - Dst: atol
      Src: /src/haproxy/src/fcgi-app.c:1010,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:1012,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:1019,1
    - Dst: strcmp
      Src: /src/haproxy/src/fcgi-app.c:1023,1
    - Dst: parse_logger
      Src: /src/haproxy/src/fcgi-app.c:1024,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:1025,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fcgi-app.c:1030,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 266
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 1032
      start: 729
    functionDepth: 5
    functionLinenumber: 729
    functionLinenumberEnd: 1032
    functionName: cfg_parse_fcgi_app
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - isttest
    - ist
    - regex_free
    - istfree
    - strcmp
    - alertif_too_many_args
    - regex_comp
    - atol
    - strdup
    - LIST_INIT
    - strcasecmp
    - parse_logger
    - calloc
    - fcgi_app_add_rule
    - alertif_too_many_args_idx
    - parse_acl_cond
    - parse_acl
    - invalid_char
    linkageType: ''
    returnType: int
    signature: cfg_parse_fcgi_app(const char *file, int linenum, char **args, int
      kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:1051,1
    - Dst: istfree
      Src: /src/haproxy/src/fcgi-app.c:1052,1
    - Dst: istfree
      Src: /src/haproxy/src/fcgi-app.c:1053,1
    - Dst: regex_free
      Src: /src/haproxy/src/fcgi-app.c:1054,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:1055,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/fcgi-app.c:1057,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/fcgi-app.c:1058,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:1059,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/fcgi-app.c:1062,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/fcgi-app.c:1063,1
    - Dst: fcgi_release_rule_conf
      Src: /src/haproxy/src/fcgi-app.c:1064,1
    - Dst: free
      Src: /src/haproxy/src/fcgi-app.c:1068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1043
    functionDepth: 4
    functionLinenumber: 1043
    functionLinenumberEnd: 1070
    functionName: fcgi_apps_deinit
    functionSourceFile: /src/haproxy/src/fcgi-app.c
    functionUses: 0
    functionsReached:
    - istfree
    - list_for_each_entry_safe
    - LIST_DELETE
    - free
    - fcgi_release_rule_conf
    - regex_free
    linkageType: ''
    returnType: void
    signature: fcgi_apps_deinit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/haproxy/src/queue.c:113,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/queue.c:117,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/queue.c:118,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/queue.c:120,1
    - Dst: MAX
      Src: /src/haproxy/src/queue.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: srv_dynamic_maxconn
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 6
    functionsReached:
    - ns_to_sec
    - MAX
    linkageType: ''
    returnType: unsigned int
    signature: srv_dynamic_maxconn(const struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/queue.c:135,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/queue.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct pendconn*
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: __pendconn_unlink_srv
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_LOAD
    - eb32_delete
    linkageType: ''
    returnType: void
    signature: __pendconn_unlink_srv(struct pendconn *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/queue.c:148,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/queue.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct pendconn*
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: __pendconn_unlink_prx
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_LOAD
    - eb32_delete
    linkageType: ''
    returnType: void
    signature: __pendconn_unlink_prx(struct pendconn *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/queue.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct pendconn*
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: pendconn_queue_lock
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    linkageType: ''
    returnType: void
    signature: pendconn_queue_lock(struct pendconn *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/queue.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct pendconn*
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: pendconn_queue_unlock
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: void
    signature: pendconn_queue_unlock(struct pendconn *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/queue.c:186,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/queue.c:187,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/queue.c:188,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/queue.c:191,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/queue.c:195,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/queue.c:196,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/queue.c:205,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/queue.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct pendconn*
    constantsTouched: []
    func_position:
      end: 208
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 208
    functionName: pendconn_unlink
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 0
    functionsReached:
    - eb32_delete
    - _HA_ATOMIC_DEC
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: void
    signature: pendconn_unlink(struct pendconn *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_first
      Src: /src/haproxy/src/queue.c:220,1
    - Dst: KEY_CLASS_OFFSET_BOUNDARY
      Src: /src/haproxy/src/queue.c:224,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/queue.c:225,1
    - Dst: KEY_CLASS
      Src: /src/haproxy/src/queue.c:228,1
    - Dst: KEY_CLASS
      Src: /src/haproxy/src/queue.c:228,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/queue.c:230,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/queue.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pendconns
    argTypes:
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 235
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 235
    functionName: pendconn_first
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 0
    functionsReached:
    - eb32_first
    - KEY_CLASS
    - eb32_lookup_ge
    - eb32_entry
    - KEY_CLASS_OFFSET_BOUNDARY
    linkageType: ''
    returnType: struct pendconn
    signature: '*pendconn_first(struct eb_root *pendconns)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pendconn_first
      Src: /src/haproxy/src/queue.c:268,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/queue.c:275,1
    - Dst: pendconn_first
      Src: /src/haproxy/src/queue.c:276,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/queue.c:278,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/queue.c:284,1
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/src/queue.c:285,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/queue.c:288,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/queue.c:293,1
    - Dst: KEY_CLASS
      Src: /src/haproxy/src/queue.c:308,1
    - Dst: KEY_CLASS
      Src: /src/haproxy/src/queue.c:308,1
    - Dst: KEY_CLASS
      Src: /src/haproxy/src/queue.c:311,1
    - Dst: KEY_CLASS
      Src: /src/haproxy/src/queue.c:311,1
    - Dst: KEY_OFFSET
      Src: /src/haproxy/src/queue.c:314,1
    - Dst: KEY_OFFSET
      Src: /src/haproxy/src/queue.c:315,1
    - Dst: NOW_OFFSET_BOUNDARY
      Src: /src/haproxy/src/queue.c:317,1
    - Dst: NOW_OFFSET_BOUNDARY
      Src: /src/haproxy/src/queue.c:320,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/queue.c:331,1
    - Dst: __pendconn_unlink_prx
      Src: /src/haproxy/src/queue.c:334,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/queue.c:335,1
    - Dst: stream_add_srv_conn
      Src: /src/haproxy/src/queue.c:339,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/queue.c:346,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/queue.c:347,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/queue.c:349,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/queue.c:350,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/queue.c:351,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/queue.c:357,1
    - Dst: stream_add_srv_conn
      Src: /src/haproxy/src/queue.c:361,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/queue.c:368,1
    - Dst: __pendconn_unlink_srv
      Src: /src/haproxy/src/queue.c:369,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/queue.c:371,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/queue.c:372,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/queue.c:373,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 4
    argNames:
    - srv
    - px
    - px_ok
    - tgrp
    argTypes:
    - struct server*
    - struct proxy*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 375
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 375
    functionName: pendconn_process_next_strm
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 0
    functionsReached:
    - __pendconn_unlink_srv
    - srv_dynamic_maxconn
    - _HA_ATOMIC_DEC
    - _HA_ATOMIC_CAS
    - NOW_OFFSET_BOUNDARY
    - __pendconn_unlink_prx
    - task_wakeup
    - HA_SPIN_UNLOCK
    - KEY_CLASS
    - _HA_ATOMIC_INC
    - HA_SPIN_LOCK
    - stream_add_srv_conn
    - KEY_OFFSET
    - _HA_ATOMIC_LOAD
    - pendconn_first
    linkageType: ''
    returnType: int
    signature: pendconn_process_next_strm(struct server *srv, struct proxy *px, int
      px_ok, int tgrp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/queue.c:393,1
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/src/queue.c:420,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/queue.c:428,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/queue.c:437,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/queue.c:456,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/queue.c:456,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/src/queue.c:465,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/queue.c:470,1
    - Dst: pendconn_process_next_strm
      Src: /src/haproxy/src/queue.c:476,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/queue.c:482,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/queue.c:487,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/queue.c:488,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/src/queue.c:492,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/queue.c:493,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/queue.c:494,1
    - Dst: struct proxy*::lbprm::server_take_conn
      Src: /src/haproxy/src/queue.c:496,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/queue.c:498,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/queue.c:509,1
    - Dst: pendconn_process_next_strm
      Src: /src/haproxy/src/queue.c:516,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/src/queue.c:517,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/queue.c:518,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 61
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 525
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 525
    functionName: process_srv_queue
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 5
    functionsReached:
    - srv_dynamic_maxconn
    - _HA_ATOMIC_SUB
    - _HA_ATOMIC_CAS
    - _HA_ATOMIC_INC
    - __ha_cpu_relax
    - srv_currently_usable
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - struct proxy*::lbprm::server_take_conn
    - HA_ATOMIC_LOAD
    - pendconn_process_next_strm
    - _HA_ATOMIC_LOAD
    - HA_ATOMIC_XCHG
    - __ha_barrier_atomic_store
    - HA_ATOMIC_STORE
    - _HA_ATOMIC_ADD
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: int
    signature: process_srv_queue(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/queue.c:556,1
    - Dst: MAKE_KEY
      Src: /src/haproxy/src/queue.c:561,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/queue.c:564,1
    - Dst: objt_server
      Src: /src/haproxy/src/queue.c:569,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/queue.c:585,1
    - Dst: _HA_ATOMIC_ADD_FETCH
      Src: /src/haproxy/src/queue.c:586,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/queue.c:587,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/queue.c:588,1
    - Dst: likely
      Src: /src/haproxy/src/queue.c:590,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/queue.c:590,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/queue.c:593,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/queue.c:595,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/queue.c:596,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/queue.c:597,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/queue.c:599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - strm
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 601
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 601
    functionName: pendconn_add
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 1
    functionsReached:
    - objt_server
    - HA_SPIN_INIT
    - _HA_ATOMIC_ADD_FETCH
    - _HA_ATOMIC_INC
    - _HA_ATOMIC_CAS
    - eb32_insert
    - HA_SPIN_UNLOCK
    - pool_alloc
    - HA_SPIN_LOCK
    - likely
    - _HA_ATOMIC_LOAD
    - __ha_barrier_atomic_store
    - MAKE_KEY
    linkageType: ''
    returnType: struct pendconn
    signature: '*pendconn_add(struct stream *strm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/queue.c:627,1
    - Dst: eb32_first
      Src: /src/haproxy/src/queue.c:628,1
    - Dst: eb32_next
      Src: /src/haproxy/src/queue.c:629,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/queue.c:631,1
    - Dst: __pendconn_unlink_srv
      Src: /src/haproxy/src/queue.c:636,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/queue.c:640,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/queue.c:643,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/src/queue.c:646,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/src/queue.c:650,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/src/queue.c:651,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/queue.c:662,1
    - Dst: eb32_first
      Src: /src/haproxy/src/queue.c:663,1
    - Dst: eb32_next
      Src: /src/haproxy/src/queue.c:664,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/queue.c:665,1
    - Dst: __pendconn_unlink_prx
      Src: /src/haproxy/src/queue.c:671,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/queue.c:673,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/queue.c:676,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/src/queue.c:678,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/src/queue.c:683,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/src/queue.c:684,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 688
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 688
    functionName: pendconn_redistribute
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 0
    functionsReached:
    - __pendconn_unlink_srv
    - _HA_ATOMIC_SUB
    - __pendconn_unlink_prx
    - task_wakeup
    - eb32_first
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - eb32_next
    - eb32_entry
    linkageType: ''
    returnType: int
    signature: pendconn_redistribute(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/queue.c:709,1
    - Dst: pendconn_queue_lock
      Src: /src/haproxy/src/queue.c:719,1
    - Dst: pendconn_queue_unlock
      Src: /src/haproxy/src/queue.c:721,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/queue.c:724,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/queue.c:725,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/queue.c:738,1
    - Dst: pool_free
      Src: /src/haproxy/src/queue.c:747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - strm
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 749
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 749
    functionName: pendconn_dequeue
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 1
    functionsReached:
    - sockaddr_free
    - pendconn_queue_unlock
    - HA_SPIN_UNLOCK
    - pool_free
    - HA_SPIN_LOCK
    - pendconn_queue_lock
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: pendconn_dequeue(struct stream *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/queue.c:756,1
    - Dst: queue_limit_class
      Src: /src/haproxy/src/queue.c:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 762
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 762
    functionName: action_set_priority_class
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 0
    functionsReached:
    - sample_fetch_as_type
    - queue_limit_class
    linkageType: ''
    returnType: enum act_return
    signature: "action_set_priority_class(struct act_rule *rule, struct proxy *px,\n
      \                                                struct session *sess, struct
      stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/queue.c:769,1
    - Dst: queue_limit_offset
      Src: /src/haproxy/src/queue.c:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 776
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 776
    functionName: action_set_priority_offset
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 0
    functionsReached:
    - queue_limit_offset
    - sample_fetch_as_type
    linkageType: ''
    returnType: enum act_return
    signature: "action_set_priority_offset(struct act_rule *rule, struct proxy *px,\n
      \                                                 struct session *sess, struct
      stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/queue.c:783,1
    - Dst: memprintf
      Src: /src/haproxy/src/queue.c:794,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/queue.c:796,1
    - Dst: free
      Src: /src/haproxy/src/queue.c:797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - args
    - arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 804
      start: 778
    functionDepth: 3
    functionLinenumber: 778
    functionLinenumberEnd: 804
    functionName: parse_set_priority_class
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - sample_src_names
    - sample_parse_expr
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_set_priority_class(const char **args, int *arg, struct proxy
      *px,\n                                                   struct act_rule *rule,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/queue.c:811,1
    - Dst: memprintf
      Src: /src/haproxy/src/queue.c:822,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/queue.c:824,1
    - Dst: free
      Src: /src/haproxy/src/queue.c:825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - args
    - arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 832
      start: 806
    functionDepth: 3
    functionLinenumber: 806
    functionLinenumberEnd: 832
    functionName: parse_set_priority_offset
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - sample_src_names
    - sample_parse_expr
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_set_priority_offset(const char **args, int *arg, struct proxy
      *px,\n                                                    struct act_rule *rule,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 860
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 860
    functionName: smp_fetch_priority_class
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_priority_class(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 872
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 872
    functionName: smp_fetch_priority_offset
    functionSourceFile: /src/haproxy/src/queue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_priority_offset(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: fas_remove_from_tree
    functionSourceFile: /src/haproxy/src/lb_fas.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fas_remove_from_tree(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_delete
      Src: /src/haproxy/src/lb_fas.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: fas_dequeue_srv
    functionSourceFile: /src/haproxy/src/lb_fas.c
    functionUses: 0
    functionsReached:
    - eb32_delete
    linkageType: ''
    returnType: void
    signature: fas_dequeue_srv(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_insert
      Src: /src/haproxy/src/lb_fas.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: fas_queue_srv
    functionSourceFile: /src/haproxy/src/lb_fas.c
    functionUses: 0
    functionsReached:
    - eb32_insert
    linkageType: ''
    returnType: void
    signature: fas_queue_srv(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_fas.c:67,1
    - Dst: fas_dequeue_srv
      Src: /src/haproxy/src/lb_fas.c:69,1
    - Dst: fas_queue_srv
      Src: /src/haproxy/src/lb_fas.c:70,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_fas.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: fas_srv_reposition
    functionSourceFile: /src/haproxy/src/lb_fas.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_WRLOCK
    - HA_RWLOCK_WRUNLOCK
    - fas_dequeue_srv
    - fas_queue_srv
    linkageType: ''
    returnType: void
    signature: fas_srv_reposition(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_fas.c:87,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_fas.c:90,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_fas.c:93,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_fas.c:95,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_fas.c:112,1
    - Dst: fas_dequeue_srv
      Src: /src/haproxy/src/lb_fas.c:120,1
    - Dst: fas_remove_from_tree
      Src: /src/haproxy/src/lb_fas.c:121,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_fas.c:125,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_fas.c:126,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fas.c:129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 130
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 130
    functionName: fas_set_server_status_down
    functionSourceFile: /src/haproxy/src/lb_fas.c
    functionUses: 0
    functionsReached:
    - fas_dequeue_srv
    - srv_lb_status_changed
    - srv_currently_usable
    - update_backend_weight
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    - fas_remove_from_tree
    linkageType: ''
    returnType: void
    signature: fas_set_server_status_down(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_fas.c:145,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_fas.c:148,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_fas.c:151,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_fas.c:153,1
    - Dst: fas_queue_srv
      Src: /src/haproxy/src/lb_fas.c:185,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_fas.c:189,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_fas.c:190,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fas.c:193,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 194
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 194
    functionName: fas_set_server_status_up
    functionSourceFile: /src/haproxy/src/lb_fas.c
    functionUses: 0
    functionsReached:
    - srv_lb_status_changed
    - srv_currently_usable
    - update_backend_weight
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    - fas_queue_srv
    linkageType: ''
    returnType: void
    signature: fas_set_server_status_up(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_fas.c:206,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_fas.c:217,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_fas.c:218,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fas.c:221,1
    - Dst: fas_set_server_status_up
      Src: /src/haproxy/src/lb_fas.c:225,1
    - Dst: fas_set_server_status_down
      Src: /src/haproxy/src/lb_fas.c:229,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_fas.c:233,1
    - Dst: fas_dequeue_srv
      Src: /src/haproxy/src/lb_fas.c:236,1
    - Dst: fas_queue_srv
      Src: /src/haproxy/src/lb_fas.c:246,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_fas.c:248,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_fas.c:249,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fas.c:251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 252
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 252
    functionName: fas_update_server_weight
    functionSourceFile: /src/haproxy/src/lb_fas.c
    functionUses: 0
    functionsReached:
    - fas_set_server_status_up
    - fas_dequeue_srv
    - srv_lb_status_changed
    - srv_currently_usable
    - update_backend_weight
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - fas_set_server_status_down
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    - fas_queue_srv
    linkageType: ''
    returnType: void
    signature: fas_update_server_weight(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fas.c:272,1
    - Dst: recount_servers
      Src: /src/haproxy/src/lb_fas.c:275,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_fas.c:276,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_fas.c:283,1
    - Dst: fas_queue_srv
      Src: /src/haproxy/src/lb_fas.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 288
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 288
    functionName: fas_init_server_tree
    functionSourceFile: /src/haproxy/src/lb_fas.c
    functionUses: 0
    functionsReached:
    - update_backend_weight
    - srv_currently_usable
    - srv_lb_commit_status
    - recount_servers
    - fas_queue_srv
    linkageType: ''
    returnType: void
    signature: fas_init_server_tree(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/lb_fas.c:302,1
    - Dst: eb32_first
      Src: /src/haproxy/src/lb_fas.c:304,1
    - Dst: eb32_first
      Src: /src/haproxy/src/lb_fas.c:310,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/lb_fas.c:324,1
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/src/lb_fas.c:325,1
    - Dst: eb32_next
      Src: /src/haproxy/src/lb_fas.c:332,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/lb_fas.c:338,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - p
    - srvtoavoid
    argTypes:
    - struct proxy*
    - struct server*
    constantsTouched: []
    func_position:
      end: 340
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 340
    functionName: fas_get_next_server
    functionSourceFile: /src/haproxy/src/lb_fas.c
    functionUses: 1
    functionsReached:
    - srv_dynamic_maxconn
    - eb32_first
    - HA_RWLOCK_RDLOCK
    - eb32_next
    - eb32_entry
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: struct server
    signature: '*fas_get_next_server(struct proxy *p, struct server *srvtoavoid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_check_date_unit
      Src: /src/haproxy/src/http_conv.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: smp_check_http_date_unit
    functionSourceFile: /src/haproxy/src/http_conv.c
    functionUses: 0
    functionsReached:
    - smp_check_date_unit
    linkageType: ''
    returnType: int
    signature: "smp_check_http_date_unit(struct arg *args, struct sample_conv *conv,\n
      \                                   const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_http_date
      Src: /src/haproxy/src/http_conv.c:45,1
    - Dst: my_timegm
      Src: /src/haproxy/src/http_conv.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: sample_conv_http2epoch
    functionSourceFile: /src/haproxy/src/http_conv.c
    functionUses: 0
    functionsReached:
    - parse_http_date
    - my_timegm
    linkageType: ''
    returnType: int
    signature: sample_conv_http2epoch(const struct arg *args, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_gmtime
      Src: /src/haproxy/src/http_conv.c:86,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_conv.c:88,1
    - Dst: snprintf
      Src: /src/haproxy/src/http_conv.c:90,1
    - Dst: snprintf
      Src: /src/haproxy/src/http_conv.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 106
    functionName: sample_conv_http_date
    functionSourceFile: /src/haproxy/src/http_conv.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - get_gmtime
    - snprintf
    linkageType: ''
    returnType: int
    signature: sample_conv_http_date(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/haproxy/src/http_conv.c:132,1
    - Dst: isspace
      Src: /src/haproxy/src/http_conv.c:141,1
    - Dst: http_language_range_match
      Src: /src/haproxy/src/http_conv.c:157,1
    - Dst: isspace
      Src: /src/haproxy/src/http_conv.c:170,1
    - Dst: isspace
      Src: /src/haproxy/src/http_conv.c:189,1
    - Dst: isspace
      Src: /src/haproxy/src/http_conv.c:200,1
    - Dst: isspace
      Src: /src/haproxy/src/http_conv.c:211,1
    - Dst: http_parse_qvalue
      Src: /src/haproxy/src/http_conv.c:217,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 93
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 253
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 253
    functionName: sample_conv_q_preferred
    functionSourceFile: /src/haproxy/src/http_conv.c
    functionUses: 0
    functionsReached:
    - http_parse_qvalue
    - isspace
    - http_language_range_match
    linkageType: ''
    returnType: int
    signature: sample_conv_q_preferred(const struct arg *args, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_conv.c:266,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_conv.c:267,1
    - Dst: url_decode
      Src: /src/haproxy/src/http_conv.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 284
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 284
    functionName: sample_conv_url_dec
    functionSourceFile: /src/haproxy/src/http_conv.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - memcpy
    - url_decode
    linkageType: ''
    returnType: int
    signature: sample_conv_url_dec(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/http_conv.c:298,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_conv.c:300,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_conv.c:303,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/http_conv.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - arg
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 312
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 312
    functionName: sample_conv_url_enc_check
    functionSourceFile: /src/haproxy/src/http_conv.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - chunk_destroy
    linkageType: ''
    returnType: int
    signature: "sample_conv_url_enc_check(struct arg *arg, struct sample_conv *conv,\n\t\t\t\t
      \    const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/http_conv.c:319,1
    - Dst: ha_bit_set
      Src: /src/haproxy/src/http_conv.c:326,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 328
    functionName: sample_conf_url_enc_init
    functionSourceFile: /src/haproxy/src/http_conv.c
    functionUses: 0
    functionsReached:
    - memset
    - ha_bit_set
    linkageType: ''
    returnType: void
    signature: sample_conf_url_enc_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_conv.c:337,1
    - Dst: encode_chunk
      Src: /src/haproxy/src/http_conv.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 356
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 356
    functionName: sample_conv_url_enc
    functionSourceFile: /src/haproxy/src/http_conv.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - encode_chunk
    linkageType: ''
    returnType: int
    signature: "sample_conv_url_enc(const struct arg *args, struct sample *smp, void\n\t\t*private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_fe
      Src: /src/haproxy/src/http_conv.c:371,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/http_conv.c:387,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_conv.c:397,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 401
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 401
    functionName: smp_conv_req_capture
    functionSourceFile: /src/haproxy/src/http_conv.c
    functionUses: 0
    functionsReached:
    - strm_fe
    - memcpy
    - pool_alloc
    linkageType: ''
    returnType: int
    signature: smp_conv_req_capture(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_fe
      Src: /src/haproxy/src/http_conv.c:416,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/http_conv.c:432,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_conv.c:442,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 446
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 446
    functionName: smp_conv_res_capture
    functionSourceFile: /src/haproxy/src/http_conv.c
    functionUses: 0
    functionsReached:
    - strm_fe
    - memcpy
    - pool_alloc
    linkageType: ''
    returnType: int
    signature: smp_conv_res_capture(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/sink.c:53,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: _sink_find
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strcmp
    linkageType: ''
    returnType: struct sink
    signature: '*_sink_find(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sink_find
      Src: /src/haproxy/src/sink.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: sink_find
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 1
    functionsReached:
    - _sink_find
    linkageType: ''
    returnType: struct sink
    signature: '*sink_find(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/sink.c:85,1
    - Dst: _sink_find
      Src: /src/haproxy/src/sink.c:87,1
    - Dst: calloc
      Src: /src/haproxy/src/sink.c:92,1
    - Dst: strdup
      Src: /src/haproxy/src/sink.c:96,1
    - Dst: memprintf
      Src: /src/haproxy/src/sink.c:100,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/sink.c:105,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:110,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:111,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - name
    - from
    - file
    - line
    argTypes:
    - char*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 114
    functionName: sink_find_early
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_free
    - _sink_find
    - calloc
    - LIST_APPEND
    - strdup
    - BUG_ON
    linkageType: ''
    returnType: struct sink
    signature: '*sink_find_early(const char *name, const char *from, const char *file,
      int line)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sink_find
      Src: /src/haproxy/src/sink.c:126,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:129,1
    - Dst: calloc
      Src: /src/haproxy/src/sink.c:135,1
    - Dst: strdup
      Src: /src/haproxy/src/sink.c:140,1
    - Dst: strdup
      Src: /src/haproxy/src/sink.c:145,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/sink.c:156,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:161,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:162,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:163,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - name
    - desc
    - fmt
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 166
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 166
    functionName: __sink_new
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - ha_free
    - _sink_find
    - calloc
    - LIST_APPEND
    - strdup
    linkageType: ''
    returnType: struct sink
    signature: '*__sink_new(const char *name, const char *desc, int fmt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sink_new
      Src: /src/haproxy/src/sink.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - name
    - desc
    - fmt
    - fd
    argTypes:
    - char*
    - char*
    - enum log_fmt
    - int
    constantsTouched: []
    func_position:
      end: 189
      start: 172
    functionDepth: 4
    functionLinenumber: 172
    functionLinenumberEnd: 189
    functionName: sink_new_fd
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - __sink_new
    linkageType: ''
    returnType: struct sink
    signature: '*sink_new_fd(const char *name, const char *desc, enum log_fmt fmt,
      int fd)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sink_new
      Src: /src/haproxy/src/sink.c:200,1
    - Dst: ring_resize
      Src: /src/haproxy/src/sink.c:206,1
    - Dst: ring_new
      Src: /src/haproxy/src/sink.c:216,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/sink.c:218,1
    - Dst: free
      Src: /src/haproxy/src/sink.c:219,1
    - Dst: free
      Src: /src/haproxy/src/sink.c:220,1
    - Dst: free
      Src: /src/haproxy/src/sink.c:221,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - name
    - desc
    - fmt
    - size
    argTypes:
    - char*
    - char*
    - enum log_fmt
    - size_t
    constantsTouched: []
    func_position:
      end: 230
      start: 196
    functionDepth: 4
    functionLinenumber: 196
    functionLinenumberEnd: 230
    functionName: sink_new_buf
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - __sink_new
    - LIST_DELETE
    - free
    - ring_resize
    - ring_new
    linkageType: ''
    returnType: struct sink
    signature: '*sink_new_buf(const char *name, const char *desc, enum log_fmt fmt,
      size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: build_log_header
      Src: /src/haproxy/src/sink.c:255,1
    - Dst: fd_write_frag_line
      Src: /src/haproxy/src/sink.c:261,1
    - Dst: MIN
      Src: /src/haproxy/src/sink.c:261,1
    - Dst: ring_write
      Src: /src/haproxy/src/sink.c:264,1
    - Dst: MIN
      Src: /src/haproxy/src/sink.c:264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - sink
    - hdr
    - maxlen
    - msg
    - nmsg
    argTypes:
    - struct sink*
    - struct log_header
    - size_t
    - struct ist[]
    - size_t
    constantsTouched: []
    func_position:
      end: 267
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 267
    functionName: __sink_write
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - ring_write
    - build_log_header
    - fd_write_frag_line
    - MIN
    linkageType: ''
    returnType: ssize_t
    signature: "__sink_write(struct sink *sink, struct log_header hdr,\n                      size_t
      maxlen, const struct ist msg[], size_t nmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_FETCH_OR
      Src: /src/haproxy/src/sink.c:301,1
    - Dst: unlikely
      Src: /src/haproxy/src/sink.c:310,1
    - Dst: ultoa_r
      Src: /src/haproxy/src/sink.c:319,1
    - Dst: ist2
      Src: /src/haproxy/src/sink.c:323,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/sink.c:324,1
    - Dst: __sink_write
      Src: /src/haproxy/src/sink.c:333,1
    - Dst: HA_ATOMIC_SUB
      Src: /src/haproxy/src/sink.c:337,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/sink.c:344,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - sink
    - hdr
    argTypes:
    - struct sink*
    - struct log_header
    constantsTouched: []
    func_position:
      end: 347
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 347
    functionName: sink_announce_dropped
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - ultoa_r
    - HA_ATOMIC_AND
    - ist2
    - HA_ATOMIC_FETCH_OR
    - __sink_write
    - HA_ATOMIC_LOAD
    - HA_ATOMIC_SUB
    - unlikely
    linkageType: ''
    returnType: int
    signature: sink_announce_dropped(struct sink *sink, struct log_header hdr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_printf
      Src: /src/haproxy/src/sink.c:360,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/sink.c:361,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/sink.c:362,1
    - Dst: cli_msg
      Src: /src/haproxy/src/sink.c:371,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/sink.c:374,1
    - Dst: sink_find
      Src: /src/haproxy/src/sink.c:377,1
    - Dst: cli_err
      Src: /src/haproxy/src/sink.c:379,1
    - Dst: cli_msg
      Src: /src/haproxy/src/sink.c:382,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:386,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:388,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:390,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:392,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:392,1
    - Dst: cli_err
      Src: /src/haproxy/src/sink.c:395,1
    - Dst: ring_attach_cli
      Src: /src/haproxy/src/sink.c:397,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 398
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 398
    functionName: cli_parse_show_events
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - sink_find
    - list_for_each_entry
    - strcmp
    - cli_err
    - ring_attach_cli
    - chunk_printf
    - cli_msg
    - chunk_appendf
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_show_events(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 412
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 412
    functionName: sink_setup_proxy
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: sink_setup_proxy(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/sink.c:417,1
    - Dst: unlikely
      Src: /src/haproxy/src/sink.c:425,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/sink.c:425,1
    - Dst: unlikely
      Src: /src/haproxy/src/sink.c:430,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/sink.c:436,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/sink.c:437,1
    - Dst: se_need_remote_conn
      Src: /src/haproxy/src/sink.c:438,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/sink.c:439,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/sink.c:443,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/sink.c:444,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/sink.c:446,1
    - Dst: ring_dispatch_messages
      Src: /src/haproxy/src/sink.c:448,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/sink.c:465,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/sink.c:472,1
    - Dst: ring_tail
      Src: /src/haproxy/src/sink.c:473,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/sink.c:479,1
    - Dst: applet_have_no_more_data
      Src: /src/haproxy/src/sink.c:481,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/sink.c:483,1
    - Dst: co_skip
      Src: /src/haproxy/src/sink.c:487,1
    - Dst: sc_oc
      Src: /src/haproxy/src/sink.c:487,1
    - Dst: sc_oc
      Src: /src/haproxy/src/sink.c:487,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/sink.c:495,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 500
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 500
    functionName: _sink_forward_io_handler
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - applet_have_no_more_data
    - se_fl_test
    - sc_opposite
    - applet_have_more_data
    - MT_LIST_DELETE
    - se_need_remote_conn
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - ring_dispatch_messages
    - co_skip
    - se_fl_set
    - applet_need_more_data
    - MT_LIST_APPEND
    - ring_tail
    - unlikely
    - sc_oc
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: "_sink_forward_io_handler(struct appctx *appctx,\n                                     ssize_t
      (*msg_handler)(void *ctx, struct ist v1, struct ist v2, size_t ofs, size_t len,
      char delim))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sink_forward_io_handler
      Src: /src/haproxy/src/sink.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: sink_forward_io_handler
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 1
    functionsReached:
    - _sink_forward_io_handler
    linkageType: ''
    returnType: void
    signature: sink_forward_io_handler(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sink_forward_io_handler
      Src: /src/haproxy/src/sink.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: sink_forward_oc_io_handler
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - _sink_forward_io_handler
    linkageType: ''
    returnType: void
    signature: sink_forward_oc_io_handler(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/sink.c:529,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/sink.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sft
    argTypes:
    - struct sink_forward_target*
    constantsTouched: []
    func_position:
      end: 533
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 533
    functionName: __sink_forward_session_deinit
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - task_wakeup
    - MT_LIST_DELETE
    linkageType: ''
    returnType: void
    signature: __sink_forward_session_deinit(struct sink_forward_target *sft)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/sink.c:544,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/sink.c:546,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/sink.c:548,1
    - Dst: set_host_port
      Src: /src/haproxy/src/sink.c:551,1
    - Dst: appctx_finalize_startup
      Src: /src/haproxy/src/sink.c:553,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/sink.c:556,1
    - Dst: applet_expect_no_data
      Src: /src/haproxy/src/sink.c:566,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/sink.c:568,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/sink.c:573,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/sink.c:575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 577
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 577
    functionName: sink_forward_session_init
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - sockaddr_free
    - appctx_strm
    - applet_expect_no_data
    - set_host_port
    - sockaddr_alloc
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - BUG_ON
    - appctx_finalize_startup
    linkageType: ''
    returnType: int
    signature: sink_forward_session_init(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/sink.c:586,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/sink.c:587,1
    - Dst: __sink_forward_session_deinit
      Src: /src/haproxy/src/sink.c:588,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/sink.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 590
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 590
    functionName: sink_forward_session_release
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - BUG_ON
    - HA_SPIN_UNLOCK
    - __sink_forward_session_deinit
    linkageType: ''
    returnType: void
    signature: sink_forward_session_release(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/sink.c:622,1
    - Dst: MIN
      Src: /src/haproxy/src/sink.c:623,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/sink.c:638,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/sink.c:639,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/sink.c:648,1
    - Dst: appctx_new_on
      Src: /src/haproxy/src/sink.c:652,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/sink.c:656,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - sink
    - sft
    argTypes:
    - struct sink*
    - struct sink_forward_target*
    constantsTouched: []
    func_position:
      end: 663
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 663
    functionName: sink_forward_session_create
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    - statistical_prng_range
    - HA_ATOMIC_LOAD
    - appctx_new_on
    - MIN
    - BUG_ON
    linkageType: ''
    returnType: struct appctx
    signature: '*sink_forward_session_create(struct sink *sink, struct sink_forward_target
      *sft)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/sink.c:677,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/sink.c:687,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/sink.c:689,1
    - Dst: sink_forward_session_create
      Src: /src/haproxy/src/sink.c:690,1
    - Dst: tick_first
      Src: /src/haproxy/src/sink.c:694,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/sink.c:696,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/sink.c:702,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/sink.c:705,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/sink.c:706,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - task
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 712
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 712
    functionName: process_sink_forward
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    - tick_is_expired
    - sink_forward_session_create
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - tick_first
    - MS_TO_TICKS
    linkageType: ''
    returnType: struct task
    signature: '*process_sink_forward(struct task * task, void *context, unsigned
      int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/sink.c:720,1
    - Dst: signal_register_task
      Src: /src/haproxy/src/sink.c:726,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/sink.c:727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sink
    argTypes:
    - struct sink*
    constantsTouched: []
    func_position:
      end: 729
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 729
    functionName: sink_init_forward
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - task_new_anywhere
    - task_wakeup
    - signal_register_task
    linkageType: ''
    returnType: int
    signature: sink_init_forward(struct sink *sink)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/haproxy/src/sink.c:743,1
    - Dst: read
      Src: /src/haproxy/src/sink.c:748,1
    - Dst: close
      Src: /src/haproxy/src/sink.c:749,1
    - Dst: memprintf
      Src: /src/haproxy/src/sink.c:769,1
    - Dst: unlink
      Src: /src/haproxy/src/sink.c:775,1
    - Dst: rename
      Src: /src/haproxy/src/sink.c:776,1
    - Dst: unlink
      Src: /src/haproxy/src/sink.c:777,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:778,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 780
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 780
    functionName: sink_rotate_file_backed_ring
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_free
    - unlink
    - read
    - rename
    - open
    - close
    linkageType: ''
    returnType: void
    signature: sink_rotate_file_backed_ring(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: msync
      Src: /src/haproxy/src/sink.c:796,1
    - Dst: munmap
      Src: /src/haproxy/src/sink.c:797,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:798,1
    - Dst: ring_free
      Src: /src/haproxy/src/sink.c:800,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/sink.c:802,1
    - Dst: task_destroy
      Src: /src/haproxy/src/sink.c:803,1
    - Dst: free_proxy
      Src: /src/haproxy/src/sink.c:804,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:805,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:806,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:809,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - sink
    argTypes:
    - struct sink*
    constantsTouched: []
    func_position:
      end: 813
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 813
    functionName: sink_free
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - free_proxy
    - munmap
    - ha_free
    - msync
    - ring_free
    - LIST_DEL_INIT
    - task_destroy
    linkageType: ''
    returnType: void
    signature: sink_free(struct sink *sink)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_new_proxy
      Src: /src/haproxy/src/sink.c:829,1
    - Dst: sink_setup_proxy
      Src: /src/haproxy/src/sink.c:833,1
    - Dst: copy_file_name
      Src: /src/haproxy/src/sink.c:834,1
    - Dst: sink_new_buf
      Src: /src/haproxy/src/sink.c:837,1
    - Dst: memprintf
      Src: /src/haproxy/src/sink.c:839,1
    - Dst: free_proxy
      Src: /src/haproxy/src/sink.c:849,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - id
    - description
    - file
    - linenum
    - err_msg
    argTypes:
    - char*
    - char*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 851
      start: 822
    functionDepth: 5
    functionLinenumber: 822
    functionLinenumberEnd: 851
    functionName: sink_new_ringbuf
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free_proxy
    - sink_new_buf
    - copy_file_name
    - alloc_new_proxy
    - sink_setup_proxy
    linkageType: ''
    returnType: struct sink
    signature: "*sink_new_ringbuf(const char *id, const char *description,\n                                     const
      char *file, int linenum, char **err_msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/sink.c:862,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:864,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/sink.c:872,1
    - Dst: ring_attach
      Src: /src/haproxy/src/sink.c:875,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:876,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - sink
    - srv
    argTypes:
    - struct sink*
    - struct server*
    constantsTouched: []
    func_position:
      end: 882
      start: 857
    functionDepth: 3
    functionLinenumber: 857
    functionLinenumberEnd: 882
    functionName: sink_add_srv
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ha_free
    - ring_attach
    - calloc
    - HA_SPIN_INIT
    linkageType: ''
    returnType: int
    signature: sink_add_srv(struct sink *sink, struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ring_max_payload
      Src: /src/haproxy/src/sink.c:898,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sink.c:900,1
    - Dst: ring_max_payload
      Src: /src/haproxy/src/sink.c:901,1
    - Dst: ring_max_payload
      Src: /src/haproxy/src/sink.c:902,1
    - Dst: sink_add_srv
      Src: /src/haproxy/src/sink.c:911,1
    - Dst: sink_init_forward
      Src: /src/haproxy/src/sink.c:919,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:920,1
    - Dst: vma_set_name
      Src: /src/haproxy/src/sink.c:925,1
    - Dst: ring_allocated_area
      Src: /src/haproxy/src/sink.c:925,1
    - Dst: ring_allocated_size
      Src: /src/haproxy/src/sink.c:926,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - sink
    argTypes:
    - struct sink*
    constantsTouched: []
    func_position:
      end: 931
      start: 890
    functionDepth: 4
    functionLinenumber: 890
    functionLinenumberEnd: 931
    functionName: sink_finalize
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - vma_set_name
    - ha_warning
    - sink_init_forward
    - sink_add_srv
    - ring_allocated_area
    - ring_max_payload
    - ring_allocated_size
    linkageType: ''
    returnType: int
    signature: sink_finalize(struct sink *sink)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:945,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:947,1
    - Dst: invalid_char
      Src: /src/haproxy/src/sink.c:952,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:954,1
    - Dst: sink_find
      Src: /src/haproxy/src/sink.c:959,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:960,1
    - Dst: sink_new_ringbuf
      Src: /src/haproxy/src/sink.c:965,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:967,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:968,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:978,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:982,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/sink.c:987,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:988,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:994,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1000,1
    - Dst: ring_data
      Src: /src/haproxy/src/sink.c:1005,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sink.c:1006,1
    - Dst: ring_data
      Src: /src/haproxy/src/sink.c:1007,1
    - Dst: ring_resize
      Src: /src/haproxy/src/sink.c:1012,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1013,1
    - Dst: ring_size
      Src: /src/haproxy/src/sink.c:1014,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:1019,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1029,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1035,1
    - Dst: sink_rotate_file_backed_ring
      Src: /src/haproxy/src/sink.c:1045,1
    - Dst: open
      Src: /src/haproxy/src/sink.c:1047,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1049,1
    - Dst: strerror
      Src: /src/haproxy/src/sink.c:1049,1
    - Dst: ring_size
      Src: /src/haproxy/src/sink.c:1054,1
    - Dst: ftruncate
      Src: /src/haproxy/src/sink.c:1055,1
    - Dst: close
      Src: /src/haproxy/src/sink.c:1056,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1057,1
    - Dst: strerror
      Src: /src/haproxy/src/sink.c:1057,1
    - Dst: mmap
      Src: /src/haproxy/src/sink.c:1062,1
    - Dst: close
      Src: /src/haproxy/src/sink.c:1064,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1065,1
    - Dst: strerror
      Src: /src/haproxy/src/sink.c:1065,1
    - Dst: close
      Src: /src/haproxy/src/sink.c:1071,1
    - Dst: strdup
      Src: /src/haproxy/src/sink.c:1072,1
    - Dst: ring_free
      Src: /src/haproxy/src/sink.c:1075,1
    - Dst: ring_make_from_area
      Src: /src/haproxy/src/sink.c:1076,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:1078,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1080,1
    - Dst: parse_server
      Src: /src/haproxy/src/sink.c:1085,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:1088,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1090,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:1095,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:1096,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1101,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/sink.c:1106,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1108,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1114,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1120,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:1131,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1133,1
    - Dst: get_log_format
      Src: /src/haproxy/src/sink.c:1138,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1140,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:1145,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1147,1
    - Dst: atol
      Src: /src/haproxy/src/sink.c:1152,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1154,1
    - Dst: strcmp
      Src: /src/haproxy/src/sink.c:1159,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1161,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1167,1
    - Dst: free
      Src: /src/haproxy/src/sink.c:1172,1
    - Dst: strdup
      Src: /src/haproxy/src/sink.c:1174,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1176,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1182,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 218
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 1189
      start: 939
    functionDepth: 6
    functionLinenumber: 939
    functionLinenumberEnd: 1189
    functionName: cfg_parse_ring
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ha_free
    - ha_warning
    - ring_size
    - open
    - ring_resize
    - close
    - ring_make_from_area
    - sink_find
    - strerror
    - parse_time_err
    - strcmp
    - ring_free
    - free
    - sink_new_ringbuf
    - get_log_format
    - atol
    - mmap
    - strdup
    - parse_size_err
    - ftruncate
    - parse_server
    - invalid_char
    - ring_data
    - sink_rotate_file_backed_ring
    linkageType: ''
    returnType: int
    signature: cfg_parse_ring(const char *file, int linenum, char **args, int kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/sink.c:1212,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/sink.c:1213,1
    - Dst: sink_new_ringbuf
      Src: /src/haproxy/src/sink.c:1216,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1218,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:1219,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/sink.c:1235,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/sink.c:1236,1
    - Dst: new_server
      Src: /src/haproxy/src/sink.c:1241,1
    - Dst: strdup
      Src: /src/haproxy/src/sink.c:1246,1
    - Dst: strdup
      Src: /src/haproxy/src/sink.c:1247,1
    - Dst: get_host_port
      Src: /src/haproxy/src/sink.c:1250,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/sink.c:1251,1
    - Dst: srv_init_per_thr
      Src: /src/haproxy/src/sink.c:1254,1
    - Dst: sink_finalize
      Src: /src/haproxy/src/sink.c:1263,1
    - Dst: srv_drop
      Src: /src/haproxy/src/sink.c:1268,1
    - Dst: sink_free
      Src: /src/haproxy/src/sink.c:1271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - logger
    argTypes:
    - struct logger*
    constantsTouched: []
    func_position:
      end: 1274
      start: 1205
    functionDepth: 6
    functionLinenumber: 1205
    functionLinenumberEnd: 1274
    functionName: sink_new_from_logger
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - chunk_reset
    - ha_free
    - new_server
    - srv_init_per_thr
    - HA_SPIN_INIT
    - chunk_printf
    - strdup
    - sink_finalize
    - sink_free
    - sink_new_ringbuf
    - MS_TO_TICKS
    - get_host_port
    - srv_drop
    linkageType: ''
    returnType: struct sink
    signature: '*sink_new_from_logger(struct logger *logger)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/sink.c:1299,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/sink.c:1300,1
    - Dst: memprintf
      Src: /src/haproxy/src/sink.c:1302,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1304,1
    - Dst: sink_new_buf
      Src: /src/haproxy/src/sink.c:1313,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:1314,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1317,1
    - Dst: sink_add_srv
      Src: /src/haproxy/src/sink.c:1327,1
    - Dst: sink_finalize
      Src: /src/haproxy/src/sink.c:1330,1
    - Dst: sink_free
      Src: /src/haproxy/src/sink.c:1336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - srv
    - from
    argTypes:
    - struct server*
    - char*
    constantsTouched: []
    func_position:
      end: 1339
      start: 1292
    functionDepth: 5
    functionLinenumber: 1292
    functionLinenumberEnd: 1339
    functionName: sink_new_from_srv
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_alert
    - chunk_reset
    - ha_free
    - chunk_printf
    - sink_new_buf
    - sink_add_srv
    - sink_finalize
    - sink_free
    linkageType: ''
    returnType: struct sink
    signature: '*sink_new_from_srv(struct server *srv, const char *from)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sink_finalize
      Src: /src/haproxy/src/sink.c:1351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1347
    functionDepth: 5
    functionLinenumber: 1347
    functionLinenumberEnd: 1355
    functionName: cfg_post_parse_ring
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - sink_finalize
    linkageType: ''
    returnType: int
    signature: cfg_post_parse_ring()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/sink.c:1371,1
    - Dst: sink_new_from_logger
      Src: /src/haproxy/src/sink.c:1373,1
    - Dst: memprintf
      Src: /src/haproxy/src/sink.c:1375,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:1379,1
    - Dst: sink_find
      Src: /src/haproxy/src/sink.c:1382,1
    - Dst: memprintf
      Src: /src/haproxy/src/sink.c:1384,1
    - Dst: memprintf
      Src: /src/haproxy/src/sink.c:1389,1
    - Dst: ring_max_payload
      Src: /src/haproxy/src/sink.c:1395,1
    - Dst: memprintf
      Src: /src/haproxy/src/sink.c:1396,1
    - Dst: ring_max_payload
      Src: /src/haproxy/src/sink.c:1397,1
    - Dst: memprintf
      Src: /src/haproxy/src/sink.c:1400,1
    - Dst: ha_free
      Src: /src/haproxy/src/sink.c:1404,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - logger
    - msg
    argTypes:
    - struct logger*
    - char**
    constantsTouched: []
    func_position:
      end: 1407
      start: 1365
    functionDepth: 7
    functionLinenumber: 1365
    functionLinenumberEnd: 1407
    functionName: sink_resolve_logger_buffer
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - memprintf
    - sink_find
    - ha_free
    - sink_new_from_logger
    - ring_max_payload
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: sink_resolve_logger_buffer(struct logger *logger, char **msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sink_new_fd
      Src: /src/haproxy/src/sink.c:1411,1
    - Dst: sink_new_fd
      Src: /src/haproxy/src/sink.c:1412,1
    - Dst: sink_new_buf
      Src: /src/haproxy/src/sink.c:1413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1409
    functionDepth: 5
    functionLinenumber: 1409
    functionLinenumberEnd: 1414
    functionName: sink_init
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - sink_new_fd
    - sink_new_buf
    linkageType: ''
    returnType: void
    signature: sink_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/sink.c:1420,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sink.c:1426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1416
    functionDepth: 1
    functionLinenumber: 1416
    functionLinenumberEnd: 1431
    functionName: sink_postcheck
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - ha_alert
    linkageType: ''
    returnType: int
    signature: sink_postcheck()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/sink.c:1437,1
    - Dst: sink_free
      Src: /src/haproxy/src/sink.c:1438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1433
    functionDepth: 3
    functionLinenumber: 1433
    functionLinenumberEnd: 1439
    functionName: sink_deinit
    functionSourceFile: /src/haproxy/src/sink.c
    functionUses: 0
    functionsReached:
    - sink_free
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: sink_deinit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_pacing.c:9,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pacer
    - sent
    argTypes:
    - struct quic_pacer*
    - int
    constantsTouched: []
    func_position:
      end: 13
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 13
    functionName: quic_pacing_sent_done
    functionSourceFile: /src/haproxy/src/quic_pacing.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: quic_pacing_sent_done(struct quic_pacer *pacer, int sent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct quic_pacer*::cc::algo::pacing_burst
      Src: /src/haproxy/src/quic_pacing.c:29,1
    - Dst: MAX
      Src: /src/haproxy/src/quic_pacing.c:43,1
    - Dst: swrate_avg
      Src: /src/haproxy/src/quic_pacing.c:43,1
    - Dst: MAX
      Src: /src/haproxy/src/quic_pacing.c:49,1
    - Dst: MIN
      Src: /src/haproxy/src/quic_pacing.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pacer
    argTypes:
    - struct quic_pacer*
    constantsTouched: []
    func_position:
      end: 58
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 58
    functionName: quic_pacing_reload
    functionSourceFile: /src/haproxy/src/quic_pacing.c
    functionUses: 0
    functionsReached:
    - swrate_avg
    - struct quic_pacer*::cc::algo::pacing_burst
    - MIN
    - MAX
    linkageType: ''
    returnType: int
    signature: quic_pacing_reload(struct quic_pacer *pacer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/fd.c:131,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/fd.c:137,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/fd.c:139,1
    - Dst: fd::fd
      Src: /src/haproxy/src/fd.c:141,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/fd.c:149,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:151,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:153,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/fd.c:153,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:163,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/fd.c:163,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/fd.c:169,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/fd.c:175,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - list
    - fd
    argTypes:
    - struct fdlist*
    - int
    constantsTouched: []
    func_position:
      end: 178
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 178
    functionName: fd_add_to_fd_list
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - __ha_barrier_store
    - _HA_ATOMIC_CAS
    - unlikely
    - fd::fd
    - HA_ATOMIC_LOAD
    - __ha_barrier_atomic_store
    linkageType: ''
    returnType: void
    signature: fd_add_to_fd_list(volatile struct fdlist *list, int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:202,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:204,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:208,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/fd.c:208,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:210,1
    - Dst: _HA_ATOMIC_DWCAS
      Src: /src/haproxy/src/fd.c:210,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/fd.c:218,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:223,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/fd.c:223,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/fd.c:226,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:229,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/fd.c:229,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/fd.c:232,1
    - Dst: likely
      Src: /src/haproxy/src/fd.c:235,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:239,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/fd.c:239,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:240,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/fd.c:245,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/fd.c:247,1
    - Dst: likely
      Src: /src/haproxy/src/fd.c:253,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:256,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/fd.c:256,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:257,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/fd.c:263,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/fd.c:266,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/fd.c:268,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/fd.c:276,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:278,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/fd.c:278,1
    - Dst: __ha_compiler_barrier
      Src: /src/haproxy/src/fd.c:279,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/fd.c:283,1
    - Dst: likely
      Src: /src/haproxy/src/fd.c:284,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/fd.c:286,1
    - Dst: likely
      Src: /src/haproxy/src/fd.c:287,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/fd.c:289,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/fd.c:292,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 93
    argCount: 2
    argNames:
    - list
    - fd
    argTypes:
    - struct fdlist*
    - int
    constantsTouched: []
    func_position:
      end: 295
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 295
    functionName: fd_rm_from_fd_list
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_DWCAS
    - __ha_barrier_store
    - __ha_compiler_barrier
    - _HA_ATOMIC_CAS
    - unlikely
    - likely
    - HA_ATOMIC_LOAD
    - __ha_barrier_atomic_store
    linkageType: ''
    returnType: void
    signature: fd_rm_from_fd_list(volatile struct fdlist *list, int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DISGUISE
      Src: /src/haproxy/src/fd.c:312,1
    - Dst: setsockopt
      Src: /src/haproxy/src/fd.c:312,1
    - Dst: clo
      Src: /src/haproxy/src/fd.c:321,1
    - Dst: fd_reset_tgid
      Src: /src/haproxy/src/fd.c:331,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/fd.c:333,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/fd.c:334,1
    - Dst: fd_rm_from_fd_list
      Src: /src/haproxy/src/fd.c:337,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/fd.c:340,1
    - Dst: port_range_release_port
      Src: /src/haproxy/src/fd.c:344,1
    - Dst: close
      Src: /src/haproxy/src/fd.c:360,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/fd.c:362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 363
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 363
    functionName: _fd_delete_orphan
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - DISGUISE
    - setsockopt
    - fd_rm_from_fd_list
    - _HA_ATOMIC_DEC
    - __ha_cpu_relax
    - port_range_release_port
    - clo
    - _HA_ATOMIC_LOAD
    - HA_ATOMIC_STORE
    - close
    - fd_reset_tgid
    linkageType: ''
    returnType: void
    signature: _fd_delete_orphan(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/fd.c:377,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:384,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:396,1
    - Dst: fd_tgid
      Src: /src/haproxy/src/fd.c:396,1
    - Dst: thread_isolate
      Src: /src/haproxy/src/fd.c:400,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/fd.c:402,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/fd.c:403,1
    - Dst: _fd_delete_orphan
      Src: /src/haproxy/src/fd.c:404,1
    - Dst: thread_release
      Src: /src/haproxy/src/fd.c:407,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/fd.c:432,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/fd.c:433,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/fd.c:434,1
    - Dst: fd_clr_running
      Src: /src/haproxy/src/fd.c:435,1
    - Dst: HA_ATOMIC_BTR
      Src: /src/haproxy/src/fd.c:436,1
    - Dst: _fd_delete_orphan
      Src: /src/haproxy/src/fd.c:437,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 440
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 440
    functionName: fd_delete
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 6
    functionsReached:
    - HA_ATOMIC_BTR
    - _fd_delete_orphan
    - fd_clr_running
    - fd_tgid
    - thread_isolate
    - thread_release
    - unlikely
    - HA_ATOMIC_STORE
    - BUG_ON
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: fd_delete(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DISGUISE
      Src: /src/haproxy/src/fd.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: fd_set_nonblock
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 1
    functionsReached:
    - DISGUISE
    linkageType: ''
    returnType: int
    signature: fd_set_nonblock(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/haproxy/src/fd.c:462,1
    - Dst: fcntl
      Src: /src/haproxy/src/fd.c:464,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/fd.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: fd_set_cloexec
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 1
    functionsReached:
    - DISGUISE
    - fcntl
    linkageType: ''
    returnType: int
    signature: fd_set_cloexec(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_lock_tgid
      Src: /src/haproxy/src/fd.c:486,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/fd.c:491,1
    - Dst: fd_stop_both
      Src: /src/haproxy/src/fd.c:497,1
    - Dst: fd_unlock_tgid
      Src: /src/haproxy/src/fd.c:503,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/fd.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - new_tid
    argTypes:
    - int
    - uint
    constantsTouched: []
    func_position:
      end: 505
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 505
    functionName: fd_migrate_on
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - fd_drop_tgid
    - fd_stop_both
    - fd_unlock_tgid
    - fd_lock_tgid
    - HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: fd_migrate_on(int fd, uint new_tid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_tgid
      Src: /src/haproxy/src/fd.c:529,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/fd.c:530,1
    - Dst: atleast2
      Src: /src/haproxy/src/fd.c:530,1
    - Dst: my_ffsl
      Src: /src/haproxy/src/fd.c:531,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:533,1
    - Dst: fd_lock_tgid_cur
      Src: /src/haproxy/src/fd.c:533,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:542,1
    - Dst: fd_grab_tgid
      Src: /src/haproxy/src/fd.c:542,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/fd.c:547,1
    - Dst: fd_unlock_tgid
      Src: /src/haproxy/src/fd.c:549,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/fd.c:550,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/fd.c:555,1
    - Dst: fd_update_tgid
      Src: /src/haproxy/src/fd.c:563,1
    - Dst: fixup_tgid_takeover
      Src: /src/haproxy/src/fd.c:565,1
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/fd.c:572,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/fd.c:578,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/fd.c:581,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - fd
    - expected_owner
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 583
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 583
    functionName: fd_takeover
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 2
    functionsReached:
    - fd_drop_tgid
    - atleast2
    - fd_lock_tgid_cur
    - fd_stop_recv
    - HA_ATOMIC_AND
    - fd_tgid
    - fd_update_tgid
    - my_ffsl
    - fd_unlock_tgid
    - fixup_tgid_takeover
    - unlikely
    - HA_ATOMIC_STORE
    - BUG_ON
    - HA_ATOMIC_CAS
    - fd_grab_tgid
    linkageType: ''
    returnType: int
    signature: fd_takeover(int fd, void *expected_owner)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_take_tgid
      Src: /src/haproxy/src/fd.c:587,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:593,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/fd.c:602,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/fd.c:603,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/fd.c:604,1
    - Dst: fd_add_to_fd_list
      Src: /src/haproxy/src/fd.c:606,1
    - Dst: one_among_mask
      Src: /src/haproxy/src/fd.c:608,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/fd.c:609,1
    - Dst: wake_thread
      Src: /src/haproxy/src/fd.c:611,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/fd.c:613,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/fd.c:617,1
    - Dst: HA_ATOMIC_BTS
      Src: /src/haproxy/src/fd.c:620,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/fd.c:629,1
    - Dst: fd_add_to_fd_list
      Src: /src/haproxy/src/fd.c:631,1
    - Dst: fd_active
      Src: /src/haproxy/src/fd.c:633,1
    - Dst: wake_thread
      Src: /src/haproxy/src/fd.c:640,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 643
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 643
    functionName: updt_fd_polling
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - one_among_mask
    - fd_drop_tgid
    - HA_ATOMIC_BTS
    - wake_thread
    - statistical_prng_range
    - _HA_ATOMIC_CAS
    - _HA_ATOMIC_LOAD
    - __ha_cpu_relax
    - fd_take_tgid
    - unlikely
    - fd_add_to_fd_list
    - fd_active
    linkageType: ''
    returnType: void
    signature: updt_fd_polling(const int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/fd.c:658,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:660,1
    - Dst: fd_grab_tgid
      Src: /src/haproxy/src/fd.c:660,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/fd.c:674,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/fd.c:678,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/fd.c:696,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/fd.c:697,1
    - Dst: fd_clr_running
      Src: /src/haproxy/src/fd.c:707,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/fd.c:714,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:734,1
    - Dst: fd_active
      Src: /src/haproxy/src/fd.c:734,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:738,1
    - Dst: fd_recv_active
      Src: /src/haproxy/src/fd.c:738,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:742,1
    - Dst: fd_send_active
      Src: /src/haproxy/src/fd.c:742,1
    - Dst: new_flags::new_flags
      Src: /src/haproxy/src/fd.c:754,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:756,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:758,1
    - Dst: old::old
      Src: /src/haproxy/src/fd.c:758,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/fd.c:758,1
    - Dst: new_flags::new_flags
      Src: /src/haproxy/src/fd.c:759,1
    - Dst: old::old
      Src: /src/haproxy/src/fd.c:761,1
    - Dst: fd_active
      Src: /src/haproxy/src/fd.c:765,1
    - Dst: iocb
      Src: /src/haproxy/src/fd.c:766,1
    - Dst: fd_grab_tgid
      Src: /src/haproxy/src/fd.c:801,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/fd.c:804,1
    - Dst: fd_clr_running
      Src: /src/haproxy/src/fd.c:816,1
    - Dst: fd_recv_active
      Src: /src/haproxy/src/fd.c:823,1
    - Dst: fd_send_active
      Src: /src/haproxy/src/fd.c:824,1
    - Dst: HA_ATOMIC_BTS
      Src: /src/haproxy/src/fd.c:825,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/fd.c:829,1
    - Dst: HA_ATOMIC_BTR
      Src: /src/haproxy/src/fd.c:837,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/fd.c:838,1
    - Dst: _fd_delete_orphan
      Src: /src/haproxy/src/fd.c:839,1
    - Dst: HA_ATOMIC_BTS
      Src: /src/haproxy/src/fd.c:855,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/fd.c:858,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 81
    argCount: 2
    argNames:
    - fd
    - evts
    argTypes:
    - int
    - uint
    constantsTouched: []
    func_position:
      end: 860
      start: 651
    functionDepth: 3
    functionLinenumber: 651
    functionLinenumberEnd: 860
    functionName: fd_update_events
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 2
    functionsReached:
    - fd_drop_tgid
    - iocb
    - HA_ATOMIC_BTS
    - HA_ATOMIC_BTR
    - _fd_delete_orphan
    - _HA_ATOMIC_AND
    - _HA_ATOMIC_CAS
    - new_flags::new_flags
    - fd_recv_active
    - fd_send_active
    - old::old
    - fd_active
    - _HA_ATOMIC_LOAD
    - unlikely
    - fd_clr_running
    - HA_ATOMIC_OR
    - fd_grab_tgid
    linkageType: ''
    returnType: int
    signature: fd_update_events(int fd, uint evts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/fd.c:879,1
    - Dst: fd_grab_tgid
      Src: /src/haproxy/src/fd.c:880,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/fd.c:883,1
    - Dst: updt_fd_polling
      Src: /src/haproxy/src/fd.c:884,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/fd.c:885,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - tgrp
    - mask
    argTypes:
    - int
    - ulong
    constantsTouched: []
    func_position:
      end: 887
      start: 868
    functionDepth: 3
    functionLinenumber: 868
    functionLinenumberEnd: 887
    functionName: fd_reregister_all
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 1
    functionsReached:
    - _HA_ATOMIC_LOAD
    - updt_fd_polling
    - fd_drop_tgid
    - fd_grab_tgid
    linkageType: ''
    returnType: void
    signature: fd_reregister_all(int tgrp, ulong mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/haproxy/src/fd.c:926,1
    - Dst: HA_ATOMIC_BTS
      Src: /src/haproxy/src/fd.c:945,1
    - Dst: ha_thread_relax
      Src: /src/haproxy/src/fd.c:952,1
    - Dst: unlikely
      Src: /src/haproxy/src/fd.c:955,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/fd.c:956,1
    - Dst: isatty
      Src: /src/haproxy/src/fd.c:957,1
    - Dst: fd_set_nonblock
      Src: /src/haproxy/src/fd.c:958,1
    - Dst: writev
      Src: /src/haproxy/src/fd.c:960,1
    - Dst: HA_ATOMIC_BTR
      Src: /src/haproxy/src/fd.c:961,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 7
    argNames:
    - fd
    - maxlen
    - pfx
    - npfx
    - msg
    - nmsg
    - nl
    argTypes:
    - int
    - size_t
    - struct ist[]
    - size_t
    - struct ist[]
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 966
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 966
    functionName: fd_write_frag_line
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 1
    functionsReached:
    - HA_ATOMIC_BTR
    - ha_thread_relax
    - fd_set_nonblock
    - MIN
    - writev
    - unlikely
    - HA_ATOMIC_BTS
    - HA_ATOMIC_OR
    - isatty
    linkageType: ''
    returnType: ssize_t
    signature: fd_write_frag_line(int fd, size_t maxlen, const struct ist pfx[], size_t
      npfx, const struct ist msg[], size_t nmsg, int nl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: closefrom
      Src: /src/haproxy/src/fd.c:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - start
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 972
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 972
    functionName: my_closefrom
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - closefrom
    linkageType: ''
    returnType: void
    signature: my_closefrom(int start)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/haproxy/src/fd.c:989,1
    - Dst: poll
      Src: /src/haproxy/src/fd.c:1012,1
    - Dst: close
      Src: /src/haproxy/src/fd.c:1025,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - start
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1029
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1029
    functionName: my_closefrom
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - poll
    - getrlimit
    - close
    linkageType: ''
    returnType: void
    signature: my_closefrom(int start)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getrlimit
      Src: /src/haproxy/src/fd.c:1042,1
    - Dst: close
      Src: /src/haproxy/src/fd.c:1051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - start
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1052
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1052
    functionName: my_closefrom
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - getrlimit
    - close
    linkageType: ''
    returnType: void
    signature: my_closefrom(int start)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_isset
      Src: /src/haproxy/src/fd.c:1066,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/fd.c:1068,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/fd.c:1073,1
    - Dst: tick_remain
      Src: /src/haproxy/src/fd.c:1073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - next
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1078
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1078
    functionName: compute_poll_timeout
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 2
    functionsReached:
    - tick_remain
    - TICKS_TO_MS
    - tick_is_expired
    - tick_isset
    linkageType: ''
    returnType: int
    signature: compute_poll_timeout(int next)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_leaving_poll
      Src: /src/haproxy/src/fd.c:1086,1
    - Dst: thread_harmless_end
      Src: /src/haproxy/src/fd.c:1088,1
    - Dst: thread_idle_end
      Src: /src/haproxy/src/fd.c:1089,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/fd.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - wait_time
    - status
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1092
      start: 1084
    functionDepth: 2
    functionLinenumber: 1084
    functionLinenumberEnd: 1092
    functionName: fd_leaving_poll
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 2
    functionsReached:
    - clock_leaving_poll
    - _HA_ATOMIC_AND
    - thread_idle_end
    - thread_harmless_end
    linkageType: ''
    returnType: void
    signature: fd_leaving_poll(int wait_time, int status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/fd.c:1100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - poller_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1102
    functionName: disable_poller
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: disable_poller(const char *poller_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/haproxy/src/fd.c:1108,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/fd.c:1109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1110
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1110
    functionName: poller_pipe_io_handler
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - fd_cant_recv
    - read
    linkageType: ''
    returnType: void
    signature: poller_pipe_io_handler(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/fd.c:1117,1
    - Dst: vma_set_name_id
      Src: /src/haproxy/src/fd.c:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1115
    functionDepth: 3
    functionLinenumber: 1115
    functionLinenumberEnd: 1120
    functionName: alloc_pollers_per_thread
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - calloc
    - vma_set_name_id
    linkageType: ''
    returnType: int
    signature: alloc_pollers_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/haproxy/src/fd.c:1127,1
    - Dst: fd_set_nonblock
      Src: /src/haproxy/src/fd.c:1132,1
    - Dst: fd_insert
      Src: /src/haproxy/src/fd.c:1133,1
    - Dst: fd_insert
      Src: /src/haproxy/src/fd.c:1134,1
    - Dst: fd_want_recv
      Src: /src/haproxy/src/fd.c:1135,1
    - Dst: fd_stop_both
      Src: /src/haproxy/src/fd.c:1136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1138
    functionName: init_pollers_per_thread
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - pipe
    - fd_set_nonblock
    - fd_insert
    - fd_want_recv
    - fd_stop_both
    linkageType: ''
    returnType: int
    signature: init_pollers_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_delete
      Src: /src/haproxy/src/fd.c:1146,1
    - Dst: fd_delete
      Src: /src/haproxy/src/fd.c:1148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1141
    functionDepth: 4
    functionLinenumber: 1141
    functionLinenumberEnd: 1151
    functionName: deinit_pollers_per_thread
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - fd_delete
    linkageType: ''
    returnType: void
    signature: deinit_pollers_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/fd.c:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1158
    functionName: free_pollers_per_thread
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: void
    signature: free_pollers_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/fd.c:1169,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fd.c:1170,1
    - Dst: vma_set_name
      Src: /src/haproxy/src/fd.c:1173,1
    - Dst: calloc
      Src: /src/haproxy/src/fd.c:1178,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fd.c:1179,1
    - Dst: vma_set_name
      Src: /src/haproxy/src/fd.c:1182,1
    - Dst: calloc
      Src: /src/haproxy/src/fd.c:1184,1
    - Dst: ha_alert
      Src: /src/haproxy/src/fd.c:1185,1
    - Dst: vma_set_name
      Src: /src/haproxy/src/fd.c:1188,1
    - Dst: struct poller*::init
      Src: /src/haproxy/src/fd.c:1207,1
    - Dst: memcpy
      Src: /src/haproxy/src/fd.c:1208,1
    - Dst: free
      Src: /src/haproxy/src/fd.c:1213,1
    - Dst: free
      Src: /src/haproxy/src/fd.c:1215,1
    - Dst: free
      Src: /src/haproxy/src/fd.c:1217,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1164
    functionDepth: 3
    functionLinenumber: 1164
    functionLinenumberEnd: 1220
    functionName: init_pollers
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - vma_set_name
    - calloc
    - free
    - struct poller*::init
    - memcpy
    linkageType: ''
    returnType: int
    signature: init_pollers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct poller*::term
      Src: /src/haproxy/src/fd.c:1234,1
    - Dst: ha_free
      Src: /src/haproxy/src/fd.c:1237,1
    - Dst: ha_free
      Src: /src/haproxy/src/fd.c:1238,1
    - Dst: ha_free
      Src: /src/haproxy/src/fd.c:1239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1240
    functionName: deinit_pollers
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - struct poller*::term
    - ha_free
    linkageType: ''
    returnType: void
    signature: deinit_pollers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/fd.c:1253,1
    - Dst: fprintf
      Src: /src/haproxy/src/fd.c:1273,1
    - Dst: fprintf
      Src: /src/haproxy/src/fd.c:1275,1
    - Dst: fprintf
      Src: /src/haproxy/src/fd.c:1277,1
    - Dst: test
      Src: /src/haproxy/src/fd.c:1278,1
    - Dst: fprintf
      Src: /src/haproxy/src/fd.c:1279,1
    - Dst: fprintf
      Src: /src/haproxy/src/fd.c:1283,1
    - Dst: fprintf
      Src: /src/haproxy/src/fd.c:1287,1
    - Dst: fprintf
      Src: /src/haproxy/src/fd.c:1293,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 1
    argNames:
    - out
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1295
    functionName: list_pollers
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - test
    - fprintf
    linkageType: ''
    returnType: int
    signature: list_pollers(FILE *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/fd.c:1309,1
    - Dst: fork
      Src: /src/haproxy/src/fd.c:1314,1
    - Dst: term
      Src: /src/haproxy/src/fd.c:1316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1320
    functionName: fork_poller
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - fork
    - term
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: fork_poller()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/fd.c:1327,1
    - Dst: strcmp
      Src: /src/haproxy/src/fd.c:1330,1
    - Dst: strcmp
      Src: /src/haproxy/src/fd.c:1332,1
    - Dst: memprintf
      Src: /src/haproxy/src/fd.c:1335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1339
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1339
    functionName: cfg_parse_tune_fd_edge_triggered
    functionSourceFile: /src/haproxy/src/fd.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_tune_fd_edge_triggered(char **args, int section_type, struct
      proxy *curpx,\n                                      const struct proxy *defpx,
      const char *file, int line,\n                                      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/applet.c:117,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/applet.c:119,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/applet.c:120,1
    - Dst: sc_ic
      Src: /src/haproxy/src/applet.c:121,1
    - Dst: sc_oc
      Src: /src/haproxy/src/applet.c:122,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:127,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:130,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:134,1
    - Dst: sc_state_str
      Src: /src/haproxy/src/applet.c:135,1
    - Dst: sc_state_str
      Src: /src/haproxy/src/applet.c:135,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:138,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:143,1
    - Dst: tick_isset
      Src: /src/haproxy/src/applet.c:144,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/applet.c:144,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:150,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:152,1
    - Dst: tick_isset
      Src: /src/haproxy/src/applet.c:155,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/applet.c:155,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/applet.c:155,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/applet.c:155,1
    - Dst: tick_isset
      Src: /src/haproxy/src/applet.c:156,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/applet.c:156,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/applet.c:156,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/applet.c:156,1
    - Dst: tick_isset
      Src: /src/haproxy/src/applet.c:157,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/applet.c:157,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/applet.c:157,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/applet.c:157,1
    - Dst: tick_isset
      Src: /src/haproxy/src/applet.c:158,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/applet.c:158,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/applet.c:158,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/applet.c:158,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:163,1
    - Dst: tick_isset
      Src: /src/haproxy/src/applet.c:164,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/applet.c:164,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:165,1
    - Dst: tick_isset
      Src: /src/haproxy/src/applet.c:166,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/applet.c:166,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:169,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:172,1
    - Dst: htxbuf
      Src: /src/haproxy/src/applet.c:184,1
    - Dst: htxbuf
      Src: /src/haproxy/src/applet.c:185,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:187,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/applet.c:188,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/applet.c:189,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:192,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:193,1
    - Dst: b_orig
      Src: /src/haproxy/src/applet.c:193,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/applet.c:194,1
    - Dst: b_size
      Src: /src/haproxy/src/applet.c:194,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:195,1
    - Dst: b_orig
      Src: /src/haproxy/src/applet.c:195,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/applet.c:196,1
    - Dst: b_size
      Src: /src/haproxy/src/applet.c:196,1
    - Dst: htxbuf
      Src: /src/haproxy/src/applet.c:202,1
    - Dst: htxbuf
      Src: /src/haproxy/src/applet.c:203,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:205,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/applet.c:206,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/applet.c:207,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/applet.c:210,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:211,1
    - Dst: b_orig
      Src: /src/haproxy/src/applet.c:211,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/applet.c:212,1
    - Dst: b_size
      Src: /src/haproxy/src/applet.c:212,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:213,1
    - Dst: b_orig
      Src: /src/haproxy/src/applet.c:213,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/applet.c:214,1
    - Dst: b_size
      Src: /src/haproxy/src/applet.c:214,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 9
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - struct ist
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 217
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 217
    functionName: applet_trace
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - sc_ic
    - sc_opposite
    - htx_nbblks
    - TICKS_TO_MS
    - htxbuf
    - chunk_appendf
    - sc_ep_rcv_ex
    - sc_state_str
    - b_data
    - b_head_ofs
    - tick_isset
    - sc_ep_snd_ex
    - __sc_strm
    - b_size
    - sc_oc
    - b_orig
    linkageType: ''
    returnType: void
    signature: "applet_trace(enum trace_level level, uint64_t mask, const struct trace_source
      *src,\n\t\t\t const struct ist where, const struct ist func,\n\t\t\t const void
      *a1, const void *a2, const void *a3, const void *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/applet.c:231,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/applet.c:233,1
    - Dst: pool_zalloc
      Src: /src/haproxy/src/applet.c:235,1
    - Dst: unlikely
      Src: /src/haproxy/src/applet.c:236,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/applet.c:237,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/applet.c:241,1
    - Dst: task_new_on
      Src: /src/haproxy/src/applet.c:246,1
    - Dst: unlikely
      Src: /src/haproxy/src/applet.c:247,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/applet.c:248,1
    - Dst: sedesc_new
      Src: /src/haproxy/src/applet.c:253,1
    - Dst: unlikely
      Src: /src/haproxy/src/applet.c:254,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/applet.c:255,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/applet.c:259,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/applet.c:271,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/applet.c:277,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/applet.c:281,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/applet.c:283,1
    - Dst: task_destroy
      Src: /src/haproxy/src/applet.c:287,1
    - Dst: pool_free
      Src: /src/haproxy/src/applet.c:289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 3
    argNames:
    - applet
    - sedesc
    - thr
    argTypes:
    - struct applet*
    - struct sedesc*
    - int
    constantsTouched: []
    func_position:
      end: 292
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 292
    functionName: appctx_new_on
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 2
    functionsReached:
    - sedesc_new
    - task_new_on
    - TRACE_LEAVE
    - TRACE_ENTER
    - pool_zalloc
    - _HA_ATOMIC_INC
    - pool_free
    - applet_fl_set
    - LIST_INIT
    - se_fl_set
    - TRACE_ERROR
    - task_destroy
    - MT_LIST_INIT
    - unlikely
    - BUG_ON
    linkageType: ''
    returnType: struct appctx
    signature: '*appctx_new_on(struct applet *applet, struct sedesc *sedesc, int thr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/applet.c:311,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/applet.c:311,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/applet.c:313,1
    - Dst: session_new
      Src: /src/haproxy/src/applet.c:315,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/applet.c:317,1
    - Dst: sc_new_from_endp
      Src: /src/haproxy/src/applet.c:320,1
    - Dst: session_free
      Src: /src/haproxy/src/applet.c:321,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/applet.c:322,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/applet.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - appctx
    - px
    - input
    argTypes:
    - struct appctx*
    - struct proxy*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 329
      start: 304
    functionDepth: 6
    functionLinenumber: 304
    functionLinenumberEnd: 329
    functionName: appctx_finalize_startup
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 3
    functionsReached:
    - TRACE_LEAVE
    - se_fl_test
    - TRACE_ENTER
    - session_free
    - session_new
    - TRACE_ERROR
    - sc_new_from_endp
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: appctx_finalize_startup(struct appctx *appctx, struct proxy *px, struct
      buffer *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_test
      Src: /src/haproxy/src/applet.c:339,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/applet.c:339,1
    - Dst: stream_free
      Src: /src/haproxy/src/applet.c:340,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/applet.c:340,1
    - Dst: __appctx_free
      Src: /src/haproxy/src/applet.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: appctx_free_on_early_error
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - appctx_strm
    - se_fl_test
    - stream_free
    - __appctx_free
    linkageType: ''
    returnType: void
    signature: appctx_free_on_early_error(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/applet.c:352,1
    - Dst: __appctx_free
      Src: /src/haproxy/src/applet.c:353,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/applet.c:359,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/applet.c:360,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/applet.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 363
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 363
    functionName: appctx_free
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 3
    functionsReached:
    - TRACE_POINT
    - task_wakeup
    - applet_fl_set
    - TRACE_DEVEL
    - __appctx_free
    linkageType: ''
    returnType: void
    signature: appctx_free(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/applet.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - appctx
    - size
    argTypes:
    - struct appctx*
    - size_t
    constantsTouched: []
    func_position:
      end: 382
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 382
    functionName: applet_reserve_svcctx
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 25
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: '*applet_reserve_svcctx(struct appctx *appctx, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/applet.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: applet_reset_svcctx
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: applet_reset_svcctx(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:398,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/applet.c:401,1
    - Dst: struct appctx*::applet::release
      Src: /src/haproxy/src/applet.c:404,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/applet.c:405,1
    - Dst: b_dequeue
      Src: /src/haproxy/src/applet.c:407,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/applet.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: appctx_shut
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - applet_fl_set
    - applet_fl_test
    - struct appctx*::applet::release
    - b_dequeue
    linkageType: ''
    returnType: void
    signature: appctx_shut(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_size
      Src: /src/haproxy/src/applet.c:419,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:419,1
    - Dst: b_free
      Src: /src/haproxy/src/applet.c:421,1
    - Dst: b_size
      Src: /src/haproxy/src/applet.c:423,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:423,1
    - Dst: b_free
      Src: /src/haproxy/src/applet.c:425,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/applet.c:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 433
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 433
    functionName: appctx_release_buffers
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - offer_buffers
    - b_free
    - b_data
    - b_size
    linkageType: ''
    returnType: void
    signature: appctx_release_buffers(struct appctx * appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/applet.c:444,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:447,1
    - Dst: applet_fl_clr
      Src: /src/haproxy/src/applet.c:448,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/applet.c:449,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:450,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:454,1
    - Dst: applet_fl_clr
      Src: /src/haproxy/src/applet.c:455,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/applet.c:456,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:457,1
    - Dst: sc_have_buff
      Src: /src/haproxy/src/applet.c:463,1
    - Dst: c_size
      Src: /src/haproxy/src/applet.c:471,1
    - Dst: sc_ic
      Src: /src/haproxy/src/applet.c:471,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/applet.c:471,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/applet.c:471,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/applet.c:475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 477
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 477
    functionName: appctx_buf_available
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - applet_fl_clr
    - c_size
    - sc_ic
    - sc_opposite
    - task_wakeup
    - sc_ep_have_ff_data
    - applet_fl_set
    - sc_have_buff
    - applet_fl_test
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: appctx_buf_available(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_from_buf
      Src: /src/haproxy/src/applet.c:481,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/applet.c:485,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/applet.c:486,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/applet.c:491,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/applet.c:492,1
    - Dst: htx_used_space
      Src: /src/haproxy/src/applet.c:492,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/applet.c:493,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/applet.c:494,1
    - Dst: b_xfer
      Src: /src/haproxy/src/applet.c:495,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:495,1
    - Dst: htx_xfer_blks
      Src: /src/haproxy/src/applet.c:499,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/applet.c:501,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/applet.c:505,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/applet.c:506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - appctx
    - buf
    - count
    - flags
    argTypes:
    - struct appctx*
    - struct buffer*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 511
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 511
    functionName: appctx_htx_rcv_buf
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - htx_used_space
    - htx_from_buf
    - b_data
    - htx_is_empty
    - htx_to_buf
    - htx_xfer_blks
    - b_xfer
    linkageType: ''
    returnType: size_t
    signature: appctx_htx_rcv_buf(struct appctx *appctx, struct buffer *buf, size_t
      count, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_xfer
      Src: /src/haproxy/src/applet.c:515,1
    - Dst: MIN
      Src: /src/haproxy/src/applet.c:515,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - appctx
    - buf
    - count
    - flags
    argTypes:
    - struct appctx*
    - struct buffer*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 516
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 516
    functionName: appctx_raw_rcv_buf
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - MIN
    - b_data
    - b_xfer
    linkageType: ''
    returnType: size_t
    signature: appctx_raw_rcv_buf(struct appctx *appctx, struct buffer *buf, size_t
      count, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/applet.c:520,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/applet.c:523,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:525,1
    - Dst: appctx_get_buf
      Src: /src/haproxy/src/applet.c:531,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:532,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/applet.c:537,1
    - Dst: struct appctx*::applet::rcv_buf
      Src: /src/haproxy/src/applet.c:539,1
    - Dst: applet_fl_clr
      Src: /src/haproxy/src/applet.c:541,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:543,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/applet.c:544,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:545,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/applet.c:548,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:549,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/applet.c:550,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:551,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:553,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/applet.c:554,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:555,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:557,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/applet.c:558,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:559,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:562,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/applet.c:563,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:563,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:564,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/applet.c:565,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:565,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/applet.c:569,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 4
    argNames:
    - sc
    - buf
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 571
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 571
    functionName: appctx_rcv_buf
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - __sc_appctx
    - applet_fl_clr
    - TRACE_ENTER
    - se_fl_clr
    - appctx_get_buf
    - applet_fl_set
    - struct appctx*::applet::rcv_buf
    - se_fl_set
    - b_data
    - se_report_term_evt
    - applet_fl_test
    - TRACE_STATE
    linkageType: ''
    returnType: size_t
    signature: appctx_rcv_buf(struct stconn *sc, struct buffer *buf, size_t count,
      unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_from_buf
      Src: /src/haproxy/src/applet.c:575,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/applet.c:576,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/applet.c:580,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/applet.c:581,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/applet.c:582,1
    - Dst: b_xfer
      Src: /src/haproxy/src/applet.c:583,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:583,1
    - Dst: htx_xfer_blks
      Src: /src/haproxy/src/applet.c:587,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/applet.c:588,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/applet.c:593,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/applet.c:594,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/applet.c:598,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - appctx
    - buf
    - count
    - flags
    argTypes:
    - struct appctx*
    - struct buffer*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 602
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 602
    functionName: appctx_htx_snd_buf
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - htx_from_buf
    - applet_fl_set
    - b_data
    - htx_is_empty
    - htx_to_buf
    - TRACE_STATE
    - htx_xfer_blks
    - b_xfer
    linkageType: ''
    returnType: size_t
    signature: appctx_htx_snd_buf(struct appctx *appctx, struct buffer *buf, size_t
      count, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_xfer
      Src: /src/haproxy/src/applet.c:608,1
    - Dst: MIN
      Src: /src/haproxy/src/applet.c:608,1
    - Dst: b_room
      Src: /src/haproxy/src/applet.c:608,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/applet.c:610,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - appctx
    - buf
    - count
    - flags
    argTypes:
    - struct appctx*
    - struct buffer*
    - size_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 615
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 615
    functionName: appctx_raw_snd_buf
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - b_room
    - applet_fl_set
    - TRACE_STATE
    - MIN
    - b_xfer
    linkageType: ''
    returnType: size_t
    signature: appctx_raw_snd_buf(struct appctx *appctx, struct buffer *buf, size_t
      count, unsigned flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/applet.c:619,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/applet.c:622,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:624,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:627,1
    - Dst: appctx_get_buf
      Src: /src/haproxy/src/applet.c:633,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:634,1
    - Dst: struct appctx*::applet::snd_buf
      Src: /src/haproxy/src/applet.c:638,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:640,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/applet.c:641,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:644,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/applet.c:645,1
    - Dst: applet_fl_get
      Src: /src/haproxy/src/applet.c:645,1
    - Dst: applet_set_error
      Src: /src/haproxy/src/applet.c:646,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:647,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/applet.c:649,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - sc
    - buf
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 651
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 651
    functionName: appctx_snd_buf
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - applet_fl_get
    - __sc_appctx
    - TRACE_LEAVE
    - TRACE_ENTER
    - appctx_get_buf
    - struct appctx*::applet::snd_buf
    - se_report_term_evt
    - applet_fl_test
    - TRACE_STATE
    - applet_set_error
    - BUG_ON
    linkageType: ''
    returnType: size_t
    signature: appctx_snd_buf(struct stconn *sc, struct buffer *buf, size_t count,
      unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/applet.c:655,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/applet.c:660,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/applet.c:662,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:665,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:666,1
    - Dst: se_opposite
      Src: /src/haproxy/src/applet.c:670,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:672,1
    - Dst: se_nego_ff
      Src: /src/haproxy/src/applet.c:681,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/applet.c:683,1
    - Dst: applet_fl_clr
      Src: /src/haproxy/src/applet.c:684,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/applet.c:685,1
    - Dst: sc_ep_set
      Src: /src/haproxy/src/applet.c:689,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:690,1
    - Dst: b_add
      Src: /src/haproxy/src/applet.c:694,1
    - Dst: struct appctx*::applet::fastfwd
      Src: /src/haproxy/src/applet.c:695,1
    - Dst: b_sub
      Src: /src/haproxy/src/applet.c:696,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/applet.c:699,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:702,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:705,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/applet.c:706,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:710,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:712,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/applet.c:713,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:714,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:716,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/applet.c:717,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:718,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:723,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/applet.c:724,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:724,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:725,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/applet.c:726,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:726,1
    - Dst: se_done_ff
      Src: /src/haproxy/src/applet.c:728,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/applet.c:731,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:732,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/applet.c:736,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 3
    argNames:
    - sc
    - count
    - flags
    argTypes:
    - struct stconn*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 738
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 738
    functionName: appctx_fastfwd
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - applet_fl_clr
    - TRACE_ENTER
    - se_nego_ff
    - se_report_term_evt
    - b_sub
    - TRACE_LEAVE
    - __sc_appctx
    - se_fl_test
    - se_opposite
    - struct appctx*::applet::fastfwd
    - se_done_ff
    - b_data
    - TRACE_DEVEL
    - applet_fl_test
    - sc_ep_clr
    - se_fl_clr
    - b_add
    - applet_fl_set
    - se_fl_set
    - TRACE_STATE
    - sc_ep_set
    linkageType: ''
    returnType: int
    signature: appctx_fastfwd(struct stconn *sc, unsigned int count, unsigned int
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/applet.c:752,1
    - Dst: b_size
      Src: /src/haproxy/src/applet.c:752,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/applet.c:757,1
    - Dst: vp_peek_ofs
      Src: /src/haproxy/src/applet.c:758,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/applet.c:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - ctx
    - v1
    - v2
    - ofs
    - len
    - delim
    argTypes:
    - void*
    - struct ist
    - struct ist
    - size_t
    - size_t
    - char
    constantsTouched: []
    func_position:
      end: 764
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 764
    functionName: applet_append_line
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - vp_peek_ofs
    - chunk_reset
    - applet_putchk
    - b_size
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: applet_append_line(void *ctx, struct ist v1, struct ist v2, size_t
      ofs, size_t len, char delim)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/applet.c:776,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:778,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/applet.c:779,1
    - Dst: __appctx_free
      Src: /src/haproxy/src/applet.c:780,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/applet.c:784,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/applet.c:788,1
    - Dst: appctx_init
      Src: /src/haproxy/src/applet.c:790,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/applet.c:791,1
    - Dst: appctx_free_on_early_error
      Src: /src/haproxy/src/applet.c:792,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/applet.c:795,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/applet.c:795,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/applet.c:795,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/applet.c:796,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/applet.c:799,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/applet.c:800,1
    - Dst: sc_ic
      Src: /src/haproxy/src/applet.c:802,1
    - Dst: sc_oc
      Src: /src/haproxy/src/applet.c:803,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/applet.c:809,1
    - Dst: applet_have_no_more_data
      Src: /src/haproxy/src/applet.c:810,1
    - Dst: sc_alloc_ibuf
      Src: /src/haproxy/src/applet.c:818,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/applet.c:819,1
    - Dst: channel_check_idletimer
      Src: /src/haproxy/src/applet.c:821,1
    - Dst: co_data
      Src: /src/haproxy/src/applet.c:824,1
    - Dst: struct appctx*::applet::fct
      Src: /src/haproxy/src/applet.c:825,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/applet.c:827,1
    - Dst: co_data
      Src: /src/haproxy/src/applet.c:832,1
    - Dst: channel_recv_max
      Src: /src/haproxy/src/applet.c:834,1
    - Dst: sc_have_room
      Src: /src/haproxy/src/applet.c:835,1
    - Dst: sc_have_room
      Src: /src/haproxy/src/applet.c:840,1
    - Dst: channel_check_xfer
      Src: /src/haproxy/src/applet.c:845,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/applet.c:846,1
    - Dst: sc_waiting_room
      Src: /src/haproxy/src/applet.c:850,1
    - Dst: sc_ep_set
      Src: /src/haproxy/src/applet.c:851,1
    - Dst: co_data
      Src: /src/haproxy/src/applet.c:854,1
    - Dst: sc_ep_report_send_activity
      Src: /src/haproxy/src/applet.c:856,1
    - Dst: sc_ep_report_blocked_send
      Src: /src/haproxy/src/applet.c:859,1
    - Dst: b_size
      Src: /src/haproxy/src/applet.c:862,1
    - Dst: sc_ib
      Src: /src/haproxy/src/applet.c:862,1
    - Dst: b_size
      Src: /src/haproxy/src/applet.c:863,1
    - Dst: sc_ib
      Src: /src/haproxy/src/applet.c:863,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:863,1
    - Dst: sc_ib
      Src: /src/haproxy/src/applet.c:863,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:864,1
    - Dst: sc_ob
      Src: /src/haproxy/src/applet.c:864,1
    - Dst: sc_is_send_allowed
      Src: /src/haproxy/src/applet.c:864,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:865,1
    - Dst: sc_ib
      Src: /src/haproxy/src/applet.c:865,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:865,1
    - Dst: sc_ob
      Src: /src/haproxy/src/applet.c:865,1
    - Dst: sc_oc
      Src: /src/haproxy/src/applet.c:866,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/src/applet.c:867,1
    - Dst: stream_dump_and_crash
      Src: /src/haproxy/src/applet.c:869,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/applet.c:869,1
    - Dst: struct stconn*::app_ops::wake
      Src: /src/haproxy/src/applet.c:872,1
    - Dst: channel_release_buffer
      Src: /src/haproxy/src/applet.c:873,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/applet.c:874,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 61
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 876
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 876
    functionName: task_run_applet
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - channel_check_xfer
    - TRACE_ENTER
    - applet_need_more_data
    - applet_have_more_data
    - sc_oc
    - BUG_ON
    - sc_ep_report_blocked_send
    - channel_recv_max
    - appctx_strm
    - TRACE_LEAVE
    - se_fl_test
    - sc_waiting_room
    - co_data
    - sc_ob
    - sc_ep_report_read_activity
    - sc_ib
    - sc_alloc_ibuf
    - b_size
    - appctx_init
    - channel_release_buffer
    - read_freq_ctr
    - channel_check_idletimer
    - TRACE_POINT
    - TRACE_DEVEL
    - sc_ep_report_send_activity
    - b_data
    - applet_fl_test
    - __appctx_free
    - appctx_free_on_early_error
    - appctx_sc
    - sc_have_room
    - applet_have_no_more_data
    - sc_is_send_allowed
    - struct appctx*::applet::fct
    - sc_opposite
    - sc_ic
    - stream_dump_and_crash
    - update_freq_ctr
    - sc_ep_set
    - struct stconn*::app_ops::wake
    linkageType: ''
    returnType: struct task
    signature: '*task_run_applet(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/applet.c:886,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:888,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/applet.c:889,1
    - Dst: __appctx_free
      Src: /src/haproxy/src/applet.c:890,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/applet.c:894,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/applet.c:898,1
    - Dst: appctx_init
      Src: /src/haproxy/src/applet.c:900,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/applet.c:901,1
    - Dst: appctx_free_on_early_error
      Src: /src/haproxy/src/applet.c:902,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/applet.c:905,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/applet.c:905,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/applet.c:905,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/applet.c:906,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/applet.c:909,1
    - Dst: sc_applet_sync_send
      Src: /src/haproxy/src/applet.c:911,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/applet.c:917,1
    - Dst: applet_have_no_more_data
      Src: /src/haproxy/src/applet.c:918,1
    - Dst: struct appctx*::applet::fct
      Src: /src/haproxy/src/applet.c:920,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/applet.c:922,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:924,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/applet.c:924,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/applet.c:925,1
    - Dst: sc_applet_sync_recv
      Src: /src/haproxy/src/applet.c:927,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/applet.c:929,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:933,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/applet.c:933,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/applet.c:934,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:935,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:937,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/applet.c:937,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/applet.c:938,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:939,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/applet.c:941,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/applet.c:941,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/applet.c:942,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/applet.c:943,1
    - Dst: sc_waiting_room
      Src: /src/haproxy/src/applet.c:948,1
    - Dst: sc_ep_set
      Src: /src/haproxy/src/applet.c:949,1
    - Dst: b_size
      Src: /src/haproxy/src/applet.c:953,1
    - Dst: sc_ib
      Src: /src/haproxy/src/applet.c:953,1
    - Dst: b_size
      Src: /src/haproxy/src/applet.c:954,1
    - Dst: sc_ib
      Src: /src/haproxy/src/applet.c:954,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:954,1
    - Dst: sc_ib
      Src: /src/haproxy/src/applet.c:954,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:955,1
    - Dst: sc_ob
      Src: /src/haproxy/src/applet.c:955,1
    - Dst: sc_is_send_allowed
      Src: /src/haproxy/src/applet.c:955,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:956,1
    - Dst: sc_ib
      Src: /src/haproxy/src/applet.c:956,1
    - Dst: b_data
      Src: /src/haproxy/src/applet.c:956,1
    - Dst: sc_ob
      Src: /src/haproxy/src/applet.c:956,1
    - Dst: sc_oc
      Src: /src/haproxy/src/applet.c:957,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/src/applet.c:958,1
    - Dst: stream_dump_and_crash
      Src: /src/haproxy/src/applet.c:960,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/applet.c:960,1
    - Dst: struct stconn*::app_ops::wake
      Src: /src/haproxy/src/applet.c:963,1
    - Dst: appctx_release_buffers
      Src: /src/haproxy/src/applet.c:964,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/applet.c:965,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 52
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 967
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 967
    functionName: task_process_applet
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - applet_need_more_data
    - applet_have_more_data
    - sc_oc
    - BUG_ON
    - appctx_strm
    - TRACE_LEAVE
    - se_fl_test
    - sc_waiting_room
    - sc_ob
    - sc_ib
    - b_size
    - appctx_init
    - appctx_release_buffers
    - read_freq_ctr
    - TRACE_POINT
    - sc_applet_sync_send
    - TRACE_DEVEL
    - b_data
    - applet_fl_test
    - __appctx_free
    - appctx_free_on_early_error
    - sc_ep_set
    - appctx_sc
    - sc_is_send_allowed
    - applet_have_no_more_data
    - struct appctx*::applet::fct
    - stream_dump_and_crash
    - se_fl_set
    - update_freq_ctr
    - TRACE_STATE
    - sc_applet_sync_recv
    - struct stconn*::app_ops::wake
    linkageType: ''
    returnType: struct task
    signature: '*task_process_applet(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/applet.c:974,1
    - Dst: strcmp
      Src: /src/haproxy/src/applet.c:977,1
    - Dst: strcmp
      Src: /src/haproxy/src/applet.c:979,1
    - Dst: memprintf
      Src: /src/haproxy/src/applet.c:982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 986
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 986
    functionName: cfg_parse_applet_zero_copy_fwd
    functionSourceFile: /src/haproxy/src/applet.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_applet_zero_copy_fwd(char **args, int section_type, struct
      proxy *curpx,\n\t\t\t\t\t  const struct proxy *defpx, const char *file, int
      line,\n\t\t\t\t\t  char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:33,1
    - Dst: branches::branches
      Src: /src/haproxy/src/eb32sctree.c:33,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:34,1
    - Dst: branches::branches
      Src: /src/haproxy/src/eb32sctree.c:34,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:35,1
    - Dst: branches::branches
      Src: /src/haproxy/src/eb32sctree.c:35,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32sctree.c:38,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:41,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:41,1
    - Dst: unlikely
      Src: /src/haproxy/src/eb32sctree.c:44,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:50,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:54,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:54,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:59,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:68,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:68,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:70,1
    - Dst: branches::branches
      Src: /src/haproxy/src/eb32sctree.c:70,1
    - Dst: branches::branches
      Src: /src/haproxy/src/eb32sctree.c:75,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:75,1
    - Dst: branches::branches
      Src: /src/haproxy/src/eb32sctree.c:76,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:77,1
    - Dst: struct eb32sc_node::struct eb32sc_node
      Src: /src/haproxy/src/eb32sctree.c:77,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:78,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32sctree.c:88,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:89,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:89,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:90,1
    - Dst: branches::branches
      Src: /src/haproxy/src/eb32sctree.c:90,1
    - Dst: branches::branches
      Src: /src/haproxy/src/eb32sctree.c:95,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:95,1
    - Dst: branches::branches
      Src: /src/haproxy/src/eb32sctree.c:96,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:97,1
    - Dst: struct eb32sc_node::struct eb32sc_node
      Src: /src/haproxy/src/eb32sctree.c:97,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 3
    argNames:
    - sub
    - new
    - scope
    argTypes:
    - struct eb_node*
    - struct eb_node*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 101
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 101
    functionName: eb32sc_insert_dup
    functionSourceFile: /src/haproxy/src/eb32sctree.c
    functionUses: 0
    functionsReached:
    - container_of
    - eb_dotag
    - branches::branches
    - eb_gettag
    - struct eb32sc_node::struct eb32sc_node
    - eb_untag
    - unlikely
    linkageType: ''
    returnType: struct eb32sc_node
    signature: '*eb32sc_insert_dup(struct eb_node *sub, struct eb_node *new, unsigned
      long scope)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/eb32sctree.c:120,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:122,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:122,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:123,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:123,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:124,1
    - Dst: key::key
      Src: /src/haproxy/src/eb32sctree.c:141,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32sctree.c:144,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:146,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:146,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:148,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:155,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:155,1
    - Dst: key::key
      Src: /src/haproxy/src/eb32sctree.c:169,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:174,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:186,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:186,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:187,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:187,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:188,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:188,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:198,1
    - Dst: flsnz
      Src: /src/haproxy/src/eb32sctree.c:198,1
    - Dst: key::key
      Src: /src/haproxy/src/eb32sctree.c:198,1
    - Dst: key::key
      Src: /src/haproxy/src/eb32sctree.c:202,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:203,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32sctree.c:205,1
    - Dst: eb32sc_insert_dup
      Src: /src/haproxy/src/eb32sctree.c:207,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:207,1
    - Dst: key::key
      Src: /src/haproxy/src/eb32sctree.c:212,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:213,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:214,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:215,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:219,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:220,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:221,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:231,1
    - Dst: node::node
      Src: /src/haproxy/src/eb32sctree.c:231,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 3
    argNames:
    - root
    - new
    - scope
    argTypes:
    - struct eb_root*
    - struct eb32sc_node*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 233
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 233
    functionName: eb32sc_insert
    functionSourceFile: /src/haproxy/src/eb32sctree.c
    functionUses: 0
    functionsReached:
    - container_of
    - eb_dotag
    - eb_gettag
    - key::key
    - eb_untag
    - eb32sc_insert_dup
    - node::node
    - unlikely
    - flsnz
    linkageType: ''
    returnType: struct eb32sc_node
    signature: '*eb32sc_insert(struct eb_root *root, struct eb32sc_node *new, unsigned
      long scope)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/eb32sctree.c:245,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32sctree.c:249,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:254,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:254,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:262,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:262,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:275,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:287,1
    - Dst: eb32sc_next_with_parent
      Src: /src/haproxy/src/eb32sctree.c:299,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - root
    - x
    - scope
    argTypes:
    - struct eb_root*
    - u32
    - unsigned long
    constantsTouched: []
    func_position:
      end: 300
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 300
    functionName: eb32sc_lookup_ge
    functionSourceFile: /src/haproxy/src/eb32sctree.c
    functionUses: 0
    functionsReached:
    - container_of
    - eb32sc_next_with_parent
    - eb_dotag
    - eb_gettag
    - eb_untag
    - unlikely
    linkageType: ''
    returnType: struct eb32sc_node
    signature: '*eb32sc_lookup_ge(struct eb_root *root, u32 x, unsigned long scope)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/eb32sctree.c:313,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32sctree.c:317,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:322,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:322,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:330,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:330,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:343,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:355,1
    - Dst: eb32sc_next_with_parent
      Src: /src/haproxy/src/eb32sctree.c:367,1
    - Dst: eb32sc_walk_down_left
      Src: /src/haproxy/src/eb32sctree.c:369,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - root
    - x
    - scope
    argTypes:
    - struct eb_root*
    - u32
    - unsigned long
    constantsTouched: []
    func_position:
      end: 372
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 372
    functionName: eb32sc_lookup_ge_or_first
    functionSourceFile: /src/haproxy/src/eb32sctree.c
    functionUses: 0
    functionsReached:
    - eb32sc_walk_down_left
    - container_of
    - eb32sc_next_with_parent
    - eb_dotag
    - eb_gettag
    - eb_untag
    - unlikely
    linkageType: ''
    returnType: struct eb32sc_node
    signature: '*eb32sc_lookup_ge_or_first(struct eb_root *root, u32 x, unsigned long
      scope)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32sctree.c:389,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/eb32sctree.c:390,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:390,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/eb32sctree.c:397,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32sctree.c:408,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:409,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32sctree.c:412,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/eb32sctree.c:415,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:415,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:416,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/eb32sctree.c:418,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:418,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:419,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32sctree.c:449,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:450,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:451,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32sctree.c:456,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/eb32sctree.c:457,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:457,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:458,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:459,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:459,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/eb32sctree.c:461,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:461,1
    - Dst: eb_dotag
      Src: /src/haproxy/src/eb32sctree.c:462,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32sctree.c:463,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32sctree.c:463,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - eb32
    argTypes:
    - struct eb32sc_node*
    constantsTouched: []
    func_position:
      end: 472
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 472
    functionName: eb32sc_delete
    functionSourceFile: /src/haproxy/src/eb32sctree.c
    functionUses: 0
    functionsReached:
    - eb_clrtag
    - container_of
    - eb_dotag
    - eb_gettag
    - eb_untag
    - eb_root_to_node
    linkageType: ''
    returnType: void
    signature: eb32sc_delete(struct eb32sc_node *eb32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_rules.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw_list
    argTypes:
    - struct action_kw_list*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: http_req_keywords_register
    functionSourceFile: /src/haproxy/src/http_rules.c
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: http_req_keywords_register(struct action_kw_list *kw_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_rules.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw_list
    argTypes:
    - struct action_kw_list*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: http_res_keywords_register
    functionSourceFile: /src/haproxy/src/http_rules.c
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: http_res_keywords_register(struct action_kw_list *kw_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_rules.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw_list
    argTypes:
    - struct action_kw_list*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: http_after_res_keywords_register
    functionSourceFile: /src/haproxy/src/http_rules.c
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: http_after_res_keywords_register(struct action_kw_list *kw_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: action_lookup
      Src: /src/haproxy/src/http_rules.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: action_http_req_custom
    functionSourceFile: /src/haproxy/src/http_rules.c
    functionUses: 1
    functionsReached:
    - action_lookup
    linkageType: ''
    returnType: struct action_kw
    signature: '*action_http_req_custom(const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: action_lookup
      Src: /src/haproxy/src/http_rules.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: action_http_res_custom
    functionSourceFile: /src/haproxy/src/http_rules.c
    functionUses: 1
    functionsReached:
    - action_lookup
    linkageType: ''
    returnType: struct action_kw
    signature: '*action_http_res_custom(const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: action_lookup
      Src: /src/haproxy/src/http_rules.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: action_http_after_res_custom
    functionSourceFile: /src/haproxy/src/http_rules.c
    functionUses: 1
    functionsReached:
    - action_lookup
    linkageType: ''
    returnType: struct action_kw
    signature: '*action_http_after_res_custom(const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_act_rule
      Src: /src/haproxy/src/http_rules.c:99,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:101,1
    - Dst: action_http_req_custom
      Src: /src/haproxy/src/http_rules.c:105,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:114,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/http_rules.c:118,1
    - Dst: struct action_kw*::parse
      Src: /src/haproxy/src/http_rules.c:121,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:122,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/http_rules.c:123,1
    - Dst: free
      Src: /src/haproxy/src/http_rules.c:124,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_rules.c:128,1
    - Dst: free
      Src: /src/haproxy/src/http_rules.c:129,1
    - Dst: action_build_list
      Src: /src/haproxy/src/http_rules.c:135,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:136,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:145,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:145,1
    - Dst: build_acl_cond
      Src: /src/haproxy/src/http_rules.c:149,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:150,1
    - Dst: free
      Src: /src/haproxy/src/http_rules.c:152,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:158,1
    - Dst: free_act_rule
      Src: /src/haproxy/src/http_rules.c:166,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 4
    argNames:
    - args
    - file
    - linenum
    - proxy
    argTypes:
    - char**
    - char*
    - int
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 169
      start: 93
    functionDepth: 6
    functionLinenumber: 93
    functionLinenumberEnd: 169
    functionName: parse_http_req_cond
    functionSourceFile: /src/haproxy/src/http_rules.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - struct action_kw*::parse
    - build_acl_cond
    - new_act_rule
    - action_http_req_custom
    - ha_warning
    - strcmp
    - free
    - proxy_type_str
    - mark_tainted
    - action_build_list
    - free_act_rule
    linkageType: ''
    returnType: struct act_rule
    signature: '*parse_http_req_cond(const char **args, const char *file, int linenum,
      struct proxy *proxy)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_act_rule
      Src: /src/haproxy/src/http_rules.c:178,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:180,1
    - Dst: action_http_res_custom
      Src: /src/haproxy/src/http_rules.c:184,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:193,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/http_rules.c:197,1
    - Dst: struct action_kw*::parse
      Src: /src/haproxy/src/http_rules.c:200,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:201,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/http_rules.c:202,1
    - Dst: free
      Src: /src/haproxy/src/http_rules.c:203,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_rules.c:207,1
    - Dst: free
      Src: /src/haproxy/src/http_rules.c:208,1
    - Dst: action_build_list
      Src: /src/haproxy/src/http_rules.c:214,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:215,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:224,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:224,1
    - Dst: build_acl_cond
      Src: /src/haproxy/src/http_rules.c:228,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:229,1
    - Dst: free
      Src: /src/haproxy/src/http_rules.c:231,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:237,1
    - Dst: free_act_rule
      Src: /src/haproxy/src/http_rules.c:245,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 4
    argNames:
    - args
    - file
    - linenum
    - proxy
    argTypes:
    - char**
    - char*
    - int
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 248
      start: 172
    functionDepth: 6
    functionLinenumber: 172
    functionLinenumberEnd: 248
    functionName: parse_http_res_cond
    functionSourceFile: /src/haproxy/src/http_rules.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - struct action_kw*::parse
    - build_acl_cond
    - new_act_rule
    - ha_warning
    - strcmp
    - action_http_res_custom
    - free
    - proxy_type_str
    - mark_tainted
    - action_build_list
    - free_act_rule
    linkageType: ''
    returnType: struct act_rule
    signature: '*parse_http_res_cond(const char **args, const char *file, int linenum,
      struct proxy *proxy)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_act_rule
      Src: /src/haproxy/src/http_rules.c:258,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:260,1
    - Dst: action_http_after_res_custom
      Src: /src/haproxy/src/http_rules.c:264,1
    - Dst: struct action_kw*::parse
      Src: /src/haproxy/src/http_rules.c:270,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:271,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/http_rules.c:272,1
    - Dst: free
      Src: /src/haproxy/src/http_rules.c:273,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_rules.c:277,1
    - Dst: free
      Src: /src/haproxy/src/http_rules.c:278,1
    - Dst: action_build_list
      Src: /src/haproxy/src/http_rules.c:284,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:285,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:294,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:294,1
    - Dst: build_acl_cond
      Src: /src/haproxy/src/http_rules.c:298,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:299,1
    - Dst: free
      Src: /src/haproxy/src/http_rules.c:301,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_rules.c:307,1
    - Dst: free_act_rule
      Src: /src/haproxy/src/http_rules.c:315,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 4
    argNames:
    - args
    - file
    - linenum
    - proxy
    argTypes:
    - char**
    - char*
    - int
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 318
      start: 252
    functionDepth: 6
    functionLinenumber: 252
    functionLinenumberEnd: 318
    functionName: parse_http_after_res_cond
    functionSourceFile: /src/haproxy/src/http_rules.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - struct action_kw*::parse
    - build_acl_cond
    - new_act_rule
    - ha_warning
    - strcmp
    - action_http_after_res_custom
    - free
    - proxy_type_str
    - action_build_list
    - free_act_rule
    linkageType: ''
    returnType: struct act_rule
    signature: '*parse_http_after_res_cond(const char **args, const char *file, int
      linenum, struct proxy *proxy)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_acl_cond
      Src: /src/haproxy/src/http_rules.c:323,1
    - Dst: free
      Src: /src/haproxy/src/http_rules.c:324,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/http_rules.c:326,1
    - Dst: istfree
      Src: /src/haproxy/src/http_rules.c:328,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/http_rules.c:329,1
    - Dst: free
      Src: /src/haproxy/src/http_rules.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rdr
    argTypes:
    - struct redirect_rule*
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: http_free_redirect_rule
    functionSourceFile: /src/haproxy/src/http_rules.c
    functionUses: 0
    functionsReached:
    - free
    - istfree
    - lf_expr_deinit
    - free_acl_cond
    linkageType: ''
    returnType: void
    signature: http_free_redirect_rule(struct redirect_rule *rdr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:354,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:362,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:369,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:377,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:385,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:393,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:401,1
    - Dst: atol
      Src: /src/haproxy/src/http_rules.c:406,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_rules.c:408,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:414,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:417,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:420,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:423,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:426,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_rules.c:427,1
    - Dst: build_acl_cond
      Src: /src/haproxy/src/http_rules.c:428,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_rules.c:430,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_rules.c:436,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_rules.c:446,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_rules.c:451,1
    - Dst: calloc
      Src: /src/haproxy/src/http_rules.c:455,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_rules.c:459,1
    - Dst: strdup
      Src: /src/haproxy/src/http_rules.c:463,1
    - Dst: strlen
      Src: /src/haproxy/src/http_rules.c:466,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/http_rules.c:482,1
    - Dst: strlen
      Src: /src/haproxy/src/http_rules.c:492,1
    - Dst: istalloc
      Src: /src/haproxy/src/http_rules.c:494,1
    - Dst: isttest
      Src: /src/haproxy/src/http_rules.c:495,1
    - Dst: istcpy
      Src: /src/haproxy/src/http_rules.c:497,1
    - Dst: ist2
      Src: /src/haproxy/src/http_rules.c:497,1
    - Dst: istcat
      Src: /src/haproxy/src/http_rules.c:498,1
    - Dst: ist2
      Src: /src/haproxy/src/http_rules.c:498,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_rules.c:503,1
    - Dst: chunk_memcpy
      Src: /src/haproxy/src/http_rules.c:510,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/http_rules.c:511,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/http_rules.c:512,1
    - Dst: istalloc
      Src: /src/haproxy/src/http_rules.c:519,1
    - Dst: isttest
      Src: /src/haproxy/src/http_rules.c:520,1
    - Dst: istcpy
      Src: /src/haproxy/src/http_rules.c:522,1
    - Dst: ist2
      Src: /src/haproxy/src/http_rules.c:522,1
    - Dst: istcat
      Src: /src/haproxy/src/http_rules.c:523,1
    - Dst: ist2
      Src: /src/haproxy/src/http_rules.c:523,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/http_rules.c:529,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_rules.c:533,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_rules.c:536,1
    - Dst: http_free_redirect_rule
      Src: /src/haproxy/src/http_rules.c:539,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/http_rules.c:542,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 179
    argCount: 7
    argNames:
    - file
    - linenum
    - curproxy
    - args
    - errmsg
    - use_fmt
    - dir
    argTypes:
    - char*
    - int
    - struct proxy*
    - char**
    - char**
    - int
    - int
    constantsTouched: []
    func_position:
      end: 546
      start: 338
    functionDepth: 6
    functionLinenumber: 338
    functionLinenumberEnd: 546
    functionName: http_parse_redirect_rule
    functionSourceFile: /src/haproxy/src/http_rules.c
    functionUses: 0
    functionsReached:
    - memprintf
    - isttest
    - istalloc
    - istcpy
    - istcat
    - lf_expr_init
    - strcmp
    - ist2
    - chunk_strcat
    - free_acl_cond
    - atol
    - chunk_memcpy
    - strlen
    - strdup
    - LIST_INIT
    - build_acl_cond
    - http_free_redirect_rule
    - calloc
    - parse_logformat_string
    linkageType: ''
    returnType: struct redirect_rule
    signature: "*http_parse_redirect_rule(const char *file, int linenum, struct proxy
      *curproxy,\n                                               const char **args,
      char **errmsg, int use_fmt, int dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/http_client.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: hc_cli_res_stline_cb
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    linkageType: ''
    returnType: void
    signature: hc_cli_res_stline_cb(struct httpclient *hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/http_client.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: hc_cli_res_headers_cb
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    linkageType: ''
    returnType: void
    signature: hc_cli_res_headers_cb(struct httpclient *hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/http_client.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: hc_cli_res_body_cb
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    linkageType: ''
    returnType: void
    signature: hc_cli_res_body_cb(struct httpclient *hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/http_client.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: hc_cli_res_end_cb
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    linkageType: ''
    returnType: void
    signature: hc_cli_res_end_cb(struct httpclient *hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/http_client.c:132,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/http_client.c:140,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:144,1
    - Dst: ist
      Src: /src/haproxy/src/http_client.c:149,1
    - Dst: ist
      Src: /src/haproxy/src/http_client.c:152,1
    - Dst: find_http_meth
      Src: /src/haproxy/src/http_client.c:154,1
    - Dst: strlen
      Src: /src/haproxy/src/http_client.c:154,1
    - Dst: httpclient_new
      Src: /src/haproxy/src/http_client.c:156,1
    - Dst: httpclient_req_gen
      Src: /src/haproxy/src/http_client.c:170,1
    - Dst: httpclient_start
      Src: /src/haproxy/src/http_client.c:174,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:180,1
    - Dst: cli_err
      Src: /src/haproxy/src/http_client.c:181,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 182
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 182
    functionName: hc_cli_parse
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - memprintf
    - httpclient_new
    - httpclient_req_gen
    - strlen
    - cli_err
    - ist
    - find_http_meth
    - httpclient_start
    - cli_has_level
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: hc_cli_parse(char **args, char *payload, struct appctx *appctx, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_client.c:197,1
    - Dst: istlen
      Src: /src/haproxy/src/http_client.c:197,1
    - Dst: istptr
      Src: /src/haproxy/src/http_client.c:197,1
    - Dst: istlen
      Src: /src/haproxy/src/http_client.c:198,1
    - Dst: istptr
      Src: /src/haproxy/src/http_client.c:198,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/http_client.c:199,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/http_client.c:205,1
    - Dst: isttest
      Src: /src/haproxy/src/http_client.c:207,1
    - Dst: h1_format_htx_hdr
      Src: /src/haproxy/src/http_client.c:208,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_client.c:211,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/http_client.c:213,1
    - Dst: httpclient_res_xfer
      Src: /src/haproxy/src/http_client.c:219,1
    - Dst: httpclient_data
      Src: /src/haproxy/src/http_client.c:222,1
    - Dst: applet_have_no_more_data
      Src: /src/haproxy/src/http_client.c:235,1
    - Dst: cli_err
      Src: /src/haproxy/src/http_client.c:241,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 242
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 242
    functionName: hc_cli_io_handler
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - applet_have_no_more_data
    - chunk_reset
    - httpclient_data
    - istlen
    - isttest
    - chunk_memcat
    - cli_err
    - istptr
    - chunk_printf
    - applet_putchk
    - httpclient_res_xfer
    - h1_format_htx_hdr
    linkageType: ''
    returnType: int
    signature: hc_cli_io_handler(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: httpclient_stop_and_destroy
      Src: /src/haproxy/src/http_client.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: hc_cli_release
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - httpclient_stop_and_destroy
    linkageType: ''
    returnType: void
    signature: hc_cli_release(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_alloc
      Src: /src/haproxy/src/http_client.c:287,1
    - Dst: ist
      Src: /src/haproxy/src/http_client.c:295,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/http_client.c:297,1
    - Dst: isttest
      Src: /src/haproxy/src/http_client.c:301,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/http_client.c:304,1
    - Dst: isttest
      Src: /src/haproxy/src/http_client.c:312,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_client.c:315,1
    - Dst: ist
      Src: /src/haproxy/src/http_client.c:315,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_client.c:317,1
    - Dst: ist
      Src: /src/haproxy/src/http_client.c:317,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_client.c:319,1
    - Dst: ist
      Src: /src/haproxy/src/http_client.c:319,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_client.c:322,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_client.c:328,1
    - Dst: ist
      Src: /src/haproxy/src/http_client.c:328,1
    - Dst: ist
      Src: /src/haproxy/src/http_client.c:328,1
    - Dst: http_update_host
      Src: /src/haproxy/src/http_client.c:330,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_client.c:335,1
    - Dst: ist
      Src: /src/haproxy/src/http_client.c:335,1
    - Dst: ist
      Src: /src/haproxy/src/http_client.c:335,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_client.c:340,1
    - Dst: ist
      Src: /src/haproxy/src/http_client.c:340,1
    - Dst: ist
      Src: /src/haproxy/src/http_client.c:340,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/http_client.c:345,1
    - Dst: isttest
      Src: /src/haproxy/src/http_client.c:348,1
    - Dst: istlen
      Src: /src/haproxy/src/http_client.c:348,1
    - Dst: htx_add_data_atonce
      Src: /src/haproxy/src/http_client.c:351,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_client.c:360,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 70
    argCount: 5
    argNames:
    - hc
    - url
    - meth
    - hdrs
    - payload
    argTypes:
    - struct httpclient*
    - struct ist
    - enum http_meth_t
    - struct http_hdr*
    - struct ist
    constantsTouched: []
    func_position:
      end: 366
      start: 274
    functionDepth: 5
    functionLinenumber: 274
    functionLinenumberEnd: 366
    functionName: httpclient_req_gen
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 3
    functionsReached:
    - htx_add_header
    - htx_add_data_atonce
    - b_alloc
    - htx_from_buf
    - istlen
    - isttest
    - htx_add_endof
    - ist
    - htx_to_buf
    - isteqi
    - http_update_host
    - htx_add_stline
    linkageType: ''
    returnType: int
    signature: httpclient_req_gen(struct httpclient *hc, const struct ist url, enum
      http_meth_t meth, const struct http_hdr *hdrs, const struct ist payload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_force_xfer
      Src: /src/haproxy/src/http_client.c:379,1
    - Dst: MIN
      Src: /src/haproxy/src/http_client.c:379,1
    - Dst: b_data
      Src: /src/haproxy/src/http_client.c:379,1
    - Dst: b_data
      Src: /src/haproxy/src/http_client.c:381,1
    - Dst: b_free
      Src: /src/haproxy/src/http_client.c:382,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/http_client.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hc
    - dst
    argTypes:
    - struct httpclient*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: httpclient_res_xfer
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 2
    functionsReached:
    - appctx_wakeup
    - b_free
    - b_force_xfer
    - b_data
    - MIN
    linkageType: ''
    returnType: int
    signature: httpclient_res_xfer(struct httpclient *hc, struct buffer *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_alloc
      Src: /src/haproxy/src/http_client.c:405,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/http_client.c:408,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/http_client.c:413,1
    - Dst: htx_add_data
      Src: /src/haproxy/src/http_client.c:415,1
    - Dst: istlen
      Src: /src/haproxy/src/http_client.c:419,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_client.c:426,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/http_client.c:427,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_client.c:432,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - hc
    - src
    - end
    argTypes:
    - struct httpclient*
    - struct ist
    - int
    constantsTouched: []
    func_position:
      end: 437
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 437
    functionName: httpclient_req_xfer
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 1
    functionsReached:
    - appctx_wakeup
    - htx_from_buf
    - istlen
    - htx_add_endof
    - htx_is_empty
    - htx_to_buf
    - htx_add_data
    - b_alloc
    linkageType: ''
    returnType: int
    signature: httpclient_req_xfer(struct httpclient *hc, struct ist src, int end)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hc
    - timeout
    argTypes:
    - struct httpclient*
    - int
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: httpclient_set_timeout
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: httpclient_set_timeout(struct httpclient *hc, int timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_free
      Src: /src/haproxy/src/http_client.c:455,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/http_client.c:457,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_client.c:461,1
    - Dst: free
      Src: /src/haproxy/src/http_client.c:462,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/http_client.c:466,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_client.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - hc
    - dst
    argTypes:
    - struct httpclient*
    - char*
    constantsTouched: []
    func_position:
      end: 472
      start: 450
    functionDepth: 3
    functionLinenumber: 450
    functionLinenumberEnd: 472
    functionName: httpclient_set_dst
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 1
    functionsReached:
    - sockaddr_free
    - ha_alert
    - str2sa_range
    - sockaddr_alloc
    - free
    linkageType: ''
    returnType: int
    signature: httpclient_set_dst(struct httpclient *hc, const char *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_client.c:486,1
    - Dst: http_parse_scheme
      Src: /src/haproxy/src/http_client.c:487,1
    - Dst: isttest
      Src: /src/haproxy/src/http_client.c:488,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_client.c:492,1
    - Dst: ist
      Src: /src/haproxy/src/http_client.c:492,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_client.c:495,1
    - Dst: ist
      Src: /src/haproxy/src/http_client.c:495,1
    - Dst: http_parse_authority
      Src: /src/haproxy/src/http_client.c:500,1
    - Dst: isttest
      Src: /src/haproxy/src/http_client.c:501,1
    - Dst: istend
      Src: /src/haproxy/src/http_client.c:504,1
    - Dst: istptr
      Src: /src/haproxy/src/http_client.c:507,1
    - Dst: isdigit
      Src: /src/haproxy/src/http_client.c:507,1
    - Dst: ist2
      Src: /src/haproxy/src/http_client.c:511,1
    - Dst: istptr
      Src: /src/haproxy/src/http_client.c:511,1
    - Dst: istptr
      Src: /src/haproxy/src/http_client.c:511,1
    - Dst: istnext
      Src: /src/haproxy/src/http_client.c:512,1
    - Dst: ist2
      Src: /src/haproxy/src/http_client.c:512,1
    - Dst: ist2str
      Src: /src/haproxy/src/http_client.c:513,1
    - Dst: atoi
      Src: /src/haproxy/src/http_client.c:514,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - url
    - scheme
    - host
    - port
    argTypes:
    - struct ist
    - enum http_scheme*
    - struct ist*
    - int*
    constantsTouched: []
    func_position:
      end: 527
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 527
    functionName: httpclient_spliturl
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - ist2str
    - istend
    - atoi
    - isttest
    - ist2
    - ist
    - istptr
    - istnext
    - http_parse_authority
    - http_uri_parser_init
    - isteqi
    - isdigit
    - http_parse_scheme
    linkageType: ''
    returnType: int
    signature: "httpclient_spliturl(struct ist url, enum http_scheme *scheme,\n                               struct
      ist *host, int *port)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: httpclient_started
      Src: /src/haproxy/src/http_client.c:542,1
    - Dst: httpclient_ended
      Src: /src/haproxy/src/http_client.c:542,1
    - Dst: appctx_new_here
      Src: /src/haproxy/src/http_client.c:547,1
    - Dst: appctx_init
      Src: /src/haproxy/src/http_client.c:553,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_client.c:554,1
    - Dst: appctx_free_on_early_error
      Src: /src/haproxy/src/http_client.c:561,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 565
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 565
    functionName: httpclient_start
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 3
    functionsReached:
    - ha_alert
    - httpclient_ended
    - httpclient_started
    - appctx_init
    - appctx_free_on_early_error
    - appctx_new_here
    linkageType: ''
    returnType: struct appctx
    signature: '*httpclient_start(struct httpclient *hc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: httpclient_destroy
      Src: /src/haproxy/src/http_client.c:579,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/http_client.c:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 588
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 588
    functionName: httpclient_stop_and_destroy
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 5
    functionsReached:
    - appctx_wakeup
    - httpclient_destroy
    linkageType: ''
    returnType: void
    signature: httpclient_stop_and_destroy(struct httpclient *hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/http_client.c:600,1
    - Dst: httpclient_started
      Src: /src/haproxy/src/http_client.c:600,1
    - Dst: httpclient_ended
      Src: /src/haproxy/src/http_client.c:600,1
    - Dst: istfree
      Src: /src/haproxy/src/http_client.c:603,1
    - Dst: b_free
      Src: /src/haproxy/src/http_client.c:604,1
    - Dst: istfree
      Src: /src/haproxy/src/http_client.c:606,1
    - Dst: istfree
      Src: /src/haproxy/src/http_client.c:607,1
    - Dst: isttest
      Src: /src/haproxy/src/http_client.c:609,1
    - Dst: istfree
      Src: /src/haproxy/src/http_client.c:610,1
    - Dst: istfree
      Src: /src/haproxy/src/http_client.c:611,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_client.c:614,1
    - Dst: b_free
      Src: /src/haproxy/src/http_client.c:615,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/http_client.c:616,1
    - Dst: free
      Src: /src/haproxy/src/http_client.c:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 621
      start: 591
    functionDepth: 3
    functionLinenumber: 591
    functionLinenumberEnd: 621
    functionName: httpclient_destroy
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 1
    functionsReached:
    - sockaddr_free
    - istfree
    - b_free
    - httpclient_ended
    - ha_free
    - httpclient_started
    - isttest
    - free
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: httpclient_destroy(struct httpclient *hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/http_client.c:634,1
    - Dst: istdup
      Src: /src/haproxy/src/http_client.c:641,1
    - Dst: httpclient_set_proxy
      Src: /src/haproxy/src/http_client.c:643,1
    - Dst: httpclient_destroy
      Src: /src/haproxy/src/http_client.c:648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - caller
    - meth
    - url
    argTypes:
    - void*
    - enum http_meth_t
    - struct ist
    constantsTouched: []
    func_position:
      end: 650
      start: 627
    functionDepth: 4
    functionLinenumber: 627
    functionLinenumberEnd: 650
    functionName: httpclient_new
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 2
    functionsReached:
    - calloc
    - istdup
    - httpclient_destroy
    - httpclient_set_proxy
    linkageType: ''
    returnType: struct httpclient
    signature: '*httpclient_new(void *caller, enum http_meth_t meth, struct ist url)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: httpclient_new
      Src: /src/haproxy/src/http_client.c:664,1
    - Dst: httpclient_set_proxy
      Src: /src/haproxy/src/http_client.c:668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - px
    - caller
    - meth
    - url
    argTypes:
    - struct proxy*
    - void*
    - enum http_meth_t
    - struct ist
    constantsTouched: []
    func_position:
      end: 671
      start: 657
    functionDepth: 5
    functionLinenumber: 657
    functionLinenumberEnd: 671
    functionName: httpclient_new_from_proxy
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 1
    functionsReached:
    - httpclient_new
    - httpclient_set_proxy
    linkageType: ''
    returnType: struct httpclient
    signature: '*httpclient_new_from_proxy(struct proxy *px, void *caller, enum http_meth_t
      meth, struct ist url)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xprt_get
      Src: /src/haproxy/src/http_client.c:686,1
    - Dst: xprt_get
      Src: /src/haproxy/src/http_client.c:689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - hc
    - px
    argTypes:
    - struct httpclient*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 696
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 696
    functionName: httpclient_set_proxy
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 2
    functionsReached:
    - xprt_get
    linkageType: ''
    returnType: int
    signature: httpclient_set_proxy(struct httpclient *hc, struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/http_client.c:701,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/http_client.c:702,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_client.c:712,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/http_client.c:712,1
    - Dst: co_data
      Src: /src/haproxy/src/http_client.c:713,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/http_client.c:714,1
    - Dst: co_htx_skip
      Src: /src/haproxy/src/http_client.c:715,1
    - Dst: co_data
      Src: /src/haproxy/src/http_client.c:715,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_client.c:716,1
    - Dst: b_xfer
      Src: /src/haproxy/src/http_client.c:737,1
    - Dst: b_data
      Src: /src/haproxy/src/http_client.c:737,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/http_client.c:739,1
    - Dst: b_data
      Src: /src/haproxy/src/http_client.c:743,1
    - Dst: b_free
      Src: /src/haproxy/src/http_client.c:744,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/http_client.c:746,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/http_client.c:748,1
    - Dst: channel_add_input
      Src: /src/haproxy/src/http_client.c:752,1
    - Dst: struct httpclient*::ops::req_payload
      Src: /src/haproxy/src/http_client.c:769,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_client.c:771,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_client.c:772,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/http_client.c:775,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_client.c:776,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_client.c:782,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_client.c:783,1
    - Dst: b_xfer
      Src: /src/haproxy/src/http_client.c:784,1
    - Dst: b_data
      Src: /src/haproxy/src/http_client.c:784,1
    - Dst: channel_add_input
      Src: /src/haproxy/src/http_client.c:785,1
    - Dst: htx_xfer_blks
      Src: /src/haproxy/src/http_client.c:789,1
    - Dst: htx_used_space
      Src: /src/haproxy/src/http_client.c:789,1
    - Dst: channel_add_input
      Src: /src/haproxy/src/http_client.c:790,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_client.c:793,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_client.c:796,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_client.c:797,1
    - Dst: b_data
      Src: /src/haproxy/src/http_client.c:801,1
    - Dst: b_free
      Src: /src/haproxy/src/http_client.c:802,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_client.c:805,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/http_client.c:817,1
    - Dst: co_data
      Src: /src/haproxy/src/http_client.c:820,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_client.c:822,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_client.c:823,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/http_client.c:825,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_client.c:826,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/http_client.c:827,1
    - Dst: istdup
      Src: /src/haproxy/src/http_client.c:833,1
    - Dst: htx_sl_res_vsn
      Src: /src/haproxy/src/http_client.c:833,1
    - Dst: istdup
      Src: /src/haproxy/src/http_client.c:834,1
    - Dst: htx_sl_res_reason
      Src: /src/haproxy/src/http_client.c:834,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/http_client.c:835,1
    - Dst: c_rew
      Src: /src/haproxy/src/http_client.c:836,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/http_client.c:837,1
    - Dst: struct httpclient*::ops::res_stline
      Src: /src/haproxy/src/http_client.c:840,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_client.c:842,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_client.c:846,1
    - Dst: co_data
      Src: /src/haproxy/src/http_client.c:862,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_client.c:864,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_client.c:865,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/http_client.c:869,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_client.c:871,1
    - Dst: c_rew
      Src: /src/haproxy/src/http_client.c:874,1
    - Dst: istdup
      Src: /src/haproxy/src/http_client.c:877,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/http_client.c:877,1
    - Dst: istdup
      Src: /src/haproxy/src/http_client.c:878,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_client.c:878,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/http_client.c:885,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/http_client.c:888,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_client.c:890,1
    - Dst: calloc
      Src: /src/haproxy/src/http_client.c:894,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_client.c:897,1
    - Dst: struct httpclient*::ops::res_headers
      Src: /src/haproxy/src/http_client.c:901,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_client.c:906,1
    - Dst: co_data
      Src: /src/haproxy/src/http_client.c:919,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_client.c:922,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_client.c:923,1
    - Dst: b_alloc
      Src: /src/haproxy/src/http_client.c:926,1
    - Dst: b_full
      Src: /src/haproxy/src/http_client.c:929,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/http_client.c:933,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_client.c:935,1
    - Dst: MIN
      Src: /src/haproxy/src/http_client.c:943,1
    - Dst: MIN
      Src: /src/haproxy/src/http_client.c:944,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_client.c:947,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_client.c:952,1
    - Dst: __b_putblk
      Src: /src/haproxy/src/http_client.c:954,1
    - Dst: c_rew
      Src: /src/haproxy/src/http_client.c:955,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/http_client.c:958,1
    - Dst: htx_cut_data_blk
      Src: /src/haproxy/src/http_client.c:960,1
    - Dst: struct httpclient*::ops::res_payload
      Src: /src/haproxy/src/http_client.c:964,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_client.c:968,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_client.c:973,1
    - Dst: c_rew
      Src: /src/haproxy/src/http_client.c:978,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/http_client.c:979,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_client.c:983,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_client.c:986,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/http_client.c:995,1
    - Dst: sc_will_read
      Src: /src/haproxy/src/http_client.c:1005,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/http_client.c:1009,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 214
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1011
      start: 698
    functionDepth: 3
    functionLinenumber: 698
    functionLinenumberEnd: 1011
    functionName: httpclient_applet_io_handler
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_ptr
    - htx_get_blk_value
    - htx_to_buf
    - b_alloc
    - sc_need_room
    - htx_sl_res_vsn
    - htx_sl_res_reason
    - b_free
    - se_fl_test
    - htx_from_buf
    - co_data
    - __b_putblk
    - htx_is_empty
    - channel_add_input
    - __sc_strm
    - htx_cut_data_blk
    - b_full
    - struct httpclient*::ops::res_stline
    - htx_get_blksz
    - htx_get_head_blk
    - htxbuf
    - htx_get_blk_type
    - b_data
    - c_rew
    - sc_will_read
    - appctx_sc
    - htx_used_space
    - htx_get_blk_name
    - calloc
    - istdup
    - struct httpclient*::ops::res_headers
    - struct httpclient*::ops::res_payload
    - co_htx_skip
    - struct httpclient*::ops::req_payload
    - se_fl_set
    - unlikely
    - MIN
    - memcpy
    - htx_xfer_blks
    - htx_remove_blk
    - b_xfer
    linkageType: ''
    returnType: void
    signature: httpclient_applet_io_handler(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: httpclient_spliturl
      Src: /src/haproxy/src/http_client.c:1028,1
    - Dst: ist2str
      Src: /src/haproxy/src/http_client.c:1036,1
    - Dst: str2ip2
      Src: /src/haproxy/src/http_client.c:1037,1
    - Dst: str2ip2
      Src: /src/haproxy/src/http_client.c:1040,1
    - Dst: sock_inet_set_port
      Src: /src/haproxy/src/http_client.c:1042,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/http_client.c:1045,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_client.c:1058,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_client.c:1062,1
    - Dst: appctx_finalize_startup
      Src: /src/haproxy/src/http_client.c:1068,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_client.c:1069,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/http_client.c:1073,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/http_client.c:1092,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/http_client.c:1093,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/http_client.c:1105,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1013
    functionDepth: 7
    functionLinenumber: 1013
    functionLinenumberEnd: 1108
    functionName: httpclient_applet_init
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - sockaddr_free
    - appctx_strm
    - appctx_wakeup
    - ist2str
    - sockaddr_alloc
    - sock_inet_set_port
    - httpclient_spliturl
    - applet_need_more_data
    - str2ip2
    - appctx_finalize_startup
    linkageType: ''
    returnType: int
    signature: httpclient_applet_init(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct httpclient*::ops::res_end
      Src: /src/haproxy/src/http_client.c:1121,1
    - Dst: httpclient_destroy
      Src: /src/haproxy/src/http_client.c:1125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1133
      start: 1110
    functionDepth: 4
    functionLinenumber: 1110
    functionLinenumberEnd: 1133
    functionName: httpclient_applet_release
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - httpclient_destroy
    - struct httpclient*::ops::res_end
    linkageType: ''
    returnType: void
    signature: httpclient_applet_release(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/haproxy/src/http_client.c:1164,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1166,1
    - Dst: resolvers_create_default
      Src: /src/haproxy/src/http_client.c:1170,1
    - Dst: find_resolvers_by_id
      Src: /src/haproxy/src/http_client.c:1173,1
    - Dst: free
      Src: /src/haproxy/src/http_client.c:1174,1
    - Dst: parse_http_req_cond
      Src: /src/haproxy/src/http_client.c:1180,1
    - Dst: free
      Src: /src/haproxy/src/http_client.c:1182,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_client.c:1183,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_client.c:1186,1
    - Dst: free
      Src: /src/haproxy/src/http_client.c:1189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1145
    functionDepth: 7
    functionLinenumber: 1145
    functionLinenumberEnd: 1191
    functionName: httpclient_resolve_init
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_alert
    - LIST_APPEND
    - resolvers_create_default
    - strdup
    - free
    - parse_http_req_cond
    - find_resolvers_by_id
    linkageType: ''
    returnType: int
    signature: httpclient_resolve_init(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_new_proxy
      Src: /src/haproxy/src/http_client.c:1215,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1217,1
    - Dst: strdup
      Src: /src/haproxy/src/http_client.c:1233,1
    - Dst: new_server
      Src: /src/haproxy/src/http_client.c:1237,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1239,1
    - Dst: srv_settings_cpy
      Src: /src/haproxy/src/http_client.c:1244,1
    - Dst: xprt_get
      Src: /src/haproxy/src/http_client.c:1247,1
    - Dst: strdup
      Src: /src/haproxy/src/http_client.c:1249,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1251,1
    - Dst: new_server
      Src: /src/haproxy/src/http_client.c:1258,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1260,1
    - Dst: srv_settings_cpy
      Src: /src/haproxy/src/http_client.c:1264,1
    - Dst: xprt_get
      Src: /src/haproxy/src/http_client.c:1267,1
    - Dst: strdup
      Src: /src/haproxy/src/http_client.c:1270,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1272,1
    - Dst: ssl_sock_parse_alpn
      Src: /src/haproxy/src/http_client.c:1278,1
    - Dst: strdup
      Src: /src/haproxy/src/http_client.c:1287,1
    - Dst: __ssl_store_load_locations_file
      Src: /src/haproxy/src/http_client.c:1288,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1293,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_client.c:1297,1
    - Dst: srv_drop
      Src: /src/haproxy/src/http_client.c:1298,1
    - Dst: httpclient_resolve_init
      Src: /src/haproxy/src/http_client.c:1310,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1311,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_client.c:1330,1
    - Dst: free
      Src: /src/haproxy/src/http_client.c:1331,1
    - Dst: srv_drop
      Src: /src/haproxy/src/http_client.c:1332,1
    - Dst: srv_drop
      Src: /src/haproxy/src/http_client.c:1334,1
    - Dst: free_proxy
      Src: /src/haproxy/src/http_client.c:1336,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 107
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1341
      start: 1201
    functionDepth: 8
    functionLinenumber: 1201
    functionLinenumberEnd: 1341
    functionName: httpclient_create_proxy
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 1
    functionsReached:
    - memprintf
    - ha_alert
    - free_proxy
    - new_server
    - ha_free
    - httpclient_resolve_init
    - strdup
    - free
    - srv_settings_cpy
    - ssl_sock_parse_alpn
    - srv_drop
    - alloc_new_proxy
    - __ssl_store_load_locations_file
    - xprt_get
    linkageType: ''
    returnType: struct proxy
    signature: '*httpclient_create_proxy(const char *id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: httpclient_create_proxy
      Src: /src/haproxy/src/http_client.c:1354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1347
    functionDepth: 9
    functionLinenumber: 1347
    functionLinenumberEnd: 1359
    functionName: httpclient_precheck
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - httpclient_create_proxy
    linkageType: ''
    returnType: int
    signature: httpclient_precheck()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/http_client.c:1380,1
    - Dst: dup_logger
      Src: /src/haproxy/src/http_client.c:1381,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1384,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/http_client.c:1388,1
    - Dst: xprt_get
      Src: /src/haproxy/src/http_client.c:1395,1
    - Dst: strdup
      Src: /src/haproxy/src/http_client.c:1402,1
    - Dst: _parse_srv_expr
      Src: /src/haproxy/src/http_client.c:1403,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1407,1
    - Dst: strdup
      Src: /src/haproxy/src/http_client.c:1412,1
    - Dst: _parse_srv_expr
      Src: /src/haproxy/src/http_client.c:1413,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1417,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_client.c:1426,1
    - Dst: free
      Src: /src/haproxy/src/http_client.c:1427,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - curproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1431
      start: 1362
    functionDepth: 3
    functionLinenumber: 1362
    functionLinenumberEnd: 1431
    functionName: httpclient_postcheck_proxy
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_alert
    - list_for_each_entry
    - LIST_APPEND
    - _parse_srv_expr
    - dup_logger
    - strdup
    - free
    - xprt_get
    linkageType: ''
    returnType: int
    signature: httpclient_postcheck_proxy(struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/http_client.c:1442,1
    - Dst: free
      Src: /src/haproxy/src/http_client.c:1448,1
    - Dst: strdup
      Src: /src/haproxy/src/http_client.c:1449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1452
      start: 1438
    functionDepth: 3
    functionLinenumber: 1438
    functionLinenumberEnd: 1452
    functionName: httpclient_parse_global_resolvers
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - free
    - too_many_args
    - strdup
    linkageType: ''
    returnType: int
    signature: "httpclient_parse_global_resolvers(char **args, int section_type, struct
      proxy *curpx,\n                                        const struct proxy *defpx,
      const char *file, int line,\n                                        char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/http_client.c:1459,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_client.c:1462,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_client.c:1464,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1471
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1471
    functionName: httpclient_parse_global_resolvers_disabled
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "httpclient_parse_global_resolvers_disabled(char **args, int section_type,
      struct proxy *curpx,\n                                      const struct proxy
      *defpx, const char *file, int line,\n                                      char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/http_client.c:1477,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_client.c:1484,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_client.c:1486,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_client.c:1489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1494
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1494
    functionName: httpclient_parse_global_prefer
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "httpclient_parse_global_prefer(char **args, int section_type, struct
      proxy *curpx,\n                                        const struct proxy *defpx,
      const char *file, int line,\n                                        char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/http_client.c:1502,1
    - Dst: free
      Src: /src/haproxy/src/http_client.c:1508,1
    - Dst: strdup
      Src: /src/haproxy/src/http_client.c:1509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1512
      start: 1498
    functionDepth: 3
    functionLinenumber: 1498
    functionLinenumberEnd: 1512
    functionName: httpclient_parse_global_ca_file
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - free
    - too_many_args
    - strdup
    linkageType: ''
    returnType: int
    signature: "httpclient_parse_global_ca_file(char **args, int section_type, struct
      proxy *curpx,\n                                        const struct proxy *defpx,
      const char *file, int line,\n                                        char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/http_client.c:1518,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_client.c:1524,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_client.c:1526,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_client.c:1529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1534
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1534
    functionName: httpclient_parse_global_verify
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "httpclient_parse_global_verify(char **args, int section_type, struct
      proxy *curpx,\n                                        const struct proxy *defpx,
      const char *file, int line,\n                                        char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/http_client.c:1541,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_client.c:1545,1
    - Dst: atol
      Src: /src/haproxy/src/http_client.c:1549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1552
      start: 1537
    functionDepth: 1
    functionLinenumber: 1537
    functionLinenumberEnd: 1552
    functionName: httpclient_parse_global_retries
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - atol
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "httpclient_parse_global_retries(char **args, int section_type, struct
      proxy *curpx,\n                                        const struct proxy *defpx,
      const char *file, int line,\n                                        char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/http_client.c:1561,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_client.c:1565,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/http_client.c:1570,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1572,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1577,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1582,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_client.c:1587,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/http_client.c:1591,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1594
      start: 1554
    functionDepth: 1
    functionLinenumber: 1554
    functionLinenumberEnd: 1594
    functionName: httpclient_parse_global_timeout_connect
    functionSourceFile: /src/haproxy/src/http_client.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - memprintf
    - MS_TO_TICKS
    - parse_time_err
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "httpclient_parse_global_timeout_connect(char **args, int section_type,
      struct proxy *curpx,\n                                        const struct proxy
      *defpx, const char *file, int line,\n                                        char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/haproxy/src/systemd.c:52,1
    - Dst: unsetenv
      Src: /src/haproxy/src/systemd.c:59,1
    - Dst: strlen
      Src: /src/haproxy/src/systemd.c:66,1
    - Dst: strlen
      Src: /src/haproxy/src/systemd.c:78,1
    - Dst: memcpy
      Src: /src/haproxy/src/systemd.c:85,1
    - Dst: socket
      Src: /src/haproxy/src/systemd.c:91,1
    - Dst: fcntl
      Src: /src/haproxy/src/systemd.c:97,1
    - Dst: connect
      Src: /src/haproxy/src/systemd.c:102,1
    - Dst: write
      Src: /src/haproxy/src/systemd.c:107,1
    - Dst: close
      Src: /src/haproxy/src/systemd.c:115,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 2
    argNames:
    - unset_environment
    - message
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 117
    functionName: sd_notify
    functionSourceFile: /src/haproxy/src/systemd.c
    functionUses: 0
    functionsReached:
    - unsetenv
    - write
    - fcntl
    - strlen
    - connect
    - socket
    - getenv
    - memcpy
    - close
    linkageType: ''
    returnType: int
    signature: sd_notify(int unset_environment, const char *message)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/systemd.c:126,1
    - Dst: memvprintf
      Src: /src/haproxy/src/systemd.c:127,1
    - Dst: va_end
      Src: /src/haproxy/src/systemd.c:128,1
    - Dst: sd_notify
      Src: /src/haproxy/src/systemd.c:135,1
    - Dst: free
      Src: /src/haproxy/src/systemd.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - unset_environment
    - format
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 139
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 139
    functionName: sd_notifyf
    functionSourceFile: /src/haproxy/src/systemd.c
    functionUses: 1
    functionsReached:
    - va_end
    - sd_notify
    - free
    - va_start
    - memvprintf
    linkageType: ''
    returnType: int
    signature: sd_notifyf(int unset_environment, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 3
    argNames:
    - n
    - dst
    - size
    argTypes:
    - unsigned long long
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 238
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 238
    functionName: ulltoa
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*ulltoa(unsigned long long n, char *dst, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 3
    argNames:
    - n
    - dst
    - size
    argTypes:
    - unsigned long
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 350
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 350
    functionName: ultoa_o
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*ultoa_o(unsigned long n, char *dst, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ultoa_o
      Src: /src/haproxy/src/tools.c:367,1
    - Dst: ultoa_o
      Src: /src/haproxy/src/tools.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - n
    - dst
    - size
    argTypes:
    - long int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 372
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 372
    functionName: ltoa_o
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - ultoa_o
    linkageType: ''
    returnType: char
    signature: '*ltoa_o(long int n, char *dst, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ulltoa
      Src: /src/haproxy/src/tools.c:389,1
    - Dst: ulltoa
      Src: /src/haproxy/src/tools.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - n
    - dst
    - size
    argTypes:
    - long long
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 394
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 394
    functionName: lltoa
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - ulltoa
    linkageType: ''
    returnType: char
    signature: '*lltoa(long long n, char *dst, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - n
    - dst
    - size
    argTypes:
    - unsigned int
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 458
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 458
    functionName: utoa_pad
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*utoa_pad(unsigned int n, char *dst, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 477
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 477
    functionName: strlcpy2
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: strlcpy2(char *dst, const char *src, int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - n
    - buffer
    - size
    argTypes:
    - unsigned long
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 495
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 495
    functionName: ultoa_r
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*ultoa_r(unsigned long n, char *buffer, int size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - in
    - buffer
    - size
    argTypes:
    - long long int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 524
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 524
    functionName: lltoa_r
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*lltoa_r(long long int in, char *buffer, int size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ultoa_r
      Src: /src/haproxy/src/tools.c:535,1
    - Dst: ultoa_r
      Src: /src/haproxy/src/tools.c:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - n
    - buffer
    - size
    argTypes:
    - long
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 540
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 540
    functionName: sltoa_r
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - ultoa_r
    linkageType: ''
    returnType: char
    signature: '*sltoa_r(long n, char *buffer, int size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:558,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:566,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - n
    - buffer
    - size
    argTypes:
    - unsigned long long
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 572
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 572
    functionName: ulltoh_r
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: char
    signature: '*ulltoh_r(unsigned long long n, char *buffer, int size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ultoa_r
      Src: /src/haproxy/src/tools.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - n
    - buffer
    - size
    - alt
    argTypes:
    - unsigned long
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 585
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 585
    functionName: limit_r
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - ultoa_r
    linkageType: ''
    returnType: char
    signature: '*limit_r(unsigned long n, char *buffer, int size, const char *alt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - buffer
    - num_start
    - len
    argTypes:
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 618
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 618
    functionName: flt_trim
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: flt_trim(char *buffer, size_t num_start, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flt_trim
      Src: /src/haproxy/src/tools.c:627,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - n
    - buffer
    - size
    argTypes:
    - double
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 629
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 629
    functionName: ftoa_r
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - flt_trim
    - snprintf
    linkageType: ''
    returnType: char
    signature: '*ftoa_r(double n, char *buffer, int size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 662
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 662
    functionName: qstr
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*qstr(const char *str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 683
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 683
    functionName: ishex
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ishex(char s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 695
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 695
    functionName: round_2dig
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: round_2dig(unsigned int i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/haproxy/src/tools.c:708,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 714
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 714
    functionName: invalid_char
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 4
    functionsReached:
    - isalnum
    linkageType: ''
    returnType: char
    signature: '*invalid_char(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f
      Src: /src/haproxy/src/tools.c:728,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 736
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 736
    functionName: __invalid_char
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - f
    linkageType: ''
    returnType: char
    signature: '*__invalid_char(const char *name, int (*f)(int))'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __invalid_char
      Src: /src/haproxy/src/tools.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 745
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 745
    functionName: invalid_domainchar
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - __invalid_char
    linkageType: ''
    returnType: char
    signature: '*invalid_domainchar(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __invalid_char
      Src: /src/haproxy/src/tools.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 754
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 754
    functionName: invalid_prefix_char
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - __invalid_char
    linkageType: ''
    returnType: char
    signature: '*invalid_prefix_char(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:796,1
    - Dst: set_host_port
      Src: /src/haproxy/src/tools.c:809,1
    - Dst: set_host_port
      Src: /src/haproxy/src/tools.c:817,1
    - Dst: inet_pton
      Src: /src/haproxy/src/tools.c:823,1
    - Dst: set_host_port
      Src: /src/haproxy/src/tools.c:825,1
    - Dst: inet_pton
      Src: /src/haproxy/src/tools.c:831,1
    - Dst: set_host_port
      Src: /src/haproxy/src/tools.c:833,1
    - Dst: resolv_hostname_validation
      Src: /src/haproxy/src/tools.c:840,1
    - Dst: memset
      Src: /src/haproxy/src/tools.c:848,1
    - Dst: memset
      Src: /src/haproxy/src/tools.c:849,1
    - Dst: getaddrinfo
      Src: /src/haproxy/src/tools.c:855,1
    - Dst: freeaddrinfo
      Src: /src/haproxy/src/tools.c:859,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:865,1
    - Dst: set_host_port
      Src: /src/haproxy/src/tools.c:866,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:870,1
    - Dst: set_host_port
      Src: /src/haproxy/src/tools.c:871,1
    - Dst: freeaddrinfo
      Src: /src/haproxy/src/tools.c:878,1
    - Dst: gethostbyname
      Src: /src/haproxy/src/tools.c:885,1
    - Dst: set_host_port
      Src: /src/haproxy/src/tools.c:895,1
    - Dst: set_host_port
      Src: /src/haproxy/src/tools.c:899,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 103
    argCount: 3
    argNames:
    - str
    - sa
    - resolve
    argTypes:
    - char*
    - struct sockaddr_storage*
    - int
    constantsTouched: []
    func_position:
      end: 907
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 907
    functionName: str2ip2
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - gethostbyname
    - set_host_port
    - memset
    - resolv_hostname_validation
    - getaddrinfo
    - freeaddrinfo
    - inet_pton
    - memcpy
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: '*str2ip2(const char *str, struct sockaddr_storage *sa, int resolve)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: env_expand
      Src: /src/haproxy/src/tools.c:995,1
    - Dst: strdup
      Src: /src/haproxy/src/tools.c:995,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:997,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1002,1
    - Dst: memset
      Src: /src/haproxy/src/tools.c:1006,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1019,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1024,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1030,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1036,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1040,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1047,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1053,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1057,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1061,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1065,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1069,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1073,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1079,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1086,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1093,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1099,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1106,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1113,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1119,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1126,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1133,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1139,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1145,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1149,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:1153,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1156,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/tools.c:1159,1
    - Dst: strtol
      Src: /src/haproxy/src/tools.c:1175,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1177,1
    - Dst: getsockname
      Src: /src/haproxy/src/tools.c:1183,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1184,1
    - Dst: strerror
      Src: /src/haproxy/src/tools.c:1184,1
    - Dst: strtol
      Src: /src/haproxy/src/tools.c:1194,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1196,1
    - Dst: getsockname
      Src: /src/haproxy/src/tools.c:1205,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1206,1
    - Dst: strerror
      Src: /src/haproxy/src/tools.c:1206,1
    - Dst: getsockopt
      Src: /src/haproxy/src/tools.c:1211,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1213,1
    - Dst: get_host_port
      Src: /src/haproxy/src/tools.c:1217,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1222,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:1239,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:1243,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1245,1
    - Dst: memset
      Src: /src/haproxy/src/tools.c:1250,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:1252,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:1253,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1273,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1285,1
    - Dst: isdigit
      Src: /src/haproxy/src/tools.c:1291,1
    - Dst: strchr
      Src: /src/haproxy/src/tools.c:1294,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1297,1
    - Dst: strtol
      Src: /src/haproxy/src/tools.c:1304,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1306,1
    - Dst: strtol
      Src: /src/haproxy/src/tools.c:1309,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1311,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1316,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1321,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1326,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1336,1
    - Dst: strtol
      Src: /src/haproxy/src/tools.c:1339,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1341,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1350,1
    - Dst: strtol
      Src: /src/haproxy/src/tools.c:1353,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1355,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1361,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1365,1
    - Dst: str2ip2
      Src: /src/haproxy/src/tools.c:1374,1
    - Dst: str2ip2
      Src: /src/haproxy/src/tools.c:1376,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1377,1
    - Dst: memmove
      Src: /src/haproxy/src/tools.c:1383,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:1383,1
    - Dst: set_host_port
      Src: /src/haproxy/src/tools.c:1388,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1392,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1396,1
    - Dst: protocol_lookup
      Src: /src/haproxy/src/tools.c:1407,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1412,1
    - Dst: USE_QUIC
      Src: /src/haproxy/src/tools.c:1417,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1429,1
    - Dst: free
      Src: /src/haproxy/src/tools.c:1452,1
    CyclomaticComplexity: 138
    EdgeCount: 138
    ICount: 393
    argCount: 12
    argNames:
    - str
    - port
    - low
    - high
    - fd
    - proto
    - sa_type
    - err
    - pfx
    - fqdn
    - alt
    - opts
    argTypes:
    - char*
    - int*
    - int*
    - int*
    - int*
    - struct protocol**
    - struct net_addr_type*
    - char**
    - char*
    - char**
    - int*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1454
      start: 976
    functionDepth: 3
    functionLinenumber: 976
    functionLinenumberEnd: 1454
    functionName: str2sa_range
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 4
    functionsReached:
    - memprintf
    - strncmp
    - getsockname
    - memmove
    - memset
    - get_host_port
    - strerror
    - set_host_port
    - free
    - strtol
    - mark_tainted
    - protocol_lookup
    - strlen
    - strdup
    - strchr
    - USE_QUIC
    - env_expand
    - getsockopt
    - str2ip2
    - memcpy
    - isdigit
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: "*str2sa_range(const char *str, int *port, int *low, int *high, int
      *fd,\n                                      struct protocol **proto, struct
      net_addr_type *sa_type,\n                                      char **err, const
      char *pfx, char **fqdn, int *alt, unsigned int opts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1488,1
    - Dst: strdup
      Src: /src/haproxy/src/tools.c:1490,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1493,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/tools.c:1497,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/tools.c:1498,1
    - Dst: strdup
      Src: /src/haproxy/src/tools.c:1503,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1506,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:1508,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - addr
    - port
    - map_ports
    argTypes:
    - struct sockaddr_storage*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1509
      start: 1467
    functionDepth: 3
    functionLinenumber: 1467
    functionLinenumberEnd: 1509
    functionName: sa2str
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 3
    functionsReached:
    - memprintf
    - BUG_ON
    - inet_ntop
    - strdup
    linkageType: ''
    returnType: char
    signature: '* sa2str(const struct sockaddr_storage *addr, int port, int map_ports)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/tools.c:1518,1
    - Dst: inet_pton
      Src: /src/haproxy/src/tools.c:1519,1
    - Dst: len2mask4
      Src: /src/haproxy/src/tools.c:1529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - str
    - mask
    argTypes:
    - char*
    - struct in_addr*
    constantsTouched: []
    func_position:
      end: 1532
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1532
    functionName: str2mask
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - inet_pton
    - len2mask4
    - strchr
    linkageType: ''
    returnType: int
    signature: str2mask(const char *str, struct in_addr *mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/tools.c:1540,1
    - Dst: inet_pton
      Src: /src/haproxy/src/tools.c:1541,1
    - Dst: len2mask6
      Src: /src/haproxy/src/tools.c:1551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - str
    - mask
    argTypes:
    - char*
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 1554
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1554
    functionName: str2mask6
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - inet_pton
    - len2mask6
    - strchr
    linkageType: ''
    returnType: int
    signature: str2mask6(const char *str, struct in6_addr *mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/haproxy/src/tools.c:1564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cidr
    - mask
    argTypes:
    - int
    - struct in_addr*
    constantsTouched: []
    func_position:
      end: 1566
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1566
    functionName: cidr2dotted
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - htonl
    linkageType: ''
    returnType: int
    signature: cidr2dotted(int cidr, struct in_addr *mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/haproxy/src/tools.c:1582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - len
    - addr
    argTypes:
    - int
    - struct in_addr*
    constantsTouched: []
    func_position:
      end: 1583
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1583
    functionName: len2mask4
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - htonl
    linkageType: ''
    returnType: void
    signature: len2mask4(int len, struct in_addr *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: len2mask4
      Src: /src/haproxy/src/tools.c:1590,1
    - Dst: len2mask4
      Src: /src/haproxy/src/tools.c:1592,1
    - Dst: len2mask4
      Src: /src/haproxy/src/tools.c:1594,1
    - Dst: len2mask4
      Src: /src/haproxy/src/tools.c:1596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - len
    - addr
    argTypes:
    - int
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 1597
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1597
    functionName: len2mask6
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 3
    functionsReached:
    - len2mask4
    linkageType: ''
    returnType: void
    signature: len2mask6(int len, struct in6_addr *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/haproxy/src/tools.c:1611,1
    - Dst: memset
      Src: /src/haproxy/src/tools.c:1615,1
    - Dst: memset
      Src: /src/haproxy/src/tools.c:1616,1
    - Dst: strrchr
      Src: /src/haproxy/src/tools.c:1618,1
    - Dst: str2mask
      Src: /src/haproxy/src/tools.c:1621,1
    - Dst: inet_pton
      Src: /src/haproxy/src/tools.c:1627,1
    - Dst: gethostbyname
      Src: /src/haproxy/src/tools.c:1633,1
    - Dst: free
      Src: /src/haproxy/src/tools.c:1642,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - str
    - resolve
    - addr
    - mask
    argTypes:
    - char*
    - int
    - struct in_addr*
    - struct in_addr*
    constantsTouched: []
    func_position:
      end: 1647
      start: 1605
    functionDepth: 3
    functionLinenumber: 1605
    functionLinenumberEnd: 1647
    functionName: str2net
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - str2mask
    - strrchr
    - gethostbyname
    - inet_pton
    - strdup
    - free
    - memset
    linkageType: ''
    returnType: int
    signature: str2net(const char *str, int resolve, struct in_addr *addr, struct
      in_addr *mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/haproxy/src/tools.c:1663,1
    - Dst: memset
      Src: /src/haproxy/src/tools.c:1667,1
    - Dst: memset
      Src: /src/haproxy/src/tools.c:1668,1
    - Dst: strrchr
      Src: /src/haproxy/src/tools.c:1670,1
    - Dst: strtoul
      Src: /src/haproxy/src/tools.c:1675,1
    - Dst: inet_pton
      Src: /src/haproxy/src/tools.c:1681,1
    - Dst: free
      Src: /src/haproxy/src/tools.c:1686,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - str
    - addr
    - mask
    argTypes:
    - char*
    - struct in6_addr*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1688
      start: 1656
    functionDepth: 3
    functionLinenumber: 1656
    functionLinenumberEnd: 1688
    functionName: str62net
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - strrchr
    - strtoul
    - inet_pton
    - strdup
    - free
    - memset
    linkageType: ''
    returnType: int
    signature: str62net(const char *str, struct in6_addr *addr, unsigned char *mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:1733,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - addr
    - dst
    argTypes:
    - char*
    - struct in_addr*
    constantsTouched: []
    func_position:
      end: 1735
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1735
    functionName: url2ipv4
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: url2ipv4(const char *addr, struct in_addr *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/haproxy/src/tools.c:1817,1
    - Dst: read_uint
      Src: /src/haproxy/src/tools.c:1824,1
    - Dst: htons
      Src: /src/haproxy/src/tools.c:1826,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:1836,1
    - Dst: url2ipv4
      Src: /src/haproxy/src/tools.c:1844,1
    - Dst: read_uint
      Src: /src/haproxy/src/tools.c:1857,1
    - Dst: htons
      Src: /src/haproxy/src/tools.c:1859,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:1874,1
    - Dst: gethostbyname
      Src: /src/haproxy/src/tools.c:1878,1
    - Dst: read_uint
      Src: /src/haproxy/src/tools.c:1891,1
    - Dst: htons
      Src: /src/haproxy/src/tools.c:1898,1
    - Dst: htons
      Src: /src/haproxy/src/tools.c:1904,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 96
    argCount: 4
    argNames:
    - url
    - ulen
    - addr
    - out
    argTypes:
    - char*
    - int
    - struct sockaddr_storage*
    - struct split_url*
    constantsTouched: []
    func_position:
      end: 1911
      start: 1748
    functionDepth: 1
    functionLinenumber: 1748
    functionLinenumberEnd: 1911
    functionName: url2sa
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - gethostbyname
    - url2ipv4
    - read_uint
    - inet_pton
    - htons
    - memcpy
    linkageType: ''
    returnType: int
    signature: url2sa(const char *url, int ulen, struct sockaddr_storage *addr, struct
      split_url *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:1938,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/tools.c:1944,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - addr
    - str
    - size
    argTypes:
    - struct sockaddr_storage*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1949
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1949
    functionName: addr_to_str
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 10
    functionsReached:
    - memcpy
    - inet_ntop
    linkageType: ''
    returnType: int
    signature: addr_to_str(const struct sockaddr_storage *addr, char *str, int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:1977,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:1983,1
    - Dst: ntohs
      Src: /src/haproxy/src/tools.c:1983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - addr
    - str
    - size
    argTypes:
    - struct sockaddr_storage*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1985
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 1985
    functionName: port_to_str
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 4
    functionsReached:
    - snprintf
    - memcpy
    - ntohs
    linkageType: ''
    returnType: int
    signature: port_to_str(const struct sockaddr_storage *addr, char *str, int size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_inet_addr
      Src: /src/haproxy/src/tools.c:2003,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:2006,1
    - Dst: set_host_port
      Src: /src/haproxy/src/tools.c:2007,1
    - Dst: proto_fam_lookup
      Src: /src/haproxy/src/tools.c:2009,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/tools.c:2010,1
    - Dst: my_socketat
      Src: /src/haproxy/src/tools.c:2012,1
    - Dst: bind
      Src: /src/haproxy/src/tools.c:2017,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/tools.c:2017,1
    - Dst: connect
      Src: /src/haproxy/src/tools.c:2018,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/tools.c:2018,1
    - Dst: close
      Src: /src/haproxy/src/tools.c:2027,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ns
    - orig
    argTypes:
    - struct netns_entry*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 2030
      start: 1995
    functionDepth: 1
    functionLinenumber: 1995
    functionLinenumberEnd: 2030
    functionName: addr_is_local
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - BUG_ON
    - set_host_port
    - is_inet_addr
    - connect
    - proto_fam_lookup
    - close
    - memcpy
    - bind
    - my_socketat
    - get_addr_len
    linkageType: ''
    returnType: int
    signature: "addr_is_local(const struct netns_entry *ns,\n                  const
      struct sockaddr_storage *orig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_bit_test
      Src: /src/haproxy/src/tools.c:2050,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - start
    - stop
    - escape
    - map
    - string
    argTypes:
    - char*
    - char*
    - char
    - long*
    - char*
    constantsTouched: []
    func_position:
      end: 2065
      start: 2043
    functionDepth: 1
    functionLinenumber: 2043
    functionLinenumberEnd: 2065
    functionName: encode_string
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - ha_bit_test
    linkageType: ''
    returnType: char
    signature: "*encode_string(char *start, char *stop,\n\t\t    const char escape,
      const long *map,\n\t\t    const char *string)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_bit_test
      Src: /src/haproxy/src/tools.c:2081,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - start
    - stop
    - escape
    - map
    - chunk
    argTypes:
    - char*
    - char*
    - char
    - long*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 2096
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2096
    functionName: encode_chunk
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - ha_bit_test
    linkageType: ''
    returnType: char
    signature: "*encode_chunk(char *start, char *stop,\n\t\t    const char escape,
      const long *map,\n\t\t    const struct buffer *chunk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_bit_test
      Src: /src/haproxy/src/tools.c:2115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - start
    - stop
    - escape
    - map
    - string
    - string_stop
    argTypes:
    - char*
    - char*
    - char
    - long*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2129
      start: 2108
    functionDepth: 1
    functionLinenumber: 2108
    functionLinenumberEnd: 2129
    functionName: escape_string
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - ha_bit_test
    linkageType: ''
    returnType: char
    signature: "*escape_string(char *start, char *stop,\n\t\t    const char escape,
      const long *map,\n\t\t    const char *string, const char *string_stop)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct cbor_encode_ctx*::e_fct_byte
      Src: /src/haproxy/src/tools.c:2176,1
    - Dst: struct cbor_encode_ctx*::e_fct_byte
      Src: /src/haproxy/src/tools.c:2184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - ctx
    - start
    - stop
    - value
    - prefix
    argTypes:
    - struct cbor_encode_ctx*
    - char*
    - char*
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2192
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2192
    functionName: cbor_encode_uint64_prefix
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - struct cbor_encode_ctx*::e_fct_byte
    linkageType: ''
    returnType: char
    signature: "*cbor_encode_uint64_prefix(struct cbor_encode_ctx *ctx,\n                                char
      *start, char *stop, uint64_t value,\n                                uint8_t
      prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbor_encode_uint64_prefix
      Src: /src/haproxy/src/tools.c:2218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ctx
    - start
    - stop
    - value
    argTypes:
    - struct cbor_encode_ctx*
    - char*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2220
      start: 2201
    functionDepth: 1
    functionLinenumber: 2201
    functionLinenumberEnd: 2220
    functionName: cbor_encode_int64
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - cbor_encode_uint64_prefix
    linkageType: ''
    returnType: char
    signature: "*cbor_encode_int64(struct cbor_encode_ctx *ctx,\n                        char
      *start, char *stop, int64_t value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbor_encode_uint64_prefix
      Src: /src/haproxy/src/tools.c:2241,1
    - Dst: struct cbor_encode_ctx*::e_fct_byte
      Src: /src/haproxy/src/tools.c:2248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - ctx
    - start
    - stop
    - bytes
    - len
    - prefix
    argTypes:
    - struct cbor_encode_ctx*
    - char*
    - char*
    - char*
    - size_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2254
      start: 2232
    functionDepth: 1
    functionLinenumber: 2232
    functionLinenumberEnd: 2254
    functionName: cbor_encode_bytes_prefix
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - struct cbor_encode_ctx*::e_fct_byte
    - cbor_encode_uint64_prefix
    linkageType: ''
    returnType: char
    signature: "*cbor_encode_bytes_prefix(struct cbor_encode_ctx *ctx,\n                               char
      *start, char *stop,\n                               const char *bytes, size_t
      len,\n                               uint8_t prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbor_encode_bytes_prefix
      Src: /src/haproxy/src/tools.c:2269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - start
    - stop
    - text
    - len
    argTypes:
    - struct cbor_encode_ctx*
    - char*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2270
      start: 2265
    functionDepth: 2
    functionLinenumber: 2265
    functionLinenumberEnd: 2270
    functionName: cbor_encode_text
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - cbor_encode_bytes_prefix
    linkageType: ''
    returnType: char
    signature: "*cbor_encode_text(struct cbor_encode_ctx *ctx,\n                       char
      *start, char *stop,\n                       const char *text, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbor_encode_bytes_prefix
      Src: /src/haproxy/src/tools.c:2286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - start
    - stop
    - bytes
    - len
    argTypes:
    - struct cbor_encode_ctx*
    - char*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2287
      start: 2282
    functionDepth: 2
    functionLinenumber: 2282
    functionLinenumberEnd: 2287
    functionName: cbor_encode_bytes
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - cbor_encode_bytes_prefix
    linkageType: ''
    returnType: char
    signature: "*cbor_encode_bytes(struct cbor_encode_ctx *ctx,\n                        char
      *start, char *stop,\n                        const char *bytes, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/haproxy/src/tools.c:2334,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 4
    argNames:
    - str
    - quote
    - oneline
    - output
    argTypes:
    - char*
    - int
    - int
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 2380
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2380
    functionName: csv_enc_append
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - strpbrk
    linkageType: ''
    returnType: char
    signature: '*csv_enc_append(const char *str, int quote, int oneline, struct buffer
      *output)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ishex
      Src: /src/haproxy/src/tools.c:2404,1
    - Dst: ishex
      Src: /src/haproxy/src/tools.c:2404,1
    - Dst: hex2i
      Src: /src/haproxy/src/tools.c:2406,1
    - Dst: hex2i
      Src: /src/haproxy/src/tools.c:2406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - string
    - in_form
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2422
      start: 2391
    functionDepth: 1
    functionLinenumber: 2391
    functionLinenumberEnd: 2422
    functionName: url_decode
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - ishex
    - hex2i
    linkageType: ''
    returnType: int
    signature: url_decode(char *string, int in_form)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __str2ui
      Src: /src/haproxy/src/tools.c:2426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2427
      start: 2424
    functionDepth: 1
    functionLinenumber: 2424
    functionLinenumberEnd: 2427
    functionName: str2ui
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - __str2ui
    linkageType: ''
    returnType: unsigned int
    signature: str2ui(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __str2uic
      Src: /src/haproxy/src/tools.c:2431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2432
      start: 2429
    functionDepth: 1
    functionLinenumber: 2429
    functionLinenumberEnd: 2432
    functionName: str2uic
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - __str2uic
    linkageType: ''
    returnType: unsigned int
    signature: str2uic(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __strl2ui
      Src: /src/haproxy/src/tools.c:2436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2437
      start: 2434
    functionDepth: 1
    functionLinenumber: 2434
    functionLinenumberEnd: 2437
    functionName: strl2ui
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 4
    functionsReached:
    - __strl2ui
    linkageType: ''
    returnType: unsigned int
    signature: strl2ui(const char *s, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __strl2uic
      Src: /src/haproxy/src/tools.c:2441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2442
      start: 2439
    functionDepth: 1
    functionLinenumber: 2439
    functionLinenumberEnd: 2442
    functionName: strl2uic
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 3
    functionsReached:
    - __strl2uic
    linkageType: ''
    returnType: unsigned int
    signature: strl2uic(const char *s, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __read_uint
      Src: /src/haproxy/src/tools.c:2446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - end
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 2447
      start: 2444
    functionDepth: 1
    functionLinenumber: 2444
    functionLinenumberEnd: 2447
    functionName: read_uint
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 5
    functionsReached:
    - __read_uint
    linkageType: ''
    returnType: unsigned int
    signature: read_uint(const char **s, const char *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - s
    - end
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 2490
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2490
    functionName: read_uint64
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long long int
    signature: read_uint64(const char **s, const char *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_uint64
      Src: /src/haproxy/src/tools.c:2512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - s
    - end
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 2522
      start: 2498
    functionDepth: 1
    functionLinenumber: 2498
    functionLinenumberEnd: 2522
    functionName: read_int64
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - read_uint64
    linkageType: ''
    returnType: long long int
    signature: read_int64(const char **s, const char *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2556
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2556
    functionName: strl2ic
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: strl2ic(const char *s, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - char*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 2599
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2599
    functionName: strl2irc
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: strl2irc(const char *s, int len, int *ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - s
    - len
    - ret
    argTypes:
    - char*
    - int
    - long long*
    constantsTouched: []
    func_position:
      end: 2643
      start: 2611
    functionDepth: 0
    functionLinenumber: 2611
    functionLinenumberEnd: 2643
    functionName: strl2llrc
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: strl2llrc(const char *s, int len, long long *ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strl2llrc
      Src: /src/haproxy/src/tools.c:2667,1
    - Dst: strl2llrc
      Src: /src/haproxy/src/tools.c:2677,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - text
    - len
    - ret
    argTypes:
    - char*
    - int
    - long long*
    constantsTouched: []
    func_position:
      end: 2687
      start: 2655
    functionDepth: 1
    functionLinenumber: 2655
    functionLinenumberEnd: 2687
    functionName: strl2llrc_dotted
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - strl2llrc
    linkageType: ''
    returnType: int
    signature: strl2llrc_dotted(const char *text, int len, long long *ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/haproxy/src/tools.c:2706,1
    - Dst: ha_warning
      Src: /src/haproxy/src/tools.c:2765,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 93
    argCount: 3
    argNames:
    - text
    - ret
    - unit_flags
    argTypes:
    - char*
    - unsigned*
    - unsigned
    constantsTouched: []
    func_position:
      end: 2783
      start: 2699
    functionDepth: 1
    functionLinenumber: 2699
    functionLinenumberEnd: 2783
    functionName: parse_time_err
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 12
    functionsReached:
    - ha_warning
    - isdigit
    linkageType: ''
    returnType: char
    signature: '*parse_time_err(const char *text, unsigned *ret, unsigned unit_flags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/haproxy/src/tools.c:2793,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - text
    - ret
    argTypes:
    - char*
    - unsigned*
    constantsTouched: []
    func_position:
      end: 2841
      start: 2789
    functionDepth: 0
    functionLinenumber: 2789
    functionLinenumberEnd: 2841
    functionName: parse_size_ui
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: char
    signature: '*parse_size_ui(const char *text, unsigned *ret)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/haproxy/src/tools.c:2851,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 2
    argNames:
    - text
    - ret
    argTypes:
    - char*
    - ullong*
    constantsTouched: []
    func_position:
      end: 2911
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2911
    functionName: parse_size_ull
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: char
    signature: '*parse_size_ull(const char *text, ullong *ret)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:2926,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:2928,1
    - Dst: calloc
      Src: /src/haproxy/src/tools.c:2935,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:2937,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:2944,1
    - Dst: ishex
      Src: /src/haproxy/src/tools.c:2954,1
    - Dst: ishex
      Src: /src/haproxy/src/tools.c:2956,1
    - Dst: hex2i
      Src: /src/haproxy/src/tools.c:2958,1
    - Dst: hex2i
      Src: /src/haproxy/src/tools.c:2958,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:2963,1
    - Dst: ha_free
      Src: /src/haproxy/src/tools.c:2965,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - source
    - binstr
    - binstrlen
    - err
    argTypes:
    - char*
    - char**
    - int*
    - char**
    constantsTouched: []
    func_position:
      end: 2967
      start: 2919
    functionDepth: 3
    functionLinenumber: 2919
    functionLinenumberEnd: 2967
    functionName: parse_binary
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - memprintf
    - ha_free
    - strlen
    - calloc
    - hex2i
    - ishex
    linkageType: ''
    returnType: int
    signature: parse_binary(const char *source, char **binstr, int *binstrlen, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/tools.c:2978,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:2981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - src
    - n
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2984
      start: 2970
    functionDepth: 3
    functionLinenumber: 2970
    functionLinenumberEnd: 2984
    functionName: my_strndup
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - malloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: '*my_strndup(const char *src, int n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/haproxy/src/tools.c:3000,1
    - Dst: memcmp
      Src: /src/haproxy/src/tools.c:3004,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - haystack
    - haystacklen
    - needle
    - needlelen
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 3009
      start: 2990
    functionDepth: 0
    functionLinenumber: 2990
    functionLinenumberEnd: 3009
    functionName: my_memmem
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - memchr
    - memcmp
    linkageType: ''
    returnType: void
    signature: '*my_memmem(const void *haystack, size_t haystacklen, const void *needle,
      size_t needlelen)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/haproxy/src/tools.c:3016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - str
    - len
    - accept
    - acceptlen
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 3021
      start: 3012
    functionDepth: 0
    functionLinenumber: 3012
    functionLinenumberEnd: 3021
    functionName: my_memspn
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: size_t
    signature: my_memspn(const void *str, size_t len, const void *accept, size_t acceptlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/haproxy/src/tools.c:3029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - str
    - len
    - reject
    - rejectlen
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 3035
      start: 3024
    functionDepth: 0
    functionLinenumber: 3024
    functionLinenumberEnd: 3035
    functionName: my_memcspn
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: size_t
    signature: my_memcspn(const void *str, size_t len, const void *reject, size_t
      rejectlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/tools.c:3045,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - root
    - key
    argTypes:
    - struct eb_root*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3051
      start: 3040
    functionDepth: 1
    functionLinenumber: 3040
    functionLinenumberEnd: 3051
    functionName: get_next_id
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - eb32_lookup_ge
    linkageType: ''
    returnType: unsigned int
    signature: get_next_id(struct eb_root *root, unsigned int key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3065,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3068,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3074,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/tools.c:3077,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3080,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/tools.c:3081,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/tools.c:3082,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/tools.c:3082,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/tools.c:3083,1
    - Dst: eb32sc_first
      Src: /src/haproxy/src/tools.c:3085,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3089,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3093,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/tools.c:3095,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/tools.c:3095,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/tools.c:3096,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3098,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/tools.c:3100,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/tools.c:3100,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/tools.c:3101,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3103,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/tools.c:3105,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/tools.c:3105,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/tools.c:3106,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3109,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3113,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/tools.c:3115,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/tools.c:3115,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/tools.c:3116,1
    - Dst: eb32sc_next
      Src: /src/haproxy/src/tools.c:3117,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - file
    - root
    - subj
    - op
    - desc
    argTypes:
    - FILE*
    - struct eb_root*
    - struct eb32sc_node*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 3120
      start: 3060
    functionDepth: 1
    functionLinenumber: 3060
    functionLinenumberEnd: 3120
    functionName: eb32sc_to_file
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - eb32sc_next
    - eb_clrtag
    - eb_gettag
    - eb32sc_first
    - fprintf
    - eb_root_to_node
    linkageType: ''
    returnType: void
    signature: eb32sc_to_file(FILE *file, struct eb_root *root, const struct eb32sc_node
      *subj, int op, const char *desc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3135,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3138,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3144,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/tools.c:3147,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3150,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/tools.c:3151,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/tools.c:3152,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/tools.c:3152,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/tools.c:3153,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/tools.c:3155,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3159,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3160,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3163,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/tools.c:3165,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/tools.c:3165,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/tools.c:3166,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3168,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/tools.c:3170,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/tools.c:3170,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/tools.c:3171,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3173,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/tools.c:3175,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/tools.c:3175,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/tools.c:3176,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3179,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3180,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3183,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/tools.c:3185,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/tools.c:3185,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/tools.c:3186,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/tools.c:3187,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:3189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - file
    - root
    - subj
    - op
    - desc
    argTypes:
    - FILE*
    - struct eb_root*
    - struct ebmb_node*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 3190
      start: 3131
    functionDepth: 1
    functionLinenumber: 3131
    functionLinenumberEnd: 3190
    functionName: ebmb_to_file
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - eb_clrtag
    - read_u32
    - eb_gettag
    - ebmb_first
    - ebmb_next
    - fprintf
    - eb_root_to_node
    linkageType: ''
    returnType: void
    signature: ebmb_to_file(FILE *file, struct eb_root *root, const struct ebmb_node
      *subj, int op, const char *desc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - sample
    - slen
    - word
    - wlen
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 3220
      start: 3198
    functionDepth: 0
    functionLinenumber: 3198
    functionLinenumberEnd: 3220
    functionName: word_match
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: word_match(const char *sample, int slen, const char *word, int wlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3272
      start: 3227
    functionDepth: 0
    functionLinenumber: 3227
    functionLinenumberEnd: 3272
    functionName: inetaddr_host
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: inetaddr_host(const char *text)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - text
    - stop
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3322
      start: 3277
    functionDepth: 0
    functionLinenumber: 3277
    functionLinenumberEnd: 3322
    functionName: inetaddr_host_lim
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: inetaddr_host_lim(const char *text, const char *stop)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - text
    - stop
    - ret
    argTypes:
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 3374
      start: 3328
    functionDepth: 0
    functionLinenumber: 3328
    functionLinenumberEnd: 3374
    functionName: inetaddr_host_lim_ret
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: inetaddr_host_lim_ret(char *text, char *stop, char **ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:3425,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - len
    - dst
    argTypes:
    - char*
    - size_t
    - struct in_addr*
    constantsTouched: []
    func_position:
      end: 3427
      start: 3382
    functionDepth: 0
    functionLinenumber: 3382
    functionLinenumberEnd: 3427
    functionName: buf2ip
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: buf2ip(const char *buf, size_t len, struct in_addr *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:3442,1
    - Dst: inet_pton
      Src: /src/haproxy/src/tools.c:3445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - len
    - dst
    argTypes:
    - char*
    - size_t
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 3450
      start: 3434
    functionDepth: 0
    functionLinenumber: 3434
    functionLinenumberEnd: 3450
    functionName: buf2ip6
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - inet_pton
    - memcpy
    linkageType: ''
    returnType: int
    signature: buf2ip6(const char *buf, size_t len, struct in6_addr *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3469
      start: 3456
    functionDepth: 0
    functionLinenumber: 3456
    functionLinenumberEnd: 3469
    functionName: quote_arg
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*quote_arg(const char *ptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3492
      start: 3472
    functionDepth: 0
    functionLinenumber: 3472
    functionLinenumberEnd: 3492
    functionName: get_std_op
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: get_std_op(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __full_hash
      Src: /src/haproxy/src/tools.c:3497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3498
      start: 3495
    functionDepth: 1
    functionLinenumber: 3495
    functionLinenumberEnd: 3498
    functionName: full_hash
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 5
    functionsReached:
    - __full_hash
    linkageType: ''
    returnType: unsigned int
    signature: full_hash(unsigned int a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 2
    argNames:
    - r
    - m
    argTypes:
    - unsigned int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3539
      start: 3506
    functionDepth: 0
    functionLinenumber: 3506
    functionLinenumberEnd: 3539
    functionName: mask_find_rank_bit
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: mask_find_rank_bit(unsigned int r, unsigned long m)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 6
    argNames:
    - r
    - m
    - a
    - b
    - c
    - d
    argTypes:
    - unsigned int
    - unsigned long
    - unsigned long
    - unsigned long
    - unsigned long
    - unsigned long
    constantsTouched: []
    func_position:
      end: 3574
      start: 3545
    functionDepth: 0
    functionLinenumber: 3545
    functionLinenumberEnd: 3574
    functionName: mask_find_rank_bit_fast
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "mask_find_rank_bit_fast(unsigned int r, unsigned long m,\n                                     unsigned
      long a, unsigned long b,\n                                     unsigned long
      c, unsigned long d)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - m
    - a
    - b
    - c
    - d
    argTypes:
    - unsigned long
    - unsigned long*
    - unsigned long*
    - unsigned long*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 3587
      start: 3579
    functionDepth: 0
    functionLinenumber: 3579
    functionLinenumberEnd: 3587
    functionName: mask_prep_rank_map
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "mask_prep_rank_map(unsigned long m,\n                        unsigned
      long *a, unsigned long *b,\n                        unsigned long *c, unsigned
      long *d)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - v
    - bit
    argTypes:
    - unsigned long
    - int
    constantsTouched: []
    func_position:
      end: 3641
      start: 3602
    functionDepth: 0
    functionLinenumber: 3602
    functionLinenumberEnd: 3641
    functionName: one_among_mask
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: one_among_mask(unsigned long v, int bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:3651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - addr
    - mask
    - net
    argTypes:
    - void*
    - struct in_addr*
    - struct in_addr*
    constantsTouched: []
    func_position:
      end: 3653
      start: 3647
    functionDepth: 0
    functionLinenumber: 3647
    functionLinenumberEnd: 3653
    functionName: in_net_ipv4
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: in_net_ipv4(const void *addr, const struct in_addr *mask, const struct
      in_addr *net)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:3664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - addr
    - mask
    - net
    argTypes:
    - void*
    - struct in6_addr*
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 3670
      start: 3659
    functionDepth: 0
    functionLinenumber: 3659
    functionLinenumberEnd: 3670
    functionName: in_net_ipv6
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: in_net_ipv6(const void *addr, const struct in6_addr *mask, const struct
      in6_addr *net)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/tools.c:3682,1
    - Dst: write_u16
      Src: /src/haproxy/src/tools.c:3683,1
    - Dst: htons
      Src: /src/haproxy/src/tools.c:3683,1
    - Dst: write_u32
      Src: /src/haproxy/src/tools.c:3684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sin6_addr
    - sin_addr
    argTypes:
    - struct in6_addr*
    - struct in_addr*
    constantsTouched: []
    func_position:
      end: 3685
      start: 3677
    functionDepth: 1
    functionLinenumber: 3677
    functionLinenumberEnd: 3685
    functionName: v4tov6
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 3
    functionsReached:
    - memset
    - write_u16
    - htons
    - write_u32
    linkageType: ''
    returnType: void
    signature: v4tov6(struct in6_addr *sin6_addr, struct in_addr *sin_addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_u64
      Src: /src/haproxy/src/tools.c:3700,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3701,1
    - Dst: htonl
      Src: /src/haproxy/src/tools.c:3701,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3702,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3704,1
    - Dst: read_u16
      Src: /src/haproxy/src/tools.c:3705,1
    - Dst: htons
      Src: /src/haproxy/src/tools.c:3705,1
    - Dst: htonl
      Src: /src/haproxy/src/tools.c:3707,1
    - Dst: ntohs
      Src: /src/haproxy/src/tools.c:3707,1
    - Dst: read_u16
      Src: /src/haproxy/src/tools.c:3707,1
    - Dst: ntohs
      Src: /src/haproxy/src/tools.c:3708,1
    - Dst: read_u16
      Src: /src/haproxy/src/tools.c:3708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - sin_addr
    - sin6_addr
    argTypes:
    - struct in_addr*
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 3713
      start: 3698
    functionDepth: 1
    functionLinenumber: 3698
    functionLinenumberEnd: 3713
    functionName: v6tov4
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - read_u32
    - read_u64
    - htonl
    - read_u16
    - ntohs
    - htons
    linkageType: ''
    returnType: int
    signature: v6tov4(struct in_addr *sin_addr, struct in6_addr *sin6_addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/haproxy/src/tools.c:3734,1
    - Dst: get_net_port
      Src: /src/haproxy/src/tools.c:3737,1
    - Dst: get_net_port
      Src: /src/haproxy/src/tools.c:3737,1
    - Dst: memcmp
      Src: /src/haproxy/src/tools.c:3739,1
    - Dst: get_net_port
      Src: /src/haproxy/src/tools.c:3742,1
    - Dst: get_net_port
      Src: /src/haproxy/src/tools.c:3742,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - ss1
    - ss2
    - check_port
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - int
    constantsTouched: []
    func_position:
      end: 3746
      start: 3721
    functionDepth: 1
    functionLinenumber: 3721
    functionLinenumberEnd: 3746
    functionName: ipcmp
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - memcmp
    - get_net_port
    linkageType: ''
    returnType: int
    signature: ipcmp(const struct sockaddr_storage *ss1, const struct sockaddr_storage
      *ss2, int check_port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3772,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3772,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3772,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3773,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3773,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3773,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3774,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3774,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3774,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3775,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3775,1
    - Dst: read_u32
      Src: /src/haproxy/src/tools.c:3775,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - addr
    - net
    argTypes:
    - struct sockaddr_storage*
    - struct net_addr*
    constantsTouched: []
    func_position:
      end: 3780
      start: 3753
    functionDepth: 1
    functionLinenumber: 3753
    functionLinenumberEnd: 3780
    functionName: ipcmp2net
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - read_u32
    linkageType: ''
    returnType: int
    signature: ipcmp2net(const struct sockaddr_storage *addr, const struct net_addr
      *net)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_net_port
      Src: /src/haproxy/src/tools.c:3793,1
    - Dst: memset
      Src: /src/haproxy/src/tools.c:3794,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:3804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 3810
      start: 3789
    functionDepth: 1
    functionLinenumber: 3789
    functionLinenumberEnd: 3810
    functionName: ipcpy
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - memset
    - get_net_port
    - memcpy
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: '*ipcpy(const struct sockaddr_storage *source, struct sockaddr_storage
      *dest)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:3832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - saddr
    argTypes:
    - unsigned char*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 3836
      start: 3817
    functionDepth: 0
    functionLinenumber: 3817
    functionLinenumberEnd: 3836
    functionName: ipaddrcpy
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: ipaddrcpy(unsigned char *buf, const struct sockaddr_storage *saddr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/tools.c:3845,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:3846,1
    - Dst: unlikely
      Src: /src/haproxy/src/tools.c:3850,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:3854,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:3859,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:3864,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:3869,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - t
    - hz_div
    argTypes:
    - int
    - short
    constantsTouched: []
    func_position:
      end: 3872
      start: 3839
    functionDepth: 0
    functionLinenumber: 3839
    functionLinenumberEnd: 3872
    functionName: human_time
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 6
    functionsReached:
    - unlikely
    - snprintf
    linkageType: ''
    returnType: char
    signature: '*human_time(int t, short hz_div)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:3893,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:3898,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:3902,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:3907,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:3912,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:3917,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:3922,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - dst
    - tm
    - date
    - size
    argTypes:
    - char*
    - struct tm*
    - struct timeval*
    - size_t
    constantsTouched: []
    func_position:
      end: 3928
      start: 3887
    functionDepth: 1
    functionLinenumber: 3887
    functionLinenumberEnd: 3928
    functionName: date2str_log
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - utoa_pad
    - memcpy
    linkageType: ''
    returnType: char
    signature: '*date2str_log(char *dst, const struct tm *tm, const struct timeval
      *date, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct tm*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 3955
      start: 3936
    functionDepth: 0
    functionLinenumber: 3936
    functionLinenumberEnd: 3955
    functionName: my_tm_diff
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: my_tm_diff(const struct tm *a, const struct tm *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/tools.c:3978,1
    - Dst: get_gmtime
      Src: /src/haproxy/src/tools.c:3979,1
    - Dst: my_tm_diff
      Src: /src/haproxy/src/tools.c:3980,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:3989,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - t
    - tm
    argTypes:
    - time_t
    - struct tm*
    constantsTouched: []
    func_position:
      end: 3993
      start: 3962
    functionDepth: 1
    functionLinenumber: 3962
    functionLinenumberEnd: 3993
    functionName: get_gmt_offset
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - get_gmtime
    - unlikely
    - snprintf
    - my_tm_diff
    linkageType: ''
    returnType: char
    signature: '*get_gmt_offset(time_t t, struct tm *tm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:4005,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:4010,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:4014,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:4019,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:4024,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:4029,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - dst
    - tm
    - size
    argTypes:
    - char*
    - struct tm*
    - size_t
    constantsTouched: []
    func_position:
      end: 4041
      start: 4000
    functionDepth: 1
    functionLinenumber: 4000
    functionLinenumberEnd: 4041
    functionName: gmt2str_log
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - utoa_pad
    - memcpy
    linkageType: ''
    returnType: char
    signature: '*gmt2str_log(char *dst, struct tm *tm, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_gmt_offset
      Src: /src/haproxy/src/tools.c:4055,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:4057,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:4062,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:4066,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:4071,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:4076,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/tools.c:4081,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:4086,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - dst
    - t
    - tm
    - size
    argTypes:
    - char*
    - time_t
    - struct tm*
    - size_t
    constantsTouched: []
    func_position:
      end: 4091
      start: 4049
    functionDepth: 2
    functionLinenumber: 4049
    functionLinenumberEnd: 4091
    functionName: localdate2str_log
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - utoa_pad
    - get_gmt_offset
    - memcpy
    linkageType: ''
    returnType: char
    signature: '*localdate2str_log(char *dst, time_t t, struct tm *tm, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: days_since_zero
      Src: /src/haproxy/src/tools.c:4131,1
    - Dst: days_since_zero
      Src: /src/haproxy/src/tools.c:4131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    constantsTouched: []
    func_position:
      end: 4145
      start: 4097
    functionDepth: 1
    functionLinenumber: 4097
    functionLinenumberEnd: 4145
    functionName: my_timegm
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 3
    functionsReached:
    - days_since_zero
    linkageType: ''
    returnType: time_t
    signature: my_timegm(const struct tm *tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - date
    - len
    - c
    argTypes:
    - char**
    - int*
    - char
    constantsTouched: []
    func_position:
      end: 4158
      start: 4151
    functionDepth: 0
    functionLinenumber: 4151
    functionLinenumberEnd: 4158
    functionName: parse_expect_char
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: parse_expect_char(const char **date, int *len, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:4165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - date
    - len
    - str
    - l
    argTypes:
    - char**
    - int*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 4170
      start: 4163
    functionDepth: 0
    functionLinenumber: 4163
    functionLinenumberEnd: 4170
    functionName: parse_strcmp
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: parse_strcmp(const char **date, int *len, char *str, int l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4189,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4190,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4191,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4192,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4193,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4194,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4195,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - date
    - len
    - tm
    argTypes:
    - char**
    - int*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 4202
      start: 4185
    functionDepth: 0
    functionLinenumber: 4185
    functionLinenumberEnd: 4202
    functionName: parse_http_dayname
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - STR2I3
    linkageType: ''
    returnType: int
    signature: parse_http_dayname(const char **date, int *len, struct tm *tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4223,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4224,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4225,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4226,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4227,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4228,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4229,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4230,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4231,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4232,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4233,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4234,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4235,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - date
    - len
    - tm
    argTypes:
    - char**
    - int*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 4241
      start: 4219
    functionDepth: 0
    functionLinenumber: 4219
    functionLinenumberEnd: 4241
    functionName: parse_http_monthname
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - STR2I3
    linkageType: ''
    returnType: int
    signature: parse_http_monthname(const char **date, int *len, struct tm *tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4257,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4258,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4259,1
    - Dst: parse_strcmp
      Src: /src/haproxy/src/tools.c:4259,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4262,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4263,1
    - Dst: parse_strcmp
      Src: /src/haproxy/src/tools.c:4263,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4266,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4267,1
    - Dst: parse_strcmp
      Src: /src/haproxy/src/tools.c:4267,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4270,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4271,1
    - Dst: parse_strcmp
      Src: /src/haproxy/src/tools.c:4271,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4274,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4275,1
    - Dst: parse_strcmp
      Src: /src/haproxy/src/tools.c:4275,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4278,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4279,1
    - Dst: parse_strcmp
      Src: /src/haproxy/src/tools.c:4279,1
    - Dst: STR2I3
      Src: /src/haproxy/src/tools.c:4282,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4283,1
    - Dst: parse_strcmp
      Src: /src/haproxy/src/tools.c:4283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 3
    argNames:
    - date
    - len
    - tm
    argTypes:
    - char**
    - int*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 4288
      start: 4253
    functionDepth: 1
    functionLinenumber: 4253
    functionLinenumberEnd: 4288
    functionName: parse_http_ldayname
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - RET0_UNLESS
    - parse_strcmp
    - STR2I3
    linkageType: ''
    returnType: int
    signature: parse_http_ldayname(const char **date, int *len, struct tm *tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - date
    - len
    - digit
    argTypes:
    - char**
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 4299
      start: 4291
    functionDepth: 0
    functionLinenumber: 4291
    functionLinenumberEnd: 4299
    functionName: parse_digit
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: parse_digit(const char **date, int *len, int *digit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4306,1
    - Dst: parse_digit
      Src: /src/haproxy/src/tools.c:4306,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4308,1
    - Dst: parse_digit
      Src: /src/haproxy/src/tools.c:4308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - date
    - len
    - digit
    argTypes:
    - char**
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 4312
      start: 4302
    functionDepth: 1
    functionLinenumber: 4302
    functionLinenumberEnd: 4312
    functionName: parse_2digit
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - parse_digit
    - RET0_UNLESS
    linkageType: ''
    returnType: int
    signature: parse_2digit(const char **date, int *len, int *digit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4319,1
    - Dst: parse_digit
      Src: /src/haproxy/src/tools.c:4319,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4322,1
    - Dst: parse_digit
      Src: /src/haproxy/src/tools.c:4322,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4325,1
    - Dst: parse_digit
      Src: /src/haproxy/src/tools.c:4325,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4328,1
    - Dst: parse_digit
      Src: /src/haproxy/src/tools.c:4328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - date
    - len
    - digit
    argTypes:
    - char**
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 4332
      start: 4315
    functionDepth: 1
    functionLinenumber: 4315
    functionLinenumberEnd: 4332
    functionName: parse_4digit
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - parse_digit
    - RET0_UNLESS
    linkageType: ''
    returnType: int
    signature: parse_4digit(const char **date, int *len, int *digit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4343,1
    - Dst: parse_2digit
      Src: /src/haproxy/src/tools.c:4343,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4344,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4344,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4345,1
    - Dst: parse_2digit
      Src: /src/haproxy/src/tools.c:4345,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4346,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4346,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4347,1
    - Dst: parse_2digit
      Src: /src/haproxy/src/tools.c:4347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - date
    - len
    - tm
    argTypes:
    - char**
    - int*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 4349
      start: 4341
    functionDepth: 2
    functionLinenumber: 4341
    functionLinenumberEnd: 4349
    functionName: parse_http_time
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - parse_expect_char
    - parse_2digit
    - RET0_UNLESS
    linkageType: ''
    returnType: int
    signature: parse_http_time(const char **date, int *len, struct tm *tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/tools.c:4379,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4381,1
    - Dst: parse_http_dayname
      Src: /src/haproxy/src/tools.c:4381,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4382,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4382,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4383,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4383,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4384,1
    - Dst: parse_2digit
      Src: /src/haproxy/src/tools.c:4384,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4385,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4385,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4386,1
    - Dst: parse_http_monthname
      Src: /src/haproxy/src/tools.c:4386,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4387,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4387,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4388,1
    - Dst: parse_4digit
      Src: /src/haproxy/src/tools.c:4388,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4390,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4390,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4391,1
    - Dst: parse_http_time
      Src: /src/haproxy/src/tools.c:4391,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4392,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4392,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4393,1
    - Dst: parse_strcmp
      Src: /src/haproxy/src/tools.c:4393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - date
    - len
    - tm
    argTypes:
    - char*
    - int
    - struct tm*
    constantsTouched: []
    func_position:
      end: 4396
      start: 4376
    functionDepth: 3
    functionLinenumber: 4376
    functionLinenumberEnd: 4396
    functionName: parse_imf_date
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - parse_http_dayname
    - parse_http_monthname
    - RET0_UNLESS
    - parse_expect_char
    - parse_4digit
    - parse_2digit
    - parse_strcmp
    - memset
    - parse_http_time
    linkageType: ''
    returnType: int
    signature: parse_imf_date(const char *date, int len, struct tm *tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/tools.c:4412,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4414,1
    - Dst: parse_http_ldayname
      Src: /src/haproxy/src/tools.c:4414,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4415,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4415,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4416,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4416,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4417,1
    - Dst: parse_2digit
      Src: /src/haproxy/src/tools.c:4417,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4418,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4418,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4419,1
    - Dst: parse_http_monthname
      Src: /src/haproxy/src/tools.c:4419,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4420,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4420,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4429,1
    - Dst: parse_2digit
      Src: /src/haproxy/src/tools.c:4429,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4432,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4434,1
    - Dst: parse_2digit
      Src: /src/haproxy/src/tools.c:4434,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4437,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4437,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4447,1
    - Dst: parse_http_time
      Src: /src/haproxy/src/tools.c:4447,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4448,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4448,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4449,1
    - Dst: parse_strcmp
      Src: /src/haproxy/src/tools.c:4449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - date
    - len
    - tm
    argTypes:
    - char*
    - int
    - struct tm*
    constantsTouched: []
    func_position:
      end: 4453
      start: 4407
    functionDepth: 3
    functionLinenumber: 4407
    functionLinenumberEnd: 4453
    functionName: parse_rfc850_date
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - parse_http_monthname
    - RET0_UNLESS
    - parse_expect_char
    - parse_2digit
    - parse_strcmp
    - memset
    - parse_http_time
    - parse_http_ldayname
    linkageType: ''
    returnType: int
    signature: parse_rfc850_date(const char *date, int len, struct tm *tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/tools.c:4469,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4471,1
    - Dst: parse_http_dayname
      Src: /src/haproxy/src/tools.c:4471,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4472,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4472,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4473,1
    - Dst: parse_http_monthname
      Src: /src/haproxy/src/tools.c:4473,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4474,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4474,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4477,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4478,1
    - Dst: parse_digit
      Src: /src/haproxy/src/tools.c:4478,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4480,1
    - Dst: parse_2digit
      Src: /src/haproxy/src/tools.c:4480,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4482,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4482,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4483,1
    - Dst: parse_http_time
      Src: /src/haproxy/src/tools.c:4483,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4484,1
    - Dst: parse_expect_char
      Src: /src/haproxy/src/tools.c:4484,1
    - Dst: RET0_UNLESS
      Src: /src/haproxy/src/tools.c:4485,1
    - Dst: parse_4digit
      Src: /src/haproxy/src/tools.c:4485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - date
    - len
    - tm
    argTypes:
    - char*
    - int
    - struct tm*
    constantsTouched: []
    func_position:
      end: 4489
      start: 4466
    functionDepth: 3
    functionLinenumber: 4466
    functionLinenumberEnd: 4489
    functionName: parse_asctime_date
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - parse_http_dayname
    - parse_digit
    - parse_http_monthname
    - RET0_UNLESS
    - parse_expect_char
    - parse_4digit
    - parse_2digit
    - memset
    - parse_http_time
    linkageType: ''
    returnType: int
    signature: parse_asctime_date(const char *date, int len, struct tm *tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_imf_date
      Src: /src/haproxy/src/tools.c:4504,1
    - Dst: parse_rfc850_date
      Src: /src/haproxy/src/tools.c:4507,1
    - Dst: parse_asctime_date
      Src: /src/haproxy/src/tools.c:4510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - date
    - len
    - tm
    argTypes:
    - char*
    - int
    - struct tm*
    constantsTouched: []
    func_position:
      end: 4514
      start: 4502
    functionDepth: 4
    functionLinenumber: 4502
    functionLinenumberEnd: 4514
    functionName: parse_http_date
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - parse_asctime_date
    - parse_imf_date
    - parse_rfc850_date
    linkageType: ''
    returnType: int
    signature: parse_http_date(const char *date, int len, struct tm *tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:4545,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:4547,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:4549,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:4551,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 51
    argCount: 4
    argNames:
    - out
    - pfx
    - ns
    - sfx
    argTypes:
    - struct buffer*
    - char*
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 4552
      start: 4521
    functionDepth: 1
    functionLinenumber: 4521
    functionLinenumberEnd: 4552
    functionName: print_time_short
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: print_time_short(struct buffer *out, const char *pfx, uint64_t ns,
      const char *sfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/haproxy/src/tools.c:4601,1
    - Dst: vsnprintf
      Src: /src/haproxy/src/tools.c:4602,1
    - Dst: va_end
      Src: /src/haproxy/src/tools.c:4603,1
    - Dst: my_realloc2
      Src: /src/haproxy/src/tools.c:4616,1
    - Dst: ha_free
      Src: /src/haproxy/src/tools.c:4621,1
    - Dst: free
      Src: /src/haproxy/src/tools.c:4625,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - out
    - format
    - orig_args
    argTypes:
    - char**
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 4630
      start: 4584
    functionDepth: 3
    functionLinenumber: 4584
    functionLinenumberEnd: 4630
    functionName: memvprintf
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - va_end
    - va_copy
    - ha_free
    - vsnprintf
    - free
    - my_realloc2
    linkageType: ''
    returnType: char
    signature: '*memvprintf(char **out, const char *format, va_list orig_args)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/tools.c:4637,1
    - Dst: memvprintf
      Src: /src/haproxy/src/tools.c:4638,1
    - Dst: va_end
      Src: /src/haproxy/src/tools.c:4639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - out
    - format
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 4642
      start: 4632
    functionDepth: 4
    functionLinenumber: 4632
    functionLinenumberEnd: 4642
    functionName: memprintf
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 207
    functionsReached:
    - va_end
    - va_start
    - memvprintf
    linkageType: ''
    returnType: char
    signature: '*memprintf(char **out, const char *format, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/tools.c:4665,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:4673,1
    - Dst: malloc
      Src: /src/haproxy/src/tools.c:4690,1
    - Dst: memset
      Src: /src/haproxy/src/tools.c:4700,1
    - Dst: free
      Src: /src/haproxy/src/tools.c:4710,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - out
    - level
    argTypes:
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 4714
      start: 4653
    functionDepth: 3
    functionLinenumber: 4653
    functionLinenumberEnd: 4714
    functionName: indent_msg
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 4
    functionsReached:
    - malloc
    - strlen
    - free
    - strchr
    - memset
    linkageType: ''
    returnType: char
    signature: '*indent_msg(char **out, int level)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_putblk
      Src: /src/haproxy/src/tools.c:4739,1
    - Dst: b_putchr
      Src: /src/haproxy/src/tools.c:4745,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - out
    - in
    - pfx
    - eol
    - first
    argTypes:
    - struct buffer*
    - char*
    - char*
    - char
    - int
    constantsTouched: []
    func_position:
      end: 4749
      start: 4724
    functionDepth: 1
    functionLinenumber: 4724
    functionLinenumberEnd: 4749
    functionName: append_prefixed_str
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - b_putblk
    - b_putchr
    linkageType: ''
    returnType: int
    signature: append_prefixed_str(struct buffer *out, const char *in, const char
      *pfx, char eol, int first)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:4767,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:4772,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4781
      start: 4759
    functionDepth: 0
    functionLinenumber: 4759
    functionLinenumberEnd: 4781
    functionName: my_unsetenv
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: my_unsetenv(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/haproxy/src/tools.c:4827,1
    - Dst: getenv
      Src: /src/haproxy/src/tools.c:4838,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:4840,1
    - Dst: my_realloc2
      Src: /src/haproxy/src/tools.c:4843,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:4848,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:4852,1
    - Dst: free
      Src: /src/haproxy/src/tools.c:4860,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 1
    argNames:
    - in
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4863
      start: 4791
    functionDepth: 3
    functionLinenumber: 4791
    functionLinenumberEnd: 4863
    functionName: env_expand
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - strlen
    - free
    - my_realloc2
    - isalnum
    - getenv
    - memcpy
    linkageType: ''
    returnType: char
    signature: '*env_expand(char *in)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/haproxy/src/tools.c:4883,1
    - Dst: toupper
      Src: /src/haproxy/src/tools.c:4883,1
    - Dst: toupper
      Src: /src/haproxy/src/tools.c:4900,1
    - Dst: toupper
      Src: /src/haproxy/src/tools.c:4900,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - str1
    - len_str1
    - str2
    - len_str2
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 4912
      start: 4867
    functionDepth: 0
    functionLinenumber: 4867
    functionLinenumberEnd: 4912
    functionName: strnistr
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - toupper
    linkageType: ''
    returnType: char
    signature: '*strnistr(const char *str1, int len_str1, const char *str2, int len_str2)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/tools.c:4920,1
    - Dst: strcmp
      Src: /src/haproxy/src/tools.c:4920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - s1
    - s2
    - s3
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4921
      start: 4918
    functionDepth: 0
    functionLinenumber: 4918
    functionLinenumberEnd: 4921
    functionName: strordered
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 3
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: strordered(const char *s1, const char *s2, const char *s3)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 68
    argCount: 3
    argNames:
    - s
    - len
    - c
    argTypes:
    - char*
    - int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 5041
      start: 4929
    functionDepth: 0
    functionLinenumber: 4929
    functionLinenumberEnd: 5041
    functionName: utf8_next
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: utf8_next(const char *s, int len, unsigned int *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/haproxy/src/tools.c:5056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5061
      start: 5052
    functionDepth: 0
    functionLinenumber: 5052
    functionLinenumberEnd: 5061
    functionName: may_access
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - stat
    linkageType: ''
    returnType: int
    signature: may_access(const void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/haproxy/src/tools.c:5075,1
    - Dst: isascii
      Src: /src/haproxy/src/tools.c:5075,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 47
    argCount: 3
    argNames:
    - out
    - buf
    - bsize
    argTypes:
    - struct buffer*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 5107
      start: 5068
    functionDepth: 0
    functionLinenumber: 5068
    functionLinenumberEnd: 5107
    functionName: dump_text
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - isascii
    - isprint
    linkageType: ''
    returnType: int
    signature: dump_text(struct buffer *out, const char *buf, int bsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - out
    - buf
    - bsize
    argTypes:
    - struct buffer*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 5128
      start: 5112
    functionDepth: 0
    functionLinenumber: 5112
    functionLinenumberEnd: 5128
    functionName: dump_binary
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: dump_binary(struct buffer *out, const char *buf, int bsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5147,1
    - Dst: may_access
      Src: /src/haproxy/src/tools.c:5151,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tools.c:5156,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tools.c:5158,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5160,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tools.c:5163,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tools.c:5165,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tools.c:5168,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tools.c:5170,1
    - Dst: isprint
      Src: /src/haproxy/src/tools.c:5171,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5172,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tools.c:5174,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tools.c:5176,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 5
    argNames:
    - out
    - pfx
    - buf
    - len
    - unsafe
    argTypes:
    - struct buffer*
    - char*
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 5178
      start: 5138
    functionDepth: 1
    functionLinenumber: 5138
    functionLinenumberEnd: 5178
    functionName: dump_hex
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - chunk_strcat
    - isprint
    - may_access
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: dump_hex(struct buffer *out, const char *pfx, const void *buf, int
      len, int unsafe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5193,1
    - Dst: may_access
      Src: /src/haproxy/src/tools.c:5197,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5199,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - buf
    - pfx
    - addr
    - n
    argTypes:
    - struct buffer*
    - char*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 5203
      start: 5188
    functionDepth: 1
    functionLinenumber: 5188
    functionLinenumberEnd: 5203
    functionName: dump_addr_and_bytes
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - may_access
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: dump_addr_and_bytes(struct buffer *buf, const char *pfx, const void
      *addr, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5217,1
    - Dst: dump_addr_and_bytes
      Src: /src/haproxy/src/tools.c:5224,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tools.c:5225,1
    - Dst: may_access
      Src: /src/haproxy/src/tools.c:5227,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tools.c:5228,1
    - Dst: isprint
      Src: /src/haproxy/src/tools.c:5229,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5230,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tools.c:5232,1
    - Dst: may_access
      Src: /src/haproxy/src/tools.c:5235,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5242,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tools.c:5247,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/tools.c:5248,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tools.c:5252,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 6
    argNames:
    - output
    - base
    - addr
    - special
    - spec_type
    - spec_name
    argTypes:
    - struct buffer*
    - void*
    - void*
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5255
      start: 5211
    functionDepth: 2
    functionLinenumber: 5211
    functionLinenumberEnd: 5255
    functionName: dump_area_with_syms
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - dump_addr_and_bytes
    - chunk_strcat
    - isprint
    - resolve_sym_name
    - chunk_appendf
    - may_access
    linkageType: ''
    returnType: void
    signature: "dump_area_with_syms(struct buffer *output, const void *base, const
      void *addr,\n                         const void *special, const char *spec_type,
      const char *spec_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5275,1
    - Dst: isprint
      Src: /src/haproxy/src/tools.c:5279,1
    - Dst: isascii
      Src: /src/haproxy/src/tools.c:5279,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 6
    argNames:
    - out
    - buf
    - bsize
    - len
    - line
    - ptr
    argTypes:
    - struct buffer*
    - char*
    - int
    - int
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 5313
      start: 5265
    functionDepth: 1
    functionLinenumber: 5265
    functionLinenumberEnd: 5313
    functionName: dump_text_line
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - isascii
    - isprint
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: "dump_text_line(struct buffer *out, const char *buf, int bsize, int
      len,\n                   int *line, int ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:5327,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:5330,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:5332,1
    - Dst: fputc
      Src: /src/haproxy/src/tools.c:5336,1
    - Dst: fputc
      Src: /src/haproxy/src/tools.c:5338,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:5342,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:5344,1
    - Dst: fprintf
      Src: /src/haproxy/src/tools.c:5347,1
    - Dst: isprint
      Src: /src/haproxy/src/tools.c:5350,1
    - Dst: fputc
      Src: /src/haproxy/src/tools.c:5351,1
    - Dst: fputc
      Src: /src/haproxy/src/tools.c:5353,1
    - Dst: fputc
      Src: /src/haproxy/src/tools.c:5356,1
    - Dst: fputc
      Src: /src/haproxy/src/tools.c:5358,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - out
    - pfx
    - buf
    - baseaddr
    - len
    argTypes:
    - FILE*
    - char*
    - char*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 5360
      start: 5319
    functionDepth: 0
    functionLinenumber: 5319
    functionLinenumberEnd: 5360
    functionName: debug_hexdump
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 5
    functionsReached:
    - fputc
    - isprint
    - fprintf
    linkageType: ''
    returnType: void
    signature: "debug_hexdump(FILE *out, const char *pfx, const char *buf,\n                   unsigned
      int baseaddr, int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: elf_aux_info
      Src: /src/haproxy/src/tools.c:5387,1
    - Dst: _dlauxinfo
      Src: /src/haproxy/src/tools.c:5393,1
    - Dst: getexecname
      Src: /src/haproxy/src/tools.c:5400,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5403
      start: 5365
    functionDepth: 0
    functionLinenumber: 5365
    functionLinenumberEnd: 5403
    functionName: get_exec_path
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - _dlauxinfo
    - getexecname
    - elf_aux_info
    linkageType: ''
    returnType: char
    signature: '*get_exec_path()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dladdr1
      Src: /src/haproxy/src/tools.c:5415,1
    - Dst: dladdr
      Src: /src/haproxy/src/tools.c:5420,1
    - Dst: dladdr
      Src: /src/haproxy/src/tools.c:5422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - addr
    - dli
    - size
    argTypes:
    - void*
    - Dl_info*
    - size_t*
    constantsTouched: []
    func_position:
      end: 5427
      start: 5409
    functionDepth: 0
    functionLinenumber: 5409
    functionLinenumberEnd: 5427
    functionName: dladdr_and_size
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - dladdr
    - dladdr1
    linkageType: ''
    returnType: int
    signature: dladdr_and_size(const void *addr, Dl_info *dli, size_t *size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dladdr_and_size
      Src: /src/haproxy/src/tools.c:5441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5445
      start: 5435
    functionDepth: 1
    functionLinenumber: 5435
    functionLinenumberEnd: 5445
    functionName: check_if_static_build
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - dladdr_and_size
    linkageType: ''
    returnType: void
    signature: check_if_static_build()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/haproxy/src/tools.c:5459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5462
      start: 5453
    functionDepth: 0
    functionLinenumber: 5453
    functionLinenumberEnd: 5462
    functionName: get_sym_curr_addr
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - dlsym
    linkageType: ''
    returnType: void
    signature: '*get_sym_curr_addr(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/haproxy/src/tools.c:5475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5478
      start: 5469
    functionDepth: 0
    functionLinenumber: 5469
    functionLinenumberEnd: 5478
    functionName: get_sym_next_addr
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - dlsym
    linkageType: ''
    returnType: void
    signature: '*get_sym_next_addr(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5486
      start: 5483
    functionDepth: 0
    functionLinenumber: 5483
    functionLinenumberEnd: 5486
    functionName: get_sym_curr_addr
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '*get_sym_curr_addr(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5491
      start: 5488
    functionDepth: 0
    functionLinenumber: 5488
    functionLinenumberEnd: 5491
    functionName: get_sym_next_addr
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '*get_sym_next_addr(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5519,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5520,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5521,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5522,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5523,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5524,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5525,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5526,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5527,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5528,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5529,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5530,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5531,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5532,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5533,1
    - Dst: ha_dump_backtrace
      Src: /src/haproxy/src/tools.c:5533,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5534,1
    - Dst: cli_io_handler
      Src: /src/haproxy/src/tools.c:5534,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5536,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5539,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5542,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5543,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5546,1
    - Dst: DEF_SYM
      Src: /src/haproxy/src/tools.c:5548,1
    - Dst: defined
      Src: /src/haproxy/src/tools.c:5551,1
    - Dst: defined
      Src: /src/haproxy/src/tools.c:5551,1
    - Dst: defined
      Src: /src/haproxy/src/tools.c:5551,1
    - Dst: __decl_thread_var
      Src: /src/haproxy/src/tools.c:5554,1
    - Dst: best_idx
      Src: /src/haproxy/src/tools.c:5561,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5564,1
    - Dst: thread_isolated
      Src: /src/haproxy/src/tools.c:5597,1
    - Dst: get_tainted
      Src: /src/haproxy/src/tools.c:5597,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/tools.c:5600,1
    - Dst: dladdr_and_size
      Src: /src/haproxy/src/tools.c:5603,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/tools.c:5605,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/tools.c:5617,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/tools.c:5620,1
    - Dst: dladdr
      Src: /src/haproxy/src/tools.c:5622,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/tools.c:5624,1
    - Dst: ha_thread_relax
      Src: /src/haproxy/src/tools.c:5627,1
    - Dst: strrchr
      Src: /src/haproxy/src/tools.c:5632,1
    - Dst: strchr
      Src: /src/haproxy/src/tools.c:5635,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:5637,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5639,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5645,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5647,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5649,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5655,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5664,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5668,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5670,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 61
    argCount: 3
    argNames:
    - buf
    - pfx
    - addr
    argTypes:
    - struct buffer*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 5672
      start: 5513
    functionDepth: 5
    functionLinenumber: 5513
    functionLinenumberEnd: 5672
    functionName: resolve_sym_name
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 11
    functionsReached:
    - strrchr
    - __decl_thread_var
    - best_idx
    - ha_thread_relax
    - HA_ATOMIC_LOAD
    - HA_ATOMIC_STORE
    - dladdr_and_size
    - chunk_appendf
    - get_tainted
    - dladdr
    - strlen
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - cli_io_handler
    - strchr
    - defined
    - thread_isolated
    - ha_dump_backtrace
    - HA_ATOMIC_CAS
    - DEF_SYM
    linkageType: ''
    returnType: void
    signature: '*resolve_sym_name(struct buffer *buf, const char *pfx, const void
      *addr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dladdr_and_size
      Src: /src/haproxy/src/tools.c:5690,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5694,1
    - Dst: strrchr
      Src: /src/haproxy/src/tools.c:5700,1
    - Dst: strchr
      Src: /src/haproxy/src/tools.c:5703,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:5705,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5706,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - pfx
    - addr
    argTypes:
    - struct buffer*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 5714
      start: 5682
    functionDepth: 1
    functionLinenumber: 5682
    functionLinenumberEnd: 5714
    functionName: resolve_dso_name
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - strrchr
    - dladdr_and_size
    - strlen
    - chunk_appendf
    - strchr
    linkageType: ''
    returnType: void
    signature: '*resolve_dso_name(struct buffer *buf, const char *pfx, const void
      *addr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_exec_path
      Src: /src/haproxy/src/tools.c:5744,1
    - Dst: strchr
      Src: /src/haproxy/src/tools.c:5745,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5774,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tools.c:5779,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - info
    - size
    - data
    argTypes:
    - struct dl_phdr_info*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 5782
      start: 5733
    functionDepth: 1
    functionLinenumber: 5733
    functionLinenumberEnd: 5782
    functionName: dl_dump_libs_cb
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - chunk_appendf
    - get_exec_path
    - strchr
    linkageType: ''
    returnType: int
    signature: dl_dump_libs_cb(struct dl_phdr_info *info, size_t size, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dl_iterate_phdr
      Src: /src/haproxy/src/tools.c:5790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - output
    - with_addr
    argTypes:
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 5792
      start: 5785
    functionDepth: 0
    functionLinenumber: 5785
    functionLinenumberEnd: 5792
    functionName: dump_libs
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - dl_iterate_phdr
    linkageType: ''
    returnType: int
    signature: dump_libs(struct buffer *output, int with_addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - output
    - with_addr
    argTypes:
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 5802
      start: 5799
    functionDepth: 0
    functionLinenumber: 5799
    functionLinenumberEnd: 5802
    functionName: dump_libs
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: dump_libs(struct buffer *output, int with_addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:5823,1
    - Dst: read_uint
      Src: /src/haproxy/src/tools.c:5832,1
    - Dst: free
      Src: /src/haproxy/src/tools.c:5837,1
    - Dst: my_realloc2
      Src: /src/haproxy/src/tools.c:5841,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - str
    - nums
    - sz
    argTypes:
    - char*
    - unsigned int**
    - size_t*
    constantsTouched: []
    func_position:
      end: 5850
      start: 5816
    functionDepth: 3
    functionLinenumber: 5816
    functionLinenumberEnd: 5850
    functionName: parse_dotted_uints
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - read_uint
    - strlen
    - free
    - my_realloc2
    linkageType: ''
    returnType: int
    signature: parse_dotted_uints(const char *str, unsigned int **nums, size_t *sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 5870
      start: 5856
    functionDepth: 0
    functionLinenumber: 5856
    functionLinenumberEnd: 5870
    functionName: varint_bytes
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: varint_bytes(uint64_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/tools.c:5891,1
    - Dst: unlikely
      Src: /src/haproxy/src/tools.c:5905,1
    - Dst: _HA_ATOMIC_DWCAS
      Src: /src/haproxy/src/tools.c:5905,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/tools.c:5910,1
    - Dst: rotl64
      Src: /src/haproxy/src/tools.c:5913,1
    - Dst: memset
      Src: /src/haproxy/src/tools.c:5927,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:5942,1
    - Dst: ha_random64
      Src: /src/haproxy/src/tools.c:5967,1
    - Dst: ha_random64
      Src: /src/haproxy/src/tools.c:5975,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5980
      start: 5883
    functionDepth: 1
    functionLinenumber: 5883
    functionLinenumberEnd: 5980
    functionName: ha_random64
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 3
    functionsReached:
    - _HA_ATOMIC_DWCAS
    - ha_random64
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - rotl64
    - memset
    - unlikely
    - memcpy
    linkageType: ''
    returnType: uint64_t
    signature: ha_random64()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_random64
      Src: /src/haproxy/src/tools.c:5990,1
    - Dst: ha_random64
      Src: /src/haproxy/src/tools.c:5994,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tools.c:5998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - output
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 6004
      start: 5985
    functionDepth: 2
    functionLinenumber: 5985
    functionLinenumberEnd: 6004
    functionName: ha_generate_uuid_v4
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - chunk_printf
    - ha_random64
    linkageType: ''
    returnType: void
    signature: ha_generate_uuid_v4(struct buffer *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_random64
      Src: /src/haproxy/src/tools.c:6016,1
    - Dst: ha_random64
      Src: /src/haproxy/src/tools.c:6020,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tools.c:6023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - output
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 6029
      start: 6009
    functionDepth: 2
    functionLinenumber: 6009
    functionLinenumberEnd: 6029
    functionName: ha_generate_uuid_v7
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - chunk_printf
    - ha_random64
    linkageType: ''
    returnType: void
    signature: ha_generate_uuid_v7(struct buffer *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/tools.c:6038,1
    - Dst: vsnprintf
      Src: /src/haproxy/src/tools.c:6040,1
    - Dst: stat
      Src: /src/haproxy/src/tools.c:6044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - mode
    - path_fmt
    - args
    argTypes:
    - mode_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 6048
      start: 6033
    functionDepth: 1
    functionLinenumber: 6033
    functionLinenumberEnd: 6048
    functionName: _is_path_mode
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - chunk_reset
    - stat
    linkageType: ''
    returnType: int
    signature: _is_path_mode(mode_t mode, const char *path_fmt, va_list args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/tools.c:6060,1
    - Dst: _is_path_mode
      Src: /src/haproxy/src/tools.c:6061,1
    - Dst: va_end
      Src: /src/haproxy/src/tools.c:6062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mode
    - path_fmt
    argTypes:
    - mode_t
    - char*
    constantsTouched: []
    func_position:
      end: 6064
      start: 6055
    functionDepth: 2
    functionLinenumber: 6055
    functionLinenumberEnd: 6064
    functionName: is_path_mode
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - va_end
    - _is_path_mode
    - va_start
    linkageType: ''
    returnType: int
    signature: is_path_mode(mode_t mode, const char *path_fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/tools.c:6075,1
    - Dst: _is_path_mode
      Src: /src/haproxy/src/tools.c:6076,1
    - Dst: va_end
      Src: /src/haproxy/src/tools.c:6077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - path_fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6079
      start: 6070
    functionDepth: 2
    functionLinenumber: 6070
    functionLinenumberEnd: 6079
    functionName: is_file_present
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - va_end
    - _is_path_mode
    - va_start
    linkageType: ''
    returnType: int
    signature: is_file_present(const char *path_fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/tools.c:6090,1
    - Dst: _is_path_mode
      Src: /src/haproxy/src/tools.c:6091,1
    - Dst: va_end
      Src: /src/haproxy/src/tools.c:6092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - path_fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6094
      start: 6085
    functionDepth: 2
    functionLinenumber: 6085
    functionLinenumberEnd: 6094
    functionName: is_dir_present
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - va_end
    - _is_path_mode
    - va_start
    linkageType: ''
    returnType: int
    signature: is_dir_present(const char *path_fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EMIT_CHAR
      Src: /src/haproxy/src/tools.c:6162,1
    - Dst: ishex
      Src: /src/haproxy/src/tools.c:6255,1
    - Dst: ishex
      Src: /src/haproxy/src/tools.c:6255,1
    - Dst: toupper
      Src: /src/haproxy/src/tools.c:6262,1
    - Dst: toupper
      Src: /src/haproxy/src/tools.c:6263,1
    - Dst: EMIT_CHAR
      Src: /src/haproxy/src/tools.c:6276,1
    - Dst: isspace
      Src: /src/haproxy/src/tools.c:6278,1
    - Dst: isspace
      Src: /src/haproxy/src/tools.c:6280,1
    - Dst: EMIT_CHAR
      Src: /src/haproxy/src/tools.c:6282,1
    - Dst: isalpha
      Src: /src/haproxy/src/tools.c:6302,1
    - Dst: isalnum
      Src: /src/haproxy/src/tools.c:6313,1
    - Dst: unlikely
      Src: /src/haproxy/src/tools.c:6318,1
    - Dst: strcmp
      Src: /src/haproxy/src/tools.c:6320,1
    - Dst: ultoa
      Src: /src/haproxy/src/tools.c:6321,1
    - Dst: strcmp
      Src: /src/haproxy/src/tools.c:6322,1
    - Dst: strcmp
      Src: /src/haproxy/src/tools.c:6324,1
    - Dst: getenv
      Src: /src/haproxy/src/tools.c:6334,1
    - Dst: isspace
      Src: /src/haproxy/src/tools.c:6380,1
    - Dst: EMIT_CHAR
      Src: /src/haproxy/src/tools.c:6381,1
    - Dst: isspace
      Src: /src/haproxy/src/tools.c:6389,1
    - Dst: EMIT_CHAR
      Src: /src/haproxy/src/tools.c:6392,1
    - Dst: likely
      Src: /src/haproxy/src/tools.c:6401,1
    - Dst: isspace
      Src: /src/haproxy/src/tools.c:6403,1
    - Dst: EMIT_CHAR
      Src: /src/haproxy/src/tools.c:6415,1
    - Dst: EMIT_CHAR
      Src: /src/haproxy/src/tools.c:6420,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 226
    argCount: 7
    argNames:
    - in
    - out
    - outlen
    - args
    - nbargs
    - opts
    - errptr
    argTypes:
    - char*
    - char*
    - size_t*
    - char**
    - int*
    - uint32_t
    - char**
    constantsTouched: []
    func_position:
      end: 6451
      start: 6136
    functionDepth: 1
    functionLinenumber: 6136
    functionLinenumberEnd: 6451
    functionName: parse_line
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - toupper
    - isspace
    - strcmp
    - EMIT_CHAR
    - isalpha
    - unlikely
    - likely
    - isalnum
    - ishex
    - getenv
    - ultoa
    linkageType: ''
    returnType: uint32_t
    signature: parse_line(char *in, char *out, size_t *outlen, char **args, int *nbargs,
      uint32_t opts, const char **errptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/tools.c:6469,1
    - Dst: va_start
      Src: /src/haproxy/src/tools.c:6471,1
    - Dst: vsnprintf
      Src: /src/haproxy/src/tools.c:6472,1
    - Dst: va_end
      Src: /src/haproxy/src/tools.c:6473,1
    - Dst: fopen
      Src: /src/haproxy/src/tools.c:6478,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/tools.c:6483,1
    - Dst: fgets
      Src: /src/haproxy/src/tools.c:6484,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:6485,1
    - Dst: fclose
      Src: /src/haproxy/src/tools.c:6494,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - path_fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6496
      start: 6463
    functionDepth: 1
    functionLinenumber: 6463
    functionLinenumberEnd: 6496
    functionName: read_line_to_trash
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - va_end
    - chunk_reset
    - vsnprintf
    - strlen
    - fgets
    - fopen
    - fclose
    - va_start
    linkageType: ''
    returnType: ssize_t
    signature: read_line_to_trash(const char *path_fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/haproxy/src/tools.c:6525,1
    - Dst: isprint
      Src: /src/haproxy/src/tools.c:6527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - line
    - pos
    - width
    argTypes:
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 6541
      start: 6506
    functionDepth: 0
    functionLinenumber: 6506
    functionLinenumberEnd: 6541
    functionName: sanitize_for_printing
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - isspace
    - isprint
    linkageType: ''
    returnType: size_t
    signature: sanitize_for_printing(char *line, size_t pos, size_t width)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/haproxy/src/tools.c:6557,1
    - Dst: tolower
      Src: /src/haproxy/src/tools.c:6560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - fp
    - word
    argTypes:
    - uint8_t*
    - char*
    constantsTouched: []
    func_position:
      end: 6570
      start: 6549
    functionDepth: 0
    functionLinenumber: 6549
    functionLinenumberEnd: 6570
    functionName: update_word_fingerprint
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - tolower
    linkageType: ''
    returnType: void
    signature: update_word_fingerprint(uint8_t *fp, const char *word)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:6588,1
    - Dst: HA_ANON
      Src: /src/haproxy/src/tools.c:6589,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:6589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - scramble
    - string2hash
    - prefix
    - suffix
    argTypes:
    - uint32_t
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 6594
      start: 6577
    functionDepth: 0
    functionLinenumber: 6577
    functionLinenumberEnd: 6594
    functionName: hash_anon
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - strlen
    - snprintf
    - HA_ANON
    linkageType: ''
    returnType: char
    signature: '*hash_anon(uint32_t scramble, const char *string2hash, const char
      *prefix, const char *suffix)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/tools.c:6617,1
    - Dst: strcmp
      Src: /src/haproxy/src/tools.c:6618,1
    - Dst: strcmp
      Src: /src/haproxy/src/tools.c:6619,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:6620,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:6621,1
    - Dst: memset
      Src: /src/haproxy/src/tools.c:6626,1
    - Dst: str2ip2
      Src: /src/haproxy/src/tools.c:6627,1
    - Dst: HA_ANON_STR
      Src: /src/haproxy/src/tools.c:6628,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/tools.c:6633,1
    - Dst: HA_ANON_STR
      Src: /src/haproxy/src/tools.c:6637,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/tools.c:6640,1
    - Dst: get_host_port
      Src: /src/haproxy/src/tools.c:6641,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:6645,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:6645,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:6645,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:6650,1
    - Dst: HA_ANON
      Src: /src/haproxy/src/tools.c:6650,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:6650,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:6654,1
    - Dst: HA_ANON
      Src: /src/haproxy/src/tools.c:6654,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:6654,1
    - Dst: strcmp
      Src: /src/haproxy/src/tools.c:6661,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:6666,1
    - Dst: HA_ANON
      Src: /src/haproxy/src/tools.c:6666,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:6666,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:6670,1
    - Dst: HA_ANON
      Src: /src/haproxy/src/tools.c:6670,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:6670,1
    - Dst: HA_ANON_STR
      Src: /src/haproxy/src/tools.c:6679,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 3
    argNames:
    - scramble
    - ipstring
    - hasport
    argTypes:
    - uint32_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 6688
      start: 6601
    functionDepth: 4
    functionLinenumber: 6601
    functionLinenumberEnd: 6688
    functionName: hash_ipanon
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - HA_ANON_STR
    - strncmp
    - HA_ANON
    - strcmp
    - str2sa_range
    - snprintf
    - addr_to_str
    - strlen
    - memset
    - get_host_port
    - str2ip2
    linkageType: ''
    returnType: char
    signature: '*hash_ipanon(uint32_t scramble, char *ipstring, int hasport)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/tools.c:6697,1
    - Dst: update_word_fingerprint
      Src: /src/haproxy/src/tools.c:6698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - word
    argTypes:
    - uint8_t*
    - char*
    constantsTouched: []
    func_position:
      end: 6699
      start: 6695
    functionDepth: 1
    functionLinenumber: 6695
    functionLinenumberEnd: 6699
    functionName: make_word_fingerprint
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - memset
    - update_word_fingerprint
    linkageType: ''
    returnType: void
    signature: make_word_fingerprint(uint8_t *fp, const char *word)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/haproxy/src/tools.c:6711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fp1
    - fp2
    argTypes:
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 6714
      start: 6705
    functionDepth: 0
    functionLinenumber: 6705
    functionLinenumberEnd: 6714
    functionName: word_fingerprint_distance
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 3
    functionsReached:
    - abs
    linkageType: ''
    returnType: int
    signature: word_fingerprint_distance(const uint8_t *fp1, const uint8_t *fp2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: openssl_version_parser
      Src: /src/haproxy/src/tools.c:6733,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6746
      start: 6728
    functionDepth: 1
    functionLinenumber: 6728
    functionLinenumberEnd: 6746
    functionName: openssl_compare_current_version
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - openssl_version_parser
    linkageType: ''
    returnType: int
    signature: openssl_compare_current_version(const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:6760,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:6761,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:6761,1
    - Dst: strncmp
      Src: /src/haproxy/src/tools.c:6762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6766
      start: 6753
    functionDepth: 0
    functionLinenumber: 6753
    functionLinenumberEnd: 6766
    functionName: openssl_compare_current_name
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - strlen
    - strncmp
    linkageType: ''
    returnType: int
    signature: openssl_compare_current_name(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/tools.c:6793,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:6830,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:6832,1
    - Dst: prctl
      Src: /src/haproxy/src/tools.c:6843,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - addr
    - size
    - type
    - name
    - id
    argTypes:
    - void*
    - size_t
    - char*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6848
      start: 6787
    functionDepth: 0
    functionLinenumber: 6787
    functionLinenumberEnd: 6848
    functionName: vma_set_name_id
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - prctl
    - snprintf
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: vma_set_name_id(void *addr, size_t size, const char *type, const char
      *name, unsigned int id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vma_set_name_id
      Src: /src/haproxy/src/tools.c:6853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - addr
    - size
    - type
    - name
    argTypes:
    - void*
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 6854
      start: 6851
    functionDepth: 1
    functionLinenumber: 6851
    functionLinenumberEnd: 6854
    functionName: vma_set_name
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 3
    functionsReached:
    - vma_set_name_id
    linkageType: ''
    returnType: void
    signature: vma_set_name(void *addr, size_t size, const char *type, const char
      *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sym_next_addr
      Src: /src/haproxy/src/tools.c:6907,1
    - Dst: get_sym_curr_addr
      Src: /src/haproxy/src/tools.c:6923,1
    - Dst: get_sym_next_addr
      Src: /src/haproxy/src/tools.c:6924,1
    - Dst: _dlopen
      Src: /src/haproxy/src/tools.c:6930,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/tools.c:6934,1
    - Dst: dlsym
      Src: /src/haproxy/src/tools.c:6939,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/tools.c:6966,1
    - Dst: hlua_show_current_location
      Src: /src/haproxy/src/tools.c:6968,1
    - Dst: ha_warning
      Src: /src/haproxy/src/tools.c:6969,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 2
    argNames:
    - filename
    - flags
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 6977
      start: 6875
    functionDepth: 1
    functionLinenumber: 6875
    functionLinenumberEnd: 6977
    functionName: dlopen
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 1
    functionsReached:
    - _dlopen
    - ha_warning
    - get_sym_next_addr
    - hlua_show_current_location
    - dlsym
    - mark_tainted
    - get_sym_curr_addr
    linkageType: ''
    returnType: void
    signature: '*dlopen(const char *filename, int flags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_random32
      Src: /src/haproxy/src/tools.c:6983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6987
      start: 6980
    functionDepth: 1
    functionLinenumber: 6980
    functionLinenumberEnd: 6987
    functionName: init_tools_per_thread
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - ha_random32
    linkageType: ''
    returnType: int
    signature: init_tools_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/haproxy/src/tools.c:7015,1
    - Dst: MIN
      Src: /src/haproxy/src/tools.c:7023,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:7026,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - buf
    - size
    - position
    - end
    argTypes:
    - char*
    - int
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 7031
      start: 6998
    functionDepth: 0
    functionLinenumber: 6998
    functionLinenumberEnd: 7031
    functionName: fgets_from_mem
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - memchr
    - MIN
    - memcpy
    linkageType: ''
    returnType: char
    signature: '*fgets_from_mem(char* buf, int size, const char **position, const
      char *end)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/tools.c:7045,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tools.c:7047,1
    - Dst: strdup
      Src: /src/haproxy/src/tools.c:7052,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tools.c:7054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7064
      start: 7036
    functionDepth: 3
    functionLinenumber: 7036
    functionLinenumberEnd: 7064
    functionName: backup_env
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - malloc
    - ha_alert
    - strdup
    linkageType: ''
    returnType: int
    signature: backup_env(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/tools.c:7081,1
    - Dst: ha_warning
      Src: /src/haproxy/src/tools.c:7085,1
    - Dst: my_strndup
      Src: /src/haproxy/src/tools.c:7090,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tools.c:7092,1
    - Dst: unsetenv
      Src: /src/haproxy/src/tools.c:7097,1
    - Dst: ha_warning
      Src: /src/haproxy/src/tools.c:7098,1
    - Dst: strerror
      Src: /src/haproxy/src/tools.c:7099,1
    - Dst: free
      Src: /src/haproxy/src/tools.c:7100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7104
      start: 7074
    functionDepth: 4
    functionLinenumber: 7074
    functionLinenumberEnd: 7104
    functionName: clean_env
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - unsetenv
    - strerror
    - ha_warning
    - free
    - strchr
    - my_strndup
    linkageType: ''
    returnType: int
    signature: clean_env(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/tools.c:7122,1
    - Dst: strchr
      Src: /src/haproxy/src/tools.c:7126,1
    - Dst: ha_warning
      Src: /src/haproxy/src/tools.c:7128,1
    - Dst: setenv
      Src: /src/haproxy/src/tools.c:7138,1
    - Dst: ha_warning
      Src: /src/haproxy/src/tools.c:7140,1
    - Dst: strerror
      Src: /src/haproxy/src/tools.c:7141,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tools.c:7143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7152
      start: 7116
    functionDepth: 1
    functionLinenumber: 7116
    functionLinenumberEnd: 7152
    functionName: restore_env
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strerror
    - ha_warning
    - setenv
    - strchr
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: restore_env(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/tools.c:7175,1
    - Dst: cebus_lookup
      Src: /src/haproxy/src/tools.c:7176,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/tools.c:7177,1
    - Dst: container_of
      Src: /src/haproxy/src/tools.c:7180,1
    - Dst: strlen
      Src: /src/haproxy/src/tools.c:7184,1
    - Dst: malloc
      Src: /src/haproxy/src/tools.c:7185,1
    - Dst: memcpy
      Src: /src/haproxy/src/tools.c:7189,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/tools.c:7190,1
    - Dst: cebus_insert
      Src: /src/haproxy/src/tools.c:7191,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/tools.c:7192,1
    - Dst: free
      Src: /src/haproxy/src/tools.c:7196,1
    - Dst: container_of
      Src: /src/haproxy/src/tools.c:7197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 7200
      start: 7166
    functionDepth: 3
    functionLinenumber: 7166
    functionLinenumberEnd: 7200
    functionName: copy_file_name
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 2
    functionsReached:
    - malloc
    - container_of
    - cebus_lookup
    - strlen
    - HA_RWLOCK_RDLOCK
    - free
    - HA_RWLOCK_WRUNLOCK
    - memcpy
    - HA_RWLOCK_WRLOCK
    - cebus_insert
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: char
    signature: '*copy_file_name(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/tools.c:7208,1
    - Dst: cebus_first
      Src: /src/haproxy/src/tools.c:7210,1
    - Dst: container_of
      Src: /src/haproxy/src/tools.c:7211,1
    - Dst: cebus_delete
      Src: /src/haproxy/src/tools.c:7212,1
    - Dst: free
      Src: /src/haproxy/src/tools.c:7213,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/tools.c:7216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7217
      start: 7203
    functionDepth: 3
    functionLinenumber: 7203
    functionLinenumberEnd: 7217
    functionName: free_all_file_names
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - cebus_delete
    - container_of
    - cebus_first
    - free
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: void
    signature: free_all_file_names()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:7231,1
    - Dst: snprintf
      Src: /src/haproxy/src/tools.c:7233,1
    - Dst: memprintf
      Src: /src/haproxy/src/tools.c:7236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - path
    - base
    - dst
    - err
    argTypes:
    - char*
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 7243
      start: 7225
    functionDepth: 5
    functionLinenumber: 7225
    functionLinenumberEnd: 7243
    functionName: path_base
    functionSourceFile: /src/haproxy/src/tools.c
    functionUses: 0
    functionsReached:
    - memprintf
    - snprintf
    linkageType: ''
    returnType: int
    signature: path_base(const char *path, const char *base, char *dst, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_next
      Src: /src/haproxy/src/lb_chash.c:39,1
    - Dst: eb32_first
      Src: /src/haproxy/src/lb_chash.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - root
    - node
    argTypes:
    - struct eb_root*
    - struct eb32_node*
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: chash_skip_node
    functionSourceFile: /src/haproxy/src/lb_chash.c
    functionUses: 0
    functionsReached:
    - eb32_next
    - eb32_first
    linkageType: ''
    returnType: struct eb32_node
    signature: '*chash_skip_node(struct eb_root *root, struct eb32_node *node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chash_skip_node
      Src: /src/haproxy/src/lb_chash.c:57,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/lb_chash.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: chash_dequeue_srv
    functionSourceFile: /src/haproxy/src/lb_chash.c
    functionUses: 0
    functionsReached:
    - eb32_delete
    - chash_skip_node
    linkageType: ''
    returnType: void
    signature: chash_dequeue_srv(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: full_hash
      Src: /src/haproxy/src/lb_chash.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - node_index
    argTypes:
    - struct server*
    - unsigned
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: chash_compute_node_key
    functionSourceFile: /src/haproxy/src/lb_chash.c
    functionUses: 0
    functionsReached:
    - full_hash
    linkageType: ''
    returnType: u32
    signature: chash_compute_node_key(struct server *s, unsigned node_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_get_inetaddr
      Src: /src/haproxy/src/lb_chash.c:93,1
    - Dst: full_hash
      Src: /src/haproxy/src/lb_chash.c:104,1
    - Dst: full_hash
      Src: /src/haproxy/src/lb_chash.c:114,1
    - Dst: XXH32
      Src: /src/haproxy/src/lb_chash.c:117,1
    - Dst: full_hash
      Src: /src/haproxy/src/lb_chash.c:126,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 131
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 131
    functionName: chash_compute_server_key
    functionSourceFile: /src/haproxy/src/lb_chash.c
    functionUses: 0
    functionsReached:
    - full_hash
    - XXH32
    - server_get_inetaddr
    linkageType: ''
    returnType: u32
    signature: chash_compute_server_key(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chash_compute_server_key
      Src: /src/haproxy/src/lb_chash.c:142,1
    - Dst: chash_dequeue_srv
      Src: /src/haproxy/src/lb_chash.c:146,1
    - Dst: chash_skip_node
      Src: /src/haproxy/src/lb_chash.c:156,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/lb_chash.c:157,1
    - Dst: chash_dequeue_srv
      Src: /src/haproxy/src/lb_chash.c:168,1
    - Dst: realloc
      Src: /src/haproxy/src/lb_chash.c:170,1
    - Dst: memset
      Src: /src/haproxy/src/lb_chash.c:175,1
    - Dst: chash_compute_node_key
      Src: /src/haproxy/src/lb_chash.c:179,1
    - Dst: chash_skip_node
      Src: /src/haproxy/src/lb_chash.c:188,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/lb_chash.c:189,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 192
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 192
    functionName: chash_queue_dequeue_srv
    functionSourceFile: /src/haproxy/src/lb_chash.c
    functionUses: 0
    functionsReached:
    - chash_compute_server_key
    - eb32_delete
    - eb32_insert
    - chash_dequeue_srv
    - chash_compute_node_key
    - memset
    - realloc
    - chash_skip_node
    linkageType: ''
    returnType: void
    signature: chash_queue_dequeue_srv(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_chash.c:206,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_chash.c:209,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_chash.c:211,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_chash.c:214,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_chash.c:231,1
    - Dst: chash_dequeue_srv
      Src: /src/haproxy/src/lb_chash.c:239,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_chash.c:243,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_chash.c:245,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_chash.c:247,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 248
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 248
    functionName: chash_set_server_status_down
    functionSourceFile: /src/haproxy/src/lb_chash.c
    functionUses: 0
    functionsReached:
    - chash_dequeue_srv
    - srv_lb_status_changed
    - srv_currently_usable
    - update_backend_weight
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    linkageType: ''
    returnType: void
    signature: chash_set_server_status_down(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_chash.c:263,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_chash.c:266,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_chash.c:268,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_chash.c:271,1
    - Dst: chash_queue_dequeue_srv
      Src: /src/haproxy/src/lb_chash.c:301,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_chash.c:305,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_chash.c:307,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_chash.c:309,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 310
      start: 259
    functionDepth: 4
    functionLinenumber: 259
    functionLinenumberEnd: 310
    functionName: chash_set_server_status_up
    functionSourceFile: /src/haproxy/src/lb_chash.c
    functionUses: 0
    functionsReached:
    - chash_queue_dequeue_srv
    - srv_lb_status_changed
    - srv_currently_usable
    - update_backend_weight
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    linkageType: ''
    returnType: void
    signature: chash_set_server_status_up(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_chash.c:330,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_chash.c:331,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_chash.c:334,1
    - Dst: chash_set_server_status_up
      Src: /src/haproxy/src/lb_chash.c:338,1
    - Dst: chash_set_server_status_down
      Src: /src/haproxy/src/lb_chash.c:342,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_chash.c:346,1
    - Dst: chash_queue_dequeue_srv
      Src: /src/haproxy/src/lb_chash.c:349,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_chash.c:356,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_chash.c:357,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_chash.c:359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 360
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 360
    functionName: chash_update_server_weight
    functionSourceFile: /src/haproxy/src/lb_chash.c
    functionUses: 0
    functionsReached:
    - chash_queue_dequeue_srv
    - chash_set_server_status_down
    - update_backend_weight
    - srv_currently_usable
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    - chash_set_server_status_up
    linkageType: ''
    returnType: void
    signature: chash_update_server_weight(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 388
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 388
    functionName: chash_server_is_eligible
    functionSourceFile: /src/haproxy/src/lb_chash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: chash_server_is_eligible(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/lb_chash.c:409,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/lb_chash.c:425,1
    - Dst: eb32_first
      Src: /src/haproxy/src/lb_chash.c:427,1
    - Dst: eb32_prev
      Src: /src/haproxy/src/lb_chash.c:433,1
    - Dst: eb32_last
      Src: /src/haproxy/src/lb_chash.c:435,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/lb_chash.c:437,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/lb_chash.c:438,1
    - Dst: chash_server_is_eligible
      Src: /src/haproxy/src/lb_chash.c:456,1
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/src/lb_chash.c:459,1
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/src/lb_chash.c:463,1
    - Dst: eb32_next
      Src: /src/haproxy/src/lb_chash.c:464,1
    - Dst: eb32_first
      Src: /src/haproxy/src/lb_chash.c:466,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/lb_chash.c:470,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/lb_chash.c:474,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 3
    argNames:
    - p
    - hash
    - avoid
    argTypes:
    - struct proxy*
    - unsigned int
    - struct server*
    constantsTouched: []
    func_position:
      end: 476
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 476
    functionName: chash_get_server_hash
    functionSourceFile: /src/haproxy/src/lb_chash.c
    functionUses: 8
    functionsReached:
    - eb32_entry
    - srv_dynamic_maxconn
    - eb32_last
    - HA_RWLOCK_RDLOCK
    - eb32_prev
    - eb32_next
    - eb32_lookup_ge
    - eb32_first
    - chash_server_is_eligible
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: struct server
    signature: '*chash_get_server_hash(struct proxy *p, unsigned int hash, const struct
      server *avoid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_chash.c:492,1
    - Dst: eb32_next
      Src: /src/haproxy/src/lb_chash.c:511,1
    - Dst: eb32_first
      Src: /src/haproxy/src/lb_chash.c:513,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/lb_chash.c:534,1
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/src/lb_chash.c:535,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_chash.c:551,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - p
    - srvtoavoid
    argTypes:
    - struct proxy*
    - struct server*
    constantsTouched: []
    func_position:
      end: 553
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 553
    functionName: chash_get_next_server
    functionSourceFile: /src/haproxy/src/lb_chash.c
    functionUses: 1
    functionsReached:
    - srv_dynamic_maxconn
    - eb32_first
    - HA_RWLOCK_WRUNLOCK
    - eb32_next
    - eb32_entry
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: struct server
    signature: '*chash_get_next_server(struct proxy *p, struct server *srvtoavoid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_chash.c:576,1
    - Dst: recount_servers
      Src: /src/haproxy/src/lb_chash.c:579,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_chash.c:580,1
    - Dst: calloc
      Src: /src/haproxy/src/lb_chash.c:591,1
    - Dst: ha_alert
      Src: /src/haproxy/src/lb_chash.c:594,1
    - Dst: chash_compute_server_key
      Src: /src/haproxy/src/lb_chash.c:597,1
    - Dst: chash_compute_node_key
      Src: /src/haproxy/src/lb_chash.c:600,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_chash.c:603,1
    - Dst: chash_queue_dequeue_srv
      Src: /src/haproxy/src/lb_chash.c:604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 607
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 607
    functionName: chash_init_server_tree
    functionSourceFile: /src/haproxy/src/lb_chash.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - chash_queue_dequeue_srv
    - calloc
    - update_backend_weight
    - srv_currently_usable
    - srv_lb_commit_status
    - recount_servers
    - chash_compute_node_key
    - chash_compute_server_key
    linkageType: ''
    returnType: int
    signature: chash_init_server_tree(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - in
    - ilen
    - out
    - olen
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 72
    functionName: a2base64
    functionSourceFile: /src/haproxy/src/base64.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: a2base64(char *in, int ilen, char *out, int olen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - in
    - ilen
    - out
    - olen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 114
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 114
    functionName: a2base64url
    functionSourceFile: /src/haproxy/src/base64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: a2base64url(const char *in, size_t ilen, char *out, size_t olen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - in
    - ilen
    - out
    - olen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 187
    functionName: base64dec
    functionSourceFile: /src/haproxy/src/base64.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: base64dec(const char *in, size_t ilen, char *out, size_t olen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - in
    - ilen
    - out
    - olen
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 257
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 257
    functionName: base64urldec
    functionSourceFile: /src/haproxy/src/base64.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: base64urldec(const char *in, size_t ilen, char *out, size_t olen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: s30tob64
    functionSourceFile: /src/haproxy/src/base64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*s30tob64(int in, char *out)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - in
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 303
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 303
    functionName: b64tos30
    functionSourceFile: /src/haproxy/src/base64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: b64tos30(const char *in)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_AEAD_key_length
      Src: /src/haproxy/src/quic_tls.c:60,1
    - Dst: QUIC_AEAD_iv_length
      Src: /src/haproxy/src/quic_tls.c:61,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/haproxy/src/quic_tls.c:62,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_tls.c:64,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_tls.c:66,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_tls.c:67,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_tls.c:69,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_tls.c:70,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_tls.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - secs
    argTypes:
    - struct buffer*
    - struct quic_tls_secrets*
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: quic_tls_keys_hexdump
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_key_length
    - QUIC_AEAD_key_length
    - QUIC_AEAD_iv_length
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "quic_tls_keys_hexdump(struct buffer *buf,\n                           const
      struct quic_tls_secrets *secs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_tls.c:81,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_tls.c:83,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_tls.c:84,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_tls.c:86,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_tls.c:87,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_tls.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - kp
    argTypes:
    - struct buffer*
    - struct quic_tls_kp*
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: quic_tls_kp_keys_hexdump
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 1
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "quic_tls_kp_keys_hexdump(struct buffer *buf,\n                              const
      struct quic_tls_kp *kp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_pktns_tx_pkts_release
      Src: /src/haproxy/src/quic_tls.c:98,1
    - Dst: qc_release_pktns_frms
      Src: /src/haproxy/src/quic_tls.c:99,1
    - Dst: quic_free_arngs
      Src: /src/haproxy/src/quic_tls.c:100,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_tls.c:101,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_tls.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - qc
    - pktns
    argTypes:
    - struct quic_conn*
    - struct quic_pktns**
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: quic_pktns_release
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - quic_free_arngs
    - qc_release_pktns_frms
    - pool_free
    - quic_pktns_tx_pkts_release
    - LIST_DEL_INIT
    linkageType: ''
    returnType: void
    signature: quic_pktns_release(struct quic_conn *qc, struct quic_pktns **pktns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_tls.c:112,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_tls.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - secret
    - secret_len
    argTypes:
    - struct buffer*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: quic_tls_secret_hexdump
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 1
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "quic_tls_secret_hexdump(struct buffer *buf,\n                             const
      unsigned char *secret, size_t secret_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_free_ncbuf
      Src: /src/haproxy/src/quic_tls.c:125,1
    - Dst: qc_stream_desc_release
      Src: /src/haproxy/src/quic_tls.c:127,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_tls.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cs
    argTypes:
    - struct quic_cstream*
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: quic_cstream_free
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - qc_stream_desc_release
    - quic_free_ncbuf
    - pool_free
    linkageType: ''
    returnType: void
    signature: quic_cstream_free(struct quic_cstream *cs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tls.c:138,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_tls.c:139,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tls.c:141,1
    - Dst: qc_stream_desc_new
      Src: /src/haproxy/src/quic_tls.c:152,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tls.c:154,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tls.c:160,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_tls.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 166
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 166
    functionName: quic_cstream_new
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - pool_alloc
    - pool_free
    - TRACE_ERROR
    - qc_stream_desc_new
    linkageType: ''
    returnType: struct quic_cstream
    signature: '*quic_cstream_new(struct quic_conn *qc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tls.c:173,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_tls.c:177,1
    - Dst: ha_free
      Src: /src/haproxy/src/quic_tls.c:182,1
    - Dst: quic_cstream_free
      Src: /src/haproxy/src/quic_tls.c:183,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tls.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - qc
    - qel
    argTypes:
    - struct quic_conn*
    - struct quic_enc_level*
    constantsTouched: []
    func_position:
      end: 186
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 186
    functionName: quic_conn_enc_level_uninit
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - ha_free
    - TRACE_ENTER
    - pool_free
    - quic_cstream_free
    linkageType: ''
    returnType: void
    signature: quic_conn_enc_level_uninit(struct quic_conn *qc, struct quic_enc_level
      *qel)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tls.c:202,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_tls.c:204,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/quic_tls.c:208,1
    - Dst: quic_tls_ctx_reset
      Src: /src/haproxy/src/quic_tls.c:216,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/quic_tls.c:219,1
    - Dst: malloc
      Src: /src/haproxy/src/quic_tls.c:223,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_tls.c:227,1
    - Dst: quic_cstream_new
      Src: /src/haproxy/src/quic_tls.c:241,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_tls.c:257,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/quic_tls.c:259,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_tls.c:262,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tls.c:266,1
    - Dst: quic_conn_enc_level_uninit
      Src: /src/haproxy/src/quic_tls.c:270,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_tls.c:271,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 4
    argNames:
    - qc
    - el
    - pktns
    - level
    argTypes:
    - struct quic_conn*
    - struct quic_enc_level**
    - struct quic_pktns*
    - enum ssl_encryption_level_t
    constantsTouched: []
    func_position:
      end: 273
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 273
    functionName: quic_conn_enc_level_init
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - malloc
    - quic_tls_ctx_reset
    - TRACE_LEAVE
    - quic_cstream_new
    - TRACE_ENTER
    - LIST_APPEND
    - pool_alloc
    - pool_free
    - LIST_INIT
    - LIST_INSERT
    - quic_conn_enc_level_uninit
    linkageType: ''
    returnType: int
    signature: "quic_conn_enc_level_init(struct quic_conn *qc,\n                                    struct
      quic_enc_level **el,\n                                    struct quic_pktns
      *pktns,\n                                    enum ssl_encryption_level_t level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tls.c:286,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tls.c:287,1
    - Dst: quic_pktns_init
      Src: /src/haproxy/src/quic_tls.c:289,1
    - Dst: quic_conn_enc_level_init
      Src: /src/haproxy/src/quic_tls.c:292,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - qc
    - pktns
    - qel
    - level
    argTypes:
    - struct quic_conn*
    - struct quic_pktns**
    - struct quic_enc_level**
    - enum ssl_encryption_level_t
    constantsTouched: []
    func_position:
      end: 298
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 298
    functionName: qc_enc_level_alloc
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 2
    functionsReached:
    - BUG_ON
    - quic_pktns_init
    - quic_conn_enc_level_init
    linkageType: ''
    returnType: int
    signature: "qc_enc_level_alloc(struct quic_conn *qc, struct quic_pktns **pktns,\n
      \                      struct quic_enc_level **qel, enum ssl_encryption_level_t
      level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_tls_ctx_secs_free
      Src: /src/haproxy/src/quic_tls.c:310,1
    - Dst: quic_conn_enc_level_uninit
      Src: /src/haproxy/src/quic_tls.c:311,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_tls.c:312,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_tls.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - qc
    - qel
    argTypes:
    - struct quic_conn*
    - struct quic_enc_level**
    constantsTouched: []
    func_position:
      end: 315
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 315
    functionName: qc_enc_level_free
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - quic_tls_ctx_secs_free
    - LIST_DEL_INIT
    - quic_conn_enc_level_uninit
    - pool_free
    linkageType: ''
    returnType: void
    signature: qc_enc_level_free(struct quic_conn *qc, struct quic_enc_level **qel)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/haproxy/src/quic_tls.c:324,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/haproxy/src/quic_tls.c:328,1
    - Dst: EVP_PKEY_CTX_hkdf_mode
      Src: /src/haproxy/src/quic_tls.c:329,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/haproxy/src/quic_tls.c:330,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/haproxy/src/quic_tls.c:331,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/haproxy/src/quic_tls.c:332,1
    - Dst: EVP_PKEY_derive
      Src: /src/haproxy/src/quic_tls.c:333,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/haproxy/src/quic_tls.c:336,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/haproxy/src/quic_tls.c:340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 7
    argNames:
    - md
    - buf
    - buflen
    - key
    - keylen
    - salt
    - saltlen
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 342
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 342
    functionName: quic_hkdf_extract
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_set_hkdf_md
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_hkdf_mode
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_PKEY_CTX_set1_hkdf_salt
    linkageType: ''
    returnType: int
    signature: "quic_hkdf_extract(const EVP_MD *md,\n                      unsigned
      char *buf, size_t buflen,\n                      const unsigned char *key, size_t
      keylen,\n                      const unsigned char *salt, size_t saltlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/haproxy/src/quic_tls.c:351,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/haproxy/src/quic_tls.c:355,1
    - Dst: EVP_PKEY_CTX_hkdf_mode
      Src: /src/haproxy/src/quic_tls.c:356,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/haproxy/src/quic_tls.c:357,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/haproxy/src/quic_tls.c:358,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/haproxy/src/quic_tls.c:359,1
    - Dst: EVP_PKEY_derive
      Src: /src/haproxy/src/quic_tls.c:360,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/haproxy/src/quic_tls.c:363,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/haproxy/src/quic_tls.c:367,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 7
    argNames:
    - md
    - buf
    - buflen
    - key
    - keylen
    - label
    - labellen
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 369
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 369
    functionName: quic_hkdf_expand
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_add1_hkdf_info
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_set_hkdf_md
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_hkdf_mode
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_set1_hkdf_key
    linkageType: ''
    returnType: int
    signature: "quic_hkdf_expand(const EVP_MD *md,\n                     unsigned
      char *buf, size_t buflen,\n                     const unsigned char *key, size_t
      keylen,\n                     const unsigned char *label, size_t labellen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/haproxy/src/quic_tls.c:387,1
    - Dst: EVP_PKEY_derive_init
      Src: /src/haproxy/src/quic_tls.c:391,1
    - Dst: EVP_PKEY_CTX_hkdf_mode
      Src: /src/haproxy/src/quic_tls.c:392,1
    - Dst: EVP_PKEY_CTX_set_hkdf_md
      Src: /src/haproxy/src/quic_tls.c:393,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_salt
      Src: /src/haproxy/src/quic_tls.c:394,1
    - Dst: EVP_PKEY_CTX_set1_hkdf_key
      Src: /src/haproxy/src/quic_tls.c:395,1
    - Dst: EVP_PKEY_CTX_add1_hkdf_info
      Src: /src/haproxy/src/quic_tls.c:396,1
    - Dst: EVP_PKEY_derive
      Src: /src/haproxy/src/quic_tls.c:397,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/haproxy/src/quic_tls.c:400,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/haproxy/src/quic_tls.c:404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 9
    argNames:
    - md
    - buf
    - buflen
    - key
    - keylen
    - salt
    - saltlen
    - label
    - labellen
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 406
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 406
    functionName: quic_hkdf_extract_and_expand
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_derive
    - EVP_PKEY_CTX_add1_hkdf_info
    - EVP_PKEY_derive_init
    - EVP_PKEY_CTX_set_hkdf_md
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_CTX_hkdf_mode
    - EVP_PKEY_CTX_free
    - EVP_PKEY_CTX_set1_hkdf_key
    - EVP_PKEY_CTX_set1_hkdf_salt
    linkageType: ''
    returnType: int
    signature: "quic_hkdf_extract_and_expand(const EVP_MD *md,\n                                 unsigned
      char *buf, size_t buflen,\n                                 const unsigned char
      *key, size_t keylen,\n                                 const unsigned char *salt,
      size_t saltlen,\n                                 const unsigned char *label,
      size_t labellen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tls.c:447,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tls.c:449,1
    - Dst: quic_hkdf_expand
      Src: /src/haproxy/src/quic_tls.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 7
    argNames:
    - md
    - buf
    - buflen
    - key
    - keylen
    - label
    - labellen
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 455
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 455
    functionName: quic_hkdf_expand_label
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - quic_hkdf_expand
    - memcpy
    linkageType: ''
    returnType: int
    signature: "quic_hkdf_expand_label(const EVP_MD *md,\n                           unsigned
      char *buf, size_t buflen,\n                           const unsigned char *key,
      size_t keylen,\n                           const unsigned char *label, size_t
      labellen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_key_length
      Src: /src/haproxy/src/quic_tls.c:479,1
    - Dst: quic_hkdf_expand_label
      Src: /src/haproxy/src/quic_tls.c:487,1
    - Dst: quic_hkdf_expand_label
      Src: /src/haproxy/src/quic_tls.c:489,1
    - Dst: quic_hkdf_expand_label
      Src: /src/haproxy/src/quic_tls.c:491,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 12
    argNames:
    - aead
    - hp
    - md
    - qv
    - key
    - keylen
    - iv
    - ivlen
    - hp_key
    - hp_keylen
    - secret
    - secretlen
    argTypes:
    - QUIC_AEAD*
    - EVP_CIPHER*
    - EVP_MD*
    - struct quic_version*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 496
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 496
    functionName: quic_tls_derive_keys
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 1
    functionsReached:
    - EVP_CIPHER_key_length
    - quic_hkdf_expand_label
    linkageType: ''
    returnType: int
    signature: "quic_tls_derive_keys(const QUIC_AEAD *aead, const EVP_CIPHER *hp,\n
      \                        const EVP_MD *md, const struct quic_version *qv,\n
      \                        unsigned char *key, size_t keylen,\n                         unsigned
      char *iv, size_t ivlen,\n                         unsigned char *hp_key, size_t
      hp_keylen,\n                         const unsigned char *secret, size_t secretlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_hkdf_extract
      Src: /src/haproxy/src/quic_tls.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - md
    - initial_salt
    - initial_salt_sz
    - initial_secret
    - initial_secret_sz
    - secret
    - secret_sz
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 512
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 512
    functionName: quic_derive_initial_secret
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - quic_hkdf_extract
    linkageType: ''
    returnType: int
    signature: "quic_derive_initial_secret(const EVP_MD *md,\n                               const
      unsigned char *initial_salt, size_t initial_salt_sz,\n                               unsigned
      char *initial_secret, size_t initial_secret_sz,\n                               const
      unsigned char *secret, size_t secret_sz)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_hkdf_expand_label
      Src: /src/haproxy/src/quic_tls.c:542,1
    - Dst: quic_hkdf_expand_label
      Src: /src/haproxy/src/quic_tls.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 8
    argNames:
    - md
    - rx
    - rx_sz
    - tx
    - tx_sz
    - secret
    - secret_sz
    - server
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 549
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 549
    functionName: quic_tls_derive_initial_secrets
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - quic_hkdf_expand_label
    linkageType: ''
    returnType: int
    signature: "quic_tls_derive_initial_secrets(const EVP_MD *md,\n                                    unsigned
      char *rx, size_t rx_sz,\n                                    unsigned char *tx,
      size_t tx_sz,\n                                    const unsigned char *secret,
      size_t secret_sz,\n                                    int server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_hkdf_expand_label
      Src: /src/haproxy/src/quic_tls.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - md
    - qv
    - new_sec
    - new_seclen
    - sec
    - seclen
    argTypes:
    - EVP_MD*
    - struct quic_version*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 560
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 560
    functionName: quic_tls_sec_update
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - quic_hkdf_expand_label
    linkageType: ''
    returnType: int
    signature: "quic_tls_sec_update(const EVP_MD *md, const struct quic_version *qv,\n
      \                       unsigned char *new_sec, size_t new_seclen,\n                        const
      unsigned char *sec, size_t seclen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tls.c:576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - iv
    - ivlen
    - aead_iv
    - aead_ivlen
    - pn
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 585
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 585
    functionName: quic_aead_iv_build
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: "quic_aead_iv_build(unsigned char *iv, size_t ivlen,\n                        unsigned
      char *aead_iv, size_t aead_ivlen, uint64_t pn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_AEAD_CTX_new
      Src: /src/haproxy/src/quic_tls.c:595,1
    - Dst: EVP_AEAD_key_length
      Src: /src/haproxy/src/quic_tls.c:595,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/haproxy/src/quic_tls.c:601,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/haproxy/src/quic_tls.c:605,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/haproxy/src/quic_tls.c:606,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/haproxy/src/quic_tls.c:608,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/haproxy/src/quic_tls.c:609,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/src/quic_tls.c:617,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - rx_ctx
    - aead
    - key
    argTypes:
    - QUIC_AEAD_CTX**
    - QUIC_AEAD*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 619
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 619
    functionName: quic_tls_rx_ctx_init
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 3
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - EVP_AEAD_key_length
    - QUIC_AEAD_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_DecryptInit_ex
    - EVP_AEAD_CTX_new
    linkageType: ''
    returnType: int
    signature: "quic_tls_rx_ctx_init(QUIC_AEAD_CTX **rx_ctx,\n                         const
      QUIC_AEAD *aead, unsigned char *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/haproxy/src/quic_tls.c:635,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/haproxy/src/quic_tls.c:639,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/haproxy/src/quic_tls.c:646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - hp_ctx
    - hp
    - key
    argTypes:
    - EVP_CIPHER_CTX**
    - EVP_CIPHER*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 648
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 648
    functionName: quic_tls_enc_hp_ctx_init
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 1
    functionsReached:
    - EVP_EncryptInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: int
    signature: "quic_tls_enc_hp_ctx_init(EVP_CIPHER_CTX **hp_ctx,\n                              const
      EVP_CIPHER *hp, unsigned char *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tls.c:672,1
    - Dst: CRYPTO_chacha_20
      Src: /src/haproxy/src/quic_tls.c:674,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/haproxy/src/quic_tls.c:680,1
    - Dst: EVP_EncryptUpdate
      Src: /src/haproxy/src/quic_tls.c:681,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/haproxy/src/quic_tls.c:682,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - out
    - in
    - inlen
    - ctx
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - EVP_CIPHER_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 686
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 686
    functionName: quic_tls_hp_encrypt
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - CRYPTO_chacha_20
    - EVP_EncryptUpdate
    - EVP_EncryptFinal_ex
    - EVP_EncryptInit_ex
    - memcpy
    linkageType: ''
    returnType: int
    signature: "quic_tls_hp_encrypt(unsigned char *out,\n                         const
      unsigned char *in, size_t inlen,\n                         EVP_CIPHER_CTX *ctx,
      unsigned char *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/haproxy/src/quic_tls.c:702,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/haproxy/src/quic_tls.c:706,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/haproxy/src/quic_tls.c:713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - hp_ctx
    - hp
    - key
    argTypes:
    - EVP_CIPHER_CTX**
    - EVP_CIPHER*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 715
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 715
    functionName: quic_tls_dec_hp_ctx_init
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 1
    functionsReached:
    - EVP_DecryptInit_ex
    - EVP_CIPHER_CTX_new
    - EVP_CIPHER_CTX_free
    linkageType: ''
    returnType: int
    signature: "quic_tls_dec_hp_ctx_init(EVP_CIPHER_CTX **hp_ctx,\n                              const
      EVP_CIPHER *hp, unsigned char *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tls.c:739,1
    - Dst: CRYPTO_chacha_20
      Src: /src/haproxy/src/quic_tls.c:741,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/haproxy/src/quic_tls.c:747,1
    - Dst: EVP_DecryptUpdate
      Src: /src/haproxy/src/quic_tls.c:748,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/haproxy/src/quic_tls.c:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - out
    - in
    - inlen
    - ctx
    - key
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - EVP_CIPHER_CTX*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 753
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 753
    functionName: quic_tls_hp_decrypt
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - CRYPTO_chacha_20
    - EVP_DecryptFinal_ex
    - EVP_DecryptUpdate
    - EVP_DecryptInit_ex
    - memcpy
    linkageType: ''
    returnType: int
    signature: "quic_tls_hp_decrypt(unsigned char *out,\n                         const
      unsigned char *in, size_t inlen,\n                         EVP_CIPHER_CTX *ctx,
      unsigned char *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_AEAD_CTX_new
      Src: /src/haproxy/src/quic_tls.c:762,1
    - Dst: EVP_AEAD_key_length
      Src: /src/haproxy/src/quic_tls.c:762,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/haproxy/src/quic_tls.c:768,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/haproxy/src/quic_tls.c:773,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/haproxy/src/quic_tls.c:774,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/haproxy/src/quic_tls.c:776,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/haproxy/src/quic_tls.c:777,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/src/quic_tls.c:785,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - tx_ctx
    - aead
    - key
    argTypes:
    - QUIC_AEAD_CTX**
    - QUIC_AEAD*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 787
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 787
    functionName: quic_tls_tx_ctx_init
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 3
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - EVP_AEAD_key_length
    - QUIC_AEAD_CTX_free
    - EVP_CIPHER_CTX_new
    - EVP_EncryptInit_ex
    - EVP_AEAD_CTX_new
    linkageType: ''
    returnType: int
    signature: "quic_tls_tx_ctx_init(QUIC_AEAD_CTX **tx_ctx,\n                         const
      QUIC_AEAD *aead, unsigned char *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_AEAD_CTX_seal
      Src: /src/haproxy/src/quic_tls.c:837,1
    - Dst: EVP_AEAD_max_overhead
      Src: /src/haproxy/src/quic_tls.c:837,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/haproxy/src/quic_tls.c:846,1
    - Dst: EVP_EncryptUpdate
      Src: /src/haproxy/src/quic_tls.c:848,1
    - Dst: EVP_EncryptUpdate
      Src: /src/haproxy/src/quic_tls.c:849,1
    - Dst: EVP_EncryptUpdate
      Src: /src/haproxy/src/quic_tls.c:850,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/haproxy/src/quic_tls.c:851,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/haproxy/src/quic_tls.c:852,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 7
    argNames:
    - buf
    - len
    - aad
    - aad_len
    - ctx
    - aead
    - iv
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - QUIC_AEAD_CTX*
    - QUIC_AEAD*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 859
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 859
    functionName: quic_tls_encrypt
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - EVP_AEAD_CTX_seal
    - EVP_EncryptUpdate
    - EVP_AEAD_max_overhead
    - EVP_EncryptFinal_ex
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: "quic_tls_encrypt(unsigned char *buf, size_t len,\n                     const
      unsigned char *aad, size_t aad_len,\n                     QUIC_AEAD_CTX *ctx,
      const QUIC_AEAD *aead,\n                     const unsigned char *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_AEAD_CTX_open
      Src: /src/haproxy/src/quic_tls.c:878,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/haproxy/src/quic_tls.c:889,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/haproxy/src/quic_tls.c:890,1
    - Dst: EVP_DecryptUpdate
      Src: /src/haproxy/src/quic_tls.c:893,1
    - Dst: EVP_DecryptUpdate
      Src: /src/haproxy/src/quic_tls.c:894,1
    - Dst: EVP_DecryptUpdate
      Src: /src/haproxy/src/quic_tls.c:895,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/haproxy/src/quic_tls.c:897,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 8
    argNames:
    - buf
    - len
    - aad
    - aad_len
    - ctx
    - aead
    - key
    - iv
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - QUIC_AEAD_CTX*
    - QUIC_AEAD*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 903
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 903
    functionName: quic_tls_decrypt
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    - EVP_DecryptUpdate
    - EVP_AEAD_CTX_open
    - EVP_DecryptInit_ex
    linkageType: ''
    returnType: int
    signature: "quic_tls_decrypt(unsigned char *buf, size_t len,\n                     unsigned
      char *aad, size_t aad_len,\n                     QUIC_AEAD_CTX *ctx, const QUIC_AEAD
      *aead,\n                     const unsigned char *key, const unsigned char *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_AEAD_CTX_open
      Src: /src/haproxy/src/quic_tls.c:927,1
    - Dst: EVP_DecryptInit_ex
      Src: /src/haproxy/src/quic_tls.c:939,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/haproxy/src/quic_tls.c:940,1
    - Dst: EVP_DecryptUpdate
      Src: /src/haproxy/src/quic_tls.c:942,1
    - Dst: EVP_DecryptUpdate
      Src: /src/haproxy/src/quic_tls.c:943,1
    - Dst: EVP_DecryptUpdate
      Src: /src/haproxy/src/quic_tls.c:944,1
    - Dst: EVP_DecryptFinal_ex
      Src: /src/haproxy/src/quic_tls.c:946,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 9
    argNames:
    - out
    - in
    - len
    - aad
    - aad_len
    - ctx
    - aead
    - key
    - iv
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - QUIC_AEAD_CTX*
    - QUIC_AEAD*
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 951
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 951
    functionName: quic_tls_decrypt2
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 2
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - EVP_DecryptFinal_ex
    - EVP_DecryptUpdate
    - EVP_AEAD_CTX_open
    - EVP_DecryptInit_ex
    linkageType: ''
    returnType: int
    signature: "quic_tls_decrypt2(unsigned char *out,\n                      unsigned
      char *in, size_t len,\n                      unsigned char *aad, size_t aad_len,\n
      \                     QUIC_AEAD_CTX *ctx, const QUIC_AEAD *aead,\n                      const
      unsigned char *key, const unsigned char *iv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_hkdf_extract
      Src: /src/haproxy/src/quic_tls.c:966,1
    - Dst: quic_hkdf_expand
      Src: /src/haproxy/src/quic_tls.c:968,1
    - Dst: quic_hkdf_expand
      Src: /src/haproxy/src/quic_tls.c:970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 13
    argNames:
    - md
    - key
    - keylen
    - iv
    - ivlen
    - salt
    - saltlen
    - secret
    - secretlen
    - klabel
    - klabellen
    - ivlabel
    - ivlabellen
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 975
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 975
    functionName: quic_do_tls_derive_token_secret
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - quic_hkdf_expand
    - quic_hkdf_extract
    linkageType: ''
    returnType: int
    signature: "quic_do_tls_derive_token_secret(const EVP_MD *md, unsigned char *key,
      size_t keylen,\n                                                  unsigned char
      *iv, size_t ivlen,\n                                                  const
      unsigned char *salt, size_t saltlen,\n                                                  const
      unsigned char *secret, size_t secretlen,\n                                                  const
      unsigned char *klabel, size_t klabellen,\n                                                  const
      unsigned char *ivlabel, size_t ivlabellen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_do_tls_derive_token_secret
      Src: /src/haproxy/src/quic_tls.c:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - md
    - key
    - keylen
    - iv
    - ivlen
    - salt
    - saltlen
    - secret
    - secretlen
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 990
      start: 977
    functionDepth: 2
    functionLinenumber: 977
    functionLinenumberEnd: 990
    functionName: quic_tls_derive_retry_token_secret
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 2
    functionsReached:
    - quic_do_tls_derive_token_secret
    linkageType: ''
    returnType: int
    signature: "quic_tls_derive_retry_token_secret(const EVP_MD *md,\n                                       unsigned
      char *key, size_t keylen,\n                                       unsigned char
      *iv, size_t ivlen,\n                                       const unsigned char
      *salt, size_t saltlen,\n                                       const unsigned
      char *secret, size_t secretlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_do_tls_derive_token_secret
      Src: /src/haproxy/src/quic_tls.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - md
    - key
    - keylen
    - iv
    - ivlen
    - salt
    - saltlen
    - secret
    - secretlen
    argTypes:
    - EVP_MD*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1005
      start: 992
    functionDepth: 2
    functionLinenumber: 992
    functionLinenumberEnd: 1005
    functionName: quic_tls_derive_token_secret
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 2
    functionsReached:
    - quic_do_tls_derive_token_secret
    linkageType: ''
    returnType: int
    signature: "quic_tls_derive_token_secret(const EVP_MD *md,\n                                 unsigned
      char *key, size_t keylen,\n                                 unsigned char *iv,
      size_t ivlen,\n                                 const unsigned char *salt, size_t
      saltlen,\n                                 const unsigned char *secret, size_t
      secretlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aes_128_gcm
      Src: /src/haproxy/src/quic_tls.c:1018,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/haproxy/src/quic_tls.c:1027,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/haproxy/src/quic_tls.c:1036,1
    - Dst: EVP_EncryptUpdate
      Src: /src/haproxy/src/quic_tls.c:1038,1
    - Dst: EVP_EncryptUpdate
      Src: /src/haproxy/src/quic_tls.c:1039,1
    - Dst: EVP_EncryptUpdate
      Src: /src/haproxy/src/quic_tls.c:1040,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/haproxy/src/quic_tls.c:1042,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/haproxy/src/quic_tls.c:1044,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/haproxy/src/quic_tls.c:1050,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - odcid
    - odcid_len
    - pkt
    - pkt_len
    - qv
    argTypes:
    - unsigned char*
    - unsigned char
    - unsigned char*
    - size_t
    - struct quic_version*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1052
    functionName: quic_tls_generate_retry_integrity_tag
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - EVP_CIPHER_CTX_free
    - EVP_EncryptUpdate
    - EVP_CIPHER_CTX_new
    - EVP_EncryptFinal_ex
    - EVP_EncryptInit_ex
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: int
    signature: "quic_tls_generate_retry_integrity_tag(unsigned char *odcid, unsigned
      char odcid_len,\n                                          unsigned char *pkt,
      size_t pkt_len,\n                                          const struct quic_version
      *qv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tls.c:1077,1
    - Dst: TRACE_PRINTF
      Src: /src/haproxy/src/quic_tls.c:1082,1
    - Dst: quic_tls_sec_update
      Src: /src/haproxy/src/quic_tls.c:1086,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tls.c:1088,1
    - Dst: quic_tls_derive_keys
      Src: /src/haproxy/src/quic_tls.c:1092,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tls.c:1096,1
    - Dst: quic_tls_sec_update
      Src: /src/haproxy/src/quic_tls.c:1102,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tls.c:1104,1
    - Dst: quic_tls_derive_keys
      Src: /src/haproxy/src/quic_tls.c:1108,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tls.c:1112,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/src/quic_tls.c:1118,1
    - Dst: quic_tls_rx_ctx_init
      Src: /src/haproxy/src/quic_tls.c:1122,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tls.c:1123,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/src/quic_tls.c:1128,1
    - Dst: quic_tls_tx_ctx_init
      Src: /src/haproxy/src/quic_tls.c:1132,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tls.c:1133,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tls.c:1139,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tls.c:1140,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1142
      start: 1058
    functionDepth: 3
    functionLinenumber: 1058
    functionLinenumberEnd: 1142
    functionName: quic_tls_key_update
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 1
    functionsReached:
    - TRACE_PRINTF
    - TRACE_LEAVE
    - TRACE_ENTER
    - quic_tls_rx_ctx_init
    - QUIC_AEAD_CTX_free
    - TRACE_PROTO
    - quic_tls_sec_update
    - quic_tls_tx_ctx_init
    - TRACE_ERROR
    - quic_tls_derive_keys
    linkageType: ''
    returnType: int
    signature: quic_tls_key_update(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tls.c:1154,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tls.c:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1195
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1195
    functionName: quic_tls_rotate_keys
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    linkageType: ''
    returnType: void
    signature: quic_tls_rotate_keys(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_tls_ctx_secs_free
      Src: /src/haproxy/src/quic_tls.c:1203,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_tls.c:1204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct quic_tls_ctx**
    constantsTouched: []
    func_position:
      end: 1206
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1206
    functionName: quic_tls_ctx_free
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - quic_tls_ctx_secs_free
    - pool_free
    linkageType: ''
    returnType: void
    signature: quic_tls_ctx_free(struct quic_tls_ctx **ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tls.c:1220,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_tls.c:1225,1
    - Dst: quic_tls_ctx_reset
      Src: /src/haproxy/src/quic_tls.c:1229,1
    - Dst: qc_new_isecs
      Src: /src/haproxy/src/quic_tls.c:1230,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tls.c:1237,1
    - Dst: quic_tls_ctx_free
      Src: /src/haproxy/src/quic_tls.c:1241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - qc
    - server
    argTypes:
    - struct quic_conn*
    - int
    constantsTouched: []
    func_position:
      end: 1243
      start: 1216
    functionDepth: 2
    functionLinenumber: 1216
    functionLinenumberEnd: 1243
    functionName: quic_tls_finalize
    functionSourceFile: /src/haproxy/src/quic_tls.c
    functionUses: 0
    functionsReached:
    - quic_tls_ctx_reset
    - TRACE_LEAVE
    - quic_tls_ctx_free
    - TRACE_ENTER
    - pool_alloc
    - qc_new_isecs
    linkageType: ''
    returnType: int
    signature: quic_tls_finalize(struct quic_conn *qc, int server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/calltrace.c:70,1
    - Dst: fopen
      Src: /src/haproxy/src/calltrace.c:75,1
    - Dst: getenv
      Src: /src/haproxy/src/calltrace.c:80,1
    - Dst: getenv
      Src: /src/haproxy/src/calltrace.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: open_trace
    functionSourceFile: /src/haproxy/src/calltrace.c
    functionUses: 0
    functionsReached:
    - strcmp
    - fopen
    - getenv
    linkageType: ''
    returnType: int
    signature: open_trace()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - x
    - out
    - min_pairs
    argTypes:
    - unsigned int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 157
    functionName: ultoad2
    functionSourceFile: /src/haproxy/src/calltrace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*ultoad2(unsigned int x, char *out, int min_pairs)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - h
    - out
    argTypes:
    - unsigned long
    - char*
    constantsTouched: []
    func_position:
      end: 174
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 174
    functionName: emit_hex
    functionSourceFile: /src/haproxy/src/calltrace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*emit_hex(unsigned long h, char *out)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/calltrace.c:180,1
    - Dst: open_trace
      Src: /src/haproxy/src/calltrace.c:180,1
    - Dst: unlikely
      Src: /src/haproxy/src/calltrace.c:183,1
    - Dst: gettimeofday
      Src: /src/haproxy/src/calltrace.c:184,1
    - Dst: fprintf
      Src: /src/haproxy/src/calltrace.c:188,1
    - Dst: fprintf
      Src: /src/haproxy/src/calltrace.c:193,1
    - Dst: rdtsc
      Src: /src/haproxy/src/calltrace.c:194,1
    - Dst: unlikely
      Src: /src/haproxy/src/calltrace.c:198,1
    - Dst: ultoad2
      Src: /src/haproxy/src/calltrace.c:200,1
    - Dst: ultoad2
      Src: /src/haproxy/src/calltrace.c:202,1
    - Dst: emit_hex
      Src: /src/haproxy/src/calltrace.c:207,1
    - Dst: emit_hex
      Src: /src/haproxy/src/calltrace.c:208,1
    - Dst: ultoad2
      Src: /src/haproxy/src/calltrace.c:213,1
    - Dst: emit_hex
      Src: /src/haproxy/src/calltrace.c:217,1
    - Dst: emit_hex
      Src: /src/haproxy/src/calltrace.c:224,1
    - Dst: emit_hex
      Src: /src/haproxy/src/calltrace.c:229,1
    - Dst: fwrite
      Src: /src/haproxy/src/calltrace.c:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 5
    argNames:
    - from
    - to
    - level
    - dir
    - ret
    argTypes:
    - void*
    - void*
    - int
    - char
    - long
    constantsTouched: []
    func_position:
      end: 235
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 235
    functionName: make_line
    functionSourceFile: /src/haproxy/src/calltrace.c
    functionUses: 0
    functionsReached:
    - ultoad2
    - open_trace
    - rdtsc
    - fwrite
    - gettimeofday
    - fprintf
    - unlikely
    - emit_hex
    linkageType: ''
    returnType: void
    signature: make_line(void *from, void *to, int level, char dir, long ret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_line
      Src: /src/haproxy/src/calltrace.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: __cyg_profile_func_enter
    functionSourceFile: /src/haproxy/src/calltrace.c
    functionUses: 0
    functionsReached:
    - make_line
    linkageType: ''
    returnType: void
    signature: __cyg_profile_func_enter(void *to,  void *from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_line
      Src: /src/haproxy/src/calltrace.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: __cyg_profile_func_exit
    functionSourceFile: /src/haproxy/src/calltrace.c
    functionUses: 0
    functionsReached:
    - make_line
    linkageType: ''
    returnType: void
    signature: __cyg_profile_func_exit(void *to,  void *from)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/haproxy/src/calltrace.c:261,1
    - Dst: unlikely
      Src: /src/haproxy/src/calltrace.c:266,1
    - Dst: open_trace
      Src: /src/haproxy/src/calltrace.c:266,1
    - Dst: unlikely
      Src: /src/haproxy/src/calltrace.c:269,1
    - Dst: gettimeofday
      Src: /src/haproxy/src/calltrace.c:270,1
    - Dst: fprintf
      Src: /src/haproxy/src/calltrace.c:273,1
    - Dst: fprintf
      Src: /src/haproxy/src/calltrace.c:278,1
    - Dst: rdtsc
      Src: /src/haproxy/src/calltrace.c:279,1
    - Dst: va_start
      Src: /src/haproxy/src/calltrace.c:281,1
    - Dst: vfprintf
      Src: /src/haproxy/src/calltrace.c:282,1
    - Dst: va_end
      Src: /src/haproxy/src/calltrace.c:283,1
    - Dst: fputc
      Src: /src/haproxy/src/calltrace.c:284,1
    - Dst: fflush
      Src: /src/haproxy/src/calltrace.c:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 286
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 286
    functionName: calltrace
    functionSourceFile: /src/haproxy/src/calltrace.c
    functionUses: 0
    functionsReached:
    - va_end
    - format
    - open_trace
    - rdtsc
    - fputc
    - gettimeofday
    - fflush
    - vfprintf
    - fprintf
    - unlikely
    - va_start
    linkageType: ''
    returnType: void
    signature: calltrace(char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:264,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ph
    argTypes:
    - struct spoe_placeholder*
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: spoe_release_placeholder
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: spoe_release_placeholder(struct spoe_placeholder *ph)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:275,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:276,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:277,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/flt_spoe.c:278,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:279,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:280,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:281,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:283,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:284,1
    - Dst: prune_acl
      Src: /src/haproxy/src/flt_spoe.c:285,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:286,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/flt_spoe.c:288,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct spoe_message*
    constantsTouched: []
    func_position:
      end: 290
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 290
    functionName: spoe_release_message
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_safe
    - LIST_DELETE
    - free_acl_cond
    - free
    - prune_acl
    - release_sample_expr
    linkageType: ''
    returnType: void
    signature: spoe_release_message(struct spoe_message *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:296,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:297,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - grp
    argTypes:
    - struct spoe_group*
    constantsTouched: []
    func_position:
      end: 299
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 299
    functionName: spoe_release_group
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: spoe_release_group(struct spoe_group *grp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:308,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:309,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:310,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:311,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:312,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:313,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:314,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:315,1
    - Dst: spoe_release_message
      Src: /src/haproxy/src/flt_spoe.c:316,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:318,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:319,1
    - Dst: spoe_release_group
      Src: /src/haproxy/src/flt_spoe.c:320,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:322,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:323,1
    - Dst: deinit_proxy
      Src: /src/haproxy/src/flt_spoe.c:325,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - agent
    argTypes:
    - struct spoe_agent*
    constantsTouched: []
    func_position:
      end: 327
      start: 301
    functionDepth: 4
    functionLinenumber: 301
    functionLinenumberEnd: 327
    functionName: spoe_release_agent
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - spoe_release_group
    - list_for_each_entry_safe
    - LIST_DELETE
    - spoe_release_message
    - free
    - deinit_proxy
    linkageType: ''
    returnType: void
    signature: spoe_release_agent(struct spoe_agent *agent)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_generate_uuid_v4
      Src: /src/haproxy/src/flt_spoe.c:347,1
    - Dst: my_strndup
      Src: /src/haproxy/src/flt_spoe.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: generate_pseudo_uuid
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - ha_generate_uuid_v4
    - my_strndup
    linkageType: ''
    returnType: char
    signature: '*generate_pseudo_uuid()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ns_to_ms
      Src: /src/haproxy/src/flt_spoe.c:355,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/flt_spoe.c:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - since
    - t
    argTypes:
    - ullong*
    - long*
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: spoe_update_stat_time
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - ns_to_ms
    linkageType: ''
    returnType: void
    signature: spoe_update_stat_time(ullong *since, long *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SPOE_APPCTX
      Src: /src/haproxy/src/flt_spoe.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: spoe_appctx_agent
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - SPOE_APPCTX
    linkageType: ''
    returnType: struct spoe_agent
    signature: '*spoe_appctx_agent(struct appctx *appctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SPOE_APPCTX
      Src: /src/haproxy/src/flt_spoe.c:380,1
    - Dst: appctx_finalize_startup
      Src: /src/haproxy/src/flt_spoe.c:384,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/flt_spoe.c:389,1
    - Dst: stream_set_backend
      Src: /src/haproxy/src/flt_spoe.c:390,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/flt_spoe.c:393,1
    - Dst: applet_set_eoi
      Src: /src/haproxy/src/flt_spoe.c:401,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/flt_spoe.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 409
      start: 378
    functionDepth: 7
    functionLinenumber: 378
    functionLinenumberEnd: 409
    functionName: spoe_init_appctx
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - appctx_strm
    - appctx_wakeup
    - applet_set_eoi
    - SPOE_APPCTX
    - applet_need_more_data
    - stream_set_backend
    - appctx_finalize_startup
    linkageType: ''
    returnType: int
    signature: spoe_init_appctx(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SPOE_APPCTX
      Src: /src/haproxy/src/flt_spoe.c:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - appctx
    - mode
    - reason
    argTypes:
    - struct appctx*
    - enum se_shut_mode
    - struct se_abort_info*
    constantsTouched: []
    func_position:
      end: 420
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 420
    functionName: spoe_shut_appctx
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - SPOE_APPCTX
    linkageType: ''
    returnType: void
    signature: spoe_shut_appctx(struct appctx *appctx, enum se_shut_mode mode, struct
      se_abort_info *reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SPOE_APPCTX
      Src: /src/haproxy/src/flt_spoe.c:426,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/flt_spoe.c:432,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/flt_spoe.c:446,1
    - Dst: pool_free
      Src: /src/haproxy/src/flt_spoe.c:451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 452
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 452
    functionName: spoe_release_appctx
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - SPOE_APPCTX
    - task_wakeup
    - appctx_strm
    - pool_free
    linkageType: ''
    returnType: void
    signature: spoe_release_appctx(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SPOE_APPCTX
      Src: /src/haproxy/src/flt_spoe.c:456,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/flt_spoe.c:460,1
    - Dst: b_data
      Src: /src/haproxy/src/flt_spoe.c:460,1
    - Dst: b_data
      Src: /src/haproxy/src/flt_spoe.c:462,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/flt_spoe.c:463,1
    - Dst: b_data
      Src: /src/haproxy/src/flt_spoe.c:467,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/flt_spoe.c:472,1
    - Dst: b_xfer
      Src: /src/haproxy/src/flt_spoe.c:477,1
    - Dst: b_data
      Src: /src/haproxy/src/flt_spoe.c:477,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/flt_spoe.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 485
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 485
    functionName: spoe_handle_receiving_frame_appctx
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - SPOE_APPCTX
    - task_wakeup
    - b_data
    - applet_need_more_data
    - BUG_ON
    - b_xfer
    linkageType: ''
    returnType: int
    signature: spoe_handle_receiving_frame_appctx(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SPOE_APPCTX
      Src: /src/haproxy/src/flt_spoe.c:490,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/flt_spoe.c:493,1
    - Dst: appctx_get_buf
      Src: /src/haproxy/src/flt_spoe.c:496,1
    - Dst: unlikely
      Src: /src/haproxy/src/flt_spoe.c:499,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/flt_spoe.c:499,1
    - Dst: b_reset
      Src: /src/haproxy/src/flt_spoe.c:500,1
    - Dst: applet_fl_clr
      Src: /src/haproxy/src/flt_spoe.c:501,1
    - Dst: SPOE_APPCTX
      Src: /src/haproxy/src/flt_spoe.c:505,1
    - Dst: spoe_handle_receiving_frame_appctx
      Src: /src/haproxy/src/flt_spoe.c:512,1
    - Dst: SPOE_APPCTX
      Src: /src/haproxy/src/flt_spoe.c:517,1
    - Dst: applet_set_error
      Src: /src/haproxy/src/flt_spoe.c:518,1
    - Dst: SPOE_APPCTX
      Src: /src/haproxy/src/flt_spoe.c:519,1
    - Dst: applet_set_eos
      Src: /src/haproxy/src/flt_spoe.c:521,1
    - Dst: b_reset
      Src: /src/haproxy/src/flt_spoe.c:527,1
    - Dst: applet_fl_clr
      Src: /src/haproxy/src/flt_spoe.c:528,1
    - Dst: applet_have_no_more_data
      Src: /src/haproxy/src/flt_spoe.c:533,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 535
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 535
    functionName: spoe_handle_appctx
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - spoe_handle_receiving_frame_appctx
    - applet_have_no_more_data
    - applet_fl_clr
    - SPOE_APPCTX
    - appctx_get_buf
    - applet_set_eos
    - b_reset
    - applet_fl_test
    - unlikely
    - applet_set_error
    linkageType: ''
    returnType: void
    signature: spoe_handle_appctx(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_spoe.c:552,1
    - Dst: pool_zalloc
      Src: /src/haproxy/src/flt_spoe.c:557,1
    - Dst: appctx_new_here
      Src: /src/haproxy/src/flt_spoe.c:567,1
    - Dst: appctx_init
      Src: /src/haproxy/src/flt_spoe.c:571,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/flt_spoe.c:574,1
    - Dst: appctx_free_on_early_error
      Src: /src/haproxy/src/flt_spoe.c:579,1
    - Dst: pool_free
      Src: /src/haproxy/src/flt_spoe.c:581,1
    - Dst: send_log
      Src: /src/haproxy/src/flt_spoe.c:583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct spoe_context*
    constantsTouched: []
    func_position:
      end: 587
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 587
    functionName: spoe_create_appctx
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    - send_log
    - FLT_CONF
    - pool_zalloc
    - pool_free
    - appctx_init
    - appctx_free_on_early_error
    - appctx_new_here
    linkageType: ''
    returnType: struct appctx
    signature: '*spoe_create_appctx(struct spoe_context *ctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acl_match_cond
      Src: /src/haproxy/src/flt_spoe.c:602,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/src/flt_spoe.c:612,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:620,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/src/flt_spoe.c:622,1
    - Dst: sample_process
      Src: /src/haproxy/src/flt_spoe.c:626,1
    - Dst: spoe_encode_data
      Src: /src/haproxy/src/flt_spoe.c:627,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 6
    argNames:
    - s
    - ctx
    - msg
    - dir
    - buf
    - end
    argTypes:
    - struct stream*
    - struct spoe_context*
    - struct spoe_message*
    - int
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 637
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 637
    functionName: spoe_encode_message
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - sample_process
    - spoe_encode_data
    - list_for_each_entry
    - spoe_encode_buffer
    - acl_match_cond
    linkageType: ''
    returnType: int
    signature: "spoe_encode_message(struct stream *s, struct spoe_context *ctx,\n\t\t\t
      \      struct spoe_message *msg, int dir,\n\t\t\t       char **buf, char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_spoe.c:644,1
    - Dst: b_head
      Src: /src/haproxy/src/flt_spoe.c:649,1
    - Dst: spoe_encode_message
      Src: /src/haproxy/src/flt_spoe.c:657,1
    - Dst: spoe_encode_message
      Src: /src/haproxy/src/flt_spoe.c:664,1
    - Dst: b_head
      Src: /src/haproxy/src/flt_spoe.c:673,1
    - Dst: b_set_data
      Src: /src/haproxy/src/flt_spoe.c:676,1
    - Dst: b_head
      Src: /src/haproxy/src/flt_spoe.c:676,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - s
    - ctx
    - messages
    - dir
    - type
    argTypes:
    - struct stream*
    - struct spoe_context*
    - struct list*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 686
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 686
    functionName: spoe_encode_messages
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - b_head
    - spoe_encode_message
    - b_set_data
    - FLT_CONF
    linkageType: ''
    returnType: int
    signature: "spoe_encode_messages(struct stream *s, struct spoe_context *ctx,\n\t\t\t\tstruct
      list *messages, int dir, int type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_spoe.c:696,1
    - Dst: memset
      Src: /src/haproxy/src/flt_spoe.c:700,1
    - Dst: snprintf
      Src: /src/haproxy/src/flt_spoe.c:701,1
    - Dst: vars_set_by_name
      Src: /src/haproxy/src/flt_spoe.c:704,1
    - Dst: vars_set_by_name_ifexist
      Src: /src/haproxy/src/flt_spoe.c:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ctx
    - scope
    - name
    - len
    - smp
    argTypes:
    - struct spoe_context*
    - char*
    - char*
    - int
    - struct sample*
    constantsTouched: []
    func_position:
      end: 707
      start: 693
    functionDepth: 5
    functionLinenumber: 693
    functionLinenumberEnd: 707
    functionName: spoe_set_var
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - FLT_CONF
    - vars_set_by_name
    - snprintf
    - vars_set_by_name_ifexist
    - memset
    linkageType: ''
    returnType: void
    signature: "spoe_set_var(struct spoe_context *ctx, char *scope, char *name, int
      len,\n\t\t\t struct sample *smp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_spoe.c:713,1
    - Dst: memset
      Src: /src/haproxy/src/flt_spoe.c:717,1
    - Dst: snprintf
      Src: /src/haproxy/src/flt_spoe.c:718,1
    - Dst: vars_unset_by_name_ifexist
      Src: /src/haproxy/src/flt_spoe.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ctx
    - scope
    - name
    - len
    - smp
    argTypes:
    - struct spoe_context*
    - char*
    - char*
    - int
    - struct sample*
    constantsTouched: []
    func_position:
      end: 721
      start: 710
    functionDepth: 4
    functionLinenumber: 710
    functionLinenumberEnd: 721
    functionName: spoe_unset_var
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - memset
    - vars_unset_by_name_ifexist
    - snprintf
    - FLT_CONF
    linkageType: ''
    returnType: void
    signature: "spoe_unset_var(struct spoe_context *ctx, char *scope, char *name,
      int len,\n\t\t\t   struct sample *smp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spoe_decode_buffer
      Src: /src/haproxy/src/flt_spoe.c:748,1
    - Dst: memset
      Src: /src/haproxy/src/flt_spoe.c:750,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/flt_spoe.c:751,1
    - Dst: spoe_decode_data
      Src: /src/haproxy/src/flt_spoe.c:753,1
    - Dst: spoe_unset_var
      Src: /src/haproxy/src/flt_spoe.c:757,1
    - Dst: spoe_set_var
      Src: /src/haproxy/src/flt_spoe.c:759,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 5
    argNames:
    - s
    - ctx
    - buf
    - end
    - dir
    argTypes:
    - struct stream*
    - struct spoe_context*
    - char**
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 766
      start: 724
    functionDepth: 6
    functionLinenumber: 724
    functionLinenumberEnd: 766
    functionName: spoe_decode_action_set_var
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - smp_set_owner
    - spoe_unset_var
    - spoe_decode_data
    - spoe_set_var
    - memset
    - spoe_decode_buffer
    linkageType: ''
    returnType: int
    signature: "spoe_decode_action_set_var(struct stream *s, struct spoe_context *ctx,\n\t\t\t\t\t
      \    char **buf, char *end, int dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spoe_decode_buffer
      Src: /src/haproxy/src/flt_spoe.c:792,1
    - Dst: memset
      Src: /src/haproxy/src/flt_spoe.c:794,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/flt_spoe.c:795,1
    - Dst: spoe_unset_var
      Src: /src/haproxy/src/flt_spoe.c:797,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 5
    argNames:
    - s
    - ctx
    - buf
    - end
    - dir
    argTypes:
    - struct stream*
    - struct spoe_context*
    - char**
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 804
      start: 768
    functionDepth: 5
    functionLinenumber: 768
    functionLinenumberEnd: 804
    functionName: spoe_decode_action_unset_var
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - memset
    - smp_set_owner
    - spoe_decode_buffer
    - spoe_unset_var
    linkageType: ''
    returnType: int
    signature: "spoe_decode_action_unset_var(struct stream *s, struct spoe_context
      *ctx,\n\t\t\t\t\t       char **buf, char *end, int dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_head
      Src: /src/haproxy/src/flt_spoe.c:813,1
    - Dst: b_data
      Src: /src/haproxy/src/flt_spoe.c:814,1
    - Dst: spoe_decode_action_set_var
      Src: /src/haproxy/src/flt_spoe.c:822,1
    - Dst: spoe_decode_action_unset_var
      Src: /src/haproxy/src/flt_spoe.c:828,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - s
    - ctx
    - dir
    argTypes:
    - struct stream*
    - struct spoe_context*
    - int
    constantsTouched: []
    func_position:
      end: 841
      start: 808
    functionDepth: 7
    functionLinenumber: 808
    functionLinenumberEnd: 841
    functionName: spoe_process_actions
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - b_head
    - spoe_decode_action_set_var
    - b_data
    - spoe_decode_action_unset_var
    linkageType: ''
    returnType: int
    signature: spoe_process_actions(struct stream *s, struct spoe_context *ctx, int
      dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - err
    argTypes:
    - enum spoe_context_error
    constantsTouched: []
    func_position:
      end: 862
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 862
    functionName: spoe_ctx_err_to_spop_err
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum spop_error
    signature: spoe_ctx_err_to_spop_err(enum spoe_context_error err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spoe_update_stat_time
      Src: /src/haproxy/src/flt_spoe.c:867,1
    - Dst: memset
      Src: /src/haproxy/src/flt_spoe.c:874,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/flt_spoe.c:875,1
    - Dst: spoe_set_var
      Src: /src/haproxy/src/flt_spoe.c:879,1
    - Dst: strlen
      Src: /src/haproxy/src/flt_spoe.c:880,1
    - Dst: memset
      Src: /src/haproxy/src/flt_spoe.c:886,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/flt_spoe.c:887,1
    - Dst: spoe_set_var
      Src: /src/haproxy/src/flt_spoe.c:891,1
    - Dst: strlen
      Src: /src/haproxy/src/flt_spoe.c:892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - s
    - agent
    - ctx
    - dir
    argTypes:
    - struct stream*
    - struct spoe_agent*
    - struct spoe_context*
    - int
    constantsTouched: []
    func_position:
      end: 894
      start: 863
    functionDepth: 6
    functionLinenumber: 863
    functionLinenumberEnd: 894
    functionName: spoe_update_stats
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - smp_set_owner
    - strlen
    - spoe_update_stat_time
    - spoe_set_var
    - memset
    linkageType: ''
    returnType: void
    signature: "spoe_update_stats(struct stream *s, struct spoe_agent *agent,\n\t\t\t
      \     struct spoe_context *ctx, int dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/flt_spoe.c:902,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/flt_spoe.c:903,1
    - Dst: spoe_set_var
      Src: /src/haproxy/src/flt_spoe.c:907,1
    - Dst: strlen
      Src: /src/haproxy/src/flt_spoe.c:908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - s
    - agent
    - ctx
    - dir
    argTypes:
    - struct stream*
    - struct spoe_agent*
    - struct spoe_context*
    - int
    constantsTouched: []
    func_position:
      end: 914
      start: 896
    functionDepth: 6
    functionLinenumber: 896
    functionLinenumberEnd: 914
    functionName: spoe_handle_processing_error
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - memset
    - strlen
    - smp_set_owner
    - spoe_set_var
    linkageType: ''
    returnType: void
    signature: "spoe_handle_processing_error(struct stream *s, struct spoe_agent *agent,\n\t\t\t\t\t
      struct spoe_context *ctx, int dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - agent
    - ctx
    - dir
    argTypes:
    - struct spoe_agent*
    - struct spoe_context*
    - int
    constantsTouched: []
    func_position:
      end: 934
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 934
    functionName: spoe_start_processing
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: spoe_start_processing(struct spoe_agent *agent, struct spoe_context
      *ctx, int dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/flt_spoe.c:942,1
    - Dst: spoe_ctx_err_to_spop_err
      Src: /src/haproxy/src/flt_spoe.c:945,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/flt_spoe.c:947,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/flt_spoe.c:948,1
    - Dst: spoe_release_buffer
      Src: /src/haproxy/src/flt_spoe.c:959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - agent
    - ctx
    argTypes:
    - struct spoe_agent*
    - struct spoe_context*
    constantsTouched: []
    func_position:
      end: 962
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 962
    functionName: spoe_stop_processing
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    - spoe_ctx_err_to_spop_err
    - appctx_strm
    - _HA_ATOMIC_INC
    - spoe_release_buffer
    linkageType: ''
    returnType: void
    signature: spoe_stop_processing(struct spoe_agent *agent, struct spoe_context
      *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_spoe.c:972,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/flt_spoe.c:979,1
    - Dst: tick_isset
      Src: /src/haproxy/src/flt_spoe.c:985,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/flt_spoe.c:986,1
    - Dst: spoe_start_processing
      Src: /src/haproxy/src/flt_spoe.c:992,1
    - Dst: spoe_acquire_buffer
      Src: /src/haproxy/src/flt_spoe.c:1003,1
    - Dst: spoe_encode_messages
      Src: /src/haproxy/src/flt_spoe.c:1005,1
    - Dst: spoe_create_appctx
      Src: /src/haproxy/src/flt_spoe.c:1010,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/flt_spoe.c:1020,1
    - Dst: spoe_process_actions
      Src: /src/haproxy/src/flt_spoe.c:1031,1
    - Dst: spoe_stop_processing
      Src: /src/haproxy/src/flt_spoe.c:1044,1
    - Dst: spoe_update_stats
      Src: /src/haproxy/src/flt_spoe.c:1048,1
    - Dst: spoe_stop_processing
      Src: /src/haproxy/src/flt_spoe.c:1049,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/flt_spoe.c:1051,1
    - Dst: spoe_handle_processing_error
      Src: /src/haproxy/src/flt_spoe.c:1052,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 5
    argNames:
    - s
    - ctx
    - messages
    - dir
    - type
    argTypes:
    - struct stream*
    - struct spoe_context*
    - struct list*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1056
      start: 969
    functionDepth: 8
    functionLinenumber: 969
    functionLinenumberEnd: 1056
    functionName: spoe_process_messages
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    - spoe_stop_processing
    - spoe_encode_messages
    - tick_is_expired
    - FLT_CONF
    - spoe_create_appctx
    - _HA_ATOMIC_INC
    - spoe_start_processing
    - spoe_acquire_buffer
    - tick_add_ifset
    - spoe_update_stats
    - tick_isset
    - spoe_handle_processing_error
    - spoe_process_actions
    linkageType: ''
    returnType: int
    signature: "spoe_process_messages(struct stream *s, struct spoe_context *ctx,\n\t\t\t\t
      struct list *messages, int dir, int type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_spoe.c:1063,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/flt_spoe.c:1067,1
    - Dst: spoe_process_messages
      Src: /src/haproxy/src/flt_spoe.c:1070,1
    - Dst: send_log
      Src: /src/haproxy/src/flt_spoe.c:1073,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - s
    - ctx
    - group
    - dir
    argTypes:
    - struct stream*
    - struct spoe_context*
    - struct spoe_group*
    - int
    constantsTouched: []
    func_position:
      end: 1079
      start: 1060
    functionDepth: 9
    functionLinenumber: 1060
    functionLinenumberEnd: 1079
    functionName: spoe_process_group
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - LIST_ISEMPTY
    - send_log
    - spoe_process_messages
    - FLT_CONF
    linkageType: ''
    returnType: int
    signature: "spoe_process_group(struct stream *s, struct spoe_context *ctx,\n\t\t\t
      \     struct spoe_group *group, int dir)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_spoe.c:1086,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/flt_spoe.c:1092,1
    - Dst: spoe_process_messages
      Src: /src/haproxy/src/flt_spoe.c:1095,1
    - Dst: send_log
      Src: /src/haproxy/src/flt_spoe.c:1098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - s
    - ctx
    - ev
    argTypes:
    - struct stream*
    - struct spoe_context*
    - enum spoe_event
    constantsTouched: []
    func_position:
      end: 1104
      start: 1083
    functionDepth: 9
    functionLinenumber: 1083
    functionLinenumberEnd: 1104
    functionName: spoe_process_event
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - LIST_ISEMPTY
    - send_log
    - spoe_process_messages
    - FLT_CONF
    linkageType: ''
    returnType: int
    signature: "spoe_process_event(struct stream *s, struct spoe_context *ctx,\n\t\t\t
      \     enum spoe_event ev)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_dequeue
      Src: /src/haproxy/src/flt_spoe.c:1114,1
    - Dst: b_alloc
      Src: /src/haproxy/src/flt_spoe.c:1116,1
    - Dst: b_requeue
      Src: /src/haproxy/src/flt_spoe.c:1119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - buffer_wait
    argTypes:
    - struct buffer*
    - struct buffer_wait*
    constantsTouched: []
    func_position:
      end: 1121
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1121
    functionName: spoe_acquire_buffer
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 1
    functionsReached:
    - b_requeue
    - b_dequeue
    - b_alloc
    linkageType: ''
    returnType: int
    signature: spoe_acquire_buffer(struct buffer *buf, struct buffer_wait *buffer_wait)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_dequeue
      Src: /src/haproxy/src/flt_spoe.c:1125,1
    - Dst: b_free
      Src: /src/haproxy/src/flt_spoe.c:1129,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/flt_spoe.c:1130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - buffer_wait
    argTypes:
    - struct buffer*
    - struct buffer_wait*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1132
    functionName: spoe_release_buffer
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 1
    functionsReached:
    - offer_buffers
    - b_free
    - b_dequeue
    linkageType: ''
    returnType: void
    signature: spoe_release_buffer(struct buffer *buf, struct buffer_wait *buffer_wait)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_wakeup
      Src: /src/haproxy/src/flt_spoe.c:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct spoe_context*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1138
    functionName: spoe_wakeup_context
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - task_wakeup
    linkageType: ''
    returnType: int
    signature: spoe_wakeup_context(struct spoe_context *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_spoe.c:1142,1
    - Dst: pool_zalloc
      Src: /src/haproxy/src/flt_spoe.c:1145,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:1156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 1173
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1173
    functionName: spoe_create_context
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - pool_zalloc
    - LIST_INIT
    - FLT_CONF
    linkageType: ''
    returnType: struct spoe_context
    signature: '*spoe_create_context(struct stream *s, struct filter *filter)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_spoe.c:1177,1
    - Dst: spoe_stop_processing
      Src: /src/haproxy/src/flt_spoe.c:1183,1
    - Dst: pool_free
      Src: /src/haproxy/src/flt_spoe.c:1184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - filter
    argTypes:
    - struct filter*
    constantsTouched: []
    func_position:
      end: 1186
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1186
    functionName: spoe_destroy_context
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - spoe_stop_processing
    - FLT_CONF
    - pool_free
    linkageType: ''
    returnType: void
    signature: spoe_destroy_context(struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct spoe_context*
    constantsTouched: []
    func_position:
      end: 1196
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1196
    functionName: spoe_reset_context
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: spoe_reset_context(struct spoe_context *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proxy_init_per_thr
      Src: /src/haproxy/src/flt_spoe.c:1218,1
    - Dst: generate_pseudo_uuid
      Src: /src/haproxy/src/flt_spoe.c:1220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 1226
      start: 1203
    functionDepth: 5
    functionLinenumber: 1203
    functionLinenumberEnd: 1226
    functionName: spoe_init
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - generate_pseudo_uuid
    - proxy_init_per_thr
    linkageType: ''
    returnType: int
    signature: spoe_init(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spoe_release_agent
      Src: /src/haproxy/src/flt_spoe.c:1236,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:1237,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:1238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 1241
      start: 1229
    functionDepth: 5
    functionLinenumber: 1229
    functionLinenumberEnd: 1241
    functionName: spoe_deinit
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - free
    - spoe_release_agent
    linkageType: ''
    returnType: void
    signature: spoe_deinit(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:1253,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1264,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1265,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/flt_spoe.c:1271,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1273,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1284,1
    - Dst: postresolve_logger_list
      Src: /src/haproxy/src/flt_spoe.c:1291,1
    - Dst: ha_free
      Src: /src/haproxy/src/flt_spoe.c:1294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 1297
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1297
    functionName: spoe_check
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - proxy_be_by_name
    - ha_free
    - list_for_each_entry
    - strcmp
    - postresolve_logger_list
    linkageType: ''
    returnType: int
    signature: spoe_check(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_spoe.c:1306,1
    - Dst: spoe_create_context
      Src: /src/haproxy/src/flt_spoe.c:1310,1
    - Dst: send_log
      Src: /src/haproxy/src/flt_spoe.c:1311,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/flt_spoe.c:1317,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/flt_spoe.c:1320,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/flt_spoe.c:1323,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/flt_spoe.c:1326,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/flt_spoe.c:1329,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/flt_spoe.c:1332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 1336
      start: 1304
    functionDepth: 1
    functionLinenumber: 1304
    functionLinenumberEnd: 1336
    functionName: spoe_start
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - LIST_ISEMPTY
    - spoe_create_context
    - send_log
    - FLT_CONF
    linkageType: ''
    returnType: int
    signature: spoe_start(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spoe_destroy_context
      Src: /src/haproxy/src/flt_spoe.c:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1340
    functionDepth: 3
    functionLinenumber: 1340
    functionLinenumberEnd: 1343
    functionName: spoe_stop
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - spoe_destroy_context
    linkageType: ''
    returnType: void
    signature: spoe_stop(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_is_expired
      Src: /src/haproxy/src/flt_spoe.c:1353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1355
    functionName: spoe_check_timeouts
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - tick_is_expired
    linkageType: ''
    returnType: void
    signature: spoe_check_timeouts(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spoe_process_event
      Src: /src/haproxy/src/flt_spoe.c:1376,1
    - Dst: spoe_process_event
      Src: /src/haproxy/src/flt_spoe.c:1388,1
    - Dst: channel_dont_read
      Src: /src/haproxy/src/flt_spoe.c:1390,1
    - Dst: channel_dont_close
      Src: /src/haproxy/src/flt_spoe.c:1391,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - s
    - filter
    - chn
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 1399
      start: 1358
    functionDepth: 10
    functionLinenumber: 1358
    functionLinenumberEnd: 1399
    functionName: spoe_start_analyze
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - channel_dont_read
    - spoe_process_event
    - channel_dont_close
    linkageType: ''
    returnType: int
    signature: spoe_start_analyze(struct stream *s, struct filter *filter, struct
      channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spoe_process_event
      Src: /src/haproxy/src/flt_spoe.c:1413,1
    - Dst: spoe_process_event
      Src: /src/haproxy/src/flt_spoe.c:1416,1
    - Dst: spoe_process_event
      Src: /src/haproxy/src/flt_spoe.c:1419,1
    - Dst: spoe_process_event
      Src: /src/haproxy/src/flt_spoe.c:1422,1
    - Dst: spoe_process_event
      Src: /src/haproxy/src/flt_spoe.c:1425,1
    - Dst: spoe_process_event
      Src: /src/haproxy/src/flt_spoe.c:1428,1
    - Dst: channel_dont_read
      Src: /src/haproxy/src/flt_spoe.c:1434,1
    - Dst: channel_dont_close
      Src: /src/haproxy/src/flt_spoe.c:1435,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - s
    - filter
    - chn
    - an_bit
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1438
      start: 1402
    functionDepth: 10
    functionLinenumber: 1402
    functionLinenumberEnd: 1438
    functionName: spoe_chn_pre_analyze
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - channel_dont_read
    - spoe_process_event
    - channel_dont_close
    linkageType: ''
    returnType: int
    signature: "spoe_chn_pre_analyze(struct stream *s, struct filter *filter,\n\t\t\t\tstruct
      channel *chn, unsigned an_bit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spoe_reset_context
      Src: /src/haproxy/src/flt_spoe.c:1446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - filter
    - chn
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 1450
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1450
    functionName: spoe_end_analyze
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - spoe_reset_context
    linkageType: ''
    returnType: int
    signature: spoe_end_analyze(struct stream *s, struct filter *filter, struct channel
      *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1480,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1483,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1485,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1490,1
    - Dst: invalid_char
      Src: /src/haproxy/src/flt_spoe.c:1495,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1497,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1504,1
    - Dst: calloc
      Src: /src/haproxy/src/flt_spoe.c:1509,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1510,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:1515,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:1517,1
    - Dst: calloc
      Src: /src/haproxy/src/flt_spoe.c:1529,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1530,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:1536,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:1537,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:1538,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1540,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1542,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1547,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:1549,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:1550,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1552,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:1557,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1558,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1559,1
    - Dst: calloc
      Src: /src/haproxy/src/flt_spoe.c:1566,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1567,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:1571,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/flt_spoe.c:1572,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1576,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:1581,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1582,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1583,1
    - Dst: calloc
      Src: /src/haproxy/src/flt_spoe.c:1590,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1591,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:1595,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/flt_spoe.c:1596,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1600,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1606,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1611,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1613,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1617,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1621,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1624,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1630,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/flt_spoe.c:1635,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1637,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1643,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1649,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/flt_spoe.c:1654,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1656,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1658,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1664,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1665,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1673,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1674,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1679,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1680,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1685,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1686,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1697,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1703,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1707,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1713,1
    - Dst: isalnum
      Src: /src/haproxy/src/flt_spoe.c:1717,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1718,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:1725,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1727,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1728,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1732,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1733,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1737,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1741,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1747,1
    - Dst: isalnum
      Src: /src/haproxy/src/flt_spoe.c:1751,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1752,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:1759,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1761,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1765,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1771,1
    - Dst: isalnum
      Src: /src/haproxy/src/flt_spoe.c:1775,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1776,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:1783,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1785,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1789,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1795,1
    - Dst: isalnum
      Src: /src/haproxy/src/flt_spoe.c:1799,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1800,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:1807,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1810,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1816,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1818,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1825,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1827,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1834,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1836,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1841,1
    - Dst: atol
      Src: /src/haproxy/src/flt_spoe.c:1843,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1846,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1852,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1854,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1859,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1863,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1867,1
    - Dst: calloc
      Src: /src/haproxy/src/flt_spoe.c:1876,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1877,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:1881,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:1882,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1883,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/flt_spoe.c:1887,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1891,1
    - Dst: parse_logger
      Src: /src/haproxy/src/flt_spoe.c:1894,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1895,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1901,1
    CyclomaticComplexity: 160
    EdgeCount: 160
    ICount: 404
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 1908
      start: 1473
    functionDepth: 3
    functionLinenumber: 1473
    functionLinenumberEnd: 1908
    functionName: cfg_parse_spoe_agent
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - parse_logger
    - list_for_each_entry
    - strcmp
    - calloc
    - LIST_APPEND
    - isalnum
    - strdup
    - free
    - alertif_too_many_args
    - LIST_INIT
    - MS_TO_TICKS
    - invalid_char
    - atol
    - parse_time_err
    linkageType: ''
    returnType: int
    signature: cfg_parse_spoe_agent(const char *file, int linenum, char **args, int
      kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1917,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1920,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1922,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:1927,1
    - Dst: invalid_char
      Src: /src/haproxy/src/flt_spoe.c:1932,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1934,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:1940,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1941,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1942,1
    - Dst: calloc
      Src: /src/haproxy/src/flt_spoe.c:1950,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1951,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:1956,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:1957,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:1959,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:1960,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/flt_spoe.c:1961,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1963,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:1968,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:1969,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1970,1
    - Dst: calloc
      Src: /src/haproxy/src/flt_spoe.c:1977,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1978,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:1982,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/flt_spoe.c:1983,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:1988,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 1995
      start: 1909
    functionDepth: 3
    functionLinenumber: 1909
    functionLinenumberEnd: 1995
    functionName: cfg_parse_spoe_group
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - list_for_each_entry
    - strcmp
    - calloc
    - LIST_APPEND
    - strdup
    - alertif_too_many_args
    - LIST_INIT
    - invalid_char
    linkageType: ''
    returnType: int
    signature: cfg_parse_spoe_group(const char *file, int linenum, char **args, int
      kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2007,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2010,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:2012,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/flt_spoe.c:2017,1
    - Dst: invalid_char
      Src: /src/haproxy/src/flt_spoe.c:2022,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:2024,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:2030,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2031,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:2032,1
    - Dst: calloc
      Src: /src/haproxy/src/flt_spoe.c:2040,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:2041,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:2046,1
    - Dst: strlen
      Src: /src/haproxy/src/flt_spoe.c:2047,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:2049,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:2052,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:2053,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:2054,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:2055,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/flt_spoe.c:2056,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2058,1
    - Dst: calloc
      Src: /src/haproxy/src/flt_spoe.c:2068,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:2069,1
    - Dst: my_strndup
      Src: /src/haproxy/src/flt_spoe.c:2080,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/flt_spoe.c:2084,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:2088,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:2090,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:2091,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/flt_spoe.c:2095,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2101,1
    - Dst: invalid_char
      Src: /src/haproxy/src/flt_spoe.c:2102,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:2104,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/flt_spoe.c:2109,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:2110,1
    - Dst: parse_acl
      Src: /src/haproxy/src/flt_spoe.c:2116,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:2117,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2123,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:2125,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2132,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2134,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2137,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2139,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2141,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2144,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2146,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2148,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:2151,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2157,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2157,1
    - Dst: build_acl_cond
      Src: /src/haproxy/src/flt_spoe.c:2160,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:2164,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:2173,1
    - Dst: ha_alert
      Src: /src/haproxy/src/flt_spoe.c:2181,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:2187,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 161
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 2189
      start: 1997
    functionDepth: 6
    functionLinenumber: 1997
    functionLinenumberEnd: 2189
    functionName: cfg_parse_spoe_message
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - build_acl_cond
    - strcasecmp
    - list_for_each_entry
    - strcmp
    - calloc
    - strlen
    - LIST_APPEND
    - strdup
    - sample_parse_expr
    - alertif_too_many_args
    - free
    - LIST_INIT
    - parse_acl
    - invalid_char
    - my_strndup
    linkageType: ''
    returnType: int
    signature: cfg_parse_spoe_message(const char *file, int linenum, char **args,
      int kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:2206,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:2207,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:2208,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:2209,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:2210,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:2211,1
    - Dst: calloc
      Src: /src/haproxy/src/flt_spoe.c:2215,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2217,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2223,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2225,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2232,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2234,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2242,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2247,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:2252,1
    - Dst: cfg_backup_sections
      Src: /src/haproxy/src/flt_spoe.c:2253,1
    - Dst: cfg_register_section
      Src: /src/haproxy/src/flt_spoe.c:2254,1
    - Dst: cfg_register_section
      Src: /src/haproxy/src/flt_spoe.c:2255,1
    - Dst: cfg_register_section
      Src: /src/haproxy/src/flt_spoe.c:2256,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/flt_spoe.c:2259,1
    - Dst: load_cfg_in_mem
      Src: /src/haproxy/src/flt_spoe.c:2270,1
    - Dst: parse_cfg
      Src: /src/haproxy/src/flt_spoe.c:2274,1
    - Dst: ha_free
      Src: /src/haproxy/src/flt_spoe.c:2275,1
    - Dst: cfg_unregister_sections
      Src: /src/haproxy/src/flt_spoe.c:2278,1
    - Dst: cfg_restore_sections
      Src: /src/haproxy/src/flt_spoe.c:2279,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2282,1
    - Dst: strerror
      Src: /src/haproxy/src/flt_spoe.c:2283,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2287,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2293,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2297,1
    - Dst: ha_warning
      Src: /src/haproxy/src/flt_spoe.c:2302,1
    - Dst: isalnum
      Src: /src/haproxy/src/flt_spoe.c:2311,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2312,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:2319,1
    - Dst: snprintf
      Src: /src/haproxy/src/flt_spoe.c:2325,1
    - Dst: vars_check_arg
      Src: /src/haproxy/src/flt_spoe.c:2332,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2333,1
    - Dst: snprintf
      Src: /src/haproxy/src/flt_spoe.c:2342,1
    - Dst: vars_check_arg
      Src: /src/haproxy/src/flt_spoe.c:2349,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2350,1
    - Dst: snprintf
      Src: /src/haproxy/src/flt_spoe.c:2359,1
    - Dst: vars_check_arg
      Src: /src/haproxy/src/flt_spoe.c:2366,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2367,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/flt_spoe.c:2373,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/flt_spoe.c:2373,1
    - Dst: ha_warning
      Src: /src/haproxy/src/flt_spoe.c:2374,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:2381,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:2382,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2386,1
    - Dst: ha_warning
      Src: /src/haproxy/src/flt_spoe.c:2396,1
    - Dst: ha_warning
      Src: /src/haproxy/src/flt_spoe.c:2401,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:2456,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2458,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/flt_spoe.c:2462,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/flt_spoe.c:2463,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/flt_spoe.c:2469,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2473,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:2482,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:2483,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2484,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:2486,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/flt_spoe.c:2487,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2491,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:2500,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:2501,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:2502,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2503,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2505,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:2517,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/flt_spoe.c:2518,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2522,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/flt_spoe.c:2535,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:2537,1
    - Dst: memset
      Src: /src/haproxy/src/flt_spoe.c:2543,1
    - Dst: setup_new_proxy
      Src: /src/haproxy/src/flt_spoe.c:2544,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2545,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:2553,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:2554,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/flt_spoe.c:2555,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:2558,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:2559,1
    - Dst: spoe_release_placeholder
      Src: /src/haproxy/src/flt_spoe.c:2560,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:2562,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:2563,1
    - Dst: spoe_release_placeholder
      Src: /src/haproxy/src/flt_spoe.c:2564,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:2566,1
    - Dst: snprintf
      Src: /src/haproxy/src/flt_spoe.c:2569,1
    - Dst: vars_check_arg
      Src: /src/haproxy/src/flt_spoe.c:2576,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2577,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:2582,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:2583,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:2584,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:2586,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:2587,1
    - Dst: spoe_release_group
      Src: /src/haproxy/src/flt_spoe.c:2588,1
    - Dst: ha_free
      Src: /src/haproxy/src/flt_spoe.c:2597,1
    - Dst: spoe_release_agent
      Src: /src/haproxy/src/flt_spoe.c:2598,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:2599,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:2600,1
    - Dst: spoe_release_placeholder
      Src: /src/haproxy/src/flt_spoe.c:2601,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:2603,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:2604,1
    - Dst: spoe_release_placeholder
      Src: /src/haproxy/src/flt_spoe.c:2605,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:2607,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:2608,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:2609,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:2610,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:2612,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:2613,1
    - Dst: spoe_release_group
      Src: /src/haproxy/src/flt_spoe.c:2614,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:2616,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:2617,1
    - Dst: spoe_release_message
      Src: /src/haproxy/src/flt_spoe.c:2618,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/flt_spoe.c:2620,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/flt_spoe.c:2621,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:2622,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:2624,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 346
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - fconf
    - err
    - private
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct flt_conf*
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 2626
      start: 2192
    functionDepth: 5
    functionLinenumber: 2192
    functionLinenumberEnd: 2626
    functionName: parse_spoe_flt
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_cfg
    - ha_free
    - ha_warning
    - cfg_restore_sections
    - LIST_DELETE
    - memset
    - isalnum
    - setup_new_proxy
    - BUG_ON
    - strerror
    - LIST_ISEMPTY
    - list_for_each_entry
    - strcmp
    - spoe_release_agent
    - free
    - spoe_release_group
    - cfg_register_section
    - cfg_backup_sections
    - snprintf
    - vars_check_arg
    - strdup
    - LIST_INIT
    - load_cfg_in_mem
    - list_for_each_entry_safe
    - cfg_unregister_sections
    - calloc
    - LIST_APPEND
    - sample_ckp_names
    - spoe_release_message
    - spoe_release_placeholder
    linkageType: ''
    returnType: int
    signature: "parse_spoe_flt(char **args, int *cur_arg, struct proxy *px,\n\t\t\t
      \ struct flt_conf *fconf, char **err, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:2642,1
    - Dst: send_log
      Src: /src/haproxy/src/flt_spoe.c:2662,1
    - Dst: spoe_process_group
      Src: /src/haproxy/src/flt_spoe.c:2667,1
    - Dst: spoe_stop_processing
      Src: /src/haproxy/src/flt_spoe.c:2673,1
    - Dst: spoe_handle_processing_error
      Src: /src/haproxy/src/flt_spoe.c:2674,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2681
      start: 2633
    functionDepth: 10
    functionLinenumber: 2633
    functionLinenumberEnd: 2681
    functionName: spoe_send_group
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - send_log
    - spoe_stop_processing
    - list_for_each_entry
    - spoe_process_group
    - spoe_handle_processing_error
    linkageType: ''
    returnType: enum act_return
    signature: "spoe_send_group(struct act_rule *rule, struct proxy *px,\n\t\t\t\t
      \      struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2715,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:2723,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2731,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2737,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:2743,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2745,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2749,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:2756,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/flt_spoe.c:2759,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2761,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/flt_spoe.c:2765,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/flt_spoe.c:2766,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:2772,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:2773,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:2781,1
    - Dst: free
      Src: /src/haproxy/src/flt_spoe.c:2782,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 3
    argNames:
    - rule
    - px
    - err
    argTypes:
    - struct act_rule*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 2784
      start: 2697
    functionDepth: 5
    functionLinenumber: 2697
    functionLinenumberEnd: 2784
    functionName: check_send_spoe_group
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - memprintf
    - list_for_each_entry
    - strcmp
    - sample_ckp_names
    - free
    linkageType: ''
    returnType: int
    signature: check_send_spoe_group(struct act_rule *rule, struct proxy *px, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2798,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_spoe.c:2798,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_spoe.c:2799,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:2802,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:2803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 2811
      start: 2794
    functionDepth: 5
    functionLinenumber: 2794
    functionLinenumberEnd: 2811
    functionName: parse_send_spoe_group
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - strdup
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_send_spoe_group(const char **args, int *orig_arg, struct proxy
      *px,\n\t\t\t\t\t\tstruct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_appctx
      Src: /src/haproxy/src/flt_spoe.c:2823,1
    - Dst: spoe_appctx_agent
      Src: /src/haproxy/src/flt_spoe.c:2827,1
    - Dst: strlen
      Src: /src/haproxy/src/flt_spoe.c:2833,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2837
      start: 2815
    functionDepth: 1
    functionLinenumber: 2815
    functionLinenumberEnd: 2837
    functionName: smp_fetch_spoe_engine_id
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - strlen
    - spoe_appctx_agent
    - sc_appctx
    linkageType: ''
    returnType: int
    signature: smp_fetch_spoe_engine_id(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/flt_spoe.c:2849,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/flt_spoe.c:2850,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_spoe.c:2852,1
    - Dst: _parse_srv_expr
      Src: /src/haproxy/src/flt_spoe.c:2857,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2866
      start: 2839
    functionDepth: 3
    functionLinenumber: 2839
    functionLinenumberEnd: 2866
    functionName: spoe_postcheck_spop_proxy
    functionSourceFile: /src/haproxy/src/flt_spoe.c
    functionUses: 0
    functionsReached:
    - release_sample_expr
    - _parse_srv_expr
    - ha_free
    - strdup
    linkageType: ''
    returnType: int
    signature: spoe_postcheck_spop_proxy(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:75,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: warnif_rule_after_tcp_conn
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: warnif_rule_after_tcp_conn(struct proxy *proxy, const char *file, int
      line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:88,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: warnif_rule_after_tcp_sess
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: warnif_rule_after_tcp_sess(struct proxy *proxy, const char *file, int
      line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:101,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: warnif_rule_after_tcp_cont
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: warnif_rule_after_tcp_cont(struct proxy *proxy, const char *file, int
      line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:114,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: warnif_rule_after_monitor
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: warnif_rule_after_monitor(struct proxy *proxy, const char *file, int
      line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:127,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: warnif_rule_after_http_req
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: warnif_rule_after_http_req(struct proxy *proxy, const char *file, int
      line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:140,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: warnif_rule_after_http_res
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: warnif_rule_after_http_res(struct proxy *proxy, const char *file, int
      line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:153,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: warnif_rule_after_redirect
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: warnif_rule_after_redirect(struct proxy *proxy, const char *file, int
      line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:166,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    functionName: warnif_rule_after_use_backend
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: warnif_rule_after_use_backend(struct proxy *proxy, const char *file,
      int line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:179,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: warnif_rule_after_use_server
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: warnif_rule_after_use_server(struct proxy *proxy, const char *file,
      int line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnif_rule_after_use_backend
      Src: /src/haproxy/src/cfgparse-listen.c:190,1
    - Dst: warnif_rule_after_use_server
      Src: /src/haproxy/src/cfgparse-listen.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: warnif_misplaced_redirect
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - warnif_rule_after_use_server
    - warnif_rule_after_use_backend
    linkageType: ''
    returnType: int
    signature: warnif_misplaced_redirect(struct proxy *proxy, const char *file, int
      line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnif_rule_after_redirect
      Src: /src/haproxy/src/cfgparse-listen.c:197,1
    - Dst: warnif_misplaced_redirect
      Src: /src/haproxy/src/cfgparse-listen.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: warnif_misplaced_http_req
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - warnif_rule_after_redirect
    - warnif_misplaced_redirect
    linkageType: ''
    returnType: int
    signature: warnif_misplaced_http_req(struct proxy *proxy, const char *file, int
      line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnif_rule_after_http_req
      Src: /src/haproxy/src/cfgparse-listen.c:204,1
    - Dst: warnif_misplaced_http_req
      Src: /src/haproxy/src/cfgparse-listen.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: warnif_misplaced_monitor
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - warnif_misplaced_http_req
    - warnif_rule_after_http_req
    linkageType: ''
    returnType: int
    signature: warnif_misplaced_monitor(struct proxy *proxy, const char *file, int
      line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnif_rule_after_monitor
      Src: /src/haproxy/src/cfgparse-listen.c:211,1
    - Dst: warnif_misplaced_monitor
      Src: /src/haproxy/src/cfgparse-listen.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 5
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: warnif_misplaced_tcp_req_cont
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - warnif_rule_after_monitor
    - warnif_misplaced_monitor
    linkageType: ''
    returnType: int
    signature: warnif_misplaced_tcp_req_cont(struct proxy *proxy, const char *file,
      int line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnif_rule_after_http_res
      Src: /src/haproxy/src/cfgparse-listen.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: warnif_misplaced_tcp_res_cont
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - warnif_rule_after_http_res
    linkageType: ''
    returnType: int
    signature: warnif_misplaced_tcp_res_cont(struct proxy *proxy, const char *file,
      int line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnif_rule_after_tcp_cont
      Src: /src/haproxy/src/cfgparse-listen.c:224,1
    - Dst: warnif_misplaced_tcp_req_cont
      Src: /src/haproxy/src/cfgparse-listen.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 6
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: warnif_misplaced_tcp_req_sess
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - warnif_misplaced_tcp_req_cont
    - warnif_rule_after_tcp_cont
    linkageType: ''
    returnType: int
    signature: warnif_misplaced_tcp_req_sess(struct proxy *proxy, const char *file,
      int line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnif_rule_after_tcp_sess
      Src: /src/haproxy/src/cfgparse-listen.c:231,1
    - Dst: warnif_misplaced_tcp_req_sess
      Src: /src/haproxy/src/cfgparse-listen.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 233
      start: 229
    functionDepth: 7
    functionLinenumber: 229
    functionLinenumberEnd: 233
    functionName: warnif_misplaced_tcp_req_conn
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - warnif_misplaced_tcp_req_sess
    - warnif_rule_after_tcp_sess
    linkageType: ''
    returnType: int
    signature: warnif_misplaced_tcp_req_conn(struct proxy *proxy, const char *file,
      int line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnif_rule_after_tcp_conn
      Src: /src/haproxy/src/cfgparse-listen.c:237,1
    - Dst: warnif_misplaced_tcp_req_conn
      Src: /src/haproxy/src/cfgparse-listen.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 5
    argNames:
    - proxy
    - file
    - line
    - arg1
    - arg2
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 8
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: warnif_misplaced_quic_init
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 1
    functionsReached:
    - warnif_misplaced_tcp_req_conn
    - warnif_rule_after_tcp_conn
    linkageType: ''
    returnType: int
    signature: warnif_misplaced_quic_init(struct proxy *proxy, const char *file, int
      line, const char *arg1, const char *arg2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:257,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:259,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:266,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:272,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:274,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 10
    argNames:
    - file
    - linenum
    - kwm
    - config_opts
    - err_code
    - args
    - mode
    - cap
    - options
    - no_options
    argTypes:
    - char*
    - int
    - int
    - struct cfg_opt[]
    - int*
    - char**
    - int
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 297
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 297
    functionName: cfg_parse_listen_match_option
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strcmp
    - alertif_too_many_args_idx
    - warnifnotcap
    linkageType: ''
    returnType: int
    signature: "cfg_parse_listen_match_option(const char *file, int linenum, int kwm,\n
      \                                 const struct cfg_opt config_opts[], int *err_code,\n
      \                                 char **args, int mode, int cap,\n                                  int
      *options, int *no_options)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_new_proxy
      Src: /src/haproxy/src/cfgparse-listen.c:314,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:318,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:324,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:326,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:328,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:330,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:340,1
    - Dst: invalid_char
      Src: /src/haproxy/src/cfgparse-listen.c:346,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:348,1
    - Dst: proxy_fe_by_name
      Src: /src/haproxy/src/cfgparse-listen.c:355,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/cfgparse-listen.c:358,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:362,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/cfgparse-listen.c:363,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse-listen.c:363,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:368,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:369,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:371,1
    - Dst: log_forward_by_name
      Src: /src/haproxy/src/cfgparse-listen.c:381,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:383,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/cfgparse-listen.c:384,1
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/cfgparse-listen.c:397,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:399,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/cfgparse-listen.c:402,1
    - Dst: proxy_unref_or_destroy_defaults
      Src: /src/haproxy/src/cfgparse-listen.c:416,1
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/cfgparse-listen.c:421,1
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/cfgparse-listen.c:423,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:427,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/cfgparse-listen.c:429,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse-listen.c:429,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:434,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:444,1
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/cfgparse-listen.c:445,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:448,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/cfgparse-listen.c:448,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:454,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/cfgparse-listen.c:455,1
    - Dst: invalid_char
      Src: /src/haproxy/src/cfgparse-listen.c:461,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:463,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:473,1
    - Dst: parse_new_proxy
      Src: /src/haproxy/src/cfgparse-listen.c:479,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:488,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:489,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:490,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:491,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:492,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:493,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:494,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:514,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:519,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:527,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:532,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:533,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:534,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:539,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:540,1
    - Dst: proxy_ref_defaults
      Src: /src/haproxy/src/cfgparse-listen.c:547,1
    - Dst: proxy_ref_defaults
      Src: /src/haproxy/src/cfgparse-listen.c:558,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:562,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:579,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:589,1
    - Dst: parse_server
      Src: /src/haproxy/src/cfgparse-listen.c:590,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:597,1
    - Dst: parse_server
      Src: /src/haproxy/src/cfgparse-listen.c:598,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:605,1
    - Dst: parse_server
      Src: /src/haproxy/src/cfgparse-listen.c:606,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:613,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:618,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:622,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:626,1
    - Dst: bind_conf_alloc
      Src: /src/haproxy/src/cfgparse-listen.c:632,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse-listen.c:632,1
    - Dst: str2listener
      Src: /src/haproxy/src/cfgparse-listen.c:645,1
    - Dst: indent_msg
      Src: /src/haproxy/src/cfgparse-listen.c:647,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:648,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:651,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse-listen.c:657,1
    - Dst: bind_parse_args_list
      Src: /src/haproxy/src/cfgparse-listen.c:663,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:666,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:667,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:671,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:672,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:675,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:679,1
    - Dst: istfree
      Src: /src/haproxy/src/cfgparse-listen.c:685,1
    - Dst: istdup
      Src: /src/haproxy/src/cfgparse-listen.c:686,1
    - Dst: ist
      Src: /src/haproxy/src/cfgparse-listen.c:686,1
    - Dst: isttest
      Src: /src/haproxy/src/cfgparse-listen.c:687,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:692,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:693,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:696,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:697,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:698,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:699,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:700,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:701,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:706,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:711,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:715,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:721,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:725,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-listen.c:731,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:736,1
    - Dst: eb32_lookup
      Src: /src/haproxy/src/cfgparse-listen.c:742,1
    - Dst: container_of
      Src: /src/haproxy/src/cfgparse-listen.c:744,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:745,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse-listen.c:746,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse-listen.c:747,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/cfgparse-listen.c:751,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:753,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:758,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:765,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-listen.c:771,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-listen.c:773,1
    - Dst: snprintf
      Src: /src/haproxy/src/cfgparse-listen.c:778,1
    - Dst: snprintf
      Src: /src/haproxy/src/cfgparse-listen.c:780,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:783,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:784,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:788,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:789,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:793,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:794,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:797,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-listen.c:798,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:799,1
    - Dst: invalid_char
      Src: /src/haproxy/src/cfgparse-listen.c:804,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:806,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/cfgparse-listen.c:812,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:813,1
    - Dst: parse_acl
      Src: /src/haproxy/src/cfgparse-listen.c:820,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:821,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:827,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:829,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:833,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:838,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:839,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:841,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:844,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:848,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-listen.c:856,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:857,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:858,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-listen.c:861,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:865,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:868,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:871,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:874,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:877,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:880,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:883,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:886,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:889,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:892,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:894,1
    - Dst: strchr
      Src: /src/haproxy/src/cfgparse-listen.c:900,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:902,1
    - Dst: invalid_domainchar
      Src: /src/haproxy/src/cfgparse-listen.c:908,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:910,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:917,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-listen.c:923,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:930,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:935,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/cfgparse-listen.c:941,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:943,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:949,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:955,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:963,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:968,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/cfgparse-listen.c:975,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:977,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:983,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:989,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:997,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:999,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1003,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1006,1
    - Dst: iscntrl
      Src: /src/haproxy/src/cfgparse-listen.c:1013,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1014,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1023,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-listen.c:1025,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1033,1
    - Dst: POWEROF2
      Src: /src/haproxy/src/cfgparse-listen.c:1040,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1041,1
    - Dst: POWEROF2
      Src: /src/haproxy/src/cfgparse-listen.c:1046,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1047,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1053,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1058,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1060,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1066,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1068,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:1073,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1074,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1078,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1080,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:1085,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1086,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1090,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1092,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:1097,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1098,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1102,1
    - Dst: get_log_level
      Src: /src/haproxy/src/cfgparse-listen.c:1103,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1105,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1111,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1113,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:1118,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1119,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1124,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1132,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1134,1
    - Dst: strncmp
      Src: /src/haproxy/src/cfgparse-listen.c:1140,1
    - Dst: strchr
      Src: /src/haproxy/src/cfgparse-listen.c:1147,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:1149,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1153,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:1159,1
    - Dst: my_strndup
      Src: /src/haproxy/src/cfgparse-listen.c:1160,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:1166,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1167,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-listen.c:1170,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1173,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1180,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1186,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1187,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1191,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:1192,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1194,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1197,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1200,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1204,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1210,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:1211,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:1213,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-listen.c:1216,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1218,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1219,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1221,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1226,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:1227,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1230,1
    - Dst: atoi
      Src: /src/haproxy/src/cfgparse-listen.c:1235,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1237,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:1238,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1241,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1243,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:1248,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1252,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:1257,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1258,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-listen.c:1261,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-listen.c:1262,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1265,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1265,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1269,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:1274,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1277,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1278,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-listen.c:1284,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1288,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-listen.c:1291,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-listen.c:1292,1
    - Dst: create_pool
      Src: /src/haproxy/src/cfgparse-listen.c:1293,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-listen.c:1297,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-listen.c:1298,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1305,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1305,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1309,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:1314,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1317,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1318,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-listen.c:1323,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1327,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-listen.c:1330,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-listen.c:1331,1
    - Dst: create_pool
      Src: /src/haproxy/src/cfgparse-listen.c:1332,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-listen.c:1336,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-listen.c:1337,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1345,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1351,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:1352,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:1355,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1359,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-listen.c:1364,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1366,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-listen.c:1370,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1371,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:1376,1
    - Dst: LIST_PREV
      Src: /src/haproxy/src/cfgparse-listen.c:1377,1
    - Dst: LIST_PREV
      Src: /src/haproxy/src/cfgparse-listen.c:1378,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:1379,1
    - Dst: parse_http_req_cond
      Src: /src/haproxy/src/cfgparse-listen.c:1384,1
    - Dst: warnif_misplaced_http_req
      Src: /src/haproxy/src/cfgparse-listen.c:1391,1
    - Dst: warnif_cond_conflicts
      Src: /src/haproxy/src/cfgparse-listen.c:1397,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse-listen.c:1399,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1401,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-listen.c:1405,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1406,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:1411,1
    - Dst: LIST_PREV
      Src: /src/haproxy/src/cfgparse-listen.c:1412,1
    - Dst: LIST_PREV
      Src: /src/haproxy/src/cfgparse-listen.c:1413,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:1414,1
    - Dst: parse_http_res_cond
      Src: /src/haproxy/src/cfgparse-listen.c:1419,1
    - Dst: warnif_cond_conflicts
      Src: /src/haproxy/src/cfgparse-listen.c:1430,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse-listen.c:1432,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1434,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-listen.c:1437,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1438,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:1443,1
    - Dst: LIST_PREV
      Src: /src/haproxy/src/cfgparse-listen.c:1444,1
    - Dst: LIST_PREV
      Src: /src/haproxy/src/cfgparse-listen.c:1445,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:1446,1
    - Dst: parse_http_after_res_cond
      Src: /src/haproxy/src/cfgparse-listen.c:1451,1
    - Dst: warnif_cond_conflicts
      Src: /src/haproxy/src/cfgparse-listen.c:1462,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse-listen.c:1464,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1466,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:1468,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1472,1
    - Dst: istfree
      Src: /src/haproxy/src/cfgparse-listen.c:1479,1
    - Dst: istdup
      Src: /src/haproxy/src/cfgparse-listen.c:1480,1
    - Dst: ist
      Src: /src/haproxy/src/cfgparse-listen.c:1480,1
    - Dst: isttest
      Src: /src/haproxy/src/cfgparse-listen.c:1481,1
    - Dst: ist2bin_lc
      Src: /src/haproxy/src/cfgparse-listen.c:1483,1
    - Dst: istptr
      Src: /src/haproxy/src/cfgparse-listen.c:1483,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1485,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1486,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1491,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1496,1
    - Dst: http_parse_redirect_rule
      Src: /src/haproxy/src/cfgparse-listen.c:1501,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1502,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse-listen.c:1503,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse-listen.c:1508,1
    - Dst: warnif_misplaced_redirect
      Src: /src/haproxy/src/cfgparse-listen.c:1509,1
    - Dst: warnif_cond_conflicts
      Src: /src/haproxy/src/cfgparse-listen.c:1515,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1517,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1521,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:1526,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1530,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1535,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1535,1
    - Dst: build_acl_cond
      Src: /src/haproxy/src/cfgparse-listen.c:1536,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1537,1
    - Dst: warnif_cond_conflicts
      Src: /src/haproxy/src/cfgparse-listen.c:1543,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1546,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-listen.c:1552,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1556,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1560,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/cfgparse-listen.c:1563,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-listen.c:1565,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-listen.c:1566,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/cfgparse-listen.c:1569,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse-listen.c:1570,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1572,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1576,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:1581,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1585,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1590,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1590,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1591,1
    - Dst: build_acl_cond
      Src: /src/haproxy/src/cfgparse-listen.c:1597,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1598,1
    - Dst: warnif_cond_conflicts
      Src: /src/haproxy/src/cfgparse-listen.c:1604,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-listen.c:1606,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1610,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1614,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/cfgparse-listen.c:1617,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-listen.c:1619,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-listen.c:1620,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/cfgparse-listen.c:1623,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse-listen.c:1624,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1627,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1628,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1632,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:1637,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1640,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1640,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1641,1
    - Dst: build_acl_cond
      Src: /src/haproxy/src/cfgparse-listen.c:1647,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1648,1
    - Dst: warnif_cond_conflicts
      Src: /src/haproxy/src/cfgparse-listen.c:1657,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-listen.c:1659,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/cfgparse-listen.c:1661,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1665,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/cfgparse-listen.c:1670,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse-listen.c:1671,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1673,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1677,1
    - Dst: stktable_find_by_name
      Src: /src/haproxy/src/cfgparse-listen.c:1683,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1685,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/cfgparse-listen.c:1687,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-listen.c:1694,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1696,1
    - Dst: parse_stick_table
      Src: /src/haproxy/src/cfgparse-listen.c:1702,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-listen.c:1705,1
    - Dst: stktable_store_name
      Src: /src/haproxy/src/cfgparse-listen.c:1712,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1722,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1730,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:1735,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1741,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1742,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1746,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1750,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1754,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1759,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1765,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/cfgparse-listen.c:1771,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1773,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1780,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/cfgparse-listen.c:1781,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:1783,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1788,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/cfgparse-listen.c:1789,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:1791,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1799,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1804,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1804,1
    - Dst: build_acl_cond
      Src: /src/haproxy/src/cfgparse-listen.c:1805,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1806,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:1809,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1814,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:1817,1
    - Dst: warnif_cond_conflicts
      Src: /src/haproxy/src/cfgparse-listen.c:1821,1
    - Dst: warnif_cond_conflicts
      Src: /src/haproxy/src/cfgparse-listen.c:1823,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-listen.c:1825,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/cfgparse-listen.c:1827,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:1833,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/cfgparse-listen.c:1834,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse-listen.c:1836,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse-listen.c:1838,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1840,1
    - Dst: stats_uri_auth_drop
      Src: /src/haproxy/src/cfgparse-listen.c:1843,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1849,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1854,1
    - Dst: stats_check_init_uri_auth
      Src: /src/haproxy/src/cfgparse-listen.c:1859,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1862,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1862,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1863,1
    - Dst: build_acl_cond
      Src: /src/haproxy/src/cfgparse-listen.c:1868,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1869,1
    - Dst: warnif_cond_conflicts
      Src: /src/haproxy/src/cfgparse-listen.c:1879,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-listen.c:1881,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/cfgparse-listen.c:1883,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/cfgparse-listen.c:1887,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse-listen.c:1888,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1889,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1891,1
    - Dst: stats_set_uri
      Src: /src/haproxy/src/cfgparse-listen.c:1894,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1896,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1898,1
    - Dst: stats_set_realm
      Src: /src/haproxy/src/cfgparse-listen.c:1901,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1903,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/cfgparse-listen.c:1906,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1908,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1914,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1920,1
    - Dst: stats_set_refresh
      Src: /src/haproxy/src/cfgparse-listen.c:1924,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1926,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1931,1
    - Dst: stats_check_init_uri_auth
      Src: /src/haproxy/src/cfgparse-listen.c:1936,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse-listen.c:1939,1
    - Dst: LIST_PREV
      Src: /src/haproxy/src/cfgparse-listen.c:1940,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:1941,1
    - Dst: parse_http_req_cond
      Src: /src/haproxy/src/cfgparse-listen.c:1946,1
    - Dst: warnif_cond_conflicts
      Src: /src/haproxy/src/cfgparse-listen.c:1957,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse-listen.c:1958,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1960,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1962,1
    - Dst: stats_add_auth
      Src: /src/haproxy/src/cfgparse-listen.c:1965,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1967,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:1969,1
    - Dst: stats_add_scope
      Src: /src/haproxy/src/cfgparse-listen.c:1972,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1974,1
    - Dst: stats_check_init_uri_auth
      Src: /src/haproxy/src/cfgparse-listen.c:1975,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1977,1
    - Dst: stats_set_flag
      Src: /src/haproxy/src/cfgparse-listen.c:1978,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1980,1
    - Dst: stats_set_flag
      Src: /src/haproxy/src/cfgparse-listen.c:1981,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1983,1
    - Dst: stats_set_flag
      Src: /src/haproxy/src/cfgparse-listen.c:1984,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:1986,1
    - Dst: isupper
      Src: /src/haproxy/src/cfgparse-listen.c:1994,1
    - Dst: islower
      Src: /src/haproxy/src/cfgparse-listen.c:1994,1
    - Dst: isdigit
      Src: /src/haproxy/src/cfgparse-listen.c:1995,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2000,1
    - Dst: stats_set_node
      Src: /src/haproxy/src/cfgparse-listen.c:2008,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2010,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-listen.c:2018,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-listen.c:2020,1
    - Dst: snprintf
      Src: /src/haproxy/src/cfgparse-listen.c:2022,1
    - Dst: snprintf
      Src: /src/haproxy/src/cfgparse-listen.c:2024,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:2028,1
    - Dst: stats_set_desc
      Src: /src/haproxy/src/cfgparse-listen.c:2031,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:2032,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:2035,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2039,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2045,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2047,1
    - Dst: cfg_parse_listen_match_option
      Src: /src/haproxy/src/cfgparse-listen.c:2054,1
    - Dst: cfg_parse_listen_match_option
      Src: /src/haproxy/src/cfgparse-listen.c:2062,1
    - Dst: cfg_parse_listen_match_option
      Src: /src/haproxy/src/cfgparse-listen.c:2070,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2082,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2083,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2088,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:2089,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2102,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:2103,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2116,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:2117,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2130,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2131,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2136,1
    - Dst: proxy_http_parse_7239
      Src: /src/haproxy/src/cfgparse-listen.c:2138,1
    - Dst: http_ext_7239_clean
      Src: /src/haproxy/src/cfgparse-listen.c:2143,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2152,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:2153,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-listen.c:2166,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2181,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2182,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2189,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2195,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2201,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2205,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:2209,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:2228,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/cfgparse-listen.c:2231,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:2233,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:2237,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2242,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2248,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2251,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:2255,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:2274,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/cfgparse-listen.c:2278,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:2280,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:2285,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2290,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:2308,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/cfgparse-listen.c:2311,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:2313,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:2317,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2322,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:2324,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:2327,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2335,1
    - Dst: proxy_parse_httpchk_opt
      Src: /src/haproxy/src/cfgparse-listen.c:2336,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2340,1
    - Dst: proxy_parse_ssl_hello_chk_opt
      Src: /src/haproxy/src/cfgparse-listen.c:2341,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2345,1
    - Dst: proxy_parse_smtpchk_opt
      Src: /src/haproxy/src/cfgparse-listen.c:2346,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2350,1
    - Dst: proxy_parse_pgsql_check_opt
      Src: /src/haproxy/src/cfgparse-listen.c:2351,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2355,1
    - Dst: proxy_parse_redis_check_opt
      Src: /src/haproxy/src/cfgparse-listen.c:2356,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2360,1
    - Dst: proxy_parse_mysql_check_opt
      Src: /src/haproxy/src/cfgparse-listen.c:2361,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2365,1
    - Dst: proxy_parse_ldap_check_opt
      Src: /src/haproxy/src/cfgparse-listen.c:2366,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2370,1
    - Dst: proxy_parse_spop_check_opt
      Src: /src/haproxy/src/cfgparse-listen.c:2371,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2375,1
    - Dst: proxy_parse_tcp_check_opt
      Src: /src/haproxy/src/cfgparse-listen.c:2376,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2380,1
    - Dst: proxy_parse_external_check_opt
      Src: /src/haproxy/src/cfgparse-listen.c:2381,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2385,1
    - Dst: proxy_http_parse_xff
      Src: /src/haproxy/src/cfgparse-listen.c:2386,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2390,1
    - Dst: proxy_http_parse_xot
      Src: /src/haproxy/src/cfgparse-listen.c:2391,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2395,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:2396,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2400,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2407,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2409,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2411,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2414,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2420,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2421,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:2424,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:2428,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:2432,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:2437,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:2441,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2467,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2469,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2476,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:2477,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2481,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:2485,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:2486,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:2490,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2493,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2493,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2494,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2499,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:2500,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2503,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:2507,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2510,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:2514,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2517,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:2520,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2523,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse-listen.c:2527,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2531,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2536,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2538,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:2543,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2546,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2548,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2548,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2549,1
    - Dst: warnif_misplaced_monitor
      Src: /src/haproxy/src/cfgparse-listen.c:2555,1
    - Dst: build_acl_cond
      Src: /src/haproxy/src/cfgparse-listen.c:2556,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2557,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse-listen.c:2562,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2565,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2571,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:2574,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2578,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:2579,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2583,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-listen.c:2587,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:2588,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2591,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:2592,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2596,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-listen.c:2600,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:2601,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2604,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:2605,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2609,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-listen.c:2613,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:2614,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2617,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2618,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2623,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2628,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:2632,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/cfgparse-listen.c:2635,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2639,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-listen.c:2644,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2650,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:2651,1
    - Dst: backend_parse_balance
      Src: /src/haproxy/src/cfgparse-listen.c:2654,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2655,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2660,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:2669,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2672,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2675,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2678,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2679,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2684,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2699,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2702,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2705,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2708,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2711,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2715,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2721,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2725,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2731,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2733,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-listen.c:2737,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2739,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2744,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2746,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2751,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/cfgparse-listen.c:2755,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:2756,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:2759,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2763,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2766,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:2770,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2772,1
    - Dst: istfree
      Src: /src/haproxy/src/cfgparse-listen.c:2777,1
    - Dst: ist
      Src: /src/haproxy/src/cfgparse-listen.c:2778,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2781,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2783,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2788,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:2805,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/cfgparse-listen.c:2808,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:2809,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:2812,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:2819,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2824,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2826,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2831,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/cfgparse-listen.c:2836,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:2837,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:2840,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:2847,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2852,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2854,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2859,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:2864,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/cfgparse-listen.c:2867,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:2868,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:2872,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:2879,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2884,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2886,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/cfgparse-listen.c:2890,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/cfgparse-listen.c:2891,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:2891,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-listen.c:2891,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-listen.c:2891,1
    - Dst: b_orig
      Src: /src/haproxy/src/cfgparse-listen.c:2892,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/cfgparse-listen.c:2893,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2894,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2899,1
    - Dst: parse_logger
      Src: /src/haproxy/src/cfgparse-listen.c:2900,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2901,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2906,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/cfgparse-listen.c:2911,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2915,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-listen.c:2923,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/cfgparse-listen.c:2926,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2930,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2941,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2944,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2950,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:2953,1
    - Dst: strncmp
      Src: /src/haproxy/src/cfgparse-listen.c:2956,1
    - Dst: isspace
      Src: /src/haproxy/src/cfgparse-listen.c:2960,1
    - Dst: isspace
      Src: /src/haproxy/src/cfgparse-listen.c:2964,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:2969,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-listen.c:2970,1
    - Dst: memcpy
      Src: /src/haproxy/src/cfgparse-listen.c:2974,1
    - Dst: isspace
      Src: /src/haproxy/src/cfgparse-listen.c:2979,1
    - Dst: isdigit
      Src: /src/haproxy/src/cfgparse-listen.c:2986,1
    - Dst: strl2ic
      Src: /src/haproxy/src/cfgparse-listen.c:2988,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:2992,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/cfgparse-listen.c:3001,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3005,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3016,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3025,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3028,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-listen.c:3033,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-listen.c:3034,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-listen.c:3037,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3040,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3048,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3054,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3055,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3060,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3060,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3061,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3067,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3068,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3073,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3074,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3079,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3080,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3084,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3085,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3090,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3091,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3096,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3097,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3102,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3103,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3108,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3109,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3114,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3115,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3119,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3120,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3125,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3126,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3131,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3132,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3137,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3137,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3138,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3143,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3144,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3149,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3150,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3155,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3156,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3161,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3162,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3167,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3168,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3173,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3174,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse-listen.c:3184,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-listen.c:3188,1
    - Dst: check_kw_experimental
      Src: /src/haproxy/src/cfgparse-listen.c:3189,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3190,1
    - Dst: parse
      Src: /src/haproxy/src/cfgparse-listen.c:3196,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3198,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-listen.c:3203,1
    - Dst: cfg_find_best_match
      Src: /src/haproxy/src/cfgparse-listen.c:3212,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3214,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-listen.c:3216,1
    CyclomaticComplexity: 953
    EdgeCount: 953
    ICount: 2523
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 3219
      start: 299
    functionDepth: 7
    functionLinenumber: 299
    functionLinenumberEnd: 3219
    functionName: cfg_parse_listen
    functionSourceFile: /src/haproxy/src/cfgparse-listen.c
    functionUses: 0
    functionsReached:
    - warnif_cond_conflicts
    - atoi
    - isttest
    - warnif_misplaced_monitor
    - ist
    - cfg_parse_listen_match_option
    - parse_new_proxy
    - LIST_ISEMPTY
    - parse_http_after_res_cond
    - stktable_find_by_name
    - proxy_parse_external_check_opt
    - proxy_parse_tcp_check_opt
    - atol
    - indent_msg
    - parse
    - strlen
    - log_forward_by_name
    - strchr
    - stats_set_refresh
    - xprt_get
    - parse_http_res_cond
    - isspace
    - build_acl_cond
    - proxy_parse_mysql_check_opt
    - proxy_unref_or_destroy_defaults
    - ha_alert
    - memprintf
    - parse_stick_table
    - strncmp
    - ha_free
    - ha_warning
    - islower
    - POWEROF2
    - parse_http_req_cond
    - check_kw_experimental
    - bind_conf_alloc
    - alloc_new_proxy
    - b_orig
    - stats_check_init_uri_auth
    - http_ext_7239_clean
    - list_for_each_entry
    - cfg_find_best_match
    - alertif_too_many_args
    - get_log_level
    - warnif_misplaced_redirect
    - bind_parse_args_list
    - http_parse_redirect_rule
    - warnif_misplaced_http_req
    - str2sa_range
    - snprintf
    - proxy_fe_by_name
    - proxy_parse_httpchk_opt
    - LIST_INIT
    - proxy_http_parse_xot
    - stats_uri_auth_drop
    - proxy_http_parse_xff
    - LIST_APPEND
    - create_pool
    - ist2bin_lc
    - invalid_char
    - isdigit
    - chunk_destroy
    - proxy_ref_defaults
    - proxy_parse_ssl_hello_chk_opt
    - istfree
    - backend_parse_balance
    - strcmp
    - free_acl_cond
    - stats_set_flag
    - free
    - proxy_http_parse_7239
    - stats_set_node
    - sample_src_names
    - proxy_parse_spop_check_opt
    - strdup
    - sample_parse_expr
    - proxy_type_str
    - isupper
    - container_of
    - strcasecmp
    - parse_logger
    - proxy_parse_smtpchk_opt
    - istdup
    - LIST_PREV
    - stats_set_realm
    - istptr
    - parse_acl
    - parse_time_err
    - memcpy
    - proxy_be_by_name
    - proxy_parse_redis_check_opt
    - eb32_insert
    - stats_set_uri
    - eb32_lookup
    - stats_set_desc
    - warnifnotcap
    - chunk_initlen
    - proxy_find_by_name
    - lf_expr_deinit
    - proxy_cap_str
    - parse_server
    - str2listener
    - strl2ic
    - stats_add_scope
    - calloc
    - invalid_domainchar
    - alertif_too_many_args_idx
    - proxy_parse_ldap_check_opt
    - stktable_store_name
    - proxy_parse_pgsql_check_opt
    - stats_add_auth
    - iscntrl
    - my_strndup
    linkageType: ''
    returnType: int
    signature: cfg_parse_listen(const char *file, int linenum, char **args, int kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_setall
      Src: /src/haproxy/src/stconn.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - sedesc
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: sedesc_init
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - se_fl_setall
    linkageType: ''
    returnType: void
    signature: sedesc_init(struct sedesc *sedesc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/stconn.c:118,1
    - Dst: unlikely
      Src: /src/haproxy/src/stconn.c:119,1
    - Dst: sedesc_init
      Src: /src/haproxy/src/stconn.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: sedesc_new
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 4
    functionsReached:
    - unlikely
    - sedesc_init
    - pool_alloc
    linkageType: ''
    returnType: struct sedesc
    signature: '*sedesc_new()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: put_pipe
      Src: /src/haproxy/src/stconn.c:133,1
    - Dst: pool_free
      Src: /src/haproxy/src/stconn.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sedesc
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: sedesc_free
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 4
    functionsReached:
    - put_pipe
    - pool_free
    linkageType: ''
    returnType: void
    signature: sedesc_free(struct sedesc *sedesc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_test
      Src: /src/haproxy/src/stconn.c:149,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/stconn.c:150,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/stconn.c:153,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/stconn.c:156,1
    - Dst: se_opposite
      Src: /src/haproxy/src/stconn.c:161,1
    - Dst: struct mux_ops*::shut
      Src: /src/haproxy/src/stconn.c:164,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/stconn.c:166,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/stconn.c:169,1
    - Dst: se_opposite
      Src: /src/haproxy/src/stconn.c:174,1
    - Dst: struct appctx*::applet::shut
      Src: /src/haproxy/src/stconn.c:177,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/stconn.c:179,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/stconn.c:182,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/stconn.c:182,1
    - Dst: appctx_shut
      Src: /src/haproxy/src/stconn.c:183,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - sedesc
    - mode
    argTypes:
    - struct sedesc*
    - enum se_shut_mode
    constantsTouched: []
    func_position:
      end: 185
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 185
    functionName: se_shutdown
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - struct appctx*::applet::shut
    - struct mux_ops*::shut
    - se_fl_test
    - se_fl_set
    - appctx_shut
    - se_report_term_evt
    - se_opposite
    linkageType: ''
    returnType: void
    signature: se_shutdown(struct sedesc *sedesc, enum se_shut_mode mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/stconn.c:196,1
    - Dst: unlikely
      Src: /src/haproxy/src/stconn.c:198,1
    - Dst: sedesc_new
      Src: /src/haproxy/src/stconn.c:217,1
    - Dst: unlikely
      Src: /src/haproxy/src/stconn.c:218,1
    - Dst: pool_free
      Src: /src/haproxy/src/stconn.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - sedesc
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 229
      start: 192
    functionDepth: 3
    functionLinenumber: 192
    functionLinenumberEnd: 229
    functionName: sc_new
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 6
    functionsReached:
    - sedesc_new
    - unlikely
    - pool_free
    - pool_alloc
    linkageType: ''
    returnType: struct stconn
    signature: '*sc_new(struct sedesc *sedesc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_new
      Src: /src/haproxy/src/stconn.c:239,1
    - Dst: unlikely
      Src: /src/haproxy/src/stconn.c:240,1
    - Dst: unlikely
      Src: /src/haproxy/src/stconn.c:242,1
    - Dst: stream_new
      Src: /src/haproxy/src/stconn.c:242,1
    - Dst: sedesc_free
      Src: /src/haproxy/src/stconn.c:246,1
    - Dst: pool_free
      Src: /src/haproxy/src/stconn.c:248,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/stconn.c:249,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/stconn.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - sd
    - sess
    - input
    argTypes:
    - struct sedesc*
    - struct session*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 254
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 254
    functionName: sc_new_from_endp
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 4
    functionsReached:
    - stream_new
    - se_fl_clr
    - pool_free
    - sc_new
    - sedesc_free
    - se_fl_set
    - unlikely
    linkageType: ''
    returnType: struct stconn
    signature: '*sc_new_from_endp(struct sedesc *sd, struct session *sess, struct
      buffer *input)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_new
      Src: /src/haproxy/src/stconn.c:264,1
    - Dst: unlikely
      Src: /src/haproxy/src/stconn.c:265,1
    - Dst: sc_ep_set
      Src: /src/haproxy/src/stconn.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - strm
    - flags
    argTypes:
    - struct stream*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: sc_new_from_strm
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_new
    - unlikely
    - sc_ep_set
    linkageType: ''
    returnType: struct stconn
    signature: '*sc_new_from_strm(struct stream *strm, unsigned int flags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_new
      Src: /src/haproxy/src/stconn.c:282,1
    - Dst: unlikely
      Src: /src/haproxy/src/stconn.c:283,1
    - Dst: sc_ep_set
      Src: /src/haproxy/src/stconn.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - check
    - flags
    argTypes:
    - struct check*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 290
      start: 278
    functionDepth: 4
    functionLinenumber: 278
    functionLinenumberEnd: 290
    functionName: sc_new_from_check
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_new
    - unlikely
    - sc_ep_set
    linkageType: ''
    returnType: struct stconn
    signature: '*sc_new_from_check(struct check *check, unsigned int flags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_free
      Src: /src/haproxy/src/stconn.c:297,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/stconn.c:298,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:300,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:300,1
    - Dst: sedesc_free
      Src: /src/haproxy/src/stconn.c:301,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/stconn.c:303,1
    - Dst: pool_free
      Src: /src/haproxy/src/stconn.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 305
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 305
    functionName: sc_free
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 6
    functionsReached:
    - sockaddr_free
    - tasklet_free
    - pool_free
    - sedesc_free
    - sc_ep_test
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: sc_free(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:315,1
    - Dst: sc_free
      Src: /src/haproxy/src/stconn.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - scp
    argTypes:
    - struct stconn**
    constantsTouched: []
    func_position:
      end: 319
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 319
    functionName: sc_free_cond
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_free
    - sc_ep_test
    linkageType: ''
    returnType: void
    signature: sc_free_cond(struct stconn **scp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_strm
      Src: /src/haproxy/src/stconn.c:331,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/stconn.c:333,1
    - Dst: xref_create
      Src: /src/haproxy/src/stconn.c:342,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:342,1
    - Dst: sc_check
      Src: /src/haproxy/src/stconn.c:344,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/stconn.c:346,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/stconn.c:359,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/stconn.c:360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - sc
    - sd
    - ctx
    argTypes:
    - struct stconn*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 364
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 364
    functionName: sc_attach_mux
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 6
    functionsReached:
    - sc_opposite
    - se_fl_clr
    - sc_strm
    - xref_create
    - se_fl_set
    - sc_check
    - tasklet_new
    linkageType: ''
    returnType: int
    signature: sc_attach_mux(struct stconn *sc, void *sd, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_set
      Src: /src/haproxy/src/stconn.c:374,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/stconn.c:375,1
    - Dst: sc_strm
      Src: /src/haproxy/src/stconn.c:376,1
    - Dst: xref_create
      Src: /src/haproxy/src/stconn.c:378,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sc
    - appctx
    argTypes:
    - struct stconn*
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 382
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 382
    functionName: sc_attach_applet
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_opposite
    - sc_ep_clr
    - sc_strm
    - xref_create
    - sc_ep_set
    linkageType: ''
    returnType: int
    signature: sc_attach_applet(struct stconn *sc, struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/stconn.c:392,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/stconn.c:393,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:394,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/stconn.c:395,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - sc
    - strm
    argTypes:
    - struct stconn*
    - struct stream*
    constantsTouched: []
    func_position:
      end: 411
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 411
    functionName: sc_attach_strm
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_ep_report_read_activity
    - tasklet_new
    - sc_ep_test
    - sc_ep_clr
    linkageType: ''
    returnType: int
    signature: sc_attach_strm(struct stconn *sc, struct stream *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xref_get_peer_and_lock
      Src: /src/haproxy/src/stconn.c:430,1
    - Dst: xref_disconnect
      Src: /src/haproxy/src/stconn.c:432,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:434,1
    - Dst: __sc_conn
      Src: /src/haproxy/src/stconn.c:435,1
    - Dst: struct connection*::mux::unsubscribe
      Src: /src/haproxy/src/stconn.c:440,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/stconn.c:441,1
    - Dst: struct connection*::mux::detach
      Src: /src/haproxy/src/stconn.c:444,1
    - Dst: conn_stop_tracking
      Src: /src/haproxy/src/stconn.c:450,1
    - Dst: conn_full_close
      Src: /src/haproxy/src/stconn.c:451,1
    - Dst: struct connection*::destroy_cb
      Src: /src/haproxy/src/stconn.c:453,1
    - Dst: conn_free
      Src: /src/haproxy/src/stconn.c:454,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:457,1
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stconn.c:458,1
    - Dst: sc_ep_set
      Src: /src/haproxy/src/stconn.c:460,1
    - Dst: se_shutdown
      Src: /src/haproxy/src/stconn.c:463,1
    - Dst: appctx_free
      Src: /src/haproxy/src/stconn.c:464,1
    - Dst: sc_ep_set
      Src: /src/haproxy/src/stconn.c:472,1
    - Dst: sc_strm
      Src: /src/haproxy/src/stconn.c:479,1
    - Dst: sc_free_cond
      Src: /src/haproxy/src/stconn.c:483,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - scp
    argTypes:
    - struct stconn**
    constantsTouched: []
    func_position:
      end: 484
      start: 420
    functionDepth: 5
    functionLinenumber: 420
    functionLinenumberEnd: 484
    functionName: sc_detach_endp
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - conn_full_close
    - conn_free
    - __sc_appctx
    - xref_get_peer_and_lock
    - sc_free_cond
    - struct connection*::destroy_cb
    - xref_disconnect
    - sc_strm
    - conn_stop_tracking
    - struct connection*::mux::detach
    - se_fl_set
    - sc_ep_test
    - __sc_conn
    - struct connection*::mux::unsubscribe
    - sc_ep_set
    - appctx_free
    - se_shutdown
    linkageType: ''
    returnType: void
    signature: sc_detach_endp(struct stconn **scp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_free
      Src: /src/haproxy/src/stconn.c:498,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/stconn.c:499,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/stconn.c:501,1
    - Dst: sc_free_cond
      Src: /src/haproxy/src/stconn.c:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - scp
    argTypes:
    - struct stconn**
    constantsTouched: []
    func_position:
      end: 505
      start: 489
    functionDepth: 5
    functionLinenumber: 489
    functionLinenumberEnd: 505
    functionName: sc_detach_app
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sockaddr_free
    - tasklet_free
    - sc_free_cond
    linkageType: ''
    returnType: void
    signature: sc_detach_app(struct stconn **scp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_detach_endp
      Src: /src/haproxy/src/stconn.c:512,1
    - Dst: sc_detach_app
      Src: /src/haproxy/src/stconn.c:513,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/stconn.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 515
      start: 510
    functionDepth: 6
    functionLinenumber: 510
    functionLinenumberEnd: 515
    functionName: sc_destroy
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_detach_endp
    - sc_detach_app
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: sc_destroy(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:525,1
    - Dst: __sc_endp
      Src: /src/haproxy/src/stconn.c:527,1
    - Dst: sc_detach_endp
      Src: /src/haproxy/src/stconn.c:533,1
    - Dst: sedesc_new
      Src: /src/haproxy/src/stconn.c:539,1
    - Dst: unlikely
      Src: /src/haproxy/src/stconn.c:540,1
    - Dst: sc_detach_endp
      Src: /src/haproxy/src/stconn.c:544,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:545,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:546,1
    - Dst: sc_ep_set
      Src: /src/haproxy/src/stconn.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 551
      start: 521
    functionDepth: 6
    functionLinenumber: 521
    functionLinenumberEnd: 551
    functionName: sc_reset_endp
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 3
    functionsReached:
    - sc_detach_endp
    - sedesc_new
    - __sc_endp
    - unlikely
    - BUG_ON
    - sc_ep_set
    linkageType: ''
    returnType: int
    signature: sc_reset_endp(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_new_here
      Src: /src/haproxy/src/stconn.c:564,1
    - Dst: sc_attach_applet
      Src: /src/haproxy/src/stconn.c:567,1
    - Dst: appctx_free_on_early_error
      Src: /src/haproxy/src/stconn.c:568,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:571,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/stconn.c:572,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/stconn.c:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - sc
    - app
    argTypes:
    - struct stconn*
    - struct applet*
    constantsTouched: []
    func_position:
      end: 577
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 577
    functionName: sc_applet_create
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 1
    functionsReached:
    - appctx_wakeup
    - sc_attach_applet
    - applet_need_more_data
    - __sc_strm
    - appctx_free_on_early_error
    - appctx_new_here
    linkageType: ''
    returnType: struct appctx
    signature: '*sc_applet_create(struct stconn *sc, struct applet *app)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:590,1
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:590,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:590,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:590,1
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:590,1
    - Dst: sc_schedule_shutdown
      Src: /src/haproxy/src/stconn.c:595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 601
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 601
    functionName: sc_cond_forward_shut
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_opposite
    - sc_ic
    - co_data
    - sc_ep_have_ff_data
    - sc_schedule_shutdown
    linkageType: ''
    returnType: int
    signature: sc_cond_forward_shut(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:607,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:608,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:608,1
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 610
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 610
    functionName: sc_is_fastfwd_supported
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_ic
    - sc_ep_test
    - sc_opposite
    linkageType: ''
    returnType: int
    signature: sc_is_fastfwd_supported(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:620,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stconn.c:628,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:634,1
    - Dst: sc_cond_forward_shut
      Src: /src/haproxy/src/stconn.c:636,1
    - Dst: sc_app_shut
      Src: /src/haproxy/src/stconn.c:637,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/stconn.c:641,1
    - Dst: sc_strm_task
      Src: /src/haproxy/src/stconn.c:641,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 642
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 642
    functionName: sc_app_abort
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_strm_task
    - sc_ic
    - sc_state_in
    - task_wakeup
    - sc_cond_forward_shut
    - sc_app_shut
    - __sc_strm
    linkageType: ''
    returnType: void
    signature: sc_app_abort(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:653,1
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:654,1
    - Dst: sc_set_hcto
      Src: /src/haproxy/src/stconn.c:661,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:692,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/stconn.c:696,1
    - Dst: sc_strm_task
      Src: /src/haproxy/src/stconn.c:696,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 697
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 697
    functionName: sc_app_shut
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 1
    functionsReached:
    - __sc_strm
    - sc_strm_task
    - sc_ic
    - task_wakeup
    - sc_set_hcto
    - sc_oc
    linkageType: ''
    returnType: void
    signature: sc_app_shut(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:702,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:702,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/stconn.c:704,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/stconn.c:709,1
    - Dst: sc_strm_task
      Src: /src/haproxy/src/stconn.c:709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 711
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 711
    functionName: sc_app_chk_rcv
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_strm_task
    - sc_opposite
    - task_wakeup
    - sc_ep_have_ff_data
    - sc_need_room
    linkageType: ''
    returnType: void
    signature: sc_app_chk_rcv(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:716,1
    - Dst: unlikely
      Src: /src/haproxy/src/stconn.c:718,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:721,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:722,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:722,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/stconn.c:728,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/stconn.c:730,1
    - Dst: sc_strm_task
      Src: /src/haproxy/src/stconn.c:730,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 731
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 731
    functionName: sc_app_chk_snd
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_strm_task
    - sc_ep_clr
    - co_data
    - task_wakeup
    - sc_ep_have_ff_data
    - sc_ep_test
    - unlikely
    - sc_oc
    linkageType: ''
    returnType: void
    signature: sc_app_chk_snd(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:745,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:747,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stconn.c:747,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stconn.c:754,1
    - Dst: se_shutdown
      Src: /src/haproxy/src/stconn.c:758,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:761,1
    - Dst: sc_cond_forward_shut
      Src: /src/haproxy/src/stconn.c:763,1
    - Dst: sc_app_shut_conn
      Src: /src/haproxy/src/stconn.c:764,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 765
      start: 743
    functionDepth: 3
    functionLinenumber: 743
    functionLinenumberEnd: 765
    functionName: sc_app_abort_conn
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_ic
    - sc_state_in
    - sc_cond_forward_shut
    - sc_conn
    - __sc_strm
    - BUG_ON
    - sc_app_shut_conn
    - se_shutdown
    linkageType: ''
    returnType: void
    signature: sc_app_abort_conn(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:777,1
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:778,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:780,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stconn.c:780,1
    - Dst: sc_set_hcto
      Src: /src/haproxy/src/stconn.c:787,1
    - Dst: sc_report_term_evt
      Src: /src/haproxy/src/stconn.c:788,1
    - Dst: se_shutdown
      Src: /src/haproxy/src/stconn.c:801,1
    - Dst: se_shutdown
      Src: /src/haproxy/src/stconn.c:805,1
    - Dst: se_shutdown
      Src: /src/haproxy/src/stconn.c:813,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:828,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 829
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 829
    functionName: sc_app_shut_conn
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 1
    functionsReached:
    - __sc_strm
    - sc_ic
    - se_shutdown
    - sc_report_term_evt
    - sc_set_hcto
    - sc_oc
    - BUG_ON
    - sc_conn
    linkageType: ''
    returnType: void
    signature: sc_app_shut_conn(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:839,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stconn.c:839,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stconn.c:842,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/stconn.c:843,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 844
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 844
    functionName: sc_app_chk_rcv_conn
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_state_in
    - BUG_ON
    - tasklet_wakeup
    - sc_conn
    linkageType: ''
    returnType: void
    signature: sc_app_chk_rcv_conn(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:854,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:856,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stconn.c:856,1
    - Dst: unlikely
      Src: /src/haproxy/src/stconn.c:858,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stconn.c:858,1
    - Dst: unlikely
      Src: /src/haproxy/src/stconn.c:862,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:862,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:862,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:865,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:866,1
    - Dst: sc_conn_send
      Src: /src/haproxy/src/stconn.c:870,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:872,1
    - Dst: sc_is_conn_error
      Src: /src/haproxy/src/stconn.c:872,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:874,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:874,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:881,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:881,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stconn.c:889,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/stconn.c:890,1
    - Dst: sc_ep_set
      Src: /src/haproxy/src/stconn.c:895,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/stconn.c:901,1
    - Dst: likely
      Src: /src/haproxy/src/stconn.c:907,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:910,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stconn.c:911,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/stconn.c:914,1
    - Dst: sc_strm_task
      Src: /src/haproxy/src/stconn.c:914,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 32
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 916
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 916
    functionName: sc_app_chk_snd_conn
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_strm_task
    - sc_ep_clr
    - sc_state_in
    - co_data
    - sc_conn_send
    - sc_ep_have_ff_data
    - task_wakeup
    - sc_is_conn_error
    - sc_shutdown
    - likely
    - sc_ep_test
    - unlikely
    - sc_oc
    - BUG_ON
    - sc_ep_set
    - sc_conn
    linkageType: ''
    returnType: void
    signature: sc_app_chk_snd_conn(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:928,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:930,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/stconn.c:930,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stconn.c:939,1
    - Dst: se_shutdown
      Src: /src/haproxy/src/stconn.c:943,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:946,1
    - Dst: sc_cond_forward_shut
      Src: /src/haproxy/src/stconn.c:948,1
    - Dst: sc_app_shut_applet
      Src: /src/haproxy/src/stconn.c:949,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 950
      start: 926
    functionDepth: 3
    functionLinenumber: 926
    functionLinenumberEnd: 950
    functionName: sc_app_abort_applet
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_ic
    - sc_state_in
    - sc_cond_forward_shut
    - sc_appctx
    - sc_app_shut_applet
    - __sc_strm
    - BUG_ON
    - se_shutdown
    linkageType: ''
    returnType: void
    signature: sc_app_abort_applet(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:961,1
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:962,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:964,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/stconn.c:964,1
    - Dst: sc_set_hcto
      Src: /src/haproxy/src/stconn.c:971,1
    - Dst: sc_report_term_evt
      Src: /src/haproxy/src/stconn.c:972,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/stconn.c:975,1
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stconn.c:975,1
    - Dst: se_shutdown
      Src: /src/haproxy/src/stconn.c:989,1
    - Dst: se_shutdown
      Src: /src/haproxy/src/stconn.c:993,1
    - Dst: se_shutdown
      Src: /src/haproxy/src/stconn.c:1002,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1012,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1013
      start: 959
    functionDepth: 3
    functionLinenumber: 959
    functionLinenumberEnd: 1013
    functionName: sc_app_shut_applet
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 1
    functionsReached:
    - appctx_wakeup
    - __sc_strm
    - __sc_appctx
    - sc_ic
    - sc_appctx
    - sc_report_term_evt
    - sc_set_hcto
    - sc_oc
    - BUG_ON
    - se_shutdown
    linkageType: ''
    returnType: void
    signature: sc_app_shut_applet(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:1018,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/stconn.c:1018,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:1020,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:1020,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/stconn.c:1022,1
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stconn.c:1022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1024
      start: 1016
    functionDepth: 1
    functionLinenumber: 1016
    functionLinenumberEnd: 1024
    functionName: sc_app_chk_rcv_applet
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    - __sc_appctx
    - sc_opposite
    - sc_ep_have_ff_data
    - sc_appctx
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: sc_app_chk_rcv_applet(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:1029,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:1031,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/stconn.c:1031,1
    - Dst: unlikely
      Src: /src/haproxy/src/stconn.c:1033,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1037,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1040,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:1040,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/stconn.c:1042,1
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stconn.c:1042,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1044
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1044
    functionName: sc_app_chk_snd_applet
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    - __sc_appctx
    - co_data
    - sc_ep_have_ff_data
    - sc_appctx
    - sc_ep_test
    - unlikely
    - sc_oc
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: sc_app_chk_snd_applet(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:1058,1
    - Dst: channel_recv_max
      Src: /src/haproxy/src/stconn.c:1067,1
    - Dst: sc_have_room
      Src: /src/haproxy/src/stconn.c:1068,1
    - Dst: sc_wont_read
      Src: /src/haproxy/src/stconn.c:1072,1
    - Dst: sc_will_read
      Src: /src/haproxy/src/stconn.c:1074,1
    - Dst: sc_chk_rcv
      Src: /src/haproxy/src/stconn.c:1076,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1077
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1077
    functionName: sc_update_rx
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - channel_recv_max
    - sc_have_room
    - sc_chk_rcv
    - sc_ic
    - sc_wont_read
    - sc_will_read
    linkageType: ''
    returnType: void
    signature: sc_update_rx(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:1090,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1096,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1098,1
    - Dst: sc_ep_set
      Src: /src/haproxy/src/stconn.c:1100,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/stconn.c:1106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1107
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1107
    functionName: sc_update_tx
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_ep_clr
    - co_data
    - sc_ep_test
    - sc_ep_set
    - sc_oc
    linkageType: ''
    returnType: void
    signature: sc_update_tx(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:1122,1
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:1123,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:1124,1
    - Dst: sc_strm_task
      Src: /src/haproxy/src/stconn.c:1125,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1128,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:1128,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stconn.c:1129,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/stconn.c:1133,1
    - Dst: sc_ep_set
      Src: /src/haproxy/src/stconn.c:1140,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/stconn.c:1142,1
    - Dst: sc_wont_read
      Src: /src/haproxy/src/stconn.c:1145,1
    - Dst: sc_will_read
      Src: /src/haproxy/src/stconn.c:1147,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:1161,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:1161,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1162,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1162,1
    - Dst: HAS_DATA_FILTERS
      Src: /src/haproxy/src/stconn.c:1163,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1163,1
    - Dst: channel_input_data
      Src: /src/haproxy/src/stconn.c:1163,1
    - Dst: channel_full
      Src: /src/haproxy/src/stconn.c:1164,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1164,1
    - Dst: channel_input_data
      Src: /src/haproxy/src/stconn.c:1164,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1167,1
    - Dst: sc_ep_ff_data
      Src: /src/haproxy/src/stconn.c:1167,1
    - Dst: sc_chk_snd
      Src: /src/haproxy/src/stconn.c:1168,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1169,1
    - Dst: sc_ep_ff_data
      Src: /src/haproxy/src/stconn.c:1169,1
    - Dst: channel_recv_max
      Src: /src/haproxy/src/stconn.c:1174,1
    - Dst: sc_have_room
      Src: /src/haproxy/src/stconn.c:1175,1
    - Dst: sc_will_read
      Src: /src/haproxy/src/stconn.c:1179,1
    - Dst: sc_chk_rcv
      Src: /src/haproxy/src/stconn.c:1181,1
    - Dst: sc_chk_rcv
      Src: /src/haproxy/src/stconn.c:1182,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1196,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1204,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/stconn.c:1205,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/stconn.c:1211,1
    - Dst: tick_first
      Src: /src/haproxy/src/stconn.c:1212,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stconn.c:1212,1
    - Dst: tick_first
      Src: /src/haproxy/src/stconn.c:1213,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stconn.c:1213,1
    - Dst: tick_first
      Src: /src/haproxy/src/stconn.c:1214,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stconn.c:1214,1
    - Dst: tick_first
      Src: /src/haproxy/src/stconn.c:1215,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stconn.c:1215,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:1217,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/stconn.c:1217,1
    - Dst: task_queue
      Src: /src/haproxy/src/stconn.c:1218,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 37
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1224
    functionName: sc_notify
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - channel_input_data
    - sc_ep_test
    - sc_ep_snd_ex
    - sc_oc
    - sc_wont_read
    - BUG_ON
    - channel_recv_max
    - sc_strm_task
    - co_data
    - task_wakeup
    - sc_ep_have_ff_data
    - task_queue
    - sc_ep_rcv_ex
    - __sc_strm
    - sc_chk_rcv
    - tick_is_expired
    - sc_ep_ff_data
    - sc_chk_snd
    - sc_will_read
    - sc_conn
    - sc_have_room
    - channel_full
    - sc_opposite
    - sc_ic
    - sc_ep_clr
    - HAS_DATA_FILTERS
    - tick_first
    - sc_shutdown
    - sc_ep_set
    linkageType: ''
    returnType: void
    signature: sc_notify(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:1233,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:1235,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stconn.c:1235,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/stconn.c:1241,1
    - Dst: sc_report_term_evt
      Src: /src/haproxy/src/stconn.c:1242,1
    - Dst: sc_cond_forward_shut
      Src: /src/haproxy/src/stconn.c:1249,1
    - Dst: se_shutdown
      Src: /src/haproxy/src/stconn.c:1260,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1231
    functionDepth: 3
    functionLinenumber: 1231
    functionLinenumberEnd: 1269
    functionName: sc_conn_eos
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_ic
    - se_shutdown
    - sc_ep_report_read_activity
    - sc_cond_forward_shut
    - sc_report_term_evt
    - __sc_strm
    - BUG_ON
    - sc_conn
    linkageType: ''
    returnType: void
    signature: sc_conn_eos(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/src/stconn.c:1279,1
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:1280,1
    - Dst: sc_waiting_room
      Src: /src/haproxy/src/stconn.c:1292,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1309,1
    - Dst: conn_xprt_ready
      Src: /src/haproxy/src/stconn.c:1310,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1312,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/stconn.c:1317,1
    - Dst: channel_check_idletimer
      Src: /src/haproxy/src/stconn.c:1319,1
    - Dst: strm_fe
      Src: /src/haproxy/src/stconn.c:1325,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1325,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1325,1
    - Dst: strm_fe
      Src: /src/haproxy/src/stconn.c:1326,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1326,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1326,1
    - Dst: strm_sess
      Src: /src/haproxy/src/stconn.c:1327,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1327,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1327,1
    - Dst: sc_is_fastfwd_supported
      Src: /src/haproxy/src/stconn.c:1334,1
    - Dst: channel_data
      Src: /src/haproxy/src/stconn.c:1335,1
    - Dst: struct connection*::mux::fastfwd
      Src: /src/haproxy/src/stconn.c:1344,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1355,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1358,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/stconn.c:1359,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1361,1
    - Dst: sc_alloc_ibuf
      Src: /src/haproxy/src/stconn.c:1367,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1367,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stconn.c:1379,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1379,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1379,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stconn.c:1380,1
    - Dst: htx_is_not_empty
      Src: /src/haproxy/src/stconn.c:1382,1
    - Dst: htx_space_wraps
      Src: /src/haproxy/src/stconn.c:1382,1
    - Dst: htx_defrag
      Src: /src/haproxy/src/stconn.c:1383,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:1388,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1389,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1397,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1399,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1403,1
    - Dst: channel_recv_max
      Src: /src/haproxy/src/stconn.c:1410,1
    - Dst: struct connection*::mux::rcv_buf
      Src: /src/haproxy/src/stconn.c:1411,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1413,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:1417,1
    - Dst: c_empty
      Src: /src/haproxy/src/stconn.c:1417,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/stconn.c:1419,1
    - Dst: channel_recv_max
      Src: /src/haproxy/src/stconn.c:1419,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/stconn.c:1424,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/stconn.c:1434,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:1441,1
    - Dst: c_adv
      Src: /src/haproxy/src/stconn.c:1448,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1459,1
    - Dst: sc_wont_read
      Src: /src/haproxy/src/stconn.c:1464,1
    - Dst: sc_wont_read
      Src: /src/haproxy/src/stconn.c:1479,1
    - Dst: sc_wont_read
      Src: /src/haproxy/src/stconn.c:1488,1
    - Dst: se_have_no_more_data
      Src: /src/haproxy/src/stconn.c:1502,1
    - Dst: channel_check_xfer
      Src: /src/haproxy/src/stconn.c:1504,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/stconn.c:1505,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1513,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/stconn.c:1514,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1520,1
    - Dst: sc_schedule_shutdown
      Src: /src/haproxy/src/stconn.c:1523,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:1523,1
    - Dst: sc_conn_eos
      Src: /src/haproxy/src/stconn.c:1524,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1527,1
    - Dst: sc_report_term_evt
      Src: /src/haproxy/src/stconn.c:1530,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1536,1
    - Dst: se_have_no_more_data
      Src: /src/haproxy/src/stconn.c:1542,1
    - Dst: struct connection*::mux::subscribe
      Src: /src/haproxy/src/stconn.c:1551,1
    - Dst: se_have_no_more_data
      Src: /src/haproxy/src/stconn.c:1552,1
    - Dst: se_have_no_more_data
      Src: /src/haproxy/src/stconn.c:1557,1
    - Dst: se_have_more_data
      Src: /src/haproxy/src/stconn.c:1559,1
    - Dst: se_have_more_data
      Src: /src/haproxy/src/stconn.c:1565,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 151
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1570
      start: 1277
    functionDepth: 4
    functionLinenumber: 1277
    functionLinenumberEnd: 1570
    functionName: sc_conn_recv
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - channel_check_xfer
    - htx_defrag
    - strm_sess
    - sc_ep_test
    - __sc_conn
    - se_have_more_data
    - sc_is_fastfwd_supported
    - strm_fe
    - BUG_ON
    - sc_wont_read
    - sc_need_room
    - channel_recv_max
    - sc_waiting_room
    - co_data
    - sc_ep_report_read_activity
    - sc_alloc_ibuf
    - channel_data
    - __sc_strm
    - se_have_no_more_data
    - conn_xprt_ready
    - channel_check_idletimer
    - c_empty
    - sc_conn_eos
    - htxbuf
    - sc_schedule_shutdown
    - sc_report_term_evt
    - c_adv
    - htx_space_wraps
    - struct connection*::mux::fastfwd
    - struct connection*::mux::subscribe
    - sc_ic
    - sc_ep_clr
    - sc_opposite
    - IS_HTX_STRM
    - htx_is_not_empty
    - struct connection*::mux::rcv_buf
    linkageType: ''
    returnType: int
    signature: sc_conn_recv(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_state_in
      Src: /src/haproxy/src/stconn.c:1581,1
    - Dst: sc_mux_ops
      Src: /src/haproxy/src/stconn.c:1584,1
    - Dst: sc_is_recv_allowed
      Src: /src/haproxy/src/stconn.c:1590,1
    - Dst: sc_conn_recv
      Src: /src/haproxy/src/stconn.c:1593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1594
      start: 1579
    functionDepth: 5
    functionLinenumber: 1579
    functionLinenumberEnd: 1594
    functionName: sc_conn_sync_recv
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_state_in
    - sc_conn_recv
    - sc_is_recv_allowed
    - sc_mux_ops
    linkageType: ''
    returnType: int
    signature: sc_conn_sync_recv(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/src/stconn.c:1605,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:1606,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1607,1
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:1608,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1612,1
    - Dst: sc_is_conn_error
      Src: /src/haproxy/src/stconn.c:1612,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:1621,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1621,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1622,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1624,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:1624,1
    - Dst: sc_ep_report_blocked_send
      Src: /src/haproxy/src/stconn.c:1625,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:1641,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stconn.c:1647,1
    - Dst: htx_expect_more
      Src: /src/haproxy/src/stconn.c:1648,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stconn.c:1648,1
    - Dst: struct connection*::mux::resume_fastfwd
      Src: /src/haproxy/src/stconn.c:1657,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:1661,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1668,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stconn.c:1688,1
    - Dst: htx_expect_more
      Src: /src/haproxy/src/stconn.c:1689,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stconn.c:1689,1
    - Dst: b_data
      Src: /src/haproxy/src/stconn.c:1698,1
    - Dst: b_alloc
      Src: /src/haproxy/src/stconn.c:1711,1
    - Dst: memcpy
      Src: /src/haproxy/src/stconn.c:1714,1
    - Dst: b_orig
      Src: /src/haproxy/src/stconn.c:1714,1
    - Dst: b_orig
      Src: /src/haproxy/src/stconn.c:1715,1
    - Dst: b_size
      Src: /src/haproxy/src/stconn.c:1716,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1717,1
    - Dst: b_add
      Src: /src/haproxy/src/stconn.c:1718,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1718,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1724,1
    - Dst: c_data
      Src: /src/haproxy/src/stconn.c:1724,1
    - Dst: struct connection*::mux::snd_buf
      Src: /src/haproxy/src/stconn.c:1727,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1727,1
    - Dst: c_rew
      Src: /src/haproxy/src/stconn.c:1730,1
    - Dst: c_realign_if_empty
      Src: /src/haproxy/src/stconn.c:1731,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1733,1
    - Dst: channel_recv_max
      Src: /src/haproxy/src/stconn.c:1750,1
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:1750,1
    - Dst: sc_have_room
      Src: /src/haproxy/src/stconn.c:1751,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1753,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:1755,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1755,1
    - Dst: sc_report_term_evt
      Src: /src/haproxy/src/stconn.c:1756,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1757,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1763,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:1763,1
    - Dst: sc_ep_report_send_activity
      Src: /src/haproxy/src/stconn.c:1765,1
    - Dst: sc_have_room
      Src: /src/haproxy/src/stconn.c:1771,1
    - Dst: struct connection*::mux::subscribe
      Src: /src/haproxy/src/stconn.c:1777,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stconn.c:1778,1
    - Dst: sc_ep_report_blocked_send
      Src: /src/haproxy/src/stconn.c:1779,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 88
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1783
      start: 1603
    functionDepth: 1
    functionLinenumber: 1603
    functionLinenumberEnd: 1783
    functionName: sc_conn_send
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 1
    functionsReached:
    - htx_expect_more
    - sc_ep_test
    - __sc_conn
    - sc_oc
    - b_orig
    - BUG_ON
    - b_alloc
    - sc_ep_report_blocked_send
    - struct connection*::mux::snd_buf
    - channel_recv_max
    - sc_state_in
    - co_data
    - sc_ep_have_ff_data
    - sc_is_conn_error
    - b_size
    - c_data
    - __sc_strm
    - htxbuf
    - b_data
    - sc_ep_report_send_activity
    - sc_report_term_evt
    - struct connection*::mux::resume_fastfwd
    - c_rew
    - c_realign_if_empty
    - sc_have_room
    - struct connection*::mux::subscribe
    - sc_opposite
    - b_add
    - IS_HTX_STRM
    - memcpy
    linkageType: ''
    returnType: int
    signature: sc_conn_send(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:1791,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1798,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stconn.c:1801,1
    - Dst: sc_mux_ops
      Src: /src/haproxy/src/stconn.c:1804,1
    - Dst: sc_conn_send
      Src: /src/haproxy/src/stconn.c:1807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1808
      start: 1789
    functionDepth: 2
    functionLinenumber: 1789
    functionLinenumberEnd: 1808
    functionName: sc_conn_sync_send
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_state_in
    - co_data
    - sc_conn_send
    - sc_mux_ops
    - sc_oc
    linkageType: ''
    returnType: void
    signature: sc_conn_sync_send(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/src/stconn.c:1819,1
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:1820,1
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:1821,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:1823,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1826,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:1826,1
    - Dst: sc_conn_send
      Src: /src/haproxy/src/stconn.c:1828,1
    - Dst: sc_is_conn_error
      Src: /src/haproxy/src/stconn.c:1844,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1854,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/stconn.c:1855,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/stconn.c:1856,1
    - Dst: sc_strm_task
      Src: /src/haproxy/src/stconn.c:1856,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stconn.c:1859,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1862,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1875,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/stconn.c:1878,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1888,1
    - Dst: sc_schedule_shutdown
      Src: /src/haproxy/src/stconn.c:1891,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:1891,1
    - Dst: sc_conn_eos
      Src: /src/haproxy/src/stconn.c:1892,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1895,1
    - Dst: sc_report_term_evt
      Src: /src/haproxy/src/stconn.c:1897,1
    - Dst: sc_notify
      Src: /src/haproxy/src/stconn.c:1905,1
    - Dst: stream_release_buffers
      Src: /src/haproxy/src/stconn.c:1906,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1906,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1908
      start: 1817
    functionDepth: 4
    functionLinenumber: 1817
    functionLinenumberEnd: 1908
    functionName: sc_conn_process
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_ep_test
    - __sc_conn
    - sc_oc
    - BUG_ON
    - sc_strm_task
    - sc_state_in
    - co_data
    - task_wakeup
    - sc_ep_have_ff_data
    - sc_ep_report_read_activity
    - sc_is_conn_error
    - __sc_strm
    - sc_notify
    - sc_conn_send
    - sc_conn_eos
    - sc_schedule_shutdown
    - sc_report_term_evt
    - sc_ic
    - sc_ep_clr
    - sc_opposite
    - stream_release_buffers
    linkageType: ''
    returnType: int
    signature: sc_conn_process(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/stconn.c:1920,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:1923,1
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:1923,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:1923,1
    - Dst: sc_conn_send
      Src: /src/haproxy/src/stconn.c:1924,1
    - Dst: sc_conn_recv
      Src: /src/haproxy/src/stconn.c:1926,1
    - Dst: sc_conn_process
      Src: /src/haproxy/src/stconn.c:1928,1
    - Dst: stream_release_buffers
      Src: /src/haproxy/src/stconn.c:1930,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1930,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1932
      start: 1915
    functionDepth: 5
    functionLinenumber: 1915
    functionLinenumberEnd: 1932
    functionName: sc_conn_io_cb
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_conn_recv
    - sc_conn_send
    - co_data
    - sc_ep_have_ff_data
    - sc_conn_process
    - __sc_strm
    - sc_oc
    - stream_release_buffers
    - sc_conn
    linkageType: ''
    returnType: struct task
    signature: '*sc_conn_io_cb(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:1941,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:1943,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/stconn.c:1943,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/stconn.c:1949,1
    - Dst: sc_report_term_evt
      Src: /src/haproxy/src/stconn.c:1950,1
    - Dst: se_shutdown
      Src: /src/haproxy/src/stconn.c:1958,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:1961,1
    - Dst: sc_cond_forward_shut
      Src: /src/haproxy/src/stconn.c:1963,1
    - Dst: sc_app_shut_applet
      Src: /src/haproxy/src/stconn.c:1964,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1965
      start: 1939
    functionDepth: 4
    functionLinenumber: 1939
    functionLinenumberEnd: 1965
    functionName: sc_applet_eos
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_ic
    - sc_ep_report_read_activity
    - sc_cond_forward_shut
    - sc_appctx
    - sc_app_shut_applet
    - sc_report_term_evt
    - __sc_strm
    - BUG_ON
    - se_shutdown
    linkageType: ''
    returnType: void
    signature: sc_applet_eos(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stconn.c:1975,1
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:1976,1
    - Dst: sc_waiting_room
      Src: /src/haproxy/src/stconn.c:1984,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/stconn.c:1992,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1996,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:1998,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/stconn.c:2003,1
    - Dst: channel_check_idletimer
      Src: /src/haproxy/src/stconn.c:2005,1
    - Dst: sc_is_fastfwd_supported
      Src: /src/haproxy/src/stconn.c:2010,1
    - Dst: channel_data
      Src: /src/haproxy/src/stconn.c:2011,1
    - Dst: appctx_fastfwd
      Src: /src/haproxy/src/stconn.c:2020,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2031,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2034,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/stconn.c:2035,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2037,1
    - Dst: sc_alloc_ibuf
      Src: /src/haproxy/src/stconn.c:2042,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stconn.c:2054,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:2054,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:2054,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stconn.c:2055,1
    - Dst: htx_is_not_empty
      Src: /src/haproxy/src/stconn.c:2057,1
    - Dst: htx_space_wraps
      Src: /src/haproxy/src/stconn.c:2057,1
    - Dst: htx_defrag
      Src: /src/haproxy/src/stconn.c:2058,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:2062,1
    - Dst: channel_recv_max
      Src: /src/haproxy/src/stconn.c:2069,1
    - Dst: appctx_rcv_buf
      Src: /src/haproxy/src/stconn.c:2070,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2071,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:2075,1
    - Dst: c_empty
      Src: /src/haproxy/src/stconn.c:2075,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/stconn.c:2077,1
    - Dst: channel_recv_max
      Src: /src/haproxy/src/stconn.c:2077,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/stconn.c:2082,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/stconn.c:2091,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:2098,1
    - Dst: c_adv
      Src: /src/haproxy/src/stconn.c:2105,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2116,1
    - Dst: sc_wont_read
      Src: /src/haproxy/src/stconn.c:2121,1
    - Dst: sc_wont_read
      Src: /src/haproxy/src/stconn.c:2136,1
    - Dst: sc_wont_read
      Src: /src/haproxy/src/stconn.c:2145,1
    - Dst: channel_check_xfer
      Src: /src/haproxy/src/stconn.c:2151,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/stconn.c:2152,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2160,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/stconn.c:2161,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2167,1
    - Dst: sc_schedule_shutdown
      Src: /src/haproxy/src/stconn.c:2170,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:2170,1
    - Dst: sc_applet_eos
      Src: /src/haproxy/src/stconn.c:2171,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2175,1
    - Dst: se_have_more_data
      Src: /src/haproxy/src/stconn.c:2180,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 125
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 2185
      start: 1973
    functionDepth: 5
    functionLinenumber: 1973
    functionLinenumberEnd: 2185
    functionName: sc_applet_recv
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - channel_check_xfer
    - htx_defrag
    - sc_ep_test
    - se_have_more_data
    - sc_is_fastfwd_supported
    - BUG_ON
    - sc_wont_read
    - sc_applet_eos
    - sc_need_room
    - channel_recv_max
    - appctx_fastfwd
    - __sc_appctx
    - se_fl_test
    - sc_waiting_room
    - co_data
    - sc_ep_report_read_activity
    - sc_alloc_ibuf
    - channel_data
    - __sc_strm
    - channel_check_idletimer
    - c_empty
    - htxbuf
    - sc_schedule_shutdown
    - c_adv
    - htx_space_wraps
    - sc_ic
    - sc_ep_clr
    - sc_opposite
    - IS_HTX_STRM
    - appctx_rcv_buf
    - htx_is_not_empty
    linkageType: ''
    returnType: int
    signature: sc_applet_recv(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stconn.c:2196,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stconn.c:2199,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/stconn.c:2202,1
    - Dst: sc_is_recv_allowed
      Src: /src/haproxy/src/stconn.c:2205,1
    - Dst: sc_applet_recv
      Src: /src/haproxy/src/stconn.c:2208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 2209
      start: 2194
    functionDepth: 6
    functionLinenumber: 2194
    functionLinenumberEnd: 2209
    functionName: sc_applet_sync_recv
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 1
    functionsReached:
    - __sc_appctx
    - se_fl_test
    - sc_state_in
    - sc_applet_recv
    - sc_is_recv_allowed
    linkageType: ''
    returnType: int
    signature: sc_applet_sync_recv(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_opposite
      Src: /src/haproxy/src/stconn.c:2218,1
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:2219,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2223,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:2224,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2224,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:2225,1
    - Dst: sc_ep_report_blocked_send
      Src: /src/haproxy/src/stconn.c:2226,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2230,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/stconn.c:2238,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:2242,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stconn.c:2242,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:2244,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:2247,1
    - Dst: c_data
      Src: /src/haproxy/src/stconn.c:2247,1
    - Dst: appctx_snd_buf
      Src: /src/haproxy/src/stconn.c:2250,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:2250,1
    - Dst: c_rew
      Src: /src/haproxy/src/stconn.c:2253,1
    - Dst: c_realign_if_empty
      Src: /src/haproxy/src/stconn.c:2254,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:2256,1
    - Dst: channel_recv_max
      Src: /src/haproxy/src/stconn.c:2269,1
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:2269,1
    - Dst: sc_have_room
      Src: /src/haproxy/src/stconn.c:2270,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2272,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:2274,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2274,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2275,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:2280,1
    - Dst: sc_ep_report_send_activity
      Src: /src/haproxy/src/stconn.c:2282,1
    - Dst: sc_ep_report_blocked_send
      Src: /src/haproxy/src/stconn.c:2285,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 2289
      start: 2216
    functionDepth: 2
    functionLinenumber: 2216
    functionLinenumberEnd: 2289
    functionName: sc_applet_send
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - channel_recv_max
    - sc_have_room
    - se_fl_test
    - sc_opposite
    - co_data
    - sc_ep_have_ff_data
    - c_rew
    - appctx_snd_buf
    - c_realign_if_empty
    - sc_ep_test
    - c_data
    - sc_ep_report_send_activity
    - sc_oc
    - BUG_ON
    - sc_ep_report_blocked_send
    linkageType: ''
    returnType: int
    signature: sc_applet_send(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_oc
      Src: /src/haproxy/src/stconn.c:2293,1
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stconn.c:2297,1
    - Dst: co_data
      Src: /src/haproxy/src/stconn.c:2303,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stconn.c:2306,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/stconn.c:2309,1
    - Dst: sc_applet_send
      Src: /src/haproxy/src/stconn.c:2312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 2313
      start: 2291
    functionDepth: 3
    functionLinenumber: 2291
    functionLinenumberEnd: 2313
    functionName: sc_applet_sync_send
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 1
    functionsReached:
    - __sc_appctx
    - se_fl_test
    - sc_state_in
    - co_data
    - sc_applet_send
    - sc_oc
    linkageType: ''
    returnType: void
    signature: sc_applet_sync_send(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/src/stconn.c:2323,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:2325,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/stconn.c:2325,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2329,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/stconn.c:2330,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2335,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2338,1
    - Dst: sc_applet_eos
      Src: /src/haproxy/src/stconn.c:2340,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:2343,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2343,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2348,1
    - Dst: sc_ep_set
      Src: /src/haproxy/src/stconn.c:2349,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2355,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/stconn.c:2356,1
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stconn.c:2356,1
    - Dst: sc_notify
      Src: /src/haproxy/src/stconn.c:2359,1
    - Dst: stream_release_buffers
      Src: /src/haproxy/src/stconn.c:2360,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stconn.c:2360,1
    - Dst: sc_is_recv_allowed
      Src: /src/haproxy/src/stconn.c:2367,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/stconn.c:2367,1
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stconn.c:2367,1
    - Dst: sc_is_send_allowed
      Src: /src/haproxy/src/stconn.c:2368,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/stconn.c:2368,1
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stconn.c:2368,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/stconn.c:2369,1
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stconn.c:2369,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 2371
      start: 2321
    functionDepth: 5
    functionLinenumber: 2321
    functionLinenumberEnd: 2371
    functionName: sc_applet_process
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_is_send_allowed
    - appctx_wakeup
    - __sc_appctx
    - sc_notify
    - sc_ic
    - applet_have_more_data
    - stream_release_buffers
    - sc_ep_report_read_activity
    - sc_appctx
    - sc_ep_test
    - applet_fl_test
    - sc_is_recv_allowed
    - __sc_strm
    - sc_ep_set
    - BUG_ON
    - sc_applet_eos
    linkageType: ''
    returnType: int
    signature: sc_applet_process(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:2380,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stconn.c:2380,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/stconn.c:2381,1
    - Dst: sc_ep_set
      Src: /src/haproxy/src/stconn.c:2382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 2383
      start: 2378
    functionDepth: 1
    functionLinenumber: 2378
    functionLinenumberEnd: 2383
    functionName: sc_conn_prepare_endp_upgrade
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_ep_set
    - sc_ep_clr
    - BUG_ON
    - sc_conn
    linkageType: ''
    returnType: void
    signature: sc_conn_prepare_endp_upgrade(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_set
      Src: /src/haproxy/src/stconn.c:2388,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/stconn.c:2389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 2390
      start: 2386
    functionDepth: 1
    functionLinenumber: 2386
    functionLinenumberEnd: 2390
    functionName: sc_conn_abort_endp_upgrade
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_ep_set
    - sc_ep_clr
    linkageType: ''
    returnType: void
    signature: sc_conn_abort_endp_upgrade(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stconn.c:2398,1
    - Dst: sc_detach_endp
      Src: /src/haproxy/src/stconn.c:2400,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:2402,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stconn.c:2403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 2404
      start: 2396
    functionDepth: 6
    functionLinenumber: 2396
    functionLinenumberEnd: 2404
    functionName: sc_conn_commit_endp_upgrade
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - sc_detach_endp
    - BUG_ON
    - sc_ep_test
    linkageType: ''
    returnType: void
    signature: sc_conn_commit_endp_upgrade(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/stconn.c:2420,1
    - Dst: struct connection*::mux::sctl
      Src: /src/haproxy/src/stconn.c:2436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2443
      start: 2410
    functionDepth: 1
    functionLinenumber: 2410
    functionLinenumberEnd: 2443
    functionName: smp_fetch_debug_str
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - struct connection*::mux::sctl
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_debug_str(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/stconn.c:2458,1
    - Dst: struct connection*::mux::sctl
      Src: /src/haproxy/src/stconn.c:2472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2481
      start: 2447
    functionDepth: 1
    functionLinenumber: 2447
    functionLinenumberEnd: 2481
    functionName: smp_fetch_sid
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached:
    - struct connection*::mux::sctl
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_sid(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2503
      start: 2485
    functionDepth: 0
    functionLinenumber: 2485
    functionLinenumberEnd: 2503
    functionName: smp_fetch_strm_aborted
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_strm_aborted(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2532
      start: 2508
    functionDepth: 0
    functionLinenumber: 2508
    functionLinenumberEnd: 2532
    functionName: smp_fetch_strm_rst_code
    functionSourceFile: /src/haproxy/src/stconn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_strm_rst_code(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - input
    - len
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 47
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 47
    functionName: hash_wt6
    functionSourceFile: /src/haproxy/src/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: hash_wt6(const void *input, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 2
    argNames:
    - input
    - len
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 76
    functionName: hash_djb2
    functionSourceFile: /src/haproxy/src/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: hash_djb2(const void *input, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - input
    - len
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: hash_sdbm
    functionSourceFile: /src/haproxy/src/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: hash_sdbm(const void *input, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - input
    - len
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: hash_crc32
    functionSourceFile: /src/haproxy/src/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: hash_crc32(const void *input, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - input
    - len
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 190
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 190
    functionName: hash_crc32c
    functionSourceFile: /src/haproxy/src/hash.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: hash_crc32c(const void *input, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/haproxy/src/sock_inet.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: sock_inet4_addrcmp
    functionSourceFile: /src/haproxy/src/sock_inet.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: sock_inet4_addrcmp(const struct sockaddr_storage *a, const struct sockaddr_storage
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/haproxy/src/sock_inet.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 126
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 126
    functionName: sock_inet6_addrcmp
    functionSourceFile: /src/haproxy/src/sock_inet.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: sock_inet6_addrcmp(const struct sockaddr_storage *a, const struct sockaddr_storage
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/haproxy/src/sock_inet.c:135,1
    - Dst: htons
      Src: /src/haproxy/src/sock_inet.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - struct sockaddr_storage*
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: sock_inet_set_port
    functionSourceFile: /src/haproxy/src/sock_inet.c
    functionUses: 1
    functionsReached:
    - htons
    linkageType: ''
    returnType: void
    signature: sock_inet_set_port(struct sockaddr_storage *addr, int port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpeername
      Src: /src/haproxy/src/sock_inet.c:151,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock_inet.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - fd
    - sa
    - salen
    - dir
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 169
    functionName: sock_inet_get_dst
    functionSourceFile: /src/haproxy/src/sock_inet.c
    functionUses: 0
    functionsReached:
    - getsockopt
    - getpeername
    linkageType: ''
    returnType: int
    signature: sock_inet_get_dst(int fd, struct sockaddr *sa, socklen_t salen, int
      dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/haproxy/src/sock_inet.c:184,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock_inet.c:189,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock_inet.c:194,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock_inet.c:199,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock_inet.c:207,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock_inet.c:212,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock_inet.c:217,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock_inet.c:222,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 2
    argNames:
    - fd
    - family
    argTypes:
    - int
    - sa_family_t
    constantsTouched: []
    func_position:
      end: 228
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 228
    functionName: sock_inet_is_foreign
    functionSourceFile: /src/haproxy/src/sock_inet.c
    functionUses: 0
    functionsReached:
    - getsockopt
    linkageType: ''
    returnType: int
    signature: sock_inet_is_foreign(int fd, sa_family_t family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/haproxy/src/sock_inet.c:239,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock_inet.c:242,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock_inet.c:245,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock_inet.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 251
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 251
    functionName: sock_inet4_make_foreign
    functionSourceFile: /src/haproxy/src/sock_inet.c
    functionUses: 2
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: sock_inet4_make_foreign(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/haproxy/src/sock_inet.c:262,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock_inet.c:265,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock_inet.c:268,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock_inet.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: sock_inet6_make_foreign
    functionSourceFile: /src/haproxy/src/sock_inet.c
    functionUses: 2
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: int
    signature: sock_inet6_make_foreign(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/sock_inet.c:305,1
    - Dst: sock_find_compatible_fd
      Src: /src/haproxy/src/sock_inet.c:327,1
    - Dst: my_socketat
      Src: /src/haproxy/src/sock_inet.c:338,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_inet.c:342,1
    - Dst: strerror
      Src: /src/haproxy/src/sock_inet.c:342,1
    - Dst: dup
      Src: /src/haproxy/src/sock_inet.c:357,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_inet.c:360,1
    - Dst: strerror
      Src: /src/haproxy/src/sock_inet.c:360,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_inet.c:367,1
    - Dst: fd_set_nonblock
      Src: /src/haproxy/src/sock_inet.c:371,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_inet.c:373,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock_inet.c:377,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_inet.c:379,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock_inet.c:388,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock_inet.c:396,1
    - Dst: sock_inet4_make_foreign
      Src: /src/haproxy/src/sock_inet.c:402,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_inet.c:403,1
    - Dst: sock_inet6_make_foreign
      Src: /src/haproxy/src/sock_inet.c:408,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_inet.c:409,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock_inet.c:419,1
    - Dst: strlen
      Src: /src/haproxy/src/sock_inet.c:421,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_inet.c:422,1
    - Dst: strerror
      Src: /src/haproxy/src/sock_inet.c:422,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock_inet.c:436,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock_inet.c:438,1
    - Dst: bind
      Src: /src/haproxy/src/sock_inet.c:442,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_inet.c:444,1
    - Dst: strerror
      Src: /src/haproxy/src/sock_inet.c:444,1
    - Dst: fd_insert
      Src: /src/haproxy/src/sock_inet.c:451,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/sock_inet.c:455,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/sock_inet.c:461,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_inet.c:462,1
    - Dst: get_host_port
      Src: /src/haproxy/src/sock_inet.c:462,1
    - Dst: close
      Src: /src/haproxy/src/sock_inet.c:468,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 111
    argCount: 2
    argNames:
    - rx
    - errmsg
    argTypes:
    - struct receiver*
    - char**
    constantsTouched: []
    func_position:
      end: 470
      start: 281
    functionDepth: 5
    functionLinenumber: 281
    functionLinenumberEnd: 470
    functionName: sock_inet_bind_receiver
    functionSourceFile: /src/haproxy/src/sock_inet.c
    functionUses: 0
    functionsReached:
    - memprintf
    - dup
    - sock_inet4_make_foreign
    - strerror
    - sock_inet6_make_foreign
    - setsockopt
    - strlen
    - fd_set_nonblock
    - addr_to_str
    - fd_insert
    - sock_find_compatible_fd
    - my_socketat
    - close
    - get_host_port
    - BUG_ON
    - bind
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: sock_inet_bind_receiver(struct receiver *rx, char **errmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/haproxy/src/sock_inet.c:477,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock_inet.c:482,1
    - Dst: close
      Src: /src/haproxy/src/sock_inet.c:485,1
    - Dst: socket
      Src: /src/haproxy/src/sock_inet.c:488,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock_inet.c:493,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock_inet.c:500,1
    - Dst: close
      Src: /src/haproxy/src/sock_inet.c:503,1
    - Dst: socket
      Src: /src/haproxy/src/sock_inet.c:507,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock_inet.c:512,1
    - Dst: close
      Src: /src/haproxy/src/sock_inet.c:515,1
    - Dst: socket
      Src: /src/haproxy/src/sock_inet.c:518,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock_inet.c:523,1
    - Dst: close
      Src: /src/haproxy/src/sock_inet.c:526,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 529
    functionName: sock_inet_prepare
    functionSourceFile: /src/haproxy/src/sock_inet.c
    functionUses: 0
    functionsReached:
    - socket
    - getsockopt
    - close
    linkageType: ''
    returnType: void
    signature: sock_inet_prepare()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb64_insert
      Src: /src/haproxy/src/eb64tree.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct eb64_node*
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: eb64_insert
    functionSourceFile: /src/haproxy/src/eb64tree.c
    functionUses: 10
    functionsReached:
    - __eb64_insert
    linkageType: ''
    returnType: struct eb64_node
    signature: '*eb64_insert(struct eb_root *root, struct eb64_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb64i_insert
      Src: /src/haproxy/src/eb64tree.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct eb64_node*
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: eb64i_insert
    functionSourceFile: /src/haproxy/src/eb64tree.c
    functionUses: 1
    functionsReached:
    - __eb64i_insert
    linkageType: ''
    returnType: struct eb64_node
    signature: '*eb64i_insert(struct eb_root *root, struct eb64_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb64_lookup
      Src: /src/haproxy/src/eb64tree.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - u64
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: eb64_lookup
    functionSourceFile: /src/haproxy/src/eb64tree.c
    functionUses: 5
    functionsReached:
    - __eb64_lookup
    linkageType: ''
    returnType: struct eb64_node
    signature: '*eb64_lookup(struct eb_root *root, u64 x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb64i_lookup
      Src: /src/haproxy/src/eb64tree.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - s64
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: eb64i_lookup
    functionSourceFile: /src/haproxy/src/eb64tree.c
    functionUses: 1
    functionsReached:
    - __eb64i_lookup
    linkageType: ''
    returnType: struct eb64_node
    signature: '*eb64i_lookup(struct eb_root *root, s64 x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/eb64tree.c:55,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb64tree.c:59,1
    - Dst: container_of
      Src: /src/haproxy/src/eb64tree.c:64,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb64tree.c:64,1
    - Dst: container_of
      Src: /src/haproxy/src/eb64tree.c:72,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb64tree.c:72,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb64tree.c:86,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb64tree.c:87,1
    - Dst: container_of
      Src: /src/haproxy/src/eb64tree.c:88,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb64tree.c:88,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/eb64tree.c:103,1
    - Dst: eb_walk_down
      Src: /src/haproxy/src/eb64tree.c:103,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb64tree.c:119,1
    - Dst: unlikely
      Src: /src/haproxy/src/eb64tree.c:123,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/eb64tree.c:123,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb64tree.c:123,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/eb64tree.c:125,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb64tree.c:125,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb64tree.c:128,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/eb64tree.c:129,1
    - Dst: eb_walk_down
      Src: /src/haproxy/src/eb64tree.c:129,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - u64
    constantsTouched: []
    func_position:
      end: 131
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 131
    functionName: eb64_lookup_le
    functionSourceFile: /src/haproxy/src/eb64tree.c
    functionUses: 1
    functionsReached:
    - container_of
    - eb_walk_down
    - eb_clrtag
    - eb_gettag
    - eb64_entry
    - eb_untag
    - unlikely
    - eb_root_to_node
    linkageType: ''
    returnType: struct eb64_node
    signature: '*eb64_lookup_le(struct eb_root *root, u64 x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/eb64tree.c:143,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb64tree.c:147,1
    - Dst: container_of
      Src: /src/haproxy/src/eb64tree.c:152,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb64tree.c:152,1
    - Dst: container_of
      Src: /src/haproxy/src/eb64tree.c:160,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb64tree.c:160,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb64tree.c:174,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb64tree.c:175,1
    - Dst: container_of
      Src: /src/haproxy/src/eb64tree.c:176,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb64tree.c:176,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/eb64tree.c:191,1
    - Dst: eb_walk_down
      Src: /src/haproxy/src/eb64tree.c:191,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb64tree.c:207,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/eb64tree.c:209,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb64tree.c:209,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb64tree.c:212,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/eb64tree.c:213,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/eb64tree.c:216,1
    - Dst: eb_walk_down
      Src: /src/haproxy/src/eb64tree.c:216,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - u64
    constantsTouched: []
    func_position:
      end: 218
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 218
    functionName: eb64_lookup_ge
    functionSourceFile: /src/haproxy/src/eb64tree.c
    functionUses: 0
    functionsReached:
    - container_of
    - eb_walk_down
    - eb_clrtag
    - eb_gettag
    - eb64_entry
    - eb_untag
    - unlikely
    - eb_root_to_node
    linkageType: ''
    returnType: struct eb64_node
    signature: '*eb64_lookup_ge(struct eb_root *root, u64 x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/compression.c:117,1
    - Dst: strlen
      Src: /src/haproxy/src/compression.c:120,1
    - Dst: strdup
      Src: /src/haproxy/src/compression.c:121,1
    - Dst: free
      Src: /src/haproxy/src/compression.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - types
    - type
    argTypes:
    - struct comp_type**
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 132
    functionName: comp_append_type
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 1
    functionsReached:
    - strlen
    - calloc
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: comp_append_type(struct comp_type **types, const char *type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/compression.c:145,1
    - Dst: calloc
      Src: /src/haproxy/src/compression.c:146,1
    - Dst: memmove
      Src: /src/haproxy/src/compression.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - algos
    - algo
    argTypes:
    - struct comp_algo**
    - char*
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: comp_append_algo
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - strcmp
    - memmove
    - calloc
    linkageType: ''
    returnType: int
    signature: comp_append_algo(struct comp_algo **algos, const char *algo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/compression.c:173,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/compression.c:181,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/compression.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - comp_ctx
    argTypes:
    - struct comp_ctx**
    constantsTouched: []
    func_position:
      end: 190
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 190
    functionName: init_comp_ctx
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - __ha_barrier_atomic_store
    - _HA_ATOMIC_ADD
    - pool_alloc
    linkageType: ''
    returnType: int
    signature: init_comp_ctx(struct comp_ctx **comp_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free
      Src: /src/haproxy/src/compression.c:200,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/src/compression.c:204,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/compression.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - comp_ctx
    argTypes:
    - struct comp_ctx**
    constantsTouched: []
    func_position:
      end: 208
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 208
    functionName: deinit_comp_ctx
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - __ha_barrier_atomic_store
    - _HA_ATOMIC_SUB
    - pool_free
    linkageType: ''
    returnType: int
    signature: deinit_comp_ctx(struct comp_ctx **comp_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - comp_ctx
    - level
    argTypes:
    - struct comp_ctx**
    - int
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: identity_init
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: identity_init(struct comp_ctx **comp_ctx, int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/compression.c:236,1
    - Dst: b_add
      Src: /src/haproxy/src/compression.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - comp_ctx
    - in_data
    - in_len
    - out
    argTypes:
    - struct comp_ctx*
    - char*
    - int
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 241
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 241
    functionName: identity_add_data
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - memcpy
    - b_add
    linkageType: ''
    returnType: int
    signature: identity_add_data(struct comp_ctx *comp_ctx, const char *in_data, int
      in_len, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - comp_ctx
    - out
    argTypes:
    - struct comp_ctx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: identity_flush
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: identity_flush(struct comp_ctx *comp_ctx, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - comp_ctx
    - out
    argTypes:
    - struct comp_ctx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: identity_finish
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: identity_finish(struct comp_ctx *comp_ctx, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp_ctx
    argTypes:
    - struct comp_ctx**
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: identity_end
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: identity_end(struct comp_ctx **comp_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_comp_ctx
      Src: /src/haproxy/src/compression.c:267,1
    - Dst: slz_rfc1952_init
      Src: /src/haproxy/src/compression.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - comp_ctx
    - level
    argTypes:
    - struct comp_ctx**
    - int
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: rfc1952_init
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 1
    functionsReached:
    - init_comp_ctx
    - slz_rfc1952_init
    linkageType: ''
    returnType: int
    signature: rfc1952_init(struct comp_ctx **comp_ctx, int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_comp_ctx
      Src: /src/haproxy/src/compression.c:277,1
    - Dst: slz_rfc1951_init
      Src: /src/haproxy/src/compression.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - comp_ctx
    - level
    argTypes:
    - struct comp_ctx**
    - int
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: rfc1951_init
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 1
    functionsReached:
    - init_comp_ctx
    - slz_rfc1951_init
    linkageType: ''
    returnType: int
    signature: rfc1951_init(struct comp_ctx **comp_ctx, int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_comp_ctx
      Src: /src/haproxy/src/compression.c:287,1
    - Dst: slz_rfc1950_init
      Src: /src/haproxy/src/compression.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - comp_ctx
    - level
    argTypes:
    - struct comp_ctx**
    - int
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: rfc1950_init
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 1
    functionsReached:
    - init_comp_ctx
    - slz_rfc1950_init
    linkageType: ''
    returnType: int
    signature: rfc1950_init(struct comp_ctx **comp_ctx, int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_is_null
      Src: /src/haproxy/src/compression.c:305,1
    - Dst: b_alloc
      Src: /src/haproxy/src/compression.c:310,1
    - Dst: b_reset
      Src: /src/haproxy/src/compression.c:312,1
    - Dst: memcpy
      Src: /src/haproxy/src/compression.c:313,1
    - Dst: b_tail
      Src: /src/haproxy/src/compression.c:313,1
    - Dst: b_add
      Src: /src/haproxy/src/compression.c:314,1
    - Dst: b_is_null
      Src: /src/haproxy/src/compression.c:321,1
    - Dst: memcpy
      Src: /src/haproxy/src/compression.c:323,1
    - Dst: b_tail
      Src: /src/haproxy/src/compression.c:323,1
    - Dst: b_add
      Src: /src/haproxy/src/compression.c:324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - comp_ctx
    - in_data
    - in_len
    - out
    argTypes:
    - struct comp_ctx*
    - char*
    - int
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 331
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 331
    functionName: rfc195x_add_data
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - b_add
    - b_tail
    - b_reset
    - b_is_null
    - memcpy
    - b_alloc
    linkageType: ''
    returnType: int
    signature: rfc195x_add_data(struct comp_ctx *comp_ctx, const char *in_data, int
      in_len, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_is_null
      Src: /src/haproxy/src/compression.c:348,1
    - Dst: b_head
      Src: /src/haproxy/src/compression.c:349,1
    - Dst: b_data
      Src: /src/haproxy/src/compression.c:350,1
    - Dst: b_data
      Src: /src/haproxy/src/compression.c:353,1
    - Dst: b_add
      Src: /src/haproxy/src/compression.c:356,1
    - Dst: slz_encode
      Src: /src/haproxy/src/compression.c:356,1
    - Dst: b_tail
      Src: /src/haproxy/src/compression.c:356,1
    - Dst: b_add
      Src: /src/haproxy/src/compression.c:359,1
    - Dst: slz_finish
      Src: /src/haproxy/src/compression.c:359,1
    - Dst: b_tail
      Src: /src/haproxy/src/compression.c:359,1
    - Dst: b_add
      Src: /src/haproxy/src/compression.c:361,1
    - Dst: slz_flush
      Src: /src/haproxy/src/compression.c:361,1
    - Dst: b_tail
      Src: /src/haproxy/src/compression.c:361,1
    - Dst: b_data
      Src: /src/haproxy/src/compression.c:363,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/compression.c:371,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - comp_ctx
    - out
    - finish
    argTypes:
    - struct comp_ctx*
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 382
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 382
    functionName: rfc195x_flush_or_finish
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - slz_encode
    - slz_flush
    - b_add
    - b_head
    - b_tail
    - slz_finish
    - b_data
    - b_is_null
    - read_freq_ctr
    linkageType: ''
    returnType: int
    signature: rfc195x_flush_or_finish(struct comp_ctx *comp_ctx, struct buffer *out,
      int finish)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rfc195x_flush_or_finish
      Src: /src/haproxy/src/compression.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - comp_ctx
    - out
    argTypes:
    - struct comp_ctx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: rfc195x_flush
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - rfc195x_flush_or_finish
    linkageType: ''
    returnType: int
    signature: rfc195x_flush(struct comp_ctx *comp_ctx, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rfc195x_flush_or_finish
      Src: /src/haproxy/src/compression.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - comp_ctx
    - out
    argTypes:
    - struct comp_ctx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: rfc195x_finish
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - rfc195x_flush_or_finish
    linkageType: ''
    returnType: int
    signature: rfc195x_finish(struct comp_ctx *comp_ctx, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deinit_comp_ctx
      Src: /src/haproxy/src/compression.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - comp_ctx
    argTypes:
    - struct comp_ctx**
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: rfc195x_end
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - deinit_comp_ctx
    linkageType: ''
    returnType: int
    signature: rfc195x_end(struct comp_ctx **comp_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/compression.c:420,1
    - Dst: create_pool
      Src: /src/haproxy/src/compression.c:422,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/compression.c:423,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/compression.c:426,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/compression.c:431,1
    - Dst: create_pool
      Src: /src/haproxy/src/compression.c:433,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/compression.c:434,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/compression.c:437,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/compression.c:442,1
    - Dst: create_pool
      Src: /src/haproxy/src/compression.c:444,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/compression.c:445,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/compression.c:448,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/compression.c:453,1
    - Dst: create_pool
      Src: /src/haproxy/src/compression.c:455,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/compression.c:456,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/compression.c:459,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/compression.c:464,1
    - Dst: create_pool
      Src: /src/haproxy/src/compression.c:466,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/compression.c:467,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/compression.c:470,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/compression.c:474,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/compression.c:475,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 488
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 488
    functionName: alloc_zlib
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_UNLOCK
    - pool_alloc
    - HA_SPIN_LOCK
    - create_pool
    - __ha_barrier_atomic_store
    - _HA_ATOMIC_ADD
    linkageType: ''
    returnType: void
    signature: '*alloc_zlib(void *opaque, unsigned int items, unsigned int size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/compression.c:507,1
    - Dst: pool_free
      Src: /src/haproxy/src/compression.c:511,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/src/compression.c:512,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/compression.c:513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 514
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 514
    functionName: free_zlib
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - __ha_barrier_atomic_store
    - ABORT_NOW
    - _HA_ATOMIC_SUB
    - pool_free
    linkageType: ''
    returnType: void
    signature: free_zlib(void *opaque, void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_comp_ctx
      Src: /src/haproxy/src/compression.c:523,1
    - Dst: deflateInit2
      Src: /src/haproxy/src/compression.c:528,1
    - Dst: deinit_comp_ctx
      Src: /src/haproxy/src/compression.c:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - comp_ctx
    - level
    argTypes:
    - struct comp_ctx**
    - int
    constantsTouched: []
    func_position:
      end: 536
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 536
    functionName: gzip_init
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - init_comp_ctx
    - deinit_comp_ctx
    - deflateInit2
    linkageType: ''
    returnType: int
    signature: gzip_init(struct comp_ctx **comp_ctx, int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_comp_ctx
      Src: /src/haproxy/src/compression.c:543,1
    - Dst: deflateInit2
      Src: /src/haproxy/src/compression.c:548,1
    - Dst: deinit_comp_ctx
      Src: /src/haproxy/src/compression.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - comp_ctx
    - level
    argTypes:
    - struct comp_ctx**
    - int
    constantsTouched: []
    func_position:
      end: 555
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 555
    functionName: raw_def_init
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - init_comp_ctx
    - deinit_comp_ctx
    - deflateInit2
    linkageType: ''
    returnType: int
    signature: raw_def_init(struct comp_ctx **comp_ctx, int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_comp_ctx
      Src: /src/haproxy/src/compression.c:565,1
    - Dst: deflateInit2
      Src: /src/haproxy/src/compression.c:570,1
    - Dst: deinit_comp_ctx
      Src: /src/haproxy/src/compression.c:571,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - comp_ctx
    - level
    argTypes:
    - struct comp_ctx**
    - int
    constantsTouched: []
    func_position:
      end: 578
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 578
    functionName: deflate_init
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - init_comp_ctx
    - deinit_comp_ctx
    - deflateInit2
    linkageType: ''
    returnType: int
    signature: deflate_init(struct comp_ctx **comp_ctx, int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deflate
      Src: /src/haproxy/src/compression.c:600,1
    - Dst: b_add
      Src: /src/haproxy/src/compression.c:605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - comp_ctx
    - in_data
    - in_len
    - out
    argTypes:
    - struct comp_ctx*
    - char*
    - int
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 608
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 608
    functionName: deflate_add_data
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - deflate
    - b_add
    linkageType: ''
    returnType: int
    signature: deflate_add_data(struct comp_ctx *comp_ctx, const char *in_data, int
      in_len, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_tail
      Src: /src/haproxy/src/compression.c:618,1
    - Dst: b_room
      Src: /src/haproxy/src/compression.c:619,1
    - Dst: deflate
      Src: /src/haproxy/src/compression.c:621,1
    - Dst: b_room
      Src: /src/haproxy/src/compression.c:625,1
    - Dst: b_add
      Src: /src/haproxy/src/compression.c:626,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/compression.c:629,1
    - Dst: deflateParams
      Src: /src/haproxy/src/compression.c:634,1
    - Dst: deflateParams
      Src: /src/haproxy/src/compression.c:640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - comp_ctx
    - out
    - flag
    argTypes:
    - struct comp_ctx*
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 644
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 644
    functionName: deflate_flush_or_finish
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - b_room
    - b_add
    - deflate
    - b_tail
    - deflateParams
    - read_freq_ctr
    linkageType: ''
    returnType: int
    signature: deflate_flush_or_finish(struct comp_ctx *comp_ctx, struct buffer *out,
      int flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deflate_flush_or_finish
      Src: /src/haproxy/src/compression.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - comp_ctx
    - out
    argTypes:
    - struct comp_ctx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 649
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 649
    functionName: deflate_flush
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - deflate_flush_or_finish
    linkageType: ''
    returnType: int
    signature: deflate_flush(struct comp_ctx *comp_ctx, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deflate_flush_or_finish
      Src: /src/haproxy/src/compression.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - comp_ctx
    - out
    argTypes:
    - struct comp_ctx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 654
      start: 651
    functionDepth: 2
    functionLinenumber: 651
    functionLinenumberEnd: 654
    functionName: deflate_finish
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - deflate_flush_or_finish
    linkageType: ''
    returnType: int
    signature: deflate_finish(struct comp_ctx *comp_ctx, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deflateEnd
      Src: /src/haproxy/src/compression.c:661,1
    - Dst: deinit_comp_ctx
      Src: /src/haproxy/src/compression.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - comp_ctx
    argTypes:
    - struct comp_ctx**
    constantsTouched: []
    func_position:
      end: 666
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 666
    functionName: deflate_end
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - deinit_comp_ctx
    - deflateEnd
    linkageType: ''
    returnType: int
    signature: deflate_end(struct comp_ctx **comp_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/compression.c:673,1
    - Dst: memprintf
      Src: /src/haproxy/src/compression.c:677,1
    - Dst: atoi
      Src: /src/haproxy/src/compression.c:681,1
    - Dst: memprintf
      Src: /src/haproxy/src/compression.c:683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 687
      start: 669
    functionDepth: 5
    functionLinenumber: 669
    functionLinenumberEnd: 687
    functionName: zlib_parse_global_memlevel
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "zlib_parse_global_memlevel(char **args, int section_type, struct proxy
      *curpx,\n                                      const struct proxy *defpx, const
      char *file, int line,\n                                      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/compression.c:695,1
    - Dst: memprintf
      Src: /src/haproxy/src/compression.c:699,1
    - Dst: atoi
      Src: /src/haproxy/src/compression.c:703,1
    - Dst: memprintf
      Src: /src/haproxy/src/compression.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 709
      start: 691
    functionDepth: 5
    functionLinenumber: 691
    functionLinenumberEnd: 709
    functionName: zlib_parse_global_windowsize
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "zlib_parse_global_windowsize(char **args, int section_type, struct
      proxy *curpx,\n                                        const struct proxy *defpx,
      const char *file, int line,\n                                        char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/compression.c:731,1
    - Dst: memprintf
      Src: /src/haproxy/src/compression.c:732,1
    - Dst: zlibVersion
      Src: /src/haproxy/src/compression.c:732,1
    - Dst: memprintf
      Src: /src/haproxy/src/compression.c:734,1
    - Dst: memprintf
      Src: /src/haproxy/src/compression.c:736,1
    - Dst: memprintf
      Src: /src/haproxy/src/compression.c:738,1
    - Dst: memprintf
      Src: /src/haproxy/src/compression.c:741,1
    - Dst: memprintf
      Src: /src/haproxy/src/compression.c:744,1
    - Dst: hap_register_build_opts
      Src: /src/haproxy/src/compression.c:746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 747
      start: 725
    functionDepth: 5
    functionLinenumber: 725
    functionLinenumberEnd: 747
    functionName: comp_register_build_opts
    functionSourceFile: /src/haproxy/src/compression.c
    functionUses: 0
    functionsReached:
    - memprintf
    - zlibVersion
    - hap_register_build_opts
    linkageType: ''
    returnType: void
    signature: comp_register_build_opts(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cause
    argTypes:
    - enum srv_adm_st_chg_cause
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: srv_adm_st_chg_cause
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*srv_adm_st_chg_cause(enum srv_adm_st_chg_cause cause)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cause
    argTypes:
    - enum srv_op_st_chg_cause
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: srv_op_st_chg_cause
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*srv_op_st_chg_cause(enum srv_op_st_chg_cause cause)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ns_to_sec
      Src: /src/haproxy/src/server.c:144,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/server.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: srv_downtime
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - ns_to_sec
    linkageType: ''
    returnType: int
    signature: srv_downtime(const struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - check
    argTypes:
    - struct check*
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: srv_getinter
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_getinter(const struct check *check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ipcpy
      Src: /src/haproxy/src/server.c:173,1
    - Dst: struct server*::proxy::lbprm::update_server_eweight
      Src: /src/haproxy/src/server.c:182,1
    - Dst: ipcpy
      Src: /src/haproxy/src/server.c:187,1
    - Dst: set_host_port
      Src: /src/haproxy/src/server.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - srv
    - addr
    - svc_port
    - mapped_port
    argTypes:
    - struct server*
    - struct sockaddr_storage*
    - unsigned int
    - uint8_t
    constantsTouched: []
    func_position:
      end: 190
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 190
    functionName: _srv_set_inetaddr_port
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - ipcpy
    - set_host_port
    - struct server*::proxy::lbprm::update_server_eweight
    linkageType: ''
    returnType: void
    signature: "_srv_set_inetaddr_port(struct server *srv,\n                                   const
      struct sockaddr_storage *addr,\n                                   unsigned
      int svc_port, uint8_t mapped_port)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _srv_set_inetaddr_port
      Src: /src/haproxy/src/server.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - srv
    - addr
    argTypes:
    - struct server*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: _srv_set_inetaddr
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - _srv_set_inetaddr_port
    linkageType: ''
    returnType: void
    signature: "_srv_set_inetaddr(struct server *srv,\n                              const
      struct sockaddr_storage *addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:230,1
    - Dst: event_hdl_async_equeue_pop
      Src: /src/haproxy/src/server.c:234,1
    - Dst: event_hdl_sub_type_equal
      Src: /src/haproxy/src/server.c:238,1
    - Dst: event_hdl_async_free_event
      Src: /src/haproxy/src/server.c:240,1
    - Dst: task_destroy
      Src: /src/haproxy/src/server.c:241,1
    - Dst: event_hdl_sub_type_equal
      Src: /src/haproxy/src/server.c:247,1
    - Dst: thread_isolated
      Src: /src/haproxy/src/server.c:264,1
    - Dst: thread_isolate_full
      Src: /src/haproxy/src/server.c:265,1
    - Dst: proxy_find_by_id
      Src: /src/haproxy/src/server.c:268,1
    - Dst: server_find_by_id_unique
      Src: /src/haproxy/src/server.c:271,1
    - Dst: memset
      Src: /src/haproxy/src/server.c:276,1
    - Dst: memcpy
      Src: /src/haproxy/src/server.c:284,1
    - Dst: _srv_set_inetaddr_port
      Src: /src/haproxy/src/server.c:297,1
    - Dst: srv_clr_admin_flag
      Src: /src/haproxy/src/server.c:307,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/server.c:311,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:312,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:313,1
    - Dst: send_log
      Src: /src/haproxy/src/server.c:314,1
    - Dst: srv_cleanup_connections
      Src: /src/haproxy/src/server.c:317,1
    - Dst: srv_set_dyncookie
      Src: /src/haproxy/src/server.c:318,1
    - Dst: srv_set_addr_desc
      Src: /src/haproxy/src/server.c:319,1
    - Dst: event_hdl_async_free_event
      Src: /src/haproxy/src/server.c:321,1
    - Dst: thread_isolated
      Src: /src/haproxy/src/server.c:328,1
    - Dst: thread_release
      Src: /src/haproxy/src/server.c:329,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:339,1
    - Dst: event_hdl_async_equeue_isempty
      Src: /src/haproxy/src/server.c:340,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/server.c:341,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 3
    argNames:
    - task
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 345
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 345
    functionName: server_atomic_sync
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - send_log
    - chunk_reset
    - event_hdl_async_equeue_pop
    - proxy_find_by_id
    - ha_warning
    - srv_set_dyncookie
    - event_hdl_async_equeue_isempty
    - thread_release
    - memset
    - BUG_ON
    - srv_cleanup_connections
    - srv_clr_admin_flag
    - task_wakeup
    - event_hdl_sub_type_equal
    - thread_isolate_full
    - _srv_set_inetaddr_port
    - chunk_printf
    - srv_set_addr_desc
    - thread_isolated
    - event_hdl_async_free_event
    - server_find_by_id_unique
    - task_destroy
    - memcpy
    linkageType: ''
    returnType: struct task
    signature: '*server_atomic_sync(struct task *task, void *context, unsigned int
      state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/server.c:357,1
    - Dst: event_hdl_async_equeue_init
      Src: /src/haproxy/src/server.c:361,1
    - Dst: event_hdl_sub_type_add
      Src: /src/haproxy/src/server.c:364,1
    - Dst: event_hdl_subscribe
      Src: /src/haproxy/src/server.c:365,1
    - Dst: EVENT_HDL_ASYNC_TASK
      Src: /src/haproxy/src/server.c:366,1
    - Dst: task_destroy
      Src: /src/haproxy/src/server.c:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 379
    functionName: server_atomic_sync_start
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - task_new_anywhere
    - event_hdl_async_equeue_init
    - task_destroy
    - EVENT_HDL_ASYNC_TASK
    - event_hdl_sub_type_add
    - event_hdl_subscribe
    linkageType: ''
    returnType: int
    signature: server_atomic_sync_start()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/src/server.c:392,1
    - Dst: snprintf
      Src: /src/haproxy/src/server.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - cb_data
    - srv
    - thread_isolate
    argTypes:
    - struct event_hdl_cb_data_server*
    - struct server*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 403
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 403
    functionName: _srv_event_hdl_prepare
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: "_srv_event_hdl_prepare(struct event_hdl_cb_data_server *cb_data,\n
      \                                         struct server *srv, uint8_t thread_isolate)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - checkres
    - check
    argTypes:
    - struct event_hdl_cb_data_server_checkres*
    - struct check*
    constantsTouched: []
    func_position:
      end: 417
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 417
    functionName: _srv_event_hdl_prepare_checkres
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "_srv_event_hdl_prepare_checkres(struct event_hdl_cb_data_server_checkres
      *checkres,\n                                     struct check *check)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _srv_event_hdl_prepare_checkres
      Src: /src/haproxy/src/server.c:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - cb_data
    - srv
    - type
    - cause
    - prev_state
    - requeued
    argTypes:
    - struct event_hdl_cb_data_server_state*
    - struct server*
    - int
    - int
    - enum srv_state
    - int
    constantsTouched: []
    func_position:
      end: 448
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 448
    functionName: _srv_event_hdl_prepare_state
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - _srv_event_hdl_prepare_checkres
    linkageType: ''
    returnType: void
    signature: "_srv_event_hdl_prepare_state(struct event_hdl_cb_data_server_state
      *cb_data,\n                                  struct server *srv, int type, int
      cause,\n                                  enum srv_state prev_state, int requeued)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_get_inetaddr
      Src: /src/haproxy/src/server.c:464,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - cb_data
    - srv
    - next_inetaddr
    - updater
    argTypes:
    - struct event_hdl_cb_data_server_inetaddr*
    - struct server*
    - struct server_inetaddr*
    - struct server_inetaddr_updater
    constantsTouched: []
    func_position:
      end: 478
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 478
    functionName: _srv_event_hdl_prepare_inetaddr
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - server_get_inetaddr
    linkageType: ''
    returnType: void
    signature: "_srv_event_hdl_prepare_inetaddr(struct event_hdl_cb_data_server_inetaddr
      *cb_data,\n                                            struct server *srv,\n
      \                                           const struct server_inetaddr *next_inetaddr,\n
      \                                           struct server_inetaddr_updater updater)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _srv_event_hdl_prepare
      Src: /src/haproxy/src/server.c:504,1
    - Dst: _srv_event_hdl_publish
      Src: /src/haproxy/src/server.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - event
    - srv
    - thread_isolate
    argTypes:
    - struct event_hdl_sub_type
    - struct server*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 506
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 506
    functionName: srv_event_hdl_publish
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - _srv_event_hdl_prepare
    - _srv_event_hdl_publish
    linkageType: ''
    returnType: void
    signature: "srv_event_hdl_publish(struct event_hdl_sub_type event,\n                                  struct
      server *srv, uint8_t thread_isolate)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _srv_event_hdl_prepare_checkres
      Src: /src/haproxy/src/server.c:519,1
    - Dst: _srv_event_hdl_prepare
      Src: /src/haproxy/src/server.c:524,1
    - Dst: _srv_event_hdl_publish
      Src: /src/haproxy/src/server.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - srv
    - check
    argTypes:
    - struct server*
    - struct check*
    constantsTouched: []
    func_position:
      end: 527
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 527
    functionName: srv_event_hdl_publish_check
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - _srv_event_hdl_prepare
    - _srv_event_hdl_publish
    - _srv_event_hdl_prepare_checkres
    linkageType: ''
    returnType: void
    signature: srv_event_hdl_publish_check(struct server *srv, struct check *check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:546,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:547,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 553
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 553
    functionName: srv_check_for_dup_dyncookie
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - strcmp
    linkageType: ''
    returnType: void
    signature: srv_check_for_dup_dyncookie(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/server.c:568,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:574,1
    - Dst: memcpy
      Src: /src/haproxy/src/server.c:592,1
    - Dst: memcpy
      Src: /src/haproxy/src/server.c:593,1
    - Dst: htonl
      Src: /src/haproxy/src/server.c:602,1
    - Dst: memcpy
      Src: /src/haproxy/src/server.c:603,1
    - Dst: XXH64
      Src: /src/haproxy/src/server.c:604,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:605,1
    - Dst: srv_check_for_dup_dyncookie
      Src: /src/haproxy/src/server.c:615,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/server.c:617,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 618
      start: 558
    functionDepth: 5
    functionLinenumber: 558
    functionLinenumberEnd: 618
    functionName: srv_set_dyncookie
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - memprintf
    - srv_check_for_dup_dyncookie
    - HA_RWLOCK_RDUNLOCK
    - strlen
    - HA_RWLOCK_RDLOCK
    - htonl
    - XXH64
    - memcpy
    linkageType: ''
    returnType: void
    signature: srv_set_dyncookie(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isteq
      Src: /src/haproxy/src/server.c:643,1
    - Dst: ist
      Src: /src/haproxy/src/server.c:643,1
    - Dst: isteq
      Src: /src/haproxy/src/server.c:651,1
    - Dst: ist
      Src: /src/haproxy/src/server.c:651,1
    - Dst: ist2
      Src: /src/haproxy/src/server.c:661,1
    - Dst: istchr
      Src: /src/haproxy/src/server.c:669,1
    - Dst: isteq
      Src: /src/haproxy/src/server.c:674,1
    - Dst: ist
      Src: /src/haproxy/src/server.c:674,1
    - Dst: isteq
      Src: /src/haproxy/src/server.c:677,1
    - Dst: ist
      Src: /src/haproxy/src/server.c:677,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 682
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 682
    functionName: srv_check_reuse_ws
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - ist2
    - isteq
    - istchr
    - ist
    linkageType: ''
    returnType: int
    signature: srv_check_reuse_ws(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_mux_proto
      Src: /src/haproxy/src/server.c:697,1
    - Dst: ist
      Src: /src/haproxy/src/server.c:697,1
    - Dst: get_mux_proto
      Src: /src/haproxy/src/server.c:701,1
    - Dst: ist
      Src: /src/haproxy/src/server.c:701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 706
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 706
    functionName: srv_get_ws_proto
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - get_mux_proto
    - ist
    linkageType: ''
    returnType: struct mux_ops
    signature: '*srv_get_ws_proto(struct server *srv)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:720,1
    - Dst: sa2str
      Src: /src/haproxy/src/server.c:722,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:725,1
    - Dst: free
      Src: /src/haproxy/src/server.c:726,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/server.c:730,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/server.c:731,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/server.c:732,1
    - Dst: free
      Src: /src/haproxy/src/server.c:734,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/server.c:741,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/server.c:742,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/server.c:743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - s
    - reattach
    argTypes:
    - struct server*
    - int
    constantsTouched: []
    func_position:
      end: 746
      start: 714
    functionDepth: 4
    functionLinenumber: 714
    functionLinenumberEnd: 746
    functionName: srv_set_addr_desc
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - strcmp
    - ebis_insert
    - free
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    - ebpt_delete
    - BUG_ON
    - sa2str
    linkageType: ''
    returnType: void
    signature: srv_set_addr_desc(struct server *s, int reattach)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/server.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kwl
    argTypes:
    - struct srv_kw_list*
    constantsTouched: []
    func_position:
      end: 755
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 755
    functionName: srv_register_keywords
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: srv_register_keywords(struct srv_kw_list *kwl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/server.c:771,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:773,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/server.c:775,1
    - Dst: strncmp
      Src: /src/haproxy/src/server.c:777,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - kw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 787
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 787
    functionName: srv_find_kw
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    - strlen
    - strncmp
    - strchr
    linkageType: ''
    returnType: struct srv_kw
    signature: '*srv_find_kw(const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/server.c:802,1
    - Dst: srv_find_kw
      Src: /src/haproxy/src/server.c:805,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:806,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - out
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 815
      start: 793
    functionDepth: 5
    functionLinenumber: 793
    functionLinenumberEnd: 815
    functionName: srv_dump_kws
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - memprintf
    - srv_find_kw
    linkageType: ''
    returnType: void
    signature: srv_dump_kws(char **out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/server.c:833,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/server.c:834,1
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/server.c:836,1
    - Dst: word_fingerprint_distance
      Src: /src/haproxy/src/server.c:837,1
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/server.c:846,1
    - Dst: word_fingerprint_distance
      Src: /src/haproxy/src/server.c:847,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:854,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:854,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - word
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 858
      start: 823
    functionDepth: 2
    functionLinenumber: 823
    functionLinenumberEnd: 858
    functionName: srv_find_best_kw
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - make_word_fingerprint
    - strlen
    - list_for_each_entry
    - word_fingerprint_distance
    linkageType: ''
    returnType: char
    signature: '*srv_find_best_kw(const char *word)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 866
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 866
    functionName: srv_parse_backup
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "srv_parse_backup(char **args, int *cur_arg,\n                            struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:877,1
    - Dst: free
      Src: /src/haproxy/src/server.c:881,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:882,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 886
      start: 870
    functionDepth: 5
    functionLinenumber: 870
    functionLinenumberEnd: 886
    functionName: srv_parse_cookie
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strlen
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: "srv_parse_cookie(char **args, int *cur_arg,\n                            struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 897
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 897
    functionName: srv_parse_disabled
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "srv_parse_disabled(char **args, int *cur_arg,\n                              struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 908
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 908
    functionName: srv_parse_enabled
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "srv_parse_enabled(char **args, int *cur_arg,\n                             struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:915,1
    - Dst: atoi
      Src: /src/haproxy/src/server.c:920,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 929
      start: 911
    functionDepth: 5
    functionLinenumber: 911
    functionLinenumberEnd: 929
    functionName: srv_parse_error_limit
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    linkageType: ''
    returnType: int
    signature: "srv_parse_error_limit(char **args, int *cur_arg,\n                                 struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:939,1
    - Dst: guid_insert
      Src: /src/haproxy/src/server.c:944,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:945,1
    - Dst: ha_free
      Src: /src/haproxy/src/server.c:946,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 951
      start: 932
    functionDepth: 5
    functionLinenumber: 932
    functionLinenumberEnd: 951
    functionName: srv_parse_guid
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - guid_insert
    - ha_free
    linkageType: ''
    returnType: int
    signature: "srv_parse_guid(char **args, int *cur_arg,\n                        struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:958,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:962,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:965,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:968,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 978
      start: 954
    functionDepth: 5
    functionLinenumber: 954
    functionLinenumberEnd: 978
    functionName: srv_parse_ws
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "srv_parse_ws(char **args, int *cur_arg,\n                        struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:985,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:989,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:992,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:995,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:999,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1004
      start: 981
    functionDepth: 5
    functionLinenumber: 981
    functionLinenumberEnd: 1004
    functionName: srv_parse_hash_key
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "srv_parse_hash_key(char **args, int *cur_arg,\n\t\t\t      struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/server.c:1015,1
    - Dst: memset
      Src: /src/haproxy/src/server.c:1023,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1024,1
    - Dst: srv_append_initaddr
      Src: /src/haproxy/src/server.c:1025,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1027,1
    - Dst: srv_append_initaddr
      Src: /src/haproxy/src/server.c:1028,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1030,1
    - Dst: srv_append_initaddr
      Src: /src/haproxy/src/server.c:1031,1
    - Dst: str2ip2
      Src: /src/haproxy/src/server.c:1033,1
    - Dst: is_addr
      Src: /src/haproxy/src/server.c:1034,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1035,1
    - Dst: srv_append_initaddr
      Src: /src/haproxy/src/server.c:1040,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1043,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1048,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1055
      start: 1007
    functionDepth: 5
    functionLinenumber: 1007
    functionLinenumberEnd: 1055
    functionName: srv_parse_init_addr
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - is_addr
    - strcmp
    - memset
    - str2ip2
    - srv_append_initaddr
    linkageType: ''
    returnType: int
    signature: "srv_parse_init_addr(char **args, int *cur_arg,\n                               struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1061,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1063,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1065,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1067,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1076
      start: 1058
    functionDepth: 5
    functionLinenumber: 1058
    functionLinenumberEnd: 1076
    functionName: srv_parse_init_state
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "srv_parse_init_state(char **args, int *cur_arg,\n\t\t\t\t\t\t\t   struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1083,1
    - Dst: atoi
      Src: /src/haproxy/src/server.c:1088,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1097
      start: 1079
    functionDepth: 5
    functionLinenumber: 1079
    functionLinenumberEnd: 1097
    functionName: srv_parse_log_bufsize
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    linkageType: ''
    returnType: int
    signature: "srv_parse_log_bufsize(char **args, int *cur_arg,\n                                 struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1103,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1105,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1114
      start: 1100
    functionDepth: 5
    functionLinenumber: 1100
    functionLinenumberEnd: 1114
    functionName: srv_parse_log_proto
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "srv_parse_log_proto(char **args, int *cur_arg,\n                               struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/haproxy/src/server.c:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1122
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1122
    functionName: srv_parse_maxconn
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - atol
    linkageType: ''
    returnType: int
    signature: "srv_parse_maxconn(char **args, int *cur_arg,\n                             struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/haproxy/src/server.c:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1130
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1130
    functionName: srv_parse_maxqueue
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - atol
    linkageType: ''
    returnType: int
    signature: "srv_parse_maxqueue(char **args, int *cur_arg,\n                              struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/haproxy/src/server.c:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1138
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1138
    functionName: srv_parse_minconn
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - atol
    linkageType: ''
    returnType: int
    signature: "srv_parse_minconn(char **args, int *cur_arg,\n                             struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1146,1
    - Dst: atoi
      Src: /src/haproxy/src/server.c:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1152
      start: 1140
    functionDepth: 5
    functionLinenumber: 1140
    functionLinenumberEnd: 1152
    functionName: srv_parse_max_reuse
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    linkageType: ''
    returnType: int
    signature: srv_parse_max_reuse(char **args, int *cur_arg, struct proxy *curproxy,
      struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1162,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/server.c:1165,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1167,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1172,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1184
      start: 1154
    functionDepth: 5
    functionLinenumber: 1154
    functionLinenumberEnd: 1184
    functionName: srv_parse_pool_purge_delay
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_time_err
    linkageType: ''
    returnType: int
    signature: srv_parse_pool_purge_delay(char **args, int *cur_arg, struct proxy
      *curproxy, struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1192,1
    - Dst: ha_free
      Src: /src/haproxy/src/server.c:1196,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:1197,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1204
      start: 1186
    functionDepth: 5
    functionLinenumber: 1186
    functionLinenumberEnd: 1204
    functionName: srv_parse_pool_conn_name
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_free
    - strdup
    linkageType: ''
    returnType: int
    signature: srv_parse_pool_conn_name(char **args, int *cur_arg, struct proxy *curproxy,
      struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1212,1
    - Dst: atoi
      Src: /src/haproxy/src/server.c:1216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1218
      start: 1206
    functionDepth: 5
    functionLinenumber: 1206
    functionLinenumberEnd: 1218
    functionName: srv_parse_pool_low_conn
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    linkageType: ''
    returnType: int
    signature: srv_parse_pool_low_conn(char **args, int *cur_arg, struct proxy *curproxy,
      struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1226,1
    - Dst: atoi
      Src: /src/haproxy/src/server.c:1230,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1237
      start: 1220
    functionDepth: 5
    functionLinenumber: 1220
    functionLinenumberEnd: 1237
    functionName: srv_parse_pool_max_conn
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    linkageType: ''
    returnType: int
    signature: srv_parse_pool_max_conn(char **args, int *cur_arg, struct proxy *curproxy,
      struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1245,1
    - Dst: atol
      Src: /src/haproxy/src/server.c:1249,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1253,1
    - Dst: eb32_lookup
      Src: /src/haproxy/src/server.c:1257,1
    - Dst: container_of
      Src: /src/haproxy/src/server.c:1259,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1268
      start: 1240
    functionDepth: 5
    functionLinenumber: 1240
    functionLinenumberEnd: 1268
    functionName: srv_parse_id
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    - container_of
    - eb32_lookup
    linkageType: ''
    returnType: int
    signature: srv_parse_id(char **args, int *cur_arg, struct proxy *curproxy, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1279,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1283,1
    - Dst: netns_store_lookup
      Src: /src/haproxy/src/server.c:1297,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:1297,1
    - Dst: netns_store_insert
      Src: /src/haproxy/src/server.c:1299,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1302,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1312
      start: 1271
    functionDepth: 5
    functionLinenumber: 1271
    functionLinenumberEnd: 1312
    functionName: srv_parse_namespace
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - strlen
    - netns_store_insert
    - netns_store_lookup
    linkageType: ''
    returnType: int
    signature: "srv_parse_namespace(char **args, int *cur_arg,\n                               struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1320
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1320
    functionName: srv_parse_no_backup
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "srv_parse_no_backup(char **args, int *cur_arg,\n                               struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - srv
    - flags
    argTypes:
    - struct server*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1328
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1328
    functionName: srv_disable_pp_flags
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_disable_pp_flags(struct server *srv, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_disable_pp_flags
      Src: /src/haproxy/src/server.c:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1335
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1335
    functionName: srv_parse_no_send_proxy
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - srv_disable_pp_flags
    linkageType: ''
    returnType: int
    signature: "srv_parse_no_send_proxy(char **args, int *cur_arg,\n                                   struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_disable_pp_flags
      Src: /src/haproxy/src/server.c:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1342
      start: 1338
    functionDepth: 1
    functionLinenumber: 1338
    functionLinenumberEnd: 1342
    functionName: srv_parse_no_send_proxy_v2
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - srv_disable_pp_flags
    linkageType: ''
    returnType: int
    signature: "srv_parse_no_send_proxy_v2(char **args, int *cur_arg,\n                                      struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/haproxy/src/server.c:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1350
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1350
    functionName: srv_parse_shard
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - atol
    linkageType: ''
    returnType: int
    signature: "srv_parse_shard(char **args, int *cur_arg,\n                           struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1358
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1358
    functionName: srv_parse_no_tfo
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "srv_parse_no_tfo(char **args, int *cur_arg,\n                            struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1366
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1366
    functionName: srv_parse_non_stick
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "srv_parse_non_stick(char **args, int *cur_arg,\n                               struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - srv
    - flags
    argTypes:
    - struct server*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1373
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1373
    functionName: srv_enable_pp_flags
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_enable_pp_flags(struct server *srv, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1381,1
    - Dst: ist
      Src: /src/haproxy/src/server.c:1384,1
    - Dst: get_mux_proto
      Src: /src/haproxy/src/server.c:1385,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1391
      start: 1375
    functionDepth: 5
    functionLinenumber: 1375
    functionLinenumberEnd: 1391
    functionName: srv_parse_proto
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - get_mux_proto
    - ist
    linkageType: ''
    returnType: int
    signature: "srv_parse_proto(char **args, int *cur_arg,\n\t\t\t   struct proxy
      *px, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/server.c:1399,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1402,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1404,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1407,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1410,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1413,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1416,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1418,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1420,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1428,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1430
      start: 1394
    functionDepth: 5
    functionLinenumber: 1394
    functionLinenumberEnd: 1430
    functionName: srv_parse_proxy_v2_options
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - strchr
    linkageType: ''
    returnType: int
    signature: "srv_parse_proxy_v2_options(char **args, int *cur_arg,\n\t\t\t\t      struct
      proxy *px, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1440,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1444,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1447,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1450,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1452,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1464
      start: 1433
    functionDepth: 5
    functionLinenumber: 1433
    functionLinenumberEnd: 1464
    functionName: srv_parse_observe
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "srv_parse_observe(char **args, int *cur_arg,\n                             struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1470,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1472,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1474,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1476,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1486
      start: 1467
    functionDepth: 5
    functionLinenumber: 1467
    functionLinenumberEnd: 1486
    functionName: srv_parse_on_error
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "srv_parse_on_error(char **args, int *cur_arg,\n                              struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1492,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1501
      start: 1489
    functionDepth: 5
    functionLinenumber: 1489
    functionLinenumberEnd: 1501
    functionName: srv_parse_on_marked_down
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "srv_parse_on_marked_down(char **args, int *cur_arg,\n                                    struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1507,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1516
      start: 1504
    functionDepth: 5
    functionLinenumber: 1504
    functionLinenumberEnd: 1516
    functionName: srv_parse_on_marked_up
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "srv_parse_on_marked_up(char **args, int *cur_arg,\n                                  struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1526,1
    - Dst: free
      Src: /src/haproxy/src/server.c:1530,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:1531,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:1532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1535
      start: 1519
    functionDepth: 5
    functionLinenumber: 1519
    functionLinenumberEnd: 1535
    functionName: srv_parse_redir
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strlen
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: "srv_parse_redir(char **args, int *cur_arg,\n                           struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/server.c:1541,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:1542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1544
      start: 1538
    functionDepth: 3
    functionLinenumber: 1538
    functionLinenumberEnd: 1544
    functionName: srv_parse_resolvers
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: "srv_parse_resolvers(char **args, int *cur_arg,\n                           struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1555,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1570,1
    - Dst: str2net
      Src: /src/haproxy/src/server.c:1581,1
    - Dst: str62net
      Src: /src/haproxy/src/server.c:1585,1
    - Dst: len2mask6
      Src: /src/haproxy/src/server.c:1588,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1601
      start: 1547
    functionDepth: 5
    functionLinenumber: 1547
    functionLinenumberEnd: 1601
    functionName: srv_parse_resolve_net
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - len2mask6
    - str62net
    - str2net
    linkageType: ''
    returnType: int
    signature: "srv_parse_resolve_net(char **args, int *cur_arg,\n                                 struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1615,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1618,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1621,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1625,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1632
      start: 1604
    functionDepth: 5
    functionLinenumber: 1604
    functionLinenumberEnd: 1632
    functionName: srv_parse_resolve_opts
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "srv_parse_resolve_opts(char **args, int *cur_arg,\n                                  struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1638,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1640,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1649
      start: 1635
    functionDepth: 5
    functionLinenumber: 1635
    functionLinenumberEnd: 1649
    functionName: srv_parse_resolve_prefer
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "srv_parse_resolve_prefer(char **args, int *cur_arg,\n                                    struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_enable_pp_flags
      Src: /src/haproxy/src/server.c:1655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1656
      start: 1652
    functionDepth: 1
    functionLinenumber: 1652
    functionLinenumberEnd: 1656
    functionName: srv_parse_send_proxy
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - srv_enable_pp_flags
    linkageType: ''
    returnType: int
    signature: "srv_parse_send_proxy(char **args, int *cur_arg,\n                                struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_enable_pp_flags
      Src: /src/haproxy/src/server.c:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1663
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1663
    functionName: srv_parse_send_proxy_v2
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - srv_enable_pp_flags
    linkageType: ''
    returnType: int
    signature: "srv_parse_send_proxy_v2(char **args, int *cur_arg,\n                                   struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1675,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:1679,1
    - Dst: strtoul
      Src: /src/haproxy/src/server.c:1684,1
    - Dst: unlikely
      Src: /src/haproxy/src/server.c:1685,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1686,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1690,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1694,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1698,1
    - Dst: malloc
      Src: /src/haproxy/src/server.c:1703,1
    - Dst: unlikely
      Src: /src/haproxy/src/server.c:1704,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1705,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/server.c:1709,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:1710,1
    - Dst: unlikely
      Src: /src/haproxy/src/server.c:1711,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1712,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/server.c:1716,1
    - Dst: free
      Src: /src/haproxy/src/server.c:1723,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1726
      start: 1666
    functionDepth: 5
    functionLinenumber: 1666
    functionLinenumberEnd: 1726
    functionName: srv_parse_set_proxy_v2_tlv_fmt
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - malloc
    - lf_expr_init
    - strlen
    - LIST_APPEND
    - strdup
    - free
    - strtoul
    - unlikely
    linkageType: ''
    returnType: int
    signature: "srv_parse_set_proxy_v2_tlv_fmt(char **args, int *cur_arg,\n                                   struct
      proxy *px, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1737,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1742,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1754
      start: 1729
    functionDepth: 5
    functionLinenumber: 1729
    functionLinenumberEnd: 1754
    functionName: srv_parse_slowstart
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: "srv_parse_slowstart(char **args, int *cur_arg,\n                               struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1767,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/server.c:1773,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1777,1
    - Dst: port_range_alloc_range
      Src: /src/haproxy/src/server.c:1787,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:1789,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1798,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:1801,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1805,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1809,1
    - Dst: strncmp
      Src: /src/haproxy/src/server.c:1813,1
    - Dst: isspace
      Src: /src/haproxy/src/server.c:1817,1
    - Dst: isspace
      Src: /src/haproxy/src/server.c:1821,1
    - Dst: free
      Src: /src/haproxy/src/server.c:1826,1
    - Dst: calloc
      Src: /src/haproxy/src/server.c:1827,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:1829,1
    - Dst: memcpy
      Src: /src/haproxy/src/server.c:1833,1
    - Dst: isspace
      Src: /src/haproxy/src/server.c:1838,1
    - Dst: isdigit
      Src: /src/haproxy/src/server.c:1845,1
    - Dst: strl2ic
      Src: /src/haproxy/src/server.c:1847,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:1851,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/server.c:1861,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:1865,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:1876,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:1881,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:1884,1
    - Dst: free
      Src: /src/haproxy/src/server.c:1887,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:1888,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:1889,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:1892,1
    - Dst: free
      Src: /src/haproxy/src/server.c:1905,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 117
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1907
      start: 1757
    functionDepth: 5
    functionLinenumber: 1757
    functionLinenumberEnd: 1907
    functionName: srv_parse_source
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_alert
    - isspace
    - strncmp
    - str2sa_range
    - port_range_alloc_range
    - strcmp
    - calloc
    - strlen
    - strdup
    - free
    - memcpy
    - isdigit
    - strl2ic
    linkageType: ''
    returnType: int
    signature: "srv_parse_source(char **args, int *cur_arg,\n                            struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1915
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1915
    functionName: srv_parse_stick
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "srv_parse_stick(char **args, int *cur_arg,\n                           struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1925,1
    - Dst: free
      Src: /src/haproxy/src/server.c:1929,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:1930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1933
      start: 1918
    functionDepth: 5
    functionLinenumber: 1918
    functionLinenumberEnd: 1933
    functionName: srv_parse_track
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: "srv_parse_track(char **args, int *cur_arg,\n                           struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1946,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/server.c:1951,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1955,1
    - Dst: free
      Src: /src/haproxy/src/server.c:1965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curproxy
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1967
      start: 1936
    functionDepth: 5
    functionLinenumber: 1936
    functionLinenumberEnd: 1967
    functionName: srv_parse_socks4
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - str2sa_range
    - free
    linkageType: ''
    returnType: int
    signature: "srv_parse_socks4(char **args, int *cur_arg,\n                            struct
      proxy *curproxy, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1975
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1975
    functionName: srv_parse_tfo
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_parse_tfo(char **args, int *cur_arg, struct proxy *px, struct server
      *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1983
      start: 1978
    functionDepth: 5
    functionLinenumber: 1978
    functionLinenumberEnd: 1983
    functionName: srv_parse_usesrc
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: srv_parse_usesrc(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/haproxy/src/server.c:1990,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:1992,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1999
      start: 1986
    functionDepth: 5
    functionLinenumber: 1986
    functionLinenumberEnd: 1999
    functionName: srv_parse_weight
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    linkageType: ''
    returnType: int
    signature: srv_parse_weight(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2007
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2007
    functionName: srv_parse_strict_maxconn
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_parse_strict_maxconn(char **args, int *cur_arg, struct proxy *px,
      struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/server.c:2011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 2012
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2012
    functionName: srv_has_streams
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: int
    signature: srv_has_streams(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_FOR_EACH_ENTRY_LOCKED
      Src: /src/haproxy/src/server.c:2027,1
    - Dst: stream_shutdown
      Src: /src/haproxy/src/server.c:2029,1
    - Dst: pendconn_redistribute
      Src: /src/haproxy/src/server.c:2032,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - srv
    - why
    argTypes:
    - struct server*
    - int
    constantsTouched: []
    func_position:
      end: 2033
      start: 2020
    functionDepth: 3
    functionLinenumber: 2020
    functionLinenumberEnd: 2033
    functionName: srv_shutdown_streams
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 2
    functionsReached:
    - stream_shutdown
    - pendconn_redistribute
    - MT_LIST_FOR_EACH_ENTRY_LOCKED
    linkageType: ''
    returnType: void
    signature: srv_shutdown_streams(struct server *srv, int why)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_shutdown_streams
      Src: /src/haproxy/src/server.c:2047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - px
    - why
    argTypes:
    - struct proxy*
    - int
    constantsTouched: []
    func_position:
      end: 2048
      start: 2041
    functionDepth: 4
    functionLinenumber: 2041
    functionLinenumberEnd: 2048
    functionName: srv_shutdown_backup_streams
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - srv_shutdown_streams
    linkageType: ''
    returnType: void
    signature: srv_shutdown_backup_streams(struct proxy *px, int why)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_append_info
      Src: /src/haproxy/src/server.c:2056,1
    - Dst: check_append_info
      Src: /src/haproxy/src/server.c:2059,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:2062,1
    - Dst: srv_op_st_chg_cause
      Src: /src/haproxy/src/server.c:2062,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - msg
    - s
    - cause
    argTypes:
    - struct buffer*
    - struct server*
    - enum srv_op_st_chg_cause
    constantsTouched: []
    func_position:
      end: 2065
      start: 2050
    functionDepth: 1
    functionLinenumber: 2050
    functionLinenumberEnd: 2065
    functionName: srv_append_op_chg_cause
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - check_append_info
    - srv_op_st_chg_cause
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: srv_append_op_chg_cause(struct buffer *msg, struct server *s, enum
      srv_op_st_chg_cause cause)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:2070,1
    - Dst: srv_adm_st_chg_cause
      Src: /src/haproxy/src/server.c:2070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - msg
    - s
    - cause
    argTypes:
    - struct buffer*
    - struct server*
    - enum srv_adm_st_chg_cause
    constantsTouched: []
    func_position:
      end: 2071
      start: 2067
    functionDepth: 1
    functionLinenumber: 2067
    functionLinenumberEnd: 2071
    functionName: srv_append_adm_chg_cause
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - srv_adm_st_chg_cause
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: srv_append_adm_chg_cause(struct buffer *msg, struct server *s, enum
      srv_adm_st_chg_cause cause)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:2086,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:2091,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:2097,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - msg
    - s
    - xferred
    - forced
    argTypes:
    - struct buffer*
    - struct server*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2103
      start: 2082
    functionDepth: 1
    functionLinenumber: 2082
    functionLinenumberEnd: 2103
    functionName: srv_append_more
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "srv_append_more(struct buffer *msg, struct server *s,\n                            int
      xferred, int forced)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_update_status
      Src: /src/haproxy/src/server.c:2121,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:2124,1
    - Dst: srv_set_stopped
      Src: /src/haproxy/src/server.c:2125,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:2126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - s
    - cause
    argTypes:
    - struct server*
    - enum srv_op_st_chg_cause
    constantsTouched: []
    func_position:
      end: 2128
      start: 2111
    functionDepth: 1
    functionLinenumber: 2111
    functionLinenumberEnd: 2128
    functionName: srv_set_stopped
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 5
    functionsReached:
    - HA_SPIN_LOCK
    - srv_update_status
    - srv_set_stopped
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: void
    signature: srv_set_stopped(struct server *s, enum srv_op_st_chg_cause cause)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_update_status
      Src: /src/haproxy/src/server.c:2152,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:2155,1
    - Dst: srv_set_running
      Src: /src/haproxy/src/server.c:2156,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:2157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - s
    - cause
    argTypes:
    - struct server*
    - enum srv_op_st_chg_cause
    constantsTouched: []
    func_position:
      end: 2159
      start: 2136
    functionDepth: 1
    functionLinenumber: 2136
    functionLinenumberEnd: 2159
    functionName: srv_set_running
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 5
    functionsReached:
    - HA_SPIN_LOCK
    - srv_update_status
    - srv_set_running
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: void
    signature: srv_set_running(struct server *s, enum srv_op_st_chg_cause cause)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_update_status
      Src: /src/haproxy/src/server.c:2180,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:2183,1
    - Dst: srv_set_stopping
      Src: /src/haproxy/src/server.c:2184,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:2185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - s
    - cause
    argTypes:
    - struct server*
    - enum srv_op_st_chg_cause
    constantsTouched: []
    func_position:
      end: 2187
      start: 2167
    functionDepth: 1
    functionLinenumber: 2167
    functionLinenumberEnd: 2187
    functionName: srv_set_stopping
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 4
    functionsReached:
    - HA_SPIN_LOCK
    - srv_update_status
    - HA_SPIN_UNLOCK
    - srv_set_stopping
    linkageType: ''
    returnType: void
    signature: srv_set_stopping(struct server *s, enum srv_op_st_chg_cause cause)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_update_status
      Src: /src/haproxy/src/server.c:2213,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:2227,1
    - Dst: srv_set_admin_flag
      Src: /src/haproxy/src/server.c:2228,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:2229,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - s
    - mode
    - cause
    argTypes:
    - struct server*
    - enum srv_admin
    - enum srv_adm_st_chg_cause
    constantsTouched: []
    func_position:
      end: 2231
      start: 2199
    functionDepth: 1
    functionLinenumber: 2199
    functionLinenumberEnd: 2231
    functionName: srv_set_admin_flag
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 2
    functionsReached:
    - HA_SPIN_LOCK
    - srv_update_status
    - HA_SPIN_UNLOCK
    - srv_set_admin_flag
    linkageType: ''
    returnType: void
    signature: srv_set_admin_flag(struct server *s, enum srv_admin mode, enum srv_adm_st_chg_cause
      cause)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_update_status
      Src: /src/haproxy/src/server.c:2255,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:2268,1
    - Dst: srv_clr_admin_flag
      Src: /src/haproxy/src/server.c:2269,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:2270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - s
    - mode
    argTypes:
    - struct server*
    - enum srv_admin
    constantsTouched: []
    func_position:
      end: 2272
      start: 2241
    functionDepth: 1
    functionLinenumber: 2241
    functionLinenumberEnd: 2272
    functionName: srv_clr_admin_flag
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 3
    functionsReached:
    - HA_SPIN_LOCK
    - srv_update_status
    - HA_SPIN_UNLOCK
    - srv_clr_admin_flag
    linkageType: ''
    returnType: void
    signature: srv_clr_admin_flag(struct server *s, enum srv_admin mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:2285,1
    - Dst: srv_set_admin_flag
      Src: /src/haproxy/src/server.c:2287,1
    - Dst: srv_set_admin_flag
      Src: /src/haproxy/src/server.c:2290,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:2291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 2293
      start: 2277
    functionDepth: 2
    functionLinenumber: 2277
    functionLinenumberEnd: 2293
    functionName: srv_propagate_admin_state
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - HA_SPIN_UNLOCK
    - srv_set_admin_flag
    linkageType: ''
    returnType: void
    signature: srv_propagate_admin_state(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_propagate_admin_state
      Src: /src/haproxy/src/server.c:2306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2308
      start: 2299
    functionDepth: 3
    functionLinenumber: 2299
    functionLinenumberEnd: 2308
    functionName: srv_compute_all_admin_states
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - srv_propagate_admin_state
    linkageType: ''
    returnType: void
    signature: srv_compute_all_admin_states(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ns_to_sec
      Src: /src/haproxy/src/server.c:2423,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/server.c:2423,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/server.c:2435,1
    - Dst: srv_update_status
      Src: /src/haproxy/src/server.c:2443,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - sv
    - must_update
    argTypes:
    - struct server*
    - int
    constantsTouched: []
    func_position:
      end: 2444
      start: 2418
    functionDepth: 1
    functionLinenumber: 2418
    functionLinenumberEnd: 2444
    functionName: server_recalc_eweight
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - ns_to_sec
    - srv_update_status
    linkageType: ''
    returnType: void
    signature: server_recalc_eweight(struct server *sv, int must_update)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct server*::proxy::lbprm::server_requeue
      Src: /src/haproxy/src/server.c:2458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2460
      start: 2450
    functionDepth: 1
    functionLinenumber: 2450
    functionLinenumberEnd: 2460
    functionName: server_requeue
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - struct server*::proxy::lbprm::server_requeue
    linkageType: ''
    returnType: struct task
    signature: '*server_requeue(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/haproxy/src/server.c:2483,1
    - Dst: server_recalc_eweight
      Src: /src/haproxy/src/server.c:2505,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - sv
    - weight_str
    argTypes:
    - struct server*
    - char*
    constantsTouched: []
    func_position:
      end: 2508
      start: 2468
    functionDepth: 2
    functionLinenumber: 2468
    functionLinenumberEnd: 2508
    functionName: server_parse_weight_change_request
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - server_recalc_eweight
    - strtol
    linkageType: ''
    returnType: char
    signature: "*server_parse_weight_change_request(struct server *sv,\n\t\t\t\t\t
      \      const char *weight_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/haproxy/src/server.c:2522,1
    - Dst: may_dequeue_tasks
      Src: /src/haproxy/src/server.c:2534,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/server.c:2535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - sv
    - maxconn_str
    argTypes:
    - struct server*
    - char*
    constantsTouched: []
    func_position:
      end: 2538
      start: 2513
    functionDepth: 4
    functionLinenumber: 2513
    functionLinenumberEnd: 2538
    functionName: server_parse_maxconn_change_request
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - process_srv_queue
    - strtol
    - may_dequeue_tasks
    linkageType: ''
    returnType: char
    signature: "*server_parse_maxconn_change_request(struct server *sv,\n                                                const
      char *maxconn_str)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/server.c:2558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - expr
    - args_px
    - file
    - linenum
    - err
    argTypes:
    - char*
    - struct arg_list*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2559
      start: 2546
    functionDepth: 1
    functionLinenumber: 2546
    functionLinenumberEnd: 2559
    functionName: _parse_srv_expr
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 2
    functionsReached:
    - sample_parse_expr
    linkageType: ''
    returnType: struct sample_expr
    signature: "*_parse_srv_expr(char *expr, struct arg_list *args_px,\n                                    const
      char *file, int linenum, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _parse_srv_expr
      Src: /src/haproxy/src/server.c:2576,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:2581,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/server.c:2583,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/server.c:2588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - str
    - out
    - px
    - err
    argTypes:
    - char*
    - struct sample_expr**
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 2592
      start: 2568
    functionDepth: 5
    functionLinenumber: 2568
    functionLinenumberEnd: 2592
    functionName: parse_srv_expr
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 3
    functionsReached:
    - memprintf
    - release_sample_expr
    - _parse_srv_expr
    - sample_src_names
    linkageType: ''
    returnType: int
    signature: "parse_srv_expr(char *str, struct sample_expr **out, struct proxy *px,\n
      \                         char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: indent_msg
      Src: /src/haproxy/src/server.c:2601,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:2608,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:2610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - file
    - linenum
    - args
    - cur_arg
    - err_code
    - err
    argTypes:
    - char*
    - int
    - char**
    - int
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2611
      start: 2594
    functionDepth: 4
    functionLinenumber: 2594
    functionLinenumberEnd: 2611
    functionName: display_parser_err
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - indent_msg
    - ha_alert
    linkageType: ''
    returnType: void
    signature: display_parser_err(const char *file, int linenum, char **args, int
      cur_arg, int err_code, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: port_range_alloc_range
      Src: /src/haproxy/src/server.c:2619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - srv
    - src
    argTypes:
    - struct server*
    - struct server*
    constantsTouched: []
    func_position:
      end: 2629
      start: 2613
    functionDepth: 1
    functionLinenumber: 2613
    functionLinenumberEnd: 2629
    functionName: srv_conn_src_sport_range_cpy
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - port_range_alloc_range
    linkageType: ''
    returnType: void
    signature: srv_conn_src_sport_range_cpy(struct server *srv, const struct server
      *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_conn_src_sport_range_cpy
      Src: /src/haproxy/src/server.c:2641,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2645,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:2646,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - srv
    - src
    argTypes:
    - struct server*
    - struct server*
    constantsTouched: []
    func_position:
      end: 2655
      start: 2634
    functionDepth: 3
    functionLinenumber: 2634
    functionLinenumberEnd: 2655
    functionName: srv_conn_src_cpy
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - strlen
    - srv_conn_src_sport_range_cpy
    - strdup
    linkageType: ''
    returnType: void
    signature: srv_conn_src_cpy(struct server *srv, const struct server *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:2665,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2671,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2673,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2675,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2681,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2683,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2694,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2696,1
    - Dst: malloc
      Src: /src/haproxy/src/server.c:2699,1
    - Dst: memcpy
      Src: /src/haproxy/src/server.c:2701,1
    - Dst: malloc
      Src: /src/haproxy/src/server.c:2708,1
    - Dst: memcpy
      Src: /src/haproxy/src/server.c:2710,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - srv
    - src
    argTypes:
    - struct server*
    - struct server*
    constantsTouched: []
    func_position:
      end: 2715
      start: 2662
    functionDepth: 3
    functionLinenumber: 2662
    functionLinenumberEnd: 2715
    functionName: srv_ssl_settings_cpy
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    - BUG_ON
    - strdup
    linkageType: ''
    returnType: void
    signature: srv_ssl_settings_cpy(struct server *srv, const struct server *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xprt_get
      Src: /src/haproxy/src/server.c:2729,1
    - Dst: xprt_get
      Src: /src/haproxy/src/server.c:2731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - use_ssl
    argTypes:
    - struct server*
    - int
    constantsTouched: []
    func_position:
      end: 2732
      start: 2722
    functionDepth: 1
    functionLinenumber: 2722
    functionLinenumberEnd: 2732
    functionName: srv_set_ssl
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - xprt_get
    linkageType: ''
    returnType: void
    signature: srv_set_ssl(struct server *s, int use_ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/server.c:2749,1
    - Dst: resolv_str_to_dn_label
      Src: /src/haproxy/src/server.c:2751,1
    - Dst: free
      Src: /src/haproxy/src/server.c:2757,1
    - Dst: free
      Src: /src/haproxy/src/server.c:2758,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2759,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2760,1
    - Dst: ha_free
      Src: /src/haproxy/src/server.c:2768,1
    - Dst: ha_free
      Src: /src/haproxy/src/server.c:2769,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - srv
    - hostname
    argTypes:
    - struct server*
    - char*
    constantsTouched: []
    func_position:
      end: 2771
      start: 2741
    functionDepth: 3
    functionLinenumber: 2741
    functionLinenumberEnd: 2771
    functionName: srv_prepare_for_resolution
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - ha_free
    - strlen
    - strdup
    - free
    - resolv_str_to_dn_label
    linkageType: ''
    returnType: int
    signature: srv_prepare_for_resolution(struct server *srv, const char *hostname)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/server.c:2811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 2812
      start: 2778
    functionDepth: 0
    functionLinenumber: 2778
    functionLinenumberEnd: 2812
    functionName: srv_settings_init
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: srv_settings_init(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_conn_src_cpy
      Src: /src/haproxy/src/server.c:2830,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2840,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2844,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2858,1
    - Dst: calloc
      Src: /src/haproxy/src/server.c:2870,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/server.c:2874,1
    - Dst: dup_tcpcheck_vars
      Src: /src/haproxy/src/server.c:2875,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2894,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2916,1
    - Dst: memcpy
      Src: /src/haproxy/src/server.c:2922,1
    - Dst: srv_ssl_settings_cpy
      Src: /src/haproxy/src/server.c:2932,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2939,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/server.c:2953,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/server.c:2955,1
    - Dst: malloc
      Src: /src/haproxy/src/server.c:2956,1
    - Dst: unlikely
      Src: /src/haproxy/src/server.c:2957,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:2960,1
    - Dst: unlikely
      Src: /src/haproxy/src/server.c:2961,1
    - Dst: free
      Src: /src/haproxy/src/server.c:2962,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/server.c:2966,1
    - Dst: unlikely
      Src: /src/haproxy/src/server.c:2968,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/server.c:2968,1
    - Dst: free
      Src: /src/haproxy/src/server.c:2970,1
    - Dst: free
      Src: /src/haproxy/src/server.c:2971,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/server.c:2975,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 122
    argCount: 3
    argNames:
    - srv
    - src
    - srv_tmpl
    argTypes:
    - struct server*
    - struct server*
    - int
    constantsTouched: []
    func_position:
      end: 2977
      start: 2825
    functionDepth: 4
    functionLinenumber: 2825
    functionLinenumberEnd: 2977
    functionName: srv_settings_cpy
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - malloc
    - lf_expr_init
    - srv_conn_src_cpy
    - list_for_each_entry
    - calloc
    - LIST_APPEND
    - strdup
    - free
    - LIST_INIT
    - srv_ssl_settings_cpy
    - parse_logformat_string
    - unlikely
    - memcpy
    - dup_tcpcheck_vars
    linkageType: ''
    returnType: void
    signature: srv_settings_cpy(struct server *srv, const struct server *src, int
      srv_tmpl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/server.c:2986,1
    - Dst: srv_take
      Src: /src/haproxy/src/server.c:2990,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/server.c:2994,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/server.c:2995,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/server.c:2996,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/server.c:2997,1
    - Dst: event_hdl_sub_list_init
      Src: /src/haproxy/src/server.c:2998,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/server.c:3002,1
    - Dst: xprt_get
      Src: /src/haproxy/src/server.c:3014,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/server.c:3016,1
    - Dst: guid_init
      Src: /src/haproxy/src/server.c:3018,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/server.c:3019,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/server.c:3023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 3030
      start: 2982
    functionDepth: 3
    functionLinenumber: 2982
    functionLinenumberEnd: 3030
    functionName: new_server
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 9
    functionsReached:
    - ns_to_sec
    - calloc
    - HA_RWLOCK_INIT
    - LIST_INIT
    - srv_take
    - MT_LIST_APPEND
    - guid_init
    - xprt_get
    - MT_LIST_INIT
    - event_hdl_sub_list_init
    linkageType: ''
    returnType: struct server
    signature: '*new_server(struct proxy *proxy)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/server.c:3035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 3036
      start: 3033
    functionDepth: 0
    functionLinenumber: 3033
    functionLinenumberEnd: 3036
    functionName: srv_take
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_INC
    linkageType: ''
    returnType: void
    signature: srv_take(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/server.c:3043,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3044,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3045,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3046,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3047,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3048,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3049,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3050,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3051,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/server.c:3052,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3053,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3054,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3055,1
    - Dst: deinit_log_target
      Src: /src/haproxy/src/server.c:3057,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3058,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3060,1
    - Dst: xprt_get
      Src: /src/haproxy/src/server.c:3062,1
    - Dst: xprt_get
      Src: /src/haproxy/src/server.c:3062,1
    - Dst: xprt_get
      Src: /src/haproxy/src/server.c:3063,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/server.c:3065,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/server.c:3066,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/server.c:3067,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/server.c:3068,1
    - Dst: ha_free
      Src: /src/haproxy/src/server.c:3069,1
    - Dst: ha_free
      Src: /src/haproxy/src/server.c:3070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 3072
      start: 3039
    functionDepth: 3
    functionLinenumber: 3039
    functionLinenumberEnd: 3072
    functionName: srv_free_params
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - LIST_ISEMPTY
    - ha_free
    - lf_expr_deinit
    - free
    - LIST_DEL_INIT
    - release_sample_expr
    - deinit_log_target
    - xprt_get
    - LIST_ELEM
    linkageType: ''
    returnType: void
    signature: srv_free_params(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_SUB_FETCH
      Src: /src/haproxy/src/server.c:3093,1
    - Dst: guid_remove
      Src: /src/haproxy/src/server.c:3104,1
    - Dst: tasklet_kill
      Src: /src/haproxy/src/server.c:3107,1
    - Dst: task_destroy
      Src: /src/haproxy/src/server.c:3108,1
    - Dst: task_destroy
      Src: /src/haproxy/src/server.c:3109,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3111,1
    - Dst: srv_free_params
      Src: /src/haproxy/src/server.c:3112,1
    - Dst: HA_SPIN_DESTROY
      Src: /src/haproxy/src/server.c:3114,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/server.c:3116,1
    - Dst: event_hdl_sub_list_destroy
      Src: /src/haproxy/src/server.c:3117,1
    - Dst: EXTRA_COUNTERS_FREE
      Src: /src/haproxy/src/server.c:3119,1
    - Dst: struct server*::proxy::lbprm::server_deinit
      Src: /src/haproxy/src/server.c:3122,1
    - Dst: ha_free
      Src: /src/haproxy/src/server.c:3124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 3128
      start: 3081
    functionDepth: 4
    functionLinenumber: 3081
    functionLinenumberEnd: 3128
    functionName: srv_drop
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 4
    functionsReached:
    - HA_ATOMIC_SUB_FETCH
    - ha_free
    - event_hdl_sub_list_destroy
    - HA_SPIN_DESTROY
    - guid_remove
    - MT_LIST_DELETE
    - struct server*::proxy::lbprm::server_deinit
    - tasklet_kill
    - free
    - task_destroy
    - srv_free_params
    - EXTRA_COUNTERS_FREE
    linkageType: ''
    returnType: struct server
    signature: '*srv_drop(struct server *srv)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 3148
      start: 3133
    functionDepth: 0
    functionLinenumber: 3133
    functionLinenumberEnd: 3148
    functionName: _srv_detach
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _srv_detach(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:3172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 3173
      start: 3156
    functionDepth: 0
    functionLinenumber: 3156
    functionLinenumberEnd: 3173
    functionName: release_server_track
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: release_server_track(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:3188,1
    - Dst: atoi
      Src: /src/haproxy/src/server.c:3189,1
    - Dst: strchr
      Src: /src/haproxy/src/server.c:3191,1
    - Dst: atoi
      Src: /src/haproxy/src/server.c:3193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - srv
    - arg
    - nb_low
    - nb_high
    argTypes:
    - struct server*
    - char*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 3204
      start: 3182
    functionDepth: 1
    functionLinenumber: 3182
    functionLinenumberEnd: 3204
    functionName: _srv_parse_tmpl_range
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - strchr
    - chunk_printf
    - atoi
    linkageType: ''
    returnType: int
    signature: "_srv_parse_tmpl_range(struct server *srv, const char *arg,\n                                 int
      *nb_low, int *nb_high)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:3219,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3220,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:3221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - srv
    - prefix
    - nb
    argTypes:
    - struct server*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 3222
      start: 3216
    functionDepth: 3
    functionLinenumber: 3216
    functionLinenumberEnd: 3222
    functionName: _srv_parse_set_id_from_prefix
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - free
    - chunk_printf
    - strdup
    linkageType: ''
    returnType: void
    signature: "_srv_parse_set_id_from_prefix(struct server *srv,\n                                                 const
      char *prefix, int nb)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _srv_parse_set_id_from_prefix
      Src: /src/haproxy/src/server.c:3241,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/server.c:3243,1
    - Dst: new_server
      Src: /src/haproxy/src/server.c:3247,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:3251,1
    - Dst: srv_settings_cpy
      Src: /src/haproxy/src/server.c:3254,1
    - Dst: srv_prepare_for_resolution
      Src: /src/haproxy/src/server.c:3255,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:3259,1
    - Dst: _parse_srv_expr
      Src: /src/haproxy/src/server.c:3265,1
    - Dst: _parse_srv_expr
      Src: /src/haproxy/src/server.c:3271,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/server.c:3278,1
    - Dst: _srv_parse_set_id_from_prefix
      Src: /src/haproxy/src/server.c:3281,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/server.c:3288,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/server.c:3295,1
    - Dst: free_check
      Src: /src/haproxy/src/server.c:3296,1
    - Dst: free_check
      Src: /src/haproxy/src/server.c:3297,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/server.c:3298,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3300,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - srv
    - px
    argTypes:
    - struct server*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 3302
      start: 3235
    functionDepth: 5
    functionLinenumber: 3235
    functionLinenumberEnd: 3302
    functionName: _srv_parse_tmpl_init
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - new_server
    - _parse_srv_expr
    - LIST_APPEND
    - ebis_insert
    - free_check
    - strdup
    - _srv_parse_set_id_from_prefix
    - MT_LIST_DELETE
    - srv_settings_cpy
    - free
    - release_sample_expr
    - srv_prepare_for_resolution
    linkageType: ''
    returnType: int
    signature: _srv_parse_tmpl_init(struct server *srv, struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_usermsgs_ctx
      Src: /src/haproxy/src/server.c:3321,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3340,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3348,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3355,1
    - Dst: proxy_mode_str
      Src: /src/haproxy/src/server.c:3355,1
    - Dst: reset_usermsgs_ctx
      Src: /src/haproxy/src/server.c:3361,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - srv
    - postparse
    argTypes:
    - struct server*
    - char
    constantsTouched: []
    func_position:
      end: 3364
      start: 3313
    functionDepth: 1
    functionLinenumber: 3313
    functionLinenumberEnd: 3364
    functionName: _srv_check_proxy_mode
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - reset_usermsgs_ctx
    - proxy_mode_str
    - set_usermsgs_ctx
    linkageType: ''
    returnType: int
    signature: _srv_check_proxy_mode(struct server *srv, char postparse)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _srv_check_proxy_mode
      Src: /src/haproxy/src/server.c:3377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 3380
      start: 3373
    functionDepth: 2
    functionLinenumber: 3373
    functionLinenumberEnd: 3380
    functionName: _srv_postparse
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - _srv_check_proxy_mode
    linkageType: ''
    returnType: int
    signature: _srv_postparse(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3413,1
    - Dst: invalid_prefix_char
      Src: /src/haproxy/src/server.c:3419,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3424,1
    - Dst: invalid_char
      Src: /src/haproxy/src/server.c:3430,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3434,1
    - Dst: _srv_parse_tmpl_range
      Src: /src/haproxy/src/server.c:3444,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3445,1
    - Dst: new_server
      Src: /src/haproxy/src/server.c:3457,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3459,1
    - Dst: register_parsing_obj
      Src: /src/haproxy/src/server.c:3463,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:3478,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:3480,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/server.c:3492,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3498,1
    - Dst: ha_free
      Src: /src/haproxy/src/server.c:3500,1
    - Dst: find_srvrq_by_name
      Src: /src/haproxy/src/server.c:3520,1
    - Dst: new_resolv_srvrq
      Src: /src/haproxy/src/server.c:3521,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/server.c:3526,1
    - Dst: srv_prepare_for_resolution
      Src: /src/haproxy/src/server.c:3528,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3529,1
    - Dst: srv_set_addr_desc
      Src: /src/haproxy/src/server.c:3546,1
    - Dst: protocol_lookup
      Src: /src/haproxy/src/server.c:3549,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3550,1
    - Dst: srv_settings_cpy
      Src: /src/haproxy/src/server.c:3560,1
    - Dst: srv_settings_init
      Src: /src/haproxy/src/server.c:3562,1
    - Dst: server_recalc_eweight
      Src: /src/haproxy/src/server.c:3567,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/server.c:3569,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3576,1
    - Dst: _srv_check_proxy_mode
      Src: /src/haproxy/src/server.c:3583,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3588,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 127
    argCount: 5
    argNames:
    - srv
    - args
    - cur_arg
    - curproxy
    - parse_flags
    argTypes:
    - struct server**
    - char**
    - int*
    - struct proxy*
    - int
    constantsTouched: []
    func_position:
      end: 3590
      start: 3394
    functionDepth: 5
    functionLinenumber: 3394
    functionLinenumberEnd: 3590
    functionName: _srv_parse_init
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - invalid_prefix_char
    - ha_free
    - server_recalc_eweight
    - HA_SPIN_INIT
    - srv_settings_cpy
    - srv_settings_init
    - new_resolv_srvrq
    - _srv_parse_tmpl_range
    - free
    - protocol_lookup
    - _srv_check_proxy_mode
    - str2sa_range
    - find_srvrq_by_name
    - strdup
    - register_parsing_obj
    - srv_set_addr_desc
    - new_server
    - LIST_APPEND
    - invalid_char
    - srv_prepare_for_resolution
    linkageType: ''
    returnType: int
    signature: "_srv_parse_init(struct server **srv, char **args, int *cur_arg,\n
      \                          struct proxy *curproxy,\n                           int
      parse_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_find_kw
      Src: /src/haproxy/src/server.c:3611,1
    - Dst: srv_find_best_kw
      Src: /src/haproxy/src/server.c:3613,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3615,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3620,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3628,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3635,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3641,1
    - Dst: struct srv_kw*::parse
      Src: /src/haproxy/src/server.c:3647,1
    - Dst: display_parser_err
      Src: /src/haproxy/src/server.c:3649,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3650,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 5
    argNames:
    - srv
    - args
    - cur_arg
    - curproxy
    - parse_flags
    argTypes:
    - struct server*
    - char**
    - int*
    - struct proxy*
    - int
    constantsTouched: []
    func_position:
      end: 3658
      start: 3602
    functionDepth: 5
    functionLinenumber: 3602
    functionLinenumberEnd: 3658
    functionName: _srv_parse_kw
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - srv_find_best_kw
    - free
    - struct srv_kw*::parse
    - display_parser_err
    - srv_find_kw
    linkageType: ''
    returnType: int
    signature: "_srv_parse_kw(struct server *srv, char **args, int *cur_arg,\n                         struct
      proxy *curproxy,\n                         int parse_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3676,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3681,1
    - Dst: parse_srv_expr
      Src: /src/haproxy/src/server.c:3686,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3688,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3689,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:3696,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3698,1
    - Dst: parse_srv_expr
      Src: /src/haproxy/src/server.c:3703,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3706,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3707,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/server.c:3722,1
    - Dst: unlikely
      Src: /src/haproxy/src/server.c:3723,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/server.c:3723,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3726,1
    - Dst: free
      Src: /src/haproxy/src/server.c:3727,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/server.c:3733,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 5
    argNames:
    - args
    - cur_arg
    - srv
    - px
    - parse_flags
    argTypes:
    - char**
    - int
    - struct server*
    - struct proxy*
    - int
    constantsTouched: []
    func_position:
      end: 3736
      start: 3667
    functionDepth: 6
    functionLinenumber: 3667
    functionLinenumberEnd: 3736
    functionName: _srv_parse_finalize
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - list_for_each_entry
    - strdup
    - free
    - srv_lb_commit_status
    - parse_logformat_string
    - unlikely
    - parse_srv_expr
    linkageType: ''
    returnType: int
    signature: "_srv_parse_finalize(char **args, int cur_arg,\n                               struct
      server *srv, struct proxy *px,\n                               int parse_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_usermsgs_ctx
      Src: /src/haproxy/src/server.c:3747,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:3750,1
    - Dst: failifnotcap
      Src: /src/haproxy/src/server.c:3754,1
    - Dst: _srv_parse_init
      Src: /src/haproxy/src/server.c:3765,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:3778,1
    - Dst: _srv_parse_kw
      Src: /src/haproxy/src/server.c:3782,1
    - Dst: _srv_parse_finalize
      Src: /src/haproxy/src/server.c:3789,1
    - Dst: _srv_parse_tmpl_init
      Src: /src/haproxy/src/server.c:3795,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/server.c:3799,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/server.c:3809,1
    - Dst: HA_DIAG_WARNING_COND
      Src: /src/haproxy/src/server.c:3811,1
    - Dst: reset_usermsgs_ctx
      Src: /src/haproxy/src/server.c:3814,1
    - Dst: reset_usermsgs_ctx
      Src: /src/haproxy/src/server.c:3818,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 6
    argNames:
    - file
    - linenum
    - args
    - curproxy
    - defproxy
    - parse_flags
    argTypes:
    - char*
    - int
    - char**
    - struct proxy*
    - struct proxy*
    - int
    constantsTouched: []
    func_position:
      end: 3820
      start: 3738
    functionDepth: 7
    functionLinenumber: 3738
    functionLinenumberEnd: 3820
    functionName: parse_server
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 2
    functionsReached:
    - ha_alert
    - _srv_parse_kw
    - _srv_parse_tmpl_init
    - failifnotcap
    - HA_DIAG_WARNING_COND
    - eb32_insert
    - _srv_parse_init
    - ebis_insert
    - strdup
    - reset_usermsgs_ctx
    - set_usermsgs_ctx
    - _srv_parse_finalize
    linkageType: ''
    returnType: int
    signature: "parse_server(const char *file, int linenum, char **args,\n                 struct
      proxy *curproxy, const struct proxy *defproxy,\n                 int parse_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup
      Src: /src/haproxy/src/server.c:3840,1
    - Dst: container_of
      Src: /src/haproxy/src/server.c:3842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - bk
    - id
    argTypes:
    - struct proxy*
    - int
    constantsTouched: []
    func_position:
      end: 3845
      start: 3826
    functionDepth: 1
    functionLinenumber: 3826
    functionLinenumberEnd: 3845
    functionName: server_find_by_id
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - container_of
    - eb32_lookup
    linkageType: ''
    returnType: struct server
    signature: '*server_find_by_id(struct proxy *bk, int id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_find_by_id
      Src: /src/haproxy/src/server.c:3860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - bk
    - id
    - rid
    argTypes:
    - struct proxy*
    - int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3864
      start: 3856
    functionDepth: 2
    functionLinenumber: 3856
    functionLinenumberEnd: 3864
    functionName: server_find_by_id_unique
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 2
    functionsReached:
    - server_find_by_id
    linkageType: ''
    returnType: struct server
    signature: '*server_find_by_id_unique(struct proxy *bk, int id, uint32_t rid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_find_by_id
      Src: /src/haproxy/src/server.c:3883,1
    - Dst: atoi
      Src: /src/haproxy/src/server.c:3883,1
    - Dst: ebis_lookup
      Src: /src/haproxy/src/server.c:3888,1
    - Dst: container_of
      Src: /src/haproxy/src/server.c:3890,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - bk
    - name
    argTypes:
    - struct proxy*
    - char*
    constantsTouched: []
    func_position:
      end: 3894
      start: 3870
    functionDepth: 2
    functionLinenumber: 3870
    functionLinenumberEnd: 3894
    functionName: server_find_by_name
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 3
    functionsReached:
    - server_find_by_id
    - ebis_lookup
    - container_of
    - atoi
    linkageType: ''
    returnType: struct server
    signature: '*server_find_by_name(struct proxy *bk, const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_find_by_name
      Src: /src/haproxy/src/server.c:3917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - bk
    - name
    - rid
    argTypes:
    - struct proxy*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3921
      start: 3913
    functionDepth: 3
    functionLinenumber: 3913
    functionLinenumberEnd: 3921
    functionName: server_find_by_name_unique
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - server_find_by_name
    linkageType: ''
    returnType: struct server
    signature: '*server_find_by_name_unique(struct proxy *bk, const char *name, uint32_t
      rid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_find_by_name
      Src: /src/haproxy/src/server.c:3937,1
    - Dst: server_find_by_id
      Src: /src/haproxy/src/server.c:3948,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 4
    argNames:
    - bk
    - name
    - id
    - diff
    argTypes:
    - struct proxy*
    - char*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 3982
      start: 3923
    functionDepth: 3
    functionLinenumber: 3923
    functionLinenumberEnd: 3982
    functionName: server_find_best_match
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - server_find_by_id
    - server_find_by_name
    linkageType: ''
    returnType: struct server
    signature: '*server_find_best_match(struct proxy *bk, char *name, int id, int
      *diff)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:3996,1
    - Dst: memset
      Src: /src/haproxy/src/server.c:4000,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - s
    - inetaddr
    argTypes:
    - struct server*
    - struct server_inetaddr*
    constantsTouched: []
    func_position:
      end: 4011
      start: 3989
    functionDepth: 0
    functionLinenumber: 3989
    functionLinenumberEnd: 4011
    functionName: server_get_inetaddr
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 2
    functionsReached:
    - memset
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: server_get_inetaddr(struct server *s, struct server_inetaddr *inetaddr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - by
    argTypes:
    - enum server_inetaddr_updater_by
    constantsTouched: []
    func_position:
      end: 4033
      start: 4015
    functionDepth: 0
    functionLinenumber: 4015
    functionLinenumberEnd: 4033
    functionName: server_inetaddr_updater_by_to_str
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*server_inetaddr_updater_by_to_str(enum server_inetaddr_updater_by
      by)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:4055,1
    - Dst: find_nameserver_by_resolvers_and_id
      Src: /src/haproxy/src/server.c:4056,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:4057,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4058,1
    - Dst: server_inetaddr_updater_by_to_str
      Src: /src/haproxy/src/server.c:4065,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4067,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - out
    - s
    - updater
    argTypes:
    - struct buffer*
    - struct server*
    - struct server_inetaddr_updater
    constantsTouched: []
    func_position:
      end: 4071
      start: 4037
    functionDepth: 1
    functionLinenumber: 4037
    functionLinenumberEnd: 4071
    functionName: _srv_append_inetaddr_updater_info
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - find_nameserver_by_resolvers_and_id
    - server_inetaddr_updater_by_to_str
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "_srv_append_inetaddr_updater_info(struct buffer *out,\n                                              struct
      server *s,\n                                              struct server_inetaddr_updater
      updater)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/server.c:4076,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/server.c:4080,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/server.c:4083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - family
    - addr
    - addr_str
    - len
    argTypes:
    - int
    - void*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 4086
      start: 4074
    functionDepth: 1
    functionLinenumber: 4074
    functionLinenumberEnd: 4086
    functionName: _addr_to_str
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memset
    - strlcpy2
    - inet_ntop
    linkageType: ''
    returnType: void
    signature: _addr_to_str(int family, const void *addr, char *addr_str, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/haproxy/src/server.c:4098,1
    - Dst: memcmp
      Src: /src/haproxy/src/server.c:4103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - inetaddr
    - addr
    argTypes:
    - struct server_inetaddr*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 4108
      start: 4088
    functionDepth: 0
    functionLinenumber: 4088
    functionLinenumberEnd: 4108
    functionName: _inetaddr_addr_cmp
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: _inetaddr_addr_cmp(const struct server_inetaddr *inetaddr, const struct
      sockaddr_storage *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:4151,1
    - Dst: _inetaddr_addr_cmp
      Src: /src/haproxy/src/server.c:4157,1
    - Dst: _addr_to_str
      Src: /src/haproxy/src/server.c:4171,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:4172,1
    - Dst: _addr_to_str
      Src: /src/haproxy/src/server.c:4173,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4174,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4197,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4198,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4223,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4225,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4227,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4229,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4231,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4232,1
    - Dst: _srv_event_hdl_prepare
      Src: /src/haproxy/src/server.c:4237,1
    - Dst: _srv_event_hdl_prepare_inetaddr
      Src: /src/haproxy/src/server.c:4238,1
    - Dst: _srv_event_hdl_publish
      Src: /src/haproxy/src/server.c:4243,1
    - Dst: _srv_append_inetaddr_updater_info
      Src: /src/haproxy/src/server.c:4249,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 64
    argCount: 4
    argNames:
    - s
    - inetaddr
    - updater
    - msg
    argTypes:
    - struct server*
    - struct server_inetaddr*
    - struct server_inetaddr_updater
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 4251
      start: 4136
    functionDepth: 2
    functionLinenumber: 4136
    functionLinenumberEnd: 4251
    functionName: server_set_inetaddr
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - _srv_event_hdl_prepare_inetaddr
    - _srv_append_inetaddr_updater_info
    - _inetaddr_addr_cmp
    - _srv_event_hdl_prepare
    - chunk_printf
    - chunk_appendf
    - _srv_event_hdl_publish
    - _addr_to_str
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: "server_set_inetaddr(struct server *s,\n                        const
      struct server_inetaddr *inetaddr,\n                        struct server_inetaddr_updater
      updater, struct buffer *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/server.c:4263,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/server.c:4266,1
    - Dst: server_set_inetaddr
      Src: /src/haproxy/src/server.c:4268,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:4271,1
    - Dst: send_log
      Src: /src/haproxy/src/server.c:4274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - s
    - inetaddr
    - updater
    argTypes:
    - struct server*
    - struct server_inetaddr*
    - struct server_inetaddr_updater
    constantsTouched: []
    func_position:
      end: 4277
      start: 4259
    functionDepth: 3
    functionLinenumber: 4259
    functionLinenumberEnd: 4277
    functionName: server_set_inetaddr_warn
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - send_log
    - chunk_reset
    - ha_warning
    - get_trash_chunk
    - server_set_inetaddr
    linkageType: ''
    returnType: int
    signature: "server_set_inetaddr_warn(struct server *s,\n                             const
      struct server_inetaddr *inetaddr,\n                             struct server_inetaddr_updater
      updater)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: server_get_inetaddr
      Src: /src/haproxy/src/server.c:4294,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:4295,1
    - Dst: memcpy
      Src: /src/haproxy/src/server.c:4302,1
    - Dst: memcpy
      Src: /src/haproxy/src/server.c:4305,1
    - Dst: server_set_inetaddr_warn
      Src: /src/haproxy/src/server.c:4309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - s
    - ip
    - ip_sin_family
    - updater
    argTypes:
    - struct server*
    - void*
    - int
    - struct server_inetaddr_updater
    constantsTouched: []
    func_position:
      end: 4312
      start: 4290
    functionDepth: 4
    functionLinenumber: 4290
    functionLinenumberEnd: 4312
    functionName: srv_update_addr
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memcpy
    - BUG_ON
    - server_get_inetaddr
    - server_set_inetaddr_warn
    linkageType: ''
    returnType: int
    signature: srv_update_addr(struct server *s, void *ip, int ip_sin_family, struct
      server_inetaddr_updater updater)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/server.c:4325,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/server.c:4326,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/server.c:4329,1
    - Dst: memset
      Src: /src/haproxy/src/server.c:4333,1
    - Dst: str2ip
      Src: /src/haproxy/src/server.c:4334,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4335,1
    - Dst: strl2irc
      Src: /src/haproxy/src/server.c:4340,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:4340,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4341,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4345,1
    - Dst: set_srv_agent_addr
      Src: /src/haproxy/src/server.c:4354,1
    - Dst: set_srv_agent_port
      Src: /src/haproxy/src/server.c:4356,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - s
    - addr
    - port
    argTypes:
    - struct server*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4359
      start: 4319
    functionDepth: 2
    functionLinenumber: 4319
    functionLinenumberEnd: 4359
    functionName: srv_update_agent_addr_port
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - chunk_reset
    - strl2irc
    - str2ip
    - strlen
    - chunk_strcat
    - chunk_appendf
    - get_trash_chunk
    - set_srv_agent_port
    - set_srv_agent_addr
    - memset
    linkageType: ''
    returnType: char
    signature: '*srv_update_agent_addr_port(struct server *s, const char *addr, const
      char *port)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/server.c:4372,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/server.c:4373,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/server.c:4376,1
    - Dst: memset
      Src: /src/haproxy/src/server.c:4380,1
    - Dst: str2ip2
      Src: /src/haproxy/src/server.c:4381,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4382,1
    - Dst: strl2irc
      Src: /src/haproxy/src/server.c:4387,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:4387,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4388,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4392,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4397,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - s
    - addr
    - port
    argTypes:
    - struct server*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4411
      start: 4366
    functionDepth: 2
    functionLinenumber: 4366
    functionLinenumberEnd: 4411
    functionName: srv_update_check_addr_port
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - chunk_reset
    - strl2irc
    - strlen
    - chunk_strcat
    - chunk_appendf
    - get_trash_chunk
    - memset
    - str2ip2
    linkageType: ''
    returnType: char
    signature: '*srv_update_check_addr_port(struct server *s, const char *addr, const
      char *port)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/server.c:4434,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/server.c:4435,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:4441,1
    - Dst: server_get_inetaddr
      Src: /src/haproxy/src/server.c:4445,1
    - Dst: memset
      Src: /src/haproxy/src/server.c:4448,1
    - Dst: str2ip2
      Src: /src/haproxy/src/server.c:4449,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:4450,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:4456,1
    - Dst: strtol
      Src: /src/haproxy/src/server.c:4479,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:4481,1
    - Dst: server_set_inetaddr
      Src: /src/haproxy/src/server.c:4505,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:4507,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 4
    argNames:
    - s
    - addr
    - port
    - updater
    argTypes:
    - struct server*
    - char*
    - char*
    - struct server_inetaddr_updater
    constantsTouched: []
    func_position:
      end: 4511
      start: 4426
    functionDepth: 3
    functionLinenumber: 4426
    functionLinenumberEnd: 4511
    functionName: srv_update_addr_port
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - chunk_reset
    - chunk_printf
    - chunk_appendf
    - get_trash_chunk
    - server_set_inetaddr
    - strtol
    - memset
    - str2ip2
    - server_get_inetaddr
    linkageType: ''
    returnType: char
    signature: "*srv_update_addr_port(struct server *s, const char *addr, const char
      *port,\n                                 struct server_inetaddr_updater updater)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_set_admin_flag
      Src: /src/haproxy/src/server.c:4529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 4531
      start: 4521
    functionDepth: 2
    functionLinenumber: 4521
    functionLinenumberEnd: 4531
    functionName: srvrq_set_srv_down
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - srv_set_admin_flag
    linkageType: ''
    returnType: int
    signature: srvrq_set_srv_down(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srvrq_set_srv_down
      Src: /src/haproxy/src/server.c:4553,1
    - Dst: srv_set_admin_flag
      Src: /src/haproxy/src/server.c:4565,1
    - Dst: tick_add
      Src: /src/haproxy/src/server.c:4570,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/server.c:4571,1
    - Dst: srv_set_admin_flag
      Src: /src/haproxy/src/server.c:4574,1
    - Dst: tick_add
      Src: /src/haproxy/src/server.c:4579,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/server.c:4580,1
    - Dst: srv_set_admin_flag
      Src: /src/haproxy/src/server.c:4583,1
    - Dst: tick_add
      Src: /src/haproxy/src/server.c:4588,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/server.c:4589,1
    - Dst: srv_set_admin_flag
      Src: /src/haproxy/src/server.c:4592,1
    - Dst: tick_add
      Src: /src/haproxy/src/server.c:4597,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/server.c:4598,1
    - Dst: srv_set_admin_flag
      Src: /src/haproxy/src/server.c:4601,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 4607
      start: 4541
    functionDepth: 3
    functionLinenumber: 4541
    functionLinenumberEnd: 4607
    functionName: snr_set_srv_down
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - tick_add
    - tick_is_expired
    - srvrq_set_srv_down
    - srv_set_admin_flag
    linkageType: ''
    returnType: int
    signature: snr_set_srv_down(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/src/server.c:4633,1
    - Dst: resolv_get_ip_from_response
      Src: /src/haproxy/src/server.c:4674,1
    - Dst: srv_update_addr
      Src: /src/haproxy/src/server.c:4699,1
    - Dst: SERVER_INETADDR_UPDATER_DNS_RESOLVER
      Src: /src/haproxy/src/server.c:4700,1
    - Dst: srv_update_addr
      Src: /src/haproxy/src/server.c:4703,1
    - Dst: snr_set_srv_down
      Src: /src/haproxy/src/server.c:4706,1
    - Dst: server_get_inetaddr
      Src: /src/haproxy/src/server.c:4710,1
    - Dst: memset
      Src: /src/haproxy/src/server.c:4712,1
    - Dst: server_set_inetaddr
      Src: /src/haproxy/src/server.c:4713,1
    - Dst: snr_set_srv_down
      Src: /src/haproxy/src/server.c:4722,1
    - Dst: server_get_inetaddr
      Src: /src/haproxy/src/server.c:4726,1
    - Dst: memset
      Src: /src/haproxy/src/server.c:4728,1
    - Dst: server_set_inetaddr
      Src: /src/haproxy/src/server.c:4729,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 2
    argNames:
    - requester
    - counters
    argTypes:
    - struct resolv_requester*
    - struct dns_counters*
    constantsTouched: []
    func_position:
      end: 4732
      start: 4624
    functionDepth: 5
    functionLinenumber: 4624
    functionLinenumberEnd: 4732
    functionName: snr_resolution_cb
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - objt_server
    - snr_set_srv_down
    - server_set_inetaddr
    - resolv_get_ip_from_response
    - srv_update_addr
    - memset
    - server_get_inetaddr
    - SERVER_INETADDR_UPDATER_DNS_RESOLVER
    linkageType: ''
    returnType: int
    signature: snr_resolution_cb(struct resolv_requester *requester, struct dns_counters
      *counters)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_resolv_srvrq
      Src: /src/haproxy/src/server.c:4750,1
    - Dst: tick_add
      Src: /src/haproxy/src/server.c:4761,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/server.c:4762,1
    - Dst: tick_add
      Src: /src/haproxy/src/server.c:4768,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/server.c:4769,1
    - Dst: tick_add
      Src: /src/haproxy/src/server.c:4775,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/server.c:4776,1
    - Dst: tick_add
      Src: /src/haproxy/src/server.c:4782,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/server.c:4783,1
    - Dst: resolv_detach_from_resolution_answer_items
      Src: /src/haproxy/src/server.c:4788,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - requester
    - error_code
    argTypes:
    - struct resolv_requester*
    - int
    constantsTouched: []
    func_position:
      end: 4791
      start: 4742
    functionDepth: 1
    functionLinenumber: 4742
    functionLinenumberEnd: 4791
    functionName: srvrq_resolution_error_cb
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - objt_resolv_srvrq
    - resolv_detach_from_resolution_answer_items
    - tick_add
    - tick_is_expired
    linkageType: ''
    returnType: int
    signature: srvrq_resolution_error_cb(struct resolv_requester *requester, int error_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/src/server.c:4805,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:4809,1
    - Dst: snr_set_srv_down
      Src: /src/haproxy/src/server.c:4810,1
    - Dst: server_get_inetaddr
      Src: /src/haproxy/src/server.c:4814,1
    - Dst: memset
      Src: /src/haproxy/src/server.c:4816,1
    - Dst: server_set_inetaddr
      Src: /src/haproxy/src/server.c:4817,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:4818,1
    - Dst: resolv_detach_from_resolution_answer_items
      Src: /src/haproxy/src/server.c:4819,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:4822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - requester
    - error_code
    argTypes:
    - struct resolv_requester*
    - int
    constantsTouched: []
    func_position:
      end: 4825
      start: 4801
    functionDepth: 4
    functionLinenumber: 4801
    functionLinenumberEnd: 4825
    functionName: snr_resolution_error_cb
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - objt_server
    - resolv_detach_from_resolution_answer_items
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - snr_set_srv_down
    - server_set_inetaddr
    - memset
    - server_get_inetaddr
    linkageType: ''
    returnType: int
    signature: snr_resolution_error_cb(struct resolv_requester *requester, int error_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:4856,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/server.c:4859,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:4861,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:4867,1
    - Dst: memcmp
      Src: /src/haproxy/src/server.c:4876,1
    - Dst: memcmp
      Src: /src/haproxy/src/server.c:4878,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:4879,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:4882,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 3
    argNames:
    - srv
    - ip
    - ip_family
    argTypes:
    - struct server*
    - void*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 4887
      start: 4835
    functionDepth: 0
    functionLinenumber: 4835
    functionLinenumberEnd: 4887
    functionName: snr_check_ip_callback
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - memcmp
    - HA_SPIN_UNLOCK
    - strcasecmp
    linkageType: ''
    returnType: struct server
    signature: '*snr_check_ip_callback(struct server *srv, void *ip, unsigned char
      *ip_family)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/server.c:4898,1
    - Dst: str2ip2
      Src: /src/haproxy/src/server.c:4902,1
    - Dst: _srv_set_inetaddr
      Src: /src/haproxy/src/server.c:4907,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - srv
    - err_code
    argTypes:
    - struct server*
    - int*
    constantsTouched: []
    func_position:
      end: 4909
      start: 4894
    functionDepth: 4
    functionLinenumber: 4894
    functionLinenumberEnd: 4909
    functionName: srv_set_addr_via_libc
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memset
    - _srv_set_inetaddr
    - str2ip2
    linkageType: ''
    returnType: int
    signature: srv_set_addr_via_libc(struct server *srv, int *err_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:4927,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/server.c:4934,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:4935,1
    - Dst: resolv_str_to_dn_label
      Src: /src/haproxy/src/server.c:4937,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/server.c:4946,1
    - Dst: resolv_unlink_resolution
      Src: /src/haproxy/src/server.c:4949,1
    - Dst: free
      Src: /src/haproxy/src/server.c:4951,1
    - Dst: free
      Src: /src/haproxy/src/server.c:4952,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:4953,1
    - Dst: strdup
      Src: /src/haproxy/src/server.c:4954,1
    - Dst: resolv_link_resolution
      Src: /src/haproxy/src/server.c:4962,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:4967,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:4972,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 3
    argNames:
    - srv
    - hostname
    - resolv_locked
    argTypes:
    - struct server*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 4974
      start: 4916
    functionDepth: 3
    functionLinenumber: 4916
    functionLinenumberEnd: 4974
    functionName: srv_set_fqdn
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - chunk_reset
    - strcasecmp
    - strlen
    - HA_SPIN_UNLOCK
    - resolv_unlink_resolution
    - HA_SPIN_LOCK
    - free
    - strdup
    - resolv_link_resolution
    - resolv_str_to_dn_label
    linkageType: ''
    returnType: int
    signature: srv_set_fqdn(struct server *srv, const char *hostname, int resolv_locked)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/server.c:4985,1
    - Dst: str2ip2
      Src: /src/haproxy/src/server.c:4989,1
    - Dst: _srv_set_inetaddr
      Src: /src/haproxy/src/server.c:4994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - srv
    - err_code
    argTypes:
    - struct server*
    - int*
    constantsTouched: []
    func_position:
      end: 4996
      start: 4981
    functionDepth: 4
    functionLinenumber: 4981
    functionLinenumberEnd: 4996
    functionName: srv_apply_lastaddr
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memset
    - _srv_set_inetaddr
    - str2ip2
    linkageType: ''
    returnType: int
    signature: srv_apply_lastaddr(struct server *srv, int *err_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_append_initaddr
      Src: /src/haproxy/src/server.c:5013,1
    - Dst: srv_append_initaddr
      Src: /src/haproxy/src/server.c:5014,1
    - Dst: srv_append_initaddr
      Src: /src/haproxy/src/server.c:5017,1
    - Dst: srv_append_initaddr
      Src: /src/haproxy/src/server.c:5026,1
    - Dst: srv_get_next_initaddr
      Src: /src/haproxy/src/server.c:5030,1
    - Dst: srv_apply_lastaddr
      Src: /src/haproxy/src/server.c:5034,1
    - Dst: srv_set_addr_via_libc
      Src: /src/haproxy/src/server.c:5042,1
    - Dst: srv_set_admin_flag
      Src: /src/haproxy/src/server.c:5048,1
    - Dst: ha_notice
      Src: /src/haproxy/src/server.c:5050,1
    - Dst: _srv_set_inetaddr
      Src: /src/haproxy/src/server.c:5056,1
    - Dst: ha_notice
      Src: /src/haproxy/src/server.c:5058,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:5069,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:5071,1
    - Dst: srv_set_dyncookie
      Src: /src/haproxy/src/server.c:5076,1
    - Dst: srv_set_addr_desc
      Src: /src/haproxy/src/server.c:5077,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 5079
      start: 4999
    functionDepth: 6
    functionLinenumber: 4999
    functionLinenumberEnd: 5079
    functionName: srv_iterate_initaddr
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - _srv_set_inetaddr
    - srv_set_addr_via_libc
    - srv_set_dyncookie
    - srv_set_admin_flag
    - srv_get_next_initaddr
    - srv_set_addr_desc
    - ha_notice
    - srv_apply_lastaddr
    - srv_append_initaddr
    linkageType: ''
    returnType: int
    signature: srv_iterate_initaddr(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: set_usermsgs_ctx
      Src: /src/haproxy/src/server.c:5103,1
    - Dst: srv_iterate_initaddr
      Src: /src/haproxy/src/server.c:5105,1
    - Dst: reset_usermsgs_ctx
      Src: /src/haproxy/src/server.c:5106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5114
      start: 5089
    functionDepth: 7
    functionLinenumber: 5089
    functionLinenumberEnd: 5114
    functionName: srv_init_addr
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - reset_usermsgs_ctx
    - srv_iterate_initaddr
    - set_usermsgs_ctx
    linkageType: ''
    returnType: int
    signature: srv_init_addr(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/server.c:5124,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/server.c:5125,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5127,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:5128,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:5132,1
    - Dst: invalid_domainchar
      Src: /src/haproxy/src/server.c:5132,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:5133,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:5137,1
    - Dst: srv_set_fqdn
      Src: /src/haproxy/src/server.c:5140,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/server.c:5141,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:5142,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:5152,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:5153,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - server
    - fqdn
    - updater
    - resolv_locked
    argTypes:
    - struct server*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 5156
      start: 5119
    functionDepth: 4
    functionLinenumber: 5119
    functionLinenumberEnd: 5156
    functionName: srv_update_fqdn
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - strcmp
    - strlen
    - invalid_domainchar
    - srv_set_fqdn
    - chunk_appendf
    - get_trash_chunk
    linkageType: ''
    returnType: char
    signature: '*srv_update_fqdn(struct server *server, const char *fqdn, const char
      *updater, int resolv_locked)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/src/server.c:5169,1
    - Dst: istsplit
      Src: /src/haproxy/src/server.c:5171,1
    - Dst: istlen
      Src: /src/haproxy/src/server.c:5172,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5173,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/server.c:5177,1
    - Dst: ist0
      Src: /src/haproxy/src/server.c:5177,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5178,1
    - Dst: server_find_by_name
      Src: /src/haproxy/src/server.c:5181,1
    - Dst: ist0
      Src: /src/haproxy/src/server.c:5181,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5182,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - appctx
    - arg
    argTypes:
    - struct appctx*
    - char*
    constantsTouched: []
    func_position:
      end: 5192
      start: 5165
    functionDepth: 3
    functionLinenumber: 5165
    functionLinenumberEnd: 5192
    functionName: cli_find_server
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - proxy_be_by_name
    - istsplit
    - istlen
    - cli_err
    - ist
    - server_find_by_name
    - ist0
    linkageType: ''
    returnType: struct server
    signature: '*cli_find_server(struct appctx *appctx, char *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/server.c:5201,1
    - Dst: cli_find_server
      Src: /src/haproxy/src/server.c:5204,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5208,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5209,1
    - Dst: server_parse_weight_change_request
      Src: /src/haproxy/src/server.c:5210,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5211,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5213,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5215,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5216,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5217,1
    - Dst: srv_adm_set_ready
      Src: /src/haproxy/src/server.c:5218,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5219,1
    - Dst: srv_adm_set_drain
      Src: /src/haproxy/src/server.c:5220,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5221,1
    - Dst: srv_adm_set_maint
      Src: /src/haproxy/src/server.c:5222,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5224,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5225,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5227,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5228,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5230,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5231,1
    - Dst: srv_set_running
      Src: /src/haproxy/src/server.c:5233,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5235,1
    - Dst: srv_set_stopping
      Src: /src/haproxy/src/server.c:5237,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5239,1
    - Dst: srv_set_stopped
      Src: /src/haproxy/src/server.c:5241,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5244,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5245,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5247,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5248,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5250,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5251,1
    - Dst: srv_set_running
      Src: /src/haproxy/src/server.c:5253,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5255,1
    - Dst: srv_set_stopped
      Src: /src/haproxy/src/server.c:5257,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5260,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5261,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5263,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:5266,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5267,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5272,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5274,1
    - Dst: srv_update_agent_addr_port
      Src: /src/haproxy/src/server.c:5275,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5276,1
    - Dst: cli_msg
      Src: /src/haproxy/src/server.c:5278,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5280,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:5282,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5283,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5288,1
    - Dst: srv_update_agent_addr_port
      Src: /src/haproxy/src/server.c:5289,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5290,1
    - Dst: cli_msg
      Src: /src/haproxy/src/server.c:5292,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5294,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5295,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5297,1
    - Dst: set_srv_agent_send
      Src: /src/haproxy/src/server.c:5299,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5300,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5302,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5304,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:5307,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5308,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5313,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5315,1
    - Dst: srv_update_check_addr_port
      Src: /src/haproxy/src/server.c:5316,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5317,1
    - Dst: cli_msg
      Src: /src/haproxy/src/server.c:5319,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5321,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:5323,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5324,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5329,1
    - Dst: srv_update_check_addr_port
      Src: /src/haproxy/src/server.c:5330,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5331,1
    - Dst: cli_msg
      Src: /src/haproxy/src/server.c:5333,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5335,1
    - Dst: strlen
      Src: /src/haproxy/src/server.c:5338,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5339,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5345,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5348,1
    - Dst: srv_update_addr_port
      Src: /src/haproxy/src/server.c:5349,1
    - Dst: cli_msg
      Src: /src/haproxy/src/server.c:5351,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5352,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5354,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5356,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5360,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5364,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5367,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5368,1
    - Dst: srv_update_fqdn
      Src: /src/haproxy/src/server.c:5373,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5374,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5375,1
    - Dst: cli_msg
      Src: /src/haproxy/src/server.c:5377,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5379,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5382,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5387,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5392,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5393,1
    - Dst: srv_set_ssl
      Src: /src/haproxy/src/server.c:5394,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5395,1
    - Dst: srv_set_ssl
      Src: /src/haproxy/src/server.c:5396,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5398,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5399,1
    - Dst: srv_cleanup_connections
      Src: /src/haproxy/src/server.c:5402,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5403,1
    - Dst: cli_msg
      Src: /src/haproxy/src/server.c:5404,1
    - Dst: cli_msg
      Src: /src/haproxy/src/server.c:5406,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5409,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 200
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 5417
      start: 5196
    functionDepth: 5
    functionLinenumber: 5196
    functionLinenumberEnd: 5417
    functionName: cli_parse_set_server
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - srv_adm_set_maint
    - srv_adm_set_drain
    - srv_update_fqdn
    - cli_msg
    - srv_set_running
    - srv_cleanup_connections
    - strcmp
    - srv_update_agent_addr_port
    - set_srv_agent_send
    - cli_find_server
    - srv_set_stopping
    - srv_set_ssl
    - strlen
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - cli_has_level
    - srv_set_stopped
    - srv_update_addr_port
    - srv_adm_set_ready
    - cli_err
    - srv_update_check_addr_port
    - server_parse_weight_change_request
    linkageType: ''
    returnType: int
    signature: cli_parse_set_server(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/src/server.c:5423,1
    - Dst: istsplit
      Src: /src/haproxy/src/server.c:5425,1
    - Dst: istlen
      Src: /src/haproxy/src/server.c:5426,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5427,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/server.c:5429,1
    - Dst: ist0
      Src: /src/haproxy/src/server.c:5429,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5430,1
    - Dst: server_find_by_name
      Src: /src/haproxy/src/server.c:5431,1
    - Dst: ist0
      Src: /src/haproxy/src/server.c:5431,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5432,1
    - Dst: snprintf
      Src: /src/haproxy/src/server.c:5435,1
    - Dst: applet_putstr
      Src: /src/haproxy/src/server.c:5437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 5440
      start: 5419
    functionDepth: 3
    functionLinenumber: 5419
    functionLinenumberEnd: 5440
    functionName: cli_parse_get_weight
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - proxy_be_by_name
    - istsplit
    - istlen
    - cli_err
    - snprintf
    - ist
    - applet_putstr
    - server_find_by_name
    - ist0
    linkageType: ''
    returnType: int
    signature: cli_parse_get_weight(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/server.c:5451,1
    - Dst: cli_find_server
      Src: /src/haproxy/src/server.c:5454,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5458,1
    - Dst: server_parse_weight_change_request
      Src: /src/haproxy/src/server.c:5460,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5462,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 5467
      start: 5446
    functionDepth: 4
    functionLinenumber: 5446
    functionLinenumberEnd: 5467
    functionName: cli_parse_set_weight
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - cli_find_server
    - cli_has_level
    - server_parse_weight_change_request
    linkageType: ''
    returnType: int
    signature: cli_parse_set_weight(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/server.c:5478,1
    - Dst: cli_find_server
      Src: /src/haproxy/src/server.c:5481,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5485,1
    - Dst: server_parse_maxconn_change_request
      Src: /src/haproxy/src/server.c:5487,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5489,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 5494
      start: 5473
    functionDepth: 5
    functionLinenumber: 5473
    functionLinenumberEnd: 5494
    functionName: cli_parse_set_maxconn_server
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - cli_find_server
    - server_parse_maxconn_change_request
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_set_maxconn_server(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/server.c:5504,1
    - Dst: cli_find_server
      Src: /src/haproxy/src/server.c:5507,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5511,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 5515
      start: 5500
    functionDepth: 4
    functionLinenumber: 5500
    functionLinenumberEnd: 5515
    functionName: cli_parse_disable_agent
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - cli_find_server
    - HA_SPIN_UNLOCK
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_disable_agent(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/server.c:5525,1
    - Dst: cli_find_server
      Src: /src/haproxy/src/server.c:5528,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5532,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 5536
      start: 5521
    functionDepth: 4
    functionLinenumber: 5521
    functionLinenumberEnd: 5536
    functionName: cli_parse_disable_health
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - cli_find_server
    - HA_SPIN_UNLOCK
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_disable_health(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/server.c:5546,1
    - Dst: cli_find_server
      Src: /src/haproxy/src/server.c:5549,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5553,1
    - Dst: srv_adm_set_maint
      Src: /src/haproxy/src/server.c:5554,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 5557
      start: 5542
    functionDepth: 4
    functionLinenumber: 5542
    functionLinenumberEnd: 5557
    functionName: cli_parse_disable_server
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - srv_adm_set_maint
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - cli_find_server
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_disable_server(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/server.c:5567,1
    - Dst: cli_find_server
      Src: /src/haproxy/src/server.c:5570,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5575,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5577,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 5581
      start: 5563
    functionDepth: 4
    functionLinenumber: 5563
    functionLinenumberEnd: 5581
    functionName: cli_parse_enable_agent
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - cli_find_server
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_enable_agent(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/server.c:5591,1
    - Dst: cli_find_server
      Src: /src/haproxy/src/server.c:5594,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5599,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5601,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 5605
      start: 5587
    functionDepth: 4
    functionLinenumber: 5587
    functionLinenumberEnd: 5605
    functionName: cli_parse_enable_health
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - cli_find_server
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_enable_health(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/server.c:5615,1
    - Dst: cli_find_server
      Src: /src/haproxy/src/server.c:5618,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5622,1
    - Dst: srv_adm_set_ready
      Src: /src/haproxy/src/server.c:5623,1
    - Dst: srv_check_for_dup_dyncookie
      Src: /src/haproxy/src/server.c:5627,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 5630
      start: 5611
    functionDepth: 4
    functionLinenumber: 5611
    functionLinenumberEnd: 5630
    functionName: cli_parse_enable_server
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - srv_check_for_dup_dyncookie
    - srv_adm_set_ready
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - cli_find_server
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_enable_server(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/server.c:5651,1
    - Dst: full_hash
      Src: /src/haproxy/src/server.c:5658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - sv
    - be
    argTypes:
    - struct server*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 5663
      start: 5640
    functionDepth: 3
    functionLinenumber: 5640
    functionLinenumberEnd: 5663
    functionName: srv_alloc_lb
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - full_hash
    - calloc
    linkageType: ''
    returnType: int
    signature: srv_alloc_lb(struct server *sv, struct proxy *be)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:5679,1
    - Dst: server_recalc_eweight
      Src: /src/haproxy/src/server.c:5682,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/server.c:5685,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:5687,1
    - Dst: tick_add
      Src: /src/haproxy/src/server.c:5693,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/server.c:5693,1
    - Dst: MAX
      Src: /src/haproxy/src/server.c:5693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 5695
      start: 5669
    functionDepth: 4
    functionLinenumber: 5669
    functionLinenumberEnd: 5695
    functionName: server_warmup
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - tick_add
    - server_recalc_eweight
    - process_srv_queue
    - HA_SPIN_UNLOCK
    - MAX
    - HA_SPIN_LOCK
    - MS_TO_TICKS
    linkageType: ''
    returnType: struct task
    signature: '*server_warmup(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/server.c:5707,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:5708,1
    - Dst: task_schedule
      Src: /src/haproxy/src/server.c:5721,1
    - Dst: tick_add
      Src: /src/haproxy/src/server.c:5722,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/server.c:5723,1
    - Dst: MAX
      Src: /src/haproxy/src/server.c:5723,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/server.c:5723,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 5728
      start: 5702
    functionDepth: 1
    functionLinenumber: 5702
    functionLinenumberEnd: 5728
    functionName: init_srv_slowstart
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ns_to_sec
    - tick_add
    - task_schedule
    - MAX
    - task_new_anywhere
    - MS_TO_TICKS
    linkageType: ''
    returnType: int
    signature: init_srv_slowstart(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tasklet_new
      Src: /src/haproxy/src/server.c:5737,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:5738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 5746
      start: 5733
    functionDepth: 1
    functionLinenumber: 5733
    functionLinenumberEnd: 5746
    functionName: init_srv_requeue
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - tasklet_new
    linkageType: ''
    returnType: int
    signature: init_srv_requeue(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/server.c:5756,1
    - Dst: calloc
      Src: /src/haproxy/src/server.c:5757,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/server.c:5765,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/server.c:5767,1
    - Dst: queue_init
      Src: /src/haproxy/src/server.c:5771,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 5774
      start: 5752
    functionDepth: 3
    functionLinenumber: 5752
    functionLinenumberEnd: 5774
    functionName: srv_init_per_thr
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - calloc
    - MT_LIST_INIT
    - LIST_INIT
    - queue_init
    linkageType: ''
    returnType: int
    signature: srv_init_per_thr(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usermsgs_clr
      Src: /src/haproxy/src/server.c:5788,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/server.c:5790,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5806,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/server.c:5808,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5810,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5813,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:5818,1
    - Dst: thread_isolate
      Src: /src/haproxy/src/server.c:5828,1
    - Dst: _srv_parse_init
      Src: /src/haproxy/src/server.c:5831,1
    - Dst: _srv_parse_kw
      Src: /src/haproxy/src/server.c:5836,1
    - Dst: _srv_parse_finalize
      Src: /src/haproxy/src/server.c:5842,1
    - Dst: conn_get_best_mux_entry
      Src: /src/haproxy/src/server.c:5857,1
    - Dst: isteq
      Src: /src/haproxy/src/server.c:5859,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:5860,1
    - Dst: srv_init_per_thr
      Src: /src/haproxy/src/server.c:5865,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:5866,1
    - Dst: calloc
      Src: /src/haproxy/src/server.c:5871,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:5873,1
    - Dst: srv_alloc_lb
      Src: /src/haproxy/src/server.c:5878,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:5879,1
    - Dst: stats_allocate_proxy_counters_internal
      Src: /src/haproxy/src/server.c:5883,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:5886,1
    - Dst: srv_minmax_conn_apply
      Src: /src/haproxy/src/server.c:5891,1
    - Dst: xprt_get
      Src: /src/haproxy/src/server.c:5895,1
    - Dst: xprt_get
      Src: /src/haproxy/src/server.c:5895,1
    - Dst: xprt_get
      Src: /src/haproxy/src/server.c:5896,1
    - Dst: srv_apply_track
      Src: /src/haproxy/src/server.c:5902,1
    - Dst: init_srv_check
      Src: /src/haproxy/src/server.c:5911,1
    - Dst: init_srv_agent_check
      Src: /src/haproxy/src/server.c:5918,1
    - Dst: init_srv_slowstart
      Src: /src/haproxy/src/server.c:5925,1
    - Dst: init_srv_requeue
      Src: /src/haproxy/src/server.c:5928,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:5944,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:5945,1
    - Dst: get_next_id
      Src: /src/haproxy/src/server.c:5964,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:5966,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/server.c:5975,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/server.c:5976,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/server.c:5979,1
    - Dst: srv_set_dyncookie
      Src: /src/haproxy/src/server.c:5994,1
    - Dst: srv_event_hdl_publish
      Src: /src/haproxy/src/server.c:6000,1
    - Dst: thread_release
      Src: /src/haproxy/src/server.c:6002,1
    - Dst: start_check_task
      Src: /src/haproxy/src/server.c:6010,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:6011,1
    - Dst: start_check_task
      Src: /src/haproxy/src/server.c:6014,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:6015,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:6019,1
    - Dst: ha_notice
      Src: /src/haproxy/src/server.c:6021,1
    - Dst: cli_umsg
      Src: /src/haproxy/src/server.c:6022,1
    - Dst: release_server_track
      Src: /src/haproxy/src/server.c:6029,1
    - Dst: free_check
      Src: /src/haproxy/src/server.c:6032,1
    - Dst: srv_drop
      Src: /src/haproxy/src/server.c:6033,1
    - Dst: free_check
      Src: /src/haproxy/src/server.c:6036,1
    - Dst: srv_drop
      Src: /src/haproxy/src/server.c:6037,1
    - Dst: _srv_detach
      Src: /src/haproxy/src/server.c:6041,1
    - Dst: thread_release
      Src: /src/haproxy/src/server.c:6044,1
    - Dst: usermsgs_empty
      Src: /src/haproxy/src/server.c:6046,1
    - Dst: cli_umsgerr
      Src: /src/haproxy/src/server.c:6047,1
    - Dst: srv_drop
      Src: /src/haproxy/src/server.c:6050,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 178
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 6053
      start: 5779
    functionDepth: 7
    functionLinenumber: 5779
    functionLinenumberEnd: 6053
    functionName: cli_parse_add_server
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - _srv_parse_kw
    - proxy_be_by_name
    - ha_alert
    - srv_set_dyncookie
    - ha_warning
    - thread_release
    - _srv_parse_init
    - init_srv_agent_check
    - init_srv_slowstart
    - _srv_detach
    - srv_init_per_thr
    - init_srv_check
    - strcmp
    - eb32_insert
    - isteq
    - init_srv_requeue
    - conn_get_best_mux_entry
    - usermsgs_clr
    - usermsgs_empty
    - _srv_parse_finalize
    - cli_umsgerr
    - srv_event_hdl_publish
    - thread_isolate
    - start_check_task
    - free_check
    - srv_apply_track
    - srv_alloc_lb
    - cli_has_level
    - stats_allocate_proxy_counters_internal
    - get_next_id
    - xprt_get
    - calloc
    - cli_err
    - ebis_insert
    - ha_notice
    - cli_umsg
    - release_server_track
    - srv_minmax_conn_apply
    - srv_drop
    linkageType: ''
    returnType: int
    signature: cli_parse_add_server(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/server.c:6077,1
    - Dst: server_find_by_name
      Src: /src/haproxy/src/server.c:6082,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/server.c:6105,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/server.c:6106,1
    - Dst: srv_has_streams
      Src: /src/haproxy/src/server.c:6106,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 5
    argNames:
    - bename
    - svname
    - pb
    - ps
    - pm
    argTypes:
    - char*
    - char*
    - struct proxy**
    - struct server**
    - char**
    constantsTouched: []
    func_position:
      end: 6121
      start: 6067
    functionDepth: 3
    functionLinenumber: 6067
    functionLinenumberEnd: 6121
    functionName: srv_check_for_deletion
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - _HA_ATOMIC_LOAD
    - proxy_be_by_name
    - server_find_by_name
    - srv_has_streams
    linkageType: ''
    returnType: int
    signature: srv_check_for_deletion(const char *bename, const char *svname, struct
      proxy **pb, struct server **ps, const char **pm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/server.c:6137,1
    - Dst: thread_isolate_full
      Src: /src/haproxy/src/server.c:6148,1
    - Dst: ist
      Src: /src/haproxy/src/server.c:6150,1
    - Dst: istsplit
      Src: /src/haproxy/src/server.c:6151,1
    - Dst: istlen
      Src: /src/haproxy/src/server.c:6152,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:6153,1
    - Dst: srv_check_for_deletion
      Src: /src/haproxy/src/server.c:6157,1
    - Dst: ist0
      Src: /src/haproxy/src/server.c:6157,1
    - Dst: ist0
      Src: /src/haproxy/src/server.c:6157,1
    - Dst: cli_err
      Src: /src/haproxy/src/server.c:6160,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/server.c:6169,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/server.c:6170,1
    - Dst: struct connection*::mux::takeover
      Src: /src/haproxy/src/server.c:6173,1
    - Dst: struct connection*::xprt::takeover
      Src: /src/haproxy/src/server.c:6175,1
    - Dst: conn_release
      Src: /src/haproxy/src/server.c:6177,1
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/server.c:6183,1
    - Dst: conn_release
      Src: /src/haproxy/src/server.c:6185,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:6193,1
    - Dst: MT_LIST_FOR_EACH_ENTRY_LOCKED
      Src: /src/haproxy/src/server.c:6196,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/server.c:6198,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:6201,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/server.c:6203,1
    - Dst: struct connection*::mux::takeover
      Src: /src/haproxy/src/server.c:6208,1
    - Dst: struct connection*::xprt::takeover
      Src: /src/haproxy/src/server.c:6210,1
    - Dst: conn_release
      Src: /src/haproxy/src/server.c:6212,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/server.c:6215,1
    - Dst: pool_free
      Src: /src/haproxy/src/server.c:6216,1
    - Dst: srv_event_hdl_publish
      Src: /src/haproxy/src/server.c:6223,1
    - Dst: release_server_track
      Src: /src/haproxy/src/server.c:6227,1
    - Dst: check_purge
      Src: /src/haproxy/src/server.c:6231,1
    - Dst: check_purge
      Src: /src/haproxy/src/server.c:6233,1
    - Dst: MT_LIST_ISEMPTY
      Src: /src/haproxy/src/server.c:6235,1
    - Dst: MT_LIST_NEXT
      Src: /src/haproxy/src/server.c:6236,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:6237,1
    - Dst: watcher_next
      Src: /src/haproxy/src/server.c:6238,1
    - Dst: _srv_detach
      Src: /src/haproxy/src/server.c:6245,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/server.c:6248,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/server.c:6249,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/server.c:6250,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/server.c:6253,1
    - Dst: thread_release
      Src: /src/haproxy/src/server.c:6267,1
    - Dst: ha_notice
      Src: /src/haproxy/src/server.c:6269,1
    - Dst: srv_drop
      Src: /src/haproxy/src/server.c:6270,1
    - Dst: cli_msg
      Src: /src/haproxy/src/server.c:6272,1
    - Dst: thread_release
      Src: /src/haproxy/src/server.c:6276,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 82
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 6278
      start: 6126
    functionDepth: 5
    functionLinenumber: 6126
    functionLinenumberEnd: 6278
    functionName: cli_parse_delete_server
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - istsplit
    - struct connection*::xprt::takeover
    - LIST_DELETE
    - check_purge
    - ist
    - thread_release
    - cli_msg
    - BUG_ON
    - LIST_ISEMPTY
    - _srv_detach
    - istlen
    - MT_LIST_NEXT
    - LIST_DEL_INIT
    - struct connection*::mux::takeover
    - thread_isolate_full
    - ist0
    - MT_LIST_ISEMPTY
    - eb32_delete
    - srv_event_hdl_publish
    - conn_release
    - pool_free
    - cli_has_level
    - ebpt_delete
    - MT_LIST_POP
    - LIST_ELEM
    - watcher_next
    - list_for_each_entry_safe
    - srv_check_for_deletion
    - cli_err
    - MT_LIST_FOR_EACH_ENTRY_LOCKED
    - ha_notice
    - release_server_track
    - srv_drop
    linkageType: ''
    returnType: int
    signature: cli_parse_delete_server(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/haproxy/src/server.c:6319,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/server.c:6330,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:6332,1
    - Dst: findserver
      Src: /src/haproxy/src/server.c:6341,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:6343,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:6349,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:6356,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:6366,1
    - Dst: ha_alert
      Src: /src/haproxy/src/server.c:6375,1
    - Dst: ha_free
      Src: /src/haproxy/src/server.c:6386,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - srv
    - curproxy
    argTypes:
    - struct server*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 6389
      start: 6309
    functionDepth: 1
    functionLinenumber: 6309
    functionLinenumberEnd: 6389
    functionName: srv_apply_track
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - proxy_be_by_name
    - strrchr
    - ha_free
    - findserver
    linkageType: ''
    returnType: int
    signature: srv_apply_track(struct server *srv, struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct proxy*::lbprm::update_server_eweight
      Src: /src/haproxy/src/server.c:6397,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/server.c:6398,1
    - Dst: struct proxy*::lbprm::set_server_status_up
      Src: /src/haproxy/src/server.c:6400,1
    - Dst: struct proxy*::lbprm::set_server_status_down
      Src: /src/haproxy/src/server.c:6404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 6406
      start: 6392
    functionDepth: 1
    functionLinenumber: 6392
    functionLinenumberEnd: 6406
    functionName: srv_lb_propagate
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - struct proxy*::lbprm::update_server_eweight
    - struct proxy*::lbprm::set_server_status_up
    - srv_willbe_usable
    - struct proxy*::lbprm::set_server_status_down
    linkageType: ''
    returnType: void
    signature: srv_lb_propagate(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_propagate
      Src: /src/haproxy/src/server.c:6423,1
    - Dst: srv_shutdown_streams
      Src: /src/haproxy/src/server.c:6426,1
    - Dst: pendconn_redistribute
      Src: /src/haproxy/src/server.c:6432,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/server.c:6434,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6436,1
    - Dst: srv_append_op_chg_cause
      Src: /src/haproxy/src/server.c:6440,1
    - Dst: srv_append_more
      Src: /src/haproxy/src/server.c:6441,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:6443,1
    - Dst: send_log
      Src: /src/haproxy/src/server.c:6447,1
    - Dst: send_email_alert
      Src: /src/haproxy/src/server.c:6449,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/server.c:6451,1
    - Dst: srv_lb_propagate
      Src: /src/haproxy/src/server.c:6455,1
    - Dst: pendconn_redistribute
      Src: /src/haproxy/src/server.c:6461,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/server.c:6463,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6465,1
    - Dst: srv_append_op_chg_cause
      Src: /src/haproxy/src/server.c:6469,1
    - Dst: srv_append_more
      Src: /src/haproxy/src/server.c:6470,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:6472,1
    - Dst: send_log
      Src: /src/haproxy/src/server.c:6473,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/server.c:6475,1
    - Dst: task_schedule
      Src: /src/haproxy/src/server.c:6482,1
    - Dst: tick_add
      Src: /src/haproxy/src/server.c:6482,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/server.c:6482,1
    - Dst: MAX
      Src: /src/haproxy/src/server.c:6482,1
    - Dst: server_recalc_eweight
      Src: /src/haproxy/src/server.c:6484,1
    - Dst: srv_lb_propagate
      Src: /src/haproxy/src/server.c:6486,1
    - Dst: srv_shutdown_backup_streams
      Src: /src/haproxy/src/server.c:6495,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/server.c:6500,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/server.c:6502,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6504,1
    - Dst: srv_append_op_chg_cause
      Src: /src/haproxy/src/server.c:6508,1
    - Dst: srv_append_more
      Src: /src/haproxy/src/server.c:6509,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:6511,1
    - Dst: send_log
      Src: /src/haproxy/src/server.c:6512,1
    - Dst: send_email_alert
      Src: /src/haproxy/src/server.c:6514,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/server.c:6516,1
    - Dst: srv_lb_propagate
      Src: /src/haproxy/src/server.c:6521,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 2
    argNames:
    - s
    - cause
    argTypes:
    - struct server*
    - enum srv_op_st_chg_cause
    constantsTouched: []
    func_position:
      end: 6524
      start: 6415
    functionDepth: 5
    functionLinenumber: 6415
    functionLinenumberEnd: 6524
    functionName: _srv_update_status_op
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - srv_append_more
    - alloc_trash_chunk
    - srv_append_op_chg_cause
    - send_log
    - srv_shutdown_backup_streams
    - ha_warning
    - pendconn_redistribute
    - task_schedule
    - send_email_alert
    - tick_add
    - MAX
    - chunk_printf
    - server_recalc_eweight
    - process_srv_queue
    - free_trash_chunk
    - MS_TO_TICKS
    - srv_shutdown_streams
    - srv_lb_propagate
    linkageType: ''
    returnType: int
    signature: _srv_update_status_op(struct server *s, enum srv_op_st_chg_cause cause)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/server.c:6548,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6550,1
    - Dst: srv_append_adm_chg_cause
      Src: /src/haproxy/src/server.c:6553,1
    - Dst: srv_append_more
      Src: /src/haproxy/src/server.c:6554,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:6557,1
    - Dst: send_log
      Src: /src/haproxy/src/server.c:6558,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/server.c:6561,1
    - Dst: srv_lb_propagate
      Src: /src/haproxy/src/server.c:6568,1
    - Dst: srv_shutdown_streams
      Src: /src/haproxy/src/server.c:6571,1
    - Dst: srv_cleanup_connections
      Src: /src/haproxy/src/server.c:6574,1
    - Dst: pendconn_redistribute
      Src: /src/haproxy/src/server.c:6579,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/server.c:6581,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6583,1
    - Dst: srv_append_adm_chg_cause
      Src: /src/haproxy/src/server.c:6587,1
    - Dst: srv_append_more
      Src: /src/haproxy/src/server.c:6588,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:6591,1
    - Dst: send_log
      Src: /src/haproxy/src/server.c:6592,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/server.c:6595,1
    - Dst: task_schedule
      Src: /src/haproxy/src/server.c:6640,1
    - Dst: tick_add
      Src: /src/haproxy/src/server.c:6640,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/server.c:6640,1
    - Dst: MAX
      Src: /src/haproxy/src/server.c:6640,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/server.c:6648,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6651,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6659,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6667,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:6674,1
    - Dst: send_log
      Src: /src/haproxy/src/server.c:6675,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/server.c:6677,1
    - Dst: server_recalc_eweight
      Src: /src/haproxy/src/server.c:6680,1
    - Dst: srv_lb_propagate
      Src: /src/haproxy/src/server.c:6682,1
    - Dst: srv_shutdown_backup_streams
      Src: /src/haproxy/src/server.c:6691,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/server.c:6696,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/server.c:6703,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6705,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:6711,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:6713,1
    - Dst: send_log
      Src: /src/haproxy/src/server.c:6714,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/server.c:6716,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/server.c:6720,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6722,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:6728,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:6730,1
    - Dst: send_log
      Src: /src/haproxy/src/server.c:6731,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/server.c:6733,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/server.c:6737,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6739,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:6743,1
    - Dst: send_log
      Src: /src/haproxy/src/server.c:6744,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/server.c:6746,1
    - Dst: srv_lb_propagate
      Src: /src/haproxy/src/server.c:6756,1
    - Dst: pendconn_redistribute
      Src: /src/haproxy/src/server.c:6762,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/server.c:6764,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6766,1
    - Dst: srv_append_adm_chg_cause
      Src: /src/haproxy/src/server.c:6768,1
    - Dst: srv_append_more
      Src: /src/haproxy/src/server.c:6769,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:6772,1
    - Dst: send_log
      Src: /src/haproxy/src/server.c:6773,1
    - Dst: send_email_alert
      Src: /src/haproxy/src/server.c:6775,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/server.c:6778,1
    - Dst: server_recalc_eweight
      Src: /src/haproxy/src/server.c:6783,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/server.c:6785,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6788,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6795,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:6801,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:6805,1
    - Dst: send_log
      Src: /src/haproxy/src/server.c:6806,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/server.c:6808,1
    - Dst: srv_lb_propagate
      Src: /src/haproxy/src/server.c:6812,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/server.c:6817,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6820,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/server.c:6826,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/server.c:6830,1
    - Dst: ha_warning
      Src: /src/haproxy/src/server.c:6835,1
    - Dst: send_log
      Src: /src/haproxy/src/server.c:6836,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/server.c:6838,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 171
    argCount: 2
    argNames:
    - s
    - cause
    argTypes:
    - struct server*
    - enum srv_adm_st_chg_cause
    constantsTouched: []
    func_position:
      end: 6843
      start: 6534
    functionDepth: 5
    functionLinenumber: 6534
    functionLinenumberEnd: 6843
    functionName: _srv_update_status_adm
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - send_log
    - ha_warning
    - server_recalc_eweight
    - process_srv_queue
    - free_trash_chunk
    - srv_shutdown_streams
    - alloc_trash_chunk
    - srv_cleanup_connections
    - task_schedule
    - MAX
    - chunk_appendf
    - srv_append_adm_chg_cause
    - srv_lb_propagate
    - srv_shutdown_backup_streams
    - send_email_alert
    - chunk_printf
    - MS_TO_TICKS
    - srv_append_more
    - tick_add
    - pendconn_redistribute
    linkageType: ''
    returnType: int
    signature: _srv_update_status_adm(struct server *s, enum srv_adm_st_chg_cause
      cause)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _srv_event_hdl_prepare
      Src: /src/haproxy/src/server.c:6867,1
    - Dst: _srv_update_status_adm
      Src: /src/haproxy/src/server.c:6873,1
    - Dst: _srv_event_hdl_publish
      Src: /src/haproxy/src/server.c:6876,1
    - Dst: _srv_update_status_op
      Src: /src/haproxy/src/server.c:6879,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/server.c:6884,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/server.c:6890,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/server.c:6891,1
    - Dst: _srv_event_hdl_publish
      Src: /src/haproxy/src/server.c:6892,1
    - Dst: _srv_event_hdl_publish
      Src: /src/haproxy/src/server.c:6897,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/server.c:6905,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/server.c:6907,1
    - Dst: _srv_event_hdl_prepare_state
      Src: /src/haproxy/src/server.c:6910,1
    - Dst: _srv_event_hdl_publish
      Src: /src/haproxy/src/server.c:6912,1
    - Dst: set_backend_down
      Src: /src/haproxy/src/server.c:6917,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/server.c:6922,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/server.c:6923,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/server.c:6924,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - s
    - type
    - cause
    argTypes:
    - struct server*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 6926
      start: 6855
    functionDepth: 6
    functionLinenumber: 6855
    functionLinenumberEnd: 6926
    functionName: srv_update_status
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 6
    functionsReached:
    - ns_to_sec
    - _srv_event_hdl_prepare
    - set_backend_down
    - _srv_event_hdl_publish
    - _srv_update_status_adm
    - srv_lb_commit_status
    - _srv_event_hdl_prepare_state
    - HA_ATOMIC_STORE
    - _srv_update_status_op
    linkageType: ''
    returnType: void
    signature: srv_update_status(struct server *s, int type, int cause)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/server.c:6932,1
    - Dst: struct connection*::mux::destroy
      Src: /src/haproxy/src/server.c:6934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - task
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6938
      start: 6928
    functionDepth: 0
    functionLinenumber: 6928
    functionLinenumberEnd: 6938
    functionName: srv_cleanup_toremove_conns
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - struct connection*::mux::destroy
    - MT_LIST_POP
    linkageType: ''
    returnType: struct task
    signature: '*srv_cleanup_toremove_conns(struct task *task, void *context, unsigned
      int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/server.c:6952,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/server.c:6956,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/server.c:6957,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/server.c:6958,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - list
    - toremove_list
    - toremove_nb
    argTypes:
    - struct list*
    - struct mt_list*
    - int
    constantsTouched: []
    func_position:
      end: 6963
      start: 6947
    functionDepth: 2
    functionLinenumber: 6947
    functionLinenumberEnd: 6963
    functionName: srv_migrate_conns_to_remove
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - MT_LIST_APPEND
    - conn_delete_from_tree
    - LIST_ISEMPTY
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: srv_migrate_conns_to_remove(struct list *list, struct mt_list *toremove_list,
      int toremove_nb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:6979,1
    - Dst: srv_migrate_conns_to_remove
      Src: /src/haproxy/src/server.c:6980,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:6982,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/server.c:6984,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 6989
      start: 6967
    functionDepth: 3
    functionLinenumber: 6967
    functionLinenumberEnd: 6989
    functionName: srv_cleanup_connections
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 3
    functionsReached:
    - HA_SPIN_LOCK
    - task_wakeup
    - HA_SPIN_UNLOCK
    - srv_migrate_conns_to_remove
    linkageType: ''
    returnType: void
    signature: srv_cleanup_connections(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/server.c:6998,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/server.c:6999,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/server.c:7000,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/server.c:7006,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:7011,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/server.c:7012,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:7014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - srv
    - conn
    argTypes:
    - struct server*
    - struct connection*
    constantsTouched: []
    func_position:
      end: 7016
      start: 6992
    functionDepth: 2
    functionLinenumber: 6992
    functionLinenumberEnd: 7016
    functionName: srv_release_conn
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - HA_SPIN_LOCK
    - HA_SPIN_UNLOCK
    - conn_delete_from_tree
    - _HA_ATOMIC_DEC
    linkageType: ''
    returnType: void
    signature: srv_release_conn(struct server *srv, struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_lookup
      Src: /src/haproxy/src/server.c:7027,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/server.c:7029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - tree
    - hash
    argTypes:
    - struct eb_root*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 7034
      start: 7021
    functionDepth: 2
    functionLinenumber: 7021
    functionLinenumberEnd: 7034
    functionName: srv_lookup_conn
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 2
    functionsReached:
    - ebmb_entry
    - eb64_lookup
    linkageType: ''
    returnType: struct connection
    signature: '*srv_lookup_conn(struct eb_root *tree, uint64_t hash)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_next_dup
      Src: /src/haproxy/src/server.c:7045,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/server.c:7047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 7052
      start: 7039
    functionDepth: 1
    functionLinenumber: 7039
    functionLinenumberEnd: 7052
    functionName: srv_lookup_conn_next
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 1
    functionsReached:
    - eb64_entry
    - eb64_next_dup
    linkageType: ''
    returnType: struct connection
    signature: '*srv_lookup_conn_next(struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_insert
      Src: /src/haproxy/src/server.c:7070,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/server.c:7073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - srv
    - conn
    - is_safe
    argTypes:
    - struct server*
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 7074
      start: 7064
    functionDepth: 2
    functionLinenumber: 7064
    functionLinenumberEnd: 7074
    functionName: _srv_add_idle
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 4
    functionsReached:
    - LIST_APPEND
    - eb64_insert
    linkageType: ''
    returnType: void
    signature: _srv_add_idle(struct server *srv, struct connection *conn, int is_safe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/src/server.c:7092,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/server.c:7093,1
    - Dst: MAX
      Src: /src/haproxy/src/server.c:7096,1
    - Dst: struct connection*::mux::used_streams
      Src: /src/haproxy/src/server.c:7098,1
    - Dst: struct connection*::mux::avail_streams
      Src: /src/haproxy/src/server.c:7098,1
    - Dst: _HA_ATOMIC_ADD_FETCH
      Src: /src/haproxy/src/server.c:7101,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/server.c:7103,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/server.c:7106,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:7108,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/server.c:7109,1
    - Dst: _srv_add_idle
      Src: /src/haproxy/src/server.c:7113,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/server.c:7114,1
    - Dst: _srv_add_idle
      Src: /src/haproxy/src/server.c:7117,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/server.c:7118,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:7120,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/server.c:7121,1
    - Dst: __ha_barrier_full
      Src: /src/haproxy/src/server.c:7123,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:7125,1
    - Dst: tick_add
      Src: /src/haproxy/src/server.c:7127,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/server.c:7129,1
    - Dst: task_in_wq
      Src: /src/haproxy/src/server.c:7130,1
    - Dst: task_in_rq
      Src: /src/haproxy/src/server.c:7131,1
    - Dst: task_schedule
      Src: /src/haproxy/src/server.c:7132,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:7137,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 3
    argNames:
    - srv
    - conn
    - is_safe
    argTypes:
    - struct server*
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 7142
      start: 7079
    functionDepth: 3
    functionLinenumber: 7079
    functionLinenumberEnd: 7142
    functionName: srv_add_to_idle_list
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 3
    functionsReached:
    - struct connection*::mux::used_streams
    - task_in_rq
    - _HA_ATOMIC_DEC
    - struct connection*::mux::avail_streams
    - _HA_ATOMIC_ADD_FETCH
    - _HA_ATOMIC_INC
    - tick_add
    - eb32_insert
    - MAX
    - eb_is_empty
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - __ha_barrier_full
    - task_schedule
    - _srv_add_idle
    - task_in_wq
    - conn_delete_from_tree
    linkageType: ''
    returnType: int
    signature: srv_add_to_idle_list(struct server *srv, struct connection *conn, int
      is_safe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/server.c:7150,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/server.c:7150,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/server.c:7151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - srv
    - conn
    argTypes:
    - struct server*
    - struct connection*
    constantsTouched: []
    func_position:
      end: 7152
      start: 7147
    functionDepth: 2
    functionLinenumber: 7147
    functionLinenumberEnd: 7152
    functionName: srv_add_to_avail_list
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 4
    functionsReached:
    - LIST_INLIST
    - BUG_ON
    - eb64_insert
    linkageType: ''
    returnType: void
    signature: srv_add_to_avail_list(struct server *srv, struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:7162,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/server.c:7168,1
    - Dst: eb32_first
      Src: /src/haproxy/src/server.c:7175,1
    - Dst: likely
      Src: /src/haproxy/src/server.c:7176,1
    - Dst: tick_is_lt
      Src: /src/haproxy/src/server.c:7179,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/server.c:7184,1
    - Dst: MAX
      Src: /src/haproxy/src/server.c:7194,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/server.c:7201,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/server.c:7215,1
    - Dst: srv_migrate_conns_to_remove
      Src: /src/haproxy/src/server.c:7216,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:7219,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/server.c:7222,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/server.c:7228,1
    - Dst: tick_add
      Src: /src/haproxy/src/server.c:7234,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/server.c:7235,1
    - Dst: tick_first
      Src: /src/haproxy/src/server.c:7236,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/server.c:7239,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 3
    argNames:
    - task
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 7243
      start: 7154
    functionDepth: 3
    functionLinenumber: 7154
    functionLinenumberEnd: 7243
    functionName: srv_cleanup_idle_conns
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - eb32_entry
    - eb32_delete
    - tick_add
    - eb32_insert
    - tick_is_lt
    - task_wakeup
    - MAX
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - tick_first
    - likely
    - eb32_lookup_ge
    - srv_migrate_conns_to_remove
    - eb32_first
    - HA_ATOMIC_STORE
    linkageType: ''
    returnType: struct task
    signature: '*srv_cleanup_idle_conns(struct task *task, void *context, unsigned
      int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/src/server.c:7267,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/server.c:7268,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/server.c:7269,1
    - Dst: struct connection*::ctrl::ctrl_close
      Src: /src/haproxy/src/server.c:7273,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/server.c:7274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 7278
      start: 7253
    functionDepth: 2
    functionLinenumber: 7253
    functionLinenumberEnd: 7278
    functionName: srv_close_idle_conns
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - struct connection*::ctrl::ctrl_close
    - eb_is_empty
    - ebmb_entry
    - ebmb_first
    - conn_delete_from_tree
    linkageType: ''
    returnType: void
    signature: srv_close_idle_conns(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/server.c:7287,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:7290,1
    - Dst: strcmp
      Src: /src/haproxy/src/server.c:7292,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:7295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 7299
      start: 7283
    functionDepth: 5
    functionLinenumber: 7283
    functionLinenumberEnd: 7299
    functionName: cfg_parse_idle_pool_shared
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_idle_pool_shared(char **args, int section_type, struct proxy
      *curpx,\n                                      const struct proxy *defpx, const
      char *file, int line,\n                                      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/server.c:7308,1
    - Dst: atoi
      Src: /src/haproxy/src/server.c:7312,1
    - Dst: memprintf
      Src: /src/haproxy/src/server.c:7315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 7324
      start: 7302
    functionDepth: 5
    functionLinenumber: 7302
    functionLinenumberEnd: 7324
    functionName: cfg_parse_pool_fd_ratio
    functionSourceFile: /src/haproxy/src/server.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "cfg_parse_pool_fd_ratio(char **args, int section_type, struct proxy
      *curpx,\n                                   const struct proxy *defpx, const
      char *file, int line,\n                                   char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/haproxy/src/extcheck.c:104,1
    - Dst: sigaddset
      Src: /src/haproxy/src/extcheck.c:105,1
    - Dst: assert
      Src: /src/haproxy/src/extcheck.c:106,1
    - Dst: ha_sigmask
      Src: /src/haproxy/src/extcheck.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: block_sigchld
    functionSourceFile: /src/haproxy/src/extcheck.c
    functionUses: 0
    functionsReached:
    - sigaddset
    - ha_sigmask
    - sigemptyset
    - assert
    linkageType: ''
    returnType: void
    signature: block_sigchld(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/haproxy/src/extcheck.c:112,1
    - Dst: sigaddset
      Src: /src/haproxy/src/extcheck.c:113,1
    - Dst: assert
      Src: /src/haproxy/src/extcheck.c:114,1
    - Dst: ha_sigmask
      Src: /src/haproxy/src/extcheck.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: unblock_sigchld
    functionSourceFile: /src/haproxy/src/extcheck.c
    functionUses: 0
    functionsReached:
    - sigaddset
    - ha_sigmask
    - sigemptyset
    - assert
    linkageType: ''
    returnType: void
    signature: unblock_sigchld(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/extcheck.c:122,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/extcheck.c:129,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/extcheck.c:131,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/extcheck.c:132,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/extcheck.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - pid
    - t
    argTypes:
    - pid_t
    - struct task*
    constantsTouched: []
    func_position:
      end: 136
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 136
    functionName: pid_list_add
    functionSourceFile: /src/haproxy/src/extcheck.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_UNLOCK
    - pool_alloc
    - HA_SPIN_LOCK
    - LIST_INIT
    - LIST_INSERT
    linkageType: ''
    returnType: struct pid_list
    signature: '*pid_list_add(pid_t pid, struct task *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/extcheck.c:145,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/extcheck.c:146,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/extcheck.c:147,1
    - Dst: kill
      Src: /src/haproxy/src/extcheck.c:150,1
    - Dst: pool_free
      Src: /src/haproxy/src/extcheck.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - elem
    argTypes:
    - struct pid_list*
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: pid_list_del
    functionSourceFile: /src/haproxy/src/extcheck.c
    functionUses: 0
    functionsReached:
    - LIST_DELETE
    - HA_SPIN_UNLOCK
    - pool_free
    - HA_SPIN_LOCK
    - kill
    linkageType: ''
    returnType: void
    signature: pid_list_del(struct pid_list *elem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/extcheck.c:162,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/extcheck.c:163,1
    - Dst: tick_add
      Src: /src/haproxy/src/extcheck.c:165,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/extcheck.c:168,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/extcheck.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pid
    - status
    argTypes:
    - pid_t
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: pid_list_expire
    functionSourceFile: /src/haproxy/src/extcheck.c
    functionUses: 0
    functionsReached:
    - tick_add
    - list_for_each_entry
    - task_wakeup
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    linkageType: ''
    returnType: void
    signature: pid_list_expire(pid_t pid, int status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: waitpid
      Src: /src/haproxy/src/extcheck.c:180,1
    - Dst: pid_list_expire
      Src: /src/haproxy/src/extcheck.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sh
    argTypes:
    - struct sig_handler*
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: sigchld_handler
    functionSourceFile: /src/haproxy/src/extcheck.c
    functionUses: 0
    functionsReached:
    - waitpid
    - pid_list_expire
    linkageType: ''
    returnType: void
    signature: sigchld_handler(struct sig_handler *sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal_register_fct
      Src: /src/haproxy/src/extcheck.c:190,1
    - Dst: ha_alert
      Src: /src/haproxy/src/extcheck.c:191,1
    - Dst: strerror
      Src: /src/haproxy/src/extcheck.c:192,1
    - Dst: create_pool
      Src: /src/haproxy/src/extcheck.c:196,1
    - Dst: ha_alert
      Src: /src/haproxy/src/extcheck.c:198,1
    - Dst: strerror
      Src: /src/haproxy/src/extcheck.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 204
    functionName: init_pid_list
    functionSourceFile: /src/haproxy/src/extcheck.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - signal_register_fct
    - strerror
    - create_pool
    linkageType: ''
    returnType: int
    signature: init_pid_list(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/src/extcheck.c:221,1
    - Dst: strcmp
      Src: /src/haproxy/src/extcheck.c:234,1
    - Dst: strlen
      Src: /src/haproxy/src/extcheck.c:238,1
    - Dst: strlen
      Src: /src/haproxy/src/extcheck.c:240,1
    - Dst: malloc
      Src: /src/haproxy/src/extcheck.c:245,1
    - Dst: ha_alert
      Src: /src/haproxy/src/extcheck.c:248,1
    - Dst: snprintf
      Src: /src/haproxy/src/extcheck.c:251,1
    - Dst: ha_alert
      Src: /src/haproxy/src/extcheck.c:253,1
    - Dst: strerror
      Src: /src/haproxy/src/extcheck.c:253,1
    - Dst: ha_alert
      Src: /src/haproxy/src/extcheck.c:257,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - check
    - idx
    - value
    argTypes:
    - struct check*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 261
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 261
    functionName: extchk_setenv
    functionSourceFile: /src/haproxy/src/extcheck.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - malloc
    - strerror
    - strcmp
    - strlen
    - snprintf
    linkageType: ''
    returnType: int
    signature: extchk_setenv(struct check *check, int idx, const char *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/extcheck.c:273,1
    - Dst: calloc
      Src: /src/haproxy/src/extcheck.c:283,1
    - Dst: ha_alert
      Src: /src/haproxy/src/extcheck.c:285,1
    - Dst: calloc
      Src: /src/haproxy/src/extcheck.c:289,1
    - Dst: ha_alert
      Src: /src/haproxy/src/extcheck.c:291,1
    - Dst: strdup
      Src: /src/haproxy/src/extcheck.c:298,1
    - Dst: strdup
      Src: /src/haproxy/src/extcheck.c:299,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/extcheck.c:303,1
    - Dst: strdup
      Src: /src/haproxy/src/extcheck.c:304,1
    - Dst: port_to_str
      Src: /src/haproxy/src/extcheck.c:305,1
    - Dst: strdup
      Src: /src/haproxy/src/extcheck.c:306,1
    - Dst: strdup
      Src: /src/haproxy/src/extcheck.c:314,1
    - Dst: strdup
      Src: /src/haproxy/src/extcheck.c:315,1
    - Dst: ha_alert
      Src: /src/haproxy/src/extcheck.c:318,1
    - Dst: calloc
      Src: /src/haproxy/src/extcheck.c:323,1
    - Dst: calloc
      Src: /src/haproxy/src/extcheck.c:324,1
    - Dst: ha_alert
      Src: /src/haproxy/src/extcheck.c:328,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:333,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:335,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:336,1
    - Dst: ultoa_r
      Src: /src/haproxy/src/extcheck.c:336,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:337,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:338,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:340,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:341,1
    - Dst: ultoa_r
      Src: /src/haproxy/src/extcheck.c:341,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:342,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:343,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:344,1
    - Dst: ultoa_r
      Src: /src/haproxy/src/extcheck.c:344,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:345,1
    - Dst: ultoa_r
      Src: /src/haproxy/src/extcheck.c:345,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:346,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:358,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:363,1
    - Dst: free
      Src: /src/haproxy/src/extcheck.c:369,1
    - Dst: ha_free
      Src: /src/haproxy/src/extcheck.c:370,1
    - Dst: free
      Src: /src/haproxy/src/extcheck.c:375,1
    - Dst: ha_free
      Src: /src/haproxy/src/extcheck.c:376,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 101
    argCount: 1
    argNames:
    - check
    argTypes:
    - struct check*
    constantsTouched: []
    func_position:
      end: 379
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 379
    functionName: prepare_external_check
    functionSourceFile: /src/haproxy/src/extcheck.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ultoa_r
    - ha_free
    - list_for_each_entry
    - calloc
    - addr_to_str
    - strdup
    - free
    - EXTCHK_SETENV
    - port_to_str
    linkageType: ''
    returnType: int
    signature: prepare_external_check(struct check *check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_sigchld
      Src: /src/haproxy/src/extcheck.c:402,1
    - Dst: fork
      Src: /src/haproxy/src/extcheck.c:404,1
    - Dst: ha_alert
      Src: /src/haproxy/src/extcheck.c:406,1
    - Dst: strerror
      Src: /src/haproxy/src/extcheck.c:409,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/extcheck.c:410,1
    - Dst: strerror
      Src: /src/haproxy/src/extcheck.c:410,1
    - Dst: my_closefrom
      Src: /src/haproxy/src/extcheck.c:423,1
    - Dst: raise_rlim_nofile
      Src: /src/haproxy/src/extcheck.c:428,1
    - Dst: getrlimit
      Src: /src/haproxy/src/extcheck.c:429,1
    - Dst: ha_warning
      Src: /src/haproxy/src/extcheck.c:430,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:441,1
    - Dst: ultoa_r
      Src: /src/haproxy/src/extcheck.c:441,1
    - Dst: real_family
      Src: /src/haproxy/src/extcheck.c:443,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/extcheck.c:446,1
    - Dst: memcpy
      Src: /src/haproxy/src/extcheck.c:447,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/extcheck.c:449,1
    - Dst: snprintf
      Src: /src/haproxy/src/extcheck.c:452,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:455,1
    - Dst: EXTCHK_SETENV
      Src: /src/haproxy/src/extcheck.c:456,1
    - Dst: setenv
      Src: /src/haproxy/src/extcheck.c:467,1
    - Dst: haproxy_unblock_signals
      Src: /src/haproxy/src/extcheck.c:471,1
    - Dst: execvp
      Src: /src/haproxy/src/extcheck.c:472,1
    - Dst: ha_alert
      Src: /src/haproxy/src/extcheck.c:473,1
    - Dst: strerror
      Src: /src/haproxy/src/extcheck.c:474,1
    - Dst: exit
      Src: /src/haproxy/src/extcheck.c:476,1
    - Dst: pid_list_add
      Src: /src/haproxy/src/extcheck.c:481,1
    - Dst: tick_add
      Src: /src/haproxy/src/extcheck.c:482,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/extcheck.c:482,1
    - Dst: tick_first
      Src: /src/haproxy/src/extcheck.c:486,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/extcheck.c:492,1
    - Dst: strerror
      Src: /src/haproxy/src/extcheck.c:492,1
    - Dst: kill
      Src: /src/haproxy/src/extcheck.c:494,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/extcheck.c:497,1
    - Dst: strerror
      Src: /src/haproxy/src/extcheck.c:497,1
    - Dst: unblock_sigchld
      Src: /src/haproxy/src/extcheck.c:500,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct task*
    constantsTouched: []
    func_position:
      end: 502
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 502
    functionName: connect_proc_chk
    functionSourceFile: /src/haproxy/src/extcheck.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ultoa_r
    - ha_warning
    - getrlimit
    - addr_to_str
    - haproxy_unblock_signals
    - kill
    - strerror
    - setenv
    - unblock_sigchld
    - set_server_check_status
    - exit
    - my_closefrom
    - raise_rlim_nofile
    - fork
    - real_family
    - snprintf
    - block_sigchld
    - MS_TO_TICKS
    - EXTCHK_SETENV
    - pid_list_add
    - execvp
    - strlcpy2
    - tick_add
    - tick_first
    - memcpy
    linkageType: ''
    returnType: int
    signature: connect_proc_chk(struct task *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/extcheck.c:519,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/extcheck.c:534,1
    - Dst: connect_proc_chk
      Src: /src/haproxy/src/extcheck.c:538,1
    - Dst: tick_add
      Src: /src/haproxy/src/extcheck.c:545,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/extcheck.c:545,1
    - Dst: tick_first
      Src: /src/haproxy/src/extcheck.c:549,1
    - Dst: task_set_thread
      Src: /src/haproxy/src/extcheck.c:551,1
    - Dst: check_notify_failure
      Src: /src/haproxy/src/extcheck.c:558,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/extcheck.c:564,1
    - Dst: tick_add
      Src: /src/haproxy/src/extcheck.c:567,1
    - Dst: tick_add
      Src: /src/haproxy/src/extcheck.c:568,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/extcheck.c:568,1
    - Dst: tick_first
      Src: /src/haproxy/src/extcheck.c:571,1
    - Dst: WIFEXITED
      Src: /src/haproxy/src/extcheck.c:586,1
    - Dst: WEXITSTATUS
      Src: /src/haproxy/src/extcheck.c:589,1
    - Dst: WIFEXITED
      Src: /src/haproxy/src/extcheck.c:590,1
    - Dst: WEXITSTATUS
      Src: /src/haproxy/src/extcheck.c:590,1
    - Dst: ha_warning
      Src: /src/haproxy/src/extcheck.c:596,1
    - Dst: kill
      Src: /src/haproxy/src/extcheck.c:597,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/extcheck.c:599,1
    - Dst: check_notify_failure
      Src: /src/haproxy/src/extcheck.c:604,1
    - Dst: check_notify_stopping
      Src: /src/haproxy/src/extcheck.c:608,1
    - Dst: check_notify_success
      Src: /src/haproxy/src/extcheck.c:612,1
    - Dst: task_set_thread
      Src: /src/haproxy/src/extcheck.c:614,1
    - Dst: pid_list_del
      Src: /src/haproxy/src/extcheck.c:617,1
    - Dst: srv_getinter
      Src: /src/haproxy/src/extcheck.c:621,1
    - Dst: statistical_prng
      Src: /src/haproxy/src/extcheck.c:622,1
    - Dst: tick_add
      Src: /src/haproxy/src/extcheck.c:624,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/extcheck.c:624,1
    - Dst: srv_getinter
      Src: /src/haproxy/src/extcheck.c:624,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/extcheck.c:628,1
    - Dst: tick_add
      Src: /src/haproxy/src/extcheck.c:629,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/extcheck.c:629,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/extcheck.c:632,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 634
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 634
    functionName: process_chk_proc
    functionSourceFile: /src/haproxy/src/extcheck.c
    functionUses: 0
    functionsReached:
    - connect_proc_chk
    - check_notify_stopping
    - ha_warning
    - WIFEXITED
    - srv_getinter
    - kill
    - task_set_thread
    - check_notify_failure
    - statistical_prng
    - set_server_check_status
    - tick_is_expired
    - HA_SPIN_UNLOCK
    - check_notify_success
    - HA_SPIN_LOCK
    - WEXITSTATUS
    - MS_TO_TICKS
    - tick_add
    - tick_first
    - pid_list_del
    linkageType: ''
    returnType: struct task
    signature: '*process_chk_proc(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/extcheck.c:645,1
    - Dst: strcmp
      Src: /src/haproxy/src/extcheck.c:649,1
    - Dst: too_many_args
      Src: /src/haproxy/src/extcheck.c:650,1
    - Dst: memprintf
      Src: /src/haproxy/src/extcheck.c:653,1
    - Dst: free
      Src: /src/haproxy/src/extcheck.c:656,1
    - Dst: strdup
      Src: /src/haproxy/src/extcheck.c:657,1
    - Dst: strcmp
      Src: /src/haproxy/src/extcheck.c:659,1
    - Dst: too_many_args
      Src: /src/haproxy/src/extcheck.c:660,1
    - Dst: memprintf
      Src: /src/haproxy/src/extcheck.c:663,1
    - Dst: free
      Src: /src/haproxy/src/extcheck.c:666,1
    - Dst: strdup
      Src: /src/haproxy/src/extcheck.c:667,1
    - Dst: memprintf
      Src: /src/haproxy/src/extcheck.c:670,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 7
    argNames:
    - args
    - section
    - curpx
    - defpx
    - file
    - line
    - errmsg
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 680
      start: 637
    functionDepth: 5
    functionLinenumber: 637
    functionLinenumberEnd: 680
    functionName: proxy_parse_extcheck
    functionSourceFile: /src/haproxy/src/extcheck.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - strdup
    - free
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "proxy_parse_extcheck(char **args, int section, struct proxy *curpx,\n
      \                        const struct proxy *defpx, const char *file, int line,\n
      \                        char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/extcheck.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - args
    - cur_arg
    - curpx
    - defpx
    - file
    - line
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 694
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 694
    functionName: proxy_parse_external_check_opt
    functionSourceFile: /src/haproxy/src/extcheck.c
    functionUses: 1
    functionsReached:
    - alertif_too_many_args_idx
    linkageType: ''
    returnType: int
    signature: "proxy_parse_external_check_opt(char **args, int cur_arg, struct proxy
      *curpx, const struct proxy *defpx,\n\t\t\t\t   const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/tcpcheck.c:86,1
    - Dst: istfree
      Src: /src/haproxy/src/tcpcheck.c:87,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - struct tcpcheck_http_hdr*
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: free_tcpcheck_http_hdr
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - free
    - istfree
    - lf_expr_deinit
    linkageType: ''
    returnType: void
    signature: free_tcpcheck_http_hdr(struct tcpcheck_http_hdr *hdr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/tcpcheck.c:99,1
    - Dst: free_tcpcheck_http_hdr
      Src: /src/haproxy/src/tcpcheck.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - hdrs
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: free_tcpcheck_http_hdrs
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - free_tcpcheck_http_hdr
    - LIST_DELETE
    linkageType: ''
    returnType: void
    signature: free_tcpcheck_http_hdrs(struct list *hdrs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:113,1
    - Dst: istfree
      Src: /src/haproxy/src/tcpcheck.c:119,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/tcpcheck.c:123,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:126,1
    - Dst: istfree
      Src: /src/haproxy/src/tcpcheck.c:128,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/tcpcheck.c:130,1
    - Dst: istfree
      Src: /src/haproxy/src/tcpcheck.c:131,1
    - Dst: free_tcpcheck_http_hdrs
      Src: /src/haproxy/src/tcpcheck.c:132,1
    - Dst: istfree
      Src: /src/haproxy/src/tcpcheck.c:134,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/tcpcheck.c:136,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/tcpcheck.c:143,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/tcpcheck.c:144,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcpcheck.c:145,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:148,1
    - Dst: istfree
      Src: /src/haproxy/src/tcpcheck.c:153,1
    - Dst: regex_free
      Src: /src/haproxy/src/tcpcheck.c:159,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/tcpcheck.c:164,1
    - Dst: regex_free
      Src: /src/haproxy/src/tcpcheck.c:168,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/tcpcheck.c:170,1
    - Dst: istfree
      Src: /src/haproxy/src/tcpcheck.c:172,1
    - Dst: regex_free
      Src: /src/haproxy/src/tcpcheck.c:175,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/tcpcheck.c:177,1
    - Dst: istfree
      Src: /src/haproxy/src/tcpcheck.c:179,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:187,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:188,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcpcheck.c:189,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:194,1
    - Dst: pool_free
      Src: /src/haproxy/src/tcpcheck.c:199,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:201,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 86
    argCount: 2
    argNames:
    - rule
    - in_pool
    argTypes:
    - struct tcpcheck_rule*
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 108
    functionDepth: 5
    functionLinenumber: 108
    functionLinenumberEnd: 202
    functionName: free_tcpcheck
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - istfree
    - lf_expr_deinit
    - pool_free
    - free
    - free_tcpcheck_http_hdrs
    - regex_free
    - release_sample_expr
    linkageType: ''
    returnType: void
    signature: free_tcpcheck(struct tcpcheck_rule *rule, int in_pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/tcpcheck.c:211,1
    - Dst: istdup
      Src: /src/haproxy/src/tcpcheck.c:215,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:216,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:217,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/tcpcheck.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: create_tcpcheck_var
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - calloc
    - isttest
    - istdup
    - free
    - LIST_INIT
    linkageType: ''
    returnType: struct tcpcheck_var
    signature: '*create_tcpcheck_var(const struct ist name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istfree
      Src: /src/haproxy/src/tcpcheck.c:231,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:233,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:235,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - var
    argTypes:
    - struct tcpcheck_var*
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: free_tcpcheck_var
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - free
    - istfree
    linkageType: ''
    returnType: void
    signature: free_tcpcheck_var(struct tcpcheck_var *var)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/tcpcheck.c:245,1
    - Dst: free_tcpcheck_var
      Src: /src/haproxy/src/tcpcheck.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - vars
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 4
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: free_tcpcheck_vars
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - free_tcpcheck_var
    - LIST_DELETE
    linkageType: ''
    returnType: void
    signature: free_tcpcheck_vars(struct list *vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_tcpcheck_var::create_tcpcheck_var
      Src: /src/haproxy/src/tcpcheck.c:257,1
    - Dst: data::data
      Src: /src/haproxy/src/tcpcheck.c:260,1
    - Dst: chunk_dup
      Src: /src/haproxy/src/tcpcheck.c:262,1
    - Dst: data::data
      Src: /src/haproxy/src/tcpcheck.c:262,1
    - Dst: data::data
      Src: /src/haproxy/src/tcpcheck.c:265,1
    - Dst: data::data
      Src: /src/haproxy/src/tcpcheck.c:265,1
    - Dst: chunk_dup
      Src: /src/haproxy/src/tcpcheck.c:268,1
    - Dst: data::data
      Src: /src/haproxy/src/tcpcheck.c:268,1
    - Dst: data::data
      Src: /src/haproxy/src/tcpcheck.c:270,1
    - Dst: data::data
      Src: /src/haproxy/src/tcpcheck.c:270,1
    - Dst: data::data
      Src: /src/haproxy/src/tcpcheck.c:271,1
    - Dst: data::data
      Src: /src/haproxy/src/tcpcheck.c:274,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:275,1
    - Dst: list::list
      Src: /src/haproxy/src/tcpcheck.c:275,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct list*
    - struct list*
    constantsTouched: []
    func_position:
      end: 282
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 282
    functionName: dup_tcpcheck_vars
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - create_tcpcheck_var::create_tcpcheck_var
    - LIST_APPEND
    - list::list
    - data::data
    - chunk_dup
    linkageType: ''
    returnType: int
    signature: dup_tcpcheck_vars(struct list *dst, const struct list *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebis_lookup_len
      Src: /src/haproxy/src/tcpcheck.c:290,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:290,1
    - Dst: container_of
      Src: /src/haproxy/src/tcpcheck.c:292,1
    - Dst: typeof
      Src: /src/haproxy/src/tcpcheck.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 296
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 296
    functionName: find_tcpcheck_ruleset
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - strlen
    - container_of
    - ebis_lookup_len
    - typeof
    linkageType: ''
    returnType: struct tcpcheck_ruleset
    signature: '*find_tcpcheck_ruleset(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/tcpcheck.c:305,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:309,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:311,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/tcpcheck.c:315,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/tcpcheck.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 318
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 318
    functionName: create_tcpcheck_ruleset
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - calloc
    - ebis_insert
    - strdup
    - free
    - LIST_INIT
    linkageType: ''
    returnType: struct tcpcheck_ruleset
    signature: '*create_tcpcheck_ruleset(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_delete
      Src: /src/haproxy/src/tcpcheck.c:328,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:329,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/tcpcheck.c:330,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/tcpcheck.c:331,1
    - Dst: free_tcpcheck
      Src: /src/haproxy/src/tcpcheck.c:332,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - rs
    argTypes:
    - struct tcpcheck_ruleset*
    constantsTouched: []
    func_position:
      end: 335
      start: 321
    functionDepth: 6
    functionLinenumber: 321
    functionLinenumberEnd: 335
    functionName: free_tcpcheck_ruleset
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_safe
    - LIST_DELETE
    - free_tcpcheck
    - free
    - ebpt_delete
    linkageType: ''
    returnType: void
    signature: free_tcpcheck_ruleset(struct tcpcheck_ruleset *rs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - check
    - rule
    argTypes:
    - struct check*
    - struct tcpcheck_rule*
    constantsTouched: []
    func_position:
      end: 358
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 358
    functionName: tcpcheck_get_step_id
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: tcpcheck_get_step_id(const struct check *check, const struct tcpcheck_rule
      *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/tcpcheck.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rules
    argTypes:
    - struct tcpcheck_rules*
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: get_first_tcpcheck_rule
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: struct tcpcheck_rule
    signature: '*get_first_tcpcheck_rule(const struct tcpcheck_rules *rules)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_rev
      Src: /src/haproxy/src/tcpcheck.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rules
    argTypes:
    - struct tcpcheck_rules*
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: get_last_tcpcheck_rule
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_rev
    linkageType: ''
    returnType: struct tcpcheck_rule
    signature: '*get_last_tcpcheck_rule(struct tcpcheck_rules *rules)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_first_tcpcheck_rule
      Src: /src/haproxy/src/tcpcheck.c:397,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/tcpcheck.c:399,1
    - Dst: typeof
      Src: /src/haproxy/src/tcpcheck.c:399,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/tcpcheck.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - rules
    - start
    argTypes:
    - struct tcpcheck_rules*
    - struct tcpcheck_rule*
    constantsTouched: []
    func_position:
      end: 405
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 405
    functionName: get_next_tcpcheck_rule
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - get_first_tcpcheck_rule
    - typeof
    - list_for_each_entry_from
    - LIST_NEXT
    linkageType: ''
    returnType: struct tcpcheck_rule
    signature: '*get_next_tcpcheck_rule(struct tcpcheck_rules *rules, struct tcpcheck_rule
      *start)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:422,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/tcpcheck.c:423,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/tcpcheck.c:426,1
    - Dst: sess_build_logline
      Src: /src/haproxy/src/tcpcheck.c:427,1
    - Dst: b_tail
      Src: /src/haproxy/src/tcpcheck.c:427,1
    - Dst: b_room
      Src: /src/haproxy/src/tcpcheck.c:427,1
    - Dst: IS_HTX_SC
      Src: /src/haproxy/src/tcpcheck.c:431,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/tcpcheck.c:431,1
    - Dst: htxbuf
      Src: /src/haproxy/src/tcpcheck.c:431,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:431,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:433,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:434,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:435,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tcpcheck.c:444,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tcpcheck.c:447,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:447,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tcpcheck.c:451,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:451,1
    - Dst: istptr
      Src: /src/haproxy/src/tcpcheck.c:451,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:452,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tcpcheck.c:455,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:455,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tcpcheck.c:460,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:460,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tcpcheck.c:463,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:463,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tcpcheck.c:467,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:467,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tcpcheck.c:470,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:470,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tcpcheck.c:473,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:473,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tcpcheck.c:476,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:476,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tcpcheck.c:487,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tcpcheck.c:488,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/tcpcheck.c:495,1
    - Dst: b_tail
      Src: /src/haproxy/src/tcpcheck.c:503,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 69
    argCount: 5
    argNames:
    - msg
    - check
    - rule
    - match
    - info
    argTypes:
    - struct buffer*
    - struct check*
    - struct tcpcheck_rule*
    - int
    - struct ist
    constantsTouched: []
    func_position:
      end: 504
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 504
    functionName: tcpcheck_expect_onerror_message
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - chunk_istcat
    - lf_expr_isempty
    - b_room
    - sess_build_logline
    - istlen
    - chunk_strcat
    - IS_HTX_SC
    - htxbuf
    - chunk_printf
    - b_tail
    - chunk_appendf
    - istptr
    - sample_fetch_as_type
    - b_data
    - TRACE_ERROR
    - htx_is_empty
    - tcpcheck_get_step_id
    linkageType: ''
    returnType: void
    signature: "tcpcheck_expect_onerror_message(struct buffer *msg, struct check *check,
      struct tcpcheck_rule *rule,\n\t\t\t\t\t    int match, struct ist info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:519,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/tcpcheck.c:520,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/tcpcheck.c:521,1
    - Dst: sess_build_logline
      Src: /src/haproxy/src/tcpcheck.c:522,1
    - Dst: b_tail
      Src: /src/haproxy/src/tcpcheck.c:522,1
    - Dst: b_room
      Src: /src/haproxy/src/tcpcheck.c:522,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/tcpcheck.c:526,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/tcpcheck.c:532,1
    - Dst: b_tail
      Src: /src/haproxy/src/tcpcheck.c:540,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - msg
    - check
    - rule
    - info
    argTypes:
    - struct buffer*
    - struct check*
    - struct tcpcheck_rule*
    - struct ist
    constantsTouched: []
    func_position:
      end: 541
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 541
    functionName: tcpcheck_expect_onsuccess_message
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - chunk_istcat
    - lf_expr_isempty
    - b_room
    - sess_build_logline
    - istlen
    - chunk_strcat
    - b_tail
    - sample_fetch_as_type
    linkageType: ''
    returnType: void
    signature: "tcpcheck_expect_onsuccess_message(struct buffer *msg, struct check
      *check, struct tcpcheck_rule *rule,\n\t\t\t\t\t      struct ist info)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/tcpcheck.c:557,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:560,1
    - Dst: b_peek
      Src: /src/haproxy/src/tcpcheck.c:569,1
    - Dst: b_peek
      Src: /src/haproxy/src/tcpcheck.c:570,1
    - Dst: b_peek
      Src: /src/haproxy/src/tcpcheck.c:571,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:573,1
    - Dst: b_peek
      Src: /src/haproxy/src/tcpcheck.c:582,1
    - Dst: b_peek
      Src: /src/haproxy/src/tcpcheck.c:585,1
    - Dst: b_peek
      Src: /src/haproxy/src/tcpcheck.c:586,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:587,1
    - Dst: b_peek
      Src: /src/haproxy/src/tcpcheck.c:587,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:587,1
    - Dst: get_next_tcpcheck_rule
      Src: /src/haproxy/src/tcpcheck.c:591,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:601,1
    - Dst: b_peek
      Src: /src/haproxy/src/tcpcheck.c:601,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:604,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/tcpcheck.c:605,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:611,1
    - Dst: tcpcheck_expect_onerror_message
      Src: /src/haproxy/src/tcpcheck.c:613,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:614,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:614,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:618,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 4
    argNames:
    - check
    - rule
    - offset
    - last_read
    argTypes:
    - struct check*
    - struct tcpcheck_rule*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 621
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 621
    functionName: tcpcheck_mysql_expect_packet
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - TRACE_LEAVE
    - TRACE_ENTER
    - ist2
    - b_peek
    - tcpcheck_expect_onerror_message
    - b_head
    - get_next_tcpcheck_rule
    - free_trash_chunk
    - b_data
    - TRACE_DEVEL
    - set_server_check_status
    linkageType: ''
    returnType: enum tcpcheck_eval_ret
    signature: "tcpcheck_mysql_expect_packet(struct check *check, struct tcpcheck_rule
      *rule,\n\t\t\t\t\t\t\t   unsigned int offset, int last_read)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tcpcheck_mysql_expect_packet
      Src: /src/haproxy/src/tcpcheck.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - check
    - rule
    - last_read
    argTypes:
    - struct check*
    - struct tcpcheck_rule*
    - int
    constantsTouched: []
    func_position:
      end: 631
      start: 628
    functionDepth: 3
    functionLinenumber: 628
    functionLinenumberEnd: 631
    functionName: tcpcheck_mysql_expect_iniths
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - tcpcheck_mysql_expect_packet
    linkageType: ''
    returnType: enum tcpcheck_eval_ret
    signature: tcpcheck_mysql_expect_iniths(struct check *check, struct tcpcheck_rule
      *rule, int last_read)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:642,1
    - Dst: b_peek
      Src: /src/haproxy/src/tcpcheck.c:643,1
    - Dst: b_peek
      Src: /src/haproxy/src/tcpcheck.c:644,1
    - Dst: tcpcheck_mysql_expect_packet
      Src: /src/haproxy/src/tcpcheck.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - check
    - rule
    - last_read
    argTypes:
    - struct check*
    - struct tcpcheck_rule*
    - int
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 3
    functionLinenumber: 638
    functionLinenumberEnd: 647
    functionName: tcpcheck_mysql_expect_ok
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - b_head
    - b_peek
    - tcpcheck_mysql_expect_packet
    linkageType: ''
    returnType: enum tcpcheck_eval_ret
    signature: tcpcheck_mysql_expect_ok(struct check *check, struct tcpcheck_rule
      *rule, int last_read)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/tcpcheck.c:664,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:670,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:680,1
    - Dst: read_n32
      Src: /src/haproxy/src/tcpcheck.c:683,1
    - Dst: read_n16
      Src: /src/haproxy/src/tcpcheck.c:684,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:687,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:695,1
    - Dst: memcmp
      Src: /src/haproxy/src/tcpcheck.c:702,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:704,1
    - Dst: memcmp
      Src: /src/haproxy/src/tcpcheck.c:718,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:720,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:731,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:736,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:739,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/tcpcheck.c:740,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:745,1
    - Dst: tcpcheck_expect_onerror_message
      Src: /src/haproxy/src/tcpcheck.c:747,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:748,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:748,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:759,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 3
    argNames:
    - check
    - rule
    - last_read
    argTypes:
    - struct check*
    - struct tcpcheck_rule*
    - int
    constantsTouched: []
    func_position:
      end: 762
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 762
    functionName: tcpcheck_ldap_expect_bindrsp
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - TRACE_LEAVE
    - read_n16
    - TRACE_ENTER
    - tcpcheck_expect_onerror_message
    - ist
    - b_head
    - free_trash_chunk
    - read_n32
    - b_data
    - TRACE_DEVEL
    - set_server_check_status
    - memcmp
    linkageType: ''
    returnType: enum tcpcheck_eval_ret
    signature: tcpcheck_ldap_expect_bindrsp(struct check *check, struct tcpcheck_rule
      *rule, int last_read)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/tcpcheck.c:780,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:783,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:786,1
    - Dst: read_n32
      Src: /src/haproxy/src/tcpcheck.c:787,1
    - Dst: read_n32
      Src: /src/haproxy/src/tcpcheck.c:789,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:801,1
    - Dst: b_tail
      Src: /src/haproxy/src/tcpcheck.c:805,1
    - Dst: spoe_decode_buffer
      Src: /src/haproxy/src/tcpcheck.c:814,1
    - Dst: isteq
      Src: /src/haproxy/src/tcpcheck.c:819,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:819,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:819,1
    - Dst: decode_varint
      Src: /src/haproxy/src/tcpcheck.c:828,1
    - Dst: isteq
      Src: /src/haproxy/src/tcpcheck.c:834,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:834,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:834,1
    - Dst: spoe_decode_buffer
      Src: /src/haproxy/src/tcpcheck.c:840,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:843,1
    - Dst: spoe_skip_data
      Src: /src/haproxy/src/tcpcheck.c:847,1
    - Dst: spoe_decode_buffer
      Src: /src/haproxy/src/tcpcheck.c:862,1
    - Dst: isteq
      Src: /src/haproxy/src/tcpcheck.c:867,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:867,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:867,1
    - Dst: spoe_decode_buffer
      Src: /src/haproxy/src/tcpcheck.c:873,1
    - Dst: spoe_str_to_vsn
      Src: /src/haproxy/src/tcpcheck.c:876,1
    - Dst: spoe_check_vsn
      Src: /src/haproxy/src/tcpcheck.c:881,1
    - Dst: isteq
      Src: /src/haproxy/src/tcpcheck.c:887,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:887,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:887,1
    - Dst: decode_varint
      Src: /src/haproxy/src/tcpcheck.c:896,1
    - Dst: isteq
      Src: /src/haproxy/src/tcpcheck.c:905,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:905,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:905,1
    - Dst: spoe_decode_buffer
      Src: /src/haproxy/src/tcpcheck.c:911,1
    - Dst: spoe_skip_data
      Src: /src/haproxy/src/tcpcheck.c:918,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:936,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:939,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/tcpcheck.c:940,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:946,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:948,1
    - Dst: tcpcheck_expect_onerror_message
      Src: /src/haproxy/src/tcpcheck.c:950,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:952,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:952,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:966,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 164
    argCount: 3
    argNames:
    - check
    - rule
    - last_read
    argTypes:
    - struct check*
    - struct tcpcheck_rule*
    - int
    constantsTouched: []
    func_position:
      end: 969
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 969
    functionName: tcpcheck_spop_expect_hello
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - isttest
    - tcpcheck_expect_onerror_message
    - ist
    - spoe_str_to_vsn
    - b_head
    - free_trash_chunk
    - alloc_trash_chunk
    - TRACE_LEAVE
    - ist2
    - isteq
    - b_tail
    - read_n32
    - set_server_check_status
    - spoe_skip_data
    - decode_varint
    - spoe_check_vsn
    - b_data
    - TRACE_DEVEL
    - spoe_decode_buffer
    linkageType: ''
    returnType: enum tcpcheck_eval_ret
    signature: tcpcheck_spop_expect_hello(struct check *check, struct tcpcheck_rule
      *rule, int last_read)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/tcpcheck.c:987,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:1013,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:1022,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:1027,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:1056,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:1061,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:1066,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:1071,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:1077,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:1080,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:1083,1
    - Dst: isdigit
      Src: /src/haproxy/src/tcpcheck.c:1087,1
    - Dst: strchr
      Src: /src/haproxy/src/tcpcheck.c:1087,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/tcpcheck.c:1091,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:1091,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/tcpcheck.c:1095,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:1095,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:1096,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:1117,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1118,1
    - Dst: srv_adm_set_drain
      Src: /src/haproxy/src/tcpcheck.c:1119,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:1121,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1122,1
    - Dst: srv_adm_set_maint
      Src: /src/haproxy/src/tcpcheck.c:1123,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1126,1
    - Dst: srv_adm_set_ready
      Src: /src/haproxy/src/tcpcheck.c:1127,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1135,1
    - Dst: server_parse_weight_change_request
      Src: /src/haproxy/src/tcpcheck.c:1136,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:1144,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1146,1
    - Dst: server_parse_maxconn_change_request
      Src: /src/haproxy/src/tcpcheck.c:1150,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:1172,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:1173,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1176,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:1177,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1183,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:1184,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:1185,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1191,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:1192,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:1193,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1196,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:1197,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/tcpcheck.c:1201,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1205,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 140
    argCount: 3
    argNames:
    - check
    - rule
    - last_read
    argTypes:
    - struct check*
    - struct tcpcheck_rule*
    - int
    constantsTouched: []
    func_position:
      end: 1208
      start: 975
    functionDepth: 5
    functionLinenumber: 975
    functionLinenumberEnd: 1208
    functionName: tcpcheck_agent_expect_reply
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - strcasecmp
    - srv_adm_set_maint
    - TRACE_ENTER
    - strlen
    - srv_adm_set_drain
    - srv_adm_set_ready
    - chunk_printf
    - b_head
    - strncasecmp
    - get_trash_chunk
    - server_parse_maxconn_change_request
    - TRACE_DEVEL
    - strchr
    - set_server_check_status
    - isdigit
    - server_parse_weight_change_request
    linkageType: ''
    returnType: enum tcpcheck_eval_ret
    signature: tcpcheck_agent_expect_reply(struct check *check, struct tcpcheck_rule
      *rule, int last_read)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_addr
      Src: /src/haproxy/src/tcpcheck.c:1217,1
    - Dst: is_addr
      Src: /src/haproxy/src/tcpcheck.c:1217,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 2
    argNames:
    - check
    - connect
    argTypes:
    - struct check*
    - struct tcpcheck_connect*
    constantsTouched: []
    func_position:
      end: 1222
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1222
    functionName: tcpcheck_use_nondefault_connect
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - is_addr
    linkageType: ''
    returnType: int
    signature: "tcpcheck_use_nondefault_connect(const struct check *check,\n                                                  const
      struct tcpcheck_connect *connect)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/tcpcheck.c:1235,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/tcpcheck.c:1241,1
    - Dst: get_next_tcpcheck_rule
      Src: /src/haproxy/src/tcpcheck.c:1243,1
    - Dst: struct connection*::mux::subscribe
      Src: /src/haproxy/src/tcpcheck.c:1251,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1253,1
    - Dst: tcpcheck_eval_recv
      Src: /src/haproxy/src/tcpcheck.c:1256,1
    - Dst: check_release_buf
      Src: /src/haproxy/src/tcpcheck.c:1264,1
    - Dst: check_release_buf
      Src: /src/haproxy/src/tcpcheck.c:1265,1
    - Dst: tcpcheck_use_nondefault_connect
      Src: /src/haproxy/src/tcpcheck.c:1268,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1273,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1276,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1278,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1280,1
    - Dst: be_calculate_conn_hash
      Src: /src/haproxy/src/tcpcheck.c:1282,1
    - Dst: be_reuse_connection
      Src: /src/haproxy/src/tcpcheck.c:1283,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1286,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:1287,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/tcpcheck.c:1292,1
    - Dst: __sc_conn
      Src: /src/haproxy/src/tcpcheck.c:1293,1
    - Dst: conn_set_owner
      Src: /src/haproxy/src/tcpcheck.c:1294,1
    - Dst: conn_new
      Src: /src/haproxy/src/tcpcheck.c:1302,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:1304,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:1305,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/tcpcheck.c:1307,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:1308,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1310,1
    - Dst: sc_attach_mux
      Src: /src/haproxy/src/tcpcheck.c:1313,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1314,1
    - Dst: conn_free
      Src: /src/haproxy/src/tcpcheck.c:1315,1
    - Dst: conn_set_owner
      Src: /src/haproxy/src/tcpcheck.c:1321,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/tcpcheck.c:1324,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1325,1
    - Dst: is_addr
      Src: /src/haproxy/src/tcpcheck.c:1334,1
    - Dst: is_addr
      Src: /src/haproxy/src/tcpcheck.c:1336,1
    - Dst: protocol_lookup
      Src: /src/haproxy/src/tcpcheck.c:1337,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/tcpcheck.c:1345,1
    - Dst: is_inet_addr
      Src: /src/haproxy/src/tcpcheck.c:1351,1
    - Dst: get_host_port
      Src: /src/haproxy/src/tcpcheck.c:1352,1
    - Dst: is_inet_addr
      Src: /src/haproxy/src/tcpcheck.c:1355,1
    - Dst: get_host_port
      Src: /src/haproxy/src/tcpcheck.c:1356,1
    - Dst: set_host_port
      Src: /src/haproxy/src/tcpcheck.c:1361,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1362,1
    - Dst: xprt_get
      Src: /src/haproxy/src/tcpcheck.c:1365,1
    - Dst: xprt_get
      Src: /src/haproxy/src/tcpcheck.c:1366,1
    - Dst: conn_prepare
      Src: /src/haproxy/src/tcpcheck.c:1368,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1369,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1377,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1382,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1388,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1393,1
    - Dst: struct protocol*::connect
      Src: /src/haproxy/src/tcpcheck.c:1404,1
    - Dst: conn_set_private
      Src: /src/haproxy/src/tcpcheck.c:1410,1
    - Dst: ssl_sock_set_servername
      Src: /src/haproxy/src/tcpcheck.c:1415,1
    - Dst: ssl_sock_set_servername
      Src: /src/haproxy/src/tcpcheck.c:1417,1
    - Dst: ssl_sock_set_alpn
      Src: /src/haproxy/src/tcpcheck.c:1420,1
    - Dst: ssl_sock_set_alpn
      Src: /src/haproxy/src/tcpcheck.c:1422,1
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/tcpcheck.c:1425,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/tcpcheck.c:1427,1
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/tcpcheck.c:1430,1
    - Dst: xprt_add_hs
      Src: /src/haproxy/src/tcpcheck.c:1431,1
    - Dst: conn_xprt_start
      Src: /src/haproxy/src/tcpcheck.c:1435,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1448,1
    - Dst: conn_get_best_mux
      Src: /src/haproxy/src/tcpcheck.c:1456,1
    - Dst: conn_install_mux
      Src: /src/haproxy/src/tcpcheck.c:1458,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1459,1
    - Dst: tick_add
      Src: /src/haproxy/src/tcpcheck.c:1484,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/tcpcheck.c:1484,1
    - Dst: tick_first
      Src: /src/haproxy/src/tcpcheck.c:1488,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1496,1
    - Dst: chk_report_conn_err
      Src: /src/haproxy/src/tcpcheck.c:1497,1
    - Dst: struct connection*::mux::subscribe
      Src: /src/haproxy/src/tcpcheck.c:1506,1
    - Dst: struct connection*::mux::subscribe
      Src: /src/haproxy/src/tcpcheck.c:1508,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1511,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1518,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/tcpcheck.c:1522,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/tcpcheck.c:1524,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 210
    argCount: 2
    argNames:
    - check
    - rule
    argTypes:
    - struct check*
    - struct tcpcheck_rule*
    constantsTouched: []
    func_position:
      end: 1526
      start: 1228
    functionDepth: 4
    functionLinenumber: 1228
    functionLinenumberEnd: 1526
    functionName: tcpcheck_eval_connect
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - conn_set_private
    - ssl_sock_set_alpn
    - HA_ATOMIC_AND
    - TRACE_ENTER
    - ist
    - get_next_tcpcheck_rule
    - __sc_conn
    - tcpcheck_get_step_id
    - get_host_port
    - conn_set_owner
    - TRACE_LEAVE
    - set_host_port
    - be_calculate_conn_hash
    - conn_prepare
    - is_inet_addr
    - chunk_appendf
    - protocol_lookup
    - set_server_check_status
    - chk_report_conn_err
    - tcpcheck_eval_recv
    - sc_attach_mux
    - is_addr
    - sockaddr_alloc
    - conn_get_best_mux
    - chunk_printf
    - sample_fetch_as_type
    - conn_ctrl_ready
    - TRACE_DEVEL
    - tick_add_ifset
    - ssl_sock_set_servername
    - check_release_buf
    - be_reuse_connection
    - MS_TO_TICKS
    - conn_install_mux
    - xprt_get
    - sc_conn
    - struct connection*::mux::subscribe
    - xprt_add_hs
    - conn_free
    - tick_add
    - conn_xprt_start
    - tcpcheck_use_nondefault_connect
    - struct protocol*::connect
    - tick_first
    - TRACE_ERROR
    - TRACE_STATE
    - conn_new
    linkageType: ''
    returnType: enum tcpcheck_eval_ret
    signature: tcpcheck_eval_connect(struct check *check, struct tcpcheck_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/src/tcpcheck.c:1537,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/tcpcheck.c:1542,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/tcpcheck.c:1546,1
    - Dst: check_get_buf
      Src: /src/haproxy/src/tcpcheck.c:1550,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/tcpcheck.c:1553,1
    - Dst: IS_HTX_CONN
      Src: /src/haproxy/src/tcpcheck.c:1558,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/tcpcheck.c:1558,1
    - Dst: htxbuf
      Src: /src/haproxy/src/tcpcheck.c:1558,1
    - Dst: IS_HTX_CONN
      Src: /src/haproxy/src/tcpcheck.c:1558,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1558,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1559,1
    - Dst: check_release_buf
      Src: /src/haproxy/src/tcpcheck.c:1564,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:1569,1
    - Dst: b_size
      Src: /src/haproxy/src/tcpcheck.c:1569,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:1570,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:1571,1
    - Dst: b_size
      Src: /src/haproxy/src/tcpcheck.c:1571,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:1572,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:1573,1
    - Dst: b_putist
      Src: /src/haproxy/src/tcpcheck.c:1577,1
    - Dst: sess_build_logline
      Src: /src/haproxy/src/tcpcheck.c:1580,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:1580,1
    - Dst: b_size
      Src: /src/haproxy/src/tcpcheck.c:1580,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1581,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:1587,1
    - Dst: sess_build_logline
      Src: /src/haproxy/src/tcpcheck.c:1590,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:1590,1
    - Dst: b_size
      Src: /src/haproxy/src/tcpcheck.c:1590,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1591,1
    - Dst: parse_binary
      Src: /src/haproxy/src/tcpcheck.c:1594,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:1594,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:1604,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:1609,1
    - Dst: sess_build_logline
      Src: /src/haproxy/src/tcpcheck.c:1612,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:1612,1
    - Dst: b_size
      Src: /src/haproxy/src/tcpcheck.c:1612,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1613,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:1613,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:1613,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1613,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1613,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:1616,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1616,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:1617,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1617,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:1619,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:1620,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:1623,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/tcpcheck.c:1626,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/tcpcheck.c:1627,1
    - Dst: http_update_host
      Src: /src/haproxy/src/tcpcheck.c:1631,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/tcpcheck.c:1634,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/tcpcheck.c:1638,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/tcpcheck.c:1639,1
    - Dst: sess_build_logline
      Src: /src/haproxy/src/tcpcheck.c:1640,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:1640,1
    - Dst: b_size
      Src: /src/haproxy/src/tcpcheck.c:1640,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1641,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:1643,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:1643,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1643,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/tcpcheck.c:1644,1
    - Dst: isteqi
      Src: /src/haproxy/src/tcpcheck.c:1646,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1646,1
    - Dst: http_update_authority
      Src: /src/haproxy/src/tcpcheck.c:1647,1
    - Dst: isteqi
      Src: /src/haproxy/src/tcpcheck.c:1650,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1650,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/tcpcheck.c:1656,1
    - Dst: httpchk_build_status_header
      Src: /src/haproxy/src/tcpcheck.c:1657,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/tcpcheck.c:1658,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1658,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:1658,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:1658,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1658,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/tcpcheck.c:1664,1
    - Dst: sess_build_logline
      Src: /src/haproxy/src/tcpcheck.c:1665,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:1665,1
    - Dst: b_size
      Src: /src/haproxy/src/tcpcheck.c:1665,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:1666,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:1666,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1666,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/tcpcheck.c:1671,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1671,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1671,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:1677,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1678,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:1678,1
    - Dst: ultoa
      Src: /src/haproxy/src/tcpcheck.c:1678,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:1678,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/tcpcheck.c:1679,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1679,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/tcpcheck.c:1684,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:1685,1
    - Dst: htx_add_data_atonce
      Src: /src/haproxy/src/tcpcheck.c:1685,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/tcpcheck.c:1690,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/tcpcheck.c:1700,1
    - Dst: struct connection*::mux::snd_buf
      Src: /src/haproxy/src/tcpcheck.c:1701,1
    - Dst: IS_HTX_CONN
      Src: /src/haproxy/src/tcpcheck.c:1702,1
    - Dst: htxbuf
      Src: /src/haproxy/src/tcpcheck.c:1702,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1702,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/tcpcheck.c:1703,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1705,1
    - Dst: IS_HTX_CONN
      Src: /src/haproxy/src/tcpcheck.c:1709,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/tcpcheck.c:1709,1
    - Dst: htxbuf
      Src: /src/haproxy/src/tcpcheck.c:1709,1
    - Dst: IS_HTX_CONN
      Src: /src/haproxy/src/tcpcheck.c:1709,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1709,1
    - Dst: struct connection*::mux::subscribe
      Src: /src/haproxy/src/tcpcheck.c:1710,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1712,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:1717,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1718,1
    - Dst: check_release_buf
      Src: /src/haproxy/src/tcpcheck.c:1719,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/tcpcheck.c:1721,1
    - Dst: htx_reset
      Src: /src/haproxy/src/tcpcheck.c:1726,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/tcpcheck.c:1727,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:1729,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:1730,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1731,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:1732,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:1737,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:1738,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1739,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:1740,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 181
    argCount: 2
    argNames:
    - check
    - rule
    argTypes:
    - struct check*
    - struct tcpcheck_rule*
    constantsTouched: []
    func_position:
      end: 1744
      start: 1532
    functionDepth: 5
    functionLinenumber: 1532
    functionLinenumberEnd: 1744
    functionName: tcpcheck_eval_send
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - TRACE_DATA
    - htx_add_data_atonce
    - TRACE_ENTER
    - isttest
    - htx_add_endof
    - ist
    - htx_reset
    - free_trash_chunk
    - sc_ep_test
    - __sc_conn
    - http_update_authority
    - htx_to_buf
    - tcpcheck_get_step_id
    - b_orig
    - http_update_host
    - htx_add_stline
    - isteqi
    - struct connection*::mux::snd_buf
    - alloc_trash_chunk
    - check_get_buf
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - htx_from_buf
    - list_for_each_entry
    - istlen
    - ist2
    - httpchk_build_status_header
    - b_size
    - htx_is_empty
    - set_server_check_status
    - IS_HTX_CONN
    - sess_build_logline
    - b_putist
    - htxbuf
    - chunk_printf
    - b_data
    - TRACE_DEVEL
    - check_release_buf
    - ultoa
    - parse_binary
    - struct connection*::mux::subscribe
    - htx_add_header
    - TRACE_ERROR
    - TRACE_STATE
    linkageType: ''
    returnType: enum tcpcheck_eval_ret
    signature: tcpcheck_eval_send(struct check *check, struct tcpcheck_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/src/tcpcheck.c:1754,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/tcpcheck.c:1760,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1763,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/tcpcheck.c:1767,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/tcpcheck.c:1771,1
    - Dst: check_get_buf
      Src: /src/haproxy/src/tcpcheck.c:1775,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/tcpcheck.c:1777,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/tcpcheck.c:1784,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/tcpcheck.c:1786,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/tcpcheck.c:1787,1
    - Dst: IS_HTX_SC
      Src: /src/haproxy/src/tcpcheck.c:1788,1
    - Dst: htx_free_space
      Src: /src/haproxy/src/tcpcheck.c:1788,1
    - Dst: htxbuf
      Src: /src/haproxy/src/tcpcheck.c:1788,1
    - Dst: b_room
      Src: /src/haproxy/src/tcpcheck.c:1788,1
    - Dst: struct connection*::mux::rcv_buf
      Src: /src/haproxy/src/tcpcheck.c:1789,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/tcpcheck.c:1792,1
    - Dst: IS_HTX_SC
      Src: /src/haproxy/src/tcpcheck.c:1799,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/tcpcheck.c:1799,1
    - Dst: htxbuf
      Src: /src/haproxy/src/tcpcheck.c:1799,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1799,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/tcpcheck.c:1800,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1806,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/tcpcheck.c:1809,1
    - Dst: struct connection*::mux::subscribe
      Src: /src/haproxy/src/tcpcheck.c:1810,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1811,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/tcpcheck.c:1814,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1817,1
    - Dst: check_release_buf
      Src: /src/haproxy/src/tcpcheck.c:1818,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/tcpcheck.c:1820,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 2
    argNames:
    - check
    - rule
    argTypes:
    - struct check*
    - struct tcpcheck_rule*
    constantsTouched: []
    func_position:
      end: 1830
      start: 1751
    functionDepth: 1
    functionLinenumber: 1751
    functionLinenumberEnd: 1830
    functionName: tcpcheck_eval_recv
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - b_room
    - TRACE_DATA
    - TRACE_ENTER
    - sc_ep_test
    - __sc_conn
    - check_get_buf
    - TRACE_LEAVE
    - IS_HTX_SC
    - htx_is_empty
    - htxbuf
    - TRACE_DEVEL
    - b_data
    - check_release_buf
    - struct connection*::mux::subscribe
    - sc_ep_clr
    - htx_free_space
    - TRACE_ERROR
    - TRACE_STATE
    - struct connection*::mux::rcv_buf
    linkageType: ''
    returnType: enum tcpcheck_eval_ret
    signature: tcpcheck_eval_recv(struct check *check, struct tcpcheck_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/tcpcheck.c:1839,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/tcpcheck.c:1849,1
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/tcpcheck.c:1851,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1854,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/tcpcheck.c:1859,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1861,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:1865,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/tcpcheck.c:1869,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/tcpcheck.c:1877,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/tcpcheck.c:1899,1
    - Dst: htx_sl_res_reason
      Src: /src/haproxy/src/tcpcheck.c:1900,1
    - Dst: regex_exec2
      Src: /src/haproxy/src/tcpcheck.c:1903,1
    - Dst: HTX_SL_RES_CPTR
      Src: /src/haproxy/src/tcpcheck.c:1903,1
    - Dst: HTX_SL_RES_CLEN
      Src: /src/haproxy/src/tcpcheck.c:1903,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/tcpcheck.c:1907,1
    - Dst: htx_sl_res_reason
      Src: /src/haproxy/src/tcpcheck.c:1908,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:1917,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1920,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1921,1
    - Dst: sess_build_logline
      Src: /src/haproxy/src/tcpcheck.c:1924,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:1924,1
    - Dst: b_size
      Src: /src/haproxy/src/tcpcheck.c:1924,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1925,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1927,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1928,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:1931,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:1931,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1931,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:1937,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1940,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1941,1
    - Dst: sess_build_logline
      Src: /src/haproxy/src/tcpcheck.c:1944,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:1944,1
    - Dst: b_size
      Src: /src/haproxy/src/tcpcheck.c:1944,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1945,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:1947,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:1948,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:1951,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:1951,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:1951,1
    - Dst: http_find_str_header
      Src: /src/haproxy/src/tcpcheck.c:1961,1
    - Dst: http_find_pfx_header
      Src: /src/haproxy/src/tcpcheck.c:1965,1
    - Dst: http_find_sfx_header
      Src: /src/haproxy/src/tcpcheck.c:1969,1
    - Dst: http_find_sub_header
      Src: /src/haproxy/src/tcpcheck.c:1973,1
    - Dst: http_match_header
      Src: /src/haproxy/src/tcpcheck.c:1977,1
    - Dst: isteq
      Src: /src/haproxy/src/tcpcheck.c:1998,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:2004,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:2004,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:2006,1
    - Dst: istptr
      Src: /src/haproxy/src/tcpcheck.c:2006,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:2006,1
    - Dst: isteq
      Src: /src/haproxy/src/tcpcheck.c:2007,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:2013,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:2013,1
    - Dst: ist2
      Src: /src/haproxy/src/tcpcheck.c:2015,1
    - Dst: istend
      Src: /src/haproxy/src/tcpcheck.c:2015,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:2015,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:2015,1
    - Dst: isteq
      Src: /src/haproxy/src/tcpcheck.c:2016,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:2022,1
    - Dst: istist
      Src: /src/haproxy/src/tcpcheck.c:2022,1
    - Dst: regex_exec2
      Src: /src/haproxy/src/tcpcheck.c:2028,1
    - Dst: istptr
      Src: /src/haproxy/src/tcpcheck.c:2028,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:2028,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/tcpcheck.c:2038,1
    - Dst: htx_sl_res_reason
      Src: /src/haproxy/src/tcpcheck.c:2039,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/tcpcheck.c:2047,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/tcpcheck.c:2048,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/tcpcheck.c:2048,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/tcpcheck.c:2049,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/tcpcheck.c:2054,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/tcpcheck.c:2054,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2059,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:2061,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/tcpcheck.c:2065,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:2066,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:2067,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:2072,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:2075,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:2076,1
    - Dst: sess_build_logline
      Src: /src/haproxy/src/tcpcheck.c:2079,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:2079,1
    - Dst: b_size
      Src: /src/haproxy/src/tcpcheck.c:2079,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2080,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:2082,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:2083,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2089,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:2089,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2090,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2090,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2091,1
    - Dst: my_memmem
      Src: /src/haproxy/src/tcpcheck.c:2097,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:2097,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2097,1
    - Dst: istptr
      Src: /src/haproxy/src/tcpcheck.c:2097,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:2097,1
    - Dst: my_memmem
      Src: /src/haproxy/src/tcpcheck.c:2099,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:2099,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2099,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:2099,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2099,1
    - Dst: regex_exec2
      Src: /src/haproxy/src/tcpcheck.c:2101,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:2101,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2101,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:2108,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/tcpcheck.c:2114,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:2116,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:2117,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/tcpcheck.c:2128,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/tcpcheck.c:2132,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:2135,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:2136,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:2137,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:2138,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/tcpcheck.c:2139,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/tcpcheck.c:2143,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:2145,1
    - Dst: tcpcheck_expect_onerror_message
      Src: /src/haproxy/src/tcpcheck.c:2147,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:2148,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:2148,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 280
    argCount: 3
    argNames:
    - check
    - rule
    - last_read
    argTypes:
    - struct check*
    - struct tcpcheck_rule*
    - int
    constantsTouched: []
    func_position:
      end: 2154
      start: 1837
    functionDepth: 3
    functionLinenumber: 1837
    functionLinenumberEnd: 2154
    functionName: tcpcheck_eval_expect_http
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - TRACE_ENTER
    - isttest
    - my_memmem
    - tcpcheck_expect_onerror_message
    - ist
    - b_head
    - free_trash_chunk
    - htx_get_blk_value
    - http_get_stline
    - b_orig
    - htx_get_next_blk
    - alloc_trash_chunk
    - htx_sl_res_reason
    - regex_exec2
    - TRACE_LEAVE
    - istlen
    - ist2
    - http_find_sub_header
    - http_find_sfx_header
    - isteq
    - istist
    - http_match_header
    - b_size
    - htx_is_empty
    - set_server_check_status
    - lf_expr_isempty
    - htx_free_data_space
    - sess_build_logline
    - istend
    - http_find_str_header
    - htx_get_head_blk
    - htxbuf
    - htx_get_blk_type
    - TRACE_DEVEL
    - b_data
    - chunk_istcat
    - HTX_SL_RES_CLEN
    - HTX_SL_RES_CPTR
    - http_find_pfx_header
    - istptr
    - TRACE_ERROR
    - TRACE_STATE
    linkageType: ''
    returnType: enum tcpcheck_eval_ret
    signature: tcpcheck_eval_expect_http(struct check *check, struct tcpcheck_rule
      *rule, int last_read)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/tcpcheck.c:2169,1
    - Dst: b_full
      Src: /src/haproxy/src/tcpcheck.c:2171,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2178,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:2178,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:2180,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2183,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:2185,1
    - Dst: my_memmem
      Src: /src/haproxy/src/tcpcheck.c:2198,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:2198,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2198,1
    - Dst: istptr
      Src: /src/haproxy/src/tcpcheck.c:2198,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:2198,1
    - Dst: regex_exec2
      Src: /src/haproxy/src/tcpcheck.c:2201,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:2201,1
    - Dst: MIN
      Src: /src/haproxy/src/tcpcheck.c:2201,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2201,1
    - Dst: b_size
      Src: /src/haproxy/src/tcpcheck.c:2201,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/tcpcheck.c:2205,1
    - Dst: dump_binary
      Src: /src/haproxy/src/tcpcheck.c:2206,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:2206,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2206,1
    - Dst: regex_exec2
      Src: /src/haproxy/src/tcpcheck.c:2207,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:2207,1
    - Dst: MIN
      Src: /src/haproxy/src/tcpcheck.c:2207,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2207,1
    - Dst: b_size
      Src: /src/haproxy/src/tcpcheck.c:2207,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:2213,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:2216,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:2217,1
    - Dst: sess_build_logline
      Src: /src/haproxy/src/tcpcheck.c:2220,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:2220,1
    - Dst: b_size
      Src: /src/haproxy/src/tcpcheck.c:2220,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2221,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:2223,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:2224,1
    - Dst: parse_binary
      Src: /src/haproxy/src/tcpcheck.c:2229,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:2229,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:2231,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:2232,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2237,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:2240,1
    - Dst: my_memmem
      Src: /src/haproxy/src/tcpcheck.c:2245,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:2245,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2245,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:2245,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2245,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2254,1
    - Dst: struct tcpcheck_expect*::custom
      Src: /src/haproxy/src/tcpcheck.c:2257,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:2271,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/tcpcheck.c:2277,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/tcpcheck.c:2283,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:2285,1
    - Dst: tcpcheck_expect_onerror_message
      Src: /src/haproxy/src/tcpcheck.c:2287,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:2288,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:2288,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:2289,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:2292,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/tcpcheck.c:2293,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 110
    argCount: 3
    argNames:
    - check
    - rule
    - last_read
    argTypes:
    - struct check*
    - struct tcpcheck_rule*
    - int
    constantsTouched: []
    func_position:
      end: 2295
      start: 2160
    functionDepth: 4
    functionLinenumber: 2160
    functionLinenumberEnd: 2295
    functionName: tcpcheck_eval_expect
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - dump_binary
    - TRACE_ENTER
    - my_memmem
    - tcpcheck_expect_onerror_message
    - ist
    - b_head
    - free_trash_chunk
    - b_orig
    - alloc_trash_chunk
    - regex_exec2
    - TRACE_LEAVE
    - istlen
    - b_size
    - set_server_check_status
    - b_full
    - sess_build_logline
    - b_data
    - TRACE_DEVEL
    - struct tcpcheck_expect*::custom
    - parse_binary
    - istptr
    - TRACE_ERROR
    - TRACE_STATE
    - MIN
    linkageType: ''
    returnType: enum tcpcheck_eval_ret
    signature: tcpcheck_eval_expect(struct check *check, struct tcpcheck_rule *rule,
      int last_read)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct act_rule*::action_ptr
      Src: /src/haproxy/src/tcpcheck.c:2308,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:2310,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:2311,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:2312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - check
    - rule
    argTypes:
    - struct check*
    - struct tcpcheck_rule*
    constantsTouched: []
    func_position:
      end: 2317
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2317
    functionName: tcpcheck_eval_action_kw
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - set_server_check_status
    - struct act_rule*::action_ptr
    - chunk_printf
    - tcpcheck_get_step_id
    linkageType: ''
    returnType: enum tcpcheck_eval_ret
    signature: tcpcheck_eval_action_kw(struct check *check, struct tcpcheck_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/tcpcheck.c:2331,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/tcpcheck.c:2340,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/tcpcheck.c:2348,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/tcpcheck.c:2355,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/tcpcheck.c:2355,1
    - Dst: session_new
      Src: /src/haproxy/src/tcpcheck.c:2364,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:2366,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:2367,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:2368,1
    - Dst: vars_init_head
      Src: /src/haproxy/src/tcpcheck.c:2371,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/tcpcheck.c:2372,1
    - Dst: typeof
      Src: /src/haproxy/src/tcpcheck.c:2372,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/tcpcheck.c:2375,1
    - Dst: memset
      Src: /src/haproxy/src/tcpcheck.c:2378,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/tcpcheck.c:2379,1
    - Dst: vars_set_by_name_ifexist
      Src: /src/haproxy/src/tcpcheck.c:2381,1
    - Dst: istptr
      Src: /src/haproxy/src/tcpcheck.c:2381,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:2381,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/tcpcheck.c:2383,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/tcpcheck.c:2388,1
    - Dst: sc_conn
      Src: /src/haproxy/src/tcpcheck.c:2393,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:2402,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/tcpcheck.c:2407,1
    - Dst: tcpcheck_eval_connect
      Src: /src/haproxy/src/tcpcheck.c:2408,1
    - Dst: sc_conn
      Src: /src/haproxy/src/tcpcheck.c:2411,1
    - Dst: IS_HTX_SC
      Src: /src/haproxy/src/tcpcheck.c:2413,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/tcpcheck.c:2413,1
    - Dst: htxbuf
      Src: /src/haproxy/src/tcpcheck.c:2413,1
    - Dst: b_data
      Src: /src/haproxy/src/tcpcheck.c:2413,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/tcpcheck.c:2417,1
    - Dst: tcpcheck_eval_send
      Src: /src/haproxy/src/tcpcheck.c:2418,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/tcpcheck.c:2423,1
    - Dst: tcpcheck_eval_recv
      Src: /src/haproxy/src/tcpcheck.c:2425,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/tcpcheck.c:2430,1
    - Dst: tcpcheck_eval_expect_http
      Src: /src/haproxy/src/tcpcheck.c:2435,1
    - Dst: tcpcheck_eval_expect
      Src: /src/haproxy/src/tcpcheck.c:2436,1
    - Dst: struct connection*::mux::subscribe
      Src: /src/haproxy/src/tcpcheck.c:2441,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/tcpcheck.c:2446,1
    - Dst: tcpcheck_eval_action_kw
      Src: /src/haproxy/src/tcpcheck.c:2447,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/tcpcheck.c:2471,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:2481,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/tcpcheck.c:2482,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:2486,1
    - Dst: tcpcheck_expect_onsuccess_message
      Src: /src/haproxy/src/tcpcheck.c:2488,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:2490,1
    - Dst: b_head
      Src: /src/haproxy/src/tcpcheck.c:2490,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/tcpcheck.c:2491,1
    - Dst: conn_is_ssl
      Src: /src/haproxy/src/tcpcheck.c:2497,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:2500,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:2503,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/tcpcheck.c:2506,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/tcpcheck.c:2508,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/tcpcheck.c:2511,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/tcpcheck.c:2512,1
    - Dst: chk_report_conn_err
      Src: /src/haproxy/src/tcpcheck.c:2513,1
    - Dst: check_release_buf
      Src: /src/haproxy/src/tcpcheck.c:2517,1
    - Dst: check_release_buf
      Src: /src/haproxy/src/tcpcheck.c:2518,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/tcpcheck.c:2521,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 135
    argCount: 1
    argNames:
    - check
    argTypes:
    - struct check*
    constantsTouched: []
    func_position:
      end: 2523
      start: 2327
    functionDepth: 6
    functionLinenumber: 2327
    functionLinenumberEnd: 2523
    functionName: tcpcheck_main
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - tcpcheck_expect_onsuccess_message
    - TRACE_ENTER
    - tcpcheck_eval_send
    - b_head
    - tcpcheck_eval_connect
    - session_new
    - free_trash_chunk
    - vars_set_by_name_ifexist
    - tcpcheck_eval_expect_http
    - sc_ep_test
    - conn_is_ssl
    - memset
    - tcpcheck_get_step_id
    - list_for_each_entry_from
    - alloc_trash_chunk
    - TRACE_LEAVE
    - list_for_each_entry
    - istlen
    - IS_HTX_SC
    - typeof
    - htx_is_empty
    - set_server_check_status
    - chk_report_conn_err
    - tcpcheck_eval_recv
    - chunk_printf
    - htxbuf
    - vars_init_head
    - TRACE_DEVEL
    - b_data
    - check_release_buf
    - sc_conn
    - struct connection*::mux::subscribe
    - smp_set_owner
    - LIST_NEXT
    - TRACE_PROTO
    - istptr
    - tcpcheck_eval_expect
    - TRACE_ERROR
    - tcpcheck_eval_action_kw
    linkageType: ''
    returnType: int
    signature: tcpcheck_main(struct check *check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:2527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw_list
    argTypes:
    - struct action_kw_list*
    constantsTouched: []
    func_position:
      end: 2528
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2528
    functionName: tcp_check_keywords_register
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: tcp_check_keywords_register(struct action_kw_list *kw_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: new_act_rule
      Src: /src/haproxy/src/tcpcheck.c:2547,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2549,1
    - Dst: struct action_kw*::parse
      Src: /src/haproxy/src/tcpcheck.c:2555,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2556,1
    - Dst: calloc
      Src: /src/haproxy/src/tcpcheck.c:2560,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2562,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:2570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 8
    argNames:
    - args
    - cur_arg
    - px
    - rules
    - kw
    - file
    - line
    - errmsg
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct list*
    - struct action_kw*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2572
      start: 2540
    functionDepth: 5
    functionLinenumber: 2540
    functionLinenumberEnd: 2572
    functionName: parse_tcpcheck_action
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - memprintf
    - struct action_kw*::parse
    - new_act_rule
    - calloc
    - free
    linkageType: ''
    returnType: struct tcpcheck_rule
    signature: "*parse_tcpcheck_action(char **args, int cur_arg, struct proxy *px,\n
      \                                           struct list *rules, struct action_kw
      *kw,\n                                            const char *file, int line,
      char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2597,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2605,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2607,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2611,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/tcpcheck.c:2615,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2619,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2625,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2629,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcpcheck.c:2635,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:2636,1
    - Dst: read_uint
      Src: /src/haproxy/src/tcpcheck.c:2637,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/tcpcheck.c:2642,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2646,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2650,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/tcpcheck.c:2653,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2659,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2664,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2666,1
    - Dst: get_mux_proto
      Src: /src/haproxy/src/tcpcheck.c:2669,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:2669,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2671,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2675,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2676,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2679,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2680,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2686,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2688,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:2692,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:2693,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2695,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2699,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2701,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2703,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2706,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2710,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2712,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:2716,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:2717,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2719,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2723,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:2725,1
    - Dst: ssl_sock_parse_alpn
      Src: /src/haproxy/src/tcpcheck.c:2726,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2727,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2732,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2739,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 138
    argCount: 7
    argNames:
    - args
    - cur_arg
    - px
    - rules
    - file
    - line
    - errmsg
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct list*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2748
      start: 2577
    functionDepth: 5
    functionLinenumber: 2577
    functionLinenumberEnd: 2748
    functionName: parse_tcpcheck_connect
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - str2sa_range
    - strlen
    - ist
    - sample_parse_expr
    - free
    - strdup
    - ssl_sock_parse_alpn
    - sample_src_names
    - read_uint
    - release_sample_expr
    - get_mux_proto
    linkageType: ''
    returnType: struct tcpcheck_rule
    signature: "*parse_tcpcheck_connect(char **args, int cur_arg, struct proxy *px,
      struct list *rules,\n                                             const char
      *file, int line, char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2784,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2786,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2788,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2790,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2794,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2803,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2805,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:2809,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:2810,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2812,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2817,1
    - Dst: calloc
      Src: /src/haproxy/src/tcpcheck.c:2824,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2826,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:2835,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:2835,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:2836,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2837,1
    - Dst: parse_binary
      Src: /src/haproxy/src/tcpcheck.c:2843,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2844,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/tcpcheck.c:2852,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/tcpcheck.c:2854,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2855,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:2867,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:2868,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 86
    argCount: 7
    argNames:
    - args
    - cur_arg
    - px
    - rules
    - file
    - line
    - errmsg
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct list*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2870
      start: 2777
    functionDepth: 5
    functionLinenumber: 2777
    functionLinenumberEnd: 2870
    functionName: parse_tcpcheck_send
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - memprintf
    - lf_expr_init
    - strcmp
    - calloc
    - isttest
    - ist
    - strdup
    - free
    - parse_logformat_string
    - parse_binary
    linkageType: ''
    returnType: struct tcpcheck_rule
    signature: "*parse_tcpcheck_send(char **args, int cur_arg, struct proxy *px, struct
      list *rules,\n                                          const char *file, int
      line, char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2886,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2888,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2894,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2894,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2896,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2900,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2905,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2907,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2913,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2915,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:2919,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2921,1
    - Dst: istptr
      Src: /src/haproxy/src/tcpcheck.c:2922,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:2927,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:2928,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:2931,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:2932,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2937,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2937,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2939,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2943,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:2948,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2950,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:2954,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:2955,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2957,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2962,1
    - Dst: calloc
      Src: /src/haproxy/src/tcpcheck.c:2971,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2973,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/tcpcheck.c:2980,1
    - Dst: find_http_meth
      Src: /src/haproxy/src/tcpcheck.c:2983,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:2983,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:2984,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:2985,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2987,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/tcpcheck.c:2993,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/tcpcheck.c:2995,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:2996,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:3001,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:3001,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:3002,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3003,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:3009,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:3009,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:3010,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3011,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:3015,1
    - Dst: calloc
      Src: /src/haproxy/src/tcpcheck.c:3016,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3018,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/tcpcheck.c:3021,1
    - Dst: istdup
      Src: /src/haproxy/src/tcpcheck.c:3022,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:3023,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3024,1
    - Dst: ist0
      Src: /src/haproxy/src/tcpcheck.c:3028,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/tcpcheck.c:3029,1
    - Dst: istptr
      Src: /src/haproxy/src/tcpcheck.c:3029,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:3031,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/tcpcheck.c:3037,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/tcpcheck.c:3039,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3040,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:3045,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:3045,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:3046,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3047,1
    - Dst: free_tcpcheck_http_hdr
      Src: /src/haproxy/src/tcpcheck.c:3056,1
    - Dst: free_tcpcheck
      Src: /src/haproxy/src/tcpcheck.c:3057,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:3058,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 185
    argCount: 7
    argNames:
    - args
    - cur_arg
    - px
    - rules
    - file
    - line
    - errmsg
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct list*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3060
      start: 2873
    functionDepth: 6
    functionLinenumber: 2873
    functionLinenumberEnd: 3060
    functionName: parse_tcpcheck_send_http
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - memprintf
    - isttest
    - ist
    - lf_expr_init
    - strcmp
    - istlen
    - free
    - ist0
    - strlen
    - free_tcpcheck
    - strdup
    - LIST_INIT
    - free_tcpcheck_http_hdr
    - strcasecmp
    - calloc
    - LIST_APPEND
    - istdup
    - istptr
    - find_http_meth
    - parse_logformat_string
    linkageType: ''
    returnType: struct tcpcheck_rule
    signature: "*parse_tcpcheck_send_http(char **args, int cur_arg, struct proxy *px,
      struct list *rules,\n                                               const char
      *file, int line, char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3070,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:3074,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3076,1
    - Dst: calloc
      Src: /src/haproxy/src/tcpcheck.c:3080,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3082,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:3090,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - args
    - cur_arg
    - px
    - rules
    - file
    - line
    - errmsg
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct list*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3092
      start: 3063
    functionDepth: 5
    functionLinenumber: 3063
    functionLinenumberEnd: 3092
    functionName: parse_tcpcheck_comment
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    - free
    - strdup
    linkageType: ''
    returnType: struct tcpcheck_rule
    signature: "*parse_tcpcheck_comment(char **args, int cur_arg, struct proxy *px,
      struct list *rules,\n                                             const char
      *file, int line, char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3115,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3124,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3126,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3130,1
    - Dst: atol
      Src: /src/haproxy/src/tcpcheck.c:3135,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3137,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3151,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3151,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3153,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3162,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3168,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3168,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3172,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3178,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3184,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3184,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3186,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3198,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3204,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3204,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3208,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3214,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3220,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3222,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3226,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3231,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3231,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3237,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3242,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3247,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3247,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3248,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3253,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3257,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3259,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3263,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3265,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3267,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3269,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3271,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3273,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3280,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3291,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3291,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3295,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3299,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3302,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3306,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3308,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3310,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3312,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3314,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3316,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3323,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3332,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3338,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3340,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3344,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:3348,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:3349,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3351,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3355,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3357,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3361,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3367,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3369,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3373,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3379,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3381,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3385,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:3388,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:3390,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:3392,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:3394,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3397,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3403,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3405,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3409,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:3412,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:3414,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:3416,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:3418,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:3420,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3423,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3429,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3433,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3437,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcpcheck.c:3442,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/tcpcheck.c:3444,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3447,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3451,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/tcpcheck.c:3454,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:3459,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3461,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3465,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:3468,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:3470,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/tcpcheck.c:3472,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3475,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3484,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3489,1
    - Dst: calloc
      Src: /src/haproxy/src/tcpcheck.c:3498,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3500,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/tcpcheck.c:3504,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/tcpcheck.c:3505,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/tcpcheck.c:3517,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3518,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/tcpcheck.c:3524,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3525,1
    - Dst: read_uint
      Src: /src/haproxy/src/tcpcheck.c:3538,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:3538,1
    - Dst: read_uint
      Src: /src/haproxy/src/tcpcheck.c:3541,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:3541,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3544,1
    - Dst: my_realloc2
      Src: /src/haproxy/src/tcpcheck.c:3549,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3552,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3561,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:3570,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:3570,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:3571,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3572,1
    - Dst: parse_binary
      Src: /src/haproxy/src/tcpcheck.c:3579,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3580,1
    - Dst: regex_comp
      Src: /src/haproxy/src/tcpcheck.c:3590,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/tcpcheck.c:3598,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/tcpcheck.c:3600,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3601,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3608,1
    - Dst: regex_comp
      Src: /src/haproxy/src/tcpcheck.c:3612,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/tcpcheck.c:3618,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/tcpcheck.c:3619,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3620,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:3625,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:3625,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:3626,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3627,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3638,1
    - Dst: regex_comp
      Src: /src/haproxy/src/tcpcheck.c:3642,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/tcpcheck.c:3648,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/tcpcheck.c:3649,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3650,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:3655,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:3655,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:3656,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3657,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3667,1
    - Dst: free_tcpcheck
      Src: /src/haproxy/src/tcpcheck.c:3687,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:3688,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcpcheck.c:3689,1
    CyclomaticComplexity: 215
    EdgeCount: 215
    ICount: 580
    argCount: 8
    argNames:
    - args
    - cur_arg
    - px
    - rules
    - proto
    - file
    - line
    - errmsg
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct list*
    - unsigned int
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3691
      start: 3098
    functionDepth: 6
    functionLinenumber: 3098
    functionLinenumberEnd: 3691
    functionName: parse_tcpcheck_expect
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - memprintf
    - isttest
    - ist
    - my_realloc2
    - lf_expr_init
    - strcmp
    - free
    - regex_comp
    - sample_src_names
    - read_uint
    - release_sample_expr
    - atol
    - strlen
    - free_tcpcheck
    - strdup
    - sample_parse_expr
    - parse_binary
    - strcasecmp
    - calloc
    - parse_logformat_string
    linkageType: ''
    returnType: struct tcpcheck_rule
    signature: "*parse_tcpcheck_expect(char **args, int cur_arg, struct proxy *px,\n
      \                                           struct list *rules, unsigned int
      proto,\n                                            const char *file, int line,
      char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3703,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:3704,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3705,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3706,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3707,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3708,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3711,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:3711,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3711,1
    - Dst: istfree
      Src: /src/haproxy/src/tcpcheck.c:3713,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/tcpcheck.c:3715,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3717,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3718,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3720,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/tcpcheck.c:3720,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3720,1
    - Dst: istfree
      Src: /src/haproxy/src/tcpcheck.c:3722,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/tcpcheck.c:3724,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/tcpcheck.c:3726,1
    - Dst: lf_expr_xfer
      Src: /src/haproxy/src/tcpcheck.c:3727,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3727,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:3730,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3730,1
    - Dst: istfree
      Src: /src/haproxy/src/tcpcheck.c:3731,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3732,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3733,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/tcpcheck.c:3736,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3736,1
    - Dst: free_tcpcheck_http_hdrs
      Src: /src/haproxy/src/tcpcheck.c:3737,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/tcpcheck.c:3738,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3738,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/tcpcheck.c:3739,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:3740,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3744,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:3744,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3744,1
    - Dst: istfree
      Src: /src/haproxy/src/tcpcheck.c:3746,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/tcpcheck.c:3748,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3750,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3751,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3753,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/tcpcheck.c:3753,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3753,1
    - Dst: istfree
      Src: /src/haproxy/src/tcpcheck.c:3755,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/tcpcheck.c:3757,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/tcpcheck.c:3759,1
    - Dst: lf_expr_xfer
      Src: /src/haproxy/src/tcpcheck.c:3760,1
    - Dst: send::send
      Src: /src/haproxy/src/tcpcheck.c:3760,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - old
    - new
    argTypes:
    - struct tcpcheck_rule*
    - struct tcpcheck_rule*
    constantsTouched: []
    func_position:
      end: 3762
      start: 3698
    functionDepth: 5
    functionLinenumber: 3698
    functionLinenumberEnd: 3762
    functionName: tcpcheck_overwrite_send_http_rule
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - lf_expr_isempty
    - istfree
    - lf_expr_init
    - LIST_ISEMPTY
    - list_for_each_entry_safe
    - isttest
    - lf_expr_deinit
    - lf_expr_xfer
    - LIST_DELETE
    - LIST_APPEND
    - free
    - send::send
    - free_tcpcheck_http_hdrs
    linkageType: ''
    returnType: void
    signature: tcpcheck_overwrite_send_http_rule(struct tcpcheck_rule *old, struct
      tcpcheck_rule *new)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_first_tcpcheck_rule
      Src: /src/haproxy/src/tcpcheck.c:3796,1
    - Dst: get_next_tcpcheck_rule
      Src: /src/haproxy/src/tcpcheck.c:3798,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/tcpcheck.c:3800,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/tcpcheck.c:3802,1
    - Dst: free_tcpcheck
      Src: /src/haproxy/src/tcpcheck.c:3803,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/tcpcheck.c:3804,1
    - Dst: tcpcheck_overwrite_send_http_rule
      Src: /src/haproxy/src/tcpcheck.c:3807,1
    - Dst: free_tcpcheck
      Src: /src/haproxy/src/tcpcheck.c:3808,1
    - Dst: get_last_tcpcheck_rule
      Src: /src/haproxy/src/tcpcheck.c:3818,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3822,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3827,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:3832,1
    - Dst: get_first_tcpcheck_rule
      Src: /src/haproxy/src/tcpcheck.c:3838,1
    - Dst: tcpcheck_overwrite_send_http_rule
      Src: /src/haproxy/src/tcpcheck.c:3840,1
    - Dst: free_tcpcheck
      Src: /src/haproxy/src/tcpcheck.c:3841,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/tcpcheck.c:3842,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:3847,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 3
    argNames:
    - chk
    - rules
    - errmsg
    argTypes:
    - struct tcpcheck_rule*
    - struct tcpcheck_rules*
    - char**
    constantsTouched: []
    func_position:
      end: 3850
      start: 3770
    functionDepth: 6
    functionLinenumber: 3770
    functionLinenumberEnd: 3850
    functionName: tcpcheck_add_http_rule
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - memprintf
    - LIST_APPEND
    - LIST_DELETE
    - free_tcpcheck
    - get_next_tcpcheck_rule
    - get_last_tcpcheck_rule
    - get_first_tcpcheck_rule
    - LIST_INSERT
    - tcpcheck_overwrite_send_http_rule
    linkageType: ''
    returnType: int
    signature: tcpcheck_add_http_rule(struct tcpcheck_rule *chk, struct tcpcheck_rules
      *rules, char **errmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deinit_proxy_tcpcheck
      Src: /src/haproxy/src/tcpcheck.c:3861,1
    - Dst: ha_free
      Src: /src/haproxy/src/tcpcheck.c:3865,1
    - Dst: ha_free
      Src: /src/haproxy/src/tcpcheck.c:3866,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:3869,1
    - Dst: get_first_tcpcheck_rule
      Src: /src/haproxy/src/tcpcheck.c:3882,1
    - Dst: get_next_tcpcheck_rule
      Src: /src/haproxy/src/tcpcheck.c:3884,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/tcpcheck.c:3886,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/tcpcheck.c:3887,1
    - Dst: get_last_tcpcheck_rule
      Src: /src/haproxy/src/tcpcheck.c:3896,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:3898,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:3902,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:3904,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:3908,1
    - Dst: get_first_tcpcheck_rule
      Src: /src/haproxy/src/tcpcheck.c:3918,1
    - Dst: calloc
      Src: /src/haproxy/src/tcpcheck.c:3920,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:3922,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/tcpcheck.c:3929,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/tcpcheck.c:3935,1
    - Dst: ha_free
      Src: /src/haproxy/src/tcpcheck.c:3939,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:3944,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/tcpcheck.c:3946,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:3947,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:3951,1
    - Dst: get_next_tcpcheck_rule
      Src: /src/haproxy/src/tcpcheck.c:3952,1
    - Dst: ha_free
      Src: /src/haproxy/src/tcpcheck.c:3957,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:3962,1
    - Dst: ha_free
      Src: /src/haproxy/src/tcpcheck.c:3966,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 83
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 3970
      start: 3853
    functionDepth: 7
    functionLinenumber: 3853
    functionLinenumberEnd: 3970
    functionName: check_proxy_tcpcheck
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ha_free
    - list_for_each_entry_safe
    - calloc
    - deinit_proxy_tcpcheck
    - LIST_DELETE
    - LIST_APPEND
    - strdup
    - free
    - get_next_tcpcheck_rule
    - get_last_tcpcheck_rule
    - parse_tcpcheck_expect
    - get_first_tcpcheck_rule
    - LIST_INSERT
    linkageType: ''
    returnType: int
    signature: check_proxy_tcpcheck(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/tcpcheck.c:3974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 3977
      start: 3972
    functionDepth: 5
    functionLinenumber: 3972
    functionLinenumberEnd: 3977
    functionName: deinit_proxy_tcpcheck
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - free_tcpcheck_vars
    linkageType: ''
    returnType: void
    signature: deinit_proxy_tcpcheck(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_first
      Src: /src/haproxy/src/tcpcheck.c:3985,1
    - Dst: ebpt_next
      Src: /src/haproxy/src/tcpcheck.c:3987,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/tcpcheck.c:3988,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:3989,1
    - Dst: container_of
      Src: /src/haproxy/src/tcpcheck.c:3990,1
    - Dst: typeof
      Src: /src/haproxy/src/tcpcheck.c:3990,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/tcpcheck.c:3991,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/tcpcheck.c:3992,1
    - Dst: free_tcpcheck
      Src: /src/haproxy/src/tcpcheck.c:3993,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:3995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3998
      start: 3979
    functionDepth: 6
    functionLinenumber: 3979
    functionLinenumberEnd: 3998
    functionName: deinit_tcpchecks
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - container_of
    - list_for_each_entry_safe
    - LIST_DELETE
    - free_tcpcheck
    - free
    - typeof
    - ebpt_first
    - ebpt_delete
    - ebpt_next
    linkageType: ''
    returnType: void
    signature: deinit_tcpchecks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_zalloc
      Src: /src/haproxy/src/tcpcheck.c:4005,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/tcpcheck.c:4011,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/tcpcheck.c:4012,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:4016,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:4016,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:4017,1
    - Dst: pool_free
      Src: /src/haproxy/src/tcpcheck.c:4018,1
    - Dst: list_for_each_entry_rev
      Src: /src/haproxy/src/tcpcheck.c:4026,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4035,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - rules
    - str
    argTypes:
    - struct tcpcheck_rules*
    - char*
    constantsTouched: []
    func_position:
      end: 4037
      start: 4000
    functionDepth: 3
    functionLinenumber: 4000
    functionLinenumberEnd: 4037
    functionName: add_tcpcheck_expect_str
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - lf_expr_init
    - pool_zalloc
    - isttest
    - LIST_APPEND
    - ist
    - strdup
    - pool_free
    - list_for_each_entry_rev
    linkageType: ''
    returnType: int
    signature: add_tcpcheck_expect_str(struct tcpcheck_rules *rules, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_zalloc
      Src: /src/haproxy/src/tcpcheck.c:4047,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:4055,1
    - Dst: malloc
      Src: /src/haproxy/src/tcpcheck.c:4057,1
    - Dst: istlen
      Src: /src/haproxy/src/tcpcheck.c:4057,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:4058,1
    - Dst: pool_free
      Src: /src/haproxy/src/tcpcheck.c:4059,1
    - Dst: istptr
      Src: /src/haproxy/src/tcpcheck.c:4063,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4068,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - rules
    - strs
    argTypes:
    - struct tcpcheck_rules*
    - char**
    constantsTouched: []
    func_position:
      end: 4070
      start: 4039
    functionDepth: 3
    functionLinenumber: 4039
    functionLinenumberEnd: 4070
    functionName: add_tcpcheck_send_strs
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - malloc
    - strlen
    - pool_zalloc
    - istlen
    - isttest
    - LIST_APPEND
    - istptr
    - pool_free
    linkageType: ''
    returnType: int
    signature: add_tcpcheck_send_strs(struct tcpcheck_rules *rules, const char * const
      *strs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/tcpcheck.c:4081,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:4085,1
    - Dst: find_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4089,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:4089,1
    - Dst: create_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4091,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:4091,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:4093,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/tcpcheck.c:4099,1
    - Dst: LIST_PREV
      Src: /src/haproxy/src/tcpcheck.c:4100,1
    - Dst: typeof
      Src: /src/haproxy/src/tcpcheck.c:4100,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4106,1
    - Dst: parse_tcpcheck_connect
      Src: /src/haproxy/src/tcpcheck.c:4107,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4108,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4108,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4109,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4109,1
    - Dst: parse_tcpcheck_send
      Src: /src/haproxy/src/tcpcheck.c:4110,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4111,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:4112,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4113,1
    - Dst: parse_tcpcheck_comment
      Src: /src/haproxy/src/tcpcheck.c:4114,1
    - Dst: action_kw_tcp_check_lookup
      Src: /src/haproxy/src/tcpcheck.c:4116,1
    - Dst: action_kw_tcp_check_build_list
      Src: /src/haproxy/src/tcpcheck.c:4119,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:4120,1
    - Dst: parse_tcpcheck_action
      Src: /src/haproxy/src/tcpcheck.c:4125,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:4129,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4136,1
    - Dst: free_tcpcheck
      Src: /src/haproxy/src/tcpcheck.c:4152,1
    - Dst: free_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4153,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 7
    argNames:
    - args
    - section
    - curpx
    - defpx
    - file
    - line
    - errmsg
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4155
      start: 4073
    functionDepth: 7
    functionLinenumber: 4073
    functionLinenumberEnd: 4155
    functionName: proxy_parse_tcpcheck
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_tcpcheck_action
    - parse_tcpcheck_send
    - parse_tcpcheck_comment
    - parse_tcpcheck_expect
    - b_orig
    - find_tcpcheck_ruleset
    - LIST_ISEMPTY
    - strcmp
    - typeof
    - warnifnotcap
    - free_tcpcheck_ruleset
    - free_tcpcheck
    - chunk_printf
    - action_kw_tcp_check_lookup
    - create_tcpcheck_ruleset
    - LIST_APPEND
    - LIST_PREV
    - parse_tcpcheck_connect
    - action_kw_tcp_check_build_list
    linkageType: ''
    returnType: int
    signature: "proxy_parse_tcpcheck(char **args, int section, struct proxy *curpx,\n
      \                        const struct proxy *defpx, const char *file, int line,\n
      \                        char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/tcpcheck.c:4166,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4170,1
    - Dst: too_many_args
      Src: /src/haproxy/src/tcpcheck.c:4173,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4177,1
    - Dst: too_many_args
      Src: /src/haproxy/src/tcpcheck.c:4180,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:4186,1
    - Dst: find_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4190,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:4190,1
    - Dst: create_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4192,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:4192,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:4194,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/tcpcheck.c:4200,1
    - Dst: LIST_PREV
      Src: /src/haproxy/src/tcpcheck.c:4201,1
    - Dst: typeof
      Src: /src/haproxy/src/tcpcheck.c:4201,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4207,1
    - Dst: parse_tcpcheck_connect
      Src: /src/haproxy/src/tcpcheck.c:4208,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4209,1
    - Dst: parse_tcpcheck_send_http
      Src: /src/haproxy/src/tcpcheck.c:4210,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4211,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:4212,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4214,1
    - Dst: parse_tcpcheck_comment
      Src: /src/haproxy/src/tcpcheck.c:4215,1
    - Dst: action_kw_tcp_check_lookup
      Src: /src/haproxy/src/tcpcheck.c:4217,1
    - Dst: action_kw_tcp_check_build_list
      Src: /src/haproxy/src/tcpcheck.c:4220,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:4221,1
    - Dst: parse_tcpcheck_action
      Src: /src/haproxy/src/tcpcheck.c:4226,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:4230,1
    - Dst: tcpcheck_add_http_rule
      Src: /src/haproxy/src/tcpcheck.c:4241,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:4242,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4250,1
    - Dst: free_tcpcheck
      Src: /src/haproxy/src/tcpcheck.c:4257,1
    - Dst: free_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4258,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 7
    argNames:
    - args
    - section
    - curpx
    - defpx
    - file
    - line
    - errmsg
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4260
      start: 4158
    functionDepth: 7
    functionLinenumber: 4158
    functionLinenumberEnd: 4260
    functionName: proxy_parse_httpcheck
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_tcpcheck_action
    - parse_tcpcheck_comment
    - parse_tcpcheck_expect
    - b_orig
    - find_tcpcheck_ruleset
    - LIST_ISEMPTY
    - strcmp
    - typeof
    - warnifnotcap
    - tcpcheck_add_http_rule
    - free_tcpcheck_ruleset
    - free_tcpcheck
    - chunk_printf
    - parse_tcpcheck_send_http
    - action_kw_tcp_check_lookup
    - too_many_args
    - create_tcpcheck_ruleset
    - LIST_APPEND
    - LIST_PREV
    - parse_tcpcheck_connect
    - action_kw_tcp_check_build_list
    linkageType: ''
    returnType: int
    signature: "proxy_parse_httpcheck(char **args, int section, struct proxy *curpx,\n\t\t\t\t
      const struct proxy *defpx, const char *file, int line,\n\t\t\t\t char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/tcpcheck.c:4275,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/tcpcheck.c:4278,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/tcpcheck.c:4284,1
    - Dst: find_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4288,1
    - Dst: create_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4292,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4294,1
    - Dst: parse_tcpcheck_send
      Src: /src/haproxy/src/tcpcheck.c:4298,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4301,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4305,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:4307,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4314,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4318,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:4326,1
    - Dst: free_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4330,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 6
    argNames:
    - args
    - cur_arg
    - curpx
    - defpx
    - file
    - line
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 4333
      start: 4263
    functionDepth: 7
    functionLinenumber: 4263
    functionLinenumberEnd: 4333
    functionName: proxy_parse_redis_check_opt
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - find_tcpcheck_ruleset
    - create_tcpcheck_ruleset
    - LIST_APPEND
    - alertif_too_many_args_idx
    - free_tcpcheck_ruleset
    - parse_tcpcheck_send
    - free
    - warnifnotcap
    - parse_tcpcheck_expect
    - free_tcpcheck_vars
    linkageType: ''
    returnType: int
    signature: "proxy_parse_redis_check_opt(char **args, int cur_arg, struct proxy
      *curpx, const struct proxy *defpx,\n\t\t\t\tconst char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/tcpcheck.c:4376,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/tcpcheck.c:4379,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/tcpcheck.c:4385,1
    - Dst: find_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4389,1
    - Dst: create_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4393,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4395,1
    - Dst: parse_tcpcheck_send
      Src: /src/haproxy/src/tcpcheck.c:4399,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4402,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4406,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:4408,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4414,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4418,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:4426,1
    - Dst: free_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4430,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 6
    argNames:
    - args
    - cur_arg
    - curpx
    - defpx
    - file
    - line
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 4433
      start: 4337
    functionDepth: 7
    functionLinenumber: 4337
    functionLinenumberEnd: 4433
    functionName: proxy_parse_ssl_hello_chk_opt
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - find_tcpcheck_ruleset
    - create_tcpcheck_ruleset
    - LIST_APPEND
    - alertif_too_many_args_idx
    - free_tcpcheck_ruleset
    - parse_tcpcheck_send
    - free
    - warnifnotcap
    - parse_tcpcheck_expect
    - free_tcpcheck_vars
    linkageType: ''
    returnType: int
    signature: "proxy_parse_ssl_hello_chk_opt(char **args, int cur_arg, struct proxy
      *curpx, const struct proxy *defpx,\n\t\t\t\t  const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/tcpcheck.c:4448,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/tcpcheck.c:4451,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/tcpcheck.c:4457,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4463,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4463,1
    - Dst: calloc
      Src: /src/haproxy/src/tcpcheck.c:4466,1
    - Dst: snprintf
      Src: /src/haproxy/src/tcpcheck.c:4468,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:4473,1
    - Dst: create_tcpcheck_var
      Src: /src/haproxy/src/tcpcheck.c:4476,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:4476,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4478,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:4483,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/tcpcheck.c:4484,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4485,1
    - Dst: find_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4489,1
    - Dst: create_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4493,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4495,1
    - Dst: parse_tcpcheck_connect
      Src: /src/haproxy/src/tcpcheck.c:4499,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4502,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4506,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:4508,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4515,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4519,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:4521,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4529,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4533,1
    - Dst: parse_tcpcheck_send
      Src: /src/haproxy/src/tcpcheck.c:4535,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4538,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4542,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:4544,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4552,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4556,1
    - Dst: parse_tcpcheck_send
      Src: /src/haproxy/src/tcpcheck.c:4560,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4563,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4567,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:4569,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4578,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4582,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:4590,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:4594,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:4595,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/tcpcheck.c:4596,1
    - Dst: free_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4597,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 116
    argCount: 6
    argNames:
    - args
    - cur_arg
    - curpx
    - defpx
    - file
    - line
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 4600
      start: 4436
    functionDepth: 7
    functionLinenumber: 4436
    functionLinenumberEnd: 4600
    functionName: proxy_parse_smtpchk_opt
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - ist
    - parse_tcpcheck_send
    - parse_tcpcheck_expect
    - free_tcpcheck_vars
    - find_tcpcheck_ruleset
    - strcmp
    - free
    - warnifnotcap
    - create_tcpcheck_var
    - strlen
    - free_tcpcheck_ruleset
    - snprintf
    - strdup
    - LIST_INIT
    - create_tcpcheck_ruleset
    - calloc
    - LIST_APPEND
    - alertif_too_many_args_idx
    - parse_tcpcheck_connect
    linkageType: ''
    returnType: int
    signature: "proxy_parse_smtpchk_opt(char **args, int cur_arg, struct proxy *curpx,
      const struct proxy *defpx,\n\t\t\t    const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/tcpcheck.c:4622,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/tcpcheck.c:4625,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/tcpcheck.c:4631,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4637,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4641,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:4642,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:4643,1
    - Dst: create_tcpcheck_var
      Src: /src/haproxy/src/tcpcheck.c:4645,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:4645,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4647,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:4652,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/tcpcheck.c:4653,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4654,1
    - Dst: create_tcpcheck_var
      Src: /src/haproxy/src/tcpcheck.c:4658,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:4658,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4660,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/tcpcheck.c:4665,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4666,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4670,1
    - Dst: find_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4675,1
    - Dst: create_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4679,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4681,1
    - Dst: parse_tcpcheck_connect
      Src: /src/haproxy/src/tcpcheck.c:4685,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4688,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4692,1
    - Dst: parse_tcpcheck_send
      Src: /src/haproxy/src/tcpcheck.c:4694,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4697,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4701,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:4703,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4710,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4714,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:4716,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4724,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4728,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:4736,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:4740,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:4741,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/tcpcheck.c:4742,1
    - Dst: free_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4743,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 109
    argCount: 6
    argNames:
    - args
    - cur_arg
    - curpx
    - defpx
    - file
    - line
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 4746
      start: 4603
    functionDepth: 7
    functionLinenumber: 4603
    functionLinenumberEnd: 4746
    functionName: proxy_parse_pgsql_check_opt
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - find_tcpcheck_ruleset
    - create_tcpcheck_ruleset
    - strcmp
    - strlen
    - alertif_too_many_args_idx
    - LIST_APPEND
    - ist
    - parse_tcpcheck_connect
    - strdup
    - parse_tcpcheck_send
    - free
    - free_tcpcheck_ruleset
    - warnifnotcap
    - create_tcpcheck_var
    - LIST_INIT
    - parse_tcpcheck_expect
    - free_tcpcheck_vars
    linkageType: ''
    returnType: int
    signature: "proxy_parse_pgsql_check_opt(char **args, int cur_arg, struct proxy
      *curpx, const struct proxy *defpx,\n\t\t\t\tconst char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/tcpcheck.c:4816,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/tcpcheck.c:4819,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/tcpcheck.c:4825,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4833,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4834,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4840,1
    - Dst: calloc
      Src: /src/haproxy/src/tcpcheck.c:4845,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:4846,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:4847,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4850,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4854,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcpcheck.c:4859,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4865,1
    - Dst: create_tcpcheck_var
      Src: /src/haproxy/src/tcpcheck.c:4875,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:4875,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4877,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/tcpcheck.c:4883,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4884,1
    - Dst: create_tcpcheck_var
      Src: /src/haproxy/src/tcpcheck.c:4888,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:4888,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4890,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:4895,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/tcpcheck.c:4896,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4897,1
    - Dst: find_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4902,1
    - Dst: create_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4906,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4908,1
    - Dst: parse_tcpcheck_connect
      Src: /src/haproxy/src/tcpcheck.c:4912,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4915,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4919,1
    - Dst: parse_tcpcheck_send
      Src: /src/haproxy/src/tcpcheck.c:4922,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4925,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4929,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:4932,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4935,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4940,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:4943,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:4946,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:4951,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:4960,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:4964,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:4965,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:4966,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/tcpcheck.c:4967,1
    - Dst: free_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4968,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 143
    argCount: 6
    argNames:
    - args
    - cur_arg
    - curpx
    - defpx
    - file
    - line
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 4971
      start: 4750
    functionDepth: 7
    functionLinenumber: 4750
    functionLinenumberEnd: 4971
    functionName: proxy_parse_mysql_check_opt
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - ist
    - parse_tcpcheck_send
    - parse_tcpcheck_expect
    - free_tcpcheck_vars
    - find_tcpcheck_ruleset
    - strcmp
    - free
    - warnifnotcap
    - create_tcpcheck_var
    - strlen
    - free_tcpcheck_ruleset
    - strdup
    - LIST_INIT
    - create_tcpcheck_ruleset
    - calloc
    - LIST_APPEND
    - alertif_too_many_args_idx
    - parse_tcpcheck_connect
    linkageType: ''
    returnType: int
    signature: "proxy_parse_mysql_check_opt(char **args, int cur_arg, struct proxy
      *curpx, const struct proxy *defpx,\n\t\t\t\tconst char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/tcpcheck.c:4984,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/tcpcheck.c:4987,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/tcpcheck.c:4993,1
    - Dst: find_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:4997,1
    - Dst: create_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:5001,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:5003,1
    - Dst: parse_tcpcheck_send
      Src: /src/haproxy/src/tcpcheck.c:5007,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:5010,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:5014,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:5016,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:5022,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:5026,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:5028,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:5031,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:5036,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:5044,1
    - Dst: free_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:5048,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 6
    argNames:
    - args
    - cur_arg
    - curpx
    - defpx
    - file
    - line
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 5051
      start: 4973
    functionDepth: 7
    functionLinenumber: 4973
    functionLinenumberEnd: 5051
    functionName: proxy_parse_ldap_check_opt
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - find_tcpcheck_ruleset
    - create_tcpcheck_ruleset
    - LIST_APPEND
    - alertif_too_many_args_idx
    - free_tcpcheck_ruleset
    - parse_tcpcheck_send
    - free
    - warnifnotcap
    - parse_tcpcheck_expect
    - free_tcpcheck_vars
    linkageType: ''
    returnType: int
    signature: "proxy_parse_ldap_check_opt(char **args, int cur_arg, struct proxy
      *curpx, const struct proxy *defpx,\n\t\t\t       const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/tcpcheck.c:5069,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/tcpcheck.c:5072,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/tcpcheck.c:5078,1
    - Dst: find_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:5082,1
    - Dst: create_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:5086,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:5088,1
    - Dst: parse_tcpcheck_connect
      Src: /src/haproxy/src/tcpcheck.c:5092,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:5095,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:5099,1
    - Dst: parse_tcpcheck_send
      Src: /src/haproxy/src/tcpcheck.c:5101,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:5104,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:5108,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/tcpcheck.c:5110,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:5113,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:5118,1
    - Dst: free_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:5129,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 6
    argNames:
    - args
    - cur_arg
    - curpx
    - defpx
    - file
    - line
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 5132
      start: 5053
    functionDepth: 7
    functionLinenumber: 5053
    functionLinenumberEnd: 5132
    functionName: proxy_parse_spop_check_opt
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - find_tcpcheck_ruleset
    - create_tcpcheck_ruleset
    - LIST_APPEND
    - alertif_too_many_args_idx
    - free_tcpcheck_ruleset
    - parse_tcpcheck_connect
    - parse_tcpcheck_send
    - warnifnotcap
    - parse_tcpcheck_expect
    - free_tcpcheck_vars
    linkageType: ''
    returnType: int
    signature: "proxy_parse_spop_check_opt(char **args, int cur_arg, struct proxy
      *curpx, const struct proxy *defpx,\n\t\t\t       const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/haproxy/src/tcpcheck.c:5142,1
    - Dst: strstr
      Src: /src/haproxy/src/tcpcheck.c:5143,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:5145,1
    - Dst: calloc
      Src: /src/haproxy/src/tcpcheck.c:5150,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:5152,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/tcpcheck.c:5159,1
    - Dst: find_http_meth
      Src: /src/haproxy/src/tcpcheck.c:5176,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:5176,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:5177,1
    - Dst: strlen
      Src: /src/haproxy/src/tcpcheck.c:5178,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:5180,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:5185,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:5185,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:5186,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:5187,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:5192,1
    - Dst: strdup
      Src: /src/haproxy/src/tcpcheck.c:5192,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:5193,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:5194,1
    - Dst: calloc
      Src: /src/haproxy/src/tcpcheck.c:5199,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:5201,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/tcpcheck.c:5204,1
    - Dst: istdup
      Src: /src/haproxy/src/tcpcheck.c:5205,1
    - Dst: ist
      Src: /src/haproxy/src/tcpcheck.c:5205,1
    - Dst: isttest
      Src: /src/haproxy/src/tcpcheck.c:5206,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcpcheck.c:5207,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/tcpcheck.c:5211,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcpcheck.c:5213,1
    - Dst: free_tcpcheck_http_hdr
      Src: /src/haproxy/src/tcpcheck.c:5220,1
    - Dst: free_tcpcheck
      Src: /src/haproxy/src/tcpcheck.c:5221,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 82
    argCount: 4
    argNames:
    - args
    - cur_arg
    - px
    - errmsg
    argTypes:
    - char**
    - int
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 5223
      start: 5135
    functionDepth: 6
    functionLinenumber: 5135
    functionLinenumberEnd: 5223
    functionName: proxy_parse_httpchk_req
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 0
    functionsReached:
    - memprintf
    - lf_expr_init
    - calloc
    - strstr
    - strlen
    - isttest
    - ist
    - istdup
    - strdup
    - LIST_APPEND
    - free_tcpcheck
    - find_http_meth
    - LIST_INIT
    - free_tcpcheck_http_hdr
    - parse_logformat_string
    linkageType: ''
    returnType: struct tcpcheck_rule
    signature: '*proxy_parse_httpchk_req(char **args, int cur_arg, struct proxy *px,
      char **errmsg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/tcpcheck.c:5235,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/tcpcheck.c:5238,1
    - Dst: proxy_parse_httpchk_req
      Src: /src/haproxy/src/tcpcheck.c:5241,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:5243,1
    - Dst: ha_warning
      Src: /src/haproxy/src/tcpcheck.c:5247,1
    - Dst: ha_free
      Src: /src/haproxy/src/tcpcheck.c:5249,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/tcpcheck.c:5256,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:5261,1
    - Dst: find_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:5265,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:5265,1
    - Dst: create_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:5267,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:5267,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:5269,1
    - Dst: tcpcheck_add_http_rule
      Src: /src/haproxy/src/tcpcheck.c:5277,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:5278,1
    - Dst: free
      Src: /src/haproxy/src/tcpcheck.c:5284,1
    - Dst: free_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:5288,1
    - Dst: free_tcpcheck
      Src: /src/haproxy/src/tcpcheck.c:5289,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 6
    argNames:
    - args
    - cur_arg
    - curpx
    - defpx
    - file
    - line
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 5292
      start: 5226
    functionDepth: 7
    functionLinenumber: 5226
    functionLinenumberEnd: 5292
    functionName: proxy_parse_httpchk_opt
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - find_tcpcheck_ruleset
    - ha_free
    - create_tcpcheck_ruleset
    - ha_warning
    - free_tcpcheck_ruleset
    - alertif_too_many_args_idx
    - free_tcpcheck
    - chunk_printf
    - proxy_parse_httpchk_req
    - free
    - warnifnotcap
    - tcpcheck_add_http_rule
    - free_tcpcheck_vars
    - b_orig
    linkageType: ''
    returnType: int
    signature: "proxy_parse_httpchk_opt(char **args, int cur_arg, struct proxy *curpx,
      const struct proxy *defpx,\n\t\t\t    const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/tcpcheck.c:5302,1
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/tcpcheck.c:5305,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:5323,1
    - Dst: find_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:5324,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:5324,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/tcpcheck.c:5331,1
    - Dst: find_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:5335,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:5335,1
    - Dst: create_tcpcheck_ruleset
      Src: /src/haproxy/src/tcpcheck.c:5337,1
    - Dst: b_orig
      Src: /src/haproxy/src/tcpcheck.c:5337,1
    - Dst: ha_alert
      Src: /src/haproxy/src/tcpcheck.c:5339,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/tcpcheck.c:5345,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 6
    argNames:
    - args
    - cur_arg
    - curpx
    - defpx
    - file
    - line
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 5356
      start: 5295
    functionDepth: 5
    functionLinenumber: 5295
    functionLinenumberEnd: 5356
    functionName: proxy_parse_tcp_check_opt
    functionSourceFile: /src/haproxy/src/tcpcheck.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - find_tcpcheck_ruleset
    - create_tcpcheck_ruleset
    - alertif_too_many_args_idx
    - chunk_printf
    - warnifnotcap
    - free_tcpcheck_vars
    - b_orig
    linkageType: ''
    returnType: int
    signature: "proxy_parse_tcp_check_opt(char **args, int cur_arg, struct proxy *curpx,
      const struct proxy *defpx,\n\t\t\t      const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fstrm
    argTypes:
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    functionName: fcgi_strm_sc
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: '*fcgi_strm_sc(const struct fcgi_strm *fstrm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:358,1
    - Dst: h1m_state_str
      Src: /src/haproxy/src/mux_fcgi.c:358,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:365,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/mux_fcgi.c:368,1
    - Dst: __htx_get_head_blk
      Src: /src/haproxy/src/mux_fcgi.c:369,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/mux_fcgi.c:370,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_fcgi.c:371,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:374,1
    - Dst: HTX_SL_P1_LEN
      Src: /src/haproxy/src/mux_fcgi.c:375,1
    - Dst: HTX_SL_P1_PTR
      Src: /src/haproxy/src/mux_fcgi.c:375,1
    - Dst: HTX_SL_P2_LEN
      Src: /src/haproxy/src/mux_fcgi.c:376,1
    - Dst: HTX_SL_P2_PTR
      Src: /src/haproxy/src/mux_fcgi.c:376,1
    - Dst: HTX_SL_P3_LEN
      Src: /src/haproxy/src/mux_fcgi.c:377,1
    - Dst: HTX_SL_P3_PTR
      Src: /src/haproxy/src/mux_fcgi.c:377,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:381,1
    - Dst: fconn_st_to_str
      Src: /src/haproxy/src/mux_fcgi.c:381,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:383,1
    - Dst: fstrm_st_to_str
      Src: /src/haproxy/src/mux_fcgi.c:383,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:386,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:388,1
    - Dst: fcgi_rt_str
      Src: /src/haproxy/src/mux_fcgi.c:388,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:397,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:398,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_fcgi.c:398,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_fcgi.c:399,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:399,1
    - Dst: br_head
      Src: /src/haproxy/src/mux_fcgi.c:402,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_fcgi.c:403,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:405,1
    - Dst: br_head_idx
      Src: /src/haproxy/src/mux_fcgi.c:406,1
    - Dst: br_tail_idx
      Src: /src/haproxy/src/mux_fcgi.c:406,1
    - Dst: br_size
      Src: /src/haproxy/src/mux_fcgi.c:406,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:407,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_fcgi.c:407,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_fcgi.c:408,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:408,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:409,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_fcgi.c:409,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_fcgi.c:410,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:410,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:415,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:416,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_fcgi.c:416,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_fcgi.c:417,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:417,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_fcgi.c:432,1
    - Dst: htx_dump
      Src: /src/haproxy/src/mux_fcgi.c:433,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 43
    argCount: 9
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - struct ist
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 435
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 435
    functionName: fcgi_trace
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_ptr
    - chunk_memcat
    - h1m_state_str
    - HTX_SL_P3_PTR
    - b_orig
    - HTX_SL_P2_PTR
    - HTX_SL_P2_LEN
    - HTX_SL_P3_LEN
    - htx_nbblks
    - chunk_appendf
    - b_size
    - br_tail_idx
    - HTX_SL_P1_LEN
    - br_head_idx
    - htx_get_blk_type
    - b_data
    - fconn_st_to_str
    - HTX_SL_P1_PTR
    - br_head
    - br_tail
    - br_size
    - fcgi_rt_str
    - htx_dump
    - fstrm_st_to_str
    - b_head_ofs
    - __htx_get_head_blk
    linkageType: ''
    returnType: void
    signature: "fcgi_trace(enum trace_level level, uint64_t mask, const struct trace_source
      *src,\n\t\t       const struct ist where, const struct ist func,\n\t\t       const
      void *a1, const void *a2, const void *a3, const void *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 464
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 464
    functionName: fcgi_recv_allowed
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fcgi_recv_allowed(const struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 486
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 486
    functionName: fcgi_may_demux
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - b_data
    linkageType: ''
    returnType: int
    signature: fcgi_may_demux(const struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fcgi_recv_allowed
      Src: /src/haproxy/src/mux_fcgi.c:494,1
    - Dst: fcgi_may_demux
      Src: /src/haproxy/src/mux_fcgi.c:494,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_fcgi.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fconn
    - consider_buffer
    argTypes:
    - struct fcgi_conn*
    - int
    constantsTouched: []
    func_position:
      end: 497
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 497
    functionName: fcgi_conn_restart_reading
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - fcgi_recv_allowed
    - tasklet_wakeup
    - fcgi_may_demux
    linkageType: ''
    returnType: void
    signature: fcgi_conn_restart_reading(const struct fcgi_conn *fconn, int consider_buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_fcgi.c:510,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:511,1
    - Dst: fcgi_conn_restart_reading
      Src: /src/haproxy/src/mux_fcgi.c:513,1
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_fcgi.c:517,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_fcgi.c:517,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:518,1
    - Dst: fcgi_conn_restart_reading
      Src: /src/haproxy/src/mux_fcgi.c:522,1
    - Dst: fcgi_conn_st_by_id
      Src: /src/haproxy/src/mux_fcgi.c:528,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:528,1
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_fcgi.c:529,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:530,1
    - Dst: fcgi_conn_restart_reading
      Src: /src/haproxy/src/mux_fcgi.c:532,1
    - Dst: fcgi_strm_notify_recv
      Src: /src/haproxy/src/mux_fcgi.c:533,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - target
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 538
      start: 505
    functionDepth: 3
    functionLinenumber: 505
    functionLinenumberEnd: 538
    functionName: fcgi_buf_available
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - br_tail
    - b_alloc
    - fcgi_conn_st_by_id
    - fcgi_strm_sc
    - TRACE_STATE
    - fcgi_strm_notify_recv
    - fcgi_conn_restart_reading
    linkageType: ''
    returnType: int
    signature: fcgi_buf_available(void *target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/mux_fcgi.c:544,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_fcgi.c:544,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_fcgi.c:545,1
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_fcgi.c:545,1
    - Dst: b_queue
      Src: /src/haproxy/src/mux_fcgi.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - fconn
    - bptr
    argTypes:
    - struct fcgi_conn*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 549
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 549
    functionName: fcgi_get_buf
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - b_queue
    - likely
    - LIST_INLIST
    - unlikely
    - b_alloc
    linkageType: ''
    returnType: struct buffer
    signature: '*fcgi_get_buf(struct fcgi_conn *fconn, struct buffer *bptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_free
      Src: /src/haproxy/src/mux_fcgi.c:554,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_fcgi.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fconn
    - bptr
    argTypes:
    - struct fcgi_conn*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 557
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 557
    functionName: fcgi_release_buf
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - offer_buffers
    - b_free
    linkageType: ''
    returnType: void
    signature: fcgi_release_buf(struct fcgi_conn *fconn, struct buffer *bptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:564,1
    - Dst: br_head_pick
      Src: /src/haproxy/src/mux_fcgi.c:564,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_fcgi.c:565,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_fcgi.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 570
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 570
    functionName: fcgi_release_mbuf
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - offer_buffers
    - br_head_pick
    - b_free
    - b_size
    linkageType: ''
    returnType: void
    signature: fcgi_release_mbuf(struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 583
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 583
    functionName: fcgi_streams_left
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fcgi_streams_left(const struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 594
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 594
    functionName: fcgi_used_streams
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fcgi_used_streams(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/src/mux_fcgi.c:599,1
    - Dst: fcgi_streams_left
      Src: /src/haproxy/src/mux_fcgi.c:611,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_fcgi.c:612,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_fcgi.c:615,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 618
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 618
    functionName: fcgi_avail_streams
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - objt_server
    - MIN
    - fcgi_streams_left
    linkageType: ''
    returnType: int
    signature: fcgi_avail_streams(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_px_fcgi_app
      Src: /src/haproxy/src/mux_fcgi.c:634,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:638,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:641,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/mux_fcgi.c:645,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:647,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_fcgi.c:652,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_fcgi.c:668,1
    - Dst: task_new_here
      Src: /src/haproxy/src/mux_fcgi.c:669,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:671,1
    - Dst: tick_add
      Src: /src/haproxy/src/mux_fcgi.c:678,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/mux_fcgi.c:681,1
    - Dst: br_init
      Src: /src/haproxy/src/mux_fcgi.c:702,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_fcgi.c:704,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_fcgi.c:705,1
    - Dst: task_queue
      Src: /src/haproxy/src/mux_fcgi.c:710,1
    - Dst: fcgi_stconn_new
      Src: /src/haproxy/src/mux_fcgi.c:717,1
    - Dst: fcgi_conn_restart_reading
      Src: /src/haproxy/src/mux_fcgi.c:723,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:724,1
    - Dst: task_destroy
      Src: /src/haproxy/src/mux_fcgi.c:728,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_fcgi.c:729,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_fcgi.c:730,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:733,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 80
    argCount: 4
    argNames:
    - conn
    - px
    - sess
    - input
    argTypes:
    - struct connection*
    - struct proxy*
    - struct session*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 735
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 735
    functionName: fcgi_init
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - tasklet_free
    - tick_add
    - TRACE_ENTER
    - fcgi_conn_restart_reading
    - br_init
    - pool_alloc
    - task_queue
    - get_px_fcgi_app
    - pool_free
    - LIST_INIT
    - TRACE_ERROR
    - tasklet_new
    - tick_isset
    - task_destroy
    - TRACE_DEVEL
    - task_new_here
    - fcgi_stconn_new
    linkageType: ''
    returnType: int
    signature: "fcgi_init(struct connection *conn, struct proxy *px, struct session
      *sess,\n\t\t     struct buffer *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tevt_report_event
      Src: /src/haproxy/src/mux_fcgi.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fconn
    - type
    argTypes:
    - struct fcgi_conn*
    - enum muxc_term_event_type
    constantsTouched: []
    func_position:
      end: 743
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 743
    functionName: fcgi_conn_report_term_evt
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - tevt_report_event
    linkageType: ''
    returnType: void
    signature: fcgi_conn_report_term_evt(struct fcgi_conn *fconn, enum muxc_term_event_type
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 755
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 755
    functionName: fcgi_conn_get_next_sid
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: fcgi_conn_get_next_sid(const struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup
      Src: /src/haproxy/src/mux_fcgi.c:768,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_fcgi.c:771,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - fconn
    - id
    argTypes:
    - struct fcgi_conn*
    - int
    constantsTouched: []
    func_position:
      end: 772
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 772
    functionName: fcgi_conn_st_by_id
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 1
    functionsReached:
    - container_of
    - eb32_lookup
    linkageType: ''
    returnType: struct fcgi_strm
    signature: '*fcgi_conn_st_by_id(struct fcgi_conn *fconn, int id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:781,1
    - Dst: b_dequeue
      Src: /src/haproxy/src/mux_fcgi.c:783,1
    - Dst: fcgi_release_buf
      Src: /src/haproxy/src/mux_fcgi.c:785,1
    - Dst: fcgi_release_mbuf
      Src: /src/haproxy/src/mux_fcgi.c:786,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/mux_fcgi.c:790,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_fcgi.c:793,1
    - Dst: struct connection*::xprt::unsubscribe
      Src: /src/haproxy/src/mux_fcgi.c:796,1
    - Dst: fcgi_conn_report_term_evt
      Src: /src/haproxy/src/mux_fcgi.c:798,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_fcgi.c:801,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:806,1
    - Dst: conn_stop_tracking
      Src: /src/haproxy/src/mux_fcgi.c:808,1
    - Dst: conn_full_close
      Src: /src/haproxy/src/mux_fcgi.c:809,1
    - Dst: struct connection*::destroy_cb
      Src: /src/haproxy/src/mux_fcgi.c:811,1
    - Dst: conn_free
      Src: /src/haproxy/src/mux_fcgi.c:812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 814
      start: 777
    functionDepth: 3
    functionLinenumber: 777
    functionLinenumberEnd: 814
    functionName: fcgi_release
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - conn_full_close
    - TRACE_POINT
    - tasklet_free
    - conn_free
    - struct connection*::destroy_cb
    - task_wakeup
    - fcgi_release_mbuf
    - pool_free
    - conn_stop_tracking
    - fcgi_conn_report_term_evt
    - TRACE_DEVEL
    - struct connection*::xprt::unsubscribe
    - fcgi_release_buf
    - b_dequeue
    linkageType: ''
    returnType: void
    signature: fcgi_release(struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 825
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 825
    functionName: fcgi_conn_read0_pending
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fcgi_conn_read0_pending(struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_fcgi.c:831,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_fcgi.c:836,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 840
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 840
    functionName: fcgi_conn_is_dead
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - br_data
    - eb_is_empty
    linkageType: ''
    returnType: int
    signature: fcgi_conn_is_dead(struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:851,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:854,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_fcgi.c:856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - fstrm
    argTypes:
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 858
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 858
    functionName: fcgi_strm_error
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - TRACE_POINT
    - se_fl_set_error
    linkageType: ''
    returnType: void
    signature: fcgi_strm_error(struct fcgi_strm *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:864,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_fcgi.c:865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fstrm
    argTypes:
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 870
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 870
    functionName: fcgi_strm_notify_recv
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 1
    functionsReached:
    - TRACE_POINT
    - tasklet_wakeup
    linkageType: ''
    returnType: void
    signature: fcgi_strm_notify_recv(struct fcgi_strm *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:876,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_fcgi.c:878,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:884,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_fcgi.c:885,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - fstrm
    argTypes:
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 887
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 887
    functionName: fcgi_strm_notify_send
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - tasklet_wakeup
    linkageType: ''
    returnType: void
    signature: fcgi_strm_notify_send(struct fcgi_strm *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:900,1
    - Dst: fcgi_strm_notify_recv
      Src: /src/haproxy/src/mux_fcgi.c:903,1
    - Dst: fcgi_strm_notify_send
      Src: /src/haproxy/src/mux_fcgi.c:904,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:906,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:906,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:907,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:908,1
    - Dst: wake
      Src: /src/haproxy/src/mux_fcgi.c:908,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - fstrm
    argTypes:
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 910
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 910
    functionName: fcgi_strm_alert
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - fcgi_strm_notify_send
    - wake
    - fcgi_strm_sc
    - fcgi_strm_notify_recv
    linkageType: ''
    returnType: void
    signature: fcgi_strm_alert(struct fcgi_strm *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - record
    - len
    argTypes:
    - void*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 919
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 919
    functionName: fcgi_set_record_size
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fcgi_set_record_size(void *record, uint16_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - record
    - id
    argTypes:
    - void*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 928
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 928
    functionName: fcgi_set_record_id
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fcgi_set_record_id(void *record, uint16_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:937,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:941,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_fcgi.c:942,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:942,1
    - Dst: fcgi_strm_notify_recv
      Src: /src/haproxy/src/mux_fcgi.c:943,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:946,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:947,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - fstrm
    argTypes:
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 949
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 949
    functionName: fcgi_strm_close
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - se_fl_test
    - TRACE_ENTER
    - b_data
    - fcgi_strm_sc
    - TRACE_STATE
    - fcgi_strm_notify_recv
    linkageType: ''
    returnType: void
    signature: fcgi_strm_close(struct fcgi_strm *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_fcgi.c:957,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_fcgi.c:960,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_fcgi.c:961,1
    - Dst: fcgi_conn_read0_pending
      Src: /src/haproxy/src/mux_fcgi.c:964,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_fcgi.c:965,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_fcgi.c:966,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_fcgi.c:967,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_fcgi.c:968,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_fcgi.c:971,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_fcgi.c:973,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_fcgi.c:974,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - fconn
    - fstrm
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 975
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 975
    functionName: fcgi_strm_propagate_term_flags
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - se_report_term_evt
    - fcgi_conn_read0_pending
    - se_fl_set
    - se_fl_test
    linkageType: ''
    returnType: void
    signature: fcgi_strm_propagate_term_flags(struct fcgi_conn *fconn, struct fcgi_strm
      *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:984,1
    - Dst: fcgi_strm_close
      Src: /src/haproxy/src/mux_fcgi.c:986,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/mux_fcgi.c:987,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:988,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_fcgi.c:989,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_fcgi.c:990,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_fcgi.c:998,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_fcgi.c:999,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_fcgi.c:1000,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_fcgi.c:1000,1
    - Dst: sedesc_free
      Src: /src/haproxy/src/mux_fcgi.c:1001,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_fcgi.c:1002,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:1004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - fstrm
    argTypes:
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 1005
      start: 980
    functionDepth: 3
    functionLinenumber: 980
    functionLinenumberEnd: 1005
    functionName: fcgi_strm_destroy
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - fcgi_strm_close
    - TRACE_LEAVE
    - eb32_delete
    - b_free
    - tasklet_free
    - se_fl_test
    - TRACE_ENTER
    - pool_free
    - offer_buffers
    - sedesc_free
    - LIST_DEL_INIT
    - b_size
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: fcgi_strm_destroy(struct fcgi_strm *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:1017,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/mux_fcgi.c:1019,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:1021,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/mux_fcgi.c:1025,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:1027,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_fcgi.c:1028,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_fcgi.c:1034,1
    - Dst: h1m_init_res
      Src: /src/haproxy/src/mux_fcgi.c:1042,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/mux_fcgi.c:1052,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:1056,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:1060,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 2
    argNames:
    - fconn
    - id
    argTypes:
    - struct fcgi_conn*
    - int
    constantsTouched: []
    func_position:
      end: 1062
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1062
    functionName: fcgi_strm_new
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - eb32_insert
    - pool_free
    - pool_alloc
    - LIST_INIT
    - TRACE_ERROR
    - tasklet_new
    - h1m_init_res
    - TRACE_DEVEL
    linkageType: ''
    returnType: struct fcgi_strm
    signature: '*fcgi_strm_new(struct fcgi_conn *fconn, int id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:1073,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:1075,1
    - Dst: fcgi_streams_left
      Src: /src/haproxy/src/mux_fcgi.c:1079,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:1080,1
    - Dst: fcgi_strm_new
      Src: /src/haproxy/src/mux_fcgi.c:1085,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:1087,1
    - Dst: sc_attach_mux
      Src: /src/haproxy/src/mux_fcgi.c:1090,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:1096,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:1100,1
    - Dst: fcgi_strm_destroy
      Src: /src/haproxy/src/mux_fcgi.c:1101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - fconn
    - sc
    - sess
    argTypes:
    - struct fcgi_conn*
    - struct stconn*
    - struct session*
    constantsTouched: []
    func_position:
      end: 1103
      start: 1068
    functionDepth: 4
    functionLinenumber: 1068
    functionLinenumberEnd: 1103
    functionName: fcgi_stconn_new
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 1
    functionsReached:
    - fcgi_streams_left
    - TRACE_LEAVE
    - sc_attach_mux
    - fcgi_strm_destroy
    - TRACE_ENTER
    - TRACE_ERROR
    - TRACE_DEVEL
    - fcgi_strm_new
    linkageType: ''
    returnType: struct fcgi_strm
    signature: "*fcgi_stconn_new(struct fcgi_conn *fconn, struct stconn *sc,\n\t\t\t\t\t
      struct session *sess)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:1114,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:1116,1
    - Dst: fcgi_strm_destroy
      Src: /src/haproxy/src/mux_fcgi.c:1118,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:1119,1
    - Dst: fcgi_conn_read0_pending
      Src: /src/haproxy/src/mux_fcgi.c:1123,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1126,1
    - Dst: fcgi_strm_close
      Src: /src/haproxy/src/mux_fcgi.c:1129,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_fcgi.c:1133,1
    - Dst: fcgi_strm_propagate_term_flags
      Src: /src/haproxy/src/mux_fcgi.c:1134,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1137,1
    - Dst: fcgi_strm_alert
      Src: /src/haproxy/src/mux_fcgi.c:1141,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:1143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - fstrm
    argTypes:
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 1144
      start: 1110
    functionDepth: 4
    functionLinenumber: 1110
    functionLinenumberEnd: 1144
    functionName: fcgi_strm_wake_one_stream
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - fcgi_conn_read0_pending
    - fcgi_strm_close
    - TRACE_LEAVE
    - se_fl_set_error
    - fcgi_strm_destroy
    - TRACE_ENTER
    - TRACE_DEVEL
    - fcgi_strm_alert
    - fcgi_strm_sc
    - TRACE_STATE
    - fcgi_strm_propagate_term_flags
    linkageType: ''
    returnType: void
    signature: fcgi_strm_wake_one_stream(struct fcgi_strm *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup
      Src: /src/haproxy/src/mux_fcgi.c:1152,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_fcgi.c:1154,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_fcgi.c:1157,1
    - Dst: fcgi_strm_wake_one_stream
      Src: /src/haproxy/src/mux_fcgi.c:1158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 1160
      start: 1147
    functionDepth: 5
    functionLinenumber: 1147
    functionLinenumberEnd: 1160
    functionName: fcgi_wake_unassigned_streams
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - fcgi_strm_wake_one_stream
    - eb32_next
    - container_of
    - eb32_lookup
    linkageType: ''
    returnType: void
    signature: fcgi_wake_unassigned_streams(struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:1170,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/mux_fcgi.c:1173,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_fcgi.c:1175,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_fcgi.c:1176,1
    - Dst: fcgi_strm_wake_one_stream
      Src: /src/haproxy/src/mux_fcgi.c:1177,1
    - Dst: fcgi_wake_unassigned_streams
      Src: /src/haproxy/src/mux_fcgi.c:1179,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:1181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fconn
    - last
    argTypes:
    - struct fcgi_conn*
    - int
    constantsTouched: []
    func_position:
      end: 1182
      start: 1165
    functionDepth: 6
    functionLinenumber: 1165
    functionLinenumberEnd: 1182
    functionName: fcgi_wake_some_streams
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - container_of
    - TRACE_ENTER
    - fcgi_strm_wake_one_stream
    - fcgi_wake_unassigned_streams
    - eb32_next
    - eb32_lookup_ge
    linkageType: ''
    returnType: void
    signature: fcgi_wake_some_streams(struct fcgi_conn *fconn, int last)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/mux_fcgi.c:1188,1
    - Dst: sc_check
      Src: /src/haproxy/src/mux_fcgi.c:1189,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:1189,1
    - Dst: conn_src
      Src: /src/haproxy/src/mux_fcgi.c:1189,1
    - Dst: sc_src
      Src: /src/haproxy/src/mux_fcgi.c:1189,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/mux_fcgi.c:1189,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:1189,1
    - Dst: sc_check
      Src: /src/haproxy/src/mux_fcgi.c:1190,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:1190,1
    - Dst: conn_dst
      Src: /src/haproxy/src/mux_fcgi.c:1190,1
    - Dst: sc_dst
      Src: /src/haproxy/src/mux_fcgi.c:1190,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/mux_fcgi.c:1190,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:1190,1
    - Dst: htx_sl_req_meth
      Src: /src/haproxy/src/mux_fcgi.c:1200,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_fcgi.c:1201,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1201,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/mux_fcgi.c:1202,1
    - Dst: h1_get_uri
      Src: /src/haproxy/src/mux_fcgi.c:1205,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_fcgi.c:1206,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1206,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/mux_fcgi.c:1207,1
    - Dst: htx_sl_req_vsn
      Src: /src/haproxy/src/mux_fcgi.c:1210,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_fcgi.c:1211,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1211,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/mux_fcgi.c:1212,1
    - Dst: get_host_port
      Src: /src/haproxy/src/mux_fcgi.c:1218,1
    - Dst: ultoa_o
      Src: /src/haproxy/src/mux_fcgi.c:1219,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1219,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_fcgi.c:1219,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_fcgi.c:1222,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1222,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1222,1
    - Dst: istlen
      Src: /src/haproxy/src/mux_fcgi.c:1228,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/mux_fcgi.c:1232,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1232,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_fcgi.c:1232,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1233,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1235,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/mux_fcgi.c:1244,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1244,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_fcgi.c:1244,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1245,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1247,1
    - Dst: get_host_port
      Src: /src/haproxy/src/mux_fcgi.c:1255,1
    - Dst: ultoa_o
      Src: /src/haproxy/src/mux_fcgi.c:1256,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1256,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_fcgi.c:1256,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_fcgi.c:1259,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1259,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1259,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_fcgi.c:1268,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/mux_fcgi.c:1268,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_fcgi.c:1269,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_fcgi.c:1274,1
    - Dst: ultoa_o
      Src: /src/haproxy/src/mux_fcgi.c:1276,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1276,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_fcgi.c:1276,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_fcgi.c:1279,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1279,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1279,1
    - Dst: conn_is_ssl
      Src: /src/haproxy/src/mux_fcgi.c:1285,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/mux_fcgi.c:1290,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/mux_fcgi.c:1291,1
    - Dst: istlen
      Src: /src/haproxy/src/mux_fcgi.c:1295,1
    - Dst: istfind
      Src: /src/haproxy/src/mux_fcgi.c:1300,1
    - Dst: istlen
      Src: /src/haproxy/src/mux_fcgi.c:1306,1
    - Dst: istnext
      Src: /src/haproxy/src/mux_fcgi.c:1307,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/mux_fcgi.c:1321,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1322,1
    - Dst: url_decode
      Src: /src/haproxy/src/mux_fcgi.c:1323,1
    - Dst: ist0
      Src: /src/haproxy/src/mux_fcgi.c:1323,1
    - Dst: istchr
      Src: /src/haproxy/src/mux_fcgi.c:1343,1
    - Dst: istchr
      Src: /src/haproxy/src/mux_fcgi.c:1343,1
    - Dst: regex_exec_match2
      Src: /src/haproxy/src/mux_fcgi.c:1349,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_fcgi.c:1362,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_fcgi.c:1364,1
    - Dst: istlen
      Src: /src/haproxy/src/mux_fcgi.c:1371,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_fcgi.c:1374,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1374,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/mux_fcgi.c:1375,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/mux_fcgi.c:1376,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_fcgi.c:1381,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1381,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:1382,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1383,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 137
    argCount: 5
    argNames:
    - fconn
    - fstrm
    - htx
    - sl
    - params
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    - struct htx*
    - struct htx_sl*
    - struct fcgi_strm_params*
    constantsTouched: []
    func_position:
      end: 1390
      start: 1184
    functionDepth: 4
    functionLinenumber: 1184
    functionLinenumberEnd: 1390
    functionName: fcgi_set_default_param
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - b_room
    - regex_exec_match2
    - istfind
    - addr_to_str
    - objt_conn
    - ist
    - istnext
    - sc_src
    - sc_check
    - conn_is_ssl
    - get_host_port
    - htx_get_next_blk
    - conn_src
    - istlen
    - ist2
    - h1_get_uri
    - chunk_appendf
    - ultoa_o
    - b_tail
    - htx_sl_req_vsn
    - ist0
    - http_parse_path
    - htx_get_blksz
    - htx_get_head_blk
    - url_decode
    - sc_dst
    - htx_get_blk_type
    - http_uri_parser_init
    - chunk_istcat
    - istchr
    - sc_opposite
    - htx_sl_req_meth
    - fcgi_strm_sc
    - conn_dst
    linkageType: ''
    returnType: int
    signature: "fcgi_set_default_param(struct fcgi_conn *fconn, struct fcgi_strm *fstrm,\n\t\t\t\t
      \ struct htx *htx, struct htx_sl *sl,\n\t\t\t\t  struct fcgi_strm_params *params)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/mux_fcgi.c:1400,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1404,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1405,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1408,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1412,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1416,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1420,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1424,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1428,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1432,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1436,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1440,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1444,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1448,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1452,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/mux_fcgi.c:1453,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/mux_fcgi.c:1454,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_fcgi.c:1455,1
    - Dst: b_head
      Src: /src/haproxy/src/mux_fcgi.c:1455,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:1455,1
    - Dst: istlen
      Src: /src/haproxy/src/mux_fcgi.c:1458,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1460,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/mux_fcgi.c:1461,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/mux_fcgi.c:1462,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_fcgi.c:1463,1
    - Dst: b_head
      Src: /src/haproxy/src/mux_fcgi.c:1463,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:1463,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1466,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1472,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1473,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1476,1
    - Dst: istlen
      Src: /src/haproxy/src/mux_fcgi.c:1484,1
    - Dst: fcgi_encode_param
      Src: /src/haproxy/src/mux_fcgi.c:1486,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 115
    argCount: 5
    argNames:
    - fconn
    - fstrm
    - params
    - outbuf
    - flag
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    - struct fcgi_strm_params*
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 1491
      start: 1392
    functionDepth: 2
    functionLinenumber: 1392
    functionLinenumberEnd: 1491
    functionName: fcgi_encode_default_param
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - chunk_istcat
    - fcgi_encode_param
    - chunk_reset
    - istlen
    - ist2
    - ist
    - b_head
    - b_data
    linkageType: ''
    returnType: int
    signature: "fcgi_encode_default_param(struct fcgi_conn *fconn, struct fcgi_strm
      *fstrm,\n\t\t\t\t     struct fcgi_strm_params *params, struct buffer *outbuf,
      int flag)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1502,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1502,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1503,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1503,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:1506,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_fcgi.c:1508,1
    - Dst: fcgi_get_buf
      Src: /src/haproxy/src/mux_fcgi.c:1510,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1513,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_fcgi.c:1519,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1519,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_fcgi.c:1519,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_fcgi.c:1520,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_fcgi.c:1523,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:1523,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_fcgi.c:1531,1
    - Dst: fcgi_encode_param
      Src: /src/haproxy/src/mux_fcgi.c:1537,1
    - Dst: fcgi_encode_param
      Src: /src/haproxy/src/mux_fcgi.c:1537,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:1541,1
    - Dst: fcgi_set_record_size
      Src: /src/haproxy/src/mux_fcgi.c:1542,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_fcgi.c:1543,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:1547,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:1551,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:1552,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_fcgi.c:1556,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1560,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1565,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:1566,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 1568
      start: 1498
    functionDepth: 2
    functionLinenumber: 1498
    functionLinenumberEnd: 1568
    functionName: fcgi_conn_send_get_values
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - ist
    - b_contig_space
    - fcgi_set_record_size
    - TRACE_LEAVE
    - br_tail_add
    - b_tail
    - fcgi_encode_param
    - b_slow_realign
    - b_data
    - TRACE_DEVEL
    - b_space_wraps
    - br_tail
    - b_make
    - TRACE_PROTO
    - b_add
    - TRACE_ERROR
    - fcgi_get_buf
    - TRACE_STATE
    - memcpy
    linkageType: ''
    returnType: int
    signature: fcgi_conn_send_get_values(struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:1581,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:1586,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:1590,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:1592,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_fcgi.c:1596,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/mux_fcgi.c:1596,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_fcgi.c:1596,1
    - Dst: b_slow_realign_ofs
      Src: /src/haproxy/src/mux_fcgi.c:1601,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_fcgi.c:1604,1
    - Dst: b_head
      Src: /src/haproxy/src/mux_fcgi.c:1604,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:1604,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:1606,1
    - Dst: fcgi_aligned_decode_param
      Src: /src/haproxy/src/mux_fcgi.c:1610,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:1613,1
    - Dst: isteqi
      Src: /src/haproxy/src/mux_fcgi.c:1618,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1618,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1619,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1619,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1620,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1624,1
    - Dst: isteqi
      Src: /src/haproxy/src/mux_fcgi.c:1628,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1628,1
    - Dst: strl2ui
      Src: /src/haproxy/src/mux_fcgi.c:1629,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1630,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1642,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:1649,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:1653,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_fcgi.c:1654,1
    - Dst: fcgi_wake_unassigned_streams
      Src: /src/haproxy/src/mux_fcgi.c:1658,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1659,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:1660,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1664,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:1665,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 1667
      start: 1575
    functionDepth: 6
    functionLinenumber: 1575
    functionLinenumberEnd: 1667
    functionName: fcgi_conn_handle_values_result
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - ist
    - b_head
    - isteqi
    - TRACE_LEAVE
    - isteq
    - b_size
    - b_slow_realign_ofs
    - fcgi_wake_unassigned_streams
    - b_contig_data
    - TRACE_DEVEL
    - b_data
    - fcgi_aligned_decode_param
    - b_make
    - TRACE_PROTO
    - b_del
    - strl2ui
    - TRACE_ERROR
    - b_head_ofs
    - TRACE_STATE
    - unlikely
    linkageType: ''
    returnType: int
    signature: fcgi_conn_handle_values_result(struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:1678,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/mux_fcgi.c:1680,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_fcgi.c:1682,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_fcgi.c:1683,1
    - Dst: fcgi_strm_send_abort
      Src: /src/haproxy/src/mux_fcgi.c:1686,1
    - Dst: fcgi_conn_report_term_evt
      Src: /src/haproxy/src/mux_fcgi.c:1690,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1691,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:1692,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 1694
      start: 1673
    functionDepth: 1
    functionLinenumber: 1673
    functionLinenumberEnd: 1694
    functionName: fcgi_conn_send_aborts
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - container_of
    - fcgi_strm_send_abort
    - TRACE_ENTER
    - eb32_next
    - eb32_lookup_ge
    - fcgi_conn_report_term_evt
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: fcgi_conn_send_aborts(struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:1707,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_fcgi.c:1709,1
    - Dst: fcgi_get_buf
      Src: /src/haproxy/src/mux_fcgi.c:1711,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1714,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_fcgi.c:1720,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1720,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_fcgi.c:1720,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_fcgi.c:1721,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_fcgi.c:1724,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:1724,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_fcgi.c:1732,1
    - Dst: fcgi_set_record_id
      Src: /src/haproxy/src/mux_fcgi.c:1733,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1737,1
    - Dst: fcgi_encode_begin_request
      Src: /src/haproxy/src/mux_fcgi.c:1740,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:1744,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_fcgi.c:1745,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1748,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:1752,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_fcgi.c:1755,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1759,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 2
    argNames:
    - fconn
    - fstrm
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 1762
      start: 1700
    functionDepth: 2
    functionLinenumber: 1700
    functionLinenumberEnd: 1762
    functionName: fcgi_strm_send_begin_request
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - br_tail
    - b_make
    - br_tail_add
    - TRACE_ENTER
    - TRACE_PROTO
    - b_add
    - b_slow_realign
    - b_tail
    - fcgi_set_record_id
    - fcgi_encode_begin_request
    - b_data
    - fcgi_get_buf
    - b_contig_space
    - TRACE_STATE
    - memcpy
    - b_space_wraps
    linkageType: ''
    returnType: int
    signature: fcgi_strm_send_begin_request(struct fcgi_conn *fconn, struct fcgi_strm
      *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:1775,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_fcgi.c:1776,1
    - Dst: fcgi_get_buf
      Src: /src/haproxy/src/mux_fcgi.c:1778,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1781,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_fcgi.c:1787,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1787,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_fcgi.c:1787,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_fcgi.c:1788,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_fcgi.c:1791,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:1791,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_fcgi.c:1799,1
    - Dst: fcgi_set_record_id
      Src: /src/haproxy/src/mux_fcgi.c:1801,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_fcgi.c:1805,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:1809,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_fcgi.c:1812,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1816,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - fconn
    - fstrm
    - rtype
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    - enum fcgi_record_type
    constantsTouched: []
    func_position:
      end: 1819
      start: 1768
    functionDepth: 2
    functionLinenumber: 1768
    functionLinenumberEnd: 1819
    functionName: fcgi_strm_send_empty_record
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - br_tail
    - b_make
    - br_tail_add
    - TRACE_ENTER
    - b_add
    - b_slow_realign
    - b_tail
    - fcgi_set_record_id
    - b_data
    - fcgi_get_buf
    - b_contig_space
    - TRACE_STATE
    - memcpy
    - b_space_wraps
    linkageType: ''
    returnType: int
    signature: "fcgi_strm_send_empty_record(struct fcgi_conn *fconn, struct fcgi_strm
      *fstrm,\n\t\t\t\t       enum fcgi_record_type rtype)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:1829,1
    - Dst: fcgi_strm_send_empty_record
      Src: /src/haproxy/src/mux_fcgi.c:1830,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:1833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - fconn
    - fstrm
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 1836
      start: 1825
    functionDepth: 3
    functionLinenumber: 1825
    functionLinenumberEnd: 1836
    functionName: fcgi_strm_send_empty_params
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_PROTO
    - TRACE_POINT
    - fcgi_strm_send_empty_record
    linkageType: ''
    returnType: int
    signature: fcgi_strm_send_empty_params(struct fcgi_conn *fconn, struct fcgi_strm
      *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:1845,1
    - Dst: fcgi_strm_send_empty_record
      Src: /src/haproxy/src/mux_fcgi.c:1846,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:1849,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_fcgi.c:1850,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - fconn
    - fstrm
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 1854
      start: 1841
    functionDepth: 3
    functionLinenumber: 1841
    functionLinenumberEnd: 1854
    functionName: fcgi_strm_send_empty_stdin
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_USER
    - TRACE_POINT
    - TRACE_PROTO
    - fcgi_strm_send_empty_record
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: fcgi_strm_send_empty_stdin(struct fcgi_conn *fconn, struct fcgi_strm
      *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:1863,1
    - Dst: fcgi_strm_send_empty_record
      Src: /src/haproxy/src/mux_fcgi.c:1864,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_fcgi.c:1867,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:1868,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_fcgi.c:1869,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - fconn
    - fstrm
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 1873
      start: 1859
    functionDepth: 3
    functionLinenumber: 1859
    functionLinenumberEnd: 1873
    functionName: fcgi_strm_send_abort
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 1
    functionsReached:
    - TRACE_USER
    - TRACE_POINT
    - TRACE_PROTO
    - fcgi_strm_send_empty_record
    - se_report_term_evt
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: fcgi_strm_send_abort(struct fcgi_conn *fconn, struct fcgi_strm *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:1890,1
    - Dst: memset
      Src: /src/haproxy/src/mux_fcgi.c:1892,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/mux_fcgi.c:1893,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_fcgi.c:1895,1
    - Dst: fcgi_get_buf
      Src: /src/haproxy/src/mux_fcgi.c:1897,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:1900,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_fcgi.c:1905,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:1905,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_fcgi.c:1905,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_fcgi.c:1906,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_fcgi.c:1909,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:1909,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_fcgi.c:1917,1
    - Dst: fcgi_set_record_id
      Src: /src/haproxy/src/mux_fcgi.c:1918,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_fcgi.c:1921,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_fcgi.c:1927,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/mux_fcgi.c:1930,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/mux_fcgi.c:1938,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/mux_fcgi.c:1939,1
    - Dst: istmatch
      Src: /src/haproxy/src/mux_fcgi.c:1941,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1941,1
    - Dst: istadv
      Src: /src/haproxy/src/mux_fcgi.c:1942,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1943,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1943,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1945,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1945,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1949,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1949,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1953,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1953,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1957,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1957,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1961,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1961,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1963,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1963,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1965,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1965,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1967,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1967,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1969,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1969,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1971,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1971,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1973,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1973,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1975,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1975,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1977,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1977,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1979,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1979,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1981,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1981,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1984,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1984,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1985,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1988,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1988,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1989,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1993,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1993,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:1995,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1995,1
    - Dst: istist
      Src: /src/haproxy/src/mux_fcgi.c:1999,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:1999,1
    - Dst: isttest
      Src: /src/haproxy/src/mux_fcgi.c:2000,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:2002,1
    - Dst: isttest
      Src: /src/haproxy/src/mux_fcgi.c:2006,1
    - Dst: isteq
      Src: /src/haproxy/src/mux_fcgi.c:2006,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_fcgi.c:2009,1
    - Dst: istcat
      Src: /src/haproxy/src/mux_fcgi.c:2010,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:2010,1
    - Dst: istcat
      Src: /src/haproxy/src/mux_fcgi.c:2011,1
    - Dst: fcgi_encode_param
      Src: /src/haproxy/src/mux_fcgi.c:2015,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_fcgi.c:2016,1
    - Dst: isttest
      Src: /src/haproxy/src/mux_fcgi.c:2025,1
    - Dst: objt_server
      Src: /src/haproxy/src/mux_fcgi.c:2026,1
    - Dst: ist2
      Src: /src/haproxy/src/mux_fcgi.c:2031,1
    - Dst: istcat
      Src: /src/haproxy/src/mux_fcgi.c:2032,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:2032,1
    - Dst: istcat
      Src: /src/haproxy/src/mux_fcgi.c:2033,1
    - Dst: ist
      Src: /src/haproxy/src/mux_fcgi.c:2034,1
    - Dst: fcgi_encode_param
      Src: /src/haproxy/src/mux_fcgi.c:2036,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_fcgi.c:2037,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2042,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_fcgi.c:2050,1
    - Dst: fcgi_set_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2054,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:2055,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2059,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2060,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2061,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2062,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2063,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2064,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2065,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2066,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2067,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2068,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2069,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2070,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2071,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2072,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2073,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2074,1
    - Dst: fcgi_encode_default_param
      Src: /src/haproxy/src/mux_fcgi.c:2075,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:2076,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2081,1
    - Dst: fcgi_set_record_size
      Src: /src/haproxy/src/mux_fcgi.c:2082,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_fcgi.c:2083,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:2086,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_fcgi.c:2089,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2093,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:2100,1
    - Dst: fcgi_strm_error
      Src: /src/haproxy/src/mux_fcgi.c:2101,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 183
    argCount: 3
    argNames:
    - fconn
    - fstrm
    - htx
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 2103
      start: 1880
    functionDepth: 5
    functionLinenumber: 1880
    functionLinenumberEnd: 2103
    functionName: fcgi_strm_send_params
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_ptr
    - TRACE_ENTER
    - isttest
    - ist
    - istadv
    - htx_get_blk_value
    - b_contig_space
    - memset
    - istcat
    - fcgi_set_default_param
    - fcgi_set_record_size
    - TRACE_LEAVE
    - br_tail_add
    - ist2
    - isteq
    - istist
    - get_trash_chunk
    - b_tail
    - fcgi_set_record_id
    - fcgi_encode_param
    - istmatch
    - htx_get_head_blk
    - objt_server
    - b_slow_realign
    - htx_get_blk_type
    - b_data
    - b_space_wraps
    - htx_get_blk_name
    - br_tail
    - b_make
    - TRACE_PROTO
    - b_add
    - TRACE_ERROR
    - fcgi_get_buf
    - fcgi_strm_error
    - TRACE_STATE
    - fcgi_encode_default_param
    - memcpy
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: "fcgi_strm_send_params(struct fcgi_conn *fconn, struct fcgi_strm *fstrm,\n\t\t\t\t
      \   struct htx *htx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:2120,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_fcgi.c:2124,1
    - Dst: fcgi_get_buf
      Src: /src/haproxy/src/mux_fcgi.c:2126,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2129,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_fcgi.c:2149,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_fcgi.c:2152,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_fcgi.c:2153,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_fcgi.c:2154,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/mux_fcgi.c:2154,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2162,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_fcgi.c:2169,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2170,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:2170,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:2171,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_fcgi.c:2171,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2176,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_fcgi.c:2180,1
    - Dst: b_head
      Src: /src/haproxy/src/mux_fcgi.c:2181,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_fcgi.c:2184,1
    - Dst: fcgi_set_record_id
      Src: /src/haproxy/src/mux_fcgi.c:2185,1
    - Dst: fcgi_set_record_size
      Src: /src/haproxy/src/mux_fcgi.c:2186,1
    - Dst: htx_reset
      Src: /src/haproxy/src/mux_fcgi.c:2194,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_fcgi.c:2202,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_fcgi.c:2202,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_fcgi.c:2202,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_fcgi.c:2203,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_fcgi.c:2206,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2206,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_fcgi.c:2214,1
    - Dst: fcgi_set_record_id
      Src: /src/haproxy/src/mux_fcgi.c:2215,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_fcgi.c:2218,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_fcgi.c:2220,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2226,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/mux_fcgi.c:2227,1
    - Dst: htx_is_unique_blk
      Src: /src/haproxy/src/mux_fcgi.c:2229,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_fcgi.c:2237,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_fcgi.c:2242,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2243,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_fcgi.c:2243,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2244,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_fcgi.c:2246,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_fcgi.c:2248,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_fcgi.c:2250,1
    - Dst: htx_cut_data_blk
      Src: /src/haproxy/src/mux_fcgi.c:2258,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_fcgi.c:2268,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2273,1
    - Dst: fcgi_set_record_size
      Src: /src/haproxy/src/mux_fcgi.c:2274,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_fcgi.c:2275,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_fcgi.c:2278,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2280,1
    - Dst: fcgi_strm_send_empty_stdin
      Src: /src/haproxy/src/mux_fcgi.c:2281,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:2284,1
    - Dst: fcgi_strm_error
      Src: /src/haproxy/src/mux_fcgi.c:2285,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:2290,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_fcgi.c:2293,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2297,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 134
    argCount: 5
    argNames:
    - fconn
    - fstrm
    - htx
    - count
    - buf
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    - struct htx*
    - size_t
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 2299
      start: 2108
    functionDepth: 4
    functionLinenumber: 2108
    functionLinenumberEnd: 2299
    functionName: fcgi_strm_send_stdin
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - b_room
    - TRACE_ENTER
    - chunk_memcat
    - b_head
    - htx_reset
    - htx_is_unique_blk
    - htx_get_blk_value
    - b_contig_space
    - fcgi_set_record_size
    - TRACE_LEAVE
    - br_tail_add
    - htx_nbblks
    - fcgi_set_record_id
    - b_tail
    - b_size
    - htx_is_empty
    - htx_cut_data_blk
    - htx_get_blksz
    - htx_get_head_blk
    - htx_get_blk_type
    - b_slow_realign
    - b_data
    - b_space_wraps
    - fcgi_strm_send_empty_stdin
    - br_tail
    - b_make
    - TRACE_PROTO
    - b_add
    - TRACE_ERROR
    - fcgi_get_buf
    - fcgi_strm_error
    - TRACE_STATE
    - unlikely
    - memcpy
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: "fcgi_strm_send_stdin(struct fcgi_conn *fconn, struct fcgi_strm *fstrm,\n\t\t\t\t
      \  struct htx *htx, size_t count, struct buffer *buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:2311,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2319,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_fcgi.c:2319,1
    - Dst: fcgi_get_buf
      Src: /src/haproxy/src/mux_fcgi.c:2324,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2326,1
    - Dst: buf_room_for_htx_data
      Src: /src/haproxy/src/mux_fcgi.c:2331,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2332,1
    - Dst: b_xfer
      Src: /src/haproxy/src/mux_fcgi.c:2337,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_fcgi.c:2341,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2342,1
    - Dst: buf_room_for_htx_data
      Src: /src/haproxy/src/mux_fcgi.c:2344,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2346,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_fcgi.c:2356,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2356,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_fcgi.c:2357,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2363,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:2364,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2367,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - fconn
    - fstrm
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 2369
      start: 2305
    functionDepth: 2
    functionLinenumber: 2305
    functionLinenumberEnd: 2369
    functionName: fcgi_strm_handle_stdout
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - b_full
    - TRACE_DATA
    - TRACE_LEAVE
    - TRACE_ENTER
    - TRACE_PROTO
    - b_del
    - b_data
    - fcgi_get_buf
    - buf_room_for_htx_data
    - TRACE_DEVEL
    - TRACE_STATE
    - MIN
    - b_xfer
    linkageType: ''
    returnType: int
    signature: fcgi_strm_handle_stdout(struct fcgi_conn *fconn, struct fcgi_strm *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:2380,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2382,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_fcgi.c:2382,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2388,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_fcgi.c:2392,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2392,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_fcgi.c:2393,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2399,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2400,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:2401,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - fconn
    - fstrm
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 2407
      start: 2376
    functionDepth: 1
    functionLinenumber: 2376
    functionLinenumberEnd: 2407
    functionName: fcgi_strm_handle_empty_stdout
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - b_full
    - TRACE_LEAVE
    - TRACE_ENTER
    - TRACE_PROTO
    - b_del
    - b_data
    - TRACE_DEVEL
    - TRACE_STATE
    - MIN
    linkageType: ''
    returnType: int
    signature: fcgi_strm_handle_empty_stdout(struct fcgi_conn *fconn, struct fcgi_strm
      *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:2418,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2425,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_fcgi.c:2425,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/mux_fcgi.c:2430,1
    - Dst: b_force_xfer
      Src: /src/haproxy/src/mux_fcgi.c:2431,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_fcgi.c:2431,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_fcgi.c:2431,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2435,1
    - Dst: strlen
      Src: /src/haproxy/src/mux_fcgi.c:2439,1
    - Dst: app_log
      Src: /src/haproxy/src/mux_fcgi.c:2440,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_fcgi.c:2449,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2449,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_fcgi.c:2450,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2455,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:2456,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2459,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - fconn
    - fstrm
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 2461
      start: 2412
    functionDepth: 1
    functionLinenumber: 2412
    functionLinenumberEnd: 2461
    functionName: fcgi_strm_handle_stderr
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - b_full
    - b_room
    - chunk_reset
    - TRACE_LEAVE
    - b_force_xfer
    - app_log
    - TRACE_ENTER
    - strlen
    - TRACE_PROTO
    - b_del
    - b_data
    - TRACE_DEVEL
    - TRACE_STATE
    - MIN
    linkageType: ''
    returnType: int
    signature: fcgi_strm_handle_stderr(struct fcgi_conn *fconn, struct fcgi_strm *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:2475,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:2479,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:2480,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2485,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2487,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_fcgi.c:2491,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/mux_fcgi.c:2491,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_fcgi.c:2491,1
    - Dst: b_slow_realign_ofs
      Src: /src/haproxy/src/mux_fcgi.c:2496,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_fcgi.c:2499,1
    - Dst: b_head
      Src: /src/haproxy/src/mux_fcgi.c:2499,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2499,1
    - Dst: fcgi_decode_end_request
      Src: /src/haproxy/src/mux_fcgi.c:2501,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:2502,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2507,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2508,1
    - Dst: fcgi_strm_close
      Src: /src/haproxy/src/mux_fcgi.c:2510,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_fcgi.c:2512,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2516,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:2517,1
    - Dst: fcgi_strm_error
      Src: /src/haproxy/src/mux_fcgi.c:2521,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 2
    argNames:
    - fconn
    - fstrm
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 2524
      start: 2469
    functionDepth: 2
    functionLinenumber: 2469
    functionLinenumberEnd: 2524
    functionName: fcgi_strm_handle_end_request
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - fcgi_decode_end_request
    - fcgi_strm_close
    - TRACE_LEAVE
    - b_make
    - TRACE_ENTER
    - TRACE_PROTO
    - b_head
    - b_contig_data
    - b_del
    - b_data
    - TRACE_DEVEL
    - TRACE_ERROR
    - b_size
    - b_head_ofs
    - unlikely
    - fcgi_strm_error
    - b_slow_realign_ofs
    linkageType: ''
    returnType: int
    signature: fcgi_strm_handle_end_request(struct fcgi_conn *fconn, struct fcgi_strm
      *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:2533,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_fcgi.c:2538,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2540,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2545,1
    - Dst: fcgi_decode_record_hdr
      Src: /src/haproxy/src/mux_fcgi.c:2546,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:2549,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_fcgi.c:2552,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:2556,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2557,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_fcgi.c:2567,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2570,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2571,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2577,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2582,1
    - Dst: fcgi_decode_record_hdr
      Src: /src/haproxy/src/mux_fcgi.c:2583,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_fcgi.c:2588,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2596,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_fcgi.c:2600,1
    - Dst: fcgi_conn_st_by_id
      Src: /src/haproxy/src/mux_fcgi.c:2604,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:2606,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2607,1
    - Dst: fcgi_conn_read0_pending
      Src: /src/haproxy/src/mux_fcgi.c:2608,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_fcgi.c:2611,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2613,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_fcgi.c:2614,1
    - Dst: fcgi_strm_notify_recv
      Src: /src/haproxy/src/mux_fcgi.c:2615,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2630,1
    - Dst: fcgi_conn_handle_values_result
      Src: /src/haproxy/src/mux_fcgi.c:2631,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2638,1
    - Dst: fcgi_strm_handle_stdout
      Src: /src/haproxy/src/mux_fcgi.c:2640,1
    - Dst: fcgi_strm_handle_empty_stdout
      Src: /src/haproxy/src/mux_fcgi.c:2642,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2646,1
    - Dst: fcgi_strm_handle_stderr
      Src: /src/haproxy/src/mux_fcgi.c:2647,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2651,1
    - Dst: fcgi_strm_handle_end_request
      Src: /src/haproxy/src/mux_fcgi.c:2652,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2662,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_fcgi.c:2662,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_fcgi.c:2671,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2671,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2672,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2673,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_fcgi.c:2674,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2681,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2687,1
    - Dst: fcgi_conn_report_term_evt
      Src: /src/haproxy/src/mux_fcgi.c:2698,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_fcgi.c:2698,1
    - Dst: fcgi_conn_report_term_evt
      Src: /src/haproxy/src/mux_fcgi.c:2702,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_fcgi.c:2702,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_fcgi.c:2707,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:2711,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2712,1
    - Dst: fcgi_conn_read0_pending
      Src: /src/haproxy/src/mux_fcgi.c:2713,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_fcgi.c:2716,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2718,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_fcgi.c:2719,1
    - Dst: fcgi_strm_notify_recv
      Src: /src/haproxy/src/mux_fcgi.c:2720,1
    - Dst: fcgi_conn_restart_reading
      Src: /src/haproxy/src/mux_fcgi.c:2723,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 143
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 2724
      start: 2527
    functionDepth: 7
    functionLinenumber: 2527
    functionLinenumberEnd: 2724
    functionName: fcgi_process_demux
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - fcgi_conn_read0_pending
    - fcgi_conn_handle_values_result
    - TRACE_ENTER
    - eb_is_empty
    - fcgi_decode_record_hdr
    - fcgi_strm_handle_empty_stdout
    - fcgi_strm_handle_end_request
    - se_fl_test
    - fcgi_strm_handle_stderr
    - fcgi_conn_restart_reading
    - b_full
    - fcgi_conn_st_by_id
    - fcgi_strm_handle_stdout
    - b_data
    - TRACE_DEVEL
    - fcgi_strm_notify_recv
    - TRACE_PROTO
    - b_del
    - se_fl_set
    - TRACE_ERROR
    - fcgi_conn_report_term_evt
    - fcgi_strm_sc
    - TRACE_STATE
    - unlikely
    - MIN
    linkageType: ''
    returnType: void
    signature: fcgi_process_demux(struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:2733,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_fcgi.c:2735,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_fcgi.c:2736,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2739,1
    - Dst: fcgi_wake_unassigned_streams
      Src: /src/haproxy/src/mux_fcgi.c:2740,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:2743,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_fcgi.c:2744,1
    - Dst: fcgi_conn_send_get_values
      Src: /src/haproxy/src/mux_fcgi.c:2744,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2747,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/mux_fcgi.c:2755,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_fcgi.c:2767,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:2772,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_fcgi.c:2775,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:2781,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_fcgi.c:2782,1
    - Dst: fcgi_conn_send_aborts
      Src: /src/haproxy/src/mux_fcgi.c:2789,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2791,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:2798,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 2800
      start: 2729
    functionDepth: 6
    functionLinenumber: 2729
    functionLinenumberEnd: 2800
    functionName: fcgi_process_mux
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - TRACE_LEAVE
    - list_for_each_entry_safe
    - TRACE_ENTER
    - fcgi_wake_unassigned_streams
    - TRACE_PROTO
    - tasklet_wakeup
    - fcgi_conn_send_aborts
    - fcgi_conn_send_get_values
    - LIST_DEL_INIT
    - TRACE_DEVEL
    - TRACE_STATE
    - unlikely
    linkageType: ''
    returnType: int
    signature: fcgi_process_mux(struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:2813,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2816,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2817,1
    - Dst: fcgi_recv_allowed
      Src: /src/haproxy/src/mux_fcgi.c:2820,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2821,1
    - Dst: fcgi_get_buf
      Src: /src/haproxy/src/mux_fcgi.c:2825,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2827,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2832,1
    - Dst: buf_room_for_htx_data
      Src: /src/haproxy/src/mux_fcgi.c:2841,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_fcgi.c:2845,1
    - Dst: struct connection*::xprt::rcv_buf
      Src: /src/haproxy/src/mux_fcgi.c:2847,1
    - Dst: fcgi_recv_allowed
      Src: /src/haproxy/src/mux_fcgi.c:2849,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_fcgi.c:2850,1
    - Dst: struct connection*::xprt::subscribe
      Src: /src/haproxy/src/mux_fcgi.c:2851,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_fcgi.c:2855,1
    - Dst: conn_xprt_read0_pending
      Src: /src/haproxy/src/mux_fcgi.c:2858,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_fcgi.c:2859,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2863,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_fcgi.c:2864,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2868,1
    - Dst: fcgi_release_buf
      Src: /src/haproxy/src/mux_fcgi.c:2869,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2874,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:2879,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 2881
      start: 2806
    functionDepth: 2
    functionLinenumber: 2806
    functionLinenumberEnd: 2881
    functionName: fcgi_recv
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - b_room
    - TRACE_DATA
    - TRACE_LEAVE
    - conn_xprt_read0_pending
    - TRACE_ENTER
    - struct connection*::xprt::subscribe
    - struct connection*::xprt::rcv_buf
    - b_data
    - TRACE_DEVEL
    - fcgi_get_buf
    - fcgi_release_buf
    - fcgi_recv_allowed
    - buf_room_for_htx_data
    linkageType: ''
    returnType: int
    signature: fcgi_recv(struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:2893,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:2896,1
    - Dst: b_reset
      Src: /src/haproxy/src/mux_fcgi.c:2899,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_fcgi.c:2899,1
    - Dst: fcgi_process_mux
      Src: /src/haproxy/src/mux_fcgi.c:2936,1
    - Dst: br_head
      Src: /src/haproxy/src/mux_fcgi.c:2947,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:2947,1
    - Dst: br_del_head
      Src: /src/haproxy/src/mux_fcgi.c:2947,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2948,1
    - Dst: struct connection*::xprt::snd_buf
      Src: /src/haproxy/src/mux_fcgi.c:2951,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2951,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_fcgi.c:2957,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_fcgi.c:2958,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:2959,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_fcgi.c:2964,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_fcgi.c:2969,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:2973,1
    - Dst: fcgi_conn_report_term_evt
      Src: /src/haproxy/src/mux_fcgi.c:2979,1
    - Dst: b_reset
      Src: /src/haproxy/src/mux_fcgi.c:2982,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_fcgi.c:2982,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mux_fcgi.c:2991,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_fcgi.c:3003,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3008,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_fcgi.c:3011,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:3017,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_fcgi.c:3018,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_fcgi.c:3023,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3024,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:3029,1
    - Dst: struct connection*::xprt::subscribe
      Src: /src/haproxy/src/mux_fcgi.c:3030,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3033,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 93
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 3036
      start: 2887
    functionDepth: 7
    functionLinenumber: 2887
    functionLinenumberEnd: 3036
    functionName: fcgi_send
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_DATA
    - TRACE_ENTER
    - struct connection*::xprt::subscribe
    - br_del_head
    - b_free
    - list_for_each_entry
    - offer_buffers
    - struct connection*::xprt::snd_buf
    - LIST_DEL_INIT
    - b_reset
    - b_size
    - TRACE_POINT
    - br_data
    - tasklet_wakeup
    - TRACE_DEVEL
    - b_data
    - fcgi_process_mux
    - br_head
    - br_tail
    - b_del
    - fcgi_conn_report_term_evt
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: fcgi_send(struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_fcgi.c:3051,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_fcgi.c:3057,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_fcgi.c:3058,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:3062,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/mux_fcgi.c:3066,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_fcgi.c:3068,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:3072,1
    - Dst: fcgi_send
      Src: /src/haproxy/src/mux_fcgi.c:3077,1
    - Dst: fcgi_recv
      Src: /src/haproxy/src/mux_fcgi.c:3079,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:3080,1
    - Dst: fcgi_process
      Src: /src/haproxy/src/mux_fcgi.c:3081,1
    - Dst: __objt_server
      Src: /src/haproxy/src/mux_fcgi.c:3092,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_fcgi.c:3094,1
    - Dst: _srv_add_idle
      Src: /src/haproxy/src/mux_fcgi.c:3095,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_fcgi.c:3096,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3099
      start: 3039
    functionDepth: 8
    functionLinenumber: 3039
    functionLinenumberEnd: 3099
    functionName: fcgi_io_cb
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - tasklet_free
    - TRACE_ENTER
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - __objt_server
    - fcgi_send
    - fcgi_recv
    - b_data
    - _srv_add_idle
    - fcgi_process
    - conn_delete_from_tree
    linkageType: ''
    returnType: struct task
    signature: '*fcgi_io_cb(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:3109,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:3112,1
    - Dst: fcgi_process_demux
      Src: /src/haproxy/src/mux_fcgi.c:3114,1
    - Dst: fcgi_recv_allowed
      Src: /src/haproxy/src/mux_fcgi.c:3122,1
    - Dst: fcgi_recv
      Src: /src/haproxy/src/mux_fcgi.c:3126,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:3128,1
    - Dst: fcgi_may_demux
      Src: /src/haproxy/src/mux_fcgi.c:3128,1
    - Dst: fcgi_conn_restart_reading
      Src: /src/haproxy/src/mux_fcgi.c:3131,1
    - Dst: b_reset
      Src: /src/haproxy/src/mux_fcgi.c:3134,1
    - Dst: fcgi_send
      Src: /src/haproxy/src/mux_fcgi.c:3136,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_fcgi.c:3138,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:3143,1
    - Dst: fcgi_conn_send_aborts
      Src: /src/haproxy/src/mux_fcgi.c:3146,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/mux_fcgi.c:3160,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_fcgi.c:3163,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:3164,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_fcgi.c:3164,1
    - Dst: fcgi_strm_notify_recv
      Src: /src/haproxy/src/mux_fcgi.c:3165,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_fcgi.c:3166,1
    - Dst: fcgi_conn_read0_pending
      Src: /src/haproxy/src/mux_fcgi.c:3170,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_fcgi.c:3172,1
    - Dst: fcgi_wake_some_streams
      Src: /src/haproxy/src/mux_fcgi.c:3173,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_fcgi.c:3175,1
    - Dst: fcgi_release
      Src: /src/haproxy/src/mux_fcgi.c:3177,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3178,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:3183,1
    - Dst: fcgi_release_buf
      Src: /src/haproxy/src/mux_fcgi.c:3184,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_fcgi.c:3187,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_fcgi.c:3187,1
    - Dst: fcgi_release_mbuf
      Src: /src/haproxy/src/mux_fcgi.c:3188,1
    - Dst: tick_add
      Src: /src/haproxy/src/mux_fcgi.c:3191,1
    - Dst: task_queue
      Src: /src/haproxy/src/mux_fcgi.c:3192,1
    - Dst: fcgi_send
      Src: /src/haproxy/src/mux_fcgi.c:3195,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:3196,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 52
    argCount: 1
    argNames:
    - fconn
    argTypes:
    - struct fcgi_conn*
    constantsTouched: []
    func_position:
      end: 3198
      start: 3105
    functionDepth: 8
    functionLinenumber: 3105
    functionLinenumberEnd: 3198
    functionName: fcgi_process
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 1
    functionsReached:
    - fcgi_conn_read0_pending
    - fcgi_conn_send_aborts
    - fcgi_release_mbuf
    - eb_is_empty
    - fcgi_process_demux
    - eb32_next
    - fcgi_recv
    - fcgi_release_buf
    - TRACE_LEAVE
    - se_fl_test
    - LIST_ISEMPTY
    - task_queue
    - fcgi_send
    - b_reset
    - fcgi_recv_allowed
    - fcgi_conn_restart_reading
    - TRACE_POINT
    - br_data
    - fcgi_may_demux
    - fcgi_wake_some_streams
    - eb32_lookup_ge
    - b_data
    - TRACE_DEVEL
    - fcgi_strm_notify_recv
    - container_of
    - tick_add
    - fcgi_release
    - fcgi_strm_sc
    - TRACE_STATE
    - unlikely
    linkageType: ''
    returnType: int
    signature: fcgi_process(struct fcgi_conn *fconn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:3206,1
    - Dst: fcgi_process
      Src: /src/haproxy/src/mux_fcgi.c:3207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 3208
      start: 3202
    functionDepth: 9
    functionLinenumber: 3202
    functionLinenumberEnd: 3208
    functionName: fcgi_wake
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - fcgi_process
    linkageType: ''
    returnType: int
    signature: fcgi_wake(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - conn
    - mux_ctl
    - output
    argTypes:
    - struct connection*
    - enum mux_ctl_type
    - void*
    constantsTouched: []
    func_position:
      end: 3232
      start: 3211
    functionDepth: 0
    functionLinenumber: 3211
    functionLinenumberEnd: 3232
    functionName: fcgi_ctl
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fcgi_ctl(struct connection *conn, enum mux_ctl_type mux_ctl, void *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_fcgi.c:3237,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/mux_fcgi.c:3248,1
    - Dst: fcgi_dump_fcgi_strm_info
      Src: /src/haproxy/src/mux_fcgi.c:3251,1
    - Dst: fcgi_dump_fcgi_conn_info
      Src: /src/haproxy/src/mux_fcgi.c:3254,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:3257,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_fcgi.c:3259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - sc
    - mux_sctl
    - output
    argTypes:
    - struct stconn*
    - enum mux_sctl_type
    - void*
    constantsTouched: []
    func_position:
      end: 3269
      start: 3234
    functionDepth: 2
    functionLinenumber: 3234
    functionLinenumberEnd: 3269
    functionName: fcgi_sctl
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - fcgi_dump_fcgi_conn_info
    - tevt_evts2str
    - __sc_mux_strm
    - chunk_appendf
    - get_trash_chunk
    - fcgi_dump_fcgi_strm_info
    linkageType: ''
    returnType: int
    signature: fcgi_sctl(struct stconn *sc, enum mux_sctl_type mux_sctl, void *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:3282,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_fcgi.c:3285,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_fcgi.c:3291,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_fcgi.c:3297,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3298,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/mux_fcgi.c:3306,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_fcgi.c:3308,1
    - Dst: fcgi_conn_report_term_evt
      Src: /src/haproxy/src/mux_fcgi.c:3310,1
    - Dst: task_destroy
      Src: /src/haproxy/src/mux_fcgi.c:3314,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3318,1
    - Dst: fcgi_wake_some_streams
      Src: /src/haproxy/src/mux_fcgi.c:3324,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_fcgi.c:3326,1
    - Dst: fcgi_conn_send_aborts
      Src: /src/haproxy/src/mux_fcgi.c:3333,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_fcgi.c:3336,1
    - Dst: conn_xprt_ready
      Src: /src/haproxy/src/mux_fcgi.c:3337,1
    - Dst: br_head
      Src: /src/haproxy/src/mux_fcgi.c:3341,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:3341,1
    - Dst: br_del_head
      Src: /src/haproxy/src/mux_fcgi.c:3341,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:3342,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_fcgi.c:3347,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:3348,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_fcgi.c:3350,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_fcgi.c:3356,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_fcgi.c:3363,1
    - Dst: fcgi_release
      Src: /src/haproxy/src/mux_fcgi.c:3364,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:3366,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3368
      start: 3277
    functionDepth: 7
    functionLinenumber: 3277
    functionLinenumberEnd: 3368
    functionName: fcgi_timeout_task
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - fcgi_conn_send_aborts
    - eb_is_empty
    - br_del_head
    - TRACE_LEAVE
    - b_free
    - offer_buffers
    - b_size
    - conn_xprt_ready
    - br_data
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - fcgi_wake_some_streams
    - TRACE_DEVEL
    - b_data
    - conn_delete_from_tree
    - br_head
    - fcgi_release
    - b_del
    - fcgi_conn_report_term_evt
    - task_destroy
    linkageType: ''
    returnType: struct task
    signature: '*fcgi_timeout_task(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:3381,1
    - Dst: h1m_state_str
      Src: /src/haproxy/src/mux_fcgi.c:3386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - es
    argTypes:
    - struct buffer*
    - struct error_snapshot*
    constantsTouched: []
    func_position:
      end: 3388
      start: 3379
    functionDepth: 1
    functionLinenumber: 3379
    functionLinenumberEnd: 3388
    functionName: fcgi_show_error_snapshot
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - h1m_state_str
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: fcgi_show_error_snapshot(struct buffer *out, const struct error_snapshot
      *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:3405,1
    - Dst: sc_strm
      Src: /src/haproxy/src/mux_fcgi.c:3405,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:3405,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/mux_fcgi.c:3407,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:3407,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/mux_fcgi.c:3409,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:3409,1
    - Dst: proxy_capture_error
      Src: /src/haproxy/src/mux_fcgi.c:3422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - fconn
    - fstrm
    - h1m
    - buf
    argTypes:
    - struct fcgi_conn*
    - struct fcgi_strm*
    - struct h1m*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 3425
      start: 3397
    functionDepth: 1
    functionLinenumber: 3397
    functionLinenumberEnd: 3425
    functionName: fcgi_strm_capture_bad_message
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - fcgi_strm_sc
    - __sc_strm
    - proxy_capture_error
    - sc_strm
    linkageType: ''
    returnType: void
    signature: "fcgi_strm_capture_bad_message(struct fcgi_conn *fconn, struct fcgi_strm
      *fstrm,\n\t\t\t\t\t  struct h1m *h1m, struct buffer *buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:3432,1
    - Dst: h1_parse_msg_hdrs
      Src: /src/haproxy/src/mux_fcgi.c:3433,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3435,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:3437,1
    - Dst: fcgi_strm_error
      Src: /src/haproxy/src/mux_fcgi.c:3438,1
    - Dst: fcgi_strm_capture_bad_message
      Src: /src/haproxy/src/mux_fcgi.c:3439,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:3452,1
    - Dst: fcgi_strm_error
      Src: /src/haproxy/src/mux_fcgi.c:3453,1
    - Dst: fcgi_strm_capture_bad_message
      Src: /src/haproxy/src/mux_fcgi.c:3454,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:3461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 6
    argNames:
    - fstrm
    - h1m
    - htx
    - buf
    - ofs
    - max
    argTypes:
    - struct fcgi_strm*
    - struct h1m*
    - struct htx*
    - struct buffer*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 3464
      start: 3427
    functionDepth: 2
    functionLinenumber: 3427
    functionLinenumberEnd: 3464
    functionName: fcgi_strm_parse_headers
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - h1_parse_msg_hdrs
    - fcgi_strm_capture_bad_message
    - TRACE_ERROR
    - fcgi_strm_error
    - TRACE_DEVEL
    linkageType: ''
    returnType: size_t
    signature: "fcgi_strm_parse_headers(struct fcgi_strm *fstrm, struct h1m *h1m,
      struct htx *htx,\n\t\t\t\t      struct buffer *buf, size_t *ofs, size_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:3471,1
    - Dst: h1_parse_msg_data
      Src: /src/haproxy/src/mux_fcgi.c:3472,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3474,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:3476,1
    - Dst: fcgi_strm_error
      Src: /src/haproxy/src/mux_fcgi.c:3477,1
    - Dst: fcgi_strm_capture_bad_message
      Src: /src/haproxy/src/mux_fcgi.c:3478,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:3484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 7
    argNames:
    - fstrm
    - h1m
    - htx
    - buf
    - ofs
    - max
    - htxbuf
    argTypes:
    - struct fcgi_strm*
    - struct h1m*
    - struct htx**
    - struct buffer*
    - size_t*
    - size_t
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 3486
      start: 3466
    functionDepth: 2
    functionLinenumber: 3466
    functionLinenumberEnd: 3486
    functionName: fcgi_strm_parse_data
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - fcgi_strm_capture_bad_message
    - TRACE_ERROR
    - fcgi_strm_error
    - TRACE_DEVEL
    - h1_parse_msg_data
    linkageType: ''
    returnType: size_t
    signature: "fcgi_strm_parse_data(struct fcgi_strm *fstrm, struct h1m *h1m, struct
      htx **htx,\n\t\t\t\t   struct buffer *buf, size_t *ofs, size_t max, struct buffer
      *htxbuf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:3493,1
    - Dst: h1_parse_msg_tlrs
      Src: /src/haproxy/src/mux_fcgi.c:3494,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3496,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:3498,1
    - Dst: fcgi_strm_error
      Src: /src/haproxy/src/mux_fcgi.c:3499,1
    - Dst: fcgi_strm_capture_bad_message
      Src: /src/haproxy/src/mux_fcgi.c:3500,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:3507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 6
    argNames:
    - fstrm
    - h1m
    - htx
    - buf
    - ofs
    - max
    argTypes:
    - struct fcgi_strm*
    - struct h1m*
    - struct htx*
    - struct buffer*
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 3509
      start: 3488
    functionDepth: 2
    functionLinenumber: 3488
    functionLinenumberEnd: 3509
    functionName: fcgi_strm_parse_trailers
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - fcgi_strm_capture_bad_message
    - fcgi_strm_error
    - TRACE_ERROR
    - TRACE_DEVEL
    - h1_parse_msg_tlrs
    linkageType: ''
    returnType: size_t
    signature: "fcgi_strm_parse_trailers(struct fcgi_strm *fstrm, struct h1m *h1m,
      struct htx *htx,\n\t\t\t\t       struct buffer *buf, size_t *ofs, size_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_fcgi.c:3518,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:3519,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:3529,1
    - Dst: fcgi_strm_parse_headers
      Src: /src/haproxy/src/mux_fcgi.c:3530,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_fcgi.c:3534,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_fcgi.c:3537,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/mux_fcgi.c:3542,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:3548,1
    - Dst: fcgi_strm_parse_data
      Src: /src/haproxy/src/mux_fcgi.c:3549,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:3552,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3553,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_fcgi.c:3554,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/mux_fcgi.c:3554,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_fcgi.c:3558,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:3564,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:3567,1
    - Dst: fcgi_strm_parse_trailers
      Src: /src/haproxy/src/mux_fcgi.c:3568,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:3572,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_fcgi.c:3575,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:3576,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:3578,1
    - Dst: fcgi_strm_error
      Src: /src/haproxy/src/mux_fcgi.c:3579,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_fcgi.c:3585,1
    - Dst: fcgi_strm_error
      Src: /src/haproxy/src/mux_fcgi.c:3586,1
    - Dst: htx_used_space
      Src: /src/haproxy/src/mux_fcgi.c:3590,1
    - Dst: b_reset
      Src: /src/haproxy/src/mux_fcgi.c:3594,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_fcgi.c:3595,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3596,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_fcgi.c:3600,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_fcgi.c:3603,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:3605,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 73
    argCount: 3
    argNames:
    - fstrm
    - buf
    - count
    argTypes:
    - struct fcgi_strm*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 3607
      start: 3511
    functionDepth: 3
    functionLinenumber: 3511
    functionLinenumberEnd: 3607
    functionName: fcgi_strm_parse_response
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_ptr
    - TRACE_ENTER
    - htx_add_endof
    - fcgi_strm_parse_headers
    - htx_to_buf
    - TRACE_LEAVE
    - htx_from_buf
    - b_reset
    - htx_is_empty
    - htx_get_head_blk
    - fcgi_strm_parse_trailers
    - b_data
    - TRACE_DEVEL
    - fcgi_strm_parse_data
    - TRACE_USER
    - htx_used_space
    - TRACE_PROTO
    - b_del
    - fcgi_strm_error
    - TRACE_ERROR
    linkageType: ''
    returnType: size_t
    signature: fcgi_strm_parse_response(struct fcgi_strm *fstrm, struct buffer *buf,
      size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:3618,1
    - Dst: fcgi_stconn_new
      Src: /src/haproxy/src/mux_fcgi.c:3619,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/mux_fcgi.c:3624,1
    - Dst: xprt_set_used
      Src: /src/haproxy/src/mux_fcgi.c:3625,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:3627,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - conn
    - sd
    - sess
    argTypes:
    - struct connection*
    - struct sedesc*
    - struct session*
    constantsTouched: []
    func_position:
      end: 3633
      start: 3613
    functionDepth: 5
    functionLinenumber: 3613
    functionLinenumberEnd: 3633
    functionName: fcgi_attach
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - HA_ATOMIC_AND
    - TRACE_ENTER
    - xprt_set_used
    - TRACE_DEVEL
    - fcgi_stconn_new
    linkageType: ''
    returnType: int
    signature: fcgi_attach(struct connection *conn, struct sedesc *sd, struct session
      *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_first
      Src: /src/haproxy/src/mux_fcgi.c:3646,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_fcgi.c:3648,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:3649,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:3650,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_fcgi.c:3651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 3654
      start: 3640
    functionDepth: 1
    functionLinenumber: 3640
    functionLinenumberEnd: 3654
    functionName: fcgi_get_first_sc
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - fcgi_strm_sc
    - eb32_next
    - container_of
    - eb32_first
    linkageType: ''
    returnType: struct stconn
    signature: '*fcgi_get_first_sc(const struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_fcgi.c:3663,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_fcgi.c:3664,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_fcgi.c:3665,1
    - Dst: fcgi_release
      Src: /src/haproxy/src/mux_fcgi.c:3666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3668
      start: 3659
    functionDepth: 4
    functionLinenumber: 3659
    functionLinenumberEnd: 3668
    functionName: fcgi_destroy
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - BUG_ON
    - fcgi_release
    - eb_is_empty
    linkageType: ''
    returnType: void
    signature: fcgi_destroy(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:3679,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:3682,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3710,1
    - Dst: fcgi_conn_restart_reading
      Src: /src/haproxy/src/mux_fcgi.c:3717,1
    - Dst: fcgi_strm_destroy
      Src: /src/haproxy/src/mux_fcgi.c:3720,1
    - Dst: session_add_conn
      Src: /src/haproxy/src/mux_fcgi.c:3726,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_fcgi.c:3728,1
    - Dst: struct fcgi_conn*::conn::mux::destroy
      Src: /src/haproxy/src/mux_fcgi.c:3730,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3731,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_fcgi.c:3735,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/mux_fcgi.c:3739,1
    - Dst: session_check_idle_conn
      Src: /src/haproxy/src/mux_fcgi.c:3740,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3742,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_fcgi.c:3748,1
    - Dst: session_unown_conn
      Src: /src/haproxy/src/mux_fcgi.c:3753,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/mux_fcgi.c:3760,1
    - Dst: xprt_set_idle
      Src: /src/haproxy/src/mux_fcgi.c:3761,1
    - Dst: srv_add_to_idle_list
      Src: /src/haproxy/src/mux_fcgi.c:3763,1
    - Dst: objt_server
      Src: /src/haproxy/src/mux_fcgi.c:3763,1
    - Dst: struct fcgi_conn*::conn::mux::destroy
      Src: /src/haproxy/src/mux_fcgi.c:3765,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3766,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3773,1
    - Dst: fcgi_avail_streams
      Src: /src/haproxy/src/mux_fcgi.c:3777,1
    - Dst: objt_server
      Src: /src/haproxy/src/mux_fcgi.c:3777,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_fcgi.c:3778,1
    - Dst: srv_add_to_avail_list
      Src: /src/haproxy/src/mux_fcgi.c:3779,1
    - Dst: __objt_server
      Src: /src/haproxy/src/mux_fcgi.c:3779,1
    - Dst: fcgi_conn_is_dead
      Src: /src/haproxy/src/mux_fcgi.c:3787,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3789,1
    - Dst: fcgi_release
      Src: /src/haproxy/src/mux_fcgi.c:3790,1
    - Dst: tick_add
      Src: /src/haproxy/src/mux_fcgi.c:3793,1
    - Dst: task_queue
      Src: /src/haproxy/src/mux_fcgi.c:3794,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3795,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3798,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 1
    argNames:
    - sd
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 3799
      start: 3673
    functionDepth: 4
    functionLinenumber: 3673
    functionLinenumberEnd: 3799
    functionName: fcgi_detach
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - srv_add_to_avail_list
    - session_unown_conn
    - TRACE_ENTER
    - eb_is_empty
    - fcgi_avail_streams
    - TRACE_LEAVE
    - fcgi_conn_is_dead
    - struct fcgi_conn*::conn::mux::destroy
    - task_queue
    - __objt_server
    - LIST_INLIST
    - fcgi_conn_restart_reading
    - xprt_set_idle
    - objt_server
    - session_add_conn
    - TRACE_DEVEL
    - fcgi_strm_destroy
    - tick_add
    - fcgi_release
    - srv_add_to_idle_list
    - session_check_idle_conn
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: fcgi_detach(struct sedesc *sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:3807,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_fcgi.c:3816,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:3818,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:3822,1
    - Dst: fcgi_strm_send_abort
      Src: /src/haproxy/src/mux_fcgi.c:3824,1
    - Dst: fcgi_strm_close
      Src: /src/haproxy/src/mux_fcgi.c:3828,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_fcgi.c:3831,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:3834,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_fcgi.c:3843,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_fcgi.c:3845,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:3849,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - fstrm
    argTypes:
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 3851
      start: 3803
    functionDepth: 4
    functionLinenumber: 3803
    functionLinenumberEnd: 3851
    functionName: fcgi_do_shutr
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - fcgi_strm_close
    - TRACE_LEAVE
    - se_fl_test
    - fcgi_strm_send_abort
    - TRACE_ENTER
    - LIST_APPEND
    - tasklet_wakeup
    - LIST_INLIST
    - TRACE_STATE
    linkageType: ''
    returnType: void
    signature: fcgi_do_shutr(struct fcgi_strm *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:3858,1
    - Dst: fcgi_strm_send_abort
      Src: /src/haproxy/src/mux_fcgi.c:3865,1
    - Dst: fcgi_strm_close
      Src: /src/haproxy/src/mux_fcgi.c:3869,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_fcgi.c:3877,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:3879,1
    - Dst: fcgi_strm_close
      Src: /src/haproxy/src/mux_fcgi.c:3883,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_fcgi.c:3887,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:3890,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_fcgi.c:3899,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_fcgi.c:3901,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:3905,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - fstrm
    argTypes:
    - struct fcgi_strm*
    constantsTouched: []
    func_position:
      end: 3907
      start: 3854
    functionDepth: 4
    functionLinenumber: 3854
    functionLinenumberEnd: 3907
    functionName: fcgi_do_shutw
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - fcgi_strm_close
    - TRACE_LEAVE
    - se_fl_test
    - fcgi_strm_send_abort
    - TRACE_ENTER
    - LIST_APPEND
    - tasklet_wakeup
    - LIST_INLIST
    - TRACE_STATE
    linkageType: ''
    returnType: void
    signature: fcgi_do_shutw(struct fcgi_strm *fstrm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:3918,1
    - Dst: fcgi_do_shutw
      Src: /src/haproxy/src/mux_fcgi.c:3926,1
    - Dst: fcgi_do_shutr
      Src: /src/haproxy/src/mux_fcgi.c:3929,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_fcgi.c:3933,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:3935,1
    - Dst: fcgi_strm_destroy
      Src: /src/haproxy/src/mux_fcgi.c:3936,1
    - Dst: fcgi_conn_is_dead
      Src: /src/haproxy/src/mux_fcgi.c:3937,1
    - Dst: fcgi_release
      Src: /src/haproxy/src/mux_fcgi.c:3938,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:3942,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3944
      start: 3913
    functionDepth: 5
    functionLinenumber: 3913
    functionLinenumberEnd: 3944
    functionName: fcgi_deferred_shut
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - fcgi_do_shutr
    - TRACE_LEAVE
    - fcgi_strm_destroy
    - TRACE_ENTER
    - fcgi_conn_is_dead
    - fcgi_do_shutw
    - fcgi_release
    - LIST_DEL_INIT
    - fcgi_strm_sc
    linkageType: ''
    returnType: struct task
    signature: '*fcgi_deferred_shut(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_fcgi.c:3948,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:3950,1
    - Dst: fcgi_do_shutw
      Src: /src/haproxy/src/mux_fcgi.c:3952,1
    - Dst: fcgi_do_shutr
      Src: /src/haproxy/src/mux_fcgi.c:3954,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:3955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sc
    - mode
    - reason
    argTypes:
    - struct stconn*
    - unsigned int
    - struct se_abort_info*
    constantsTouched: []
    func_position:
      end: 3956
      start: 3946
    functionDepth: 5
    functionLinenumber: 3946
    functionLinenumberEnd: 3956
    functionName: fcgi_shut
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - fcgi_do_shutr
    - __sc_mux_strm
    - TRACE_ENTER
    - fcgi_do_shutw
    linkageType: ''
    returnType: void
    signature: fcgi_shut(struct stconn *sc, unsigned int mode, struct se_abort_info
      *reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_fcgi.c:3965,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_fcgi.c:3968,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_fcgi.c:3969,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3975,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:3978,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_fcgi.c:3979,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_fcgi.c:3980,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - sc
    - event_type
    - es
    argTypes:
    - struct stconn*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 3983
      start: 3963
    functionDepth: 1
    functionLinenumber: 3963
    functionLinenumberEnd: 3983
    functionName: fcgi_subscribe
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - __sc_mux_strm
    - LIST_APPEND
    - TRACE_DEVEL
    - LIST_INLIST
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: fcgi_subscribe(struct stconn *sc, int event_type, struct wait_event
      *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_fcgi.c:3991,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_fcgi.c:3994,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_fcgi.c:3995,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:4002,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:4005,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_fcgi.c:4008,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - sc
    - event_type
    - es
    argTypes:
    - struct stconn*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 4011
      start: 3989
    functionDepth: 1
    functionLinenumber: 3989
    functionLinenumberEnd: 4011
    functionName: fcgi_unsubscribe
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_DEVEL
    - BUG_ON
    - __sc_mux_strm
    - LIST_DEL_INIT
    linkageType: ''
    returnType: int
    signature: fcgi_unsubscribe(struct stconn *sc, int event_type, struct wait_event
      *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_fcgi.c:4027,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:4031,1
    - Dst: fcgi_strm_parse_response
      Src: /src/haproxy/src/mux_fcgi.c:4034,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:4036,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:4038,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:4044,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_fcgi.c:4045,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/mux_fcgi.c:4048,1
    - Dst: fcgi_strm_propagate_term_flags
      Src: /src/haproxy/src/mux_fcgi.c:4049,1
    - Dst: fcgi_release_buf
      Src: /src/haproxy/src/mux_fcgi.c:4050,1
    - Dst: fcgi_conn_restart_reading
      Src: /src/haproxy/src/mux_fcgi.c:4056,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:4059,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - sc
    - buf
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 4061
      start: 4025
    functionDepth: 4
    functionLinenumber: 4025
    functionLinenumberEnd: 4061
    functionName: fcgi_rcv_buf
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - __sc_mux_strm
    - TRACE_ENTER
    - se_fl_clr
    - se_fl_set
    - b_data
    - TRACE_STATE
    - fcgi_release_buf
    - fcgi_strm_parse_response
    - fcgi_conn_restart_reading
    - fcgi_strm_propagate_term_flags
    linkageType: ''
    returnType: size_t
    signature: fcgi_rcv_buf(struct stconn *sc, struct buffer *buf, size_t count, int
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_fcgi.c:4070,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_fcgi.c:4079,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_fcgi.c:4085,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:4086,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_fcgi.c:4092,1
    - Dst: htxbuf
      Src: /src/haproxy/src/mux_fcgi.c:4096,1
    - Dst: fcgi_strm_close
      Src: /src/haproxy/src/mux_fcgi.c:4101,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_fcgi.c:4102,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:4103,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/mux_fcgi.c:4107,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/mux_fcgi.c:4111,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/mux_fcgi.c:4117,1
    - Dst: fcgi_strm_error
      Src: /src/haproxy/src/mux_fcgi.c:4120,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:4126,1
    - Dst: fcgi_strm_send_begin_request
      Src: /src/haproxy/src/mux_fcgi.c:4127,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/mux_fcgi.c:4135,1
    - Dst: ASSUME_NONNULL
      Src: /src/haproxy/src/mux_fcgi.c:4136,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/mux_fcgi.c:4136,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/mux_fcgi.c:4137,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/mux_fcgi.c:4139,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/mux_fcgi.c:4142,1
    - Dst: fcgi_strm_send_params
      Src: /src/haproxy/src/mux_fcgi.c:4143,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:4153,1
    - Dst: fcgi_strm_send_empty_params
      Src: /src/haproxy/src/mux_fcgi.c:4154,1
    - Dst: htx_is_unique_blk
      Src: /src/haproxy/src/mux_fcgi.c:4158,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:4159,1
    - Dst: fcgi_strm_send_empty_stdin
      Src: /src/haproxy/src/mux_fcgi.c:4160,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:4167,1
    - Dst: fcgi_strm_send_stdin
      Src: /src/haproxy/src/mux_fcgi.c:4168,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/mux_fcgi.c:4170,1
    - Dst: htx_is_unique_blk
      Src: /src/haproxy/src/mux_fcgi.c:4179,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_fcgi.c:4180,1
    - Dst: fcgi_strm_send_empty_stdin
      Src: /src/haproxy/src/mux_fcgi.c:4181,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/mux_fcgi.c:4189,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:4206,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_fcgi.c:4207,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_fcgi.c:4208,1
    - Dst: fcgi_strm_send_abort
      Src: /src/haproxy/src/mux_fcgi.c:4209,1
    - Dst: fcgi_strm_close
      Src: /src/haproxy/src/mux_fcgi.c:4210,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/mux_fcgi.c:4214,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_fcgi.c:4218,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_fcgi.c:4219,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_fcgi.c:4224,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_fcgi.c:4227,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 127
    argCount: 4
    argNames:
    - sc
    - buf
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 4229
      start: 4068
    functionDepth: 6
    functionLinenumber: 4068
    functionLinenumberEnd: 4229
    functionName: fcgi_snd_buf
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - htx_is_unique_blk
    - http_get_stline
    - ASSUME_NONNULL
    - se_report_term_evt
    - htx_to_buf
    - TRACE_LEAVE
    - __sc_mux_strm
    - LIST_ISEMPTY
    - htx_from_buf
    - fcgi_strm_send_abort
    - eb32_insert
    - LIST_DEL_INIT
    - htx_is_empty
    - eb32_delete
    - fcgi_strm_send_begin_request
    - htx_get_head_blk
    - htx_get_blksz
    - fcgi_strm_send_empty_params
    - se_fl_set_error
    - tasklet_wakeup
    - htxbuf
    - htx_get_blk_type
    - TRACE_DEVEL
    - fcgi_strm_send_empty_stdin
    - fcgi_strm_close
    - TRACE_USER
    - TRACE_PROTO
    - se_fl_set
    - fcgi_strm_error
    - fcgi_strm_send_stdin
    - TRACE_STATE
    - fcgi_strm_send_params
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: fcgi_snd_buf(struct stconn *sc, struct buffer *buf, size_t count, int
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4243,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:4245,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_fcgi.c:4245,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_fcgi.c:4246,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:4246,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:4247,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4250,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4252,1
    - Dst: se_fl_get
      Src: /src/haproxy/src/mux_fcgi.c:4252,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_fcgi.c:4252,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_fcgi.c:4253,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4254,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:4255,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:4255,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_fcgi.c:4255,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:4255,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4258,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4260,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4262,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4263,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/mux_fcgi.c:4268,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - msg
    - fstrm
    - pfx
    argTypes:
    - struct buffer*
    - struct fcgi_strm*
    - char*
    constantsTouched: []
    func_position:
      end: 4272
      start: 4236
    functionDepth: 6
    functionLinenumber: 4236
    functionLinenumberEnd: 4272
    functionName: fcgi_dump_fcgi_strm_info
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 1
    functionsReached:
    - tevt_evts2str
    - se_fl_test
    - se_fl_get
    - chunk_appendf
    - b_data
    - b_size
    - b_head_ofs
    - fcgi_strm_sc
    - b_orig
    - resolve_sym_name
    linkageType: ''
    returnType: int
    signature: fcgi_dump_fcgi_strm_info(struct buffer *msg, const struct fcgi_strm
      *fstrm, const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mux_fcgi.c:4292,1
    - Dst: eb32_first
      Src: /src/haproxy/src/mux_fcgi.c:4296,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_fcgi.c:4298,1
    - Dst: fcgi_strm_sc
      Src: /src/haproxy/src/mux_fcgi.c:4300,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_fcgi.c:4302,1
    - Dst: br_head
      Src: /src/haproxy/src/mux_fcgi.c:4305,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_fcgi.c:4306,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4307,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_fcgi.c:4310,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4313,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4315,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:4317,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_fcgi.c:4317,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_fcgi.c:4318,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:4318,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4322,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4324,1
    - Dst: br_head_idx
      Src: /src/haproxy/src/mux_fcgi.c:4325,1
    - Dst: br_tail_idx
      Src: /src/haproxy/src/mux_fcgi.c:4325,1
    - Dst: br_size
      Src: /src/haproxy/src/mux_fcgi.c:4325,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:4326,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_fcgi.c:4326,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_fcgi.c:4327,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:4327,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_fcgi.c:4328,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_fcgi.c:4328,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_fcgi.c:4329,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_fcgi.c:4329,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4331,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4333,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/mux_fcgi.c:4334,1
    - Dst: human_time
      Src: /src/haproxy/src/mux_fcgi.c:4335,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/mux_fcgi.c:4335,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/mux_fcgi.c:4335,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - msg
    - fconn
    - pfx
    argTypes:
    - struct buffer*
    - struct fcgi_conn*
    - char*
    constantsTouched: []
    func_position:
      end: 4339
      start: 4279
    functionDepth: 1
    functionLinenumber: 4279
    functionLinenumberEnd: 4339
    functionName: fcgi_dump_fcgi_conn_info
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 1
    functionsReached:
    - TICKS_TO_MS
    - eb32_next
    - human_time
    - b_orig
    - list_for_each_entry
    - chunk_appendf
    - b_size
    - br_tail_idx
    - tevt_evts2str
    - tick_is_expired
    - br_head_idx
    - b_data
    - container_of
    - br_head
    - br_tail
    - br_size
    - b_head_ofs
    - eb32_first
    - fcgi_strm_sc
    linkageType: ''
    returnType: int
    signature: fcgi_dump_fcgi_conn_info(struct buffer *msg, struct fcgi_conn *fconn,
      const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fcgi_dump_fcgi_conn_info
      Src: /src/haproxy/src/mux_fcgi.c:4354,1
    - Dst: eb32_first
      Src: /src/haproxy/src/mux_fcgi.c:4356,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_fcgi.c:4358,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4359,1
    - Dst: fcgi_dump_fcgi_strm_info
      Src: /src/haproxy/src/mux_fcgi.c:4360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - msg
    - conn
    argTypes:
    - struct buffer*
    - struct connection*
    constantsTouched: []
    func_position:
      end: 4364
      start: 4344
    functionDepth: 7
    functionLinenumber: 4344
    functionLinenumberEnd: 4364
    functionName: fcgi_show_fd
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - fcgi_dump_fcgi_conn_info
    - container_of
    - chunk_appendf
    - eb32_first
    - fcgi_dump_fcgi_strm_info
    linkageType: ''
    returnType: int
    signature: fcgi_show_fd(struct buffer *msg, struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4380,1
    - Dst: fcgi_dump_fcgi_strm_info
      Src: /src/haproxy/src/mux_fcgi.c:4381,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4383,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_fcgi.c:4384,1
    - Dst: fcgi_dump_fcgi_conn_info
      Src: /src/haproxy/src/mux_fcgi.c:4385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - msg
    - sd
    - pfx
    argTypes:
    - struct buffer*
    - struct sedesc*
    - char*
    constantsTouched: []
    func_position:
      end: 4387
      start: 4372
    functionDepth: 7
    functionLinenumber: 4372
    functionLinenumberEnd: 4387
    functionName: fcgi_show_sd
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - fcgi_dump_fcgi_conn_info
    - fcgi_dump_fcgi_strm_info
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: fcgi_show_sd(struct buffer *msg, struct sedesc *sd, const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_fcgi.c:4409,1
    - Dst: task_new_here
      Src: /src/haproxy/src/mux_fcgi.c:4412,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/mux_fcgi.c:4413,1
    - Dst: fd_takeover
      Src: /src/haproxy/src/mux_fcgi.c:4418,1
    - Dst: struct connection*::xprt::takeover
      Src: /src/haproxy/src/mux_fcgi.c:4421,1
    - Dst: tasklet_wakeup_on
      Src: /src/haproxy/src/mux_fcgi.c:4428,1
    - Dst: struct fcgi_conn*::conn::xprt::unsubscribe
      Src: /src/haproxy/src/mux_fcgi.c:4433,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/mux_fcgi.c:4443,1
    - Dst: task_kill
      Src: /src/haproxy/src/mux_fcgi.c:4444,1
    - Dst: tasklet_wakeup_on
      Src: /src/haproxy/src/mux_fcgi.c:4458,1
    - Dst: struct fcgi_conn*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_fcgi.c:4464,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_fcgi.c:4477,1
    - Dst: thread_isolated
      Src: /src/haproxy/src/mux_fcgi.c:4477,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_fcgi.c:4478,1
    - Dst: _b_dequeue
      Src: /src/haproxy/src/mux_fcgi.c:4479,1
    - Dst: __task_free
      Src: /src/haproxy/src/mux_fcgi.c:4483,1
    - Dst: __task_free
      Src: /src/haproxy/src/mux_fcgi.c:4487,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_fcgi.c:4488,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - conn
    - orig_tid
    - release
    argTypes:
    - struct connection*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 4490
      start: 4393
    functionDepth: 2
    functionLinenumber: 4393
    functionLinenumberEnd: 4490
    functionName: fcgi_takeover
    functionSourceFile: /src/haproxy/src/mux_fcgi.c
    functionUses: 0
    functionsReached:
    - fd_takeover
    - _b_dequeue
    - tasklet_free
    - tasklet_wakeup_on
    - struct fcgi_conn*::conn::xprt::unsubscribe
    - __ha_barrier_store
    - struct fcgi_conn*::conn::xprt::subscribe
    - struct connection*::xprt::takeover
    - thread_isolated
    - task_kill
    - tasklet_new
    - __task_free
    - LIST_INLIST
    - task_new_here
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: fcgi_takeover(struct connection *conn, int orig_tid, int release)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_insert
      Src: /src/haproxy/src/cebua_tree.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebua_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_insert
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebua, _insert, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_first
      Src: /src/haproxy/src/cebua_tree.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebua_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_first
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebua, _first, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_last
      Src: /src/haproxy/src/cebua_tree.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebua_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_last
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebua, _last, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup
      Src: /src/haproxy/src/cebua_tree.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebua_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebua, _lookup, struct ceb_node **, root,
      ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_le
      Src: /src/haproxy/src/cebua_tree.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebua_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_le
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebua, _lookup_le, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_lt
      Src: /src/haproxy/src/cebua_tree.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebua_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_lt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebua, _lookup_lt, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_ge
      Src: /src/haproxy/src/cebua_tree.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebua_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_ge
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebua, _lookup_ge, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_gt
      Src: /src/haproxy/src/cebua_tree.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebua_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_gt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebua, _lookup_gt, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_next
      Src: /src/haproxy/src/cebua_tree.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebua_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_next
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebua, _next, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_prev
      Src: /src/haproxy/src/cebua_tree.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebua_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_prev
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebua, _prev, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebua_tree.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebua_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebua, _delete, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebua_tree.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebua_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebua, _pick, struct ceb_node **, root,
      ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/src/cebua_tree.c:141,1
    - Dst: printf
      Src: /src/haproxy/src/cebua_tree.c:147,1
    - Dst: cebu_default_dump_tree
      Src: /src/haproxy/src/cebua_tree.c:150,1
    - Dst: printf
      Src: /src/haproxy/src/cebua_tree.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebua_tree.c
    functionUses: 0
    functionsReached:
    - printf
    - cebu_default_dump_tree
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(void, cebua, _default_dump, struct ceb_node **, root, ptrdiff_t,
      kofs, const char *, label, const void *, ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ebim_lookup
      Src: /src/haproxy/src/ebimtree.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - root
    - x
    - len
    argTypes:
    - struct eb_root*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: ebim_lookup
    functionSourceFile: /src/haproxy/src/ebimtree.c
    functionUses: 1
    functionsReached:
    - __ebim_lookup
    linkageType: ''
    returnType: struct ebpt_node
    signature: '*

      ebim_lookup(struct eb_root *root, const void *x, unsigned int len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ebim_insert
      Src: /src/haproxy/src/ebimtree.c:43,1
    - Dst: len::len
      Src: /src/haproxy/src/ebimtree.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - root
    - new
    - len
    argTypes:
    - struct eb_root*
    - struct ebpt_node*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: ebim_insert
    functionSourceFile: /src/haproxy/src/ebimtree.c
    functionUses: 1
    functionsReached:
    - len::len
    - __ebim_insert
    linkageType: ''
    returnType: struct ebpt_node
    signature: '*

      ebim_insert(struct eb_root *root, struct ebpt_node *new, unsigned int len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_insert
      Src: /src/haproxy/src/cebuib_tree.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebuib_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_insert
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebuib, _insert, struct ceb_node **,
      root, ptrdiff_t, kofs, struct ceb_node *, node, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_first
      Src: /src/haproxy/src/cebuib_tree.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebuib_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_first
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebuib, _first, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_last
      Src: /src/haproxy/src/cebuib_tree.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebuib_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_last
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebuib, _last, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup
      Src: /src/haproxy/src/cebuib_tree.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebuib_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebuib, _lookup, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_le
      Src: /src/haproxy/src/cebuib_tree.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebuib_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_le
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebuib, _lookup_le, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_lt
      Src: /src/haproxy/src/cebuib_tree.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebuib_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_lt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebuib, _lookup_lt, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_ge
      Src: /src/haproxy/src/cebuib_tree.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebuib_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_ge
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebuib, _lookup_ge, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_gt
      Src: /src/haproxy/src/cebuib_tree.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebuib_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_gt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebuib, _lookup_gt, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_next
      Src: /src/haproxy/src/cebuib_tree.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebuib_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_next
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebuib, _next, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_prev
      Src: /src/haproxy/src/cebuib_tree.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebuib_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_prev
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebuib, _prev, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebuib_tree.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebuib_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebuib, _delete, struct ceb_node **,
      root, ptrdiff_t, kofs, struct ceb_node *, node, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebuib_tree.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebuib_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(struct ceb_node *, cebuib, _pick, struct ceb_node **, root,
      ptrdiff_t, kofs, const void *, key, size_t, len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct show_quic_ctx*
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: cli_show_quic_format
    functionSourceFile: /src/haproxy/src/quic_cli.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum quic_dump_format
    signature: cli_show_quic_format(const struct show_quic_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/quic_cli.c:56,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/quic_cli.c:59,1
    - Dst: _HA_ATOMIC_FETCH_ADD
      Src: /src/haproxy/src/quic_cli.c:62,1
    - Dst: strcmp
      Src: /src/haproxy/src/quic_cli.c:69,1
    - Dst: strcmp
      Src: /src/haproxy/src/quic_cli.c:73,1
    - Dst: strcmp
      Src: /src/haproxy/src/quic_cli.c:78,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/quic_cli.c:79,1
    - Dst: cli_err
      Src: /src/haproxy/src/quic_cli.c:91,1
    - Dst: ist
      Src: /src/haproxy/src/quic_cli.c:94,1
    - Dst: istsplit
      Src: /src/haproxy/src/quic_cli.c:95,1
    - Dst: isteq
      Src: /src/haproxy/src/quic_cli.c:98,1
    - Dst: ist
      Src: /src/haproxy/src/quic_cli.c:98,1
    - Dst: isteq
      Src: /src/haproxy/src/quic_cli.c:101,1
    - Dst: ist
      Src: /src/haproxy/src/quic_cli.c:101,1
    - Dst: isteq
      Src: /src/haproxy/src/quic_cli.c:104,1
    - Dst: ist
      Src: /src/haproxy/src/quic_cli.c:104,1
    - Dst: isteq
      Src: /src/haproxy/src/quic_cli.c:107,1
    - Dst: ist
      Src: /src/haproxy/src/quic_cli.c:107,1
    - Dst: isteq
      Src: /src/haproxy/src/quic_cli.c:110,1
    - Dst: ist
      Src: /src/haproxy/src/quic_cli.c:110,1
    - Dst: cli_err
      Src: /src/haproxy/src/quic_cli.c:119,1
    - Dst: istsplit
      Src: /src/haproxy/src/quic_cli.c:126,1
    - Dst: ist
      Src: /src/haproxy/src/quic_cli.c:139,1
    - Dst: istmatchi
      Src: /src/haproxy/src/quic_cli.c:141,1
    - Dst: ist
      Src: /src/haproxy/src/quic_cli.c:141,1
    - Dst: strtol
      Src: /src/haproxy/src/quic_cli.c:143,1
    - Dst: cli_err
      Src: /src/haproxy/src/quic_cli.c:145,1
    - Dst: istmatch
      Src: /src/haproxy/src/quic_cli.c:154,1
    - Dst: ist
      Src: /src/haproxy/src/quic_cli.c:154,1
    - Dst: cli_err
      Src: /src/haproxy/src/quic_cli.c:158,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/quic_cli.c:165,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 168
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 168
    functionName: cli_parse_show_quic
    functionSourceFile: /src/haproxy/src/quic_cli.c
    functionUses: 0
    functionsReached:
    - istsplit
    - istmatch
    - strcmp
    - cli_err
    - isteq
    - _HA_ATOMIC_FETCH_ADD
    - ist
    - chunk_printf
    - istmatchi
    - strtol
    - LIST_INIT
    - cli_has_level
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_show_quic(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:177,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:179,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:183,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:185,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:187,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:189,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:192,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/quic_cli.c:200,1
    - Dst: port_to_str
      Src: /src/haproxy/src/quic_cli.c:201,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:202,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/quic_cli.c:204,1
    - Dst: port_to_str
      Src: /src/haproxy/src/quic_cli.c:205,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:206,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:212,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:214,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:216,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - qc
    argTypes:
    - struct show_quic_ctx*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 219
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 219
    functionName: dump_quic_oneline
    functionSourceFile: /src/haproxy/src/quic_cli.c
    functionUses: 0
    functionsReached:
    - addr_to_str
    - port_to_str
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: dump_quic_oneline(struct show_quic_ctx *ctx, struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:231,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:233,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:235,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:237,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:239,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:241,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:243,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:246,1
    - Dst: quic_transport_params_dump
      Src: /src/haproxy/src/quic_cli.c:247,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:248,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:249,1
    - Dst: quic_transport_params_dump
      Src: /src/haproxy/src/quic_cli.c:250,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:251,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:256,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:258,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:260,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:262,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:265,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:267,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:269,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:273,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/quic_cli.c:274,1
    - Dst: tick_remain
      Src: /src/haproxy/src/quic_cli.c:274,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:277,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:281,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/quic_cli.c:284,1
    - Dst: port_to_str
      Src: /src/haproxy/src/quic_cli.c:285,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:286,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/quic_cli.c:288,1
    - Dst: port_to_str
      Src: /src/haproxy/src/quic_cli.c:289,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:290,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:293,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:300,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:307,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:314,1
    - Dst: struct quic_conn*::path::cc::algo::state_cli
      Src: /src/haproxy/src/quic_cli.c:322,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:324,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:335,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:339,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:343,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:347,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:351,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:355,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:359,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:363,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:367,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:371,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:375,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:379,1
    - Dst: qcc_show_quic
      Src: /src/haproxy/src/quic_cli.c:382,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:384,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 118
    argCount: 2
    argNames:
    - ctx
    - qc
    argTypes:
    - struct show_quic_ctx*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 385
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 385
    functionName: dump_quic_full
    functionSourceFile: /src/haproxy/src/quic_cli.c
    functionUses: 0
    functionsReached:
    - qcc_show_quic
    - tick_remain
    - addr_to_str
    - TICKS_TO_MS
    - chunk_appendf
    - quic_transport_params_dump
    - port_to_str
    - struct quic_conn*::path::cc::algo::state_cli
    linkageType: ''
    returnType: void
    signature: dump_quic_full(struct show_quic_ctx *ctx, struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_isolate
      Src: /src/haproxy/src/quic_cli.c:392,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/quic_cli.c:397,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_cli.c:399,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_cli.c:401,1
    - Dst: cli_show_quic_format
      Src: /src/haproxy/src/quic_cli.c:408,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/quic_cli.c:409,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/quic_cli.c:413,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/quic_cli.c:441,1
    - Dst: cli_show_quic_format
      Src: /src/haproxy/src/quic_cli.c:459,1
    - Dst: dump_quic_full
      Src: /src/haproxy/src/quic_cli.c:461,1
    - Dst: dump_quic_oneline
      Src: /src/haproxy/src/quic_cli.c:464,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/quic_cli.c:469,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/quic_cli.c:472,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_cli.c:474,1
    - Dst: thread_release
      Src: /src/haproxy/src/quic_cli.c:486,1
    - Dst: thread_release
      Src: /src/haproxy/src/quic_cli.c:490,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 492
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 492
    functionName: cli_io_handler_dump_quic
    functionSourceFile: /src/haproxy/src/quic_cli.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - ABORT_NOW
    - LIST_ISEMPTY
    - dump_quic_full
    - LIST_APPEND
    - thread_isolate
    - thread_release
    - cli_show_quic_format
    - chunk_appendf
    - applet_putchk
    - dump_quic_oneline
    - LIST_DEL_INIT
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: cli_io_handler_dump_quic(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_isolate
      Src: /src/haproxy/src/quic_cli.c:499,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_cli.c:500,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_cli.c:501,1
    - Dst: thread_release
      Src: /src/haproxy/src/quic_cli.c:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: cli_release_show_quic
    functionSourceFile: /src/haproxy/src/quic_cli.c
    functionUses: 0
    functionsReached:
    - thread_isolate
    - thread_release
    - LIST_DEL_INIT
    - LIST_ISEMPTY
    linkageType: ''
    returnType: void
    signature: cli_release_show_quic(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/quic_cli.c:518,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/quic_cli.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 521
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 521
    functionName: cli_quic_init
    functionSourceFile: /src/haproxy/src/quic_cli.c
    functionUses: 0
    functionsReached:
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: cli_quic_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_stream.c:30,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/quic_stream.c:30,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_stream.c:32,1
    - Dst: b_size
      Src: /src/haproxy/src/quic_stream.c:37,1
    - Dst: b_data
      Src: /src/haproxy/src/quic_stream.c:41,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_stream.c:45,1
    - Dst: b_free
      Src: /src/haproxy/src/quic_stream.c:48,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/quic_stream.c:49,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_stream.c:51,1
    - Dst: struct qc_stream_desc*::notify_room
      Src: /src/haproxy/src/quic_stream.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - stream
    - stream_buf
    argTypes:
    - struct qc_stream_desc*
    - struct qc_stream_buf**
    constantsTouched: []
    func_position:
      end: 57
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 57
    functionName: qc_stream_buf_free
    functionSourceFile: /src/haproxy/src/quic_stream.c
    functionUses: 0
    functionsReached:
    - b_free
    - eb_is_empty
    - pool_free
    - offer_buffers
    - struct qc_stream_desc*::notify_room
    - b_data
    - b_size
    - eb64_delete
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: "qc_stream_buf_free(struct qc_stream_desc *stream,\n                               struct
      qc_stream_buf **stream_buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_stream.c:70,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/quic_stream.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - id
    - type
    - ctx
    - qc
    argTypes:
    - uint64_t
    - enum qcs_type
    - void*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 95
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 95
    functionName: qc_stream_desc_new
    functionSourceFile: /src/haproxy/src/quic_stream.c
    functionUses: 1
    functionsReached:
    - eb64_insert
    - pool_alloc
    linkageType: ''
    returnType: struct qc_stream_desc
    signature: "*qc_stream_desc_new(uint64_t id, enum qcs_type type, void *ctx,\n
      \                                         struct quic_conn *qc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_stream.c:112,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_stream.c:125,1
    - Dst: b_sub
      Src: /src/haproxy/src/quic_stream.c:129,1
    - Dst: b_data
      Src: /src/haproxy/src/quic_stream.c:135,1
    - Dst: qc_stream_buf_free
      Src: /src/haproxy/src/quic_stream.c:136,1
    - Dst: qc_stream_buf_release
      Src: /src/haproxy/src/quic_stream.c:138,1
    - Dst: qc_stream_desc_done
      Src: /src/haproxy/src/quic_stream.c:141,1
    - Dst: qc_stream_desc_free
      Src: /src/haproxy/src/quic_stream.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - stream
    - final_size
    - new_ctx
    argTypes:
    - struct qc_stream_desc*
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 145
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 145
    functionName: qc_stream_desc_release
    functionSourceFile: /src/haproxy/src/quic_stream.c
    functionUses: 1
    functionsReached:
    - qc_stream_buf_release
    - qc_stream_buf_free
    - b_data
    - qc_stream_desc_done
    - qc_stream_desc_free
    - BUG_ON
    - b_sub
    linkageType: ''
    returnType: void
    signature: "qc_stream_desc_release(struct qc_stream_desc *stream,\n                            uint64_t
      final_size, void *new_ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - stream
    argTypes:
    - struct qc_stream_buf*
    - struct qc_stream_desc*
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: qc_stream_buf_is_released
    functionSourceFile: /src/haproxy/src/quic_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "qc_stream_buf_is_released(const struct qc_stream_buf *buf,\n                                     const
      struct qc_stream_desc *stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_lookup_ge
      Src: /src/haproxy/src/quic_stream.c:167,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_stream.c:169,1
    - Dst: eb64_lookup_le
      Src: /src/haproxy/src/quic_stream.c:175,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_stream.c:177,1
    - Dst: eb64_next
      Src: /src/haproxy/src/quic_stream.c:203,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_stream.c:204,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_stream.c:205,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_stream.c:208,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_stream.c:224,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/quic_stream.c:234,1
    - Dst: qc_stream_buf_is_released
      Src: /src/haproxy/src/quic_stream.c:238,1
    - Dst: struct qc_stream_desc*::notify_room
      Src: /src/haproxy/src/quic_stream.c:239,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 5
    argNames:
    - buf
    - stream
    - offset
    - len
    - fin
    argTypes:
    - struct qc_stream_buf*
    - struct qc_stream_desc*
    - uint64_t
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 243
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 243
    functionName: qc_stream_buf_store_ack
    functionSourceFile: /src/haproxy/src/quic_stream.c
    functionUses: 0
    functionsReached:
    - eb64_insert
    - qc_stream_buf_is_released
    - pool_free
    - eb64_entry
    - pool_alloc
    - struct qc_stream_desc*::notify_room
    - eb64_lookup_le
    - eb64_lookup_ge
    - eb64_next
    - eb64_delete
    linkageType: ''
    returnType: int
    signature: "qc_stream_buf_store_ack(struct qc_stream_buf *buf,\n                                   struct
      qc_stream_desc *stream,\n                                   uint64_t offset,
      uint64_t len, int fin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_stream.c:260,1
    - Dst: b_del
      Src: /src/haproxy/src/quic_stream.c:264,1
    - Dst: qc_stream_buf_is_released
      Src: /src/haproxy/src/quic_stream.c:268,1
    - Dst: struct qc_stream_desc*::notify_room
      Src: /src/haproxy/src/quic_stream.c:272,1
    - Dst: b_data
      Src: /src/haproxy/src/quic_stream.c:285,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/quic_stream.c:285,1
    - Dst: qc_stream_buf_free
      Src: /src/haproxy/src/quic_stream.c:286,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/quic_stream.c:288,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_stream.c:289,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_stream.c:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - buf
    - stream
    - offset
    - len
    - fin
    argTypes:
    - struct qc_stream_buf*
    - struct qc_stream_desc*
    - uint64_t
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 294
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 294
    functionName: qc_stream_buf_ack
    functionSourceFile: /src/haproxy/src/quic_stream.c
    functionUses: 0
    functionsReached:
    - qc_stream_buf_free
    - qc_stream_buf_is_released
    - eb_is_empty
    - struct qc_stream_desc*::notify_room
    - b_del
    - eb64_entry
    - eb64_first
    - b_data
    - BUG_ON
    linkageType: ''
    returnType: struct qc_stream_buf
    signature: "*qc_stream_buf_ack(struct qc_stream_buf *buf,\n                                               struct
      qc_stream_desc *stream,\n                                               uint64_t
      offset, uint64_t len, int fin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_stream.c:306,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_stream.c:308,1
    - Dst: MAX
      Src: /src/haproxy/src/quic_stream.c:314,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_stream.c:319,1
    - Dst: qc_stream_buf_ack
      Src: /src/haproxy/src/quic_stream.c:320,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_stream.c:322,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_stream.c:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - stream_buf
    - stream
    argTypes:
    - struct qc_stream_buf*
    - struct qc_stream_desc*
    constantsTouched: []
    func_position:
      end: 326
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 326
    functionName: qc_stream_buf_consume
    functionSourceFile: /src/haproxy/src/quic_stream.c
    functionUses: 0
    functionsReached:
    - eb64_delete
    - MAX
    - eb64_first
    - pool_free
    - eb64_entry
    - qc_stream_buf_ack
    linkageType: ''
    returnType: void
    signature: "qc_stream_buf_consume(struct qc_stream_buf *stream_buf,\n                                  struct
      qc_stream_desc *stream)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_stream.c:344,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_stream.c:351,1
    - Dst: eb64_lookup_le
      Src: /src/haproxy/src/quic_stream.c:357,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_stream.c:358,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_stream.c:359,1
    - Dst: qc_stream_buf_store_ack
      Src: /src/haproxy/src/quic_stream.c:360,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_stream.c:364,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/quic_stream.c:364,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_stream.c:367,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_stream.c:367,1
    - Dst: qc_stream_buf_ack
      Src: /src/haproxy/src/quic_stream.c:368,1
    - Dst: qc_stream_buf_consume
      Src: /src/haproxy/src/quic_stream.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - stream
    - offset
    - len
    - fin
    argTypes:
    - struct qc_stream_desc*
    - uint64_t
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 376
      start: 336
    functionDepth: 4
    functionLinenumber: 336
    functionLinenumberEnd: 376
    functionName: qc_stream_desc_ack
    functionSourceFile: /src/haproxy/src/quic_stream.c
    functionUses: 0
    functionsReached:
    - qc_stream_buf_store_ack
    - eb_is_empty
    - eb64_first
    - eb64_entry
    - qc_stream_buf_consume
    - eb64_lookup_le
    - qc_stream_buf_ack
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: "qc_stream_desc_ack(struct qc_stream_desc *stream,\n                       uint64_t
      offset, uint64_t len, int fin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_stream.c:389,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/quic_stream.c:392,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_stream.c:393,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_stream.c:394,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_stream.c:400,1
    - Dst: b_data
      Src: /src/haproxy/src/quic_stream.c:400,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/quic_stream.c:403,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_stream.c:406,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_stream.c:407,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_stream.c:409,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_stream.c:410,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_stream.c:414,1
    - Dst: b_free
      Src: /src/haproxy/src/quic_stream.c:416,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_stream.c:418,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_stream.c:419,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/quic_stream.c:424,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_stream.c:427,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_stream.c:428,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - stream
    - closing
    argTypes:
    - struct qc_stream_desc*
    - int
    constantsTouched: []
    func_position:
      end: 429
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 429
    functionName: qc_stream_desc_free
    functionSourceFile: /src/haproxy/src/quic_stream.c
    functionUses: 1
    functionsReached:
    - b_free
    - eb64_first
    - eb_is_empty
    - eb64_entry
    - pool_free
    - offer_buffers
    - b_data
    - eb64_delete
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: qc_stream_desc_free(struct qc_stream_desc *stream, int closing)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct qc_stream_desc*
    constantsTouched: []
    func_position:
      end: 438
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 438
    functionName: qc_stream_buf_get
    functionSourceFile: /src/haproxy/src/quic_stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct buffer
    signature: '*qc_stream_buf_get(struct qc_stream_desc *stream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_stream.c:450,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_stream.c:453,1
    - Dst: b_alloc
      Src: /src/haproxy/src/quic_stream.c:464,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_stream.c:465,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_stream.c:473,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_stream.c:474,1
    - Dst: b_make
      Src: /src/haproxy/src/quic_stream.c:480,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/quic_stream.c:483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - stream
    - offset
    - small
    argTypes:
    - struct qc_stream_desc*
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 486
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 486
    functionName: qc_stream_buf_alloc
    functionSourceFile: /src/haproxy/src/quic_stream.c
    functionUses: 0
    functionsReached:
    - b_make
    - eb64_insert
    - pool_free
    - pool_alloc
    - BUG_ON
    - b_alloc
    linkageType: ''
    returnType: struct buffer
    signature: "*qc_stream_buf_alloc(struct qc_stream_desc *stream,\n                                   uint64_t
      offset, int small)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_stream.c:496,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_stream.c:499,1
    - Dst: b_data
      Src: /src/haproxy/src/quic_stream.c:499,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_stream.c:502,1
    - Dst: b_alloc
      Src: /src/haproxy/src/quic_stream.c:506,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_stream.c:507,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_stream.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct qc_stream_desc*
    constantsTouched: []
    func_position:
      end: 514
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 514
    functionName: qc_stream_buf_realloc
    functionSourceFile: /src/haproxy/src/quic_stream.c
    functionUses: 0
    functionsReached:
    - pool_free
    - b_data
    - eb64_delete
    - BUG_ON
    - b_alloc
    linkageType: ''
    returnType: struct buffer
    signature: '*qc_stream_buf_realloc(struct qc_stream_desc *stream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_stream.c:524,1
    - Dst: b_room
      Src: /src/haproxy/src/quic_stream.c:526,1
    - Dst: struct qc_stream_desc*::notify_room
      Src: /src/haproxy/src/quic_stream.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct qc_stream_desc*
    constantsTouched: []
    func_position:
      end: 535
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 535
    functionName: qc_stream_buf_release
    functionSourceFile: /src/haproxy/src/quic_stream.c
    functionUses: 1
    functionsReached:
    - struct qc_stream_desc*::notify_room
    - b_room
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: qc_stream_buf_release(struct qc_stream_desc *stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/quic_stream.c:540,1
    - Dst: create_pool
      Src: /src/haproxy/src/quic_stream.c:545,1
    - Dst: ha_warning
      Src: /src/haproxy/src/quic_stream.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 553
    functionName: create_sbuf_pool
    functionSourceFile: /src/haproxy/src/quic_stream.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - create_pool
    linkageType: ''
    returnType: int
    signature: create_sbuf_pool(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/dns_ring.c:36,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/dns_ring.c:37,1
    - Dst: b_make
      Src: /src/haproxy/src/dns_ring.c:39,1
    - Dst: b_putchr
      Src: /src/haproxy/src/dns_ring.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ring
    - area
    - size
    argTypes:
    - struct dns_ring*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: dns_ring_init
    functionSourceFile: /src/haproxy/src/dns_ring.c
    functionUses: 0
    functionsReached:
    - MT_LIST_INIT
    - HA_RWLOCK_INIT
    - b_make
    - b_putchr
    linkageType: ''
    returnType: void
    signature: dns_ring_init(struct dns_ring *ring, void *area, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/dns_ring.c:55,1
    - Dst: malloc
      Src: /src/haproxy/src/dns_ring.c:59,1
    - Dst: dns_ring_init
      Src: /src/haproxy/src/dns_ring.c:63,1
    - Dst: free
      Src: /src/haproxy/src/dns_ring.c:66,1
    - Dst: free
      Src: /src/haproxy/src/dns_ring.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 3
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: dns_ring_new
    functionSourceFile: /src/haproxy/src/dns_ring.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - dns_ring_init
    linkageType: ''
    returnType: struct dns_ring
    signature: '*dns_ring_new(size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/dns_ring.c:77,1
    - Dst: free
      Src: /src/haproxy/src/dns_ring.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct dns_ring*
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: dns_ring_free
    functionSourceFile: /src/haproxy/src/dns_ring.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: dns_ring_free(struct dns_ring *ring)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: varint_bytes
      Src: /src/haproxy/src/dns_ring.c:117,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/dns_ring.c:119,1
    - Dst: b_size
      Src: /src/haproxy/src/dns_ring.c:120,1
    - Dst: b_room
      Src: /src/haproxy/src/dns_ring.c:123,1
    - Dst: b_head
      Src: /src/haproxy/src/dns_ring.c:131,1
    - Dst: b_peek_varint
      Src: /src/haproxy/src/dns_ring.c:133,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns_ring.c:136,1
    - Dst: b_data
      Src: /src/haproxy/src/dns_ring.c:136,1
    - Dst: b_del
      Src: /src/haproxy/src/dns_ring.c:138,1
    - Dst: __b_put_varint
      Src: /src/haproxy/src/dns_ring.c:142,1
    - Dst: __b_putblk
      Src: /src/haproxy/src/dns_ring.c:151,1
    - Dst: __b_putblk
      Src: /src/haproxy/src/dns_ring.c:161,1
    - Dst: b_tail
      Src: /src/haproxy/src/dns_ring.c:165,1
    - Dst: MT_LIST_FOR_EACH_ENTRY_LOCKED
      Src: /src/haproxy/src/dns_ring.c:169,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/dns_ring.c:170,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/dns_ring.c:173,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 6
    argNames:
    - ring
    - maxlen
    - pfx
    - npfx
    - msg
    - nmsg
    argTypes:
    - struct dns_ring*
    - size_t
    - struct ist[]
    - size_t
    - struct ist[]
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 175
    functionName: dns_ring_write
    functionSourceFile: /src/haproxy/src/dns_ring.c
    functionUses: 0
    functionsReached:
    - b_room
    - appctx_wakeup
    - __b_putblk
    - varint_bytes
    - MT_LIST_FOR_EACH_ENTRY_LOCKED
    - b_head
    - b_peek_varint
    - b_del
    - b_tail
    - HA_RWLOCK_WRUNLOCK
    - b_data
    - b_size
    - __b_put_varint
    - HA_RWLOCK_WRLOCK
    - BUG_ON
    linkageType: ''
    returnType: ssize_t
    signature: dns_ring_write(struct dns_ring *ring, size_t maxlen, const struct ist
      pfx[], size_t npfx, const struct ist msg[], size_t nmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/dns_ring.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct dns_ring*
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: dns_ring_attach
    functionSourceFile: /src/haproxy/src/dns_ring.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_CAS
    linkageType: ''
    returnType: int
    signature: dns_ring_attach(struct dns_ring *ring)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/dns_ring.c:204,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/dns_ring.c:207,1
    - Dst: b_size
      Src: /src/haproxy/src/dns_ring.c:208,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/dns_ring.c:208,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/dns_ring.c:210,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns_ring.c:212,1
    - Dst: b_size
      Src: /src/haproxy/src/dns_ring.c:212,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/dns_ring.c:213,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/dns_ring.c:214,1
    - Dst: b_peek
      Src: /src/haproxy/src/dns_ring.c:214,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/dns_ring.c:216,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/dns_ring.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ring
    - appctx
    - ofs
    argTypes:
    - struct dns_ring*
    - struct appctx*
    - size_t
    constantsTouched: []
    func_position:
      end: 218
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 218
    functionName: dns_ring_detach_appctx
    functionSourceFile: /src/haproxy/src/dns_ring.c
    functionUses: 0
    functionsReached:
    - b_peek
    - MT_LIST_DELETE
    - HA_RWLOCK_WRUNLOCK
    - HA_ATOMIC_DEC
    - b_size
    - b_head_ofs
    - HA_RWLOCK_WRLOCK
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: dns_ring_detach_appctx(struct dns_ring *ring, struct appctx *appctx,
      size_t ofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/stats-proxy.c:176,1
    - Dst: __objt_proxy
      Src: /src/haproxy/src/stats-proxy.c:178,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stats-proxy.c:181,1
    - Dst: __objt_listener
      Src: /src/haproxy/src/stats-proxy.c:185,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/stats-proxy.c:189,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stats-proxy.c:211,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 2
    argNames:
    - idx
    - objt
    argTypes:
    - enum stat_idx_px
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 229
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 229
    functionName: stcol_hide
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 0
    functionsReached:
    - ABORT_NOW
    - __objt_proxy
    - __objt_server
    - obj_type
    - BUG_ON
    - __objt_listener
    linkageType: ''
    returnType: int
    signature: stcol_hide(enum stat_idx_px idx, enum obj_type *objt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/stats-proxy.c:249,1
    - Dst: stcol_is_generic
      Src: /src/haproxy/src/stats-proxy.c:249,1
    - Dst: stcol_nature
      Src: /src/haproxy/src/stats-proxy.c:251,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/stats-proxy.c:268,1
    - Dst: __objt_proxy
      Src: /src/haproxy/src/stats-proxy.c:276,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/stats-proxy.c:285,1
    - Dst: stcol_hide
      Src: /src/haproxy/src/stats-proxy.c:300,1
    - Dst: mkf_s32
      Src: /src/haproxy/src/stats-proxy.c:302,1
    - Dst: stcol_format
      Src: /src/haproxy/src/stats-proxy.c:309,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/stats-proxy.c:311,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/stats-proxy.c:315,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stats-proxy.c:320,1
    - Dst: stcol_format
      Src: /src/haproxy/src/stats-proxy.c:320,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:321,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/stats-proxy.c:321,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/stats-proxy.c:326,1
    - Dst: stcol_format
      Src: /src/haproxy/src/stats-proxy.c:328,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:330,1
    - Dst: mkf_s32
      Src: /src/haproxy/src/stats-proxy.c:333,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/stats-proxy.c:337,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/stats-proxy.c:342,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 6
    argNames:
    - col
    - idx
    - objt
    - counters
    - cap
    - stat_file
    argTypes:
    - struct stat_col*
    - enum stat_idx_px
    - enum obj_type*
    - void*
    - uint8_t
    - int
    constantsTouched: []
    func_position:
      end: 346
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 346
    functionName: me_generate_field
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 0
    functionsReached:
    - ns_to_sec
    - stcol_is_generic
    - ABORT_NOW
    - read_freq_ctr
    - __objt_proxy
    - mkf_u64
    - stcol_format
    - stcol_hide
    - mkf_u32
    - BUG_ON
    - mkf_s32
    - stcol_nature
    linkageType: ''
    returnType: struct field
    signature: "me_generate_field(const struct stat_col *col,\n                                      enum
      stat_idx_px idx, enum obj_type *objt,\n                                      const
      void *counters, uint8_t cap,\n                                      int stat_file)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stcol_is_generic
      Src: /src/haproxy/src/stats-proxy.c:366,1
    - Dst: me_generate_field
      Src: /src/haproxy/src/stats-proxy.c:367,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:374,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:377,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:380,1
    - Dst: proxy_mode_str
      Src: /src/haproxy/src/stats-proxy.c:380,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:383,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:386,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:389,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:400,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:404,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:407,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:410,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:413,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:416,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:419,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:422,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:425,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/stats-proxy.c:437,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 79
    argCount: 5
    argNames:
    - px
    - flags
    - line
    - len
    - index
    argTypes:
    - struct proxy*
    - int
    - struct field*
    - int
    - enum stat_idx_px*
    constantsTouched: []
    func_position:
      end: 454
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 454
    functionName: stats_fill_fe_line
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 1
    functionsReached:
    - stcol_is_generic
    - mkf_u64
    - proxy_mode_str
    - me_generate_field
    - mkf_str
    - mkf_u32
    linkageType: ''
    returnType: int
    signature: "stats_fill_fe_line(struct proxy *px, int flags, struct field *line,
      int len,\n                       enum stat_idx_px *index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stats-proxy.c:463,1
    - Dst: memset
      Src: /src/haproxy/src/stats-proxy.c:475,1
    - Dst: stats_fill_fe_line
      Src: /src/haproxy/src/stats-proxy.c:477,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats-proxy.c:480,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/src/stats-proxy.c:486,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/stats-proxy.c:491,1
    - Dst: struct stats_module*::fill_stats
      Src: /src/haproxy/src/stats-proxy.c:492,1
    - Dst: stats_dump_one_line
      Src: /src/haproxy/src/stats-proxy.c:497,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - sc
    - px
    argTypes:
    - struct stconn*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 498
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 498
    functionName: stats_dump_fe_line
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 0
    functionsReached:
    - __sc_appctx
    - struct stats_module*::fill_stats
    - stats_dump_one_line
    - list_for_each_entry
    - EXTRA_COUNTERS_GET
    - memset
    - stats_px_get_cap
    - stats_fill_fe_line
    linkageType: ''
    returnType: int
    signature: stats_dump_fe_line(struct stconn *sc, struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/stats-proxy.c:510,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stats-proxy.c:518,1
    - Dst: stcol_is_generic
      Src: /src/haproxy/src/stats-proxy.c:524,1
    - Dst: me_generate_field
      Src: /src/haproxy/src/stats-proxy.c:525,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:532,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:535,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:538,1
    - Dst: proxy_mode_str
      Src: /src/haproxy/src/stats-proxy.c:538,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:541,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:544,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:547,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:550,1
    - Dst: get_li_status
      Src: /src/haproxy/src/stats-proxy.c:550,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:553,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:556,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:559,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:562,1
    - Dst: get_host_port
      Src: /src/haproxy/src/stats-proxy.c:569,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/stats-proxy.c:570,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:572,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/stats-proxy.c:572,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-proxy.c:573,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:576,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/stats-proxy.c:576,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-proxy.c:577,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:582,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:585,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/stats-proxy.c:585,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-proxy.c:586,1
    - Dst: strerror
      Src: /src/haproxy/src/stats-proxy.c:586,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:594,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 85
    argCount: 6
    argNames:
    - px
    - l
    - flags
    - line
    - len
    - selected_field
    argTypes:
    - struct proxy*
    - struct listener*
    - int
    - struct field*
    - int
    - enum stat_idx_px*
    constantsTouched: []
    func_position:
      end: 610
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 610
    functionName: stats_fill_li_line
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 1
    functionsReached:
    - stcol_is_generic
    - chunk_reset
    - strerror
    - chunk_strcat
    - addr_to_str
    - chunk_appendf
    - get_trash_chunk
    - proxy_mode_str
    - chunk_newstr
    - me_generate_field
    - mkf_str
    - get_host_port
    - get_li_status
    - mkf_u32
    linkageType: ''
    returnType: int
    signature: "stats_fill_li_line(struct proxy *px, struct listener *l, int flags,\n
      \                      struct field *line, int len, enum stat_idx_px *selected_field)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stats-proxy.c:619,1
    - Dst: memset
      Src: /src/haproxy/src/stats-proxy.c:625,1
    - Dst: stats_fill_li_line
      Src: /src/haproxy/src/stats-proxy.c:627,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats-proxy.c:631,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/src/stats-proxy.c:637,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/stats-proxy.c:642,1
    - Dst: struct stats_module*::fill_stats
      Src: /src/haproxy/src/stats-proxy.c:643,1
    - Dst: stats_dump_one_line
      Src: /src/haproxy/src/stats-proxy.c:648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - sc
    - px
    - l
    argTypes:
    - struct stconn*
    - struct proxy*
    - struct listener*
    constantsTouched: []
    func_position:
      end: 649
      start: 617
    functionDepth: 4
    functionLinenumber: 617
    functionLinenumberEnd: 649
    functionName: stats_dump_li_line
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 0
    functionsReached:
    - __sc_appctx
    - struct stats_module*::fill_stats
    - stats_dump_one_line
    - list_for_each_entry
    - EXTRA_COUNTERS_GET
    - stats_fill_li_line
    - memset
    - stats_px_get_cap
    linkageType: ''
    returnType: int
    signature: stats_dump_li_line(struct stconn *sc, struct proxy *px, struct listener
      *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 3
    argNames:
    - sv
    - ref
    - state
    argTypes:
    - struct server*
    - struct server*
    - enum srv_stats_state*
    constantsTouched: []
    func_position:
      end: 726
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 726
    functionName: stats_fill_sv_computestate
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "stats_fill_sv_computestate(struct server *sv, struct server *ref,\n
      \                                      enum srv_stats_state *state)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/stats-proxy.c:744,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stats-proxy.c:752,1
    - Dst: stats_fill_sv_computestate
      Src: /src/haproxy/src/stats-proxy.c:763,1
    - Dst: stcol_is_generic
      Src: /src/haproxy/src/stats-proxy.c:779,1
    - Dst: me_generate_field
      Src: /src/haproxy/src/stats-proxy.c:780,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:787,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:790,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:793,1
    - Dst: proxy_mode_str
      Src: /src/haproxy/src/stats-proxy.c:793,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:796,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:799,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:802,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:805,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:809,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:812,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:816,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:819,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:822,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:825,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:828,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/stats-proxy.c:831,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-proxy.c:833,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-proxy.c:835,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-proxy.c:837,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-proxy.c:839,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:844,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:847,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:850,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:853,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:856,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:860,1
    - Dst: srv_downtime
      Src: /src/haproxy/src/stats-proxy.c:860,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:864,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:867,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:870,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:873,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:876,1
    - Dst: server_is_draining
      Src: /src/haproxy/src/stats-proxy.c:879,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:880,1
    - Dst: server_throttle_rate
      Src: /src/haproxy/src/stats-proxy.c:880,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-proxy.c:885,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:886,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:890,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:893,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/stats-proxy.c:899,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-proxy.c:900,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-proxy.c:901,1
    - Dst: get_check_status_info
      Src: /src/haproxy/src/stats-proxy.c:901,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:904,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:910,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/stats-proxy.c:915,1
    - Dst: MAX
      Src: /src/haproxy/src/stats-proxy.c:915,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:919,1
    - Dst: get_check_status_description
      Src: /src/haproxy/src/stats-proxy.c:919,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:923,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:927,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:931,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:935,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/stats-proxy.c:941,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-proxy.c:942,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-proxy.c:943,1
    - Dst: get_check_status_info
      Src: /src/haproxy/src/stats-proxy.c:943,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:946,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:952,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/stats-proxy.c:956,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:960,1
    - Dst: get_check_status_description
      Src: /src/haproxy/src/stats-proxy.c:960,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:964,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:968,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:972,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:976,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:979,1
    - Dst: swrate_avg
      Src: /src/haproxy/src/stats-proxy.c:979,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:982,1
    - Dst: swrate_avg
      Src: /src/haproxy/src/stats-proxy.c:982,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:985,1
    - Dst: swrate_avg
      Src: /src/haproxy/src/stats-proxy.c:985,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:988,1
    - Dst: swrate_avg
      Src: /src/haproxy/src/stats-proxy.c:988,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:991,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:994,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:997,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1000,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/stats-proxy.c:1004,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:1006,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/stats-proxy.c:1006,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-proxy.c:1007,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:1010,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/stats-proxy.c:1010,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-proxy.c:1011,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:1016,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:1019,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/stats-proxy.c:1019,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-proxy.c:1020,1
    - Dst: strerror
      Src: /src/haproxy/src/stats-proxy.c:1020,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:1029,1
    CyclomaticComplexity: 118
    EdgeCount: 118
    ICount: 263
    argCount: 6
    argNames:
    - px
    - sv
    - flags
    - line
    - len
    - index
    argTypes:
    - struct proxy*
    - struct server*
    - int
    - struct field*
    - int
    - enum stat_idx_px*
    constantsTouched: []
    func_position:
      end: 1045
      start: 735
    functionDepth: 3
    functionLinenumber: 735
    functionLinenumberEnd: 1045
    functionName: stats_fill_sv_line
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 1
    functionsReached:
    - stats_fill_sv_computestate
    - chunk_reset
    - mkf_u64
    - addr_to_str
    - chunk_newstr
    - me_generate_field
    - server_throttle_rate
    - strerror
    - get_check_status_description
    - chunk_strcat
    - MAX
    - chunk_appendf
    - get_trash_chunk
    - srv_downtime
    - get_check_status_info
    - mkf_str
    - stcol_is_generic
    - swrate_avg
    - proxy_mode_str
    - server_is_draining
    - mkf_u32
    linkageType: ''
    returnType: int
    signature: "stats_fill_sv_line(struct proxy *px, struct server *sv, int flags,\n
      \                      struct field *line, int len,\n                       enum
      stat_idx_px *index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stats-proxy.c:1054,1
    - Dst: memset
      Src: /src/haproxy/src/stats-proxy.c:1060,1
    - Dst: stats_fill_sv_line
      Src: /src/haproxy/src/stats-proxy.c:1062,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats-proxy.c:1066,1
    - Dst: stats_get_domain
      Src: /src/haproxy/src/stats-proxy.c:1072,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/src/stats-proxy.c:1075,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/stats-proxy.c:1080,1
    - Dst: struct stats_module*::fill_stats
      Src: /src/haproxy/src/stats-proxy.c:1081,1
    - Dst: stats_dump_one_line
      Src: /src/haproxy/src/stats-proxy.c:1086,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - sc
    - px
    - sv
    argTypes:
    - struct stconn*
    - struct proxy*
    - struct server*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1052
    functionDepth: 4
    functionLinenumber: 1052
    functionLinenumberEnd: 1087
    functionName: stats_dump_sv_line
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 0
    functionsReached:
    - __sc_appctx
    - struct stats_module*::fill_stats
    - stats_dump_one_line
    - list_for_each_entry
    - EXTRA_COUNTERS_GET
    - memset
    - stats_px_get_cap
    - stats_get_domain
    - stats_fill_sv_line
    linkageType: ''
    returnType: int
    signature: stats_dump_sv_line(struct stconn *sc, struct proxy *px, struct server
      *sv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/stats-proxy.c:1100,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stats-proxy.c:1107,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stats-proxy.c:1110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - px
    - nbup
    - nbsrv
    - totuw
    argTypes:
    - struct proxy*
    - int*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 1116
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1116
    functionName: stats_fill_be_computesrv
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_RDUNLOCK
    - srv_currently_usable
    - HA_RWLOCK_RDLOCK
    linkageType: ''
    returnType: void
    signature: stats_fill_be_computesrv(struct proxy *px, int *nbup, int *nbsrv, int
      *totuw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/stats-proxy.c:1131,1
    - Dst: stats_fill_be_computesrv
      Src: /src/haproxy/src/stats-proxy.c:1143,1
    - Dst: stcol_is_generic
      Src: /src/haproxy/src/stats-proxy.c:1158,1
    - Dst: me_generate_field
      Src: /src/haproxy/src/stats-proxy.c:1159,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:1166,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:1169,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:1172,1
    - Dst: proxy_mode_str
      Src: /src/haproxy/src/stats-proxy.c:1172,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1175,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1178,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1181,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1184,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1187,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/stats-proxy.c:1190,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-proxy.c:1191,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-proxy.c:1193,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:1194,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1198,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1201,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1204,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1207,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1210,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1213,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1217,1
    - Dst: be_downtime
      Src: /src/haproxy/src/stats-proxy.c:1217,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1220,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1223,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1226,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1229,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1232,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:1236,1
    - Dst: mkf_str
      Src: /src/haproxy/src/stats-proxy.c:1240,1
    - Dst: backend_lb_algo_str
      Src: /src/haproxy/src/stats-proxy.c:1240,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1243,1
    - Dst: swrate_avg
      Src: /src/haproxy/src/stats-proxy.c:1243,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1246,1
    - Dst: swrate_avg
      Src: /src/haproxy/src/stats-proxy.c:1246,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1249,1
    - Dst: swrate_avg
      Src: /src/haproxy/src/stats-proxy.c:1249,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1252,1
    - Dst: swrate_avg
      Src: /src/haproxy/src/stats-proxy.c:1252,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1255,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1258,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1261,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stats-proxy.c:1264,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 129
    argCount: 5
    argNames:
    - px
    - flags
    - line
    - len
    - index
    argTypes:
    - struct proxy*
    - int
    - struct field*
    - int
    - enum stat_idx_px*
    constantsTouched: []
    func_position:
      end: 1280
      start: 1125
    functionDepth: 3
    functionLinenumber: 1125
    functionLinenumberEnd: 1280
    functionName: stats_fill_be_line
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 1
    functionsReached:
    - stcol_is_generic
    - backend_lb_algo_str
    - stats_fill_be_computesrv
    - be_downtime
    - chunk_appendf
    - get_trash_chunk
    - swrate_avg
    - proxy_mode_str
    - chunk_newstr
    - me_generate_field
    - mkf_str
    - mkf_u32
    linkageType: ''
    returnType: int
    signature: "stats_fill_be_line(struct proxy *px, int flags, struct field *line,
      int len,\n                       enum stat_idx_px *index)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stats-proxy.c:1288,1
    - Dst: memset
      Src: /src/haproxy/src/stats-proxy.c:1300,1
    - Dst: stats_fill_be_line
      Src: /src/haproxy/src/stats-proxy.c:1302,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats-proxy.c:1305,1
    - Dst: stats_get_domain
      Src: /src/haproxy/src/stats-proxy.c:1311,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/src/stats-proxy.c:1314,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/stats-proxy.c:1319,1
    - Dst: struct stats_module*::fill_stats
      Src: /src/haproxy/src/stats-proxy.c:1320,1
    - Dst: stats_dump_one_line
      Src: /src/haproxy/src/stats-proxy.c:1325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - sc
    - px
    argTypes:
    - struct stconn*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1326
      start: 1286
    functionDepth: 4
    functionLinenumber: 1286
    functionLinenumberEnd: 1326
    functionName: stats_dump_be_line
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 0
    functionsReached:
    - __sc_appctx
    - struct stats_module*::fill_stats
    - stats_fill_be_line
    - list_for_each_entry
    - stats_dump_one_line
    - EXTRA_COUNTERS_GET
    - memset
    - stats_px_get_cap
    - stats_get_domain
    linkageType: ''
    returnType: int
    signature: stats_dump_be_line(struct stconn *sc, struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stats-proxy.c:1338,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stats-proxy.c:1348,1
    - Dst: strlen
      Src: /src/haproxy/src/stats-proxy.c:1360,1
    - Dst: memcmp
      Src: /src/haproxy/src/stats-proxy.c:1365,1
    - Dst: strcmp
      Src: /src/haproxy/src/stats-proxy.c:1369,1
    - Dst: strnistr
      Src: /src/haproxy/src/stats-proxy.c:1385,1
    - Dst: strlen
      Src: /src/haproxy/src/stats-proxy.c:1385,1
    - Dst: stats_dump_html_px_hdr
      Src: /src/haproxy/src/stats-proxy.c:1399,1
    - Dst: stats_putchk
      Src: /src/haproxy/src/stats-proxy.c:1400,1
    - Dst: stats_dump_fe_line
      Src: /src/haproxy/src/stats-proxy.c:1409,1
    - Dst: stats_putchk
      Src: /src/haproxy/src/stats-proxy.c:1410,1
    - Dst: stats_is_full
      Src: /src/haproxy/src/stats-proxy.c:1425,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/stats-proxy.c:1428,1
    - Dst: stats_dump_li_line
      Src: /src/haproxy/src/stats-proxy.c:1441,1
    - Dst: stats_putchk
      Src: /src/haproxy/src/stats-proxy.c:1442,1
    - Dst: watcher_attach
      Src: /src/haproxy/src/stats-proxy.c:1452,1
    - Dst: watcher_next
      Src: /src/haproxy/src/stats-proxy.c:1460,1
    - Dst: stats_is_full
      Src: /src/haproxy/src/stats-proxy.c:1462,1
    - Dst: watcher_detach
      Src: /src/haproxy/src/stats-proxy.c:1467,1
    - Dst: stats_dump_sv_line
      Src: /src/haproxy/src/stats-proxy.c:1495,1
    - Dst: stats_putchk
      Src: /src/haproxy/src/stats-proxy.c:1496,1
    - Dst: stats_dump_be_line
      Src: /src/haproxy/src/stats-proxy.c:1510,1
    - Dst: stats_putchk
      Src: /src/haproxy/src/stats-proxy.c:1511,1
    - Dst: stats_dump_html_px_end
      Src: /src/haproxy/src/stats-proxy.c:1524,1
    - Dst: stats_putchk
      Src: /src/haproxy/src/stats-proxy.c:1525,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 147
    argCount: 4
    argNames:
    - sc
    - buf
    - htx
    - px
    argTypes:
    - struct stconn*
    - struct buffer*
    - struct htx*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1544
      start: 1335
    functionDepth: 5
    functionLinenumber: 1335
    functionLinenumberEnd: 1544
    functionName: stats_dump_proxy_to_buffer
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 0
    functionsReached:
    - stats_dump_be_line
    - chunk_reset
    - __sc_appctx
    - stats_dump_html_px_hdr
    - watcher_detach
    - stats_dump_fe_line
    - stats_dump_html_px_end
    - strlen
    - strcmp
    - stats_putchk
    - stats_is_full
    - watcher_next
    - stats_dump_li_line
    - strnistr
    - stats_dump_sv_line
    - memcmp
    - watcher_attach
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: "stats_dump_proxy_to_buffer(struct stconn *sc, struct buffer *buf,\n
      \                                     struct htx *htx, struct proxy *px)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stats-proxy.c:1551,1
    - Dst: stats_is_full
      Src: /src/haproxy/src/stats-proxy.c:1557,1
    - Dst: stats_dump_proxy_to_buffer
      Src: /src/haproxy/src/stats-proxy.c:1567,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - sc
    - buf
    - htx
    argTypes:
    - struct stconn*
    - struct buffer*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1580
      start: 1549
    functionDepth: 6
    functionLinenumber: 1549
    functionLinenumberEnd: 1580
    functionName: stats_dump_proxies
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 1
    functionsReached:
    - stats_dump_proxy_to_buffer
    - __sc_appctx
    - stats_is_full
    linkageType: ''
    returnType: int
    signature: stats_dump_proxies(struct stconn *sc, struct buffer *buf, struct htx
      *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/stats-proxy.c:1591,1
    - Dst: memset
      Src: /src/haproxy/src/stats-proxy.c:1592,1
    - Dst: memset
      Src: /src/haproxy/src/stats-proxy.c:1613,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats-proxy.c:1624,1
    - Dst: memset
      Src: /src/haproxy/src/stats-proxy.c:1627,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/src/stats-proxy.c:1638,1
    - Dst: EXTRA_COUNTERS_INIT
      Src: /src/haproxy/src/stats-proxy.c:1641,1
    - Dst: EXTRA_COUNTERS_INIT
      Src: /src/haproxy/src/stats-proxy.c:1648,1
    - Dst: EXTRA_COUNTERS_INIT
      Src: /src/haproxy/src/stats-proxy.c:1656,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stats-proxy.c:1664,1
    - Dst: EXTRA_COUNTERS_INIT
      Src: /src/haproxy/src/stats-proxy.c:1665,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 2
    argNames:
    - clrall
    - stat_modules
    argTypes:
    - int
    - struct list*
    constantsTouched: []
    func_position:
      end: 1673
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1673
    functionName: proxy_stats_clear_counters
    functionSourceFile: /src/haproxy/src/stats-proxy.c
    functionUses: 1
    functionsReached:
    - memset
    - stats_px_get_cap
    - EXTRA_COUNTERS_INIT
    - list_for_each_entry
    linkageType: ''
    returnType: void
    signature: proxy_stats_clear_counters(int clrall, struct list *stat_modules)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: evports_state_to_events
    functionSourceFile: /src/haproxy/src/ev_evports.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: evports_state_to_events(int state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: port_dissociate
      Src: /src/haproxy/src/ev_evports.c:59,1
    - Dst: port_associate
      Src: /src/haproxy/src/ev_evports.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - events
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: evports_resync_fd
    functionSourceFile: /src/haproxy/src/ev_evports.c
    functionUses: 0
    functionsReached:
    - port_associate
    - port_dissociate
    linkageType: ''
    returnType: void
    signature: evports_resync_fd(int fd, int events)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ev_evports.c:71,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ev_evports.c:72,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_evports.c:82,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_evports.c:84,1
    - Dst: evports_state_to_events
      Src: /src/haproxy/src/ev_evports.c:88,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_evports.c:91,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_evports.c:94,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_evports.c:98,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_evports.c:101,1
    - Dst: evports_resync_fd
      Src: /src/haproxy/src/ev_evports.c:105,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 106
    functionName: _update_fd
    functionSourceFile: /src/haproxy/src/ev_evports.c
    functionUses: 2
    functionsReached:
    - evports_state_to_events
    - _HA_ATOMIC_OR
    - _HA_ATOMIC_AND
    - _HA_ATOMIC_LOAD
    - evports_resync_fd
    linkageType: ''
    returnType: void
    signature: _update_fd(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - poller
    - fd
    - old_ltid
    - old_tgid
    argTypes:
    - struct poller*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: _do_fixup_tgid_takeover
    functionSourceFile: /src/haproxy/src/ev_evports.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _do_fixup_tgid_takeover(struct poller *poller, const int fd, const
      int old_ltid, const int old_tgid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_grab_tgid
      Src: /src/haproxy/src/ev_evports.c:137,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_evports.c:143,1
    - Dst: _update_fd
      Src: /src/haproxy/src/ev_evports.c:146,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/ev_evports.c:150,1
    - Dst: fd_grab_tgid
      Src: /src/haproxy/src/ev_evports.c:165,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/ev_evports.c:172,1
    - Dst: done_update_polling
      Src: /src/haproxy/src/ev_evports.c:176,1
    - Dst: _update_fd
      Src: /src/haproxy/src/ev_evports.c:179,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/ev_evports.c:183,1
    - Dst: thread_idle_now
      Src: /src/haproxy/src/ev_evports.c:186,1
    - Dst: thread_harmless_now
      Src: /src/haproxy/src/ev_evports.c:187,1
    - Dst: compute_poll_timeout
      Src: /src/haproxy/src/ev_evports.c:190,1
    - Dst: clock_entering_poll
      Src: /src/haproxy/src/ev_evports.c:191,1
    - Dst: port_getn
      Src: /src/haproxy/src/ev_evports.c:208,1
    - Dst: clock_update_local_date
      Src: /src/haproxy/src/ev_evports.c:236,1
    - Dst: tick_isset
      Src: /src/haproxy/src/ev_evports.c:242,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/ev_evports.c:242,1
    - Dst: clock_update_global_date
      Src: /src/haproxy/src/ev_evports.c:246,1
    - Dst: fd_leaving_poll
      Src: /src/haproxy/src/ev_evports.c:247,1
    - Dst: fd_tgid
      Src: /src/haproxy/src/ev_evports.c:260,1
    - Dst: port_dissociate
      Src: /src/haproxy/src/ev_evports.c:265,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/ev_evports.c:272,1
    - Dst: evports_state_to_events
      Src: /src/haproxy/src/ev_evports.c:280,1
    - Dst: fd_update_events
      Src: /src/haproxy/src/ev_evports.c:298,1
    - Dst: evports_resync_fd
      Src: /src/haproxy/src/ev_evports.c:327,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 84
    argCount: 3
    argNames:
    - p
    - exp
    - wake
    argTypes:
    - struct poller*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 329
      start: 122
    functionDepth: 4
    functionLinenumber: 122
    functionLinenumberEnd: 329
    functionName: _do_poll
    functionSourceFile: /src/haproxy/src/ev_evports.c
    functionUses: 0
    functionsReached:
    - thread_harmless_now
    - fd_update_events
    - clock_entering_poll
    - evports_resync_fd
    - clock_update_global_date
    - done_update_polling
    - fd_drop_tgid
    - thread_idle_now
    - port_dissociate
    - fd_grab_tgid
    - evports_state_to_events
    - tick_is_expired
    - _HA_ATOMIC_INC
    - clock_update_local_date
    - _HA_ATOMIC_AND
    - fd_leaving_poll
    - fd_tgid
    - port_getn
    - _update_fd
    - tick_isset
    - compute_poll_timeout
    linkageType: ''
    returnType: void
    signature: _do_poll(struct poller *p, int exp, int wake)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ev_evports.c:334,1
    - Dst: port_create
      Src: /src/haproxy/src/ev_evports.c:340,1
    - Dst: fd_reregister_all
      Src: /src/haproxy/src/ev_evports.c:350,1
    - Dst: ha_free
      Src: /src/haproxy/src/ev_evports.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 359
    functionName: init_evports_per_thread
    functionSourceFile: /src/haproxy/src/ev_evports.c
    functionUses: 0
    functionsReached:
    - calloc
    - ha_free
    - port_create
    - fd_reregister_all
    linkageType: ''
    returnType: int
    signature: init_evports_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/haproxy/src/ev_evports.c:364,1
    - Dst: ha_free
      Src: /src/haproxy/src/ev_evports.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 368
    functionName: deinit_evports_per_thread
    functionSourceFile: /src/haproxy/src/ev_evports.c
    functionUses: 0
    functionsReached:
    - close
    - ha_free
    linkageType: ''
    returnType: void
    signature: deinit_evports_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: port_create
      Src: /src/haproxy/src/ev_evports.c:378,1
    - Dst: hap_register_per_thread_init
      Src: /src/haproxy/src/ev_evports.c:382,1
    - Dst: hap_register_per_thread_deinit
      Src: /src/haproxy/src/ev_evports.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 390
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 390
    functionName: _do_init
    functionSourceFile: /src/haproxy/src/ev_evports.c
    functionUses: 0
    functionsReached:
    - hap_register_per_thread_deinit
    - port_create
    - hap_register_per_thread_init
    linkageType: ''
    returnType: int
    signature: _do_init(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/haproxy/src/ev_evports.c:399,1
    - Dst: ha_free
      Src: /src/haproxy/src/ev_evports.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 408
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 408
    functionName: _do_term
    functionSourceFile: /src/haproxy/src/ev_evports.c
    functionUses: 0
    functionsReached:
    - close
    - ha_free
    linkageType: ''
    returnType: void
    signature: _do_term(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: port_create
      Src: /src/haproxy/src/ev_evports.c:419,1
    - Dst: close
      Src: /src/haproxy/src/ev_evports.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: _do_test
    functionSourceFile: /src/haproxy/src/ev_evports.c
    functionUses: 0
    functionsReached:
    - port_create
    - close
    linkageType: ''
    returnType: int
    signature: _do_test(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/haproxy/src/ev_evports.c:435,1
    - Dst: port_create
      Src: /src/haproxy/src/ev_evports.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 443
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 443
    functionName: _do_fork
    functionSourceFile: /src/haproxy/src/ev_evports.c
    functionUses: 0
    functionsReached:
    - port_create
    - close
    linkageType: ''
    returnType: int
    signature: _do_fork(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 473
    functionName: _do_register
    functionSourceFile: /src/haproxy/src/ev_evports.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _do_register(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/dict.c:12,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/dict.c:18,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 21
      start: 8
    functionDepth: 3
    functionLinenumber: 8
    functionLinenumberEnd: 21
    functionName: new_dict
    functionSourceFile: /src/haproxy/src/dict.c
    functionUses: 0
    functionsReached:
    - malloc
    - HA_RWLOCK_INIT
    linkageType: ''
    returnType: struct dict
    signature: '*new_dict(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/dict.c:31,1
    - Dst: strdup
      Src: /src/haproxy/src/dict.c:35,1
    - Dst: strlen
      Src: /src/haproxy/src/dict.c:39,1
    - Dst: ha_free
      Src: /src/haproxy/src/dict.c:45,1
    - Dst: free
      Src: /src/haproxy/src/dict.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 27
    functionDepth: 3
    functionLinenumber: 27
    functionLinenumberEnd: 49
    functionName: new_dict_entry
    functionSourceFile: /src/haproxy/src/dict.c
    functionUses: 0
    functionsReached:
    - ha_free
    - strlen
    - calloc
    - strdup
    - free
    linkageType: ''
    returnType: struct dict_entry
    signature: '*new_dict_entry(char *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/dict.c:57,1
    - Dst: free
      Src: /src/haproxy/src/dict.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - de
    argTypes:
    - struct dict_entry*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: free_dict_entry
    functionSourceFile: /src/haproxy/src/dict.c
    functionUses: 0
    functionsReached:
    - free
    - ha_free
    linkageType: ''
    returnType: void
    signature: free_dict_entry(struct dict_entry *de)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebis_lookup
      Src: /src/haproxy/src/dict.c:70,1
    - Dst: container_of
      Src: /src/haproxy/src/dict.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct dict*
    - char*
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: __dict_lookup
    functionSourceFile: /src/haproxy/src/dict.c
    functionUses: 0
    functionsReached:
    - ebis_lookup
    - container_of
    linkageType: ''
    returnType: struct dict_entry
    signature: '*__dict_lookup(struct dict *d, const char *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/dict.c:85,1
    - Dst: __dict_lookup
      Src: /src/haproxy/src/dict.c:86,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/dict.c:87,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/dict.c:89,1
    - Dst: new_dict_entry
      Src: /src/haproxy/src/dict.c:93,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/dict.c:97,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/dict.c:98,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/dict.c:99,1
    - Dst: free_dict_entry
      Src: /src/haproxy/src/dict.c:101,1
    - Dst: container_of
      Src: /src/haproxy/src/dict.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - struct dict*
    - char*
    constantsTouched: []
    func_position:
      end: 106
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 106
    functionName: dict_insert
    functionSourceFile: /src/haproxy/src/dict.c
    functionUses: 1
    functionsReached:
    - free_dict_entry
    - new_dict_entry
    - container_of
    - HA_ATOMIC_INC
    - __dict_lookup
    - ebis_insert
    - HA_RWLOCK_RDLOCK
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: struct dict_entry
    signature: '*dict_insert(struct dict *d, char *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_SUB_FETCH
      Src: /src/haproxy/src/dict.c:119,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/dict.c:122,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/dict.c:123,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/dict.c:124,1
    - Dst: free_dict_entry
      Src: /src/haproxy/src/dict.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - d
    - de
    argTypes:
    - struct dict*
    - struct dict_entry*
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: dict_entry_unref
    functionSourceFile: /src/haproxy/src/dict.c
    functionUses: 2
    functionsReached:
    - free_dict_entry
    - HA_ATOMIC_SUB_FETCH
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    - ebpt_delete
    linkageType: ''
    returnType: void
    signature: dict_entry_unref(struct dict *d, struct dict_entry *de)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/shctx.c:35,1
    - Dst: shctx_wrlock
      Src: /src/haproxy/src/shctx.c:64,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/shctx.c:68,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/shctx.c:73,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/shctx.c:75,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/shctx.c:79,1
    - Dst: struct shared_context*::free_block
      Src: /src/haproxy/src/shctx.c:83,1
    - Dst: shctx_block_append_hot
      Src: /src/haproxy/src/shctx.c:87,1
    - Dst: shctx_block_detach
      Src: /src/haproxy/src/shctx.c:93,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/shctx.c:110,1
    - Dst: struct shared_context*::reserve_finish
      Src: /src/haproxy/src/shctx.c:113,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 3
    argNames:
    - shctx
    - first
    - data_len
    argTypes:
    - struct shared_context*
    - struct shared_block*
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 117
    functionName: shctx_row_reserve_hot
    functionSourceFile: /src/haproxy/src/shctx.c
    functionUses: 1
    functionsReached:
    - shctx_block_append_hot
    - struct shared_context*::free_block
    - shctx_wrunlock
    - LIST_ISEMPTY
    - list_for_each_entry_safe
    - shctx_block_detach
    - struct shared_context*::reserve_finish
    - shctx_wrlock
    - BUG_ON
    linkageType: ''
    returnType: struct shared_block
    signature: "*shctx_row_reserve_hot(struct shared_context *shctx,\n                                           struct
      shared_block *first, int data_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/shctx.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - shctx
    - first
    argTypes:
    - struct shared_context*
    - struct shared_block*
    constantsTouched: []
    func_position:
      end: 141
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 141
    functionName: shctx_row_detach
    functionSourceFile: /src/haproxy/src/shctx.c
    functionUses: 1
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: shctx_row_detach(struct shared_context *shctx, struct shared_block
      *first)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/shctx.c:152,1
    - Dst: LIST_SPLICE_END_DETACHED
      Src: /src/haproxy/src/shctx.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - shctx
    - first
    argTypes:
    - struct shared_context*
    - struct shared_block*
    constantsTouched: []
    func_position:
      end: 160
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 160
    functionName: shctx_row_reattach
    functionSourceFile: /src/haproxy/src/shctx.c
    functionUses: 1
    functionsReached:
    - BUG_ON
    - LIST_SPLICE_END_DETACHED
    linkageType: ''
    returnType: void
    signature: shctx_row_reattach(struct shared_context *shctx, struct shared_block
      *first)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/shctx.c:188,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/shctx.c:198,1
    - Dst: MIN
      Src: /src/haproxy/src/shctx.c:202,1
    - Dst: memcpy
      Src: /src/haproxy/src/shctx.c:204,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/shctx.c:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - shctx
    - first
    - data
    - len
    argTypes:
    - struct shared_context*
    - struct shared_block*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 215
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 215
    functionName: shctx_row_data_append
    functionSourceFile: /src/haproxy/src/shctx.c
    functionUses: 1
    functionsReached:
    - memcpy
    - MIN
    - BUG_ON
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: "shctx_row_data_append(struct shared_context *shctx, struct shared_block
      *first,\n                          unsigned char *data, int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/shctx.c:250,1
    - Dst: MIN
      Src: /src/haproxy/src/shctx.c:253,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/shctx.c:254,1
    - Dst: memcpy
      Src: /src/haproxy/src/shctx.c:256,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/shctx.c:261,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - shctx
    - first
    - dst
    - offset
    - len
    argTypes:
    - struct shared_context*
    - struct shared_block*
    - unsigned char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 264
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 264
    functionName: shctx_row_data_get
    functionSourceFile: /src/haproxy/src/shctx.c
    functionUses: 1
    functionsReached:
    - memcpy
    - MIN
    - BUG_ON
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: "shctx_row_data_get(struct shared_context *shctx, struct shared_block
      *first,\n                       unsigned char *dst, int offset, int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/haproxy/src/shctx.c:289,1
    - Dst: vma_set_name
      Src: /src/haproxy/src/shctx.c:296,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/shctx.c:300,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/shctx.c:301,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/shctx.c:313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - orig_shctx
    - maxblocks
    - blocksize
    - maxobjsz
    - extra
    - name
    argTypes:
    - struct shared_context**
    - int
    - int
    - unsigned int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 322
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 322
    functionName: shctx_init
    functionSourceFile: /src/haproxy/src/shctx.c
    functionUses: 1
    functionsReached:
    - vma_set_name
    - LIST_APPEND
    - mmap
    - LIST_INIT
    - HA_RWLOCK_INIT
    linkageType: ''
    returnType: int
    signature: "shctx_init(struct shared_context **orig_shctx, int maxblocks, int
      blocksize,\n               unsigned int maxobjsz, int extra, const char *name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/proto_uxst.c:190,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_uxst.c:196,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proto_uxst.c:208,1
    - Dst: sock_accepting_conn
      Src: /src/haproxy/src/proto_uxst.c:217,1
    - Dst: listen
      Src: /src/haproxy/src/proto_uxst.c:220,1
    - Dst: listener_backlog
      Src: /src/haproxy/src/proto_uxst.c:220,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proto_uxst.c:222,1
    - Dst: strerror
      Src: /src/haproxy/src/proto_uxst.c:222,1
    - Dst: listener_set_state
      Src: /src/haproxy/src/proto_uxst.c:228,1
    - Dst: fd_delete
      Src: /src/haproxy/src/proto_uxst.c:232,1
    - Dst: sa2str
      Src: /src/haproxy/src/proto_uxst.c:237,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_uxst.c:238,1
    - Dst: ha_free
      Src: /src/haproxy/src/proto_uxst.c:239,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/proto_uxst.c:241,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - listener
    - errmsg
    - errlen
    argTypes:
    - struct listener*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 244
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 244
    functionName: uxst_bind_listener
    functionSourceFile: /src/haproxy/src/proto_uxst.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - strerror
    - listen
    - listener_backlog
    - fd_delete
    - ha_free
    - snprintf
    - listener_set_state
    - chunk_appendf
    - sock_accepting_conn
    - free_trash_chunk
    - sa2str
    linkageType: ''
    returnType: int
    signature: uxst_bind_listener(struct listener *listener, char *errmsg, int errlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_want_recv_safe
      Src: /src/haproxy/src/proto_uxst.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: uxst_enable_listener
    functionSourceFile: /src/haproxy/src/proto_uxst.c
    functionUses: 0
    functionsReached:
    - fd_want_recv_safe
    linkageType: ''
    returnType: void
    signature: uxst_enable_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/proto_uxst.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: uxst_disable_listener
    functionSourceFile: /src/haproxy/src/proto_uxst.c
    functionUses: 0
    functionsReached:
    - fd_stop_recv
    linkageType: ''
    returnType: void
    signature: uxst_disable_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/proto_uxst.c:271,1
    - Dst: uxst_disable_listener
      Src: /src/haproxy/src/proto_uxst.c:274,1
    - Dst: do_unbind_listener
      Src: /src/haproxy/src/proto_uxst.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: uxst_suspend_receiver
    functionSourceFile: /src/haproxy/src/proto_uxst.c
    functionUses: 0
    functionsReached:
    - do_unbind_listener
    - uxst_disable_listener
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: uxst_suspend_receiver(struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/proto_uxst.c:316,1
    - Dst: obj_type
      Src: /src/haproxy/src/proto_uxst.c:318,1
    - Dst: __objt_proxy
      Src: /src/haproxy/src/proto_uxst.c:320,1
    - Dst: __objt_server
      Src: /src/haproxy/src/proto_uxst.c:324,1
    - Dst: sock_create_server_socket
      Src: /src/haproxy/src/proto_uxst.c:333,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_uxst.c:339,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_uxst.c:342,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/proto_uxst.c:348,1
    - Dst: connect
      Src: /src/haproxy/src/proto_uxst.c:351,1
    - Dst: qfprintf
      Src: /src/haproxy/src/proto_uxst.c:369,1
    - Dst: strerror
      Src: /src/haproxy/src/proto_uxst.c:369,1
    - Dst: close
      Src: /src/haproxy/src/proto_uxst.c:370,1
    - Dst: send_log
      Src: /src/haproxy/src/proto_uxst.c:371,1
    - Dst: strerror
      Src: /src/haproxy/src/proto_uxst.c:371,1
    - Dst: close
      Src: /src/haproxy/src/proto_uxst.c:376,1
    - Dst: close
      Src: /src/haproxy/src/proto_uxst.c:382,1
    - Dst: conn_ctrl_init
      Src: /src/haproxy/src/proto_uxst.c:399,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/proto_uxst.c:400,1
    - Dst: fd_want_send
      Src: /src/haproxy/src/proto_uxst.c:403,1
    - Dst: fd_cant_send
      Src: /src/haproxy/src/proto_uxst.c:404,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/proto_uxst.c:405,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 2
    argNames:
    - conn
    - flags
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 409
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 409
    functionName: uxst_connect_server
    functionSourceFile: /src/haproxy/src/proto_uxst.c
    functionUses: 0
    functionsReached:
    - send_log
    - strerror
    - setsockopt
    - conn_ctrl_init
    - HA_ATOMIC_AND
    - __objt_proxy
    - qfprintf
    - __objt_server
    - connect
    - obj_type
    - fd_cant_send
    - sock_create_server_socket
    - fd_want_send
    - fd_cant_recv
    - BUG_ON
    - close
    - get_addr_len
    linkageType: ''
    returnType: int
    signature: uxst_connect_server(struct connection *conn, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_set_verify
      Src: /src/haproxy/src/ssl_clienthello.c:26,1
    - Dst: SSL_CTX_get_verify_mode
      Src: /src/haproxy/src/ssl_clienthello.c:26,1
    - Dst: SSL_set_client_CA_list
      Src: /src/haproxy/src/ssl_clienthello.c:27,1
    - Dst: SSL_dup_CA_list
      Src: /src/haproxy/src/ssl_clienthello.c:27,1
    - Dst: SSL_CTX_get_client_CA_list
      Src: /src/haproxy/src/ssl_clienthello.c:27,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/haproxy/src/ssl_clienthello.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ssl
    - ctx
    argTypes:
    - SSL*
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: ssl_sock_switchctx_set
    functionSourceFile: /src/haproxy/src/ssl_clienthello.c
    functionUses: 0
    functionsReached:
    - SSL_set_SSL_CTX
    - SSL_set_verify
    - SSL_set_client_CA_list
    - SSL_CTX_get_verify_mode
    - SSL_dup_CA_list
    - SSL_CTX_get_client_CA_list
    linkageType: ''
    returnType: void
    signature: ssl_sock_switchctx_set(SSL *ssl, SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebst_lookup
      Src: /src/haproxy/src/ssl_clienthello.c:59,1
    - Dst: ebst_lookup
      Src: /src/haproxy/src/ssl_clienthello.c:61,1
    - Dst: ebmb_next_dup
      Src: /src/haproxy/src/ssl_clienthello.c:65,1
    - Dst: container_of
      Src: /src/haproxy/src/ssl_clienthello.c:68,1
    - Dst: container_of
      Src: /src/haproxy/src/ssl_clienthello.c:74,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_clienthello.c:75,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_clienthello.c:76,1
    - Dst: container_of
      Src: /src/haproxy/src/ssl_clienthello.c:85,1
    - Dst: container_of
      Src: /src/haproxy/src/ssl_clienthello.c:117,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 57
    argCount: 4
    argNames:
    - s
    - servername
    - have_rsa_sig
    - have_ecdsa_sig
    argTypes:
    - struct bind_conf*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 120
    functionName: ssl_sock_chose_sni_ctx
    functionSourceFile: /src/haproxy/src/ssl_clienthello.c
    functionUses: 1
    functionsReached:
    - container_of
    - list_for_each_entry
    - strcmp
    - ebst_lookup
    - ebmb_next_dup
    linkageType: ''
    returnType: struct sni_ctx
    signature: "*ssl_sock_chose_sni_ctx(struct bind_conf *s, const char *servername,\n
      \                                                            int have_rsa_sig,
      int have_ecdsa_sig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_servername
      Src: /src/haproxy/src/ssl_clienthello.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ssl
    - al
    - priv
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: ssl_sock_switchctx_err_cbk
    functionSourceFile: /src/haproxy/src/ssl_clienthello.c
    functionUses: 0
    functionsReached:
    - SSL_get_servername
    linkageType: ''
    returnType: int
    signature: ssl_sock_switchctx_err_cbk(SSL *ssl, int *al, void *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_clienthello.c:453,1
    - Dst: SSL_get_peer_quic_transport_params
      Src: /src/haproxy/src/ssl_clienthello.c:462,1
    - Dst: quic_set_tls_alert
      Src: /src/haproxy/src/ssl_clienthello.c:469,1
    - Dst: quic_transport_params_store
      Src: /src/haproxy/src/ssl_clienthello.c:473,1
    - Dst: SSL_get_servername
      Src: /src/haproxy/src/ssl_clienthello.c:481,1
    - Dst: ssl_sock_generate_certificate_from_conn
      Src: /src/haproxy/src/ssl_clienthello.c:484,1
    - Dst: tolower
      Src: /src/haproxy/src/ssl_clienthello.c:501,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/ssl_clienthello.c:509,1
    - Dst: ebst_lookup
      Src: /src/haproxy/src/ssl_clienthello.c:512,1
    - Dst: ebmb_next_dup
      Src: /src/haproxy/src/ssl_clienthello.c:512,1
    - Dst: container_of
      Src: /src/haproxy/src/ssl_clienthello.c:514,1
    - Dst: ebst_lookup
      Src: /src/haproxy/src/ssl_clienthello.c:521,1
    - Dst: ebmb_next_dup
      Src: /src/haproxy/src/ssl_clienthello.c:521,1
    - Dst: container_of
      Src: /src/haproxy/src/ssl_clienthello.c:523,1
    - Dst: ssl_sock_generate_certificate
      Src: /src/haproxy/src/ssl_clienthello.c:531,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_clienthello.c:533,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_clienthello.c:537,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_clienthello.c:552,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 67
    argCount: 3
    argNames:
    - ssl
    - al
    - priv
    argTypes:
    - SSL*
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 554
      start: 443
    functionDepth: 5
    functionLinenumber: 443
    functionLinenumberEnd: 554
    functionName: ssl_sock_switchctx_cbk
    functionSourceFile: /src/haproxy/src/ssl_clienthello.c
    functionUses: 0
    functionsReached:
    - container_of
    - tolower
    - SSL_get_ex_data
    - SSL_get_peer_quic_transport_params
    - ssl_sock_generate_certificate_from_conn
    - HA_RWLOCK_RDLOCK
    - SSL_get_servername
    - quic_transport_params_store
    - ebst_lookup
    - quic_set_tls_alert
    - ssl_sock_generate_certificate
    - HA_RWLOCK_RDUNLOCK
    - ebmb_next_dup
    linkageType: ''
    returnType: int
    signature: ssl_sock_switchctx_cbk(SSL *ssl, int *al, void *priv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/ssl_clienthello.c:575,1
    - Dst: SSL_get_servername
      Src: /src/haproxy/src/ssl_clienthello.c:579,1
    - Dst: wolfSSL_get_client_suites_sigalgs
      Src: /src/haproxy/src/ssl_clienthello.c:598,1
    - Dst: SSL_version
      Src: /src/haproxy/src/ssl_clienthello.c:602,1
    - Dst: wolfSSL_get_ciphersuite_info
      Src: /src/haproxy/src/ssl_clienthello.c:609,1
    - Dst: wolfSSL_get_sigalg_info
      Src: /src/haproxy/src/ssl_clienthello.c:623,1
    - Dst: tolower
      Src: /src/haproxy/src/ssl_clienthello.c:638,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/ssl_clienthello.c:642,1
    - Dst: ssl_sock_chose_sni_ctx
      Src: /src/haproxy/src/ssl_clienthello.c:643,1
    - Dst: ssl_sock_switchctx_set
      Src: /src/haproxy/src/ssl_clienthello.c:647,1
    - Dst: ssl_set_version
      Src: /src/haproxy/src/ssl_clienthello.c:649,1
    - Dst: ssl_set_version
      Src: /src/haproxy/src/ssl_clienthello.c:650,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_clienthello.c:652,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_clienthello.c:656,1
    - Dst: strncpy
      Src: /src/haproxy/src/ssl_clienthello.c:675,1
    - Dst: SSL_set_ex_data
      Src: /src/haproxy/src/ssl_clienthello.c:677,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - WOLFSSL*
    - void*
    constantsTouched: []
    func_position:
      end: 689
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 689
    functionName: ssl_sock_switchctx_wolfSSL_cbk
    functionSourceFile: /src/haproxy/src/ssl_clienthello.c
    functionUses: 0
    functionsReached:
    - ssl_sock_chose_sni_ctx
    - wolfSSL_get_ciphersuite_info
    - ABORT_NOW
    - tolower
    - SSL_version
    - strncpy
    - wolfSSL_get_sigalg_info
    - HA_RWLOCK_RDLOCK
    - SSL_get_servername
    - ssl_set_version
    - ssl_sock_switchctx_set
    - SSL_set_ex_data
    - HA_RWLOCK_RDUNLOCK
    - wolfSSL_get_client_suites_sigalgs
    linkageType: ''
    returnType: int
    signature: ssl_sock_switchctx_wolfSSL_cbk(WOLFSSL* ssl, void* arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - i
    - prefix_size
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 23
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 23
    functionName: qpack_get_prefix_int_size
    functionSourceFile: /src/haproxy/src/qpack-enc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: qpack_get_prefix_int_size(int i, int prefix_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/qpack-enc.c:36,1
    - Dst: b_room
      Src: /src/haproxy/src/qpack-enc.c:39,1
    - Dst: b_putchr
      Src: /src/haproxy/src/qpack-enc.c:42,1
    - Dst: b_room
      Src: /src/haproxy/src/qpack-enc.c:48,1
    - Dst: b_putchr
      Src: /src/haproxy/src/qpack-enc.c:51,1
    - Dst: b_putchr
      Src: /src/haproxy/src/qpack-enc.c:54,1
    - Dst: b_putchr
      Src: /src/haproxy/src/qpack-enc.c:58,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - out
    - i
    - prefix_size
    - before_prefix
    argTypes:
    - struct buffer*
    - int
    - int
    - unsigned char
    constantsTouched: []
    func_position:
      end: 65
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 65
    functionName: qpack_encode_prefix_integer
    functionSourceFile: /src/haproxy/src/qpack-enc.c
    functionUses: 0
    functionsReached:
    - b_room
    - BUG_ON_HOT
    - b_putchr
    linkageType: ''
    returnType: int
    signature: "qpack_encode_prefix_integer(struct buffer *out, int i,\n                                       int
      prefix_size,\n                                       unsigned char before_prefix)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qpack_get_prefix_int_size
      Src: /src/haproxy/src/qpack-enc.c:99,1
    - Dst: b_room
      Src: /src/haproxy/src/qpack-enc.c:100,1
    - Dst: qpack_encode_prefix_integer
      Src: /src/haproxy/src/qpack-enc.c:103,1
    - Dst: qpack_encode_prefix_integer
      Src: /src/haproxy/src/qpack-enc.c:117,1
    - Dst: qpack_encode_prefix_integer
      Src: /src/haproxy/src/qpack-enc.c:121,1
    - Dst: b_room
      Src: /src/haproxy/src/qpack-enc.c:124,1
    - Dst: b_putchr
      Src: /src/haproxy/src/qpack-enc.c:127,1
    - Dst: b_putchr
      Src: /src/haproxy/src/qpack-enc.c:128,1
    - Dst: b_putchr
      Src: /src/haproxy/src/qpack-enc.c:129,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 2
    argNames:
    - out
    - status
    argTypes:
    - struct buffer*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 133
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 133
    functionName: qpack_encode_int_status
    functionSourceFile: /src/haproxy/src/qpack-enc.c
    functionUses: 0
    functionsReached:
    - b_room
    - qpack_encode_prefix_integer
    - b_putchr
    - qpack_get_prefix_int_size
    linkageType: ''
    returnType: int
    signature: qpack_encode_int_status(struct buffer *out, unsigned int status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_room
      Src: /src/haproxy/src/qpack-enc.c:143,1
    - Dst: b_putblk
      Src: /src/haproxy/src/qpack-enc.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: qpack_encode_field_section_line
    functionSourceFile: /src/haproxy/src/qpack-enc.c
    functionUses: 0
    functionsReached:
    - b_room
    - b_putblk
    linkageType: ''
    returnType: int
    signature: qpack_encode_field_section_line(struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_room
      Src: /src/haproxy/src/qpack-enc.c:162,1
    - Dst: qpack_encode_prefix_integer
      Src: /src/haproxy/src/qpack-enc.c:171,1
    - Dst: b_putchr
      Src: /src/haproxy/src/qpack-enc.c:174,1
    - Dst: qpack_encode_prefix_integer
      Src: /src/haproxy/src/qpack-enc.c:179,1
    - Dst: b_putchr
      Src: /src/haproxy/src/qpack-enc.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - out
    - n
    - v
    argTypes:
    - struct buffer*
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 185
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 185
    functionName: qpack_encode_header
    functionSourceFile: /src/haproxy/src/qpack-enc.c
    functionUses: 0
    functionsReached:
    - b_room
    - b_putchr
    - qpack_encode_prefix_integer
    linkageType: ''
    returnType: int
    signature: qpack_encode_header(struct buffer *out, const struct ist n, const struct
      ist v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/buf.c:34,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:41,1
    - Dst: b_orig
      Src: /src/haproxy/src/buf.c:41,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:44,1
    - Dst: b_orig
      Src: /src/haproxy/src/buf.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - buf
    - blk
    - len
    - offset
    argTypes:
    - struct buffer*
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: b_getblk_ofs
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - b_orig
    - BUG_ON
    linkageType: ''
    returnType: size_t
    signature: b_getblk_ofs(const struct buffer *buf, char *blk, size_t len, size_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/buf.c:61,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/buf.c:62,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/buf.c:63,1
    - Dst: b_data
      Src: /src/haproxy/src/buf.c:65,1
    - Dst: b_wrap
      Src: /src/haproxy/src/buf.c:68,1
    - Dst: b_head
      Src: /src/haproxy/src/buf.c:68,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:71,1
    - Dst: b_head
      Src: /src/haproxy/src/buf.c:71,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:75,1
    - Dst: b_head
      Src: /src/haproxy/src/buf.c:75,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:76,1
    - Dst: b_orig
      Src: /src/haproxy/src/buf.c:76,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:80,1
    - Dst: b_orig
      Src: /src/haproxy/src/buf.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - buf
    - blk
    - len
    - offset
    argTypes:
    - struct buffer*
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 82
    functionName: b_getblk
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - b_wrap
    - b_head
    - b_orig
    - b_data
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: b_getblk(const struct buffer *buf, char *blk, size_t len, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek
      Src: /src/haproxy/src/buf.c:109,1
    - Dst: b_data
      Src: /src/haproxy/src/buf.c:112,1
    - Dst: memset
      Src: /src/haproxy/src/buf.c:120,1
    - Dst: b_next
      Src: /src/haproxy/src/buf.c:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 7
    argNames:
    - buf
    - offset
    - count
    - str
    - len
    - delim
    - escape
    argTypes:
    - struct buffer*
    - size_t
    - size_t
    - char*
    - size_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 155
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 155
    functionName: b_getdelim
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 1
    functionsReached:
    - memset
    - b_next
    - b_peek
    - b_data
    linkageType: ''
    returnType: size_t
    signature: "b_getdelim(const struct buffer *buf, size_t offset, size_t count,\n\t\t\t\tchar
      *str, size_t len, const char *delim, char escape)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek
      Src: /src/haproxy/src/buf.c:171,1
    - Dst: b_data
      Src: /src/haproxy/src/buf.c:174,1
    - Dst: b_next
      Src: /src/haproxy/src/buf.c:188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 5
    argNames:
    - buf
    - offset
    - count
    - str
    - len
    argTypes:
    - struct buffer*
    - size_t
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 197
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 197
    functionName: b_getline
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 1
    functionsReached:
    - b_next
    - b_peek
    - b_data
    linkageType: ''
    returnType: size_t
    signature: "b_getline(const struct buffer *buf, size_t offset, size_t count,\n\t\t\t
      \      char *str, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/buf.c:215,1
    - Dst: b_size
      Src: /src/haproxy/src/buf.c:218,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/buf.c:218,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/buf.c:219,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:222,1
    - Dst: b_size
      Src: /src/haproxy/src/buf.c:222,1
    - Dst: b_head
      Src: /src/haproxy/src/buf.c:222,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:223,1
    - Dst: b_size
      Src: /src/haproxy/src/buf.c:223,1
    - Dst: b_orig
      Src: /src/haproxy/src/buf.c:223,1
    - Dst: b_data
      Src: /src/haproxy/src/buf.c:226,1
    - Dst: b_tail_ofs
      Src: /src/haproxy/src/buf.c:229,1
    - Dst: b_tail_ofs
      Src: /src/haproxy/src/buf.c:230,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:233,1
    - Dst: b_peek
      Src: /src/haproxy/src/buf.c:233,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:234,1
    - Dst: b_orig
      Src: /src/haproxy/src/buf.c:234,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:237,1
    - Dst: b_orig
      Src: /src/haproxy/src/buf.c:237,1
    - Dst: b_data
      Src: /src/haproxy/src/buf.c:237,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:238,1
    - Dst: b_wrap
      Src: /src/haproxy/src/buf.c:238,1
    - Dst: b_size
      Src: /src/haproxy/src/buf.c:238,1
    - Dst: b_size
      Src: /src/haproxy/src/buf.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - b
    - swap
    - output
    argTypes:
    - struct buffer*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 241
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 241
    functionName: b_slow_realign
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 22
    functionsReached:
    - b_wrap
    - b_peek
    - b_head
    - b_orig
    - b_data
    - b_head_ofs
    - b_size
    - BUG_ON_HOT
    - memcpy
    - b_tail_ofs
    - b_peek_ofs
    linkageType: ''
    returnType: void
    signature: b_slow_realign(struct buffer *b, char *swap, size_t output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/buf.c:254,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/buf.c:255,1
    - Dst: __b_tail_ofs
      Src: /src/haproxy/src/buf.c:257,1
    - Dst: b_size
      Src: /src/haproxy/src/buf.c:257,1
    - Dst: b_tail_ofs
      Src: /src/haproxy/src/buf.c:258,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:261,1
    - Dst: b_head
      Src: /src/haproxy/src/buf.c:261,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:262,1
    - Dst: b_orig
      Src: /src/haproxy/src/buf.c:262,1
    - Dst: b_data
      Src: /src/haproxy/src/buf.c:264,1
    - Dst: b_size
      Src: /src/haproxy/src/buf.c:266,1
    - Dst: b_size
      Src: /src/haproxy/src/buf.c:267,1
    - Dst: b_data
      Src: /src/haproxy/src/buf.c:268,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:270,1
    - Dst: b_orig
      Src: /src/haproxy/src/buf.c:270,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:271,1
    - Dst: b_orig
      Src: /src/haproxy/src/buf.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - b
    - swap
    - ofs
    argTypes:
    - struct buffer*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 274
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 274
    functionName: b_slow_realign_ofs
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 3
    functionsReached:
    - b_head
    - b_orig
    - b_data
    - b_size
    - BUG_ON_HOT
    - __b_tail_ofs
    - memcpy
    - b_tail_ofs
    linkageType: ''
    returnType: void
    signature: b_slow_realign_ofs(struct buffer *b, char *swap, size_t ofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/buf.c:296,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:303,1
    - Dst: b_orig
      Src: /src/haproxy/src/buf.c:303,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:306,1
    - Dst: b_orig
      Src: /src/haproxy/src/buf.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - buf
    - blk
    - len
    - offset
    argTypes:
    - struct buffer*
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 308
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 308
    functionName: b_putblk_ofs
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - b_orig
    - BUG_ON
    linkageType: ''
    returnType: size_t
    signature: b_putblk_ofs(struct buffer *buf, char *blk, size_t len, size_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/buf.c:318,1
    - Dst: b_data
      Src: /src/haproxy/src/buf.c:318,1
    - Dst: b_size
      Src: /src/haproxy/src/buf.c:318,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:323,1
    - Dst: b_tail
      Src: /src/haproxy/src/buf.c:323,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:326,1
    - Dst: b_peek
      Src: /src/haproxy/src/buf.c:326,1
    - Dst: b_data
      Src: /src/haproxy/src/buf.c:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - b
    - blk
    - len
    argTypes:
    - struct buffer*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 328
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 328
    functionName: __b_putblk
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 3
    functionsReached:
    - BUG_ON
    - b_peek
    - b_tail
    - b_data
    - b_size
    - memcpy
    linkageType: ''
    returnType: void
    signature: __b_putblk(struct buffer *b, const char *blk, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/buf.c:345,1
    - Dst: b_data
      Src: /src/haproxy/src/buf.c:351,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/buf.c:359,1
    - Dst: __b_putblk
      Src: /src/haproxy/src/buf.c:365,1
    - Dst: b_head
      Src: /src/haproxy/src/buf.c:365,1
    - Dst: __b_putblk
      Src: /src/haproxy/src/buf.c:368,1
    - Dst: b_peek
      Src: /src/haproxy/src/buf.c:368,1
    - Dst: b_del
      Src: /src/haproxy/src/buf.c:370,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - dst
    - src
    - count
    argTypes:
    - struct buffer*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 373
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 373
    functionName: b_xfer
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 10
    functionsReached:
    - __b_putblk
    - b_peek
    - b_head
    - b_contig_data
    - b_del
    - b_data
    linkageType: ''
    returnType: size_t
    signature: b_xfer(struct buffer *dst, struct buffer *src, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/buf.c:388,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/buf.c:394,1
    - Dst: __b_putblk
      Src: /src/haproxy/src/buf.c:400,1
    - Dst: b_head
      Src: /src/haproxy/src/buf.c:400,1
    - Dst: __b_putblk
      Src: /src/haproxy/src/buf.c:403,1
    - Dst: b_peek
      Src: /src/haproxy/src/buf.c:403,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - dst
    - src
    - count
    argTypes:
    - struct buffer*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 407
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 407
    functionName: b_ncat
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 0
    functionsReached:
    - __b_putblk
    - b_peek
    - b_head
    - b_contig_data
    - b_data
    linkageType: ''
    returnType: size_t
    signature: b_ncat(struct buffer *dst, const struct buffer *src, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/buf.c:425,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/buf.c:431,1
    - Dst: memmove
      Src: /src/haproxy/src/buf.c:439,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/buf.c:449,1
    - Dst: memmove
      Src: /src/haproxy/src/buf.c:465,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 4
    argNames:
    - b
    - src
    - len
    - shift
    argTypes:
    - struct buffer*
    - size_t
    - size_t
    - ssize_t
    constantsTouched: []
    func_position:
      end: 468
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 468
    functionName: b_move
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 2
    functionsReached:
    - memmove
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: b_move(const struct buffer *b, size_t src, size_t len, ssize_t shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/buf.c:483,1
    - Dst: __b_tail
      Src: /src/haproxy/src/buf.c:487,1
    - Dst: b_wrap
      Src: /src/haproxy/src/buf.c:487,1
    - Dst: b_data
      Src: /src/haproxy/src/buf.c:490,1
    - Dst: b_tail
      Src: /src/haproxy/src/buf.c:491,1
    - Dst: b_head
      Src: /src/haproxy/src/buf.c:491,1
    - Dst: b_head
      Src: /src/haproxy/src/buf.c:492,1
    - Dst: b_tail
      Src: /src/haproxy/src/buf.c:492,1
    - Dst: memmove
      Src: /src/haproxy/src/buf.c:496,1
    - Dst: b_tail
      Src: /src/haproxy/src/buf.c:496,1
    - Dst: memcpy
      Src: /src/haproxy/src/buf.c:500,1
    - Dst: b_add
      Src: /src/haproxy/src/buf.c:502,1
    - Dst: b_realign_if_empty
      Src: /src/haproxy/src/buf.c:503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - b
    - pos
    - end
    - blk
    - len
    argTypes:
    - struct buffer*
    - char*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 506
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 506
    functionName: b_rep_blk
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 0
    functionsReached:
    - b_wrap
    - b_add
    - b_head
    - b_tail
    - memmove
    - __b_tail
    - b_data
    - memcpy
    - b_realign_if_empty
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: b_rep_blk(struct buffer *b, char *pos, char *end, const char *blk,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_room
      Src: /src/haproxy/src/buf.c:518,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/buf.c:521,1
    - Dst: b_tail_ofs
      Src: /src/haproxy/src/buf.c:522,1
    - Dst: __b_putblk
      Src: /src/haproxy/src/buf.c:523,1
    - Dst: b_move
      Src: /src/haproxy/src/buf.c:528,1
    - Dst: b_sub
      Src: /src/haproxy/src/buf.c:531,1
    - Dst: __b_putblk
      Src: /src/haproxy/src/buf.c:532,1
    - Dst: b_add
      Src: /src/haproxy/src/buf.c:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - b
    - 'off'
    - blk
    - len
    argTypes:
    - struct buffer*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 536
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 536
    functionName: b_insert_blk
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 1
    functionsReached:
    - b_room
    - __b_putblk
    - b_add
    - b_move
    - b_sub
    - b_tail_ofs
    - b_peek_ofs
    linkageType: ''
    returnType: int
    signature: b_insert_blk(struct buffer *b, size_t off, const char *blk, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/buf.c:550,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/buf.c:572,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - b
    - v
    argTypes:
    - struct buffer*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 575
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 575
    functionName: __b_put_varint
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 1
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: __b_put_varint(struct buffer *b, uint64_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/buf.c:589,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - b
    - v
    argTypes:
    - struct buffer*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 618
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 618
    functionName: b_put_varint
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 1
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: int
    signature: b_put_varint(struct buffer *b, uint64_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek_varint
      Src: /src/haproxy/src/buf.c:628,1
    - Dst: b_del
      Src: /src/haproxy/src/buf.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - vptr
    argTypes:
    - struct buffer*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: b_get_varint
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 0
    functionsReached:
    - b_peek_varint
    - b_del
    linkageType: ''
    returnType: int
    signature: b_get_varint(struct buffer *b, uint64_t *vptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/buf.c:644,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct bl_elem*
    constantsTouched: []
    func_position:
      end: 658
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 658
    functionName: bl_deinit
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 0
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: bl_deinit(struct bl_elem *head)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/buf.c:670,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/buf.c:699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - head
    - idx
    argTypes:
    - struct bl_elem*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 711
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 711
    functionName: bl_get
    functionSourceFile: /src/haproxy/src/buf.c
    functionUses: 1
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: uint32_t
    signature: bl_get(struct bl_elem *head, uint32_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/channel.c:39,1
    - Dst: c_adv
      Src: /src/haproxy/src/channel.c:40,1
    - Dst: ci_data
      Src: /src/haproxy/src/channel.c:40,1
    - Dst: MIN
      Src: /src/haproxy/src/channel.c:47,1
    - Dst: MIN
      Src: /src/haproxy/src/channel.c:50,1
    - Dst: ci_data
      Src: /src/haproxy/src/channel.c:50,1
    - Dst: c_adv
      Src: /src/haproxy/src/channel.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - chn
    - bytes
    argTypes:
    - struct channel*
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 68
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 68
    functionName: __channel_forward
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 0
    functionsReached:
    - c_adv
    - unlikely
    - MIN
    - ci_data
    linkageType: ''
    returnType: unsigned long long
    signature: __channel_forward(struct channel *chn, unsigned long long bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_size
      Src: /src/haproxy/src/channel.c:84,1
    - Dst: c_realign_if_empty
      Src: /src/haproxy/src/channel.c:93,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/channel.c:94,1
    - Dst: memcpy
      Src: /src/haproxy/src/channel.c:98,1
    - Dst: co_tail
      Src: /src/haproxy/src/channel.c:98,1
    - Dst: b_add
      Src: /src/haproxy/src/channel.c:99,1
    - Dst: c_adv
      Src: /src/haproxy/src/channel.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - chn
    - msg
    - len
    argTypes:
    - struct channel*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 103
    functionName: co_inject
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 2
    functionsReached:
    - c_size
    - co_tail
    - b_add
    - c_realign_if_empty
    - b_contig_space
    - c_adv
    - memcpy
    linkageType: ''
    returnType: int
    signature: co_inject(struct channel *chn, const char *msg, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/channel.c:113,1
    - Dst: channel_input_closed
      Src: /src/haproxy/src/channel.c:113,1
    - Dst: channel_may_recv
      Src: /src/haproxy/src/channel.c:116,1
    - Dst: ci_tail
      Src: /src/haproxy/src/channel.c:119,1
    - Dst: b_add
      Src: /src/haproxy/src/channel.c:121,1
    - Dst: c_adv
      Src: /src/haproxy/src/channel.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - chn
    - c
    argTypes:
    - struct channel*
    - char
    constantsTouched: []
    func_position:
      end: 132
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 132
    functionName: ci_putchr
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 0
    functionsReached:
    - ci_tail
    - channel_input_closed
    - b_add
    - c_adv
    - unlikely
    - channel_may_recv
    linkageType: ''
    returnType: int
    signature: ci_putchr(struct channel *chn, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/channel.c:146,1
    - Dst: channel_input_closed
      Src: /src/haproxy/src/channel.c:146,1
    - Dst: channel_recv_limit
      Src: /src/haproxy/src/channel.c:152,1
    - Dst: unlikely
      Src: /src/haproxy/src/channel.c:153,1
    - Dst: c_data
      Src: /src/haproxy/src/channel.c:153,1
    - Dst: unlikely
      Src: /src/haproxy/src/channel.c:165,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/channel.c:169,1
    - Dst: memcpy
      Src: /src/haproxy/src/channel.c:170,1
    - Dst: ci_tail
      Src: /src/haproxy/src/channel.c:170,1
    - Dst: MIN
      Src: /src/haproxy/src/channel.c:170,1
    - Dst: memcpy
      Src: /src/haproxy/src/channel.c:172,1
    - Dst: c_orig
      Src: /src/haproxy/src/channel.c:172,1
    - Dst: b_add
      Src: /src/haproxy/src/channel.c:174,1
    - Dst: channel_add_input
      Src: /src/haproxy/src/channel.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - chn
    - blk
    - len
    argTypes:
    - struct channel*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 177
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 177
    functionName: ci_putblk
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 1
    functionsReached:
    - ci_tail
    - channel_input_closed
    - b_add
    - c_orig
    - c_data
    - b_contig_space
    - channel_recv_limit
    - channel_add_input
    - unlikely
    - MIN
    - memcpy
    linkageType: ''
    returnType: int
    signature: ci_putblk(struct channel *chn, const char *blk, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/channel.c:209,1
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:209,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:209,1
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:210,1
    - Dst: co_head
      Src: /src/haproxy/src/channel.c:215,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:217,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:218,1
    - Dst: memset
      Src: /src/haproxy/src/channel.c:223,1
    - Dst: b_next
      Src: /src/haproxy/src/channel.c:249,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:253,1
    - Dst: channel_may_recv
      Src: /src/haproxy/src/channel.c:253,1
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:255,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 5
    argNames:
    - chn
    - str
    - len
    - delim
    - escape
    argTypes:
    - struct channel*
    - char*
    - int
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 261
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 261
    functionName: co_getdelim
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 0
    functionsReached:
    - co_head
    - co_data
    - b_next
    - chn_cons
    - memset
    - unlikely
    - channel_may_recv
    linkageType: ''
    returnType: int
    signature: co_getdelim(const struct channel *chn, char *str, int len, const char
      *delim, char escape)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/channel.c:282,1
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:282,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:282,1
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:283,1
    - Dst: co_head
      Src: /src/haproxy/src/channel.c:288,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:290,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:291,1
    - Dst: b_next
      Src: /src/haproxy/src/channel.c:301,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:304,1
    - Dst: channel_may_recv
      Src: /src/haproxy/src/channel.c:304,1
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:306,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - chn
    - str
    - len
    - sep
    argTypes:
    - struct channel*
    - char*
    - int
    - char
    constantsTouched: []
    func_position:
      end: 312
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 312
    functionName: co_getword
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 0
    functionsReached:
    - co_head
    - co_data
    - b_next
    - chn_cons
    - unlikely
    - channel_may_recv
    linkageType: ''
    returnType: int
    signature: co_getword(const struct channel *chn, char *str, int len, char sep)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/channel.c:333,1
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:333,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:333,1
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:334,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:339,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:340,1
    - Dst: memcpy
      Src: /src/haproxy/src/channel.c:355,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:365,1
    - Dst: channel_may_recv
      Src: /src/haproxy/src/channel.c:365,1
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:367,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 3
    argNames:
    - chn
    - str
    - len
    argTypes:
    - struct channel*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 373
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 373
    functionName: co_getline
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 1
    functionsReached:
    - co_data
    - chn_cons
    - memcpy
    - unlikely
    - channel_may_recv
    linkageType: ''
    returnType: int
    signature: co_getline(const struct channel *chn, char *str, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:385,1
    - Dst: unlikely
      Src: /src/haproxy/src/channel.c:388,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:388,1
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:389,1
    - Dst: co_head
      Src: /src/haproxy/src/channel.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - chn
    - c
    argTypes:
    - struct channel*
    - char*
    constantsTouched: []
    func_position:
      end: 396
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 396
    functionName: co_getchar
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 0
    functionsReached:
    - co_head
    - chn_cons
    - unlikely
    - co_data
    linkageType: ''
    returnType: int
    signature: co_getchar(const struct channel *chn, char *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:408,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:411,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:411,1
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:412,1
    - Dst: b_getblk
      Src: /src/haproxy/src/channel.c:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - chn
    - blk
    - len
    - offset
    argTypes:
    - struct channel*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 418
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 418
    functionName: co_getblk
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 1
    functionsReached:
    - chn_cons
    - b_getblk
    - co_data
    linkageType: ''
    returnType: int
    signature: co_getblk(const struct channel *chn, char *blk, int len, int offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/channel.c:430,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:430,1
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:431,1
    - Dst: b_getblk_nc
      Src: /src/haproxy/src/channel.c:436,1
    - Dst: co_data
      Src: /src/haproxy/src/channel.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - chn
    - blk1
    - len1
    - blk2
    - len2
    argTypes:
    - struct channel*
    - char**
    - size_t*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: co_getblk_nc
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 2
    functionsReached:
    - co_data
    - unlikely
    - b_getblk_nc
    - chn_cons
    linkageType: ''
    returnType: int
    signature: co_getblk_nc(const struct channel *chn, const char **blk1, size_t *len1,
      const char **blk2, size_t *len2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: co_getblk_nc
      Src: /src/haproxy/src/channel.c:455,1
    - Dst: unlikely
      Src: /src/haproxy/src/channel.c:456,1
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:473,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 5
    argNames:
    - chn
    - blk1
    - len1
    - blk2
    - len2
    argTypes:
    - struct channel*
    - char**
    - size_t*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 483
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 483
    functionName: co_getline_nc
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 2
    functionsReached:
    - chn_cons
    - co_getblk_nc
    - unlikely
    linkageType: ''
    returnType: int
    signature: "co_getline_nc(const struct channel *chn,\n                  const
      char **blk1, size_t *len1,\n                  const char **blk2, size_t *len2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/channel.c:496,1
    - Dst: ci_data
      Src: /src/haproxy/src/channel.c:496,1
    - Dst: chn_prod
      Src: /src/haproxy/src/channel.c:497,1
    - Dst: unlikely
      Src: /src/haproxy/src/channel.c:502,1
    - Dst: ci_head
      Src: /src/haproxy/src/channel.c:502,1
    - Dst: ci_data
      Src: /src/haproxy/src/channel.c:502,1
    - Dst: c_wrap
      Src: /src/haproxy/src/channel.c:502,1
    - Dst: ci_head
      Src: /src/haproxy/src/channel.c:503,1
    - Dst: c_wrap
      Src: /src/haproxy/src/channel.c:504,1
    - Dst: ci_head
      Src: /src/haproxy/src/channel.c:504,1
    - Dst: c_orig
      Src: /src/haproxy/src/channel.c:505,1
    - Dst: ci_data
      Src: /src/haproxy/src/channel.c:506,1
    - Dst: ci_head
      Src: /src/haproxy/src/channel.c:510,1
    - Dst: ci_data
      Src: /src/haproxy/src/channel.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - chn
    - blk1
    - len1
    - blk2
    - len2
    argTypes:
    - struct channel*
    - char**
    - size_t*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 513
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 513
    functionName: ci_getblk_nc
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 0
    functionsReached:
    - ci_head
    - chn_prod
    - c_wrap
    - c_orig
    - ci_data
    - unlikely
    linkageType: ''
    returnType: int
    signature: "ci_getblk_nc(const struct channel *chn,\n                 char **blk1,
      size_t *len1,\n                 char **blk2, size_t *len2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ci_getblk_nc
      Src: /src/haproxy/src/channel.c:531,1
    - Dst: unlikely
      Src: /src/haproxy/src/channel.c:532,1
    - Dst: chn_cons
      Src: /src/haproxy/src/channel.c:549,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 5
    argNames:
    - chn
    - blk1
    - len1
    - blk2
    - len2
    argTypes:
    - struct channel*
    - char**
    - size_t*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 559
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 559
    functionName: ci_getline_nc
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 0
    functionsReached:
    - ci_getblk_nc
    - chn_cons
    - unlikely
    linkageType: ''
    returnType: int
    signature: "ci_getline_nc(const struct channel *chn,\n                  char **blk1,
      size_t *len1,\n                  char **blk2, size_t *len2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_tail
      Src: /src/haproxy/src/channel.c:572,1
    - Dst: b_wrap
      Src: /src/haproxy/src/channel.c:572,1
    - Dst: b_data
      Src: /src/haproxy/src/channel.c:575,1
    - Dst: b_tail
      Src: /src/haproxy/src/channel.c:576,1
    - Dst: b_head
      Src: /src/haproxy/src/channel.c:576,1
    - Dst: b_head
      Src: /src/haproxy/src/channel.c:577,1
    - Dst: b_tail
      Src: /src/haproxy/src/channel.c:577,1
    - Dst: memmove
      Src: /src/haproxy/src/channel.c:581,1
    - Dst: b_tail
      Src: /src/haproxy/src/channel.c:581,1
    - Dst: memcpy
      Src: /src/haproxy/src/channel.c:584,1
    - Dst: b_add
      Src: /src/haproxy/src/channel.c:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - c
    - pos
    - str
    - len
    argTypes:
    - struct channel*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 588
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 588
    functionName: ci_insert
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 1
    functionsReached:
    - b_wrap
    - b_add
    - b_head
    - b_tail
    - memmove
    - __b_tail
    - b_data
    - memcpy
    linkageType: ''
    returnType: int
    signature: ci_insert(struct channel *c, int pos, const char *str, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_tail
      Src: /src/haproxy/src/channel.c:606,1
    - Dst: b_wrap
      Src: /src/haproxy/src/channel.c:606,1
    - Dst: b_data
      Src: /src/haproxy/src/channel.c:609,1
    - Dst: b_tail
      Src: /src/haproxy/src/channel.c:610,1
    - Dst: b_head
      Src: /src/haproxy/src/channel.c:610,1
    - Dst: b_head
      Src: /src/haproxy/src/channel.c:611,1
    - Dst: b_tail
      Src: /src/haproxy/src/channel.c:611,1
    - Dst: memmove
      Src: /src/haproxy/src/channel.c:615,1
    - Dst: b_tail
      Src: /src/haproxy/src/channel.c:615,1
    - Dst: memcpy
      Src: /src/haproxy/src/channel.c:618,1
    - Dst: b_add
      Src: /src/haproxy/src/channel.c:622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - c
    - pos
    - str
    - len
    argTypes:
    - struct channel*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 624
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 624
    functionName: ci_insert_line2
    functionSourceFile: /src/haproxy/src/channel.c
    functionUses: 0
    functionsReached:
    - b_wrap
    - b_add
    - b_head
    - b_tail
    - memmove
    - __b_tail
    - b_data
    - memcpy
    linkageType: ''
    returnType: int
    signature: ci_insert_line2(struct channel *c, int pos, const char *str, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_loss.c:22,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_loss.c:23,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/src/quic_loss.c:35,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_loss.c:46,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_loss.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - ql
    - rtt
    - ack_delay
    - qc
    argTypes:
    - struct quic_loss*
    - unsigned int
    - unsigned int
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 48
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 48
    functionName: quic_loss_srtt_update
    functionSourceFile: /src/haproxy/src/quic_loss.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - TRACE_PROTO
    - QUIC_MIN
    linkageType: ''
    returnType: void
    signature: "quic_loss_srtt_update(struct quic_loss *ql,\n                           unsigned
      int rtt, unsigned int ack_delay,\n                           struct quic_conn
      *qc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_loss.c:58,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_loss.c:60,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_loss.c:60,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/quic_loss.c:61,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_loss.c:64,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_loss.c:65,1
    - Dst: tick_is_lt
      Src: /src/haproxy/src/quic_loss.c:66,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/quic_loss.c:69,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_loss.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: quic_loss_pktns
    functionSourceFile: /src/haproxy/src/quic_loss.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - LIST_NEXT
    - LIST_ISEMPTY
    - TRACE_ENTER
    - tick_is_lt
    - TRACE_PROTO
    - tick_isset
    - BUG_ON
    linkageType: ''
    returnType: struct quic_pktns
    signature: '*quic_loss_pktns(struct quic_conn *qc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_loss.c:89,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_loss.c:91,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_loss.c:91,1
    - Dst: QUIC_MAX
      Src: /src/haproxy/src/quic_loss.c:94,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/quic_loss.c:110,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_loss.c:118,1
    - Dst: tick_add
      Src: /src/haproxy/src/quic_loss.c:125,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_loss.c:126,1
    - Dst: tick_is_lt
      Src: /src/haproxy/src/quic_loss.c:126,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_loss.c:131,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/quic_loss.c:134,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_loss.c:140,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_loss.c:141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - qc
    - handshake_confirmed
    - pto
    argTypes:
    - struct quic_conn*
    - int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 144
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 144
    functionName: quic_pto_pktns
    functionSourceFile: /src/haproxy/src/quic_loss.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - LIST_NEXT
    - LIST_ISEMPTY
    - tick_add
    - TRACE_ENTER
    - tick_is_lt
    - TRACE_PROTO
    - QUIC_MAX
    - tick_isset
    - TRACE_STATE
    - BUG_ON
    linkageType: ''
    returnType: struct quic_pktns
    signature: "*quic_pto_pktns(struct quic_conn *qc,\n                                  int
      handshake_confirmed,\n                                  unsigned int *pto)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_loss.c:163,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_loss.c:164,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/quic_loss.c:167,1
    - Dst: QUIC_MAX
      Src: /src/haproxy/src/quic_loss.c:171,1
    - Dst: QUIC_MAX
      Src: /src/haproxy/src/quic_loss.c:172,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/quic_loss.c:172,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_loss.c:175,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_loss.c:194,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_loss.c:203,1
    - Dst: eb64_next
      Src: /src/haproxy/src/quic_loss.c:205,1
    - Dst: tick_add
      Src: /src/haproxy/src/quic_loss.c:210,1
    - Dst: tick_is_le
      Src: /src/haproxy/src/quic_loss.c:216,1
    - Dst: struct quic_cc*::algo::on_pkt_lost
      Src: /src/haproxy/src/quic_loss.c:222,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_loss.c:223,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_loss.c:224,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_loss.c:230,1
    - Dst: tick_first
      Src: /src/haproxy/src/quic_loss.c:231,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_loss.c:239,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_loss.c:240,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - pktns
    - qc
    - lost_pkts
    - bytes_lost
    argTypes:
    - struct quic_pktns*
    - struct quic_conn*
    - struct list*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 241
    functionName: qc_packet_loss_lookup
    functionSourceFile: /src/haproxy/src/quic_loss.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - eb64_delete
    - tick_add
    - TRACE_ENTER
    - LIST_APPEND
    - tick_is_le
    - TRACE_PROTO
    - eb_is_empty
    - eb64_first
    - eb64_entry
    - QUIC_MAX
    - tick_first
    - struct quic_cc*::algo::on_pkt_lost
    - tick_isset
    - eb64_next
    - MS_TO_TICKS
    linkageType: ''
    returnType: void
    signature: "qc_packet_loss_lookup(struct quic_pktns *pktns, struct quic_conn *qc,\n
      \                          struct list *lost_pkts, uint32_t *bytes_lost)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_loss.c:257,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_loss.c:259,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/quic_loss.c:266,1
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_loss.c:268,1
    - Dst: qc_handle_frms_of_lost_pkt
      Src: /src/haproxy/src/quic_loss.c:276,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/quic_loss.c:278,1
    - Dst: quic_tx_packet_refdec
      Src: /src/haproxy/src/quic_loss.c:284,1
    - Dst: quic_cc_event
      Src: /src/haproxy/src/quic_loss.c:298,1
    - Dst: struct quic_cc*::algo::congestion_event
      Src: /src/haproxy/src/quic_loss.c:300,1
    - Dst: quic_loss_persistent_congestion
      Src: /src/haproxy/src/quic_loss.c:310,1
    - Dst: struct quic_conn*::path::cc::algo::slow_start
      Src: /src/haproxy/src/quic_loss.c:313,1
    - Dst: quic_tx_packet_refdec
      Src: /src/haproxy/src/quic_loss.c:317,1
    - Dst: quic_tx_packet_refdec
      Src: /src/haproxy/src/quic_loss.c:319,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_loss.c:322,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - qc
    - pktns
    - pkts
    - now_us
    argTypes:
    - struct quic_conn*
    - struct quic_pktns*
    - struct list*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 324
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 324
    functionName: qc_release_lost_pkts
    functionSourceFile: /src/haproxy/src/quic_loss.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - quic_loss_persistent_congestion
    - LIST_HEAD_INIT
    - LIST_ISEMPTY
    - TRACE_ENTER
    - LIST_DELETE
    - qc_handle_frms_of_lost_pkt
    - struct quic_conn*::path::cc::algo::slow_start
    - struct quic_cc*::algo::congestion_event
    - quic_cc_event
    - quic_tx_packet_refdec
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: "qc_release_lost_pkts(struct quic_conn *qc, struct quic_pktns *pktns,\n
      \                        struct list *pkts, uint64_t now_us)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_insert
      Src: /src/haproxy/src/cebu32_tree.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu32_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_insert
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu32, _insert, struct ceb_node **,
      root, ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_first
      Src: /src/haproxy/src/cebu32_tree.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebu32_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_first
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebu32, _first, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_last
      Src: /src/haproxy/src/cebu32_tree.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebu32_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_last
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebu32, _last, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup
      Src: /src/haproxy/src/cebu32_tree.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu32_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu32, _lookup, struct ceb_node **,
      root, ptrdiff_t, kofs, uint32_t, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_le
      Src: /src/haproxy/src/cebu32_tree.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu32_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_le
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu32, _lookup_le, struct ceb_node **,
      root, ptrdiff_t, kofs, uint32_t, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_lt
      Src: /src/haproxy/src/cebu32_tree.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu32_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_lt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu32, _lookup_lt, struct ceb_node **,
      root, ptrdiff_t, kofs, uint32_t, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_ge
      Src: /src/haproxy/src/cebu32_tree.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu32_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_ge
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu32, _lookup_ge, struct ceb_node **,
      root, ptrdiff_t, kofs, uint32_t, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_gt
      Src: /src/haproxy/src/cebu32_tree.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu32_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_gt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu32, _lookup_gt, struct ceb_node **,
      root, ptrdiff_t, kofs, uint32_t, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_next
      Src: /src/haproxy/src/cebu32_tree.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu32_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_next
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu32, _next, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_prev
      Src: /src/haproxy/src/cebu32_tree.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu32_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_prev
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu32, _prev, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebu32_tree.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu32_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu32, _delete, struct ceb_node **,
      root, ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebu32_tree.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu32_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu32, _pick, struct ceb_node **, root,
      ptrdiff_t, kofs, uint32_t, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/src/cebu32_tree.c:150,1
    - Dst: printf
      Src: /src/haproxy/src/cebu32_tree.c:156,1
    - Dst: cebu_default_dump_tree
      Src: /src/haproxy/src/cebu32_tree.c:159,1
    - Dst: printf
      Src: /src/haproxy/src/cebu32_tree.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebu32_tree.c
    functionUses: 0
    functionsReached:
    - printf
    - cebu_default_dump_tree
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(void, cebu32, _default_dump, struct ceb_node **, root, ptrdiff_t,
      kofs, const char *, label, const void *, ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of_safe
      Src: /src/haproxy/src/log.c:121,1
    - Dst: eb32_lookup
      Src: /src/haproxy/src/log.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - orig
    argTypes:
    - enum log_orig_id
    constantsTouched: []
    func_position:
      end: 129
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 129
    functionName: log_orig_to_str
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - container_of_safe
    - eb32_lookup
    linkageType: ''
    returnType: char
    signature: '*log_orig_to_str(enum log_orig_id orig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/src/log.c:140,1
    - Dst: eb32_lookup
      Src: /src/haproxy/src/log.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - orig
    - px
    argTypes:
    - enum log_orig_id
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: log_orig_proxy
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached:
    - eb32_lookup
    - eb_is_empty
    linkageType: ''
    returnType: int
    signature: log_orig_proxy(enum log_orig_id orig, struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: logformat_str_isdefault
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: logformat_str_isdefault(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: logformat_str_isdefault
      Src: /src/haproxy/src/log.c:358,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: logformat_str_free
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - ha_free
    - logformat_str_isdefault
    linkageType: ''
    returnType: void
    signature: logformat_str_free(char **str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: logformat_str_isdefault
      Src: /src/haproxy/src/log.c:367,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: logformat_str_dup
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - logformat_str_isdefault
    - strdup
    linkageType: ''
    returnType: char
    signature: '*logformat_str_dup(char *str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - node
    - curproxy
    argTypes:
    - struct logformat_node*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 425
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 425
    functionName: prepare_addrsource
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: prepare_addrsource(struct logformat_node *node, struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:440,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:462,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 3
    argNames:
    - args
    - node
    - err
    argTypes:
    - char*
    - struct logformat_node*
    - char**
    constantsTouched: []
    func_position:
      end: 485
      start: 432
    functionDepth: 5
    functionLinenumber: 432
    functionLinenumberEnd: 485
    functionName: parse_logformat_node_args
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: parse_logformat_node_args(char *args, struct logformat_node *node,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/log.c:503,1
    - Dst: strncmp
      Src: /src/haproxy/src/log.c:504,1
    - Dst: calloc
      Src: /src/haproxy/src/log.c:505,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:507,1
    - Dst: my_strndup
      Src: /src/haproxy/src/log.c:514,1
    - Dst: my_strndup
      Src: /src/haproxy/src/log.c:517,1
    - Dst: parse_logformat_node_args
      Src: /src/haproxy/src/log.c:518,1
    - Dst: free_logformat_node
      Src: /src/haproxy/src/log.c:538,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/log.c:540,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:548,1
    - Dst: free_logformat_node
      Src: /src/haproxy/src/log.c:552,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 10
    argNames:
    - arg
    - arg_len
    - name
    - name_len
    - typecast
    - alias
    - alias_len
    - lf_expr
    - defoptions
    - err
    argTypes:
    - char*
    - int
    - char*
    - int
    - int
    - char*
    - int
    - struct lf_expr*
    - int*
    - char**
    constantsTouched: []
    func_position:
      end: 554
      start: 494
    functionDepth: 6
    functionLinenumber: 494
    functionLinenumberEnd: 554
    functionName: parse_logformat_alias
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strncmp
    - parse_logformat_node_args
    - strlen
    - calloc
    - LIST_APPEND
    - free_logformat_node
    - my_strndup
    linkageType: ''
    returnType: int
    signature: "parse_logformat_alias(char *arg, int arg_len, char *name, int name_len,
      int typecast,\n                                 char *alias, int alias_len,
      struct lf_expr *lf_expr,\n                                 int *defoptions,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/log.c:573,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:575,1
    - Dst: calloc
      Src: /src/haproxy/src/log.c:578,1
    - Dst: strncpy
      Src: /src/haproxy/src/log.c:579,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/log.c:583,1
    - Dst: calloc
      Src: /src/haproxy/src/log.c:585,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:587,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/log.c:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - start
    - end
    - type
    - lf_expr
    - err
    argTypes:
    - char*
    - char*
    - int
    - struct lf_expr*
    - char**
    constantsTouched: []
    func_position:
      end: 594
      start: 567
    functionDepth: 5
    functionLinenumber: 567
    functionLinenumberEnd: 594
    functionName: add_to_logformat_list
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    - LIST_APPEND
    - strncpy
    linkageType: ''
    returnType: int
    signature: add_to_logformat_list(char *start, char *end, int type, struct lf_expr
      *lf_expr, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/log.c:618,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:621,1
    - Dst: calloc
      Src: /src/haproxy/src/log.c:625,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/log.c:627,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:628,1
    - Dst: my_strndup
      Src: /src/haproxy/src/log.c:632,1
    - Dst: my_strndup
      Src: /src/haproxy/src/log.c:639,1
    - Dst: parse_logformat_node_args
      Src: /src/haproxy/src/log.c:640,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:650,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/log.c:651,1
    - Dst: ha_warning
      Src: /src/haproxy/src/log.c:656,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/log.c:660,1
    - Dst: free_logformat_node
      Src: /src/haproxy/src/log.c:664,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 12
    argNames:
    - text
    - name
    - name_len
    - typecast
    - arg
    - arg_len
    - lf_expr
    - al
    - options
    - cap
    - err
    - endptr
    argTypes:
    - char*
    - char*
    - int
    - int
    - char*
    - int
    - struct lf_expr*
    - struct arg_list*
    - int
    - int
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 666
      start: 604
    functionDepth: 6
    functionLinenumber: 604
    functionLinenumberEnd: 666
    functionName: add_sample_to_logformat_list
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_logformat_node_args
    - ha_warning
    - calloc
    - LIST_APPEND
    - sample_parse_expr
    - free_logformat_node
    - sample_src_names
    - release_sample_expr
    - my_strndup
    linkageType: ''
    returnType: int
    signature: "add_sample_to_logformat_list(char *text, char *name, int name_len,
      int typecast,\n                                        char *arg, int arg_len,
      struct lf_expr *lf_expr,\n                                        struct arg_list
      *al, int options, int cap, char **err, char **endptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:702,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:707,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:709,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/log.c:718,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:762,1
    - Dst: type_to_smp
      Src: /src/haproxy/src/log.c:767,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:770,1
    - Dst: isalnum
      Src: /src/haproxy/src/log.c:776,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:777,1
    - Dst: isalpha
      Src: /src/haproxy/src/log.c:794,1
    - Dst: isdigit
      Src: /src/haproxy/src/log.c:800,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:805,1
    - Dst: isalnum
      Src: /src/haproxy/src/log.c:828,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:833,1
    - Dst: add_sample_to_logformat_list
      Src: /src/haproxy/src/log.c:842,1
    - Dst: isprint
      Src: /src/haproxy/src/log.c:853,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:854,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:856,1
    - Dst: isalnum
      Src: /src/haproxy/src/log.c:863,1
    - Dst: parse_logformat_alias
      Src: /src/haproxy/src/log.c:888,1
    - Dst: add_to_logformat_list
      Src: /src/haproxy/src/log.c:893,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:902,1
    - Dst: logformat_str_free
      Src: /src/haproxy/src/log.c:905,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:906,1
    - Dst: logformat_str_free
      Src: /src/haproxy/src/log.c:910,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:911,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 182
    argCount: 5
    argNames:
    - lf_expr
    - al
    - options
    - cap
    - err
    argTypes:
    - struct lf_expr*
    - struct arg_list*
    - int
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 913
      start: 686
    functionDepth: 7
    functionLinenumber: 686
    functionLinenumberEnd: 913
    functionName: lf_expr_compile
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_logformat_alias
    - logformat_str_free
    - add_sample_to_logformat_list
    - ha_free
    - strcmp
    - isalpha
    - isprint
    - strdup
    - add_to_logformat_list
    - LIST_INIT
    - type_to_smp
    - isalnum
    - BUG_ON
    - isdigit
    linkageType: ''
    returnType: int
    signature: "lf_expr_compile(struct lf_expr *lf_expr,\n                    struct
      arg_list *al, int options, int cap, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/log.c:935,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:937,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:939,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:947,1
    - Dst: lf_expr_compile
      Src: /src/haproxy/src/log.c:951,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/log.c:961,1
    - Dst: lf_expr_postcheck
      Src: /src/haproxy/src/log.c:968,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/log.c:974,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 6
    argNames:
    - fmt
    - curproxy
    - lf_expr
    - options
    - cap
    - err
    argTypes:
    - char*
    - struct proxy*
    - struct lf_expr*
    - int
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 976
      start: 927
    functionDepth: 8
    functionLinenumber: 927
    functionLinenumberEnd: 976
    functionName: parse_logformat_string
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 10
    functionsReached:
    - memprintf
    - lf_expr_compile
    - LIST_APPEND
    - lf_expr_deinit
    - lf_expr_postcheck
    - strdup
    linkageType: ''
    returnType: int
    signature: "parse_logformat_string(const char *fmt, struct proxy *curproxy,\n
      \                          struct lf_expr *lf_expr,\n                           int
      options, int cap, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - options
    - g_options
    argTypes:
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 1001
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1001
    functionName: _lf_expr_postcheck_node_opt
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _lf_expr_postcheck_node_opt(int *options, int g_options)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _lf_expr_postcheck_node_opt
      Src: /src/haproxy/src/log.c:1028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - lf_expr
    - node
    - err
    argTypes:
    - struct lf_expr*
    - struct logformat_node*
    - char**
    constantsTouched: []
    func_position:
      end: 1031
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1031
    functionName: lf_expr_postcheck_node_opt
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached:
    - _lf_expr_postcheck_node_opt
    linkageType: ''
    returnType: int
    signature: lf_expr_postcheck_node_opt(struct lf_expr *lf_expr, struct logformat_node
      *node, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _lf_expr_postcheck_node_opt
      Src: /src/haproxy/src/log.c:1058,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/log.c:1060,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/log.c:1066,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:1069,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/log.c:1073,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:1076,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/log.c:1095,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:1098,1
    - Dst: struct logformat_node*::alias::config_callback
      Src: /src/haproxy/src/log.c:1101,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1102,1
    - Dst: lf_expr_postcheck_node_opt
      Src: /src/haproxy/src/log.c:1111,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 3
    argNames:
    - lf_expr
    - px
    - err
    argTypes:
    - struct lf_expr*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 1118
      start: 1048
    functionDepth: 5
    functionLinenumber: 1048
    functionLinenumberEnd: 1118
    functionName: lf_expr_postcheck
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached:
    - _lf_expr_postcheck_node_opt
    - memprintf
    - list_for_each_entry
    - lf_expr_postcheck_node_opt
    - proxy_type_str
    - struct logformat_node*::alias::config_callback
    - ha_diag_warning
    linkageType: ''
    returnType: int
    signature: lf_expr_postcheck(struct lf_expr *lf_expr, struct proxy *px, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/log.c:1127,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:1128,1
    - Dst: lf_expr_postcheck
      Src: /src/haproxy/src/log.c:1129,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/log.c:1132,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1138,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:1138,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1140,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:1141,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1146
      start: 1121
    functionDepth: 6
    functionLinenumber: 1121
    functionLinenumberEnd: 1146
    functionName: postcheck_logformat_proxy
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_alert
    - list_for_each_entry_safe
    - ha_free
    - lf_expr_postcheck
    - proxy_type_str
    - LIST_DEL_INIT
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: postcheck_logformat_proxy(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/log.c:1160,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:1162,1
    - Dst: read_uint
      Src: /src/haproxy/src/log.c:1164,1
    - Dst: read_uint
      Src: /src/haproxy/src/log.c:1172,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1183,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - low
    - high
    - arg
    - err
    argTypes:
    - unsigned int*
    - unsigned int*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 1185
      start: 1153
    functionDepth: 5
    functionLinenumber: 1153
    functionLinenumberEnd: 1185
    functionName: get_logger_smp_range
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - read_uint
    - strlen
    - memprintf
    - strchr
    linkageType: ''
    returnType: int
    signature: get_logger_smp_range(unsigned int *low, unsigned int *high, char **arg,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - rgs
    - sz
    - low
    - high
    - err
    argTypes:
    - struct smp_log_range*
    - size_t
    - unsigned int
    - unsigned int
    - char**
    constantsTouched: []
    func_position:
      end: 1206
      start: 1192
    functionDepth: 5
    functionLinenumber: 1192
    functionLinenumberEnd: 1206
    functionName: smp_log_ranges_overlap
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: "smp_log_ranges_overlap(struct smp_log_range *rgs, size_t sz,\n                           unsigned
      int low, unsigned int high, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1219
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1219
    functionName: smp_log_range_cmp
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_log_range_cmp(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - target
    argTypes:
    - struct log_target*
    constantsTouched: []
    func_position:
      end: 1228
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1228
    functionName: init_log_target
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: init_log_target(struct log_target *target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1232,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - target
    argTypes:
    - struct log_target*
    constantsTouched: []
    func_position:
      end: 1235
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1235
    functionName: deinit_log_target
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: void
    signature: deinit_log_target(struct log_target *target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:1240,1
    - Dst: init_log_target
      Src: /src/haproxy/src/log.c:1241,1
    - Dst: malloc
      Src: /src/haproxy/src/log.c:1243,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:1249,1
    - Dst: deinit_log_target
      Src: /src/haproxy/src/log.c:1256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - def
    - cpy
    argTypes:
    - struct log_target*
    - struct log_target*
    constantsTouched: []
    func_position:
      end: 1258
      start: 1238
    functionDepth: 3
    functionLinenumber: 1238
    functionLinenumberEnd: 1258
    functionName: dup_log_target
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - malloc
    - init_log_target
    - strdup
    - BUG_ON
    - deinit_log_target
    linkageType: ''
    returnType: int
    signature: dup_log_target(struct log_target *def, struct log_target *cpy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/log.c:1266,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/log.c:1267,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/log.c:1268,1
    - Dst: ha_warning
      Src: /src/haproxy/src/log.c:1269,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:1270,1
    - Dst: free_act_rules
      Src: /src/haproxy/src/log.c:1273,1
    - Dst: free_act_rules
      Src: /src/haproxy/src/log.c:1274,1
    - Dst: free_act_rules
      Src: /src/haproxy/src/log.c:1275,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/log.c:1277,1
    - Dst: ha_warning
      Src: /src/haproxy/src/log.c:1278,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:1279,1
    - Dst: free_act_rules
      Src: /src/haproxy/src/log.c:1282,1
    - Dst: ha_warning
      Src: /src/haproxy/src/log.c:1285,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:1286,1
    - Dst: stktable_deinit
      Src: /src/haproxy/src/log.c:1289,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1290,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/log.c:1292,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/log.c:1293,1
    - Dst: ha_warning
      Src: /src/haproxy/src/log.c:1294,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:1295,1
    - Dst: free_stick_rules
      Src: /src/haproxy/src/log.c:1298,1
    - Dst: free_stick_rules
      Src: /src/haproxy/src/log.c:1299,1
    - Dst: isttest
      Src: /src/haproxy/src/log.c:1301,1
    - Dst: ha_warning
      Src: /src/haproxy/src/log.c:1302,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:1303,1
    - Dst: istfree
      Src: /src/haproxy/src/log.c:1306,1
    - Dst: ha_warning
      Src: /src/haproxy/src/log.c:1309,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:1310,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1313,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/log.c:1315,1
    - Dst: ha_warning
      Src: /src/haproxy/src/log.c:1316,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:1317,1
    - Dst: free_server_rules
      Src: /src/haproxy/src/log.c:1320,1
    - Dst: ha_warning
      Src: /src/haproxy/src/log.c:1323,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:1324,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:1336,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:1336,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 1
    argNames:
    - be
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1261
    functionDepth: 3
    functionLinenumber: 1261
    functionLinenumberEnd: 1340
    functionName: _postcheck_log_backend_compat
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - free_stick_rules
    - istfree
    - LIST_ISEMPTY
    - ha_free
    - ha_warning
    - stktable_deinit
    - isttest
    - proxy_type_str
    - free_server_rules
    - free_act_rules
    linkageType: ''
    returnType: int
    signature: _postcheck_log_backend_compat(struct proxy *be)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _postcheck_log_backend_compat
      Src: /src/haproxy/src/log.c:1353,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1366,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1380,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1382,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/log.c:1386,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1391,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1392,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1394,1
    - Dst: smp_expr_output_type
      Src: /src/haproxy/src/log.c:1405,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1406,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/log.c:1408,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1409,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1412,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:1419,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:1420,1
    - Dst: malloc
      Src: /src/haproxy/src/log.c:1423,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1425,1
    - Dst: init_log_target
      Src: /src/haproxy/src/log.c:1429,1
    - Dst: calloc
      Src: /src/haproxy/src/log.c:1433,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1435,1
    - Dst: ipcpy
      Src: /src/haproxy/src/log.c:1442,1
    - Dst: set_host_port
      Src: /src/haproxy/src/log.c:1443,1
    - Dst: sink_new_from_srv
      Src: /src/haproxy/src/log.c:1450,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1452,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1462,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:1471,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1472,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 91
    argCount: 1
    argNames:
    - be
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1476
      start: 1342
    functionDepth: 6
    functionLinenumber: 1342
    functionLinenumberEnd: 1476
    functionName: postcheck_log_backend
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - memprintf
    - malloc
    - ha_alert
    - BUG_ON
    - ha_free
    - init_log_target
    - set_host_port
    - calloc
    - _postcheck_log_backend_compat
    - ipcpy
    - sample_parse_expr
    - sink_new_from_srv
    - release_sample_expr
    - smp_expr_output_type
    linkageType: ''
    returnType: int
    signature: postcheck_log_backend(struct proxy *be)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sink_resolve_logger_buffer
      Src: /src/haproxy/src/log.c:1499,1
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/log.c:1504,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1506,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1510,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1513,1
    - Dst: log_profile_find_by_name
      Src: /src/haproxy/src/log.c:1526,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1528,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1529,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1533,1
    - Dst: log_profile_postcheck
      Src: /src/haproxy/src/log.c:1536,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1537,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - px
    - logger
    - msg
    argTypes:
    - struct proxy*
    - struct logger*
    - char**
    constantsTouched: []
    func_position:
      end: 1545
      start: 1492
    functionDepth: 8
    functionLinenumber: 1492
    functionLinenumberEnd: 1545
    functionName: resolve_logger
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - memprintf
    - proxy_find_by_name
    - log_profile_postcheck
    - ha_free
    - log_profile_find_by_name
    - sink_resolve_logger_buffer
    linkageType: ''
    returnType: int
    signature: resolve_logger(struct proxy *px, struct logger *logger, char **msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:1557,1
    - Dst: malloc
      Src: /src/haproxy/src/log.c:1558,1
    - Dst: memcpy
      Src: /src/haproxy/src/log.c:1561,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/log.c:1566,1
    - Dst: dup_log_target
      Src: /src/haproxy/src/log.c:1569,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:1572,1
    - Dst: malloc
      Src: /src/haproxy/src/log.c:1577,1
    - Dst: memcpy
      Src: /src/haproxy/src/log.c:1580,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:1584,1
    - Dst: free_logger
      Src: /src/haproxy/src/log.c:1595,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - def
    argTypes:
    - struct logger*
    constantsTouched: []
    func_position:
      end: 1597
      start: 1553
    functionDepth: 4
    functionLinenumber: 1553
    functionLinenumberEnd: 1597
    functionName: dup_logger
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached:
    - malloc
    - BUG_ON
    - strdup
    - LIST_INIT
    - free_logger
    - dup_log_target
    - memcpy
    linkageType: ''
    returnType: struct logger
    signature: '*dup_logger(struct logger *def)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:1608,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/log.c:1608,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1609,1
    - Dst: deinit_log_target
      Src: /src/haproxy/src/log.c:1610,1
    - Dst: free
      Src: /src/haproxy/src/log.c:1611,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1613,1
    - Dst: free
      Src: /src/haproxy/src/log.c:1614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - logger
    argTypes:
    - struct logger*
    constantsTouched: []
    func_position:
      end: 1615
      start: 1603
    functionDepth: 3
    functionLinenumber: 1603
    functionLinenumberEnd: 1615
    functionName: free_logger
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached:
    - ha_free
    - free
    - LIST_INLIST
    - BUG_ON
    - deinit_log_target
    linkageType: ''
    returnType: void
    signature: free_logger(struct logger *logger)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_log_target
      Src: /src/haproxy/src/log.c:1626,1
    - Dst: strncmp
      Src: /src/haproxy/src/log.c:1629,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:1631,1
    - Dst: strncmp
      Src: /src/haproxy/src/log.c:1634,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:1636,1
    - Dst: malloc
      Src: /src/haproxy/src/log.c:1641,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1643,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/log.c:1650,1
    - Dst: set_host_port
      Src: /src/haproxy/src/log.c:1661,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1672,1
    - Dst: deinit_log_target
      Src: /src/haproxy/src/log.c:1678,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 3
    argNames:
    - raw
    - target
    - err
    argTypes:
    - char*
    - struct log_target*
    - char**
    constantsTouched: []
    func_position:
      end: 1680
      start: 1620
    functionDepth: 5
    functionLinenumber: 1620
    functionLinenumberEnd: 1680
    functionName: parse_log_target
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - malloc
    - memprintf
    - strncmp
    - init_log_target
    - set_host_port
    - str2sa_range
    - strdup
    - deinit_log_target
    linkageType: ''
    returnType: int
    signature: parse_log_target(char *raw, struct log_target *target, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1709,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/log.c:1714,1
    - Dst: free_logger
      Src: /src/haproxy/src/log.c:1715,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:1724,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1726,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/log.c:1729,1
    - Dst: dup_logger
      Src: /src/haproxy/src/log.c:1738,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1740,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:1745,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:1746,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/log.c:1750,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1762,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:1768,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:1770,1
    - Dst: calloc
      Src: /src/haproxy/src/log.c:1773,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1775,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/log.c:1778,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:1779,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:1787,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1790,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:1801,1
    - Dst: get_log_format
      Src: /src/haproxy/src/log.c:1802,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1804,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:1810,1
    - Dst: strchr
      Src: /src/haproxy/src/log.c:1816,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1818,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:1824,1
    - Dst: get_logger_smp_range
      Src: /src/haproxy/src/log.c:1827,1
    - Dst: smp_log_ranges_overlap
      Src: /src/haproxy/src/log.c:1830,1
    - Dst: my_realloc2
      Src: /src/haproxy/src/log.c:1833,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1835,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1848,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:1853,1
    - Dst: read_uint
      Src: /src/haproxy/src/log.c:1854,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1856,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1862,1
    - Dst: qsort
      Src: /src/haproxy/src/log.c:1870,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:1879,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1884,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:1887,1
    - Dst: get_log_facility
      Src: /src/haproxy/src/log.c:1892,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1894,1
    - Dst: get_log_level
      Src: /src/haproxy/src/log.c:1902,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1904,1
    - Dst: get_log_level
      Src: /src/haproxy/src/log.c:1913,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1915,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:1923,1
    - Dst: parse_log_target
      Src: /src/haproxy/src/log.c:1928,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/log.c:1932,1
    - Dst: free
      Src: /src/haproxy/src/log.c:1936,1
    - Dst: free_logger
      Src: /src/haproxy/src/log.c:1937,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 188
    argCount: 6
    argNames:
    - args
    - loggers
    - do_del
    - file
    - linenum
    - err
    argTypes:
    - char**
    - struct list*
    - int
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1939
      start: 1695
    functionDepth: 6
    functionLinenumber: 1695
    functionLinenumberEnd: 1939
    functionName: parse_logger
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 3
    functionsReached:
    - memprintf
    - ha_free
    - parse_log_target
    - free_logger
    - my_realloc2
    - get_logger_smp_range
    - qsort
    - list_for_each_entry
    - strcmp
    - smp_log_ranges_overlap
    - dup_logger
    - free
    - get_log_level
    - LIST_DEL_INIT
    - get_log_format
    - read_uint
    - strlen
    - strdup
    - LIST_INIT
    - strchr
    - calloc
    - LIST_APPEND
    - get_log_facility
    linkageType: ''
    returnType: int
    signature: parse_logger(char **args, struct list *loggers, int do_del, const char
      *file, int linenum, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:1951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1956
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1956
    functionName: get_log_format
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: enum log_fmt
    signature: get_log_format(const char *fmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:1966,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - lev
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1970
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1970
    functionName: get_log_level
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: get_log_level(const char *lev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:1980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fac
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1984
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1984
    functionName: get_log_facility
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: get_log_facility(const char *fac)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - start
    - stop
    - byte
    argTypes:
    - char*
    - char*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 2011
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2011
    functionName: _encode_byte_hex
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*_encode_byte_hex(char *start, char *stop, unsigned char byte)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:2026,1
    - Dst: _encode_byte_hex
      Src: /src/haproxy/src/log.c:2036,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - cbor_ctx
    - start
    - stop
    - byte
    argTypes:
    - struct cbor_encode_ctx*
    - char*
    - char*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 2037
      start: 2021
    functionDepth: 1
    functionLinenumber: 2021
    functionLinenumberEnd: 2037
    functionName: _lf_cbor_encode_byte
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - _encode_byte_hex
    linkageType: ''
    returnType: char
    signature: "*_lf_cbor_encode_byte(struct cbor_encode_ctx *cbor_ctx,\n                                  char
      *start, char *stop, unsigned char byte)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - g_options
    - node
    argTypes:
    - struct lf_buildctx*
    - int
    - struct logformat_node*
    constantsTouched: []
    func_position:
      end: 2061
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2061
    functionName: lf_buildctx_prepare
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "lf_buildctx_prepare(struct lf_buildctx *ctx,\n                                       int
      g_options,\n                                       const struct logformat_node
      *node)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - start
    - stop
    - byte
    - escape
    argTypes:
    - char*
    - char*
    - char
    - char
    constantsTouched: []
    func_position:
      end: 2076
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2076
    functionName: _lf_escape_byte
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "*_lf_escape_byte(char *start, char *stop,\n                                    char
      byte, const char escape)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cbor_encode_bytes_prefix
      Src: /src/haproxy/src/log.c:2092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - start
    - stop
    - byte
    - escape
    - cbor_string_prefix
    - ctx
    argTypes:
    - char*
    - char*
    - char
    - char
    - uint8_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2097
      start: 2081
    functionDepth: 2
    functionLinenumber: 2081
    functionLinenumberEnd: 2097
    functionName: _lf_cbor_escape_byte
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - cbor_encode_bytes_prefix
    linkageType: ''
    returnType: char
    signature: "*_lf_cbor_escape_byte(char *start, char *stop,\n                                         char
      byte, const char escape,\n                                         uint8_t cbor_string_prefix,\n
      \                                        struct lf_buildctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_bit_test
      Src: /src/haproxy/src/log.c:2113,1
    - Dst: _lf_escape_byte
      Src: /src/haproxy/src/log.c:2116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 8
    argNames:
    - start
    - stop
    - byte
    - escape
    - map
    - pending
    - cbor_string_prefix
    - ctx
    argTypes:
    - char*
    - char*
    - char*
    - char
    - long*
    - char**
    - uint8_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2119
      start: 2107
    functionDepth: 1
    functionLinenumber: 2107
    functionLinenumberEnd: 2119
    functionName: _lf_map_escape_byte
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - ha_bit_test
    - _lf_escape_byte
    linkageType: ''
    returnType: char
    signature: "*_lf_map_escape_byte(char *start, char *stop,\n                                        const
      char *byte,\n                                        const char escape, const
      long *map,\n                                        const char **pending, uint8_t
      cbor_string_prefix,\n                                        struct lf_buildctx
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_bit_test
      Src: /src/haproxy/src/log.c:2142,1
    - Dst: cbor_encode_bytes_prefix
      Src: /src/haproxy/src/log.c:2148,1
    - Dst: _lf_cbor_escape_byte
      Src: /src/haproxy/src/log.c:2157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 8
    argNames:
    - start
    - stop
    - byte
    - escape
    - map
    - pending
    - cbor_string_prefix
    - ctx
    argTypes:
    - char*
    - char*
    - char*
    - char
    - long*
    - char**
    - uint8_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2163
      start: 2130
    functionDepth: 3
    functionLinenumber: 2130
    functionLinenumberEnd: 2163
    functionName: _lf_cbor_map_escape_byte
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - _lf_cbor_escape_byte
    - ha_bit_test
    - cbor_encode_bytes_prefix
    linkageType: ''
    returnType: char
    signature: "*_lf_cbor_map_escape_byte(char *start, char *stop,\n                                             const
      char *byte,\n                                             const char escape,
      const long *map,\n                                             const char **pending,
      uint8_t cbor_string_prefix,\n                                             struct
      lf_buildctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_bit_test
      Src: /src/haproxy/src/log.c:2180,1
    - Dst: ha_bit_test
      Src: /src/haproxy/src/log.c:2181,1
    - Dst: _lf_escape_byte
      Src: /src/haproxy/src/log.c:2191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 8
    argNames:
    - start
    - stop
    - byte
    - escape
    - map
    - pending
    - cbor_string_prefix
    - ctx
    argTypes:
    - char*
    - char*
    - char*
    - char
    - long*
    - char**
    - uint8_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2194
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2194
    functionName: _lf_rfc5424_escape_byte
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - ha_bit_test
    - _lf_escape_byte
    linkageType: ''
    returnType: char
    signature: "*_lf_rfc5424_escape_byte(char *start, char *stop,\n                                            const
      char *byte,\n                                            const char escape,
      const long *map,\n                                            const char **pending,
      uint8_t cbor_string_prefix,\n                                            struct
      lf_buildctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_bit_test
      Src: /src/haproxy/src/log.c:2211,1
    - Dst: ha_bit_test
      Src: /src/haproxy/src/log.c:2212,1
    - Dst: _lf_escape_byte
      Src: /src/haproxy/src/log.c:2222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 8
    argNames:
    - start
    - stop
    - byte
    - escape
    - map
    - pending
    - cbor_string_prefix
    - ctx
    argTypes:
    - char*
    - char*
    - char*
    - char
    - long*
    - char**
    - uint8_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2225
      start: 2205
    functionDepth: 1
    functionLinenumber: 2205
    functionLinenumberEnd: 2225
    functionName: _lf_json_escape_byte
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - ha_bit_test
    - _lf_escape_byte
    linkageType: ''
    returnType: char
    signature: "*_lf_json_escape_byte(char *start, char *stop,\n                                         const
      char *byte,\n                                         const char escape, const
      long *map,\n                                         const char **pending, uint8_t
      cbor_string_prefix,\n                                         struct lf_buildctx
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _lf_cbor_encode_byte
      Src: /src/haproxy/src/log.c:2284,1
    - Dst: encode_byte
      Src: /src/haproxy/src/log.c:2296,1
    - Dst: encode_byte
      Src: /src/haproxy/src/log.c:2306,1
    - Dst: cbor_encode_bytes_prefix
      Src: /src/haproxy/src/log.c:2319,1
    - Dst: _lf_cbor_encode_byte
      Src: /src/haproxy/src/log.c:2327,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 57
    argCount: 7
    argNames:
    - start
    - stop
    - escape
    - map
    - bytes
    - bytes_stop
    - ctx
    argTypes:
    - char*
    - char*
    - char
    - long*
    - char*
    - char*
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2338
      start: 2245
    functionDepth: 2
    functionLinenumber: 2245
    functionLinenumberEnd: 2338
    functionName: _lf_encode_bytes
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - _lf_cbor_encode_byte
    - encode_byte
    - cbor_encode_bytes_prefix
    linkageType: ''
    returnType: char
    signature: "*_lf_encode_bytes(char *start, char *stop,\n                              const
      char escape, const long *map,\n                              const char *bytes,
      const char *bytes_stop,\n                              struct lf_buildctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _lf_encode_bytes
      Src: /src/haproxy/src/log.c:2348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - start
    - stop
    - escape
    - map
    - string
    - ctx
    argTypes:
    - char*
    - char*
    - char
    - long*
    - char*
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2350
      start: 2343
    functionDepth: 3
    functionLinenumber: 2343
    functionLinenumberEnd: 2350
    functionName: lf_encode_string
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - _lf_encode_bytes
    linkageType: ''
    returnType: char
    signature: "*lf_encode_string(char *start, char *stop,\n                              const
      char escape, const long *map,\n                              const char *string,\n
      \                             struct lf_buildctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _lf_encode_bytes
      Src: /src/haproxy/src/log.c:2360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - start
    - stop
    - escape
    - map
    - chunk
    - ctx
    argTypes:
    - char*
    - char*
    - char
    - long*
    - struct buffer*
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2363
      start: 2355
    functionDepth: 3
    functionLinenumber: 2355
    functionLinenumberEnd: 2363
    functionName: lf_encode_chunk
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - _lf_encode_bytes
    linkageType: ''
    returnType: char
    signature: "*lf_encode_chunk(char *start, char *stop,\n                             const
      char escape, const long *map,\n                             const struct buffer
      *chunk,\n                             struct lf_buildctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strnlen2
      Src: /src/haproxy/src/log.c:2394,1
    - Dst: cbor_encode_text
      Src: /src/haproxy/src/log.c:2396,1
    - Dst: escape_string
      Src: /src/haproxy/src/log.c:2408,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/log.c:2416,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - dst
    - src
    - len
    - size
    - ctx
    argTypes:
    - char*
    - char*
    - size_t
    - size_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2427
      start: 2376
    functionDepth: 3
    functionLinenumber: 2376
    functionLinenumberEnd: 2427
    functionName: _lf_text_len
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - strnlen2
    - cbor_encode_text
    - escape_string
    - strlcpy2
    linkageType: ''
    returnType: char
    signature: "*_lf_text_len(char *dst, const char *src,\n                                 size_t
      len, size_t size, struct lf_buildctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _lf_text_len
      Src: /src/haproxy/src/log.c:2444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - dst
    - src
    - len
    - size
    - ctx
    argTypes:
    - char*
    - char*
    - size_t
    - size_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2457
      start: 2432
    functionDepth: 4
    functionLinenumber: 2432
    functionLinenumberEnd: 2457
    functionName: _lf_quotetext_len
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - _lf_text_len
    linkageType: ''
    returnType: char
    signature: "*_lf_quotetext_len(char *dst, const char *src,\n                                      size_t
      len, size_t size, struct lf_buildctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _lf_quotetext_len
      Src: /src/haproxy/src/log.c:2470,1
    - Dst: _lf_text_len
      Src: /src/haproxy/src/log.c:2472,1
    - Dst: _lf_text_len
      Src: /src/haproxy/src/log.c:2483,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - dst
    - src
    - len
    - size
    - ctx
    argTypes:
    - char*
    - char*
    - size_t
    - size_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2484
      start: 2465
    functionDepth: 5
    functionLinenumber: 2465
    functionLinenumberEnd: 2484
    functionName: lf_text_len
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 2
    functionsReached:
    - _lf_text_len
    - _lf_quotetext_len
    linkageType: ''
    returnType: char
    signature: '*lf_text_len(char *dst, const char *src, size_t len, size_t size,
      struct lf_buildctx *ctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _lf_quotetext_len
      Src: /src/haproxy/src/log.c:2494,1
    - Dst: _lf_text_len
      Src: /src/haproxy/src/log.c:2495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - dst
    - src
    - len
    - size
    - ctx
    argTypes:
    - char*
    - char*
    - size_t
    - size_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2496
      start: 2490
    functionDepth: 5
    functionLinenumber: 2490
    functionLinenumberEnd: 2496
    functionName: lf_rawtext_len
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - _lf_text_len
    - _lf_quotetext_len
    linkageType: ''
    returnType: char
    signature: '*lf_rawtext_len(char *dst, const char *src, size_t len, size_t size,
      struct lf_buildctx *ctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_text_len
      Src: /src/haproxy/src/log.c:2501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dst
    - src
    - size
    - ctx
    argTypes:
    - char*
    - char*
    - size_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2502
      start: 2499
    functionDepth: 6
    functionLinenumber: 2499
    functionLinenumberEnd: 2502
    functionName: lf_text
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - lf_text_len
    linkageType: ''
    returnType: char
    signature: '*lf_text(char *dst, const char *src, size_t size, struct lf_buildctx
      *ctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_rawtext_len
      Src: /src/haproxy/src/log.c:2507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dst
    - src
    - size
    - ctx
    argTypes:
    - char*
    - char*
    - size_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2508
      start: 2505
    functionDepth: 6
    functionLinenumber: 2505
    functionLinenumberEnd: 2508
    functionName: lf_rawtext
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - lf_rawtext_len
    linkageType: ''
    returnType: char
    signature: '*lf_rawtext(char *dst, const char *src, size_t size, struct lf_buildctx
      *ctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:2526,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:2530,1
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:2537,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:2545,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/log.c:2553,1
    - Dst: lf_text
      Src: /src/haproxy/src/log.c:2554,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - dst
    - sockaddr
    - size
    - ctx
    argTypes:
    - char*
    - struct sockaddr*
    - size_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2557
      start: 2514
    functionDepth: 7
    functionLinenumber: 2514
    functionLinenumberEnd: 2557
    functionName: lf_ip
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - snprintf
    - addr_to_str
    - lf_rawtext
    - lf_text
    linkageType: ''
    returnType: char
    signature: '*lf_ip(char *dst, const struct sockaddr *sockaddr, size_t size, struct
      lf_buildctx *ctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:2572,1
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:2574,1
    - Dst: _lf_cbor_encode_byte
      Src: /src/haproxy/src/log.c:2583,1
    - Dst: _lf_cbor_encode_byte
      Src: /src/haproxy/src/log.c:2584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - dst
    - size
    - value
    - ctx
    argTypes:
    - char*
    - size_t
    - uint8_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2588
      start: 2562
    functionDepth: 2
    functionLinenumber: 2562
    functionLinenumberEnd: 2588
    functionName: lf_bool_encode
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - _lf_cbor_encode_byte
    - snprintf
    linkageType: ''
    returnType: char
    signature: "*lf_bool_encode(char *dst, size_t size, uint8_t value,\n                            struct
      lf_buildctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_bool_encode
      Src: /src/haproxy/src/log.c:2598,1
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:2610,1
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:2614,1
    - Dst: cbor_encode_int64
      Src: /src/haproxy/src/log.c:2627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - dst
    - size
    - value
    - ctx
    argTypes:
    - char*
    - size_t
    - int64_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2631
      start: 2593
    functionDepth: 3
    functionLinenumber: 2593
    functionLinenumberEnd: 2631
    functionName: lf_int_encode
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - lf_bool_encode
    - cbor_encode_int64
    - snprintf
    linkageType: ''
    returnType: char
    signature: "*lf_int_encode(char *dst, size_t size, int64_t value,\n                           struct
      lf_buildctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_int_encode
      Src: /src/haproxy/src/log.c:2649,1
    - Dst: ltoa_o
      Src: /src/haproxy/src/log.c:2653,1
    - Dst: lltoa
      Src: /src/haproxy/src/log.c:2655,1
    - Dst: ultoa_o
      Src: /src/haproxy/src/log.c:2657,1
    - Dst: utoa_pad
      Src: /src/haproxy/src/log.c:2662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - dst
    - size
    - value
    - ctx
    - dft_hdl
    argTypes:
    - char*
    - size_t
    - int64_t
    - struct lf_buildctx*
    - enum lf_int_hdl
    constantsTouched: []
    func_position:
      end: 2666
      start: 2644
    functionDepth: 4
    functionLinenumber: 2644
    functionLinenumberEnd: 2666
    functionName: lf_int
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - lltoa
    - ltoa_o
    - lf_int_encode
    - ultoa_o
    - utoa_pad
    linkageType: ''
    returnType: char
    signature: "*lf_int(char *dst, size_t size, int64_t value,\n                           struct
      lf_buildctx *ctx,\n                           enum lf_int_hdl dft_hdl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:2680,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:2683,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:2685,1
    - Dst: get_host_port
      Src: /src/haproxy/src/log.c:2685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - dst
    - sockaddr
    - size
    - ctx
    argTypes:
    - char*
    - struct sockaddr*
    - size_t
    - struct lf_buildctx*
    constantsTouched: []
    func_position:
      end: 2689
      start: 2672
    functionDepth: 7
    functionLinenumber: 2672
    functionLinenumberEnd: 2689
    functionName: lf_port
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - get_host_port
    - snprintf
    - lf_int
    - lf_rawtext
    linkageType: ''
    returnType: char
    signature: '*lf_port(char *dst, const struct sockaddr *sockaddr, size_t size,
      struct lf_buildctx *ctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: real_family
      Src: /src/haproxy/src/log.c:2734,1
    - Dst: unlikely
      Src: /src/haproxy/src/log.c:2739,1
    - Dst: protocol_lookup
      Src: /src/haproxy/src/log.c:2745,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:2746,1
    - Dst: socket
      Src: /src/haproxy/src/log.c:2747,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:2752,1
    - Dst: strerror
      Src: /src/haproxy/src/log.c:2753,1
    - Dst: setsockopt
      Src: /src/haproxy/src/log.c:2758,1
    - Dst: setsockopt
      Src: /src/haproxy/src/log.c:2761,1
    - Dst: shutdown
      Src: /src/haproxy/src/log.c:2763,1
    - Dst: fd_set_cloexec
      Src: /src/haproxy/src/log.c:2764,1
    - Dst: build_log_header
      Src: /src/haproxy/src/log.c:2768,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:2774,1
    - Dst: sink_write
      Src: /src/haproxy/src/log.c:2781,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:2786,1
    - Dst: fd_write_frag_line
      Src: /src/haproxy/src/log.c:2788,1
    - Dst: real_family
      Src: /src/haproxy/src/log.c:2818,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/log.c:2820,1
    - Dst: sendmsg
      Src: /src/haproxy/src/log.c:2822,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/log.c:2829,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:2832,1
    - Dst: strerror
      Src: /src/haproxy/src/log.c:2833,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 79
    argCount: 6
    argNames:
    - target
    - hdr
    - nblogger
    - maxlen
    - message
    - size
    argTypes:
    - struct log_target*
    - struct log_header
    - int
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2836
      start: 2701
    functionDepth: 2
    functionLinenumber: 2701
    functionLinenumberEnd: 2836
    functionName: __do_send_log
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - real_family
    - ha_alert
    - strerror
    - shutdown
    - setsockopt
    - sink_write
    - build_log_header
    - ist2
    - _HA_ATOMIC_INC
    - fd_set_cloexec
    - protocol_lookup
    - socket
    - unlikely
    - fd_write_frag_line
    - BUG_ON
    - sendmsg
    - get_addr_len
    linkageType: ''
    returnType: void
    signature: "__do_send_log(struct log_target *target, struct log_header hdr,\n
      \                                int nblogger, size_t maxlen,\n                                 char
      *message, size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fwrr_get_next_server
      Src: /src/haproxy/src/log.c:2851,1
    - Dst: ss_get_server
      Src: /src/haproxy/src/log.c:2858,1
    - Dst: statistical_prng
      Src: /src/haproxy/src/log.c:2863,1
    - Dst: chash_get_server_hash
      Src: /src/haproxy/src/log.c:2864,1
    - Dst: memset
      Src: /src/haproxy/src/log.c:2870,1
    - Dst: sample_process_cnv
      Src: /src/haproxy/src/log.c:2875,1
    - Dst: gen_hash
      Src: /src/haproxy/src/log.c:2881,1
    - Dst: map_get_server_hash
      Src: /src/haproxy/src/log.c:2882,1
    - Dst: __do_send_log
      Src: /src/haproxy/src/log.c:2892,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/log.c:2896,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 6
    argNames:
    - be
    - hdr
    - nblogger
    - maxlen
    - message
    - size
    argTypes:
    - struct proxy*
    - struct log_header
    - int
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2897
      start: 2842
    functionDepth: 4
    functionLinenumber: 2842
    functionLinenumberEnd: 2897
    functionName: __do_send_log_backend
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - chash_get_server_hash
    - map_get_server_hash
    - _HA_ATOMIC_INC
    - __do_send_log
    - ss_get_server
    - sample_process_cnv
    - statistical_prng
    - fwrr_get_next_server
    - memset
    - gen_hash
    linkageType: ''
    returnType: void
    signature: "__do_send_log_backend(struct proxy *be, struct log_header hdr,\n                                         int
      nblogger, size_t maxlen,\n                                         char *message,
      size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/log.c:2901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - metadata
    - sd
    - sd_size
    argTypes:
    - struct ist*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2906
      start: 2899
    functionDepth: 1
    functionLinenumber: 2899
    functionLinenumberEnd: 2906
    functionName: __send_log_set_metadata_sd
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - ist2
    linkageType: ''
    returnType: void
    signature: __send_log_set_metadata_sd(struct ist *metadata, char *sd, size_t sd_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __do_send_log_backend
      Src: /src/haproxy/src/log.c:2922,1
    - Dst: __do_send_log
      Src: /src/haproxy/src/log.c:2926,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - logger
    - hdr
    - message
    - size
    - nblogger
    argTypes:
    - struct logger*
    - struct log_header
    - char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 2928
      start: 2915
    functionDepth: 5
    functionLinenumber: 2915
    functionLinenumberEnd: 2928
    functionName: _process_send_log_final
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - __do_send_log
    - __do_send_log_backend
    linkageType: ''
    returnType: void
    signature: "_process_send_log_final(struct logger *logger, struct log_header hdr,\n
      \                                          char *message, size_t size, int nblogger)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:2941,1
    - Dst: b_is_null
      Src: /src/haproxy/src/log.c:2943,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:2944,1
    - Dst: container_of_safe
      Src: /src/haproxy/src/log.c:2989,1
    - Dst: eb32_lookup
      Src: /src/haproxy/src/log.c:2989,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/log.c:3007,1
    - Dst: sess_build_logline_orig
      Src: /src/haproxy/src/log.c:3008,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/log.c:3016,1
    - Dst: sess_build_logline_orig
      Src: /src/haproxy/src/log.c:3019,1
    - Dst: __send_log_set_metadata_sd
      Src: /src/haproxy/src/log.c:3023,1
    - Dst: _process_send_log_final
      Src: /src/haproxy/src/log.c:3027,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 64
    argCount: 6
    argNames:
    - ctx
    - logger
    - hdr
    - message
    - size
    - nblogger
    argTypes:
    - struct process_send_log_ctx*
    - struct logger*
    - struct log_header
    - char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 3033
      start: 2930
    functionDepth: 6
    functionLinenumber: 2930
    functionLinenumberEnd: 3033
    functionName: _process_send_log_override
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - lf_expr_isempty
    - container_of_safe
    - ist2
    - eb32_lookup
    - __send_log_set_metadata_sd
    - _process_send_log_final
    - sess_build_logline_orig
    - b_is_null
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: "_process_send_log_override(struct process_send_log_ctx *ctx,\n                                              struct
      logger *logger, struct log_header hdr,\n                                              char
      *message, size_t size, int nblogger)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/log.c:3063,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/log.c:3081,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/log.c:3082,1
    - Dst: MAX
      Src: /src/haproxy/src/log.c:3087,1
    - Dst: unlikely
      Src: /src/haproxy/src/log.c:3095,1
    - Dst: _process_send_log_override
      Src: /src/haproxy/src/log.c:3096,1
    - Dst: _process_send_log_final
      Src: /src/haproxy/src/log.c:3098,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 7
    argNames:
    - ctx
    - loggers
    - level
    - facility
    - metadata
    - message
    - size
    argTypes:
    - struct process_send_log_ctx*
    - struct list*
    - int
    - int
    - struct ist*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3101
      start: 3042
    functionDepth: 7
    functionLinenumber: 3042
    functionLinenumberEnd: 3101
    functionName: process_send_log
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_CAS
    - __ha_cpu_relax
    - MAX
    - _process_send_log_final
    - _HA_ATOMIC_LOAD
    - unlikely
    - _process_send_log_override
    linkageType: ''
    returnType: void
    signature: "process_send_log(struct process_send_log_ctx *ctx,\n                             struct
      list *loggers, int level, int facility,\n                             struct
      ist *metadata, char *message, size_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/log.c:3118,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/log.c:3122,1
    - Dst: ist
      Src: /src/haproxy/src/log.c:3127,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3134,1
    - Dst: unlikely
      Src: /src/haproxy/src/log.c:3136,1
    - Dst: getpid
      Src: /src/haproxy/src/log.c:3136,1
    - Dst: getpid
      Src: /src/haproxy/src/log.c:3140,1
    - Dst: ltoa_o
      Src: /src/haproxy/src/log.c:3141,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3142,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:3142,1
    - Dst: __send_log_set_metadata_sd
      Src: /src/haproxy/src/log.c:3145,1
    - Dst: process_send_log
      Src: /src/haproxy/src/log.c:3147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 8
    argNames:
    - ctx
    - loggers
    - tagb
    - level
    - message
    - size
    - sd
    - sd_size
    argTypes:
    - struct process_send_log_ctx*
    - struct list*
    - struct buffer*
    - int
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3148
      start: 3109
    functionDepth: 8
    functionLinenumber: 3109
    functionLinenumberEnd: 3148
    functionName: __send_log
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - ltoa_o
    - LIST_ISEMPTY
    - strlen
    - ist2
    - getpid
    - ist
    - __send_log_set_metadata_sd
    - process_send_log
    - unlikely
    linkageType: ''
    returnType: void
    signature: "__send_log(struct process_send_log_ctx *ctx,\n                       struct
      list *loggers, struct buffer *tagb, int level,\n                       char
      *message, size_t size, char *sd, size_t sd_size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/log.c:3162,1
    - Dst: vsnprintf
      Src: /src/haproxy/src/log.c:3163,1
    - Dst: va_end
      Src: /src/haproxy/src/log.c:3166,1
    - Dst: __send_log
      Src: /src/haproxy/src/log.c:3168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - p
    - level
    - format
    argTypes:
    - struct proxy*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 3171
      start: 3154
    functionDepth: 9
    functionLinenumber: 3154
    functionLinenumberEnd: 3171
    functionName: send_log
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 35
    functionsReached:
    - vsnprintf
    - __send_log
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: send_log(struct proxy *p, int level, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/log.c:3268,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3279,1
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:3295,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3304,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3306,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3307,1
    - Dst: unlikely
      Src: /src/haproxy/src/log.c:3315,1
    - Dst: get_localtime
      Src: /src/haproxy/src/log.c:3317,1
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:3319,1
    - Dst: likely
      Src: /src/haproxy/src/log.c:3328,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3329,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3331,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3335,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3339,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3352,1
    - Dst: memcmp
      Src: /src/haproxy/src/log.c:3361,1
    - Dst: get_localtime
      Src: /src/haproxy/src/log.c:3367,1
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:3374,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3385,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3387,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3390,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3397,1
    - Dst: timeofday_as_iso_us
      Src: /src/haproxy/src/log.c:3397,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/log.c:3405,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3413,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3416,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3424,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3426,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3428,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3433,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3436,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3440,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3443,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3447,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3450,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3454,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3457,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3461,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:3464,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/log.c:3474,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 180
    argCount: 2
    argNames:
    - hdr
    - nbelem
    argTypes:
    - struct log_header
    - size_t*
    constantsTouched: []
    func_position:
      end: 3478
      start: 3185
    functionDepth: 2
    functionLinenumber: 3185
    functionLinenumberEnd: 3478
    functionName: build_log_header
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 2
    functionsReached:
    - ABORT_NOW
    - ist2
    - snprintf
    - get_localtime
    - likely
    - timeofday_as_iso_us
    - unlikely
    - memcmp
    linkageType: ''
    returnType: struct ist
    signature: '*build_log_header(struct log_header hdr, size_t *nbelem)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_realloc2
      Src: /src/haproxy/src/log.c:3702,1
    - Dst: my_realloc2
      Src: /src/haproxy/src/log.c:3703,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/log.c:3706,1
    - Dst: my_realloc2
      Src: /src/haproxy/src/log.c:3707,1
    - Dst: my_realloc2
      Src: /src/haproxy/src/log.c:3708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3713
      start: 3700
    functionDepth: 1
    functionLinenumber: 3700
    functionLinenumberEnd: 3713
    functionName: init_log_buffers
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - my_realloc2
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: init_log_buffers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/log.c:3718,1
    - Dst: free
      Src: /src/haproxy/src/log.c:3719,1
    - Dst: free
      Src: /src/haproxy/src/log.c:3720,1
    - Dst: free
      Src: /src/haproxy/src/log.c:3721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3726
      start: 3716
    functionDepth: 3
    functionLinenumber: 3716
    functionLinenumberEnd: 3726
    functionName: deinit_log_buffers
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: deinit_log_buffers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_proxy
      Src: /src/haproxy/src/log.c:3738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3740
      start: 3729
    functionDepth: 1
    functionLinenumber: 3729
    functionLinenumberEnd: 3740
    functionName: deinit_log_forward
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - free_proxy
    linkageType: ''
    returnType: void
    signature: deinit_log_forward()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: release_sample_expr
      Src: /src/haproxy/src/log.c:3748,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:3750,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:3751,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:3752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct logformat_node*
    constantsTouched: []
    func_position:
      end: 3753
      start: 3743
    functionDepth: 1
    functionLinenumber: 3743
    functionLinenumberEnd: 3753
    functionName: free_logformat_node
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 2
    functionsReached:
    - release_sample_expr
    - ha_free
    linkageType: ''
    returnType: void
    signature: free_logformat_node(struct logformat_node *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/log.c:3760,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/log.c:3764,1
    - Dst: free_logformat_node
      Src: /src/haproxy/src/log.c:3765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 3767
      start: 3756
    functionDepth: 2
    functionLinenumber: 3756
    functionLinenumberEnd: 3767
    functionName: free_logformat_list
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - LIST_DELETE
    - free_logformat_node
    - LIST_ISEMPTY
    linkageType: ''
    returnType: void
    signature: free_logformat_list(struct list *fmt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/log.c:3772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - expr
    argTypes:
    - struct lf_expr*
    constantsTouched: []
    func_position:
      end: 3777
      start: 3770
    functionDepth: 0
    functionLinenumber: 3770
    functionLinenumberEnd: 3777
    functionName: lf_expr_init
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 12
    functionsReached:
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: lf_expr_init(struct lf_expr *expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_logformat_list
      Src: /src/haproxy/src/log.c:3783,1
    - Dst: logformat_str_free
      Src: /src/haproxy/src/log.c:3785,1
    - Dst: free
      Src: /src/haproxy/src/log.c:3786,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/log.c:3788,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/log.c:3790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - expr
    argTypes:
    - struct lf_expr*
    constantsTouched: []
    func_position:
      end: 3791
      start: 3780
    functionDepth: 3
    functionLinenumber: 3780
    functionLinenumberEnd: 3791
    functionName: lf_expr_deinit
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 11
    functionsReached:
    - lf_expr_init
    - free_logformat_list
    - free
    - LIST_DEL_INIT
    - logformat_str_free
    linkageType: ''
    returnType: void
    signature: lf_expr_deinit(struct lf_expr *expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/log.c:3801,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:3803,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/log.c:3810,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/log.c:3812,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/log.c:3813,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/log.c:3814,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/log.c:3820,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/log.c:3821,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/log.c:3824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - struct lf_expr*
    - struct lf_expr*
    constantsTouched: []
    func_position:
      end: 3825
      start: 3796
    functionDepth: 4
    functionLinenumber: 3796
    functionLinenumberEnd: 3825
    functionName: lf_expr_xfer
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry_safe
    - lf_expr_init
    - LIST_APPEND
    - LIST_DELETE
    - lf_expr_deinit
    - LIST_INIT
    - LIST_DEL_INIT
    - LIST_INSERT
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: lf_expr_xfer(struct lf_expr *src, struct lf_expr *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:3833,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/log.c:3834,1
    - Dst: logformat_str_dup
      Src: /src/haproxy/src/log.c:3836,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:3841,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/log.c:3850,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - orig
    - dest
    argTypes:
    - struct lf_expr*
    - struct lf_expr*
    constantsTouched: []
    func_position:
      end: 3852
      start: 3831
    functionDepth: 4
    functionLinenumber: 3831
    functionLinenumberEnd: 3852
    functionName: lf_expr_dup
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - logformat_str_dup
    - lf_expr_deinit
    - BUG_ON
    - strdup
    linkageType: ''
    returnType: int
    signature: lf_expr_dup(const struct lf_expr *orig, struct lf_expr *dest)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/log.c:3897,1
    - Dst: sc_conn
      Src: /src/haproxy/src/log.c:3900,1
    - Dst: obj_type
      Src: /src/haproxy/src/log.c:3913,1
    - Dst: __objt_check
      Src: /src/haproxy/src/log.c:3913,1
    - Dst: objt_conn
      Src: /src/haproxy/src/log.c:3915,1
    - Dst: obj_type
      Src: /src/haproxy/src/log.c:3916,1
    - Dst: sc_conn
      Src: /src/haproxy/src/log.c:3916,1
    - Dst: __objt_check
      Src: /src/haproxy/src/log.c:3916,1
    - Dst: _HA_ATOMIC_FETCH_ADD
      Src: /src/haproxy/src/log.c:3919,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/log.c:3930,1
    - Dst: struct connection*::mux::ctl
      Src: /src/haproxy/src/log.c:3939,1
    - Dst: conn_xprt_read0_pending
      Src: /src/haproxy/src/log.c:3946,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/log.c:3971,1
    - Dst: lf_buildctx_prepare
      Src: /src/haproxy/src/log.c:3979,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/log.c:3982,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:3986,1
    - Dst: LOG_CBOR_BYTE
      Src: /src/haproxy/src/log.c:3989,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4010,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/log.c:4022,1
    - Dst: lf_buildctx_prepare
      Src: /src/haproxy/src/log.c:4036,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4043,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4044,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4049,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/log.c:4050,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4054,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4055,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4056,1
    - Dst: cbor_encode_text
      Src: /src/haproxy/src/log.c:4059,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:4061,1
    - Dst: lf_buildctx_prepare
      Src: /src/haproxy/src/log.c:4074,1
    - Dst: sample_process
      Src: /src/haproxy/src/log.c:4082,1
    - Dst: sample_process
      Src: /src/haproxy/src/log.c:4085,1
    - Dst: sample_process
      Src: /src/haproxy/src/log.c:4088,1
    - Dst: sample_convert
      Src: /src/haproxy/src/log.c:4134,1
    - Dst: lf_encode_chunk
      Src: /src/haproxy/src/log.c:4137,1
    - Dst: lf_encode_chunk
      Src: /src/haproxy/src/log.c:4141,1
    - Dst: lf_int_encode
      Src: /src/haproxy/src/log.c:4146,1
    - Dst: lf_bool_encode
      Src: /src/haproxy/src/log.c:4149,1
    - Dst: lf_text_len
      Src: /src/haproxy/src/log.c:4152,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:4165,1
    - Dst: sc_src
      Src: /src/haproxy/src/log.c:4170,1
    - Dst: sess_src
      Src: /src/haproxy/src/log.c:4170,1
    - Dst: lf_ip
      Src: /src/haproxy/src/log.c:4172,1
    - Dst: lf_text_len
      Src: /src/haproxy/src/log.c:4174,1
    - Dst: sc_src
      Src: /src/haproxy/src/log.c:4182,1
    - Dst: sess_src
      Src: /src/haproxy/src/log.c:4182,1
    - Dst: real_family
      Src: /src/haproxy/src/log.c:4185,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4186,1
    - Dst: lf_port
      Src: /src/haproxy/src/log.c:4189,1
    - Dst: lf_text_len
      Src: /src/haproxy/src/log.c:4192,1
    - Dst: sc_dst
      Src: /src/haproxy/src/log.c:4200,1
    - Dst: sess_dst
      Src: /src/haproxy/src/log.c:4200,1
    - Dst: lf_ip
      Src: /src/haproxy/src/log.c:4202,1
    - Dst: lf_text_len
      Src: /src/haproxy/src/log.c:4204,1
    - Dst: sc_dst
      Src: /src/haproxy/src/log.c:4212,1
    - Dst: sess_dst
      Src: /src/haproxy/src/log.c:4212,1
    - Dst: real_family
      Src: /src/haproxy/src/log.c:4215,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4216,1
    - Dst: lf_port
      Src: /src/haproxy/src/log.c:4219,1
    - Dst: lf_text_len
      Src: /src/haproxy/src/log.c:4222,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/log.c:4230,1
    - Dst: lf_ip
      Src: /src/haproxy/src/log.c:4231,1
    - Dst: lf_text_len
      Src: /src/haproxy/src/log.c:4233,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/log.c:4241,1
    - Dst: lf_port
      Src: /src/haproxy/src/log.c:4242,1
    - Dst: lf_text_len
      Src: /src/haproxy/src/log.c:4244,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/log.c:4252,1
    - Dst: lf_ip
      Src: /src/haproxy/src/log.c:4253,1
    - Dst: lf_text_len
      Src: /src/haproxy/src/log.c:4255,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/log.c:4263,1
    - Dst: lf_port
      Src: /src/haproxy/src/log.c:4264,1
    - Dst: lf_text_len
      Src: /src/haproxy/src/log.c:4266,1
    - Dst: get_localtime
      Src: /src/haproxy/src/log.c:4277,1
    - Dst: date2str_log
      Src: /src/haproxy/src/log.c:4279,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:4281,1
    - Dst: date2str_log
      Src: /src/haproxy/src/log.c:4284,1
    - Dst: tv_ms_add
      Src: /src/haproxy/src/log.c:4296,1
    - Dst: get_localtime
      Src: /src/haproxy/src/log.c:4297,1
    - Dst: date2str_log
      Src: /src/haproxy/src/log.c:4299,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:4301,1
    - Dst: date2str_log
      Src: /src/haproxy/src/log.c:4304,1
    - Dst: get_gmtime
      Src: /src/haproxy/src/log.c:4315,1
    - Dst: gmt2str_log
      Src: /src/haproxy/src/log.c:4317,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:4319,1
    - Dst: gmt2str_log
      Src: /src/haproxy/src/log.c:4322,1
    - Dst: tv_ms_add
      Src: /src/haproxy/src/log.c:4333,1
    - Dst: get_gmtime
      Src: /src/haproxy/src/log.c:4334,1
    - Dst: gmt2str_log
      Src: /src/haproxy/src/log.c:4336,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:4338,1
    - Dst: gmt2str_log
      Src: /src/haproxy/src/log.c:4341,1
    - Dst: get_localtime
      Src: /src/haproxy/src/log.c:4352,1
    - Dst: localdate2str_log
      Src: /src/haproxy/src/log.c:4354,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:4357,1
    - Dst: localdate2str_log
      Src: /src/haproxy/src/log.c:4360,1
    - Dst: tv_ms_add
      Src: /src/haproxy/src/log.c:4372,1
    - Dst: get_localtime
      Src: /src/haproxy/src/log.c:4373,1
    - Dst: localdate2str_log
      Src: /src/haproxy/src/log.c:4375,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:4377,1
    - Dst: localdate2str_log
      Src: /src/haproxy/src/log.c:4380,1
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:4392,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:4395,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4397,1
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:4410,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:4413,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4415,1
    - Dst: lf_text
      Src: /src/haproxy/src/log.c:4426,1
    - Dst: LOG_VARTEXT_START
      Src: /src/haproxy/src/log.c:4434,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:4435,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4442,1
    - Dst: objt_conn
      Src: /src/haproxy/src/log.c:4447,1
    - Dst: ssl_sock_get_cipher_name
      Src: /src/haproxy/src/log.c:4449,1
    - Dst: lf_text
      Src: /src/haproxy/src/log.c:4451,1
    - Dst: objt_conn
      Src: /src/haproxy/src/log.c:4459,1
    - Dst: ssl_sock_get_proto_version
      Src: /src/haproxy/src/log.c:4461,1
    - Dst: lf_text
      Src: /src/haproxy/src/log.c:4463,1
    - Dst: lf_text
      Src: /src/haproxy/src/log.c:4471,1
    - Dst: obj_type
      Src: /src/haproxy/src/log.c:4478,1
    - Dst: __objt_server
      Src: /src/haproxy/src/log.c:4480,1
    - Dst: __objt_applet
      Src: /src/haproxy/src/log.c:4483,1
    - Dst: __objt_check
      Src: /src/haproxy/src/log.c:4486,1
    - Dst: __objt_check
      Src: /src/haproxy/src/log.c:4487,1
    - Dst: lf_text
      Src: /src/haproxy/src/log.c:4494,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4501,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4508,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4518,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4526,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4536,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4547,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4558,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4574,1
    - Dst: LOGMETACHAR
      Src: /src/haproxy/src/log.c:4587,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4588,1
    - Dst: LOGMETACHAR
      Src: /src/haproxy/src/log.c:4597,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4598,1
    - Dst: LOGMETACHAR
      Src: /src/haproxy/src/log.c:4609,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4610,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4618,1
    - Dst: LOGMETACHAR
      Src: /src/haproxy/src/log.c:4626,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4627,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4634,1
    - Dst: lf_text
      Src: /src/haproxy/src/log.c:4642,1
    - Dst: lf_text
      Src: /src/haproxy/src/log.c:4650,1
    - Dst: lf_rawtext_len
      Src: /src/haproxy/src/log.c:4660,1
    - Dst: lf_rawtext_len
      Src: /src/haproxy/src/log.c:4673,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4681,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4688,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4695,1
    - Dst: obj_type
      Src: /src/haproxy/src/log.c:4705,1
    - Dst: __objt_server
      Src: /src/haproxy/src/log.c:4707,1
    - Dst: __objt_check
      Src: /src/haproxy/src/log.c:4710,1
    - Dst: __objt_check
      Src: /src/haproxy/src/log.c:4711,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4719,1
    - Dst: LOGMETACHAR
      Src: /src/haproxy/src/log.c:4732,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4733,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4741,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:4749,1
    - Dst: LOG_VARTEXT_START
      Src: /src/haproxy/src/log.c:4759,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4760,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4763,1
    - Dst: lf_encode_string
      Src: /src/haproxy/src/log.c:4765,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4772,1
    - Dst: LOG_STRARRAY_START
      Src: /src/haproxy/src/log.c:4779,1
    - Dst: LOG_STRARRAY_NEXT
      Src: /src/haproxy/src/log.c:4782,1
    - Dst: LOG_VARTEXT_START
      Src: /src/haproxy/src/log.c:4783,1
    - Dst: lf_encode_string
      Src: /src/haproxy/src/log.c:4785,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4791,1
    - Dst: LOG_VARTEXT_END
      Src: /src/haproxy/src/log.c:4795,1
    - Dst: LOG_STRARRAY_END
      Src: /src/haproxy/src/log.c:4797,1
    - Dst: LOG_VARTEXT_START
      Src: /src/haproxy/src/log.c:4805,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4806,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4809,1
    - Dst: lf_encode_string
      Src: /src/haproxy/src/log.c:4811,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4818,1
    - Dst: LOG_STRARRAY_START
      Src: /src/haproxy/src/log.c:4825,1
    - Dst: LOG_STRARRAY_NEXT
      Src: /src/haproxy/src/log.c:4828,1
    - Dst: LOG_VARTEXT_START
      Src: /src/haproxy/src/log.c:4829,1
    - Dst: lf_encode_string
      Src: /src/haproxy/src/log.c:4831,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:4837,1
    - Dst: LOG_VARTEXT_END
      Src: /src/haproxy/src/log.c:4841,1
    - Dst: LOG_STRARRAY_END
      Src: /src/haproxy/src/log.c:4843,1
    - Dst: LOG_VARTEXT_START
      Src: /src/haproxy/src/log.c:4849,1
    - Dst: lf_encode_string
      Src: /src/haproxy/src/log.c:4851,1
    - Dst: LOG_VARTEXT_START
      Src: /src/haproxy/src/log.c:4861,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:4863,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:4865,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:4869,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:4875,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:4880,1
    - Dst: lf_encode_chunk
      Src: /src/haproxy/src/log.c:4886,1
    - Dst: LOG_VARTEXT_START
      Src: /src/haproxy/src/log.c:4897,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:4899,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:4902,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:4906,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:4912,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:4915,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/log.c:4918,1
    - Dst: iststop
      Src: /src/haproxy/src/log.c:4919,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/log.c:4919,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:4922,1
    - Dst: lf_encode_chunk
      Src: /src/haproxy/src/log.c:4928,1
    - Dst: LOG_VARTEXT_START
      Src: /src/haproxy/src/log.c:4937,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:4941,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:4944,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:4951,1
    - Dst: lf_encode_chunk
      Src: /src/haproxy/src/log.c:4958,1
    - Dst: LOG_VARTEXT_START
      Src: /src/haproxy/src/log.c:4969,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:4971,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:4973,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:4977,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:4983,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:4988,1
    - Dst: lf_encode_chunk
      Src: /src/haproxy/src/log.c:4994,1
    - Dst: LOG_VARTEXT_START
      Src: /src/haproxy/src/log.c:5004,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:5006,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:5009,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:5014,1
    - Dst: lf_encode_chunk
      Src: /src/haproxy/src/log.c:5020,1
    - Dst: LOG_VARTEXT_START
      Src: /src/haproxy/src/log.c:5030,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:5032,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:5034,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:5038,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:5043,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/log.c:5047,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:5052,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:5055,1
    - Dst: lf_encode_chunk
      Src: /src/haproxy/src/log.c:5061,1
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:5071,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:5074,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:5076,1
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:5085,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:5088,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:5090,1
    - Dst: lf_text
      Src: /src/haproxy/src/log.c:5100,1
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:5108,1
    - Dst: lf_rawtext
      Src: /src/haproxy/src/log.c:5111,1
    - Dst: lf_int
      Src: /src/haproxy/src/log.c:5113,1
    - Dst: lf_text_len
      Src: /src/haproxy/src/log.c:5123,1
    - Dst: lf_text_len
      Src: /src/haproxy/src/log.c:5125,1
    - Dst: lf_text
      Src: /src/haproxy/src/log.c:5132,1
    - Dst: log_orig_to_str
      Src: /src/haproxy/src/log.c:5132,1
    - Dst: snprintf
      Src: /src/haproxy/src/log.c:5147,1
    - Dst: LOG_CBOR_BYTE
      Src: /src/haproxy/src/log.c:5156,1
    - Dst: LOG_VARTEXT_END
      Src: /src/haproxy/src/log.c:5164,1
    - Dst: lf_buildctx_prepare
      Src: /src/haproxy/src/log.c:5177,1
    - Dst: LOGCHAR
      Src: /src/haproxy/src/log.c:5180,1
    - Dst: LOG_CBOR_BYTE
      Src: /src/haproxy/src/log.c:5183,1
    CyclomaticComplexity: 430
    EdgeCount: 430
    ICount: 1012
    argCount: 6
    argNames:
    - sess
    - s
    - dst
    - maxsize
    - lf_expr
    - log_orig
    argTypes:
    - struct session*
    - struct stream*
    - char*
    - size_t
    - struct lf_expr*
    - struct log_orig
    constantsTouched: []
    func_position:
      end: 5191
      start: 3860
    functionDepth: 8
    functionLinenumber: 3860
    functionLinenumberEnd: 5191
    functionName: sess_build_logline_orig
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached:
    - localdate2str_log
    - sess_src
    - lf_encode_string
    - conn_xprt_read0_pending
    - __objt_check
    - objt_conn
    - lf_int_encode
    - conn_get_src
    - get_localtime
    - lf_text_len
    - likely
    - lf_buildctx_prepare
    - sc_src
    - LOG_STRARRAY_START
    - LOG_STRARRAY_END
    - HTTP_IS_SPHT
    - BUG_ON
    - LOG_VARTEXT_START
    - sess_dst
    - sample_convert
    - ist2
    - _HA_ATOMIC_FETCH_ADD
    - __objt_server
    - ssl_sock_get_proto_version
    - tv_ms_add
    - LOGMETACHAR
    - __objt_applet
    - LOG_CBOR_BYTE
    - http_parse_path
    - real_family
    - lf_expr_isempty
    - sample_process
    - strlen
    - lf_bool_encode
    - sc_dst
    - get_gmtime
    - snprintf
    - log_orig_to_str
    - obj_type
    - cbor_encode_text
    - lf_encode_chunk
    - LOG_VARTEXT_END
    - http_uri_parser_init
    - conn_get_dst
    - ssl_sock_get_cipher_name
    - LOGCHAR
    - sc_conn
    - strlcpy2
    - lf_ip
    - gmt2str_log
    - lf_rawtext_len
    - lf_text
    - lf_port
    - struct connection*::mux::ctl
    - LOG_STRARRAY_NEXT
    - ns_to_ms
    - lf_int
    - iststop
    - date2str_log
    - lf_rawtext
    linkageType: ''
    returnType: int
    signature: "sess_build_logline_orig(struct session *sess, struct stream *s,\n
      \                           char *dst, size_t maxsize, struct lf_expr *lf_expr,\n
      \                           struct log_orig log_orig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/log.c:5208,1
    - Dst: isttest
      Src: /src/haproxy/src/log.c:5220,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/log.c:5220,1
    - Dst: stream_generate_unique_id
      Src: /src/haproxy/src/log.c:5221,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/log.c:5232,1
    - Dst: sess_build_logline_orig
      Src: /src/haproxy/src/log.c:5233,1
    - Dst: sess_build_logline_orig
      Src: /src/haproxy/src/log.c:5237,1
    - Dst: __send_log
      Src: /src/haproxy/src/log.c:5242,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - sess
    - s
    - origin
    argTypes:
    - struct session*
    - struct stream*
    - struct log_orig
    constantsTouched: []
    func_position:
      end: 5244
      start: 5201
    functionDepth: 9
    functionLinenumber: 5201
    functionLinenumberEnd: 5244
    functionName: do_log
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached:
    - lf_expr_isempty
    - LIST_ISEMPTY
    - isttest
    - __send_log
    - stream_generate_unique_id
    - sess_build_logline_orig
    linkageType: ''
    returnType: void
    signature: do_log(struct session *sess, struct stream *s, struct log_orig origin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/log.c:5267,1
    - Dst: isttest
      Src: /src/haproxy/src/log.c:5284,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/log.c:5284,1
    - Dst: stream_generate_unique_id
      Src: /src/haproxy/src/log.c:5285,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/log.c:5288,1
    - Dst: build_logline_orig
      Src: /src/haproxy/src/log.c:5289,1
    - Dst: build_logline_orig
      Src: /src/haproxy/src/log.c:5293,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/log.c:5295,1
    - Dst: __send_log
      Src: /src/haproxy/src/log.c:5299,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 2
    argNames:
    - s
    - origin
    argTypes:
    - struct stream*
    - struct log_orig
    constantsTouched: []
    func_position:
      end: 5302
      start: 5250
    functionDepth: 9
    functionLinenumber: 5250
    functionLinenumberEnd: 5302
    functionName: strm_log
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - lf_expr_isempty
    - build_logline_orig
    - LIST_ISEMPTY
    - isttest
    - _HA_ATOMIC_INC
    - __send_log
    - stream_generate_unique_id
    linkageType: ''
    returnType: void
    signature: strm_log(struct stream *s, struct log_orig origin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_orig
      Src: /src/haproxy/src/log.c:5328,1
    - Dst: log_orig
      Src: /src/haproxy/src/log.c:5330,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/log.c:5332,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/log.c:5339,1
    - Dst: sess_build_logline_orig
      Src: /src/haproxy/src/log.c:5340,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/log.c:5346,1
    - Dst: sess_build_logline_orig
      Src: /src/haproxy/src/log.c:5347,1
    - Dst: sess_build_logline_orig
      Src: /src/haproxy/src/log.c:5351,1
    - Dst: b_make
      Src: /src/haproxy/src/log.c:5357,1
    - Dst: session_embryonic_build_legacy_err
      Src: /src/haproxy/src/log.c:5358,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/log.c:5362,1
    - Dst: __send_log
      Src: /src/haproxy/src/log.c:5366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - sess
    - embryonic
    argTypes:
    - struct session*
    - int
    constantsTouched: []
    func_position:
      end: 5369
      start: 5317
    functionDepth: 9
    functionLinenumber: 5317
    functionLinenumberEnd: 5369
    functionName: _sess_log
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - lf_expr_isempty
    - b_make
    - LIST_ISEMPTY
    - _HA_ATOMIC_INC
    - session_embryonic_build_legacy_err
    - __send_log
    - sess_build_logline_orig
    - log_orig
    linkageType: ''
    returnType: void
    signature: _sess_log(struct session *sess, int embryonic)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/log.c:5379,1
    - Dst: vsnprintf
      Src: /src/haproxy/src/log.c:5380,1
    - Dst: va_end
      Src: /src/haproxy/src/log.c:5383,1
    - Dst: __send_log
      Src: /src/haproxy/src/log.c:5385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - loggers
    - tag
    - level
    - format
    argTypes:
    - struct list*
    - struct buffer*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 5386
      start: 5371
    functionDepth: 9
    functionLinenumber: 5371
    functionLinenumberEnd: 5386
    functionName: app_log
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached:
    - vsnprintf
    - __send_log
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: app_log(struct list *loggers, struct buffer *tag, int level, const
      char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/log.c:5402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - buf
    - buflen
    - level
    - facility
    - metadata
    - message
    - size
    argTypes:
    - char*
    - size_t
    - int*
    - int*
    - struct ist*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 5403
      start: 5394
    functionDepth: 0
    functionLinenumber: 5394
    functionLinenumberEnd: 5403
    functionName: prepare_log_message
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "prepare_log_message(char *buf, size_t buflen, int *level, int *facility,\n
      \                               struct ist *metadata, char **message, size_t
      *size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/log.c:5439,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:5458,1
    - Dst: memcmp
      Src: /src/haproxy/src/log.c:5630,1
    - Dst: ist2
      Src: /src/haproxy/src/log.c:5636,1
    - Dst: isttest
      Src: /src/haproxy/src/log.c:5686,1
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 223
    argCount: 7
    argNames:
    - buf
    - buflen
    - level
    - facility
    - metadata
    - message
    - size
    argTypes:
    - char*
    - size_t
    - int*
    - int*
    - struct ist*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 5721
      start: 5414
    functionDepth: 1
    functionLinenumber: 5414
    functionLinenumberEnd: 5721
    functionName: parse_log_message
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - ist2
    - memcmp
    - isttest
    linkageType: ''
    returnType: void
    signature: "parse_log_message(char *buf, size_t buflen, int *level, int *facility,\n
      \                      struct ist *metadata, char **message, size_t *size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/log.c:5741,1
    - Dst: proxy_inc_fe_req_ctr
      Src: /src/haproxy/src/log.c:5742,1
    - Dst: prepare_log_message
      Src: /src/haproxy/src/log.c:5744,1
    - Dst: parse_log_message
      Src: /src/haproxy/src/log.c:5749,1
    - Dst: real_family
      Src: /src/haproxy/src/log.c:5751,1
    - Dst: sa2str
      Src: /src/haproxy/src/log.c:5757,1
    - Dst: ist
      Src: /src/haproxy/src/log.c:5761,1
    - Dst: ist
      Src: /src/haproxy/src/log.c:5766,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:5771,1
    - Dst: ist
      Src: /src/haproxy/src/log.c:5775,1
    - Dst: ist
      Src: /src/haproxy/src/log.c:5778,1
    - Dst: process_send_log
      Src: /src/haproxy/src/log.c:5784,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:5785,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 4
    argNames:
    - frontend
    - l
    - saddr
    - buf
    argTypes:
    - struct proxy*
    - struct listener*
    - struct sockaddr_storage*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 5786
      start: 5729
    functionDepth: 8
    functionLinenumber: 5729
    functionLinenumberEnd: 5786
    functionName: syslog_process_message
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - real_family
    - memprintf
    - ha_free
    - _HA_ATOMIC_INC
    - ist
    - proxy_inc_fe_req_ctr
    - parse_log_message
    - process_send_log
    - sa2str
    - prepare_log_message
    linkageType: ''
    returnType: void
    signature: "syslog_process_message(struct proxy *frontend, struct listener *l,\n
      \                                  const struct sockaddr_storage *saddr,\n                                   struct
      buffer *buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/log.c:5794,1
    - Dst: objt_listener
      Src: /src/haproxy/src/log.c:5795,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:5799,1
    - Dst: fd_recv_ready
      Src: /src/haproxy/src/log.c:5804,1
    - Dst: recvfrom
      Src: /src/haproxy/src/log.c:5816,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/log.c:5821,1
    - Dst: syslog_process_message
      Src: /src/haproxy/src/log.c:5826,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 5832
      start: 5791
    functionDepth: 9
    functionLinenumber: 5791
    functionLinenumberEnd: 5832
    functionName: syslog_fd_handler
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - fd_recv_ready
    - syslog_process_message
    - objt_listener
    - recvfrom
    - get_trash_chunk
    - fd_cant_recv
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: syslog_fd_handler(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/log.c:5839,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/log.c:5840,1
    - Dst: strm_fe
      Src: /src/haproxy/src/log.c:5841,1
    - Dst: strm_li
      Src: /src/haproxy/src/log.c:5842,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/log.c:5843,1
    - Dst: unlikely
      Src: /src/haproxy/src/log.c:5848,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/log.c:5848,1
    - Dst: co_skip
      Src: /src/haproxy/src/log.c:5849,1
    - Dst: sc_oc
      Src: /src/haproxy/src/log.c:5849,1
    - Dst: co_data
      Src: /src/haproxy/src/log.c:5849,1
    - Dst: sc_oc
      Src: /src/haproxy/src/log.c:5849,1
    - Dst: co_getchar
      Src: /src/haproxy/src/log.c:5862,1
    - Dst: sc_oc
      Src: /src/haproxy/src/log.c:5862,1
    - Dst: co_getline
      Src: /src/haproxy/src/log.c:5872,1
    - Dst: sc_oc
      Src: /src/haproxy/src/log.c:5872,1
    - Dst: co_getword
      Src: /src/haproxy/src/log.c:5896,1
    - Dst: sc_oc
      Src: /src/haproxy/src/log.c:5896,1
    - Dst: strtol
      Src: /src/haproxy/src/log.c:5905,1
    - Dst: co_getblk
      Src: /src/haproxy/src/log.c:5913,1
    - Dst: sc_oc
      Src: /src/haproxy/src/log.c:5913,1
    - Dst: co_skip
      Src: /src/haproxy/src/log.c:5926,1
    - Dst: sc_oc
      Src: /src/haproxy/src/log.c:5926,1
    - Dst: sc_conn
      Src: /src/haproxy/src/log.c:5928,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/log.c:5929,1
    - Dst: conn_src
      Src: /src/haproxy/src/log.c:5930,1
    - Dst: syslog_process_message
      Src: /src/haproxy/src/log.c:5932,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/log.c:5937,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/log.c:5942,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/log.c:5947,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/log.c:5948,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/log.c:5954,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/log.c:5955,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/log.c:5958,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 96
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 5962
      start: 5837
    functionDepth: 9
    functionLinenumber: 5837
    functionLinenumberEnd: 5962
    functionName: syslog_io_handler
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - syslog_process_message
    - co_getline
    - conn_get_src
    - co_skip
    - applet_need_more_data
    - strm_fe
    - sc_oc
    - appctx_wakeup
    - se_fl_test
    - conn_src
    - co_data
    - get_trash_chunk
    - strtol
    - __sc_strm
    - co_getblk
    - _HA_ATOMIC_INC
    - co_getword
    - sc_conn
    - appctx_sc
    - strm_li
    - se_fl_set
    - co_getchar
    - unlikely
    linkageType: ''
    returnType: void
    signature: syslog_io_handler(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/log.c:5985,1
    - Dst: ulltoa
      Src: /src/haproxy/src/log.c:5986,1
    - Dst: b_size
      Src: /src/haproxy/src/log.c:5986,1
    - Dst: unlikely
      Src: /src/haproxy/src/log.c:5993,1
    - Dst: b_size
      Src: /src/haproxy/src/log.c:5993,1
    - Dst: vp_peek_ofs
      Src: /src/haproxy/src/log.c:5997,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/log.c:5998,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - ctx
    - v1
    - v2
    - ofs
    - len
    - delim
    argTypes:
    - void*
    - struct ist
    - struct ist
    - size_t
    - size_t
    - char
    constantsTouched: []
    func_position:
      end: 6003
      start: 5979
    functionDepth: 1
    functionLinenumber: 5979
    functionLinenumberEnd: 6003
    functionName: syslog_applet_append_event
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - vp_peek_ofs
    - chunk_reset
    - ulltoa
    - applet_putchk
    - b_size
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: syslog_applet_append_event(void *ctx, struct ist v1, struct ist v2,
      size_t ofs, size_t len, char delim)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6018,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6020,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/log.c:6025,1
    - Dst: invalid_char
      Src: /src/haproxy/src/log.c:6028,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6030,1
    - Dst: log_forward_by_name
      Src: /src/haproxy/src/log.c:6036,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6038,1
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/log.c:6044,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6046,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:6047,1
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/log.c:6053,1
    - Dst: ha_warning
      Src: /src/haproxy/src/log.c:6056,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:6058,1
    - Dst: alloc_new_proxy
      Src: /src/haproxy/src/log.c:6063,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6065,1
    - Dst: copy_file_name
      Src: /src/haproxy/src/log.c:6072,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6081,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/log.c:6082,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6086,1
    - Dst: atol
      Src: /src/haproxy/src/log.c:6090,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/log.c:6091,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6094,1
    - Dst: warnifnotcap
      Src: /src/haproxy/src/log.c:6095,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6099,1
    - Dst: atol
      Src: /src/haproxy/src/log.c:6103,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/log.c:6104,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6107,1
    - Dst: bind_conf_alloc
      Src: /src/haproxy/src/log.c:6115,1
    - Dst: xprt_get
      Src: /src/haproxy/src/log.c:6116,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6118,1
    - Dst: str2listener
      Src: /src/haproxy/src/log.c:6126,1
    - Dst: indent_msg
      Src: /src/haproxy/src/log.c:6128,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6129,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6132,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/log.c:6138,1
    - Dst: bind_parse_args_list
      Src: /src/haproxy/src/log.c:6143,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6150,1
    - Dst: bind_conf_alloc
      Src: /src/haproxy/src/log.c:6158,1
    - Dst: xprt_get
      Src: /src/haproxy/src/log.c:6159,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6161,1
    - Dst: str2receiver
      Src: /src/haproxy/src/log.c:6168,1
    - Dst: indent_msg
      Src: /src/haproxy/src/log.c:6170,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6171,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6174,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/log.c:6180,1
    - Dst: bind_find_kw
      Src: /src/haproxy/src/log.c:6187,1
    - Dst: struct bind_kw*::parse
      Src: /src/haproxy/src/log.c:6190,1
    - Dst: indent_msg
      Src: /src/haproxy/src/log.c:6194,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6195,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6198,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6208,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6211,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6217,1
    - Dst: parse_logger
      Src: /src/haproxy/src/log.c:6218,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6219,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6224,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6228,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6229,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6235,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/log.c:6239,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:6241,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:6244,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:6247,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6251,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/log.c:6255,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6257,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6259,1
    - Dst: cfg_parse_listen_match_option
      Src: /src/haproxy/src/log.c:6268,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6277,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6280,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6282,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6284,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6286,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6290,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6311,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6315,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:6320,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 261
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 6322
      start: 6011
    functionDepth: 7
    functionLinenumber: 6011
    functionLinenumberEnd: 6322
    functionName: cfg_parse_log_forward
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - memprintf
    - ha_free
    - ha_warning
    - bind_conf_alloc
    - alloc_new_proxy
    - list_for_each_entry
    - strcmp
    - alertif_too_many_args
    - warnifnotcap
    - atol
    - bind_parse_args_list
    - proxy_find_by_name
    - indent_msg
    - proxy_type_str
    - log_forward_by_name
    - bind_find_kw
    - MS_TO_TICKS
    - copy_file_name
    - struct bind_kw*::parse
    - str2listener
    - xprt_get
    - str2receiver
    - parse_logger
    - invalid_char
    - parse_time_err
    - cfg_parse_listen_match_option
    linkageType: ''
    returnType: int
    signature: cfg_parse_log_forward(const char *file, int linenum, char **args, int
      kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_expr_init
      Src: /src/haproxy/src/log.c:6326,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/log.c:6327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lprof_step
    argTypes:
    - struct log_profile_step*
    constantsTouched: []
    func_position:
      end: 6329
      start: 6324
    functionDepth: 1
    functionLinenumber: 6324
    functionLinenumberEnd: 6329
    functionName: log_profile_step_init
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - lf_expr_init
    linkageType: ''
    returnType: void
    signature: log_profile_step_init(struct log_profile_step *lprof_step)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/log.c:6336,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/log.c:6337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - lprof_step
    argTypes:
    - struct log_profile_step*
    constantsTouched: []
    func_position:
      end: 6338
      start: 6331
    functionDepth: 4
    functionLinenumber: 6331
    functionLinenumberEnd: 6338
    functionName: log_profile_step_deinit
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - lf_expr_deinit
    linkageType: ''
    returnType: void
    signature: log_profile_step_deinit(struct log_profile_step *lprof_step)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_profile_step_deinit
      Src: /src/haproxy/src/log.c:6342,1
    - Dst: free
      Src: /src/haproxy/src/log.c:6343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lprof_step
    argTypes:
    - struct log_profile_step*
    constantsTouched: []
    func_position:
      end: 6344
      start: 6340
    functionDepth: 5
    functionLinenumber: 6340
    functionLinenumberEnd: 6344
    functionName: log_profile_step_free
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - free
    - log_profile_step_deinit
    linkageType: ''
    returnType: void
    signature: log_profile_step_free(struct log_profile_step *lprof_step)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/log.c:6358,1
    - Dst: lf_expr_postcheck
      Src: /src/haproxy/src/log.c:6359,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:6360,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/log.c:6367,1
    - Dst: lf_expr_postcheck
      Src: /src/haproxy/src/log.c:6368,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:6369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - px
    - step_name
    - step
    - err
    argTypes:
    - struct proxy*
    - char*
    - struct log_profile_step*
    - char**
    constantsTouched: []
    func_position:
      end: 6378
      start: 6351
    functionDepth: 6
    functionLinenumber: 6351
    functionLinenumberEnd: 6378
    functionName: log_profile_step_postcheck
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - memprintf
    - lf_expr_isempty
    - lf_expr_postcheck
    linkageType: ''
    returnType: int
    signature: "log_profile_step_postcheck(struct proxy *px, const char *step_name,\n
      \                                            struct log_profile_step *step,\n
      \                                            char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_profile_step_postcheck
      Src: /src/haproxy/src/log.c:6397,1
    - Dst: log_profile_step_postcheck
      Src: /src/haproxy/src/log.c:6398,1
    - Dst: log_profile_step_postcheck
      Src: /src/haproxy/src/log.c:6399,1
    - Dst: log_profile_step_postcheck
      Src: /src/haproxy/src/log.c:6400,1
    - Dst: log_profile_step_postcheck
      Src: /src/haproxy/src/log.c:6401,1
    - Dst: log_profile_step_postcheck
      Src: /src/haproxy/src/log.c:6402,1
    - Dst: log_profile_step_postcheck
      Src: /src/haproxy/src/log.c:6403,1
    - Dst: eb32_first
      Src: /src/haproxy/src/log.c:6407,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/log.c:6409,1
    - Dst: eb32_next
      Src: /src/haproxy/src/log.c:6410,1
    - Dst: log_profile_step_postcheck
      Src: /src/haproxy/src/log.c:6411,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - px
    - prof
    - err
    argTypes:
    - struct proxy*
    - struct log_profile*
    - char**
    constantsTouched: []
    func_position:
      end: 6416
      start: 6385
    functionDepth: 7
    functionLinenumber: 6385
    functionLinenumberEnd: 6416
    functionName: log_profile_postcheck
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached:
    - eb32_entry
    - log_profile_step_postcheck
    - eb32_next
    - eb32_first
    linkageType: ''
    returnType: int
    signature: log_profile_postcheck(struct proxy *px, struct log_profile *prof, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:6423,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:6424,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/log.c:6425,1
    - Dst: log_profile_step_free
      Src: /src/haproxy/src/log.c:6427,1
    - Dst: log_profile_step_free
      Src: /src/haproxy/src/log.c:6428,1
    - Dst: log_profile_step_free
      Src: /src/haproxy/src/log.c:6429,1
    - Dst: log_profile_step_free
      Src: /src/haproxy/src/log.c:6430,1
    - Dst: log_profile_step_free
      Src: /src/haproxy/src/log.c:6431,1
    - Dst: log_profile_step_free
      Src: /src/haproxy/src/log.c:6432,1
    - Dst: log_profile_step_free
      Src: /src/haproxy/src/log.c:6433,1
    - Dst: eb32_first
      Src: /src/haproxy/src/log.c:6436,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/log.c:6438,1
    - Dst: eb32_next
      Src: /src/haproxy/src/log.c:6439,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/log.c:6440,1
    - Dst: log_profile_step_deinit
      Src: /src/haproxy/src/log.c:6441,1
    - Dst: free
      Src: /src/haproxy/src/log.c:6442,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:6445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - prof
    argTypes:
    - struct log_profile*
    constantsTouched: []
    func_position:
      end: 6446
      start: 6418
    functionDepth: 6
    functionLinenumber: 6418
    functionLinenumberEnd: 6446
    functionName: log_profile_free
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - chunk_destroy
    - log_profile_step_free
    - eb32_delete
    - ha_free
    - log_profile_step_deinit
    - eb32_first
    - free
    - eb32_next
    - eb32_entry
    linkageType: ''
    returnType: void
    signature: log_profile_free(struct log_profile *prof)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/log.c:6453,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/log.c:6454,1
    - Dst: log_profile_free
      Src: /src/haproxy/src/log.c:6455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6457
      start: 6449
    functionDepth: 7
    functionLinenumber: 6449
    functionLinenumberEnd: 6457
    functionName: deinit_log_profiles
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - log_profile_free
    - LIST_DEL_INIT
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: deinit_log_profiles()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/log.c:6463,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6468
      start: 6459
    functionDepth: 0
    functionLinenumber: 6459
    functionLinenumberEnd: 6468
    functionName: log_profile_find_by_name
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    - strcmp
    linkageType: ''
    returnType: struct log_profile
    signature: '*log_profile_find_by_name(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6484,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6486,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/log.c:6491,1
    - Dst: invalid_char
      Src: /src/haproxy/src/log.c:6494,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6496,1
    - Dst: log_profile_find_by_name
      Src: /src/haproxy/src/log.c:6502,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6504,1
    - Dst: calloc
      Src: /src/haproxy/src/log.c:6509,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:6510,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6511,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:6516,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/log.c:6521,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6523,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6525,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/log.c:6529,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/log.c:6530,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:6530,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:6530,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:6530,1
    - Dst: b_orig
      Src: /src/haproxy/src/log.c:6531,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/log.c:6532,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6533,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6538,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6547,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6549,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6551,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6553,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6555,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6557,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6559,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/log.c:6566,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6567,1
    - Dst: malloc
      Src: /src/haproxy/src/log.c:6569,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6571,1
    - Dst: log_profile_step_init
      Src: /src/haproxy/src/log.c:6575,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/log.c:6578,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/log.c:6590,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:6592,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:6594,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:6597,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:6602,1
    - Dst: free
      Src: /src/haproxy/src/log.c:6603,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6605,1
    - Dst: malloc
      Src: /src/haproxy/src/log.c:6612,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6614,1
    - Dst: log_profile_step_init
      Src: /src/haproxy/src/log.c:6618,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6625,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6633,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6635,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/log.c:6643,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6646,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:6652,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:6653,1
    - Dst: lf_expr_compile
      Src: /src/haproxy/src/log.c:6656,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6659,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6668,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6675,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:6680,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 162
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 6682
      start: 6477
    functionDepth: 8
    functionLinenumber: 6477
    functionLinenumberEnd: 6682
    functionName: cfg_parse_log_profile
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - chunk_destroy
    - memprintf
    - ha_free
    - log_profile_find_by_name
    - log_profile_step_init
    - b_orig
    - list_for_each_entry
    - strcmp
    - eb32_insert
    - free
    - alertif_too_many_args
    - chunk_initlen
    - lf_expr_compile
    - strlen
    - lf_expr_deinit
    - strdup
    - malloc
    - calloc
    - LIST_APPEND
    - invalid_char
    linkageType: ''
    returnType: int
    signature: cfg_parse_log_profile(const char *file, int linenum, char **args, int
      kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/log.c:6701,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6702,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6709,1
    - Dst: malloc
      Src: /src/haproxy/src/log.c:6713,1
    - Dst: strdup
      Src: /src/haproxy/src/log.c:6717,1
    - Dst: free
      Src: /src/haproxy/src/log.c:6719,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/log.c:6723,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/log.c:6724,1
    - Dst: ha_alert
      Src: /src/haproxy/src/log.c:6728,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 6731
      start: 6696
    functionDepth: 3
    functionLinenumber: 6696
    functionLinenumberEnd: 6731
    functionName: log_orig_register
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached:
    - malloc
    - ha_alert
    - list_for_each_entry
    - strcmp
    - LIST_APPEND
    - eb32_insert
    - strdup
    - free
    linkageType: ''
    returnType: enum log_orig_id
    signature: log_orig_register(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/log.c:6738,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/log.c:6739,1
    - Dst: free
      Src: /src/haproxy/src/log.c:6740,1
    - Dst: free
      Src: /src/haproxy/src/log.c:6741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6743
      start: 6734
    functionDepth: 3
    functionLinenumber: 6734
    functionLinenumberEnd: 6743
    functionName: deinit_log_origins
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - free
    - LIST_DEL_INIT
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: deinit_log_origins()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resolve_logger
      Src: /src/haproxy/src/log.c:6760,1
    - Dst: e_func
      Src: /src/haproxy/src/log.c:6771,1
    - Dst: e_func
      Src: /src/haproxy/src/log.c:6774,1
    - Dst: ha_free
      Src: /src/haproxy/src/log.c:6776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - px
    - loggers
    - section
    - section_name
    argTypes:
    - struct proxy*
    - struct list*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 6781
      start: 6750
    functionDepth: 9
    functionLinenumber: 6750
    functionLinenumberEnd: 6781
    functionName: postresolve_logger_list
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 2
    functionsReached:
    - e_func
    - ha_free
    - resolve_logger
    linkageType: ''
    returnType: int
    signature: "postresolve_logger_list(struct proxy *px, struct list *loggers,\n
      \                           const char *section, const char *section_name)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: postresolve_logger_list
      Src: /src/haproxy/src/log.c:6792,1
    - Dst: postresolve_logger_list
      Src: /src/haproxy/src/log.c:6795,1
    - Dst: postresolve_logger_list
      Src: /src/haproxy/src/log.c:6798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6801
      start: 6786
    functionDepth: 10
    functionLinenumber: 6786
    functionLinenumberEnd: 6801
    functionName: postresolve_loggers
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - postresolve_logger_list
    linkageType: ''
    returnType: int
    signature: postresolve_loggers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:6817,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/log.c:6818,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:6824,1
    - Dst: strcmp
      Src: /src/haproxy/src/log.c:6830,1
    - Dst: strcspn
      Src: /src/haproxy/src/log.c:6844,1
    - Dst: strncmp
      Src: /src/haproxy/src/log.c:6847,1
    - Dst: strncmp
      Src: /src/haproxy/src/log.c:6849,1
    - Dst: strncmp
      Src: /src/haproxy/src/log.c:6851,1
    - Dst: strncmp
      Src: /src/haproxy/src/log.c:6853,1
    - Dst: strncmp
      Src: /src/haproxy/src/log.c:6855,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/log.c:6860,1
    - Dst: strlen
      Src: /src/haproxy/src/log.c:6861,1
    - Dst: strncmp
      Src: /src/haproxy/src/log.c:6861,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:6867,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/log.c:6871,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:6872,1
    - Dst: malloc
      Src: /src/haproxy/src/log.c:6877,1
    - Dst: memprintf
      Src: /src/haproxy/src/log.c:6879,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/log.c:6884,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 6897
      start: 6808
    functionDepth: 5
    functionLinenumber: 6808
    functionLinenumberEnd: 6897
    functionName: px_parse_log_steps
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - memprintf
    - malloc
    - strncmp
    - list_for_each_entry
    - strcmp
    - strlen
    - eb32_insert
    - strcspn
    - proxy_type_str
    linkageType: ''
    returnType: int
    signature: "px_parse_log_steps(char **args, int section_type, struct proxy *curpx,\n
      \                             const struct proxy *defpx, const char *file, int
      line,\n                              char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/log.c:6904,1
    - Dst: do_log
      Src: /src/haproxy/src/log.c:6906,1
    - Dst: log_orig
      Src: /src/haproxy/src/log.c:6906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 6908
      start: 6900
    functionDepth: 10
    functionLinenumber: 6900
    functionLinenumberEnd: 6908
    functionName: do_log_action
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 0
    functionsReached:
    - do_log
    - BUG_ON
    - log_orig
    linkageType: ''
    returnType: enum act_return
    signature: "do_log_action(struct act_rule *rule, struct proxy *px,\n                                     struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - id
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - enum log_orig_id
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 6922
      start: 6913
    functionDepth: 0
    functionLinenumber: 6913
    functionLinenumberEnd: 6922
    functionName: do_log_parse_act
    functionSourceFile: /src/haproxy/src/log.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "do_log_parse_act(enum log_orig_id id,\n                                    const
      char **args, int *orig_arg, struct proxy *px,\n                                    struct
      act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:150,1
    - Dst: strchr
      Src: /src/haproxy/src/cfgparse.c:158,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/cfgparse.c:162,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:177,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:181,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse.c:181,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:183,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:191,1
    - Dst: create_listeners
      Src: /src/haproxy/src/cfgparse.c:206,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:207,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:211,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:214,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 6
    argNames:
    - str
    - curproxy
    - bind_conf
    - file
    - line
    - err
    argTypes:
    - char*
    - struct proxy*
    - struct bind_conf*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 216
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 216
    functionName: str2listener
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 5
    functionsReached:
    - memprintf
    - str2sa_range
    - strlen
    - strdup
    - free
    - create_listeners
    - strchr
    linkageType: ''
    returnType: int
    signature: str2listener(char *str, struct proxy *curproxy, struct bind_conf *bind_conf,
      const char *file, int line, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:236,1
    - Dst: strchr
      Src: /src/haproxy/src/cfgparse.c:244,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/cfgparse.c:248,1
    - Dst: create_listeners
      Src: /src/haproxy/src/cfgparse.c:256,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:257,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:261,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 6
    argNames:
    - str
    - curproxy
    - bind_conf
    - file
    - line
    - err
    argTypes:
    - char*
    - struct proxy*
    - struct bind_conf*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 266
      start: 230
    functionDepth: 5
    functionLinenumber: 230
    functionLinenumberEnd: 266
    functionName: str2receiver
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 1
    functionsReached:
    - memprintf
    - str2sa_range
    - strdup
    - free
    - create_listeners
    - strchr
    linkageType: ''
    returnType: int
    signature: str2receiver(char *str, struct proxy *curproxy, struct bind_conf *bind_conf,
      const char *file, int line, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:286,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:287,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - proxy
    - cap
    - file
    - line
    - arg
    - hint
    argTypes:
    - struct proxy*
    - int
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 291
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 291
    functionName: warnifnotcap
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 18
    functionsReached:
    - ha_warning
    - proxy_type_str
    linkageType: ''
    returnType: int
    signature: warnifnotcap(struct proxy *proxy, int cap, const char *file, int line,
      const char *arg, const char *hint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:311,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - proxy
    - cap
    - file
    - line
    - arg
    - hint
    argTypes:
    - struct proxy*
    - int
    - char*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 316
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 316
    functionName: failifnotcap
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - proxy_type_str
    linkageType: ''
    returnType: int
    signature: failifnotcap(struct proxy *proxy, int cap, const char *file, int line,
      const char *arg, const char *hint)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:336,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:338,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - maxarg
    - index
    - args
    - msg
    - err_code
    argTypes:
    - int
    - int
    - char**
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 346
      start: 327
    functionDepth: 5
    functionLinenumber: 327
    functionLinenumberEnd: 346
    functionName: too_many_args_idx
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 14
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: too_many_args_idx(int maxarg, int index, char **args, char **msg, int
      *err_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args_idx
      Src: /src/haproxy/src/cfgparse.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - maxarg
    - args
    - msg
    - err_code
    argTypes:
    - int
    - char**
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 6
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: too_many_args
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 58
    functionsReached:
    - too_many_args_idx
    linkageType: ''
    returnType: int
    signature: too_many_args(int maxarg, char **args, char **msg, int *err_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:370,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:372,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:375,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - maxarg
    - index
    - file
    - linenum
    - args
    - err_code
    argTypes:
    - int
    - int
    - char*
    - int
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 379
      start: 362
    functionDepth: 5
    functionLinenumber: 362
    functionLinenumberEnd: 379
    functionName: alertif_too_many_args_idx
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 14
    functionsReached:
    - memprintf
    - free
    - ha_alert
    linkageType: ''
    returnType: int
    signature: alertif_too_many_args_idx(int maxarg, int index, const char *file,
      int linenum, char **args, int *err_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alertif_too_many_args_idx
      Src: /src/haproxy/src/cfgparse.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - maxarg
    - file
    - linenum
    - args
    - err_code
    argTypes:
    - int
    - char*
    - int
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 387
      start: 384
    functionDepth: 6
    functionLinenumber: 384
    functionLinenumberEnd: 387
    functionName: alertif_too_many_args
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 8
    functionsReached:
    - alertif_too_many_args_idx
    linkageType: ''
    returnType: int
    signature: alertif_too_many_args(int maxarg, const char *file, int linenum, char
      **args, int *err_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acl_cond_conflicts
      Src: /src/haproxy/src/cfgparse.c:403,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:406,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/cfgparse.c:407,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:409,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/cfgparse.c:410,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/cfgparse.c:410,1
    - Dst: acl_cond_kw_conflicts
      Src: /src/haproxy/src/cfgparse.c:413,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:417,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/cfgparse.c:418,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:420,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/cfgparse.c:421,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - cond
    - where
    - file
    - line
    argTypes:
    - struct acl_cond*
    - unsigned int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 423
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 423
    functionName: warnif_cond_conflicts
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 1
    functionsReached:
    - acl_cond_conflicts
    - ha_warning
    - sample_ckp_names
    - acl_cond_kw_conflicts
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: warnif_cond_conflicts(const struct acl_cond *cond, unsigned int where,
      const char *file, int line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - px
    - cond
    argTypes:
    - struct proxy*
    - struct acl_cond*
    constantsTouched: []
    func_position:
      end: 440
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 440
    functionName: warnif_tcp_http_cond
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 1
    functionsReached:
    - ha_warning
    linkageType: ''
    returnType: int
    signature: warnif_tcp_http_cond(const struct proxy *px, const struct acl_cond
      *cond)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/cfgparse.c:457,1
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/cfgparse.c:463,1
    - Dst: word_fingerprint_distance
      Src: /src/haproxy/src/cfgparse.c:464,1
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/cfgparse.c:473,1
    - Dst: word_fingerprint_distance
      Src: /src/haproxy/src/cfgparse.c:474,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse.c:482,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse.c:482,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - word
    - list
    - section
    - extra
    argTypes:
    - char*
    - struct list*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 485
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 485
    functionName: cfg_find_best_match
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 1
    functionsReached:
    - make_word_fingerprint
    - strlen
    - word_fingerprint_distance
    linkageType: ''
    returnType: char
    signature: '*cfg_find_best_match(const char *word, const struct list *list, int
      section, const char **extra)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/cfgparse.c:499,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:505,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:507,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:509,1
    - Dst: isdigit
      Src: /src/haproxy/src/cfgparse.c:518,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:519,1
    - Dst: str2uic
      Src: /src/haproxy/src/cfgparse.c:524,1
    - Dst: str2uic
      Src: /src/haproxy/src/cfgparse.c:526,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:535,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 5
    argNames:
    - arg
    - proc
    - max
    - autoinc
    - err
    argTypes:
    - char*
    - unsigned long*
    - int
    - int*
    - char**
    constantsTouched: []
    func_position:
      end: 547
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 547
    functionName: parse_process_number
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strncmp
    - strcmp
    - str2uic
    - isdigit
    linkageType: ''
    returnType: int
    signature: parse_process_number(const char *arg, unsigned long *proc, int max,
      int *autoinc, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_new_proxy
      Src: /src/haproxy/src/cfgparse.c:566,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:568,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:569,1
    - Dst: peers_setup_frontend
      Src: /src/haproxy/src/cfgparse.c:573,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:580,1
    - Dst: drop_file_name
      Src: /src/haproxy/src/cfgparse.c:581,1
    - Dst: copy_file_name
      Src: /src/haproxy/src/cfgparse.c:582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - file
    - linenum
    - id
    - peers
    argTypes:
    - char*
    - int
    - char*
    - struct peers*
    constantsTouched: []
    func_position:
      end: 587
      start: 555
    functionDepth: 4
    functionLinenumber: 555
    functionLinenumberEnd: 587
    functionName: init_peers_frontend
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - drop_file_name
    - ha_free
    - strdup
    - copy_file_name
    - alloc_new_proxy
    - peers_setup_frontend
    linkageType: ''
    returnType: int
    signature: "init_peers_frontend(const char *file, int linenum,\n                               const
      char *id, struct peers *peers)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:598,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/cfgparse.c:599,1
    - Dst: typeof
      Src: /src/haproxy/src/cfgparse.c:599,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:605,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:606,1
    - Dst: bind_conf_alloc
      Src: /src/haproxy/src/cfgparse.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - p
    - file
    - line
    - arg
    - xprt
    argTypes:
    - struct proxy*
    - char*
    - int
    - char*
    - struct xprt_ops*
    constantsTouched: []
    func_position:
      end: 614
      start: 592
    functionDepth: 3
    functionLinenumber: 592
    functionLinenumberEnd: 614
    functionName: bind_conf_uniq_alloc
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - LIST_ISEMPTY
    - strdup
    - free
    - typeof
    - bind_conf_alloc
    - LIST_ELEM
    linkageType: ''
    returnType: struct bind_conf
    signature: "*bind_conf_uniq_alloc(struct proxy *p,\n                                              const
      char *file, int line,\n                                              const char
      *arg, struct xprt_ops *xprt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse.c:627,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:629,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:638,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/cfgparse.c:640,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/cfgparse.c:641,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - peers
    - file
    - linenum
    - id
    - local
    argTypes:
    - struct peers*
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 650
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 650
    functionName: cfg_peers_add_peer
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ns_to_sec
    - calloc
    - HA_SPIN_INIT
    - strdup
    linkageType: ''
    returnType: struct peer
    signature: "*cfg_peers_add_peer(struct peers *peers,\n                                       const
      char *file, int linenum,\n                                       const char
      *id, int local)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:674,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:674,1
    - Dst: init_peers_frontend
      Src: /src/haproxy/src/cfgparse.c:681,1
    - Dst: bind_conf_uniq_alloc
      Src: /src/haproxy/src/cfgparse.c:686,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse.c:687,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:689,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:702,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:707,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:708,1
    - Dst: str2listener
      Src: /src/haproxy/src/cfgparse.c:712,1
    - Dst: indent_msg
      Src: /src/haproxy/src/cfgparse.c:714,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:715,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:718,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:728,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/cfgparse.c:735,1
    - Dst: typeof
      Src: /src/haproxy/src/cfgparse.c:735,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cfgparse.c:747,1
    - Dst: get_host_port
      Src: /src/haproxy/src/cfgparse.c:749,1
    - Dst: cfg_peers_add_peer
      Src: /src/haproxy/src/cfgparse.c:756,1
    - Dst: bind_parse_args_list
      Src: /src/haproxy/src/cfgparse.c:765,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:770,1
    - Dst: init_peers_frontend
      Src: /src/haproxy/src/cfgparse.c:771,1
    - Dst: parse_server
      Src: /src/haproxy/src/cfgparse.c:775,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:778,1
    - Dst: init_peers_frontend
      Src: /src/haproxy/src/cfgparse.c:779,1
    - Dst: parse_logger
      Src: /src/haproxy/src/cfgparse.c:783,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:784,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:789,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:794,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse.c:799,1
    - Dst: invalid_char
      Src: /src/haproxy/src/cfgparse.c:804,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:806,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:817,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:818,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse.c:824,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:825,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:832,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/cfgparse.c:834,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:835,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:838,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:839,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:845,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:849,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:860,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:864,1
    - Dst: cfg_peers_add_peer
      Src: /src/haproxy/src/cfgparse.c:870,1
    - Dst: init_peers_frontend
      Src: /src/haproxy/src/cfgparse.c:878,1
    - Dst: parse_server
      Src: /src/haproxy/src/cfgparse.c:892,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:904,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/cfgparse.c:909,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:915,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:916,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:925,1
    - Dst: get_host_port
      Src: /src/haproxy/src/cfgparse.c:936,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:940,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:948,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/cfgparse.c:952,1
    - Dst: bind_conf_uniq_alloc
      Src: /src/haproxy/src/cfgparse.c:962,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse.c:962,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:964,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:973,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:974,1
    - Dst: str2listener
      Src: /src/haproxy/src/cfgparse.c:978,1
    - Dst: indent_msg
      Src: /src/haproxy/src/cfgparse.c:980,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:981,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:984,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:992,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:996,1
    - Dst: strtol
      Src: /src/haproxy/src/cfgparse.c:1001,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1003,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1010,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1018,1
    - Dst: init_peers_frontend
      Src: /src/haproxy/src/cfgparse.c:1024,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/cfgparse.c:1032,1
    - Dst: chunk_strcpy
      Src: /src/haproxy/src/cfgparse.c:1033,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1034,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/cfgparse.c:1041,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/cfgparse.c:1041,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1042,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse.c:1048,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:1049,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1051,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1053,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1054,1
    - Dst: stktable_find_by_name
      Src: /src/haproxy/src/cfgparse.c:1059,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1061,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/cfgparse.c:1063,1
    - Dst: parse_stick_table
      Src: /src/haproxy/src/cfgparse.c:1071,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1073,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1074,1
    - Dst: stktable_store_name
      Src: /src/haproxy/src/cfgparse.c:1078,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1082,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1085,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:1093,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1095,1
    - Dst: parse
      Src: /src/haproxy/src/cfgparse.c:1096,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1098,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:1103,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1112,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1118,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 341
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 1120
      start: 662
    functionDepth: 8
    functionLinenumber: 662
    functionLinenumberEnd: 1120
    functionName: cfg_parse_peers
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ns_to_sec
    - chunk_reset
    - parse_stick_table
    - ha_free
    - ha_warning
    - HA_SPIN_INIT
    - chunk_memcat
    - cfg_peers_add_peer
    - get_host_port
    - BUG_ON
    - ha_diag_warning
    - LIST_ISEMPTY
    - list_for_each_entry
    - strcmp
    - chunk_strcat
    - stktable_find_by_name
    - free
    - typeof
    - alertif_too_many_args
    - strtol
    - bind_conf_uniq_alloc
    - bind_parse_args_list
    - indent_msg
    - parse
    - init_peers_frontend
    - strdup
    - proxy_cap_str
    - parse_server
    - str2listener
    - xprt_get
    - LIST_ELEM
    - parse_logger
    - calloc
    - stktable_store_name
    - chunk_strcpy
    - invalid_char
    linkageType: ''
    returnType: int
    signature: cfg_parse_peers(const char *file, int linenum, char **args, int kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1140,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1142,1
    - Dst: invalid_char
      Src: /src/haproxy/src/cfgparse.c:1147,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1149,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1160,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1161,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse.c:1167,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1168,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:1175,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:1177,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1182,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1188,1
    - Dst: invalid_char
      Src: /src/haproxy/src/cfgparse.c:1194,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1196,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse.c:1202,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1203,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:1213,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:1216,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/cfgparse.c:1218,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1222,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1228,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse.c:1236,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1239,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1241,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1246,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1250,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/cfgparse.c:1255,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1257,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1263,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1269,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1276,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1283,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1289,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 130
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 1291
      start: 1132
    functionDepth: 4
    functionLinenumber: 1132
    functionLinenumberEnd: 1291
    functionName: cfg_parse_mailers
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strcmp
    - calloc
    - str2sa_range
    - strdup
    - free
    - invalid_char
    - parse_time_err
    - xprt_get
    linkageType: ''
    returnType: int
    signature: cfg_parse_mailers(const char *file, int linenum, char **args, int kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1301,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1304,1
    - Dst: invalid_char
      Src: /src/haproxy/src/cfgparse.c:1308,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1310,1
    - Dst: netns_store_lookup
      Src: /src/haproxy/src/cfgparse.c:1315,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse.c:1315,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1316,1
    - Dst: netns_store_insert
      Src: /src/haproxy/src/cfgparse.c:1320,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1321,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 1334
      start: 1294
    functionDepth: 2
    functionLinenumber: 1294
    functionLinenumberEnd: 1334
    functionName: cfg_parse_netns
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strcmp
    - strlen
    - netns_store_insert
    - netns_store_lookup
    - invalid_char
    linkageType: ''
    returnType: int
    signature: cfg_parse_netns(const char *file, int linenum, char **args, int kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1343,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1347,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse.c:1352,1
    - Dst: invalid_char
      Src: /src/haproxy/src/cfgparse.c:1355,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1357,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1364,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:1365,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse.c:1371,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1373,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:1378,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1380,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1382,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1389,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1395,1
    - Dst: invalid_char
      Src: /src/haproxy/src/cfgparse.c:1401,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1403,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1413,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:1414,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse.c:1420,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1422,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:1427,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1429,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1431,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1438,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1440,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1443,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1444,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1445,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:1448,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1452,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1455,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1456,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1457,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1465,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1470,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1479,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:1480,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse.c:1486,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1488,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:1493,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1501,1
    - Dst: crypt
      Src: /src/haproxy/src/cfgparse.c:1503,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1504,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:1510,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:1514,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1517,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:1518,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1522,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:1523,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1527,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1534,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 176
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 1540
      start: 1336
    functionDepth: 7
    functionLinenumber: 1336
    functionLinenumberEnd: 1540
    functionName: cfg_parse_users
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ha_warning
    - strcmp
    - calloc
    - crypt
    - strdup
    - free
    - alertif_too_many_args
    - invalid_char
    linkageType: ''
    returnType: int
    signature: cfg_parse_users(const char *file, int linenum, char **args, int kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/cfgparse.c:1550,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1554,1
    - Dst: my_strndup
      Src: /src/haproxy/src/cfgparse.c:1561,1
    - Dst: invalid_char
      Src: /src/haproxy/src/cfgparse.c:1562,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1564,1
    - Dst: isspace
      Src: /src/haproxy/src/cfgparse.c:1572,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1575,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1582,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1587,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - file
    - linenum
    - line
    argTypes:
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1589
      start: 1542
    functionDepth: 4
    functionLinenumber: 1542
    functionLinenumberEnd: 1589
    functionName: cfg_parse_scope
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - isspace
    - free
    - strchr
    - invalid_char
    - my_strndup
    linkageType: ''
    returnType: int
    signature: cfg_parse_scope(const char *file, int linenum, char *line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_uint64
      Src: /src/haproxy/src/cfgparse.c:1599,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1602,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1608,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1611,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - track_sc_num
    - arg
    - end
    - errmsg
    argTypes:
    - unsigned int*
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1618
      start: 1591
    functionDepth: 5
    functionLinenumber: 1591
    functionLinenumberEnd: 1618
    functionName: cfg_parse_track_sc_num
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - memprintf
    - read_uint64
    linkageType: ''
    returnType: int
    signature: "cfg_parse_track_sc_num(unsigned int *track_sc_num,\n                       const
      char *arg, const char *end, char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1626,1
    - Dst: _ha_diag_warning
      Src: /src/haproxy/src/cfgparse.c:1628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - section_name
    - file
    - linenum
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1633
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1633
    functionName: check_section_position
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - strcmp
    - _ha_diag_warning
    linkageType: ''
    returnType: void
    signature: check_section_position(char *section_name, const char *file, int linenum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/haproxy/src/cfgparse.c:1649,1
    - Dst: getcwd
      Src: /src/haproxy/src/cfgparse.c:1654,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1656,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse.c:1656,1
    - Dst: chdir
      Src: /src/haproxy/src/cfgparse.c:1660,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1662,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse.c:1662,1
    - Dst: snprintf
      Src: /src/haproxy/src/cfgparse.c:1676,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1678,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1686,1
    - Dst: memcpy
      Src: /src/haproxy/src/cfgparse.c:1689,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1696,1
    - Dst: memcpy
      Src: /src/haproxy/src/cfgparse.c:1699,1
    - Dst: memcpy
      Src: /src/haproxy/src/cfgparse.c:1701,1
    - Dst: memcpy
      Src: /src/haproxy/src/cfgparse.c:1703,1
    - Dst: chdir
      Src: /src/haproxy/src/cfgparse.c:1707,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1709,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse.c:1709,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 3
    argNames:
    - file
    - origin
    - err
    argTypes:
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1714
      start: 1641
    functionDepth: 5
    functionLinenumber: 1641
    functionLinenumberEnd: 1714
    functionName: cfg_apply_default_path
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strrchr
    - strerror
    - snprintf
    - getcwd
    - chdir
    - memcpy
    linkageType: ''
    returnType: int
    signature: cfg_apply_default_path(const char *file, const char *origin, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1725,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1727,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1729,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:1731,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1734,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1740,1
    - Dst: cfg_apply_default_path
      Src: /src/haproxy/src/cfgparse.c:1743,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1744,1
    - Dst: cfg_apply_default_path
      Src: /src/haproxy/src/cfgparse.c:1748,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1749,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1758
      start: 1717
    functionDepth: 6
    functionLinenumber: 1717
    functionLinenumberEnd: 1758
    functionName: cfg_parse_global_def_path
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - cfg_apply_default_path
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_def_path(char **args, int section_type, struct proxy
      *curpx,\n                                     const struct proxy *defpx, const
      char *file, int line,\n                                     char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse.c:1770,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1772,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:1776,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:1778,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse.c:1782,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1787,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - li
    - filename
    - err
    argTypes:
    - struct list*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1791
      start: 1766
    functionDepth: 5
    functionLinenumber: 1766
    functionLinenumberEnd: 1791
    functionName: list_append_cfgfile
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    - LIST_APPEND
    - strdup
    - free
    linkageType: ''
    returnType: int
    signature: list_append_cfgfile(struct list *li, const char *filename, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/haproxy/src/cfgparse.c:1808,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1809,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse.c:1810,1
    - Dst: fopen
      Src: /src/haproxy/src/cfgparse.c:1818,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1819,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse.c:1820,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1828,1
    - Dst: realloc
      Src: /src/haproxy/src/cfgparse.c:1836,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1838,1
    - Dst: fread
      Src: /src/haproxy/src/cfgparse.c:1846,1
    - Dst: feof
      Src: /src/haproxy/src/cfgparse.c:1849,1
    - Dst: ferror
      Src: /src/haproxy/src/cfgparse.c:1849,1
    - Dst: fclose
      Src: /src/haproxy/src/cfgparse.c:1853,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:1858,1
    - Dst: fclose
      Src: /src/haproxy/src/cfgparse.c:1859,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - filename
    - cfg_content
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1862
      start: 1797
    functionDepth: 3
    functionLinenumber: 1797
    functionLinenumberEnd: 1862
    functionName: load_cfg_in_mem
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - strerror
    - fread
    - stat
    - ha_free
    - fclose
    - feof
    - fopen
    - realloc
    - ferror
    linkageType: ''
    returnType: ssize_t
    signature: load_cfg_in_mem(char *filename, char **cfg_content)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/cfgparse.c:1898,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1899,1
    - Dst: cfg_apply_default_path
      Src: /src/haproxy/src/cfgparse.c:1905,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1906,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:1907,1
    - Dst: fgets_from_mem
      Src: /src/haproxy/src/cfgparse.c:1913,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1921,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1932,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse.c:1936,1
    - Dst: realloc
      Src: /src/haproxy/src/cfgparse.c:1945,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1947,1
    - Dst: isspace
      Src: /src/haproxy/src/cfgparse.c:1974,1
    - Dst: cfg_parse_scope
      Src: /src/haproxy/src/cfgparse.c:1978,1
    - Dst: parse_line
      Src: /src/haproxy/src/cfgparse.c:1988,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:1996,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2006,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2016,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2026,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2036,1
    - Dst: my_realloc2
      Src: /src/haproxy/src/cfgparse.c:2045,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2047,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2060,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2080,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:2083,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2086,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2099,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2102,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2104,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2113,1
    - Dst: HA_ANON_ID
      Src: /src/haproxy/src/cfgparse.c:2113,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2116,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2122,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2126,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2129,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2130,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2133,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2134,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2137,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2138,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2138,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2139,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2142,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2142,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2143,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2146,1
    - Dst: hash_ipanon
      Src: /src/haproxy/src/cfgparse.c:2146,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2149,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2152,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2156,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2160,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2161,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2164,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2165,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2169,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2170,1
    - Dst: HA_ANON_ID
      Src: /src/haproxy/src/cfgparse.c:2170,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2173,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2176,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2180,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2181,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2182,1
    - Dst: hash_ipanon
      Src: /src/haproxy/src/cfgparse.c:2182,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2184,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2187,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2191,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2192,1
    - Dst: HA_ANON_ID
      Src: /src/haproxy/src/cfgparse.c:2192,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2195,1
    - Dst: hash_ipanon
      Src: /src/haproxy/src/cfgparse.c:2195,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2198,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2201,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2205,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2206,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2208,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2208,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2209,1
    - Dst: HA_ANON_PATH
      Src: /src/haproxy/src/cfgparse.c:2209,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2212,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2215,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2217,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2220,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2221,1
    - Dst: HA_ANON_ID
      Src: /src/haproxy/src/cfgparse.c:2221,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2224,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2226,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2229,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2230,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2232,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2233,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2236,1
    - Dst: hash_ipanon
      Src: /src/haproxy/src/cfgparse.c:2236,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2239,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2241,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2244,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2245,1
    - Dst: HA_ANON_ID
      Src: /src/haproxy/src/cfgparse.c:2245,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2246,1
    - Dst: hash_ipanon
      Src: /src/haproxy/src/cfgparse.c:2246,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2249,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2251,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2254,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2255,1
    - Dst: HA_ANON_ID
      Src: /src/haproxy/src/cfgparse.c:2255,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2258,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2260,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2263,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2264,1
    - Dst: HA_ANON_ID
      Src: /src/haproxy/src/cfgparse.c:2264,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2267,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2268,1
    - Dst: hash_ipanon
      Src: /src/haproxy/src/cfgparse.c:2268,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2271,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2273,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2276,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2277,1
    - Dst: HA_ANON_ID
      Src: /src/haproxy/src/cfgparse.c:2278,1
    - Dst: hash_ipanon
      Src: /src/haproxy/src/cfgparse.c:2278,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2280,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2282,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2285,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2286,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2288,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2289,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2292,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2293,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2295,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2296,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2299,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2300,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2302,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2303,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2306,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2307,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2309,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2310,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2313,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2314,1
    - Dst: HA_ANON_PATH
      Src: /src/haproxy/src/cfgparse.c:2314,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2317,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2318,1
    - Dst: HA_ANON_ID
      Src: /src/haproxy/src/cfgparse.c:2318,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2320,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2322,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2323,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2326,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2326,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2327,1
    - Dst: HA_ANON_STR
      Src: /src/haproxy/src/cfgparse.c:2327,1
    - Dst: MIN
      Src: /src/haproxy/src/cfgparse.c:2332,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2333,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2336,1
    - Dst: qfprintf
      Src: /src/haproxy/src/cfgparse.c:2338,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2351,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse.c:2358,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2363,1
    - Dst: cfg_eval_condition
      Src: /src/haproxy/src/cfgparse.c:2378,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2382,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:2386,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2398,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse.c:2405,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2409,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2416,1
    - Dst: cfg_eval_condition
      Src: /src/haproxy/src/cfgparse.c:2429,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2433,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:2437,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2449,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2451,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2458,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2465,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2481,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2483,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2490,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2511,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2513,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2519,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2523,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2525,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:2531,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2535,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2537,1
    - Dst: ha_notice
      Src: /src/haproxy/src/cfgparse.c:2543,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2546,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2548,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/cfgparse.c:2554,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2558,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2566,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2576,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2582,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2583,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2583,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2584,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2584,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2585,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2586,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2587,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:2596,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2597,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:2601,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:2602,1
    - Dst: check_section_position
      Src: /src/haproxy/src/cfgparse.c:2603,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:2614,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2615,1
    - Dst: struct cfg_section*::post_section_parser
      Src: /src/haproxy/src/cfgparse.c:2622,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2639,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2646,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2647,1
    - Dst: struct cfg_section*::section_parser
      Src: /src/haproxy/src/cfgparse.c:2650,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2661,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:2666,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:2675,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:2676,1
    - Dst: struct cfg_section*::post_section_parser
      Src: /src/haproxy/src/cfgparse.c:2679,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2694,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:2699,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:2701,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:2702,1
    CyclomaticComplexity: 226
    EdgeCount: 226
    ICount: 584
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - struct cfgfile*
    constantsTouched: []
    func_position:
      end: 2707
      start: 1875
    functionDepth: 6
    functionLinenumber: 1875
    functionLinenumberEnd: 2707
    functionName: parse_cfg
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 2
    functionsReached:
    - ha_alert
    - HA_ANON_STR
    - ha_free
    - ha_warning
    - my_realloc2
    - ha_diag_warning
    - HA_ANON_PATH
    - list_for_each_entry
    - strcmp
    - struct cfg_section*::section_parser
    - free
    - cfg_parse_scope
    - parse_line
    - check_section_position
    - realloc
    - fgets_from_mem
    - HA_ANON_ID
    - cfg_eval_condition
    - strlen
    - hash_ipanon
    - strdup
    - cfg_apply_default_path
    - malloc
    - isspace
    - ha_notice
    - struct cfg_section*::post_section_parser
    - qfprintf
    - MIN
    linkageType: ''
    returnType: int
    signature: parse_cfg(const struct cfgfile *cfg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:2755,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cfgparse.c:2762,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cfgparse.c:2763,1
    - Dst: thread_map_to_groups
      Src: /src/haproxy/src/cfgparse.c:2765,1
    - Dst: create_pool
      Src: /src/haproxy/src/cfgparse.c:2770,1
    - Dst: create_pool
      Src: /src/haproxy/src/cfgparse.c:2772,1
    - Dst: userlist_postinit
      Src: /src/haproxy/src/cfgparse.c:2775,1
    - Dst: get_next_id
      Src: /src/haproxy/src/cfgparse.c:2810,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/cfgparse.c:2812,1
    - Dst: ONLY_ONCE
      Src: /src/haproxy/src/cfgparse.c:2815,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2816,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:2838,1
    - Dst: check_action_rules
      Src: /src/haproxy/src/cfgparse.c:2851,1
    - Dst: check_action_rules
      Src: /src/haproxy/src/cfgparse.c:2852,1
    - Dst: check_action_rules
      Src: /src/haproxy/src/cfgparse.c:2853,1
    - Dst: check_action_rules
      Src: /src/haproxy/src/cfgparse.c:2854,1
    - Dst: check_action_rules
      Src: /src/haproxy/src/cfgparse.c:2855,1
    - Dst: check_action_rules
      Src: /src/haproxy/src/cfgparse.c:2856,1
    - Dst: check_action_rules
      Src: /src/haproxy/src/cfgparse.c:2857,1
    - Dst: smp_resolve_args
      Src: /src/haproxy/src/cfgparse.c:2860,1
    - Dst: indent_msg
      Src: /src/haproxy/src/cfgparse.c:2863,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2864,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:2865,1
    - Dst: acl_find_targets
      Src: /src/haproxy/src/cfgparse.c:2868,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:2876,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:2885,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse.c:2889,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse.c:2896,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:2897,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:2899,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2902,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse.c:2908,1
    - Dst: strstr
      Src: /src/haproxy/src/cfgparse.c:2915,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2916,1
    - Dst: strstr
      Src: /src/haproxy/src/cfgparse.c:2923,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2924,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse.c:2933,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:2939,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:2941,1
    - Dst: bind_complete_thread_setup
      Src: /src/haproxy/src/cfgparse.c:2948,1
    - Dst: bind_generate_guid
      Src: /src/haproxy/src/cfgparse.c:2955,1
    - Dst: proxy_cfg_ensure_no_http
      Src: /src/haproxy/src/cfgparse.c:2964,1
    - Dst: proxy_cfg_ensure_no_log
      Src: /src/haproxy/src/cfgparse.c:2965,1
    - Dst: proxy_cfg_ensure_no_log
      Src: /src/haproxy/src/cfgparse.c:2969,1
    - Dst: proxy_cfg_ensure_no_http
      Src: /src/haproxy/src/cfgparse.c:2974,1
    - Dst: proxy_cfg_ensure_no_log
      Src: /src/haproxy/src/cfgparse.c:2975,1
    - Dst: proxy_cfg_ensure_no_http
      Src: /src/haproxy/src/cfgparse.c:2980,1
    - Dst: proxy_cfg_ensure_no_http
      Src: /src/haproxy/src/cfgparse.c:2984,1
    - Dst: proxy_cfg_ensure_no_log
      Src: /src/haproxy/src/cfgparse.c:2985,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:2991,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:2992,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:2997,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:2998,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:2999,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3006,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3007,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3012,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3013,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3018,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3019,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3039,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3040,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3047,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3048,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3053,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3054,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3062,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3067,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3072,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3080,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3085,1
    - Dst: free_email_alert
      Src: /src/haproxy/src/cfgparse.c:3087,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:3090,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3096,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3097,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3102,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:3107,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3113,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3114,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:3116,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/cfgparse.c:3124,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3126,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3130,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3136,1
    - Dst: proxy_mode_str
      Src: /src/haproxy/src/cfgparse.c:3137,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3137,1
    - Dst: proxy_mode_str
      Src: /src/haproxy/src/cfgparse.c:3139,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3139,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:3143,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3147,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:3161,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/cfgparse.c:3172,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/cfgparse.c:3177,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3178,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:3180,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/cfgparse.c:3184,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/cfgparse.c:3186,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:3189,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/cfgparse.c:3200,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/cfgparse.c:3206,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3208,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3212,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3218,1
    - Dst: proxy_mode_str
      Src: /src/haproxy/src/cfgparse.c:3219,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3219,1
    - Dst: proxy_mode_str
      Src: /src/haproxy/src/cfgparse.c:3221,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3221,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:3225,1
    - Dst: warnif_tcp_http_cond
      Src: /src/haproxy/src/cfgparse.c:3234,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:3238,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/cfgparse.c:3248,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/cfgparse.c:3251,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3252,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:3254,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/cfgparse.c:3258,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/cfgparse.c:3260,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:3263,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/cfgparse.c:3269,1
    - Dst: findserver
      Src: /src/haproxy/src/cfgparse.c:3274,1
    - Dst: warnif_tcp_http_cond
      Src: /src/haproxy/src/cfgparse.c:3275,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3278,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3279,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:3283,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:3289,1
    - Dst: resolve_stick_rule
      Src: /src/haproxy/src/cfgparse.c:3294,1
    - Dst: warnif_tcp_http_cond
      Src: /src/haproxy/src/cfgparse.c:3297,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:3301,1
    - Dst: resolve_stick_rule
      Src: /src/haproxy/src/cfgparse.c:3304,1
    - Dst: check_action_rules
      Src: /src/haproxy/src/cfgparse.c:3309,1
    - Dst: check_action_rules
      Src: /src/haproxy/src/cfgparse.c:3310,1
    - Dst: check_action_rules
      Src: /src/haproxy/src/cfgparse.c:3311,1
    - Dst: check_action_rules
      Src: /src/haproxy/src/cfgparse.c:3312,1
    - Dst: check_action_rules
      Src: /src/haproxy/src/cfgparse.c:3313,1
    - Dst: check_action_rules
      Src: /src/haproxy/src/cfgparse.c:3314,1
    - Dst: check_action_rules
      Src: /src/haproxy/src/cfgparse.c:3315,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3318,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3320,1
    - Dst: proxy_mode_str
      Src: /src/haproxy/src/cfgparse.c:3322,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3322,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:3329,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:3330,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3337,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:3339,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3348,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:3360,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3364,1
    - Dst: free_email_alert
      Src: /src/haproxy/src/cfgparse.c:3366,1
    - Dst: init_email_alert
      Src: /src/haproxy/src/cfgparse.c:3371,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3372,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:3373,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3380,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3382,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3390,1
    - Dst: parse_http_req_cond
      Src: /src/haproxy/src/cfgparse.c:3409,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse.c:3415,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:3418,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:3425,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/cfgparse.c:3437,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/cfgparse.c:3438,1
    - Dst: lf_expr_compile
      Src: /src/haproxy/src/cfgparse.c:3446,1
    - Dst: lf_expr_postcheck
      Src: /src/haproxy/src/cfgparse.c:3449,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3450,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:3452,1
    - Dst: lf_expr_compile
      Src: /src/haproxy/src/cfgparse.c:3464,1
    - Dst: add_to_logformat_list
      Src: /src/haproxy/src/cfgparse.c:3467,1
    - Dst: lf_expr_postcheck
      Src: /src/haproxy/src/cfgparse.c:3468,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3469,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:3471,1
    - Dst: lf_expr_compile
      Src: /src/haproxy/src/cfgparse.c:3489,1
    - Dst: lf_expr_postcheck
      Src: /src/haproxy/src/cfgparse.c:3491,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3492,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:3494,1
    - Dst: lf_expr_compile
      Src: /src/haproxy/src/cfgparse.c:3506,1
    - Dst: lf_expr_postcheck
      Src: /src/haproxy/src/cfgparse.c:3509,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3510,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:3512,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/cfgparse.c:3533,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3538,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3539,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:3542,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3546,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3548,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/cfgparse.c:3550,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3554,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3555,1
    - Dst: smp_resolve_args
      Src: /src/haproxy/src/cfgparse.c:3567,1
    - Dst: indent_msg
      Src: /src/haproxy/src/cfgparse.c:3570,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3571,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:3572,1
    - Dst: acl_find_targets
      Src: /src/haproxy/src/cfgparse.c:3574,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3581,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3585,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3599,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3600,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3606,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3607,1
    - Dst: create_pool
      Src: /src/haproxy/src/cfgparse.c:3614,1
    - Dst: create_pool
      Src: /src/haproxy/src/cfgparse.c:3620,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3631,1
    - Dst: container_of_safe
      Src: /src/haproxy/src/cfgparse.c:3670,1
    - Dst: ebpt_prev_dup
      Src: /src/haproxy/src/cfgparse.c:3670,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3673,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3675,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3681,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3683,1
    - Dst: get_next_id
      Src: /src/haproxy/src/cfgparse.c:3696,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/cfgparse.c:3698,1
    - Dst: set_usermsgs_ctx
      Src: /src/haproxy/src/cfgparse.c:3715,1
    - Dst: srv_minmax_conn_apply
      Src: /src/haproxy/src/cfgparse.c:3717,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse.c:3726,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse.c:3726,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse.c:3727,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3733,1
    - Dst: srv_apply_track
      Src: /src/haproxy/src/cfgparse.c:3736,1
    - Dst: reset_usermsgs_ctx
      Src: /src/haproxy/src/cfgparse.c:3743,1
    - Dst: srv_set_dyncookie
      Src: /src/haproxy/src/cfgparse.c:3757,1
    - Dst: init_server_map
      Src: /src/haproxy/src/cfgparse.c:3771,1
    - Dst: chash_init_server_tree
      Src: /src/haproxy/src/cfgparse.c:3774,1
    - Dst: fwrr_init_server_groups
      Src: /src/haproxy/src/cfgparse.c:3779,1
    - Dst: fwlc_init_server_tree
      Src: /src/haproxy/src/cfgparse.c:3786,1
    - Dst: fas_init_server_tree
      Src: /src/haproxy/src/cfgparse.c:3789,1
    - Dst: chash_init_server_tree
      Src: /src/haproxy/src/cfgparse.c:3796,1
    - Dst: init_server_map
      Src: /src/haproxy/src/cfgparse.c:3801,1
    - Dst: init_server_ss
      Src: /src/haproxy/src/cfgparse.c:3807,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/cfgparse.c:3811,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3817,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/cfgparse.c:3818,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/cfgparse.c:3818,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3819,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3820,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3828,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3829,1
    - Dst: stats_uri_auth_drop
      Src: /src/haproxy/src/cfgparse.c:3831,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3836,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3837,1
    - Dst: isttest
      Src: /src/haproxy/src/cfgparse.c:3841,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3842,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3843,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3847,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3848,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3849,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3853,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3854,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3855,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3859,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3860,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3861,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3865,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3866,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3867,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3875,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3876,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3886,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3887,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3896,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3897,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3909,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3910,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3915,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3916,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3921,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3922,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:3929,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3930,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:3941,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:3942,1
    - Dst: flt_check
      Src: /src/haproxy/src/cfgparse.c:3952,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3958,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3959,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3976,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3983,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3984,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3987,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:3988,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:4003,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:4011,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse.c:4015,1
    - Dst: get_mux_proto
      Src: /src/haproxy/src/cfgparse.c:4021,1
    - Dst: ist
      Src: /src/haproxy/src/cfgparse.c:4021,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4024,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:4027,1
    - Dst: conn_get_best_mux_entry
      Src: /src/haproxy/src/cfgparse.c:4039,1
    - Dst: isteq
      Src: /src/haproxy/src/cfgparse.c:4041,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4042,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:4043,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4050,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:4051,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4058,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:4059,1
    - Dst: conn_get_best_mux_entry
      Src: /src/haproxy/src/cfgparse.c:4081,1
    - Dst: isteq
      Src: /src/haproxy/src/cfgparse.c:4083,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4084,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:4085,1
    - Dst: find_tcpcheck_ruleset
      Src: /src/haproxy/src/cfgparse.c:4106,1
    - Dst: create_tcpcheck_ruleset
      Src: /src/haproxy/src/cfgparse.c:4108,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4110,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:4111,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/cfgparse.c:4116,1
    - Dst: MT_LIST_FOR_EACH_ENTRY_LOCKED
      Src: /src/haproxy/src/cfgparse.c:4147,1
    - Dst: srv_init_per_thr
      Src: /src/haproxy/src/cfgparse.c:4149,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4150,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse.c:4157,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4159,1
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/cfgparse.c:4168,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4170,1
    - Dst: task_new_on
      Src: /src/haproxy/src/cfgparse.c:4178,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4180,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/cfgparse.c:4187,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/cfgparse.c:4188,1
    - Dst: proxy_init_per_thr
      Src: /src/haproxy/src/cfgparse.c:4202,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:4207,1
    - Dst: struct bind_conf*::xprt::prepare_bind_conf
      Src: /src/haproxy/src/cfgparse.c:4209,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:4228,1
    - Dst: LIST_PREV
      Src: /src/haproxy/src/cfgparse.c:4234,1
    - Dst: typeof
      Src: /src/haproxy/src/cfgparse.c:4234,1
    - Dst: get_next_id
      Src: /src/haproxy/src/cfgparse.c:4238,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/cfgparse.c:4240,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse.c:4246,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse.c:4248,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse.c:4252,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4264,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cfgparse.c:4268,1
    - Dst: li_init_per_thr
      Src: /src/haproxy/src/cfgparse.c:4273,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:4279,1
    - Dst: struct bind_conf*::xprt::destroy_bind_conf
      Src: /src/haproxy/src/cfgparse.c:4281,1
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/cfgparse.c:4285,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4291,1
    - Dst: stop_proxy
      Src: /src/haproxy/src/cfgparse.c:4341,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:4345,1
    - Dst: stop_proxy
      Src: /src/haproxy/src/cfgparse.c:4348,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:4363,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4364,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse.c:4374,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse.c:4374,1
    - Dst: xprt_get
      Src: /src/haproxy/src/cfgparse.c:4375,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:4380,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/cfgparse.c:4386,1
    - Dst: typeof
      Src: /src/haproxy/src/cfgparse.c:4386,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:4390,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:4394,1
    - Dst: bind_complete_thread_setup
      Src: /src/haproxy/src/cfgparse.c:4400,1
    - Dst: struct bind_conf*::xprt::prepare_bind_conf
      Src: /src/haproxy/src/cfgparse.c:4408,1
    - Dst: peers_init_sync
      Src: /src/haproxy/src/cfgparse.c:4411,1
    - Dst: peers_alloc_dcache
      Src: /src/haproxy/src/cfgparse.c:4411,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4412,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:4425,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:4431,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:4445,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:4446,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:4453,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:4460,1
    - Dst: stktable_init
      Src: /src/haproxy/src/cfgparse.c:4469,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4470,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:4471,1
    - Dst: stktable_init
      Src: /src/haproxy/src/cfgparse.c:4485,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4486,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse.c:4487,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:4507,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:4513,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:4514,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:4521,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:4523,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse.c:4533,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:4536,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/cfgparse.c:4537,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse.c:4538,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:4545,1
    - Dst: struct cfg_postparser*::func
      Src: /src/haproxy/src/cfgparse.c:4547,1
    CyclomaticComplexity: 421
    EdgeCount: 421
    ICount: 1128
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4554
      start: 2718
    functionDepth: 9
    functionLinenumber: 2718
    functionLinenumberEnd: 4554
    functionName: check_config_validity
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - init_server_map
    - isttest
    - ist
    - stktable_init
    - free_tcpcheck_vars
    - LIST_ISEMPTY
    - lf_expr_postcheck
    - acl_find_targets
    - typeof
    - thread_map_to_groups
    - lf_expr_compile
    - lf_expr_isempty
    - indent_msg
    - peers_alloc_dcache
    - strlen
    - srv_apply_track
    - get_next_id
    - xprt_get
    - userlist_postinit
    - create_tcpcheck_ruleset
    - MT_LIST_FOR_EACH_ENTRY_LOCKED
    - add_to_logformat_list
    - li_init_per_thr
    - fwlc_init_server_tree
    - ha_alert
    - memprintf
    - ha_free
    - srv_set_dyncookie
    - ha_warning
    - findserver
    - parse_http_req_cond
    - chash_init_server_tree
    - lf_expr_init
    - list_for_each_entry
    - warnif_tcp_http_cond
    - task_new_anywhere
    - peers_init_sync
    - struct bind_conf*::xprt::prepare_bind_conf
    - struct cfg_postparser*::func
    - fwrr_init_server_groups
    - HA_RWLOCK_INIT
    - stats_uri_auth_drop
    - LIST_ELEM
    - stop_proxy
    - proxy_cfg_ensure_no_log
    - LIST_APPEND
    - create_pool
    - container_of_safe
    - ebpt_prev_dup
    - struct bind_conf*::xprt::destroy_bind_conf
    - ONLY_ONCE
    - BUG_ON
    - strcmp
    - isteq
    - free
    - sample_src_names
    - strdup
    - sample_parse_expr
    - proxy_type_str
    - proxy_mode_str
    - reset_usermsgs_ctx
    - task_new_on
    - proxy_init_per_thr
    - free_email_alert
    - LIST_PREV
    - init_server_ss
    - parse_logformat_string
    - srv_minmax_conn_apply
    - smp_resolve_args
    - proxy_be_by_name
    - HA_SPIN_INIT
    - strstr
    - check_action_rules
    - MT_LIST_INIT
    - get_mux_proto
    - find_tcpcheck_ruleset
    - srv_init_per_thr
    - eb32_insert
    - resolve_stick_rule
    - conn_get_best_mux_entry
    - set_usermsgs_ctx
    - bind_generate_guid
    - flt_check
    - lf_expr_deinit
    - init_email_alert
    - LIST_NEXT
    - calloc
    - bind_complete_thread_setup
    - proxy_cfg_ensure_no_http
    - fas_init_server_tree
    linkageType: ''
    returnType: int
    signature: check_config_validity()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse.c:4562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kwl
    argTypes:
    - struct cfg_kw_list*
    constantsTouched: []
    func_position:
      end: 4563
      start: 4560
    functionDepth: 0
    functionLinenumber: 4560
    functionLinenumberEnd: 4563
    functionName: cfg_register_keywords
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: cfg_register_keywords(struct cfg_kw_list *kwl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/cfgparse.c:4570,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/cfgparse.c:4571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kwl
    argTypes:
    - struct cfg_kw_list*
    constantsTouched: []
    func_position:
      end: 4572
      start: 4568
    functionDepth: 0
    functionLinenumber: 4568
    functionLinenumberEnd: 4572
    functionName: cfg_unregister_keywords
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - LIST_DELETE
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: cfg_unregister_keywords(struct cfg_kw_list *kwl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:4587,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:4588,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4589,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse.c:4595,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4597,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse.c:4605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - section_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4608
      start: 4579
    functionDepth: 3
    functionLinenumber: 4579
    functionLinenumberEnd: 4608
    functionName: cfg_register_section
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - list_for_each_entry
    - strcmp
    - LIST_APPEND
    - calloc
    linkageType: ''
    returnType: int
    signature: "cfg_register_section(char *section_name,\n                         int
      (*section_parser)(const char *, int, char **, int),\n                         int
      (*post_section_parser)())"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse.c:4618,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse.c:4620,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse.c:4626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4629
      start: 4614
    functionDepth: 3
    functionLinenumber: 4614
    functionLinenumberEnd: 4629
    functionName: cfg_register_postparser
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - calloc
    - LIST_APPEND
    linkageType: ''
    returnType: int
    signature: cfg_register_postparser(char *name, int (*func)())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/cfgparse.c:4638,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/cfgparse.c:4639,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse.c:4640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4642
      start: 4634
    functionDepth: 3
    functionLinenumber: 4634
    functionLinenumberEnd: 4642
    functionName: cfg_unregister_sections
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 1
    functionsReached:
    - free
    - LIST_DELETE
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: cfg_unregister_sections(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/cfgparse.c:4648,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/cfgparse.c:4649,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse.c:4650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - backup_sections
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 4652
      start: 4644
    functionDepth: 0
    functionLinenumber: 4644
    functionLinenumberEnd: 4652
    functionName: cfg_backup_sections
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    - LIST_DELETE
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: cfg_backup_sections(struct list *backup_sections)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/cfgparse.c:4659,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cfgparse.c:4660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - backup_sections
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 4662
      start: 4654
    functionDepth: 0
    functionLinenumber: 4654
    functionLinenumberEnd: 4662
    functionName: cfg_restore_sections
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    - LIST_DELETE
    linkageType: ''
    returnType: void
    signature: cfg_restore_sections(struct list *backup_sections)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4676,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:4679,1
    - Dst: strordered
      Src: /src/haproxy/src/cfgparse.c:4682,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4687,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:4704,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:4705,1
    - Dst: strordered
      Src: /src/haproxy/src/cfgparse.c:4708,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4718,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4720,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:4725,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:4726,1
    - Dst: strordered
      Src: /src/haproxy/src/cfgparse.c:4729,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse.c:4738,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4742,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4744,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:4748,1
    - Dst: strordered
      Src: /src/haproxy/src/cfgparse.c:4750,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4759,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4761,1
    - Dst: strordered
      Src: /src/haproxy/src/cfgparse.c:4766,1
    - Dst: strordered
      Src: /src/haproxy/src/cfgparse.c:4772,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4779,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4781,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4783,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4785,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4786,1
    - Dst: dump_act_rules
      Src: /src/haproxy/src/cfgparse.c:4789,1
    - Dst: dump_act_rules
      Src: /src/haproxy/src/cfgparse.c:4790,1
    - Dst: dump_act_rules
      Src: /src/haproxy/src/cfgparse.c:4791,1
    - Dst: dump_act_rules
      Src: /src/haproxy/src/cfgparse.c:4792,1
    - Dst: dump_act_rules
      Src: /src/haproxy/src/cfgparse.c:4793,1
    - Dst: dump_act_rules
      Src: /src/haproxy/src/cfgparse.c:4794,1
    - Dst: dump_act_rules
      Src: /src/haproxy/src/cfgparse.c:4795,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse.c:4801,1
    - Dst: strordered
      Src: /src/haproxy/src/cfgparse.c:4803,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4811,1
    - Dst: strordered
      Src: /src/haproxy/src/cfgparse.c:4822,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4830,1
    - Dst: printf
      Src: /src/haproxy/src/cfgparse.c:4832,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 112
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4838
      start: 4665
    functionDepth: 2
    functionLinenumber: 4665
    functionLinenumberEnd: 4838
    functionName: cfg_dump_registered_keywords
    functionSourceFile: /src/haproxy/src/cfgparse.c
    functionUses: 0
    functionsReached:
    - printf
    - strcmp
    - list_for_each_entry
    - strordered
    - dump_act_rules
    linkageType: ''
    returnType: void
    signature: cfg_dump_registered_keywords()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - rs
    argTypes:
    - struct quic_cc_rs*
    constantsTouched: []
    func_position:
      end: 24
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 24
    functionName: quic_cc_rs_init
    functionSourceFile: /src/haproxy/src/quic_cc_drs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_cc_rs_init(struct quic_cc_rs *rs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_rs_init
      Src: /src/haproxy/src/quic_cc_drs.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - drs
    argTypes:
    - struct quic_cc_drs*
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: quic_cc_drs_init
    functionSourceFile: /src/haproxy/src/quic_cc_drs.c
    functionUses: 1
    functionsReached:
    - quic_cc_rs_init
    linkageType: ''
    returnType: void
    signature: quic_cc_drs_init(struct quic_cc_drs *drs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - path
    - pkt
    - drs
    argTypes:
    - struct quic_cc_path*
    - struct quic_tx_packet*
    - struct quic_cc_drs*
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: quic_cc_drs_on_pkt_sent
    functionSourceFile: /src/haproxy/src/quic_cc_drs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "quic_cc_drs_on_pkt_sent(struct quic_cc_path *path,\n                             struct
      quic_tx_packet *pkt, struct quic_cc_drs *drs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - drs
    - pkt
    argTypes:
    - struct quic_cc_drs*
    - struct quic_tx_packet*
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: quic_cc_drs_is_newest_packet
    functionSourceFile: /src/haproxy/src/quic_cc_drs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "quic_cc_drs_is_newest_packet(struct quic_cc_drs *drs,\n                                               struct
      quic_tx_packet *pkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cc_drs_is_newest_packet
      Src: /src/haproxy/src/quic_cc_drs.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - drs
    - pkt
    - time_ns
    argTypes:
    - struct quic_cc_drs*
    - struct quic_tx_packet*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 112
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 112
    functionName: quic_cc_drs_update_rate_sample
    functionSourceFile: /src/haproxy/src/quic_cc_drs.c
    functionUses: 0
    functionsReached:
    - quic_cc_drs_is_newest_packet
    linkageType: ''
    returnType: void
    signature: "quic_cc_drs_update_rate_sample(struct quic_cc_drs *drs,\n                                    struct
      quic_tx_packet *pkt, uint64_t time_ns)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/haproxy/src/quic_cc_drs.c:136,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_cc_drs.c:138,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_cc_drs.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - drs
    - path
    - pkt_delivered
    argTypes:
    - struct quic_cc_drs*
    - struct quic_cc_path*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 153
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 153
    functionName: quic_cc_drs_on_ack_recv
    functionSourceFile: /src/haproxy/src/quic_cc_drs.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - MAX
    linkageType: ''
    returnType: void
    signature: "quic_cc_drs_on_ack_recv(struct quic_cc_drs *drs, struct quic_cc_path
      *path,\n                             uint64_t pkt_delivered)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/sample.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: type_to_smp
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: type_to_smp(const char *type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/sample.c:365,1
    - Dst: LIST_PREV
      Src: /src/haproxy/src/sample.c:377,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/sample.c:387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - expr
    argTypes:
    - struct sample_expr*
    constantsTouched: []
    func_position:
      end: 397
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 397
    functionName: smp_expr_output_type
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 2
    functionsReached:
    - LIST_PREV
    - LIST_NEXT
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: smp_expr_output_type(struct sample_expr *expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/src/sample.c:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - use
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 423
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 423
    functionName: sample_src_names
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 10
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: '*sample_src_names(unsigned int use)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - use
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 437
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 437
    functionName: sample_ckp_names
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*sample_ckp_names(unsigned int use)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/sample.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - kwl
    argTypes:
    - struct sample_fetch_kw_list*
    constantsTouched: []
    func_position:
      end: 455
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 455
    functionName: sample_register_fetches
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: sample_register_fetches(struct sample_fetch_kw_list *kwl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/sample.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pckl
    argTypes:
    - struct sample_conv_kw_list*
    constantsTouched: []
    func_position:
      end: 464
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 464
    functionName: sample_register_convs
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: sample_register_convs(struct sample_conv_kw_list *pckl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/sample.c:476,1
    - Dst: strncmp
      Src: /src/haproxy/src/sample.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - kw
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 484
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 484
    functionName: find_sample_fetch
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 3
    functionsReached:
    - list_for_each_entry
    - strncmp
    linkageType: ''
    returnType: struct sample_fetch
    signature: '*find_sample_fetch(const char *kw, int len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/haproxy/src/sample.c:497,1
    - Dst: putchar
      Src: /src/haproxy/src/sample.c:499,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:501,1
    - Dst: putchar
      Src: /src/haproxy/src/sample.c:504,1
    - Dst: putchar
      Src: /src/haproxy/src/sample.c:506,1
    - Dst: putchar
      Src: /src/haproxy/src/sample.c:508,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:509,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/sample.c:513,1
    - Dst: strordered
      Src: /src/haproxy/src/sample.c:515,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:525,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:527,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:529,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:532,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:538,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:541,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:542,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:546,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:548,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:550,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:551,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 553
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 553
    functionName: smp_dump_fetch_kw
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    - strordered
    - list_for_each_entry
    linkageType: ''
    returnType: void
    signature: smp_dump_fetch_kw(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/sample.c:565,1
    - Dst: strordered
      Src: /src/haproxy/src/sample.c:567,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:577,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:580,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:586,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:589,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:590,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:594,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:596,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:598,1
    - Dst: printf
      Src: /src/haproxy/src/sample.c:599,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 601
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 601
    functionName: smp_dump_conv_kw
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strordered
    - printf
    linkageType: ''
    returnType: void
    signature: smp_dump_conv_kw(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/sample.c:618,1
    - Dst: container_of
      Src: /src/haproxy/src/sample.c:623,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/sample.c:639,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - current
    - idx
    argTypes:
    - struct sample_fetch*
    - int*
    constantsTouched: []
    func_position:
      end: 644
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 644
    functionName: sample_fetch_getnext
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 1
    functionsReached:
    - container_of
    - LIST_NEXT
    linkageType: ''
    returnType: struct sample_fetch
    signature: '*sample_fetch_getnext(struct sample_fetch *current, int *idx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/sample.c:661,1
    - Dst: container_of
      Src: /src/haproxy/src/sample.c:666,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/sample.c:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - current
    - idx
    argTypes:
    - struct sample_conv*
    - int*
    constantsTouched: []
    func_position:
      end: 686
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 686
    functionName: sample_conv_getnext
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 1
    functionsReached:
    - container_of
    - LIST_NEXT
    linkageType: ''
    returnType: struct sample_conv
    signature: '*sample_conv_getnext(struct sample_conv *current, int *idx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/sample.c:698,1
    - Dst: strncmp
      Src: /src/haproxy/src/sample.c:700,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - kw
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 706
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 706
    functionName: find_sample_conv
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    - strncmp
    linkageType: ''
    returnType: struct sample_conv
    signature: '*find_sample_conv(const char *kw, int len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/haproxy/src/sample.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 717
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 717
    functionName: c_ip2int
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: int
    signature: c_ip2int(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:721,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/sample.c:723,1
    - Dst: strlen
      Src: /src/haproxy/src/sample.c:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 732
      start: 719
    functionDepth: 2
    functionLinenumber: 719
    functionLinenumberEnd: 732
    functionName: c_ip2str
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - strlen
    - inet_ntop
    linkageType: ''
    returnType: int
    signature: c_ip2str(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: v4tov6
      Src: /src/haproxy/src/sample.c:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 739
      start: 734
    functionDepth: 2
    functionLinenumber: 734
    functionLinenumberEnd: 739
    functionName: c_ip2ipv6
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - v4tov6
    linkageType: ''
    returnType: int
    signature: c_ip2ipv6(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: v6tov4
      Src: /src/haproxy/src/sample.c:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 747
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 747
    functionName: c_ipv62ip
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - v6tov4
    linkageType: ''
    returnType: int
    signature: c_ipv62ip(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:751,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/sample.c:753,1
    - Dst: strlen
      Src: /src/haproxy/src/sample.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 761
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 761
    functionName: c_ipv62str
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - strlen
    - inet_ntop
    linkageType: ''
    returnType: int
    signature: c_ipv62str(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/haproxy/src/sample.c:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 775
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 775
    functionName: c_int2ip
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - htonl
    linkageType: ''
    returnType: int
    signature: c_int2ip(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/haproxy/src/sample.c:779,1
    - Dst: v4tov6
      Src: /src/haproxy/src/sample.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 783
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 783
    functionName: c_int2ipv6
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - htonl
    - v4tov6
    linkageType: ''
    returnType: int
    signature: c_int2ipv6(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buf2ip
      Src: /src/haproxy/src/sample.c:787,1
    - Dst: buf2ip6
      Src: /src/haproxy/src/sample.c:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 797
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 797
    functionName: c_str2addr
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - buf2ip6
    - buf2ip
    linkageType: ''
    returnType: int
    signature: c_str2addr(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buf2ip
      Src: /src/haproxy/src/sample.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 806
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 806
    functionName: c_str2ip
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - buf2ip
    linkageType: ''
    returnType: int
    signature: c_str2ip(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buf2ip6
      Src: /src/haproxy/src/sample.c:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 815
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 815
    functionName: c_str2ipv6
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - buf2ip6
    linkageType: ''
    returnType: int
    signature: c_str2ipv6(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 833
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 833
    functionName: c_bin2str
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: c_bin2str(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:837,1
    - Dst: lltoa_r
      Src: /src/haproxy/src/sample.c:840,1
    - Dst: strlen
      Src: /src/haproxy/src/sample.c:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 851
      start: 835
    functionDepth: 2
    functionLinenumber: 835
    functionLinenumberEnd: 851
    functionName: c_int2str
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - strlen
    - lltoa_r
    linkageType: ''
    returnType: int
    signature: c_int2str(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:878,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:884,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:892,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:897,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 909
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 909
    functionName: smp_dup
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 4
    functionsReached:
    - get_trash_chunk
    - memcpy
    linkageType: ''
    returnType: int
    signature: smp_dup(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 914
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 914
    functionName: c_none
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: c_none(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/sample.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 930
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 930
    functionName: c_pseudo
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - ABORT_NOW
    linkageType: ''
    returnType: int
    signature: c_pseudo(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_int64
      Src: /src/haproxy/src/sample.c:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 947
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 947
    functionName: c_str2int
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - read_int64
    linkageType: ''
    returnType: int
    signature: c_str2int(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_http_meth
      Src: /src/haproxy/src/sample.c:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 965
      start: 949
    functionDepth: 2
    functionLinenumber: 949
    functionLinenumberEnd: 965
    functionName: c_str2meth
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - find_http_meth
    linkageType: ''
    returnType: int
    signature: c_str2meth(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 992
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 992
    functionName: c_meth2str
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: c_meth2str(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:996,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:1000,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:1004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 1012
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 1012
    functionName: c_addr2bin
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - memcpy
    linkageType: ''
    returnType: int
    signature: c_addr2bin(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:1016,1
    - Dst: my_htonll
      Src: /src/haproxy/src/sample.c:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 1024
      start: 1014
    functionDepth: 2
    functionLinenumber: 1014
    functionLinenumberEnd: 1024
    functionName: c_int2bin
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - my_htonll
    linkageType: ''
    returnType: int
    signature: c_int2bin(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:1028,1
    - Dst: my_htonll
      Src: /src/haproxy/src/sample.c:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1026
    functionDepth: 2
    functionLinenumber: 1026
    functionLinenumberEnd: 1035
    functionName: c_bool2bin
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - my_htonll
    linkageType: ''
    returnType: int
    signature: c_bool2bin(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1104,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1106,1
    - Dst: is_idchar
      Src: /src/haproxy/src/sample.c:1128,1
    - Dst: ha_free
      Src: /src/haproxy/src/sample.c:1131,1
    - Dst: my_strndup
      Src: /src/haproxy/src/sample.c:1132,1
    - Dst: find_sample_conv
      Src: /src/haproxy/src/sample.c:1134,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1141,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1146,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1152,1
    - Dst: calloc
      Src: /src/haproxy/src/sample.c:1165,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/sample.c:1169,1
    - Dst: make_arg_list
      Src: /src/haproxy/src/sample.c:1176,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1178,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1183,1
    - Dst: struct sample_conv*::val_args
      Src: /src/haproxy/src/sample.c:1190,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1191,1
    - Dst: free
      Src: /src/haproxy/src/sample.c:1201,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 92
    argCount: 9
    argNames:
    - str
    - idx
    - endptr
    - err_msg
    - al
    - file
    - line
    - expr
    - start
    argTypes:
    - char**
    - int*
    - char**
    - char**
    - struct arg_list*
    - char*
    - int
    - struct sample_expr*
    - char*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1082
    functionDepth: 5
    functionLinenumber: 1082
    functionLinenumberEnd: 1207
    functionName: sample_parse_expr_cnv
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 1
    functionsReached:
    - memprintf
    - is_idchar
    - make_arg_list
    - ha_free
    - calloc
    - LIST_APPEND
    - free
    - struct sample_conv*::val_args
    - find_sample_conv
    - my_strndup
    linkageType: ''
    returnType: int
    signature: "sample_parse_expr_cnv(char **str, int *idx, char **endptr, char **err_msg,
      struct arg_list *al, const char *file, int line,\n                          struct
      sample_expr *expr, const char *start)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_idchar
      Src: /src/haproxy/src/sample.c:1233,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1237,1
    - Dst: my_strndup
      Src: /src/haproxy/src/sample.c:1242,1
    - Dst: find_sample_fetch
      Src: /src/haproxy/src/sample.c:1244,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1246,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1256,1
    - Dst: calloc
      Src: /src/haproxy/src/sample.c:1260,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/sample.c:1264,1
    - Dst: make_arg_list
      Src: /src/haproxy/src/sample.c:1276,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1277,1
    - Dst: struct sample_fetch*::val_args
      Src: /src/haproxy/src/sample.c:1289,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1290,1
    - Dst: sample_parse_expr_cnv
      Src: /src/haproxy/src/sample.c:1294,1
    - Dst: free
      Src: /src/haproxy/src/sample.c:1298,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/sample.c:1302,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 7
    argNames:
    - str
    - idx
    - file
    - line
    - err_msg
    - al
    - endptr
    argTypes:
    - char**
    - int*
    - char*
    - int
    - char**
    - struct arg_list*
    - char**
    constantsTouched: []
    func_position:
      end: 1305
      start: 1222
    functionDepth: 6
    functionLinenumber: 1222
    functionLinenumberEnd: 1305
    functionName: sample_parse_expr
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 15
    functionsReached:
    - memprintf
    - is_idchar
    - make_arg_list
    - sample_parse_expr_cnv
    - calloc
    - struct sample_fetch*::val_args
    - find_sample_fetch
    - free
    - LIST_INIT
    - release_sample_expr
    - my_strndup
    linkageType: ''
    returnType: struct sample_expr
    signature: '*sample_parse_expr(char **str, int *idx, const char *file, int line,
      char **err_msg, struct arg_list *al, char **endptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/sample.c:1318,1
    - Dst: struct sample_conv_expr*::conv::process
      Src: /src/haproxy/src/sample.c:1336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - expr
    - p
    argTypes:
    - struct sample_expr*
    - struct sample*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1340
    functionName: sample_process_cnv
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    - struct sample_conv_expr*::conv::process
    linkageType: ''
    returnType: int
    signature: sample_process_cnv(struct sample_expr *expr, struct sample *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/sample.c:1372,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:1375,1
    - Dst: struct sample_expr*::fetch::process
      Src: /src/haproxy/src/sample.c:1376,1
    - Dst: sample_process_cnv
      Src: /src/haproxy/src/sample.c:1379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - px
    - sess
    - strm
    - opt
    - expr
    - p
    argTypes:
    - struct proxy*
    - struct session*
    - struct stream*
    - unsigned int
    - struct sample_expr*
    - struct sample*
    constantsTouched: []
    func_position:
      end: 1382
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1382
    functionName: sample_process
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 4
    functionsReached:
    - memset
    - smp_set_owner
    - sample_process_cnv
    - struct sample_expr*::fetch::process
    linkageType: ''
    returnType: struct sample
    signature: "*sample_process(struct proxy *px, struct session *sess,\n                              struct
      stream *strm, unsigned int opt,\n                              struct sample_expr
      *expr, struct sample *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/sample.c:1400,1
    - Dst: struct arg*::resolve_ptr
      Src: /src/haproxy/src/sample.c:1454,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1455,1
    - Dst: ha_free
      Src: /src/haproxy/src/sample.c:1459,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1467,1
    - Dst: strrchr
      Src: /src/haproxy/src/sample.c:1475,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/sample.c:1481,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1483,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1492,1
    - Dst: findserver
      Src: /src/haproxy/src/sample.c:1501,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1503,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:1512,1
    - Dst: proxy_fe_by_name
      Src: /src/haproxy/src/sample.c:1520,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1524,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1532,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:1539,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/sample.c:1547,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1551,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1559,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:1566,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1576,1
    - Dst: stktable_find_by_name
      Src: /src/haproxy/src/sample.c:1585,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1587,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1595,1
    - Dst: in_proxies_list
      Src: /src/haproxy/src/sample.c:1602,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:1607,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1614,1
    - Dst: strcmp
      Src: /src/haproxy/src/sample.c:1622,1
    - Dst: auth_find_userlist
      Src: /src/haproxy/src/sample.c:1625,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1628,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:1636,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1643,1
    - Dst: regex_comp
      Src: /src/haproxy/src/sample.c:1654,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1655,1
    - Dst: ha_free
      Src: /src/haproxy/src/sample.c:1659,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:1664,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/sample.c:1672,1
    - Dst: free
      Src: /src/haproxy/src/sample.c:1673,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 241
    argCount: 2
    argNames:
    - p
    - err
    argTypes:
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 1677
      start: 1389
    functionDepth: 5
    functionLinenumber: 1389
    functionLinenumberEnd: 1677
    functionName: smp_resolve_args
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 3
    functionsReached:
    - memprintf
    - proxy_be_by_name
    - strrchr
    - chunk_destroy
    - in_proxies_list
    - ha_free
    - list_for_each_entry_safe
    - findserver
    - strcmp
    - LIST_DELETE
    - stktable_find_by_name
    - free
    - struct arg*::resolve_ptr
    - regex_comp
    - auth_find_userlist
    - proxy_fe_by_name
    linkageType: ''
    returnType: int
    signature: smp_resolve_args(struct proxy *p, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/sample.c:1706,1
    - Dst: sample_process
      Src: /src/haproxy/src/sample.c:1708,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 6
    argNames:
    - px
    - sess
    - strm
    - opt
    - expr
    - smp_type
    argTypes:
    - struct proxy*
    - struct session*
    - struct stream*
    - unsigned int
    - struct sample_expr*
    - int
    constantsTouched: []
    func_position:
      end: 1725
      start: 1700
    functionDepth: 2
    functionLinenumber: 1700
    functionLinenumberEnd: 1725
    functionName: sample_fetch_as_type
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 9
    functionsReached:
    - memset
    - sample_process
    linkageType: ''
    returnType: struct sample
    signature: "*sample_fetch_as_type(struct proxy *px, struct session *sess,\n                                   struct
      stream *strm, unsigned int opt,\n                                   struct sample_expr
      *expr, int smp_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:1736,1
    - Dst: regex_free
      Src: /src/haproxy/src/sample.c:1740,1
    - Dst: free
      Src: /src/haproxy/src/sample.c:1747,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct arg*
    constantsTouched: []
    func_position:
      end: 1748
      start: 1727
    functionDepth: 3
    functionLinenumber: 1727
    functionLinenumberEnd: 1748
    functionName: release_sample_arg
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - regex_free
    - chunk_destroy
    - free
    linkageType: ''
    returnType: void
    signature: release_sample_arg(struct arg *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/sample.c:1757,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/sample.c:1758,1
    - Dst: release_sample_arg
      Src: /src/haproxy/src/sample.c:1759,1
    - Dst: free
      Src: /src/haproxy/src/sample.c:1760,1
    - Dst: release_sample_arg
      Src: /src/haproxy/src/sample.c:1763,1
    - Dst: free
      Src: /src/haproxy/src/sample.c:1764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - expr
    argTypes:
    - struct sample_expr*
    constantsTouched: []
    func_position:
      end: 1765
      start: 1750
    functionDepth: 4
    functionLinenumber: 1750
    functionLinenumberEnd: 1765
    functionName: release_sample_expr
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 20
    functionsReached:
    - free
    - LIST_DELETE
    - list_for_each_entry_safe
    - release_sample_arg
    linkageType: ''
    returnType: void
    signature: release_sample_expr(struct sample_expr *expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/sample.c:1781,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/sample.c:1786,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/sample.c:1789,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/sample.c:1791,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:1798,1
    - Dst: b_putchr
      Src: /src/haproxy/src/sample.c:1805,1
    - Dst: isprint
      Src: /src/haproxy/src/sample.c:1807,1
    - Dst: b_putchr
      Src: /src/haproxy/src/sample.c:1808,1
    - Dst: b_putchr
      Src: /src/haproxy/src/sample.c:1810,1
    - Dst: b_putchr
      Src: /src/haproxy/src/sample.c:1812,1
    - Dst: ist2
      Src: /src/haproxy/src/sample.c:1815,1
    - Dst: sink_write
      Src: /src/haproxy/src/sample.c:1816,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/sample.c:1818,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/sample.c:1821,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1823
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1823
    functionName: sample_conv_debug
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - BUG_ON
    - b_putchr
    - sink_write
    - isprint
    - ist2
    - chunk_printf
    - chunk_appendf
    - free_trash_chunk
    - memcpy
    linkageType: ''
    returnType: int
    signature: sample_conv_debug(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sink_find_early
      Src: /src/haproxy/src/sample.c:1841,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1843,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:1847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1851
      start: 1826
    functionDepth: 5
    functionLinenumber: 1826
    functionLinenumberEnd: 1851
    functionName: smp_check_debug
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_destroy
    - sink_find_early
    linkageType: ''
    returnType: int
    signature: "smp_check_debug(struct arg *args, struct sample_conv *conv,\n                           const
      char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:1855,1
    - Dst: base64dec
      Src: /src/haproxy/src/sample.c:1859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1869
      start: 1853
    functionDepth: 2
    functionLinenumber: 1853
    functionLinenumberEnd: 1869
    functionName: sample_conv_base642bin
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - base64dec
    linkageType: ''
    returnType: int
    signature: sample_conv_base642bin(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:1873,1
    - Dst: base64urldec
      Src: /src/haproxy/src/sample.c:1877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1887
      start: 1871
    functionDepth: 2
    functionLinenumber: 1871
    functionLinenumberEnd: 1887
    functionName: sample_conv_base64url2bin
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - base64urldec
    linkageType: ''
    returnType: int
    signature: sample_conv_base64url2bin(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:1891,1
    - Dst: a2base64
      Src: /src/haproxy/src/sample.c:1895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1905
      start: 1889
    functionDepth: 2
    functionLinenumber: 1889
    functionLinenumberEnd: 1905
    functionName: sample_conv_bin2base64
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - a2base64
    linkageType: ''
    returnType: int
    signature: sample_conv_bin2base64(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:1909,1
    - Dst: a2base64url
      Src: /src/haproxy/src/sample.c:1913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1923
      start: 1907
    functionDepth: 2
    functionLinenumber: 1907
    functionLinenumberEnd: 1923
    functionName: sample_conv_bin2base64url
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - a2base64url
    linkageType: ''
    returnType: int
    signature: sample_conv_bin2base64url(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_get_by_desc
      Src: /src/haproxy/src/sample.c:1934,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - var
    - smp
    - type
    argTypes:
    - struct var_desc*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 1941
      start: 1932
    functionDepth: 3
    functionLinenumber: 1932
    functionLinenumberEnd: 1941
    functionName: sample_conv_var2smp
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - vars_get_by_desc
    linkageType: ''
    returnType: int
    signature: sample_conv_var2smp(const struct var_desc *var, struct sample *smp,
      int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:1946,1
    - Dst: memset
      Src: /src/haproxy/src/sample.c:1948,1
    - Dst: blk_SHA1_Init
      Src: /src/haproxy/src/sample.c:1950,1
    - Dst: blk_SHA1_Update
      Src: /src/haproxy/src/sample.c:1951,1
    - Dst: blk_SHA1_Final
      Src: /src/haproxy/src/sample.c:1952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1959
      start: 1943
    functionDepth: 2
    functionLinenumber: 1943
    functionLinenumberEnd: 1959
    functionName: sample_conv_sha1
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - blk_SHA1_Final
    - get_trash_chunk
    - blk_SHA1_Update
    - blk_SHA1_Init
    - memset
    linkageType: ''
    returnType: int
    signature: sample_conv_sha1(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_conv_var2smp
      Src: /src/haproxy/src/sample.c:1980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - arg
    - smp
    argTypes:
    - struct arg*
    - struct sample*
    constantsTouched: []
    func_position:
      end: 1984
      start: 1971
    functionDepth: 4
    functionLinenumber: 1971
    functionLinenumberEnd: 1984
    functionName: sample_conv_var2smp_str
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_var2smp
    linkageType: ''
    returnType: int
    signature: sample_conv_var2smp_str(const struct arg *arg, struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1990,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:1995,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2000
      start: 1986
    functionDepth: 5
    functionLinenumber: 1986
    functionLinenumberEnd: 2000
    functionName: sample_conv_be2dec_check
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: "sample_conv_be2dec_check(struct arg *args, struct sample_conv *conv,\n
      \                                   const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:2010,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:2025,1
    - Dst: ulltoa
      Src: /src/haproxy/src/sample.c:2035,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2048
      start: 2008
    functionDepth: 2
    functionLinenumber: 2008
    functionLinenumberEnd: 2048
    functionName: sample_conv_be2dec
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - memcpy
    - ulltoa
    linkageType: ''
    returnType: int
    signature: sample_conv_be2dec(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:2054,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:2059,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2064
      start: 2050
    functionDepth: 5
    functionLinenumber: 2050
    functionLinenumberEnd: 2064
    functionName: sample_conv_be2hex_check
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: "sample_conv_be2hex_check(struct arg *args, struct sample_conv *conv,\n
      \                                   const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:2074,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:2090,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2108
      start: 2072
    functionDepth: 2
    functionLinenumber: 2072
    functionLinenumberEnd: 2108
    functionName: sample_conv_be2hex
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - memcpy
    linkageType: ''
    returnType: int
    signature: sample_conv_be2hex(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:2112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2126
      start: 2110
    functionDepth: 2
    functionLinenumber: 2110
    functionLinenumberEnd: 2126
    functionName: sample_conv_bin2hex
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    linkageType: ''
    returnType: int
    signature: sample_conv_bin2hex(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hex2i
      Src: /src/haproxy/src/sample.c:2134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2143
      start: 2128
    functionDepth: 1
    functionLinenumber: 2128
    functionLinenumberEnd: 2143
    functionName: sample_conv_hex2int
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - hex2i
    linkageType: ''
    returnType: int
    signature: sample_conv_hex2int(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_djb2
      Src: /src/haproxy/src/sample.c:2148,1
    - Dst: full_hash
      Src: /src/haproxy/src/sample.c:2151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2154
      start: 2146
    functionDepth: 2
    functionLinenumber: 2146
    functionLinenumberEnd: 2154
    functionName: sample_conv_djb2
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - full_hash
    - hash_djb2
    linkageType: ''
    returnType: int
    signature: sample_conv_djb2(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2162
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2162
    functionName: sample_conv_length
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: sample_conv_length(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_make_rw
      Src: /src/haproxy/src/sample.c:2169,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2177
      start: 2165
    functionDepth: 1
    functionLinenumber: 2165
    functionLinenumberEnd: 2177
    functionName: sample_conv_str2lower
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - smp_make_rw
    linkageType: ''
    returnType: int
    signature: sample_conv_str2lower(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_make_rw
      Src: /src/haproxy/src/sample.c:2183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2191
      start: 2179
    functionDepth: 1
    functionLinenumber: 2179
    functionLinenumberEnd: 2191
    functionName: sample_conv_str2upper
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - smp_make_rw
    linkageType: ''
    returnType: int
    signature: sample_conv_str2upper(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_ipv62ip
      Src: /src/haproxy/src/sample.c:2197,1
    - Dst: write_u64
      Src: /src/haproxy/src/sample.c:2208,1
    - Dst: read_u64
      Src: /src/haproxy/src/sample.c:2209,1
    - Dst: read_u64
      Src: /src/haproxy/src/sample.c:2209,1
    - Dst: write_u64
      Src: /src/haproxy/src/sample.c:2210,1
    - Dst: read_u64
      Src: /src/haproxy/src/sample.c:2211,1
    - Dst: read_u64
      Src: /src/haproxy/src/sample.c:2211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2216
      start: 2194
    functionDepth: 3
    functionLinenumber: 2194
    functionLinenumberEnd: 2216
    functionName: sample_conv_ipmask
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - read_u64
    - write_u64
    - c_ipv62ip
    linkageType: ''
    returnType: int
    signature: sample_conv_ipmask(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/sample.c:2245,1
    - Dst: isdigit
      Src: /src/haproxy/src/sample.c:2259,1
    - Dst: isdigit
      Src: /src/haproxy/src/sample.c:2262,1
    - Dst: atoi
      Src: /src/haproxy/src/sample.c:2289,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 3
    argNames:
    - format
    - skip
    - width
    argTypes:
    - char*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 2293
      start: 2230
    functionDepth: 0
    functionLinenumber: 2230
    functionLinenumberEnd: 2293
    functionName: lookup_convspec_N
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - isdigit
    - atoi
    - strchr
    linkageType: ''
    returnType: char
    signature: '*lookup_convspec_N(const char *format, int *skip, int *width)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_localtime
      Src: /src/haproxy/src/sample.c:2319,1
    - Dst: get_gmtime
      Src: /src/haproxy/src/sample.c:2321,1
    - Dst: lookup_convspec_N
      Src: /src/haproxy/src/sample.c:2334,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/sample.c:2342,1
    - Dst: snprintf
      Src: /src/haproxy/src/sample.c:2347,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/sample.c:2349,1
    - Dst: ist2
      Src: /src/haproxy/src/sample.c:2349,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/sample.c:2351,1
    - Dst: ist2
      Src: /src/haproxy/src/sample.c:2351,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/sample.c:2359,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:2361,1
    - Dst: strftime
      Src: /src/haproxy/src/sample.c:2362,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:2364,1
    - Dst: strftime
      Src: /src/haproxy/src/sample.c:2365,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/sample.c:2369,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - format
    - curr_date
    - ns
    - local
    argTypes:
    - char*
    - time_t
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 2371
      start: 2309
    functionDepth: 2
    functionLinenumber: 2309
    functionLinenumberEnd: 2371
    functionName: conv_time_common
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - chunk_istcat
    - alloc_trash_chunk
    - get_gmtime
    - ist2
    - snprintf
    - chunk_strcat
    - get_localtime
    - get_trash_chunk
    - free_trash_chunk
    - lookup_convspec_N
    - strftime
    linkageType: ''
    returnType: struct buffer
    signature: '*conv_time_common(const char *format, time_t curr_date, uint64_t ns,
      int local)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conv_time_common
      Src: /src/haproxy/src/sample.c:2388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2392
      start: 2378
    functionDepth: 3
    functionLinenumber: 2378
    functionLinenumberEnd: 2392
    functionName: sample_conv_us_ltime
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - conv_time_common
    linkageType: ''
    returnType: int
    signature: sample_conv_us_ltime(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conv_time_common
      Src: /src/haproxy/src/sample.c:2407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2411
      start: 2397
    functionDepth: 3
    functionLinenumber: 2397
    functionLinenumberEnd: 2411
    functionName: sample_conv_ms_ltime
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - conv_time_common
    linkageType: ''
    returnType: int
    signature: sample_conv_ms_ltime(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_localtime
      Src: /src/haproxy/src/sample.c:2429,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:2431,1
    - Dst: strftime
      Src: /src/haproxy/src/sample.c:2432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2436
      start: 2418
    functionDepth: 2
    functionLinenumber: 2418
    functionLinenumberEnd: 2436
    functionName: sample_conv_ltime
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - strftime
    - get_localtime
    linkageType: ''
    returnType: int
    signature: sample_conv_ltime(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_sdbm
      Src: /src/haproxy/src/sample.c:2441,1
    - Dst: full_hash
      Src: /src/haproxy/src/sample.c:2444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2447
      start: 2439
    functionDepth: 2
    functionLinenumber: 2439
    functionLinenumberEnd: 2447
    functionName: sample_conv_sdbm
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - full_hash
    - hash_sdbm
    linkageType: ''
    returnType: int
    signature: sample_conv_sdbm(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conv_time_common
      Src: /src/haproxy/src/sample.c:2462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2466
      start: 2452
    functionDepth: 3
    functionLinenumber: 2452
    functionLinenumberEnd: 2466
    functionName: sample_conv_us_utime
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - conv_time_common
    linkageType: ''
    returnType: int
    signature: sample_conv_us_utime(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conv_time_common
      Src: /src/haproxy/src/sample.c:2481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2485
      start: 2471
    functionDepth: 3
    functionLinenumber: 2471
    functionLinenumberEnd: 2485
    functionName: sample_conv_ms_utime
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - conv_time_common
    linkageType: ''
    returnType: int
    signature: sample_conv_ms_utime(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_gmtime
      Src: /src/haproxy/src/sample.c:2502,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:2504,1
    - Dst: strftime
      Src: /src/haproxy/src/sample.c:2505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2509
      start: 2491
    functionDepth: 2
    functionLinenumber: 2491
    functionLinenumberEnd: 2509
    functionName: sample_conv_utime
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - get_gmtime
    - strftime
    linkageType: ''
    returnType: int
    signature: sample_conv_utime(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_wt6
      Src: /src/haproxy/src/sample.c:2514,1
    - Dst: full_hash
      Src: /src/haproxy/src/sample.c:2517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2520
      start: 2512
    functionDepth: 2
    functionLinenumber: 2512
    functionLinenumberEnd: 2520
    functionName: sample_conv_wt6
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - full_hash
    - hash_wt6
    linkageType: ''
    returnType: int
    signature: sample_conv_wt6(const struct arg *arg_p, struct sample *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH32
      Src: /src/haproxy/src/sample.c:2533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2537
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2537
    functionName: sample_conv_xxh32
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - XXH32
    linkageType: ''
    returnType: int
    signature: sample_conv_xxh32(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64
      Src: /src/haproxy/src/sample.c:2553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2557
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2557
    functionName: sample_conv_xxh64
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - XXH64
    linkageType: ''
    returnType: int
    signature: sample_conv_xxh64(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3
      Src: /src/haproxy/src/sample.c:2567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2571
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2571
    functionName: sample_conv_xxh3
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - XXH3
    linkageType: ''
    returnType: int
    signature: sample_conv_xxh3(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_crc32
      Src: /src/haproxy/src/sample.c:2576,1
    - Dst: full_hash
      Src: /src/haproxy/src/sample.c:2579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2582
      start: 2574
    functionDepth: 2
    functionLinenumber: 2574
    functionLinenumberEnd: 2582
    functionName: sample_conv_crc32
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - full_hash
    - hash_crc32
    linkageType: ''
    returnType: int
    signature: sample_conv_crc32(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hash_crc32c
      Src: /src/haproxy/src/sample.c:2587,1
    - Dst: full_hash
      Src: /src/haproxy/src/sample.c:2590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2593
      start: 2585
    functionDepth: 2
    functionLinenumber: 2585
    functionLinenumberEnd: 2593
    functionName: sample_conv_crc32c
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - full_hash
    - hash_crc32c
    linkageType: ''
    returnType: int
    signature: sample_conv_crc32c(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/sample.c:2618,1
    - Dst: strcmp
      Src: /src/haproxy/src/sample.c:2620,1
    - Dst: strcmp
      Src: /src/haproxy/src/sample.c:2622,1
    - Dst: strcmp
      Src: /src/haproxy/src/sample.c:2624,1
    - Dst: strcmp
      Src: /src/haproxy/src/sample.c:2626,1
    - Dst: strcmp
      Src: /src/haproxy/src/sample.c:2628,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:2631,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:2636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - arg
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2640
      start: 2613
    functionDepth: 5
    functionLinenumber: 2613
    functionLinenumberEnd: 2640
    functionName: sample_conv_json_check
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - chunk_destroy
    linkageType: ''
    returnType: int
    signature: "sample_conv_json_check(struct arg *arg, struct sample_conv *conv,\n
      \                                 const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:2655,1
    - Dst: utf8_next
      Src: /src/haproxy/src/sample.c:2668,1
    - Dst: utf8_return_length
      Src: /src/haproxy/src/sample.c:2671,1
    - Dst: utf8_return_code
      Src: /src/haproxy/src/sample.c:2673,1
    - Dst: utf8_return_code
      Src: /src/haproxy/src/sample.c:2675,1
    - Dst: utf8_return_code
      Src: /src/haproxy/src/sample.c:2677,1
    - Dst: utf8_return_code
      Src: /src/haproxy/src/sample.c:2679,1
    - Dst: isprint
      Src: /src/haproxy/src/sample.c:2723,1
    - Dst: snprintf
      Src: /src/haproxy/src/sample.c:2730,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:2744,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 78
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2753
      start: 2642
    functionDepth: 2
    functionLinenumber: 2642
    functionLinenumberEnd: 2753
    functionName: sample_conv_json
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - isprint
    - snprintf
    - utf8_return_code
    - get_trash_chunk
    - utf8_next
    - utf8_return_length
    - memcpy
    linkageType: ''
    returnType: int
    signature: sample_conv_json(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:2764,1
    - Dst: sample_conv_var2smp_sint
      Src: /src/haproxy/src/sample.c:2765,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:2784,1
    - Dst: sample_conv_var2smp_sint
      Src: /src/haproxy/src/sample.c:2785,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2814
      start: 2758
    functionDepth: 1
    functionLinenumber: 2758
    functionLinenumberEnd: 2814
    functionName: sample_conv_bytes
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_var2smp_sint
    - smp_set_owner
    linkageType: ''
    returnType: int
    signature: sample_conv_bytes(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:2822,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:2827,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:2834,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:2839,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2844
      start: 2816
    functionDepth: 5
    functionLinenumber: 2816
    functionLinenumberEnd: 2844
    functionName: sample_conv_field_check
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: "sample_conv_field_check(struct arg *args, struct sample_conv *conv,\n
      \                                 const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2922
      start: 2850
    functionDepth: 0
    functionLinenumber: 2850
    functionLinenumberEnd: 2922
    functionName: sample_conv_field
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: sample_conv_field(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3023
      start: 2928
    functionDepth: 0
    functionLinenumber: 2928
    functionLinenumberEnd: 3023
    functionName: sample_conv_word
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: sample_conv_word(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:3029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - arg
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3034
      start: 3025
    functionDepth: 5
    functionLinenumber: 3025
    functionLinenumberEnd: 3034
    functionName: sample_conv_param_check
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: "sample_conv_param_check(struct arg *arg, struct sample_conv *conv,\n
      \                                  const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/haproxy/src/sample.c:3055,1
    - Dst: memcmp
      Src: /src/haproxy/src/sample.c:3064,1
    - Dst: memchr
      Src: /src/haproxy/src/sample.c:3066,1
    - Dst: memchr
      Src: /src/haproxy/src/sample.c:3077,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3086
      start: 3036
    functionDepth: 0
    functionLinenumber: 3036
    functionLinenumberEnd: 3086
    functionName: sample_conv_param
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memchr
    - memcmp
    linkageType: ''
    returnType: int
    signature: sample_conv_param(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:3111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3118
      start: 3088
    functionDepth: 5
    functionLinenumber: 3088
    functionLinenumberEnd: 3118
    functionName: sample_conv_regsub_check
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: "sample_conv_regsub_check(struct arg *args, struct sample_conv *conv,\n
      \                                   const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:3130,1
    - Dst: regex_exec_match2
      Src: /src/haproxy/src/sample.c:3146,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:3157,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/sample.c:3164,1
    - Dst: exp_replace
      Src: /src/haproxy/src/sample.c:3168,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:3175,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/sample.c:3180,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3202
      start: 3125
    functionDepth: 2
    functionLinenumber: 3125
    functionLinenumberEnd: 3202
    functionName: sample_conv_regsub
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - regex_exec_match2
    - get_trash_chunk
    - free_trash_chunk
    - memcpy
    - exp_replace
    linkageType: ''
    returnType: int
    signature: sample_conv_regsub(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_check_arg
      Src: /src/haproxy/src/sample.c:3218,1
    - Dst: strlen
      Src: /src/haproxy/src/sample.c:3223,1
    - Dst: read_int64
      Src: /src/haproxy/src/sample.c:3224,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:3226,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:3230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3234
      start: 3207
    functionDepth: 5
    functionLinenumber: 3207
    functionLinenumberEnd: 3234
    functionName: check_operator
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_destroy
    - strlen
    - vars_check_arg
    - read_int64
    linkageType: ''
    returnType: int
    signature: "check_operator(struct arg *args, struct sample_conv *conv,\n                          const
      char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_conv_var2smp
      Src: /src/haproxy/src/sample.c:3251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - arg
    - smp
    argTypes:
    - struct arg*
    - struct sample*
    constantsTouched: []
    func_position:
      end: 3255
      start: 3243
    functionDepth: 4
    functionLinenumber: 3243
    functionLinenumberEnd: 3255
    functionName: sample_conv_var2smp_sint
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 1
    functionsReached:
    - sample_conv_var2smp
    linkageType: ''
    returnType: int
    signature: sample_conv_var2smp_sint(const struct arg *arg, struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3264
      start: 3260
    functionDepth: 0
    functionLinenumber: 3260
    functionLinenumberEnd: 3264
    functionName: sample_conv_binary_cpl
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: sample_conv_binary_cpl(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:3273,1
    - Dst: sample_conv_var2smp_sint
      Src: /src/haproxy/src/sample.c:3274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3278
      start: 3269
    functionDepth: 5
    functionLinenumber: 3269
    functionLinenumberEnd: 3278
    functionName: sample_conv_binary_and
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_var2smp_sint
    - smp_set_owner
    linkageType: ''
    returnType: int
    signature: sample_conv_binary_and(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:3287,1
    - Dst: sample_conv_var2smp_sint
      Src: /src/haproxy/src/sample.c:3288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3292
      start: 3283
    functionDepth: 5
    functionLinenumber: 3283
    functionLinenumberEnd: 3292
    functionName: sample_conv_binary_or
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_var2smp_sint
    - smp_set_owner
    linkageType: ''
    returnType: int
    signature: sample_conv_binary_or(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:3301,1
    - Dst: sample_conv_var2smp_sint
      Src: /src/haproxy/src/sample.c:3302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3306
      start: 3297
    functionDepth: 5
    functionLinenumber: 3297
    functionLinenumberEnd: 3306
    functionName: sample_conv_binary_xor
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_var2smp_sint
    - smp_set_owner
    linkageType: ''
    returnType: int
    signature: sample_conv_binary_xor(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - long long int
    - long long int
    constantsTouched: []
    func_position:
      end: 3332
      start: 3308
    functionDepth: 0
    functionLinenumber: 3308
    functionLinenumberEnd: 3332
    functionName: arith_add
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long long int
    signature: arith_add(long long int a, long long int b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:3341,1
    - Dst: sample_conv_var2smp_sint
      Src: /src/haproxy/src/sample.c:3342,1
    - Dst: arith_add
      Src: /src/haproxy/src/sample.c:3344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3346
      start: 3337
    functionDepth: 5
    functionLinenumber: 3337
    functionLinenumberEnd: 3346
    functionName: sample_conv_arith_add
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_var2smp_sint
    - smp_set_owner
    - arith_add
    linkageType: ''
    returnType: int
    signature: sample_conv_arith_add(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:3356,1
    - Dst: sample_conv_var2smp_sint
      Src: /src/haproxy/src/sample.c:3357,1
    - Dst: arith_add
      Src: /src/haproxy/src/sample.c:3365,1
    - Dst: arith_add
      Src: /src/haproxy/src/sample.c:3374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3376
      start: 3351
    functionDepth: 5
    functionLinenumber: 3351
    functionLinenumberEnd: 3376
    functionName: sample_conv_arith_sub
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_var2smp_sint
    - smp_set_owner
    - arith_add
    linkageType: ''
    returnType: int
    signature: "sample_conv_arith_sub(const struct arg *arg_p,\n                                 struct
      sample *smp, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:3389,1
    - Dst: sample_conv_var2smp_sint
      Src: /src/haproxy/src/sample.c:3390,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3421
      start: 3383
    functionDepth: 5
    functionLinenumber: 3383
    functionLinenumberEnd: 3421
    functionName: sample_conv_arith_mul
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_var2smp_sint
    - smp_set_owner
    linkageType: ''
    returnType: int
    signature: "sample_conv_arith_mul(const struct arg *arg_p,\n                                 struct
      sample *smp, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:3433,1
    - Dst: sample_conv_var2smp_sint
      Src: /src/haproxy/src/sample.c:3434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3450
      start: 3428
    functionDepth: 5
    functionLinenumber: 3428
    functionLinenumberEnd: 3450
    functionName: sample_conv_arith_div
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_var2smp_sint
    - smp_set_owner
    linkageType: ''
    returnType: int
    signature: "sample_conv_arith_div(const struct arg *arg_p,\n                                 struct
      sample *smp, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:3461,1
    - Dst: sample_conv_var2smp_sint
      Src: /src/haproxy/src/sample.c:3462,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3478
      start: 3456
    functionDepth: 5
    functionLinenumber: 3456
    functionLinenumberEnd: 3478
    functionName: sample_conv_arith_mod
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_var2smp_sint
    - smp_set_owner
    linkageType: ''
    returnType: int
    signature: "sample_conv_arith_mod(const struct arg *arg_p,\n                                 struct
      sample *smp, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3491
      start: 3483
    functionDepth: 0
    functionLinenumber: 3483
    functionLinenumberEnd: 3491
    functionName: sample_conv_arith_neg
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "sample_conv_arith_neg(const struct arg *arg_p,\n                                 struct
      sample *smp, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3502
      start: 3496
    functionDepth: 0
    functionLinenumber: 3496
    functionLinenumberEnd: 3502
    functionName: sample_conv_arith_bool
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "sample_conv_arith_bool(const struct arg *arg_p,\n                                  struct
      sample *smp, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3513
      start: 3507
    functionDepth: 0
    functionLinenumber: 3507
    functionLinenumberEnd: 3513
    functionName: sample_conv_arith_not
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "sample_conv_arith_not(const struct arg *arg_p,\n                                 struct
      sample *smp, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3524
      start: 3518
    functionDepth: 0
    functionLinenumber: 3518
    functionLinenumberEnd: 3524
    functionName: sample_conv_arith_odd
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "sample_conv_arith_odd(const struct arg *arg_p,\n                                 struct
      sample *smp, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3535
      start: 3529
    functionDepth: 0
    functionLinenumber: 3529
    functionLinenumberEnd: 3535
    functionName: sample_conv_arith_even
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "sample_conv_arith_even(const struct arg *arg_p,\n                                  struct
      sample *smp, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/sample.c:3546,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:3554,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:3563,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:3571,1
    - Dst: vars_get_by_desc
      Src: /src/haproxy/src/sample.c:3572,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:3581,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:3594,1
    - Dst: smp_dup
      Src: /src/haproxy/src/sample.c:3601,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/sample.c:3602,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3604
      start: 3540
    functionDepth: 3
    functionLinenumber: 3540
    functionLinenumberEnd: 3604
    functionName: sample_conv_concat
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - smp_set_owner
    - smp_dup
    - free_trash_chunk
    - memcpy
    - vars_get_by_desc
    linkageType: ''
    returnType: int
    signature: sample_conv_concat(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_check_arg
      Src: /src/haproxy/src/sample.c:3613,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:3614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3619
      start: 3609
    functionDepth: 5
    functionLinenumber: 3609
    functionLinenumberEnd: 3619
    functionName: smp_check_concat
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - vars_check_arg
    linkageType: ''
    returnType: int
    signature: "smp_check_concat(struct arg *args, struct sample_conv *conv,\n                           const
      char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/sample.c:3631,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:3639,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:3644,1
    - Dst: vars_get_by_desc
      Src: /src/haproxy/src/sample.c:3645,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:3660,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:3673,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:3685,1
    - Dst: smp_dup
      Src: /src/haproxy/src/sample.c:3692,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/sample.c:3693,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3695
      start: 3624
    functionDepth: 3
    functionLinenumber: 3624
    functionLinenumberEnd: 3695
    functionName: sample_conv_add_item
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - smp_set_owner
    - smp_dup
    - free_trash_chunk
    - memcpy
    - vars_get_by_desc
    linkageType: ''
    returnType: int
    signature: sample_conv_add_item(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_check_arg
      Src: /src/haproxy/src/sample.c:3704,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:3705,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:3711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3716
      start: 3700
    functionDepth: 5
    functionLinenumber: 3700
    functionLinenumberEnd: 3716
    functionName: smp_check_add_item
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - vars_check_arg
    linkageType: ''
    returnType: int
    signature: "smp_check_add_item(struct arg *args, struct sample_conv *conv,\n                           const
      char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:3726,1
    - Dst: sample_conv_var2smp
      Src: /src/haproxy/src/sample.c:3730,1
    - Dst: MIN
      Src: /src/haproxy/src/sample.c:3733,1
    - Dst: strncmp
      Src: /src/haproxy/src/sample.c:3734,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3749
      start: 3721
    functionDepth: 4
    functionLinenumber: 3721
    functionLinenumberEnd: 3749
    functionName: sample_conv_strcmp
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_var2smp
    - smp_set_owner
    - MIN
    - strncmp
    linkageType: ''
    returnType: int
    signature: sample_conv_strcmp(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_conv_str2lower
      Src: /src/haproxy/src/sample.c:3773,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3774
      start: 3755
    functionDepth: 2
    functionLinenumber: 3755
    functionLinenumberEnd: 3774
    functionName: sample_conv_host_only
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_str2lower
    linkageType: ''
    returnType: int
    signature: sample_conv_host_only(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strl2ui
      Src: /src/haproxy/src/sample.c:3795,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3800
      start: 3781
    functionDepth: 2
    functionLinenumber: 3781
    functionLinenumberEnd: 3800
    functionName: sample_conv_port_only
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - strl2ui
    linkageType: ''
    returnType: int
    signature: sample_conv_port_only(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3821
      start: 3806
    functionDepth: 0
    functionLinenumber: 3806
    functionLinenumberEnd: 3821
    functionName: sample_conv_iif
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: sample_conv_iif(const struct arg *arg_p, struct sample *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/sample.c:3879,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/sample.c:3883,1
    - Dst: sc_conn
      Src: /src/haproxy/src/sample.c:3887,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/sample.c:3887,1
    - Dst: acl_exec_cond
      Src: /src/haproxy/src/sample.c:3892,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 3904
      start: 3851
    functionDepth: 2
    functionLinenumber: 3851
    functionLinenumberEnd: 3904
    functionName: sample_conv_when
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - acl_exec_cond
    - sc_appctx
    - sc_conn
    linkageType: ''
    returnType: int
    signature: sample_conv_when(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/sample.c:3926,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:3931,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:3933,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:3934,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:3940,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:3945,1
    - Dst: calloc
      Src: /src/haproxy/src/sample.c:3949,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:3951,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/sample.c:3955,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/sample.c:3956,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/sample.c:3957,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/sample.c:3958,1
    - Dst: find_acl_by_name
      Src: /src/haproxy/src/sample.c:3962,1
    - Dst: find_acl_default
      Src: /src/haproxy/src/sample.c:3963,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:3964,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:3977,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:3979,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:3982,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3992
      start: 3911
    functionDepth: 5
    functionLinenumber: 3911
    functionLinenumberEnd: 3992
    functionName: check_when_cond
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_destroy
    - find_acl_default
    - strcmp
    - LIST_APPEND
    - calloc
    - find_acl_by_name
    - LIST_INIT
    linkageType: ''
    returnType: int
    signature: "check_when_cond(struct arg *args, struct sample_conv *conv,\n                             const
      char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/haproxy/src/sample.c:4015,1
    - Dst: read_u32
      Src: /src/haproxy/src/sample.c:4015,1
    - Dst: protobuf_field_lookup
      Src: /src/haproxy/src/sample.c:4023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 4030
      start: 4004
    functionDepth: 1
    functionLinenumber: 4004
    functionLinenumberEnd: 4030
    functionName: sample_conv_ungrpc
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - protobuf_field_lookup
    - read_u32
    - ntohl
    linkageType: ''
    returnType: int
    signature: sample_conv_ungrpc(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protobuf_field_lookup
      Src: /src/haproxy/src/sample.c:4040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 4041
      start: 4032
    functionDepth: 1
    functionLinenumber: 4032
    functionLinenumberEnd: 4041
    functionName: sample_conv_protobuf
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - protobuf_field_lookup
    linkageType: ''
    returnType: int
    signature: sample_conv_protobuf(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protobuf_type
      Src: /src/haproxy/src/sample.c:4053,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4055,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:4059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4065
      start: 4043
    functionDepth: 5
    functionLinenumber: 4043
    functionLinenumberEnd: 4065
    functionName: sample_conv_protobuf_check
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_destroy
    - protobuf_type
    linkageType: ''
    returnType: int
    signature: "sample_conv_protobuf_check(struct arg *args, struct sample_conv *conv,\n
      \                                     const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fix_tag_value
      Src: /src/haproxy/src/sample.c:4077,1
    - Dst: ist2
      Src: /src/haproxy/src/sample.c:4077,1
    - Dst: istlen
      Src: /src/haproxy/src/sample.c:4079,1
    - Dst: isttest
      Src: /src/haproxy/src/sample.c:4080,1
    - Dst: ist2buf
      Src: /src/haproxy/src/sample.c:4087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 4091
      start: 4072
    functionDepth: 1
    functionLinenumber: 4072
    functionLinenumberEnd: 4091
    functionName: sample_conv_fix_tag_value
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - fix_tag_value
    - istlen
    - ist2
    - isttest
    - ist2buf
    linkageType: ''
    returnType: int
    signature: sample_conv_fix_tag_value(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/sample.c:4104,1
    - Dst: fix_tagid
      Src: /src/haproxy/src/sample.c:4105,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4107,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:4111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4116
      start: 4098
    functionDepth: 5
    functionLinenumber: 4098
    functionLinenumberEnd: 4116
    functionName: sample_conv_fix_value_check
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_destroy
    - ist2
    - fix_tagid
    linkageType: ''
    returnType: int
    signature: "sample_conv_fix_value_check(struct arg *args, struct sample_conv *conv,\n\t\t\t\t
      \      const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/sample.c:4128,1
    - Dst: fix_validate_message
      Src: /src/haproxy/src/sample.c:4131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 4145
      start: 4124
    functionDepth: 1
    functionLinenumber: 4124
    functionLinenumberEnd: 4145
    functionName: sample_conv_fix_is_valid
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - fix_validate_message
    - ist2
    linkageType: ''
    returnType: int
    signature: sample_conv_fix_is_valid(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/sample.c:4160,1
    - Dst: mqtt_field_value
      Src: /src/haproxy/src/sample.c:4165,1
    - Dst: istlen
      Src: /src/haproxy/src/sample.c:4166,1
    - Dst: isttest
      Src: /src/haproxy/src/sample.c:4167,1
    - Dst: ist2buf
      Src: /src/haproxy/src/sample.c:4174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 4177
      start: 4155
    functionDepth: 1
    functionLinenumber: 4155
    functionLinenumberEnd: 4177
    functionName: sample_conv_mqtt_field_value
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - istlen
    - ist2
    - isttest
    - mqtt_field_value
    - ist2buf
    linkageType: ''
    returnType: int
    signature: sample_conv_mqtt_field_value(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mqtt_typeid
      Src: /src/haproxy/src/sample.c:4192,1
    - Dst: ist2
      Src: /src/haproxy/src/sample.c:4192,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4194,1
    - Dst: mqtt_check_type_fieldname
      Src: /src/haproxy/src/sample.c:4199,1
    - Dst: ist2
      Src: /src/haproxy/src/sample.c:4199,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4201,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:4207,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:4208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4215
      start: 4186
    functionDepth: 5
    functionLinenumber: 4186
    functionLinenumberEnd: 4215
    functionName: sample_conv_mqtt_field_value_check
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_destroy
    - ist2
    - mqtt_typeid
    - mqtt_check_type_fieldname
    linkageType: ''
    returnType: int
    signature: "sample_conv_mqtt_field_value_check(struct arg *args, struct sample_conv
      *conv,\n\t\t\t\t\t      const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/sample.c:4227,1
    - Dst: mqtt_validate_message
      Src: /src/haproxy/src/sample.c:4230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 4244
      start: 4223
    functionDepth: 1
    functionLinenumber: 4223
    functionLinenumberEnd: 4244
    functionName: sample_conv_mqtt_is_valid
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - ist2
    - mqtt_validate_message
    linkageType: ''
    returnType: int
    signature: sample_conv_mqtt_is_valid(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4253,1
    - Dst: vars_check_arg
      Src: /src/haproxy/src/sample.c:4258,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4264
      start: 4249
    functionDepth: 5
    functionLinenumber: 4249
    functionLinenumberEnd: 4264
    functionName: smp_check_strcmp
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - vars_check_arg
    linkageType: ''
    returnType: int
    signature: "smp_check_strcmp(struct arg *args, struct sample_conv *conv,\n                           const
      char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/haproxy/src/sample.c:4272,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:4273,1
    - Dst: memcpy
      Src: /src/haproxy/src/sample.c:4275,1
    - Dst: b_head
      Src: /src/haproxy/src/sample.c:4275,1
    - Dst: b_add
      Src: /src/haproxy/src/sample.c:4276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 4281
      start: 4267
    functionDepth: 2
    functionLinenumber: 4267
    functionLinenumberEnd: 4281
    functionName: sample_conv_htonl
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - b_add
    - get_trash_chunk
    - htonl
    - b_head
    - memcpy
    linkageType: ''
    returnType: int
    signature: sample_conv_htonl(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 4296
      start: 4284
    functionDepth: 0
    functionLinenumber: 4284
    functionLinenumberEnd: 4296
    functionName: sample_conv_cut_crlf
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: sample_conv_cut_crlf(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/haproxy/src/sample.c:4309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 4317
      start: 4299
    functionDepth: 0
    functionLinenumber: 4299
    functionLinenumberEnd: 4317
    functionName: sample_conv_ltrim
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: int
    signature: sample_conv_ltrim(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/haproxy/src/sample.c:4330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 4337
      start: 4320
    functionDepth: 0
    functionLinenumber: 4320
    functionLinenumberEnd: 4337
    functionName: sample_conv_rtrim
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memchr
    linkageType: ''
    returnType: int
    signature: sample_conv_rtrim(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4344,1
    - Dst: strcmp
      Src: /src/haproxy/src/sample.c:4349,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - arg
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4358
      start: 4340
    functionDepth: 5
    functionLinenumber: 4340
    functionLinenumberEnd: 4358
    functionName: sample_check_json_query
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "sample_check_json_query(struct arg *arg, struct sample_conv *conv,\n
      \                          const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:4371,1
    - Dst: mjson_find
      Src: /src/haproxy/src/sample.c:4377,1
    - Dst: strtoll
      Src: /src/haproxy/src/sample.c:4382,1
    - Dst: mjson_get_number
      Src: /src/haproxy/src/sample.c:4393,1
    - Dst: snprintf
      Src: /src/haproxy/src/sample.c:4396,1
    - Dst: mjson_get_string
      Src: /src/haproxy/src/sample.c:4415,1
    - Dst: b_putblk
      Src: /src/haproxy/src/sample.c:4431,1
    - Dst: my_unreachable
      Src: /src/haproxy/src/sample.c:4451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 4453
      start: 4369
    functionDepth: 4
    functionLinenumber: 4369
    functionLinenumberEnd: 4453
    functionName: sample_conv_json_query
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - b_putblk
    - mjson_find
    - snprintf
    - mjson_get_number
    - get_trash_chunk
    - my_unreachable
    - mjson_get_string
    - strtoll
    linkageType: ''
    returnType: int
    signature: sample_conv_json_query(const struct arg *args, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_check_arg
      Src: /src/haproxy/src/sample.c:4461,1
    - Dst: vars_check_arg
      Src: /src/haproxy/src/sample.c:4462,1
    - Dst: jwt_parse_alg
      Src: /src/haproxy/src/sample.c:4465,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4468,1
    - Dst: jwt_tree_load_cert
      Src: /src/haproxy/src/sample.c:4481,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4487
      start: 4456
    functionDepth: 5
    functionLinenumber: 4456
    functionLinenumberEnd: 4487
    functionName: sample_conv_jwt_verify_check
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - jwt_parse_alg
    - jwt_tree_load_cert
    - vars_check_arg
    linkageType: ''
    returnType: int
    signature: "sample_conv_jwt_verify_check(struct arg *args, struct sample_conv
      *conv,\n\t\t\t\t\tconst char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:4495,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/sample.c:4496,1
    - Dst: sample_conv_var2smp_str
      Src: /src/haproxy/src/sample.c:4497,1
    - Dst: sample_conv_var2smp_str
      Src: /src/haproxy/src/sample.c:4499,1
    - Dst: jwt_verify
      Src: /src/haproxy/src/sample.c:4502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 4507
      start: 4490
    functionDepth: 5
    functionLinenumber: 4490
    functionLinenumberEnd: 4507
    functionName: sample_conv_jwt_verify
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - jwt_verify
    - smp_set_owner
    - sample_conv_var2smp_str
    linkageType: ''
    returnType: int
    signature: sample_conv_jwt_verify(const struct arg *args, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/sample.c:4520,1
    - Dst: jwt_tokenize
      Src: /src/haproxy/src/sample.c:4524,1
    - Dst: base64urldec
      Src: /src/haproxy/src/sample.c:4529,1
    - Dst: sample_conv_json_query
      Src: /src/haproxy/src/sample.c:4544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - args
    - smp
    - private
    - member
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    - enum jwt_elt
    constantsTouched: []
    func_position:
      end: 4548
      start: 4515
    functionDepth: 5
    functionLinenumber: 4515
    functionLinenumberEnd: 4548
    functionName: sample_conv_jwt_member_query
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - sample_conv_json_query
    - jwt_tokenize
    - base64urldec
    linkageType: ''
    returnType: int
    signature: "sample_conv_jwt_member_query(const struct arg *args, struct sample
      *smp,\n\t\t\t\t\tvoid *private, enum jwt_elt member)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/sample.c:4558,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - arg
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4567
      start: 4554
    functionDepth: 5
    functionLinenumber: 4554
    functionLinenumberEnd: 4567
    functionName: sample_conv_jwt_query_check
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "sample_conv_jwt_query_check(struct arg *arg, struct sample_conv *conv,\n\t\t\t\t
      \      const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_conv_jwt_member_query
      Src: /src/haproxy/src/sample.c:4577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 4578
      start: 4575
    functionDepth: 6
    functionLinenumber: 4575
    functionLinenumberEnd: 4578
    functionName: sample_conv_jwt_header_query
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_jwt_member_query
    linkageType: ''
    returnType: int
    signature: sample_conv_jwt_header_query(const struct arg *args, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_conv_jwt_member_query
      Src: /src/haproxy/src/sample.c:4587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 4588
      start: 4585
    functionDepth: 6
    functionLinenumber: 4585
    functionLinenumberEnd: 4588
    functionName: sample_conv_jwt_payload_query
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_jwt_member_query
    linkageType: ''
    returnType: int
    signature: sample_conv_jwt_payload_query(const struct arg *args, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4604
      start: 4598
    functionDepth: 0
    functionLinenumber: 4598
    functionLinenumberEnd: 4604
    functionName: smp_fetch_actconn
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_actconn(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_make_rw
      Src: /src/haproxy/src/sample.c:4611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4617
      start: 4608
    functionDepth: 1
    functionLinenumber: 4608
    functionLinenumberEnd: 4617
    functionName: smp_fetch_true
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - smp_make_rw
    linkageType: ''
    returnType: int
    signature: smp_fetch_true(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4626
      start: 4620
    functionDepth: 0
    functionLinenumber: 4620
    functionLinenumberEnd: 4626
    functionName: smp_fetch_false
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_false(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/haproxy/src/sample.c:4637,1
    - Dst: strlen
      Src: /src/haproxy/src/sample.c:4644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4646
      start: 4629
    functionDepth: 0
    functionLinenumber: 4629
    functionLinenumberEnd: 4646
    functionName: smp_fetch_env
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - strlen
    - getenv
    linkageType: ''
    returnType: int
    signature: smp_fetch_env(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/sample.c:4658,1
    - Dst: strcmp
      Src: /src/haproxy/src/sample.c:4661,1
    - Dst: strcmp
      Src: /src/haproxy/src/sample.c:4664,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4668,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:4673,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4678,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - args
    - err
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 4683
      start: 4653
    functionDepth: 5
    functionLinenumber: 4653
    functionLinenumberEnd: 4683
    functionName: smp_check_date_unit
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 1
    functionsReached:
    - memprintf
    - strcmp
    - chunk_destroy
    linkageType: ''
    returnType: int
    signature: smp_check_date_unit(struct arg *args, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4712
      start: 4689
    functionDepth: 0
    functionLinenumber: 4689
    functionLinenumberEnd: 4712
    functionName: smp_fetch_date
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_date(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4722
      start: 4715
    functionDepth: 0
    functionLinenumber: 4715
    functionLinenumberEnd: 4722
    functionName: smp_fetch_date_us
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_date_us(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/sample.c:4732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4734
      start: 4726
    functionDepth: 0
    functionLinenumber: 4726
    functionLinenumberEnd: 4734
    functionName: smp_fetch_hostname
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: smp_fetch_hostname(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4743
      start: 4737
    functionDepth: 0
    functionLinenumber: 4737
    functionLinenumberEnd: 4743
    functionName: smp_fetch_nbproc
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_nbproc(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4752
      start: 4746
    functionDepth: 0
    functionLinenumber: 4746
    functionLinenumberEnd: 4752
    functionName: smp_fetch_pid
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_pid(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4762
      start: 4756
    functionDepth: 0
    functionLinenumber: 4756
    functionLinenumberEnd: 4762
    functionName: smp_fetch_proc
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_proc(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4771
      start: 4765
    functionDepth: 0
    functionLinenumber: 4765
    functionLinenumberEnd: 4771
    functionName: smp_fetch_thread
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_thread(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: statistical_prng
      Src: /src/haproxy/src/sample.c:4779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4788
      start: 4776
    functionDepth: 0
    functionLinenumber: 4776
    functionLinenumberEnd: 4788
    functionName: smp_fetch_rand
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - statistical_prng
    linkageType: ''
    returnType: int
    signature: smp_fetch_rand(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4797
      start: 4791
    functionDepth: 0
    functionLinenumber: 4791
    functionLinenumberEnd: 4797
    functionName: smp_fetch_stopping
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_stopping(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4809
      start: 4800
    functionDepth: 0
    functionLinenumber: 4800
    functionLinenumberEnd: 4809
    functionName: smp_fetch_cpu_calls
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_cpu_calls(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4821
      start: 4812
    functionDepth: 0
    functionLinenumber: 4812
    functionLinenumberEnd: 4821
    functionName: smp_fetch_cpu_ns_avg
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_cpu_ns_avg(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4833
      start: 4824
    functionDepth: 0
    functionLinenumber: 4824
    functionLinenumberEnd: 4833
    functionName: smp_fetch_cpu_ns_tot
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_cpu_ns_tot(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4845
      start: 4836
    functionDepth: 0
    functionLinenumber: 4836
    functionLinenumberEnd: 4845
    functionName: smp_fetch_lat_ns_avg
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_lat_ns_avg(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4857
      start: 4848
    functionDepth: 0
    functionLinenumber: 4848
    functionLinenumberEnd: 4857
    functionName: smp_fetch_lat_ns_tot
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_lat_ns_tot(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4866
      start: 4859
    functionDepth: 0
    functionLinenumber: 4859
    functionLinenumberEnd: 4866
    functionName: smp_fetch_const_str
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_const_str(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/haproxy/src/sample.c:4870,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/sample.c:4871,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:4872,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/sample.c:4877,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/sample.c:4878,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:4879,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - args
    - err
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 4886
      start: 4868
    functionDepth: 5
    functionLinenumber: 4868
    functionLinenumberEnd: 4886
    functionName: smp_check_const_bool
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_destroy
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: smp_check_const_bool(struct arg *args, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4893
      start: 4888
    functionDepth: 0
    functionLinenumber: 4888
    functionLinenumberEnd: 4893
    functionName: smp_fetch_const_bool
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_const_bool(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4900
      start: 4895
    functionDepth: 0
    functionLinenumber: 4895
    functionLinenumberEnd: 4900
    functionName: smp_fetch_const_int
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_const_int(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4907
      start: 4902
    functionDepth: 0
    functionLinenumber: 4902
    functionLinenumberEnd: 4907
    functionName: smp_fetch_const_ipv4
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_const_ipv4(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4914
      start: 4909
    functionDepth: 0
    functionLinenumber: 4909
    functionLinenumberEnd: 4914
    functionName: smp_fetch_const_ipv6
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_const_ipv6(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_binary
      Src: /src/haproxy/src/sample.c:4921,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:4923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - args
    - err
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 4928
      start: 4916
    functionDepth: 4
    functionLinenumber: 4916
    functionLinenumberEnd: 4928
    functionName: smp_check_const_bin
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - chunk_destroy
    - parse_binary
    linkageType: ''
    returnType: int
    signature: smp_check_const_bin(struct arg *args, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4937
      start: 4930
    functionDepth: 0
    functionLinenumber: 4930
    functionLinenumberEnd: 4937
    functionName: smp_fetch_const_bin
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_const_bin(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_http_meth
      Src: /src/haproxy/src/sample.c:4944,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/sample.c:4946,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/sample.c:4956,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4957,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - args
    - err
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 4963
      start: 4939
    functionDepth: 5
    functionLinenumber: 4939
    functionLinenumberEnd: 4963
    functionName: smp_check_const_meth
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_destroy
    - find_http_meth
    - HTTP_IS_TOKEN
    linkageType: ''
    returnType: int
    signature: smp_check_const_meth(struct arg *args, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4980
      start: 4965
    functionDepth: 0
    functionLinenumber: 4965
    functionLinenumberEnd: 4980
    functionName: smp_fetch_const_meth
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_const_meth(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:4995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - args
    - err
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 5001
      start: 4984
    functionDepth: 5
    functionLinenumber: 4984
    functionLinenumberEnd: 5001
    functionName: smp_check_uuid
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: smp_check_uuid(struct arg *args, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_generate_uuid_v4
      Src: /src/haproxy/src/sample.c:5016,1
    - Dst: ha_generate_uuid_v7
      Src: /src/haproxy/src/sample.c:5019,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 5029
      start: 5004
    functionDepth: 3
    functionLinenumber: 5004
    functionLinenumberEnd: 5029
    functionName: smp_fetch_uuid
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - ha_generate_uuid_v4
    - ha_generate_uuid_v7
    linkageType: ''
    returnType: int
    signature: smp_fetch_uuid(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ns_to_sec
      Src: /src/haproxy/src/sample.c:5036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 5038
      start: 5032
    functionDepth: 1
    functionLinenumber: 5032
    functionLinenumberEnd: 5038
    functionName: smp_fetch_uptime
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - ns_to_sec
    linkageType: ''
    returnType: int
    signature: smp_fetch_uptime(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 5052
      start: 5042
    functionDepth: 0
    functionLinenumber: 5042
    functionLinenumberEnd: 5052
    functionName: smp_fetch_quic_enabled
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_quic_enabled(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ns_to_ms
      Src: /src/haproxy/src/sample.c:5070,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 5125
      start: 5055
    functionDepth: 1
    functionLinenumber: 5055
    functionLinenumberEnd: 5125
    functionName: smp_fetch_reX_timers
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - ns_to_ms
    linkageType: ''
    returnType: int
    signature: smp_fetch_reX_timers(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 5164
      start: 5129
    functionDepth: 0
    functionLinenumber: 5129
    functionLinenumberEnd: 5164
    functionName: smp_fetch_txn_timers
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_txn_timers(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 5188
      start: 5167
    functionDepth: 0
    functionLinenumber: 5167
    functionLinenumberEnd: 5188
    functionName: smp_fetch_conn_queues
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_conn_queues(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 5241
      start: 5191
    functionDepth: 0
    functionLinenumber: 5191
    functionLinenumberEnd: 5241
    functionName: smp_fetch_conn_timers
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_conn_timers(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 5265
      start: 5244
    functionDepth: 0
    functionLinenumber: 5244
    functionLinenumberEnd: 5265
    functionName: smp_fetch_bytes
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_bytes(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_operator
      Src: /src/haproxy/src/sample.c:5271,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:5276,1
    - Dst: check_operator
      Src: /src/haproxy/src/sample.c:5282,1
    - Dst: memprintf
      Src: /src/haproxy/src/sample.c:5287,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 5294
      start: 5267
    functionDepth: 6
    functionLinenumber: 5267
    functionLinenumberEnd: 5294
    functionName: sample_conv_bytes_check
    functionSourceFile: /src/haproxy/src/sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - check_operator
    linkageType: ''
    returnType: int
    signature: "sample_conv_bytes_check(struct arg *args, struct sample_conv *conv,\n
      \                         const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/filters.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kwl
    argTypes:
    - struct flt_kw_list*
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: flt_register_keywords
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: flt_register_keywords(struct flt_kw_list *kwl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/filters.c:124,1
    - Dst: strlen
      Src: /src/haproxy/src/filters.c:126,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:128,1
    - Dst: strncmp
      Src: /src/haproxy/src/filters.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - kw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 140
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 140
    functionName: flt_find_kw
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    - strlen
    - strncmp
    - strchr
    linkageType: ''
    returnType: struct flt_kw
    signature: '*

      flt_find_kw(const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:159,1
    - Dst: flt_find_kw
      Src: /src/haproxy/src/filters.c:162,1
    - Dst: strordered
      Src: /src/haproxy/src/filters.c:163,1
    - Dst: memprintf
      Src: /src/haproxy/src/filters.c:176,1
    - Dst: printf
      Src: /src/haproxy/src/filters.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - out
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 184
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 184
    functionName: flt_dump_kws
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - memprintf
    - flt_find_kw
    - list_for_each_entry
    - printf
    - strordered
    linkageType: ''
    returnType: void
    signature: flt_dump_kws(char **out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/filters.c:194,1
    - Dst: flt_dump_kws
      Src: /src/haproxy/src/filters.c:195,1
    - Dst: strtok_r
      Src: /src/haproxy/src/filters.c:196,1
    - Dst: fprintf
      Src: /src/haproxy/src/filters.c:197,1
    - Dst: free
      Src: /src/haproxy/src/filters.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - out
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 6
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: list_filters
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - free
    - strtok_r
    - flt_dump_kws
    - fprintf
    linkageType: ''
    returnType: void
    signature: list_filters(FILE *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/filters.c:213,1
    - Dst: strcmp
      Src: /src/haproxy/src/filters.c:217,1
    - Dst: memprintf
      Src: /src/haproxy/src/filters.c:222,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/filters.c:224,1
    - Dst: calloc
      Src: /src/haproxy/src/filters.c:227,1
    - Dst: memprintf
      Src: /src/haproxy/src/filters.c:229,1
    - Dst: flt_find_kw
      Src: /src/haproxy/src/filters.c:234,1
    - Dst: memprintf
      Src: /src/haproxy/src/filters.c:237,1
    - Dst: struct flt_kw*::parse
      Src: /src/haproxy/src/filters.c:242,1
    - Dst: memprintf
      Src: /src/haproxy/src/filters.c:244,1
    - Dst: memprintf
      Src: /src/haproxy/src/filters.c:247,1
    - Dst: flt_dump_kws
      Src: /src/haproxy/src/filters.c:253,1
    - Dst: indent_msg
      Src: /src/haproxy/src/filters.c:254,1
    - Dst: memprintf
      Src: /src/haproxy/src/filters.c:255,1
    - Dst: memprintf
      Src: /src/haproxy/src/filters.c:261,1
    - Dst: memprintf
      Src: /src/haproxy/src/filters.c:266,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/filters.c:271,1
    - Dst: free
      Src: /src/haproxy/src/filters.c:276,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 280
      start: 205
    functionDepth: 6
    functionLinenumber: 205
    functionLinenumberEnd: 280
    functionName: parse_filter
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - memprintf
    - indent_msg
    - flt_find_kw
    - flt_dump_kws
    - struct flt_kw*::parse
    - strcmp
    - calloc
    - LIST_APPEND
    - free
    - proxy_type_str
    linkageType: ''
    returnType: int
    signature: "parse_filter(char **args, int section_type, struct proxy *curpx,\n\t
      \    const struct proxy *defpx, const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:292,1
    - Dst: struct flt_conf*::ops::init
      Src: /src/haproxy/src/filters.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: flt_init
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - struct flt_conf*::ops::init
    linkageType: ''
    returnType: int
    signature: flt_init(struct proxy *proxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:309,1
    - Dst: struct flt_conf*::ops::init_per_thread
      Src: /src/haproxy/src/filters.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: flt_init_per_thread
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - struct flt_conf*::ops::init_per_thread
    linkageType: ''
    returnType: int
    signature: flt_init_per_thread(struct proxy *proxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flt_init
      Src: /src/haproxy/src/filters.c:327,1
    - Dst: ha_alert
      Src: /src/haproxy/src/filters.c:329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 335
    functionName: flt_init_all
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - flt_init
    linkageType: ''
    returnType: int
    signature: flt_init_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flt_init_per_thread
      Src: /src/haproxy/src/filters.c:349,1
    - Dst: ha_alert
      Src: /src/haproxy/src/filters.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 357
    functionName: flt_init_all_per_thread
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - flt_init_per_thread
    - ha_alert
    linkageType: ''
    returnType: int
    signature: flt_init_all_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_implicit_http_comp_flt
      Src: /src/haproxy/src/filters.c:370,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:371,1
    - Dst: struct flt_conf*::ops::check
      Src: /src/haproxy/src/filters.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: flt_check
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    - check_implicit_http_comp_flt
    - struct flt_conf*::ops::check
    linkageType: ''
    returnType: int
    signature: flt_check(struct proxy *proxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/filters.c:387,1
    - Dst: struct flt_conf*::ops::deinit
      Src: /src/haproxy/src/filters.c:389,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/filters.c:390,1
    - Dst: free
      Src: /src/haproxy/src/filters.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 393
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 393
    functionName: flt_deinit
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - free
    - struct flt_conf*::ops::deinit
    - LIST_DELETE
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: flt_deinit(struct proxy *proxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/filters.c:404,1
    - Dst: struct flt_conf*::ops::deinit_per_thread
      Src: /src/haproxy/src/filters.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 408
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 408
    functionName: flt_deinit_per_thread
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - struct flt_conf*::ops::deinit_per_thread
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: flt_deinit_per_thread(struct proxy *proxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flt_deinit_per_thread
      Src: /src/haproxy/src/filters.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: flt_deinit_all_per_thread
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - flt_deinit_per_thread
    linkageType: ''
    returnType: void
    signature: flt_deinit_all_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/filters.c:427,1
    - Dst: pool_zalloc
      Src: /src/haproxy/src/filters.c:430,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:436,1
    - Dst: pool_free
      Src: /src/haproxy/src/filters.c:439,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/filters.c:444,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:444,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - s
    - fconf
    - flags
    argTypes:
    - struct stream*
    - struct flt_conf*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 447
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 447
    functionName: flt_stream_add_filter
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - FLT_OPS
    - LIST_APPEND
    - pool_zalloc
    - IS_HTX_STRM
    - pool_free
    - strm_flt
    linkageType: ''
    returnType: int
    signature: flt_stream_add_filter(struct stream *s, struct flt_conf *fconf, unsigned
      int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/filters.c:458,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:458,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:458,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/filters.c:459,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:459,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:460,1
    - Dst: strm_fe
      Src: /src/haproxy/src/filters.c:460,1
    - Dst: flt_stream_add_filter
      Src: /src/haproxy/src/filters.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 465
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 465
    functionName: flt_stream_init
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strm_flt
    - LIST_INIT
    - memset
    - strm_fe
    - flt_stream_add_filter
    linkageType: ''
    returnType: int
    signature: flt_stream_init(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/filters.c:478,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:478,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:481,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:482,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/filters.c:483,1
    - Dst: pool_free
      Src: /src/haproxy/src/filters.c:484,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/filters.c:487,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:487,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - s
    - only_backend
    argTypes:
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 489
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 489
    functionName: flt_stream_release
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - FLT_OPS
    - list_for_each_entry_safe
    - LIST_ISEMPTY
    - LIST_DELETE
    - pool_free
    - strm_flt
    linkageType: ''
    returnType: void
    signature: flt_stream_release(struct stream *s, int only_backend)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:501,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:501,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:502,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:504,1
    - Dst: strm_li
      Src: /src/haproxy/src/filters.c:508,1
    - Dst: strm_li
      Src: /src/haproxy/src/filters.c:508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 513
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 513
    functionName: flt_stream_start
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - FLT_OPS
    - strm_flt
    - strm_li
    linkageType: ''
    returnType: int
    signature: flt_stream_start(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:524,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:524,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:525,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 530
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 530
    functionName: flt_stream_stop
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - FLT_OPS
    - strm_flt
    linkageType: ''
    returnType: void
    signature: flt_stream_stop(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:541,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:541,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:542,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 547
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 547
    functionName: flt_stream_check_timeouts
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - FLT_OPS
    - strm_flt
    linkageType: ''
    returnType: void
    signature: flt_stream_check_timeouts(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_fe
      Src: /src/haproxy/src/filters.c:560,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:563,1
    - Dst: flt_stream_add_filter
      Src: /src/haproxy/src/filters.c:564,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:569,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:569,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:570,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:572,1
    - Dst: strm_fe
      Src: /src/haproxy/src/filters.c:583,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - s
    - be
    argTypes:
    - struct stream*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 589
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 589
    functionName: flt_set_stream_backend
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - FLT_OPS
    - list_for_each_entry
    - strm_flt
    - strm_fe
    - flt_stream_add_filter
    linkageType: ''
    returnType: int
    signature: flt_set_stream_backend(struct stream *s, struct proxy *be)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/filters.c:606,1
    - Dst: RESUME_FILTER_LOOP
      Src: /src/haproxy/src/filters.c:607,1
    - Dst: IS_DATA_FILTER
      Src: /src/haproxy/src/filters.c:614,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:617,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/filters.c:618,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/filters.c:618,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:620,1
    - Dst: BREAK_EXECUTION
      Src: /src/haproxy/src/filters.c:622,1
    - Dst: c_adv
      Src: /src/haproxy/src/filters.c:626,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/filters.c:630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - s
    - msg
    argTypes:
    - struct stream*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 632
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 632
    functionName: flt_http_end
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - FLT_OPS
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - IS_DATA_FILTER
    - RESUME_FILTER_LOOP
    - BREAK_EXECUTION
    - DBG_TRACE_DEVEL
    - c_adv
    - FLT_ID
    linkageType: ''
    returnType: int
    signature: flt_http_end(struct stream *s, struct http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/filters.c:643,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:644,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:644,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:645,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/filters.c:646,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/filters.c:646,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:648,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/filters.c:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - s
    - msg
    argTypes:
    - struct stream*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 652
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 652
    functionName: flt_http_reset
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - FLT_OPS
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - list_for_each_entry
    - DBG_TRACE_DEVEL
    - strm_flt
    - FLT_ID
    linkageType: ''
    returnType: void
    signature: flt_http_reset(struct stream *s, struct http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/filters.c:663,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:664,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:664,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:665,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/filters.c:666,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/filters.c:666,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:668,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/filters.c:671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - s
    - status
    - msg
    argTypes:
    - struct stream*
    - short
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 672
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 672
    functionName: flt_http_reply
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - FLT_OPS
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - list_for_each_entry
    - DBG_TRACE_DEVEL
    - strm_flt
    - FLT_ID
    linkageType: ''
    returnType: void
    signature: flt_http_reply(struct stream *s, short status, const struct buffer
      *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:692,1
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/filters.c:695,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:696,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:696,1
    - Dst: IS_DATA_FILTER
      Src: /src/haproxy/src/filters.c:703,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:703,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/filters.c:708,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/filters.c:708,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:710,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:731,1
    - Dst: htxbuf
      Src: /src/haproxy/src/filters.c:737,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/filters.c:741,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - s
    - msg
    - len
    argTypes:
    - struct stream*
    - struct http_msg*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 743
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 743
    functionName: flt_http_payload
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - FLT_OPS
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - list_for_each_entry
    - IS_DATA_FILTER
    - htxbuf
    - DBG_TRACE_DEVEL
    - strm_flt
    - FLT_ID
    linkageType: ''
    returnType: int
    signature: flt_http_payload(struct stream *s, struct http_msg *msg, unsigned int
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/filters.c:759,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:781,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/filters.c:782,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/filters.c:782,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:784,1
    - Dst: BREAK_EXECUTION
      Src: /src/haproxy/src/filters.c:786,1
    - Dst: handle_analyzer_result
      Src: /src/haproxy/src/filters.c:791,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/filters.c:792,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - s
    - chn
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 794
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 794
    functionName: flt_start_analyze
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - FLT_OPS
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - handle_analyzer_result
    - BREAK_EXECUTION
    - DBG_TRACE_DEVEL
    - FLT_ID
    linkageType: ''
    returnType: int
    signature: flt_start_analyze(struct stream *s, struct channel *chn, unsigned int
      an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/filters.c:811,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:814,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/filters.c:815,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/filters.c:815,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:817,1
    - Dst: BREAK_EXECUTION
      Src: /src/haproxy/src/filters.c:819,1
    - Dst: handle_analyzer_result
      Src: /src/haproxy/src/filters.c:825,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/filters.c:826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - s
    - chn
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 828
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 828
    functionName: flt_pre_analyze
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - FLT_OPS
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - handle_analyzer_result
    - BREAK_EXECUTION
    - DBG_TRACE_DEVEL
    - FLT_ID
    linkageType: ''
    returnType: int
    signature: flt_pre_analyze(struct stream *s, struct channel *chn, unsigned int
      an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/filters.c:845,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:847,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:847,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:848,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/filters.c:849,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/filters.c:849,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:851,1
    - Dst: handle_analyzer_result
      Src: /src/haproxy/src/filters.c:860,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/filters.c:861,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - s
    - chn
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 863
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 863
    functionName: flt_post_analyze
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - FLT_OPS
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - list_for_each_entry
    - handle_analyzer_result
    - DBG_TRACE_DEVEL
    - strm_flt
    - FLT_ID
    linkageType: ''
    returnType: int
    signature: flt_post_analyze(struct stream *s, struct channel *chn, unsigned int
      an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/filters.c:877,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:880,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/filters.c:881,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/filters.c:881,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:883,1
    - Dst: BREAK_EXECUTION
      Src: /src/haproxy/src/filters.c:885,1
    - Dst: HAS_DATA_FILTERS
      Src: /src/haproxy/src/filters.c:889,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:893,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:893,1
    - Dst: FLT_OFF
      Src: /src/haproxy/src/filters.c:894,1
    - Dst: handle_analyzer_result
      Src: /src/haproxy/src/filters.c:898,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/filters.c:899,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - s
    - chn
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 901
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 901
    functionName: flt_analyze_http_headers
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - FLT_OPS
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - list_for_each_entry
    - handle_analyzer_result
    - BREAK_EXECUTION
    - DBG_TRACE_DEVEL
    - HAS_DATA_FILTERS
    - strm_flt
    - FLT_OFF
    - FLT_ID
    linkageType: ''
    returnType: int
    signature: flt_analyze_http_headers(struct stream *s, struct channel *chn, unsigned
      int an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/filters.c:915,1
    - Dst: unregister_data_filter
      Src: /src/haproxy/src/filters.c:924,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:926,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/filters.c:927,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/filters.c:927,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:929,1
    - Dst: BREAK_EXECUTION
      Src: /src/haproxy/src/filters.c:931,1
    - Dst: handle_analyzer_result
      Src: /src/haproxy/src/filters.c:938,1
    - Dst: flt_stream_release
      Src: /src/haproxy/src/filters.c:963,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/filters.c:964,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/filters.c:967,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - s
    - chn
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 970
      start: 910
    functionDepth: 2
    functionLinenumber: 910
    functionLinenumberEnd: 970
    functionName: flt_end_analyze
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - unregister_data_filter
    - FLT_OPS
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - handle_analyzer_result
    - BREAK_EXECUTION
    - DBG_TRACE_DEVEL
    - flt_stream_release
    - FLT_ID
    linkageType: ''
    returnType: int
    signature: flt_end_analyze(struct stream *s, struct channel *chn, unsigned int
      an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/filters.c:991,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/filters.c:992,1
    - Dst: strm_flt
      Src: /src/haproxy/src/filters.c:992,1
    - Dst: IS_DATA_FILTER
      Src: /src/haproxy/src/filters.c:999,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:999,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/filters.c:1004,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/filters.c:1004,1
    - Dst: FLT_OPS
      Src: /src/haproxy/src/filters.c:1006,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/filters.c:1022,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - s
    - chn
    - len
    argTypes:
    - struct stream*
    - struct channel*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1024
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 1024
    functionName: flt_tcp_payload
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - FLT_OPS
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - list_for_each_entry
    - IS_DATA_FILTER
    - DBG_TRACE_DEVEL
    - strm_flt
    - FLT_ID
    linkageType: ''
    returnType: int
    signature: flt_tcp_payload(struct stream *s, struct channel *chn, unsigned int
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/filters.c:1040,1
    - Dst: HAS_DATA_FILTERS
      Src: /src/haproxy/src/filters.c:1043,1
    - Dst: htxbuf
      Src: /src/haproxy/src/filters.c:1047,1
    - Dst: c_data
      Src: /src/haproxy/src/filters.c:1051,1
    - Dst: flt_tcp_payload
      Src: /src/haproxy/src/filters.c:1053,1
    - Dst: c_adv
      Src: /src/haproxy/src/filters.c:1056,1
    - Dst: chn_cons
      Src: /src/haproxy/src/filters.c:1063,1
    - Dst: chn_prod
      Src: /src/haproxy/src/filters.c:1067,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/filters.c:1068,1
    - Dst: htxbuf
      Src: /src/haproxy/src/filters.c:1068,1
    - Dst: c_empty
      Src: /src/haproxy/src/filters.c:1068,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/filters.c:1079,1
    - Dst: handle_analyzer_result
      Src: /src/haproxy/src/filters.c:1084,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/filters.c:1085,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - s
    - chn
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1087
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1087
    functionName: flt_xfer_data
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 0
    functionsReached:
    - c_empty
    - htx_is_empty
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - flt_tcp_payload
    - handle_analyzer_result
    - chn_prod
    - htxbuf
    - HAS_DATA_FILTERS
    - chn_cons
    - DBG_TRACE_DEVEL
    - c_data
    - c_adv
    linkageType: ''
    returnType: int
    signature: flt_xfer_data(struct stream *s, struct channel *chn, unsigned int an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/filters.c:1111,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/filters.c:1112,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/filters.c:1115,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/filters.c:1118,1
    - Dst: http_error_message
      Src: /src/haproxy/src/filters.c:1118,1
    - Dst: sess_set_term_flags
      Src: /src/haproxy/src/filters.c:1122,1
    - Dst: stream_retnclose
      Src: /src/haproxy/src/filters.c:1123,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/filters.c:1132,1
    - Dst: channel_dont_connect
      Src: /src/haproxy/src/filters.c:1137,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/filters.c:1138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 4
    argNames:
    - s
    - chn
    - an_bit
    - ret
    argTypes:
    - struct stream*
    - struct channel*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 1140
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1140
    functionName: handle_analyzer_result
    functionSourceFile: /src/haproxy/src/filters.c
    functionUses: 6
    functionsReached:
    - sess_set_term_flags
    - channel_dont_connect
    - IS_HTX_STRM
    - http_set_term_flags
    - DBG_TRACE_DEVEL
    - http_reply_and_close
    - stream_retnclose
    - http_error_message
    linkageType: ''
    returnType: int
    signature: "handle_analyzer_result(struct stream *s, struct channel *chn,\n\t\t
      \      unsigned int an_bit, int ret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: buf2ip
      Src: /src/haproxy/src/map.c:37,1
    - Dst: buf2ip6
      Src: /src/haproxy/src/map.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - text
    - data
    argTypes:
    - char*
    - struct sample_data*
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: map_parse_ip
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - buf2ip6
    - buf2ip
    linkageType: ''
    returnType: int
    signature: map_parse_ip(const char *text, struct sample_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/map.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - text
    - data
    argTypes:
    - char*
    - struct sample_data*
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: map_parse_str
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: map_parse_str(const char *text, struct sample_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_int64
      Src: /src/haproxy/src/map.c:70,1
    - Dst: strlen
      Src: /src/haproxy/src/map.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - text
    - data
    argTypes:
    - char*
    - struct sample_data*
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: map_parse_int
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - read_int64
    - strlen
    linkageType: ''
    returnType: int
    signature: map_parse_int(const char *text, struct sample_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/map.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - conv
    argTypes:
    - struct sample_conv*
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: map_create_descriptor
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct map_descriptor
    signature: '*map_create_descriptor(struct sample_conv *conv)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/map.c:104,1
    - Dst: map_create_descriptor
      Src: /src/haproxy/src/map.c:109,1
    - Dst: memprintf
      Src: /src/haproxy/src/map.c:111,1
    - Dst: pattern_init_head
      Src: /src/haproxy/src/map.c:116,1
    - Dst: memprintf
      Src: /src/haproxy/src/map.c:134,1
    - Dst: free
      Src: /src/haproxy/src/map.c:136,1
    - Dst: pattern_read_from_file
      Src: /src/haproxy/src/map.c:141,1
    - Dst: map_parse_ip
      Src: /src/haproxy/src/map.c:150,1
    - Dst: memprintf
      Src: /src/haproxy/src/map.c:151,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/map.c:155,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/map.c:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 5
    argNames:
    - arg
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 171
      start: 98
    functionDepth: 5
    functionLinenumber: 98
    functionLinenumberEnd: 171
    functionName: sample_load_map
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 1
    functionsReached:
    - memprintf
    - chunk_destroy
    - map_create_descriptor
    - pattern_init_head
    - map_parse_ip
    - free
    - pattern_read_from_file
    linkageType: ''
    returnType: int
    signature: "sample_load_map(struct arg *arg, struct sample_conv *conv,\n                    const
      char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pattern_exec_match
      Src: /src/haproxy/src/map.c:185,1
    - Dst: strlen
      Src: /src/haproxy/src/map.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 196
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 196
    functionName: sample_conv_map_key
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - strlen
    - pattern_exec_match
    linkageType: ''
    returnType: int
    signature: sample_conv_map_key(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pattern_exec_match
      Src: /src/haproxy/src/map.c:211,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/map.c:223,1
    - Dst: memcpy
      Src: /src/haproxy/src/map.c:231,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/map.c:234,1
    - Dst: exp_replace
      Src: /src/haproxy/src/map.c:235,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/map.c:239,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 290
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 290
    functionName: sample_conv_map
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - pattern_exec_match
    - get_trash_chunk
    - free_trash_chunk
    - memcpy
    - exp_replace
    linkageType: ''
    returnType: int
    signature: sample_conv_map(const struct arg *arg_p, struct sample *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/map.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - getnext
    - end
    - flags
    argTypes:
    - struct pat_ref*
    - struct list*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 316
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 316
    functionName: pat_list_get_next
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - LIST_NEXT
    linkageType: ''
    returnType: struct pat_ref
    signature: "*pat_list_get_next(struct pat_ref *getnext, struct list *end,\n                                  unsigned
      int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/haproxy/src/map.c:327,1
    - Dst: pat_ref_lookupid
      Src: /src/haproxy/src/map.c:332,1
    - Dst: pat_ref_lookup
      Src: /src/haproxy/src/map.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - reference
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 337
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 337
    functionName: pat_ref_lookup_ref
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - strtol
    - pat_ref_lookup
    - pat_ref_lookupid
    linkageType: ''
    returnType: struct pat_ref
    signature: '*pat_ref_lookup_ref(const char *reference)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/map.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - getnext
    - end
    argTypes:
    - struct pattern_expr*
    - struct list*
    constantsTouched: []
    func_position:
      end: 350
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 350
    functionName: pat_expr_get_next
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - LIST_NEXT
    linkageType: ''
    returnType: struct pattern_expr
    signature: '*pat_expr_get_next(struct pattern_expr *getnext, struct list *end)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/map.c:384,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/map.c:386,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/map.c:387,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/map.c:388,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/map.c:394,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/map.c:396,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:403,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:407,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/map.c:410,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/map.c:414,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/map.c:415,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/map.c:422,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 429
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 429
    functionName: cli_io_handler_pat_list
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - LIST_ISEMPTY
    - LIST_APPEND
    - LIST_DELETE
    - chunk_appendf
    - applet_putchk
    - HA_RWLOCK_WRUNLOCK
    - LIST_INIT
    - HA_RWLOCK_WRLOCK
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: cli_io_handler_pat_list(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/map.c:441,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:442,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/map.c:443,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/map.c:451,1
    - Dst: pat_list_get_next
      Src: /src/haproxy/src/map.c:452,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/map.c:459,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:464,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/map.c:469,1
    - Dst: pat_list_get_next
      Src: /src/haproxy/src/map.c:477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 488
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 488
    functionName: cli_io_handler_pats_list
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - pat_list_get_next
    - chunk_appendf
    - applet_putchk
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: cli_io_handler_pats_list(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/map.c:500,1
    - Dst: pat_expr_get_next
      Src: /src/haproxy/src/map.c:501,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/map.c:506,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/map.c:510,1
    - Dst: sample_convert
      Src: /src/haproxy/src/map.c:519,1
    - Dst: struct show_map_ctx*::expr::pat_head::match
      Src: /src/haproxy/src/map.c:520,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:529,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:531,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:535,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:537,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:542,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:544,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:551,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:553,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:557,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:559,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:564,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:566,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:570,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:572,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:578,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:581,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/map.c:585,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/map.c:588,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/map.c:592,1
    - Dst: pat_expr_get_next
      Src: /src/haproxy/src/map.c:597,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/map.c:600,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 607
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 607
    functionName: cli_io_handler_map_lookup
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - sample_convert
    - HA_RWLOCK_RDLOCK
    - chunk_appendf
    - applet_putchk
    - struct show_map_ctx*::expr::pat_head::match
    - pat_expr_get_next
    - HA_RWLOCK_RDUNLOCK
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: cli_io_handler_map_lookup(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/map.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 614
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 614
    functionName: cli_release_mlook
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: void
    signature: cli_release_mlook(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/map.c:619,1
    - Dst: strcmp
      Src: /src/haproxy/src/map.c:621,1
    - Dst: strcmp
      Src: /src/haproxy/src/map.c:621,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:631,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:633,1
    - Dst: pat_ref_lookup_ref
      Src: /src/haproxy/src/map.c:637,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:640,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:642,1
    - Dst: strlen
      Src: /src/haproxy/src/map.c:649,1
    - Dst: strdup
      Src: /src/haproxy/src/map.c:651,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:653,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 658
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 658
    functionName: cli_parse_get_map
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - pat_ref_lookup_ref
    - strlen
    - strcmp
    - cli_err
    - strdup
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_get_map(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/map.c:662,1
    - Dst: strcmp
      Src: /src/haproxy/src/map.c:664,1
    - Dst: strcmp
      Src: /src/haproxy/src/map.c:665,1
    - Dst: pat_ref_lookup_ref
      Src: /src/haproxy/src/map.c:676,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:680,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:682,1
    - Dst: pat_ref_newgen
      Src: /src/haproxy/src/map.c:684,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/map.c:685,1
    - Dst: memprintf
      Src: /src/haproxy/src/map.c:685,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 689
      start: 660
    functionDepth: 5
    functionLinenumber: 660
    functionLinenumberEnd: 689
    functionName: cli_parse_prepare_map
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - memprintf
    - pat_ref_lookup_ref
    - cli_dynmsg
    - strcmp
    - cli_err
    - pat_ref_newgen
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_prepare_map(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/map.c:695,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/map.c:696,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/map.c:697,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/map.c:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 700
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 700
    functionName: cli_release_show_map
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_WRLOCK
    - HA_RWLOCK_WRUNLOCK
    - LIST_DEL_INIT
    - LIST_ISEMPTY
    linkageType: ''
    returnType: void
    signature: cli_release_show_map(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/map.c:704,1
    - Dst: strcmp
      Src: /src/haproxy/src/map.c:706,1
    - Dst: strcmp
      Src: /src/haproxy/src/map.c:707,1
    - Dst: pat_ref_lookup_ref
      Src: /src/haproxy/src/map.c:732,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:736,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:738,1
    - Dst: str2uic
      Src: /src/haproxy/src/map.c:743,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/map.c:747,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 754
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 754
    functionName: cli_parse_show_map
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - pat_ref_lookup_ref
    - strcmp
    - cli_err
    - str2uic
    - LIST_INIT
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_show_map(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/map.c:758,1
    - Dst: strcmp
      Src: /src/haproxy/src/map.c:760,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:768,1
    - Dst: pat_ref_lookup_ref
      Src: /src/haproxy/src/map.c:771,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:773,1
    - Dst: strtoll
      Src: /src/haproxy/src/map.c:784,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:786,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:791,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/map.c:795,1
    - Dst: pat_ref_set_by_id
      Src: /src/haproxy/src/map.c:796,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/map.c:797,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/map.c:799,1
    - Dst: memprintf
      Src: /src/haproxy/src/map.c:799,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:801,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/map.c:803,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/map.c:810,1
    - Dst: pat_ref_set
      Src: /src/haproxy/src/map.c:811,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/map.c:812,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/map.c:814,1
    - Dst: memprintf
      Src: /src/haproxy/src/map.c:814,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:816,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/map.c:818,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 826
      start: 756
    functionDepth: 5
    functionLinenumber: 756
    functionLinenumberEnd: 826
    functionName: cli_parse_set_map
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - pat_ref_set
    - pat_ref_lookup_ref
    - strcmp
    - cli_err
    - HA_RWLOCK_WRUNLOCK
    - pat_ref_set_by_id
    - HA_RWLOCK_WRLOCK
    - applet_reserve_svcctx
    - strtoll
    linkageType: ''
    returnType: int
    signature: cli_parse_set_map(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/map.c:830,1
    - Dst: strcmp
      Src: /src/haproxy/src/map.c:832,1
    - Dst: strcmp
      Src: /src/haproxy/src/map.c:833,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:862,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:867,1
    - Dst: pat_ref_lookup_ref
      Src: /src/haproxy/src/map.c:870,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:873,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:875,1
    - Dst: str2uic
      Src: /src/haproxy/src/map.c:879,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:882,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:884,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:893,1
    - Dst: strcspn
      Src: /src/haproxy/src/map.c:916,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/map.c:920,1
    - Dst: memprintf
      Src: /src/haproxy/src/map.c:920,1
    - Dst: strspn
      Src: /src/haproxy/src/map.c:926,1
    - Dst: strcspn
      Src: /src/haproxy/src/map.c:928,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/map.c:938,1
    - Dst: pat_ref_load
      Src: /src/haproxy/src/map.c:939,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/map.c:940,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/map.c:944,1
    - Dst: memprintf
      Src: /src/haproxy/src/map.c:944,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:946,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 67
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 956
      start: 828
    functionDepth: 5
    functionLinenumber: 828
    functionLinenumberEnd: 956
    functionName: cli_parse_add_map
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - strspn
    - pat_ref_lookup_ref
    - strcmp
    - cli_err
    - pat_ref_load
    - str2uic
    - strcspn
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_add_map(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/map.c:960,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:970,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:972,1
    - Dst: pat_ref_lookup_ref
      Src: /src/haproxy/src/map.c:976,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:979,1
    - Dst: strtoll
      Src: /src/haproxy/src/map.c:990,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:992,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:997,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/map.c:1000,1
    - Dst: pat_ref_delete_by_id
      Src: /src/haproxy/src/map.c:1001,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/map.c:1002,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:1004,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/map.c:1006,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/map.c:1012,1
    - Dst: pat_ref_delete
      Src: /src/haproxy/src/map.c:1013,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/map.c:1014,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:1016,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/map.c:1018,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1024
      start: 958
    functionDepth: 5
    functionLinenumber: 958
    functionLinenumberEnd: 1024
    functionName: cli_parse_del_map
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - pat_ref_lookup_ref
    - cli_err
    - pat_ref_delete_by_id
    - HA_RWLOCK_WRUNLOCK
    - pat_ref_delete
    - HA_RWLOCK_WRLOCK
    - applet_reserve_svcctx
    - strtoll
    linkageType: ''
    returnType: int
    signature: cli_parse_del_map(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/map.c:1035,1
    - Dst: pat_ref_purge_range
      Src: /src/haproxy/src/map.c:1036,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/map.c:1037,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/map.c:1041,1
    - Dst: trim_all_pools
      Src: /src/haproxy/src/map.c:1045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1030
    functionDepth: 3
    functionLinenumber: 1030
    functionLinenumberEnd: 1047
    functionName: cli_io_handler_clear_map
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - trim_all_pools
    - pat_ref_purge_range
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    - applet_have_more_data
    linkageType: ''
    returnType: int
    signature: cli_io_handler_clear_map(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/map.c:1055,1
    - Dst: strcmp
      Src: /src/haproxy/src/map.c:1057,1
    - Dst: strcmp
      Src: /src/haproxy/src/map.c:1057,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:1078,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:1080,1
    - Dst: pat_ref_lookup_ref
      Src: /src/haproxy/src/map.c:1084,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:1088,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:1090,1
    - Dst: str2uic
      Src: /src/haproxy/src/map.c:1095,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1103
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1103
    functionName: cli_parse_clear_map
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - pat_ref_lookup_ref
    - strcmp
    - cli_err
    - str2uic
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_clear_map(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/map.c:1111,1
    - Dst: strcmp
      Src: /src/haproxy/src/map.c:1113,1
    - Dst: strcmp
      Src: /src/haproxy/src/map.c:1113,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:1125,1
    - Dst: str2uic
      Src: /src/haproxy/src/map.c:1132,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:1139,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:1141,1
    - Dst: pat_ref_lookup_ref
      Src: /src/haproxy/src/map.c:1145,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:1149,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:1151,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/map.c:1154,1
    - Dst: pat_ref_commit
      Src: /src/haproxy/src/map.c:1157,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/map.c:1160,1
    - Dst: cli_err
      Src: /src/haproxy/src/map.c:1163,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1169
    functionName: cli_parse_commit_map
    functionSourceFile: /src/haproxy/src/map.c
    functionUses: 0
    functionsReached:
    - pat_ref_lookup_ref
    - strcmp
    - cli_err
    - pat_ref_commit
    - str2uic
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_commit_map(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - parser
    - pkt
    argTypes:
    - struct ist
    - struct mqtt_pkt*
    constantsTouched: []
    func_position:
      end: 171
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 171
    functionName: mqtt_read_fixed_hdr
    functionSourceFile: /src/haproxy/src/mqtt.c
    functionUses: 0
    functionsReached:
    - istnext
    linkageType: ''
    returnType: struct ist
    signature: mqtt_read_fixed_hdr(struct ist parser, struct mqtt_pkt *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:182,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:185,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - parser
    - i
    argTypes:
    - struct ist
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: mqtt_read_1byte_int
    functionSourceFile: /src/haproxy/src/mqtt.c
    functionUses: 0
    functionsReached:
    - istnext
    - istlen
    - istptr
    linkageType: ''
    returnType: struct ist
    signature: mqtt_read_1byte_int(struct ist parser, uint8_t *i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:199,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:202,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:203,1
    - Dst: istadv
      Src: /src/haproxy/src/mqtt.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - parser
    - i
    argTypes:
    - struct ist
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: mqtt_read_2byte_int
    functionSourceFile: /src/haproxy/src/mqtt.c
    functionUses: 0
    functionsReached:
    - istlen
    - istadv
    - istptr
    linkageType: ''
    returnType: struct ist
    signature: mqtt_read_2byte_int(struct ist parser, uint16_t *i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:218,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:221,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:222,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:223,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:224,1
    - Dst: istadv
      Src: /src/haproxy/src/mqtt.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - parser
    - i
    argTypes:
    - struct ist
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: mqtt_read_4byte_int
    functionSourceFile: /src/haproxy/src/mqtt.c
    functionUses: 0
    functionsReached:
    - istlen
    - istadv
    - istptr
    linkageType: ''
    returnType: struct ist
    signature: mqtt_read_4byte_int(struct ist parser, uint32_t *i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:254,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:261,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - parser
    - i
    argTypes:
    - struct ist
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 271
    functionName: mqtt_read_varint
    functionSourceFile: /src/haproxy/src/mqtt.c
    functionUses: 0
    functionsReached:
    - istnext
    - istlen
    linkageType: ''
    returnType: struct ist
    signature: mqtt_read_varint(struct ist parser, uint32_t *i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:294,1
    - Dst: mqtt_read_2byte_int
      Src: /src/haproxy/src/mqtt.c:297,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:298,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:298,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:302,1
    - Dst: istadv
      Src: /src/haproxy/src/mqtt.c:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - parser
    - str
    argTypes:
    - struct ist
    - struct ist*
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: mqtt_read_string
    functionSourceFile: /src/haproxy/src/mqtt.c
    functionUses: 0
    functionsReached:
    - istlen
    - isttest
    - istptr
    - istadv
    - mqtt_read_2byte_int
    linkageType: ''
    returnType: struct ist
    signature: mqtt_read_string(struct ist parser, struct ist *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ultoa_o
      Src: /src/haproxy/src/mqtt.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - i
    argTypes:
    - struct buffer*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: mqtt_uint2str
    functionSourceFile: /src/haproxy/src/mqtt.c
    functionUses: 0
    functionsReached:
    - ultoa_o
    linkageType: ''
    returnType: size_t
    signature: mqtt_uint2str(struct buffer *buf, uint32_t i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/mqtt.c:335,1
    - Dst: mqtt_validate_message
      Src: /src/haproxy/src/mqtt.c:339,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:354,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:356,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:360,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:366,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:368,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:372,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:378,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:384,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:390,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:396,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:402,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:404,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:411,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:413,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:420,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:422,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:429,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:438,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:447,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:455,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:457,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:463,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:471,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:479,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:481,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:488,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:490,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:496,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:498,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:504,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:506,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:512,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:514,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:520,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:522,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:533,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:535,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:539,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:541,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:545,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:547,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:553,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:555,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:561,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:569,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:571,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:577,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:585,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:593,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:601,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:609,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:617,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:619,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:625,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:627,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:633,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:635,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:641,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:643,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:649,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:651,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:657,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:659,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:665,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:667,1
    - Dst: mqtt_uint2str
      Src: /src/haproxy/src/mqtt.c:673,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:675,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:691,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:691,1
    CyclomaticComplexity: 206
    EdgeCount: 206
    ICount: 426
    argCount: 3
    argNames:
    - msg
    - type
    - fieldname_id
    argTypes:
    - struct ist
    - int
    - int
    constantsTouched: []
    func_position:
      end: 695
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 695
    functionName: mqtt_field_value
    functionSourceFile: /src/haproxy/src/mqtt.c
    functionUses: 1
    functionsReached:
    - istlen
    - ist2
    - mqtt_validate_message
    - istptr
    - get_trash_chunk
    - mqtt_uint2str
    linkageType: ''
    returnType: struct ist
    signature: mqtt_field_value(struct ist msg, int type, int fieldname_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:721,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:722,1
    - Dst: isteqi
      Src: /src/haproxy/src/mqtt.c:722,1
    - Dst: ist
      Src: /src/haproxy/src/mqtt.c:722,1
    - Dst: isteqi
      Src: /src/haproxy/src/mqtt.c:722,1
    - Dst: ist
      Src: /src/haproxy/src/mqtt.c:722,1
    - Dst: mqtt_read_1byte_int
      Src: /src/haproxy/src/mqtt.c:726,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:727,1
    - Dst: mqtt_read_1byte_int
      Src: /src/haproxy/src/mqtt.c:736,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:737,1
    - Dst: mqtt_read_2byte_int
      Src: /src/haproxy/src/mqtt.c:745,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:746,1
    - Dst: mqtt_read_varint
      Src: /src/haproxy/src/mqtt.c:756,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:757,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:757,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:759,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:759,1
    - Dst: istadv
      Src: /src/haproxy/src/mqtt.c:760,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:762,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:763,1
    - Dst: mqtt_read_4byte_int
      Src: /src/haproxy/src/mqtt.c:767,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:767,1
    - Dst: mqtt_read_2byte_int
      Src: /src/haproxy/src/mqtt.c:774,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:774,1
    - Dst: mqtt_read_4byte_int
      Src: /src/haproxy/src/mqtt.c:784,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:784,1
    - Dst: mqtt_read_2byte_int
      Src: /src/haproxy/src/mqtt.c:794,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:794,1
    - Dst: mqtt_read_1byte_int
      Src: /src/haproxy/src/mqtt.c:801,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:801,1
    - Dst: mqtt_read_1byte_int
      Src: /src/haproxy/src/mqtt.c:811,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:811,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:825,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:825,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:826,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:828,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:835,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:835,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:842,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:842,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:850,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:856,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:857,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:866,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:867,1
    - Dst: mqtt_read_varint
      Src: /src/haproxy/src/mqtt.c:880,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:881,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:881,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:883,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:883,1
    - Dst: istadv
      Src: /src/haproxy/src/mqtt.c:884,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:886,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:887,1
    - Dst: mqtt_read_4byte_int
      Src: /src/haproxy/src/mqtt.c:891,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:891,1
    - Dst: mqtt_read_1byte_int
      Src: /src/haproxy/src/mqtt.c:898,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:898,1
    - Dst: mqtt_read_4byte_int
      Src: /src/haproxy/src/mqtt.c:908,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:908,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:915,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:915,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:922,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:922,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:929,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:929,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:940,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:940,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:941,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:943,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:951,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:958,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:959,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:961,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:962,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:968,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:969,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:975,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:976,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:980,1
    CyclomaticComplexity: 113
    EdgeCount: 113
    ICount: 226
    argCount: 2
    argNames:
    - parser
    - mpkt
    argTypes:
    - struct ist
    - struct mqtt_pkt*
    constantsTouched: []
    func_position:
      end: 985
      start: 710
    functionDepth: 3
    functionLinenumber: 710
    functionLinenumberEnd: 985
    functionName: mqtt_parse_connect
    functionSourceFile: /src/haproxy/src/mqtt.c
    functionUses: 0
    functionsReached:
    - mqtt_read_string
    - isttest
    - istlen
    - ist2
    - ist
    - istptr
    - istnext
    - istadv
    - mqtt_read_2byte_int
    - mqtt_read_varint
    - isteqi
    - mqtt_read_1byte_int
    - mqtt_read_4byte_int
    linkageType: ''
    returnType: int
    signature: mqtt_parse_connect(struct ist parser, struct mqtt_pkt *mpkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:1006,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:1008,1
    - Dst: mqtt_read_1byte_int
      Src: /src/haproxy/src/mqtt.c:1018,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:1019,1
    - Dst: mqtt_read_1byte_int
      Src: /src/haproxy/src/mqtt.c:1023,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:1024,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:1029,1
    - Dst: mqtt_read_varint
      Src: /src/haproxy/src/mqtt.c:1041,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:1042,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:1042,1
    - Dst: ist2
      Src: /src/haproxy/src/mqtt.c:1044,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:1044,1
    - Dst: istadv
      Src: /src/haproxy/src/mqtt.c:1045,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:1047,1
    - Dst: istptr
      Src: /src/haproxy/src/mqtt.c:1048,1
    - Dst: mqtt_read_4byte_int
      Src: /src/haproxy/src/mqtt.c:1052,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1052,1
    - Dst: mqtt_read_2byte_int
      Src: /src/haproxy/src/mqtt.c:1059,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1059,1
    - Dst: mqtt_read_1byte_int
      Src: /src/haproxy/src/mqtt.c:1069,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1069,1
    - Dst: mqtt_read_1byte_int
      Src: /src/haproxy/src/mqtt.c:1079,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1079,1
    - Dst: mqtt_read_4byte_int
      Src: /src/haproxy/src/mqtt.c:1089,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1089,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:1099,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1099,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:1100,1
    - Dst: mqtt_read_2byte_int
      Src: /src/haproxy/src/mqtt.c:1108,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1108,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:1115,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1115,1
    - Dst: mqtt_read_1byte_int
      Src: /src/haproxy/src/mqtt.c:1122,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1122,1
    - Dst: mqtt_read_1byte_int
      Src: /src/haproxy/src/mqtt.c:1132,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1132,1
    - Dst: mqtt_read_1byte_int
      Src: /src/haproxy/src/mqtt.c:1142,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1142,1
    - Dst: mqtt_read_2byte_int
      Src: /src/haproxy/src/mqtt.c:1152,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1152,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:1159,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1159,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:1166,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1166,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:1177,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1177,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:1178,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:1180,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:1187,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1187,1
    - Dst: mqtt_read_string
      Src: /src/haproxy/src/mqtt.c:1194,1
    - Dst: istnext
      Src: /src/haproxy/src/mqtt.c:1194,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:1202,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:1207,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 189
    argCount: 2
    argNames:
    - parser
    - mpkt
    argTypes:
    - struct ist
    - struct mqtt_pkt*
    constantsTouched: []
    func_position:
      end: 1211
      start: 999
    functionDepth: 3
    functionLinenumber: 999
    functionLinenumberEnd: 1211
    functionName: mqtt_parse_connack
    functionSourceFile: /src/haproxy/src/mqtt.c
    functionUses: 0
    functionsReached:
    - istlen
    - ist2
    - isttest
    - mqtt_read_string
    - istptr
    - istnext
    - istadv
    - mqtt_read_2byte_int
    - mqtt_read_varint
    - mqtt_read_1byte_int
    - mqtt_read_4byte_int
    linkageType: ''
    returnType: int
    signature: mqtt_parse_connack(struct ist parser, struct mqtt_pkt *mpkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/mqtt.c:1242,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:1245,1
    - Dst: mqtt_read_fixed_hdr
      Src: /src/haproxy/src/mqtt.c:1251,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:1252,1
    - Dst: mqtt_read_varint
      Src: /src/haproxy/src/mqtt.c:1258,1
    - Dst: isttest
      Src: /src/haproxy/src/mqtt.c:1259,1
    - Dst: istlen
      Src: /src/haproxy/src/mqtt.c:1264,1
    - Dst: mqtt_parse_connect
      Src: /src/haproxy/src/mqtt.c:1270,1
    - Dst: mqtt_parse_connack
      Src: /src/haproxy/src/mqtt.c:1273,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - msg
    - mpkt
    argTypes:
    - struct ist
    - struct mqtt_pkt*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1234
    functionDepth: 4
    functionLinenumber: 1234
    functionLinenumberEnd: 1281
    functionName: mqtt_validate_message
    functionSourceFile: /src/haproxy/src/mqtt.c
    functionUses: 2
    functionsReached:
    - istlen
    - isttest
    - mqtt_read_fixed_hdr
    - memset
    - mqtt_parse_connack
    - mqtt_read_varint
    - mqtt_parse_connect
    linkageType: ''
    returnType: int
    signature: mqtt_validate_message(const struct ist msg, struct mqtt_pkt *mpkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:94,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:94,1
    - Dst: isteqi
      Src: /src/haproxy/src/h2.c:114,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:114,1
    - Dst: isteqi
      Src: /src/haproxy/src/h2.c:116,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:116,1
    - Dst: http_validate_scheme
      Src: /src/haproxy/src/h2.c:118,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:121,1
    - Dst: isteqi
      Src: /src/haproxy/src/h2.c:180,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:180,1
    - Dst: isteqi
      Src: /src/haproxy/src/h2.c:182,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:182,1
    - Dst: http_validate_scheme
      Src: /src/haproxy/src/h2.c:184,1
    - Dst: unlikely
      Src: /src/haproxy/src/h2.c:198,1
    - Dst: unlikely
      Src: /src/haproxy/src/h2.c:200,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:201,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:201,1
    - Dst: ist2bin
      Src: /src/haproxy/src/h2.c:216,1
    - Dst: istcat
      Src: /src/haproxy/src/h2.c:217,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:217,1
    - Dst: istcat
      Src: /src/haproxy/src/h2.c:218,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:219,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:219,1
    - Dst: istcat
      Src: /src/haproxy/src/h2.c:220,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/h2.c:247,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h2.c:260,1
    - Dst: HTTP_IS_CTL
      Src: /src/haproxy/src/h2.c:260,1
    - Dst: find_http_meth
      Src: /src/haproxy/src/h2.c:269,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/h2.c:275,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:275,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 123
    argCount: 4
    argNames:
    - fields
    - phdr
    - htx
    - msgf
    argTypes:
    - uint32_t
    - struct ist*
    - struct htx*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 282
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 282
    functionName: h2_prepare_htx_reqline
    functionSourceFile: /src/haproxy/src/h2.c
    functionUses: 0
    functionsReached:
    - HTTP_IS_LWS
    - ist2bin
    - HTTP_IS_CTL
    - http_validate_scheme
    - isteq
    - ist
    - find_http_meth
    - istcat
    - unlikely
    - isteqi
    - htx_add_stline
    - HTTP_IS_TOKEN
    linkageType: ''
    returnType: struct htx_sl
    signature: '*h2_prepare_htx_reqline(uint32_t fields, struct ist *phdr, struct
      htx *htx, unsigned int *msgf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isttest
      Src: /src/haproxy/src/h2.c:326,1
    - Dst: h2_str_to_phdr
      Src: /src/haproxy/src/h2.c:338,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/h2.c:341,1
    - Dst: ist_find_range
      Src: /src/haproxy/src/h2.c:350,1
    - Dst: unlikely
      Src: /src/haproxy/src/h2.c:351,1
    - Dst: http_path_has_forbidden_char
      Src: /src/haproxy/src/h2.c:351,1
    - Dst: ist_find_ctl
      Src: /src/haproxy/src/h2.c:354,1
    - Dst: unlikely
      Src: /src/haproxy/src/h2.c:355,1
    - Dst: http_header_has_forbidden_char
      Src: /src/haproxy/src/h2.c:355,1
    - Dst: unlikely
      Src: /src/haproxy/src/h2.c:381,1
    - Dst: h2_prepare_htx_reqline
      Src: /src/haproxy/src/h2.c:383,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/h2.c:396,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:396,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:402,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:402,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:409,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:409,1
    - Dst: http_parse_cont_len_header
      Src: /src/haproxy/src/h2.c:410,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:422,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:422,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:423,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:423,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:424,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:424,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:425,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:425,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:426,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:426,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:429,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:429,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:429,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:429,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:433,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:433,1
    - Dst: http_cookie_register
      Src: /src/haproxy/src/h2.c:434,1
    - Dst: unlikely
      Src: /src/haproxy/src/h2.c:440,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h2.c:440,1
    - Dst: unlikely
      Src: /src/haproxy/src/h2.c:442,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h2.c:442,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/h2.c:446,1
    - Dst: h2_prepare_htx_reqline
      Src: /src/haproxy/src/h2.c:456,1
    - Dst: isteqi
      Src: /src/haproxy/src/h2.c:474,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:474,1
    - Dst: isteqi
      Src: /src/haproxy/src/h2.c:475,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:475,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/h2.c:479,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:479,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/h2.c:481,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:481,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:481,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/h2.c:494,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:494,1
    - Dst: http_cookie_merge
      Src: /src/haproxy/src/h2.c:502,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/h2.c:507,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/h2.c:511,1
    - Dst: http_scheme_based_normalize
      Src: /src/haproxy/src/h2.c:516,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 143
    argCount: 5
    argNames:
    - list
    - htx
    - msgf
    - body_len
    - relaxed
    argTypes:
    - struct http_hdr*
    - struct htx*
    - unsigned int*
    - unsigned long long*
    - int
    constantsTouched: []
    func_position:
      end: 523
      start: 309
    functionDepth: 5
    functionLinenumber: 309
    functionLinenumberEnd: 523
    functionName: h2_make_htx_request
    functionSourceFile: /src/haproxy/src/h2.c
    functionUses: 1
    functionsReached:
    - http_cookie_merge
    - isttest
    - htx_add_endof
    - ist
    - ist_find_range
    - isteqi
    - HTTP_IS_LWS
    - isteq
    - http_parse_cont_len_header
    - htx_nbblks
    - h2_str_to_phdr
    - http_header_has_forbidden_char
    - ist_find_ctl
    - http_path_has_forbidden_char
    - http_cookie_register
    - HTTP_IS_TOKEN
    - htx_add_header
    - h2_prepare_htx_reqline
    - unlikely
    - http_scheme_based_normalize
    linkageType: ''
    returnType: int
    signature: h2_make_htx_request(struct http_hdr *list, struct htx *htx, unsigned
      int *msgf, unsigned long long *body_len, int relaxed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/h2.c:547,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:548,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:548,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:549,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/h2.c:594,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:594,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:594,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 4
    argNames:
    - fields
    - phdr
    - htx
    - msgf
    argTypes:
    - uint32_t
    - struct ist*
    - struct htx*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 601
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 601
    functionName: h2_prepare_htx_stsline
    functionSourceFile: /src/haproxy/src/h2.c
    functionUses: 0
    functionsReached:
    - unlikely
    - isteq
    - ist
    - htx_add_stline
    linkageType: ''
    returnType: struct htx_sl
    signature: '*h2_prepare_htx_stsline(uint32_t fields, struct ist *phdr, struct
      htx *htx, unsigned int *msgf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isttest
      Src: /src/haproxy/src/h2.c:639,1
    - Dst: h2_str_to_phdr
      Src: /src/haproxy/src/h2.c:651,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/h2.c:654,1
    - Dst: ist_find_ctl
      Src: /src/haproxy/src/h2.c:661,1
    - Dst: unlikely
      Src: /src/haproxy/src/h2.c:662,1
    - Dst: http_header_has_forbidden_char
      Src: /src/haproxy/src/h2.c:662,1
    - Dst: h2_prepare_htx_stsline
      Src: /src/haproxy/src/h2.c:689,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:695,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:695,1
    - Dst: http_parse_cont_len_header
      Src: /src/haproxy/src/h2.c:696,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:708,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:708,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:709,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:709,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:710,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:710,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:711,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:711,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:712,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:712,1
    - Dst: unlikely
      Src: /src/haproxy/src/h2.c:717,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h2.c:717,1
    - Dst: unlikely
      Src: /src/haproxy/src/h2.c:719,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h2.c:719,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/h2.c:723,1
    - Dst: h2_prepare_htx_stsline
      Src: /src/haproxy/src/h2.c:733,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/h2.c:739,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:739,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:739,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/h2.c:741,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:741,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:741,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/h2.c:771,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/h2.c:775,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 104
    argCount: 5
    argNames:
    - list
    - htx
    - msgf
    - body_len
    - upgrade_protocol
    argTypes:
    - struct http_hdr*
    - struct htx*
    - unsigned int*
    - unsigned long long*
    - char*
    constantsTouched: []
    func_position:
      end: 783
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 783
    functionName: h2_make_htx_response
    functionSourceFile: /src/haproxy/src/h2.c
    functionUses: 1
    functionsReached:
    - htx_add_header
    - h2_prepare_htx_stsline
    - ist_find_ctl
    - HTTP_IS_LWS
    - isttest
    - isteq
    - http_parse_cont_len_header
    - ist
    - h2_str_to_phdr
    - htx_nbblks
    - htx_add_endof
    - http_header_has_forbidden_char
    - unlikely
    - HTTP_IS_TOKEN
    linkageType: ''
    returnType: int
    signature: h2_make_htx_response(struct http_hdr *list, struct htx *htx, unsigned
      int *msgf, unsigned long long *body_len, char *upgrade_protocol)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isttest
      Src: /src/haproxy/src/h2.c:807,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/h2.c:817,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:821,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:821,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:822,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:822,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:823,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:823,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:824,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:824,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:825,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:825,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:826,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:826,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:827,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:827,1
    - Dst: isteq
      Src: /src/haproxy/src/h2.c:828,1
    - Dst: ist
      Src: /src/haproxy/src/h2.c:828,1
    - Dst: ist_find_ctl
      Src: /src/haproxy/src/h2.c:834,1
    - Dst: unlikely
      Src: /src/haproxy/src/h2.c:835,1
    - Dst: http_header_has_forbidden_char
      Src: /src/haproxy/src/h2.c:835,1
    - Dst: unlikely
      Src: /src/haproxy/src/h2.c:840,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h2.c:840,1
    - Dst: unlikely
      Src: /src/haproxy/src/h2.c:842,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/h2.c:842,1
    - Dst: htx_add_trailer
      Src: /src/haproxy/src/h2.c:846,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/h2.c:851,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/h2.c:854,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 37
    argCount: 2
    argNames:
    - list
    - htx
    argTypes:
    - struct http_hdr*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 861
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 861
    functionName: h2_make_htx_trailers
    functionSourceFile: /src/haproxy/src/h2.c
    functionUses: 1
    functionsReached:
    - HTTP_IS_LWS
    - ist_find_ctl
    - isttest
    - isteq
    - htx_nbblks
    - ist
    - htx_add_endof
    - htx_add_trailer
    - http_header_has_forbidden_char
    - unlikely
    - HTTP_IS_TOKEN
    linkageType: ''
    returnType: int
    signature: h2_make_htx_trailers(struct http_hdr *list, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/haproxy/src/sock_unix.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: sock_abns_addrcmp
    functionSourceFile: /src/haproxy/src/sock_unix.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: sock_abns_addrcmp(const struct sockaddr_storage *a, const struct sockaddr_storage
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/sock_unix.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 133
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 133
    functionName: sock_abnsz_addrcmp
    functionSourceFile: /src/haproxy/src/sock_unix.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: sock_abnsz_addrcmp(const struct sockaddr_storage *a, const struct sockaddr_storage
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/haproxy/src/sock_unix.c:184,1
    - Dst: strcmp
      Src: /src/haproxy/src/sock_unix.c:186,1
    - Dst: isdigit
      Src: /src/haproxy/src/sock_unix.c:192,1
    - Dst: strcmp
      Src: /src/haproxy/src/sock_unix.c:194,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 200
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 200
    functionName: sock_unix_addrcmp
    functionSourceFile: /src/haproxy/src/sock_unix.c
    functionUses: 0
    functionsReached:
    - strcmp
    - isdigit
    linkageType: ''
    returnType: int
    signature: sock_unix_addrcmp(const struct sockaddr_storage *a, const struct sockaddr_storage
      *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/sock_unix.c:231,1
    - Dst: sock_find_compatible_fd
      Src: /src/haproxy/src/sock_unix.c:253,1
    - Dst: MIN
      Src: /src/haproxy/src/sock_unix.c:256,1
    - Dst: snprintf
      Src: /src/haproxy/src/sock_unix.c:269,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:272,1
    - Dst: snprintf
      Src: /src/haproxy/src/sock_unix.c:276,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:279,1
    - Dst: unlink
      Src: /src/haproxy/src/sock_unix.c:284,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:286,1
    - Dst: strerror
      Src: /src/haproxy/src/sock_unix.c:286,1
    - Dst: unlink
      Src: /src/haproxy/src/sock_unix.c:290,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:292,1
    - Dst: strerror
      Src: /src/haproxy/src/sock_unix.c:292,1
    - Dst: link
      Src: /src/haproxy/src/sock_unix.c:297,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:299,1
    - Dst: strerror
      Src: /src/haproxy/src/sock_unix.c:299,1
    - Dst: strlen
      Src: /src/haproxy/src/sock_unix.c:309,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:311,1
    - Dst: strncpy
      Src: /src/haproxy/src/sock_unix.c:315,1
    - Dst: memcpy
      Src: /src/haproxy/src/sock_unix.c:322,1
    - Dst: my_socketat
      Src: /src/haproxy/src/sock_unix.c:326,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:330,1
    - Dst: strerror
      Src: /src/haproxy/src/sock_unix.c:330,1
    - Dst: dup
      Src: /src/haproxy/src/sock_unix.c:345,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:348,1
    - Dst: strerror
      Src: /src/haproxy/src/sock_unix.c:348,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:355,1
    - Dst: fd_set_nonblock
      Src: /src/haproxy/src/sock_unix.c:359,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:361,1
    - Dst: bind
      Src: /src/haproxy/src/sock_unix.c:365,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/sock_unix.c:365,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:370,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:375,1
    - Dst: strerror
      Src: /src/haproxy/src/sock_unix.c:375,1
    - Dst: chown
      Src: /src/haproxy/src/sock_unix.c:387,1
    - Dst: chmod
      Src: /src/haproxy/src/sock_unix.c:388,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:390,1
    - Dst: strerror
      Src: /src/haproxy/src/sock_unix.c:390,1
    - Dst: rename
      Src: /src/haproxy/src/sock_unix.c:398,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:400,1
    - Dst: strerror
      Src: /src/haproxy/src/sock_unix.c:400,1
    - Dst: unlink
      Src: /src/haproxy/src/sock_unix.c:406,1
    - Dst: fd_insert
      Src: /src/haproxy/src/sock_unix.c:418,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/sock_unix.c:422,1
    - Dst: rename
      Src: /src/haproxy/src/sock_unix.c:427,1
    - Dst: unlink
      Src: /src/haproxy/src/sock_unix.c:429,1
    - Dst: unlink
      Src: /src/haproxy/src/sock_unix.c:432,1
    - Dst: close
      Src: /src/haproxy/src/sock_unix.c:433,1
    - Dst: unlink
      Src: /src/haproxy/src/sock_unix.c:436,1
    - Dst: sa2str
      Src: /src/haproxy/src/sock_unix.c:442,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:443,1
    - Dst: ha_free
      Src: /src/haproxy/src/sock_unix.c:444,1
    - Dst: memprintf
      Src: /src/haproxy/src/sock_unix.c:447,1
    - Dst: close
      Src: /src/haproxy/src/sock_unix.c:453,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 168
    argCount: 2
    argNames:
    - rx
    - errmsg
    argTypes:
    - struct receiver*
    - char**
    constantsTouched: []
    func_position:
      end: 455
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 455
    functionName: sock_unix_bind_receiver
    functionSourceFile: /src/haproxy/src/sock_unix.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_free
    - fd_set_nonblock
    - my_socketat
    - BUG_ON
    - close
    - strerror
    - chmod
    - link
    - sock_find_compatible_fd
    - rename
    - get_addr_len
    - dup
    - strlen
    - strncpy
    - snprintf
    - sa2str
    - unlink
    - chown
    - fd_insert
    - MIN
    - memcpy
    - bind
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: sock_unix_bind_receiver(struct receiver *rx, char **errmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/freq_ctr.c:34,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:35,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:36,1
    - Dst: HA_ATOMIC_ADD_FETCH
      Src: /src/haproxy/src/freq_ctr.c:39,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/freq_ctr.c:46,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/freq_ctr.c:54,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/src/freq_ctr.c:54,1
    - Dst: likely
      Src: /src/haproxy/src/freq_ctr.c:56,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/freq_ctr.c:58,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/freq_ctr.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - ctr
    - period
    - inc
    argTypes:
    - struct freq_ctr*
    - uint
    - uint
    constantsTouched: []
    func_position:
      end: 65
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 65
    functionName: update_freq_ctr_period_slow
    functionSourceFile: /src/haproxy/src/freq_ctr.c
    functionUses: 0
    functionsReached:
    - likely
    - HA_ATOMIC_LOAD
    - HA_ATOMIC_ADD_FETCH
    - __ha_cpu_relax
    - HA_ATOMIC_XCHG
    - HA_ATOMIC_STORE
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: uint
    signature: update_freq_ctr_period_slow(struct freq_ctr *ctr, uint period, uint
      inc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:84,1
    - Dst: unlikely
      Src: /src/haproxy/src/freq_ctr.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - period
    - pend
    - tick
    - past
    - curr
    argTypes:
    - uint
    - int
    - uint
    - ullong
    - ullong
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: _freq_ctr_total_from_values
    functionSourceFile: /src/haproxy/src/freq_ctr.c
    functionUses: 0
    functionsReached:
    - unlikely
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: ullong
    signature: "_freq_ctr_total_from_values(uint period, int pend,\n\t\t\t\t   uint
      tick, ullong past, ullong curr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:120,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:121,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:122,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:136,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:143,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:147,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:156,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:158,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:160,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/freq_ctr.c:162,1
    - Dst: _freq_ctr_total_from_values
      Src: /src/haproxy/src/freq_ctr.c:164,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ctr
    - period
    - pend
    argTypes:
    - struct freq_ctr*
    - uint
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 165
    functionName: freq_ctr_total
    functionSourceFile: /src/haproxy/src/freq_ctr.c
    functionUses: 0
    functionsReached:
    - __ha_cpu_relax
    - HA_ATOMIC_LOAD
    - _freq_ctr_total_from_values
    linkageType: ''
    returnType: ullong
    signature: freq_ctr_total(const struct freq_ctr *ctr, uint period, int pend)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:179,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:180,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:181,1
    - Dst: _freq_ctr_total_from_values
      Src: /src/haproxy/src/freq_ctr.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ctr
    - period
    - pend
    argTypes:
    - struct freq_ctr*
    - uint
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: freq_ctr_total_estimate
    functionSourceFile: /src/haproxy/src/freq_ctr.c
    functionUses: 0
    functionsReached:
    - _freq_ctr_total_from_values
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: ullong
    signature: freq_ctr_total_estimate(const struct freq_ctr *ctr, uint period, int
      pend)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:200,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:201,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:214,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:221,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:230,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:232,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/freq_ctr.c:234,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/freq_ctr.c:242,1
    - Dst: unlikely
      Src: /src/haproxy/src/freq_ctr.c:243,1
    - Dst: div64_32
      Src: /src/haproxy/src/freq_ctr.c:248,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - ctr
    - period
    - freq
    argTypes:
    - struct freq_ctr*
    - uint
    - uint
    constantsTouched: []
    func_position:
      end: 249
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 249
    functionName: freq_ctr_overshoot_period
    functionSourceFile: /src/haproxy/src/freq_ctr.c
    functionUses: 1
    functionsReached:
    - __ha_cpu_relax
    - div64_32
    - unlikely
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: int
    signature: freq_ctr_overshoot_period(const struct freq_ctr *ctr, uint period,
      uint freq)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:63,1
    - Dst: kill
      Src: /src/haproxy/src/mworker.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: mworker_kill
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - kill
    linkageType: ''
    returnType: void
    signature: mworker_kill(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:74,1
    - Dst: kill
      Src: /src/haproxy/src/mworker.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: mworker_kill_max_reloads
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - kill
    linkageType: ''
    returnType: void
    signature: mworker_kill_max_reloads(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: mworker_current_child
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: int
    signature: mworker_current_child(int pid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: mworker_child_nb
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: int
    signature: mworker_child_nb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:119,1
    - Dst: memprintf
      Src: /src/haproxy/src/mworker.c:130,1
    - Dst: setenv
      Src: /src/haproxy/src/mworker.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 134
    functionName: mworker_proc_list_to_env
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - memprintf
    - setenv
    linkageType: ''
    returnType: void
    signature: mworker_proc_list_to_env()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/mworker.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: mworker_proc_new
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct mworker_proc
    signature: '*mworker_proc_new()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/haproxy/src/mworker.c:165,1
    - Dst: strdup
      Src: /src/haproxy/src/mworker.c:169,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:171,1
    - Dst: strtok_r
      Src: /src/haproxy/src/mworker.c:176,1
    - Dst: mworker_proc_new
      Src: /src/haproxy/src/mworker.c:182,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:184,1
    - Dst: strtok_r
      Src: /src/haproxy/src/mworker.c:189,1
    - Dst: strncmp
      Src: /src/haproxy/src/mworker.c:193,1
    - Dst: strncmp
      Src: /src/haproxy/src/mworker.c:206,1
    - Dst: atoi
      Src: /src/haproxy/src/mworker.c:207,1
    - Dst: strncmp
      Src: /src/haproxy/src/mworker.c:210,1
    - Dst: atoi
      Src: /src/haproxy/src/mworker.c:211,1
    - Dst: strncmp
      Src: /src/haproxy/src/mworker.c:214,1
    - Dst: atoi
      Src: /src/haproxy/src/mworker.c:215,1
    - Dst: strncmp
      Src: /src/haproxy/src/mworker.c:216,1
    - Dst: atoi
      Src: /src/haproxy/src/mworker.c:218,1
    - Dst: strncmp
      Src: /src/haproxy/src/mworker.c:219,1
    - Dst: atoi
      Src: /src/haproxy/src/mworker.c:220,1
    - Dst: strncmp
      Src: /src/haproxy/src/mworker.c:221,1
    - Dst: atoi
      Src: /src/haproxy/src/mworker.c:222,1
    - Dst: strncmp
      Src: /src/haproxy/src/mworker.c:223,1
    - Dst: strdup
      Src: /src/haproxy/src/mworker.c:224,1
    - Dst: strncmp
      Src: /src/haproxy/src/mworker.c:225,1
    - Dst: strdup
      Src: /src/haproxy/src/mworker.c:226,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mworker.c:230,1
    - Dst: mworker_free_child
      Src: /src/haproxy/src/mworker.c:232,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:238,1
    - Dst: unsetenv
      Src: /src/haproxy/src/mworker.c:243,1
    - Dst: mworker_proc_new
      Src: /src/haproxy/src/mworker.c:249,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:251,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mworker.c:259,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker.c:260,1
    - Dst: free
      Src: /src/haproxy/src/mworker.c:264,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 159
    functionDepth: 4
    functionLinenumber: 159
    functionLinenumberEnd: 266
    functionName: mworker_env_to_proc_list
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - unsetenv
    - strncmp
    - atoi
    - mworker_free_child
    - list_for_each_entry
    - ha_warning
    - LIST_APPEND
    - strdup
    - free
    - mworker_proc_new
    - getenv
    - strtok_r
    linkageType: ''
    returnType: int
    signature: mworker_env_to_proc_list()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/haproxy/src/mworker.c:274,1
    - Dst: sigaddset
      Src: /src/haproxy/src/mworker.c:275,1
    - Dst: sigaddset
      Src: /src/haproxy/src/mworker.c:276,1
    - Dst: sigaddset
      Src: /src/haproxy/src/mworker.c:277,1
    - Dst: sigaddset
      Src: /src/haproxy/src/mworker.c:278,1
    - Dst: sigaddset
      Src: /src/haproxy/src/mworker.c:279,1
    - Dst: sigaddset
      Src: /src/haproxy/src/mworker.c:280,1
    - Dst: ha_sigmask
      Src: /src/haproxy/src/mworker.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 282
    functionName: mworker_block_signals
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - sigaddset
    - ha_sigmask
    - sigemptyset
    linkageType: ''
    returnType: void
    signature: mworker_block_signals()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: haproxy_unblock_signals
      Src: /src/haproxy/src/mworker.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: mworker_unblock_signals
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 1
    functionsReached:
    - haproxy_unblock_signals
    linkageType: ''
    returnType: void
    signature: mworker_unblock_signals()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mworker_kill
      Src: /src/haproxy/src/mworker.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sh
    argTypes:
    - struct sig_handler*
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: mworker_broadcast_signal
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - mworker_kill
    linkageType: ''
    returnType: void
    signature: mworker_broadcast_signal(struct sig_handler *sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mworker_block_signals
      Src: /src/haproxy/src/mworker.c:312,1
    - Dst: clean_env
      Src: /src/haproxy/src/mworker.c:321,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:322,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:323,1
    - Dst: restore_env
      Src: /src/haproxy/src/mworker.c:326,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:327,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:328,1
    - Dst: setenv
      Src: /src/haproxy/src/mworker.c:331,1
    - Dst: mworker_proc_list_to_env
      Src: /src/haproxy/src/mworker.c:333,1
    - Dst: mworker_cli_proxy_stop
      Src: /src/haproxy/src/mworker.c:340,1
    - Dst: deinit_pollers
      Src: /src/haproxy/src/mworker.c:343,1
    - Dst: RAND_keep_random_devices_open
      Src: /src/haproxy/src/mworker.c:347,1
    - Dst: raise_rlim_nofile
      Src: /src/haproxy/src/mworker.c:353,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker.c:354,1
    - Dst: calloc
      Src: /src/haproxy/src/mworker.c:364,1
    - Dst: mworker_child_nb
      Src: /src/haproxy/src/mworker.c:364,1
    - Dst: strcmp
      Src: /src/haproxy/src/mworker.c:373,1
    - Dst: mworker_child_nb
      Src: /src/haproxy/src/mworker.c:379,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:387,1
    - Dst: memprintf
      Src: /src/haproxy/src/mworker.c:393,1
    - Dst: memprintf
      Src: /src/haproxy/src/mworker.c:401,1
    - Dst: startup_logs_free
      Src: /src/haproxy/src/mworker.c:420,1
    - Dst: signal
      Src: /src/haproxy/src/mworker.c:422,1
    - Dst: execvp
      Src: /src/haproxy/src/mworker.c:423,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker.c:424,1
    - Dst: strerror
      Src: /src/haproxy/src/mworker.c:424,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:425,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:429,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker.c:430,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 1
    argNames:
    - hardreload
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 432
      start: 301
    functionDepth: 6
    functionLinenumber: 301
    functionLinenumberEnd: 432
    functionName: mworker_reexec
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - memprintf
    - ha_free
    - ha_warning
    - mworker_cli_proxy_stop
    - strerror
    - list_for_each_entry
    - mworker_proc_list_to_env
    - strcmp
    - clean_env
    - setenv
    - exit
    - raise_rlim_nofile
    - restore_env
    - RAND_keep_random_devices_open
    - startup_logs_free
    - deinit_pollers
    - mworker_block_signals
    - execvp
    - calloc
    - signal
    - mworker_child_nb
    linkageType: ''
    returnType: void
    signature: mworker_reexec(int hardreload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_notice
      Src: /src/haproxy/src/mworker.c:440,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:443,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:450,1
    - Dst: clock_gettime
      Src: /src/haproxy/src/mworker.c:457,1
    - Dst: sd_notifyf
      Src: /src/haproxy/src/mworker.c:459,1
    - Dst: mworker_reexec
      Src: /src/haproxy/src/mworker.c:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - hardreload
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 466
      start: 435
    functionDepth: 7
    functionLinenumber: 435
    functionLinenumberEnd: 466
    functionName: mworker_reload
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - clock_gettime
    - sd_notifyf
    - ha_notice
    - mworker_reexec
    linkageType: ''
    returnType: void
    signature: mworker_reload(int hardreload)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mworker_reload
      Src: /src/haproxy/src/mworker.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sh
    argTypes:
    - struct sig_handler*
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 8
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: mworker_catch_sighup
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - mworker_reload
    linkageType: ''
    returnType: void
    signature: mworker_catch_sighup(struct sig_handler *sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sd_notify
      Src: /src/haproxy/src/mworker.c:482,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker.c:484,1
    - Dst: mworker_kill
      Src: /src/haproxy/src/mworker.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sh
    argTypes:
    - struct sig_handler*
    constantsTouched: []
    func_position:
      end: 486
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 486
    functionName: mworker_catch_sigterm
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - sd_notify
    - mworker_kill
    linkageType: ''
    returnType: void
    signature: mworker_catch_sigterm(struct sig_handler *sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:497,1
    - Dst: sock_drop_unused_old_sockets
      Src: /src/haproxy/src/mworker.c:502,1
    - Dst: usermsgs_clr
      Src: /src/haproxy/src/mworker.c:504,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker.c:506,1
    - Dst: sd_notify
      Src: /src/haproxy/src/mworker.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 511
    functionName: mworker_on_new_child_failure
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - sd_notify
    - list_for_each_entry
    - ha_warning
    - sock_drop_unused_old_sockets
    - usermsgs_clr
    linkageType: ''
    returnType: void
    signature: mworker_on_new_child_failure()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: waitpid
      Src: /src/haproxy/src/mworker.c:529,1
    - Dst: WIFEXITED
      Src: /src/haproxy/src/mworker.c:533,1
    - Dst: WEXITSTATUS
      Src: /src/haproxy/src/mworker.c:534,1
    - Dst: WIFSIGNALED
      Src: /src/haproxy/src/mworker.c:535,1
    - Dst: WTERMSIG
      Src: /src/haproxy/src/mworker.c:536,1
    - Dst: WIFSTOPPED
      Src: /src/haproxy/src/mworker.c:537,1
    - Dst: WSTOPSIG
      Src: /src/haproxy/src/mworker.c:538,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/mworker.c:543,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/mworker.c:547,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker.c:554,1
    - Dst: strsignal
      Src: /src/haproxy/src/mworker.c:554,1
    - Dst: mworker_on_new_child_failure
      Src: /src/haproxy/src/mworker.c:556,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/mworker.c:560,1
    - Dst: unbind_listener
      Src: /src/haproxy/src/mworker.c:562,1
    - Dst: delete_listener
      Src: /src/haproxy/src/mworker.c:563,1
    - Dst: srv_drop
      Src: /src/haproxy/src/mworker.c:570,1
    - Dst: fd_delete
      Src: /src/haproxy/src/mworker.c:573,1
    - Dst: mworker_free_child
      Src: /src/haproxy/src/mworker.c:575,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:584,1
    - Dst: fd_delete
      Src: /src/haproxy/src/mworker.c:589,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker.c:591,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:593,1
    - Dst: strsignal
      Src: /src/haproxy/src/mworker.c:593,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:596,1
    - Dst: strsignal
      Src: /src/haproxy/src/mworker.c:596,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker.c:600,1
    - Dst: display_version
      Src: /src/haproxy/src/mworker.c:601,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:605,1
    - Dst: mworker_kill
      Src: /src/haproxy/src/mworker.c:606,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker.c:615,1
    - Dst: strsignal
      Src: /src/haproxy/src/mworker.c:615,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker.c:617,1
    - Dst: strsignal
      Src: /src/haproxy/src/mworker.c:617,1
    - Dst: fd_delete
      Src: /src/haproxy/src/mworker.c:619,1
    - Dst: delete_oldpid
      Src: /src/haproxy/src/mworker.c:620,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker.c:625,1
    - Dst: strsignal
      Src: /src/haproxy/src/mworker.c:625,1
    - Dst: mworker_free_child
      Src: /src/haproxy/src/mworker.c:628,1
    - Dst: ha_warning
      Src: /src/haproxy/src/mworker.c:637,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:640,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:641,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 88
    argCount: 1
    argNames:
    - sh
    argTypes:
    - struct sig_handler*
    constantsTouched: []
    func_position:
      end: 644
      start: 517
    functionDepth: 5
    functionLinenumber: 517
    functionLinenumberEnd: 644
    functionName: mworker_catch_sigchld
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ha_warning
    - WIFEXITED
    - WSTOPSIG
    - LIST_DELETE
    - mworker_kill
    - WTERMSIG
    - WIFSIGNALED
    - delete_oldpid
    - mworker_on_new_child_failure
    - waitpid
    - exit
    - mworker_free_child
    - fd_delete
    - WIFSTOPPED
    - strsignal
    - WEXITSTATUS
    - list_for_each_entry_safe
    - delete_listener
    - display_version
    - srv_drop
    - unbind_listener
    linkageType: ''
    returnType: void
    signature: mworker_catch_sigchld(struct sig_handler *sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/haproxy/src/mworker.c:659,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/mworker.c:664,1
    - Dst: listener_accept
      Src: /src/haproxy/src/mworker.c:672,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:682,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 686
      start: 653
    functionDepth: 5
    functionLinenumber: 653
    functionLinenumberEnd: 686
    functionName: mworker_accept_wrapper
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - listener_accept
    - recv
    - fd_cant_recv
    - exit
    linkageType: ''
    returnType: void
    signature: mworker_accept_wrapper(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_set_nonblock
      Src: /src/haproxy/src/mworker.c:704,1
    - Dst: fd_want_recv
      Src: /src/haproxy/src/mworker.c:707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 709
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 709
    functionName: mworker_sockpair_register_per_thread
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - fd_want_recv
    - fd_set_nonblock
    linkageType: ''
    returnType: int
    signature: mworker_sockpair_register_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stop_proxy
      Src: /src/haproxy/src/mworker.c:729,1
    - Dst: signal_unregister_handler
      Src: /src/haproxy/src/mworker.c:732,1
    - Dst: task_destroy
      Src: /src/haproxy/src/mworker.c:733,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/mworker.c:742,1
    - Dst: unbind_listener
      Src: /src/haproxy/src/mworker.c:745,1
    - Dst: delete_listener
      Src: /src/haproxy/src/mworker.c:746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 755
      start: 718
    functionDepth: 4
    functionLinenumber: 718
    functionLinenumberEnd: 755
    functionName: mworker_cleanlisteners
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 1
    functionsReached:
    - stop_proxy
    - list_for_each_entry_safe
    - delete_listener
    - signal_unregister_handler
    - task_destroy
    - unbind_listener
    linkageType: ''
    returnType: void
    signature: mworker_cleanlisteners()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/mworker.c:765,1
    - Dst: close
      Src: /src/haproxy/src/mworker.c:770,1
    - Dst: close
      Src: /src/haproxy/src/mworker.c:772,1
    - Dst: srv_drop
      Src: /src/haproxy/src/mworker.c:775,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/mworker.c:777,1
    - Dst: mworker_free_child
      Src: /src/haproxy/src/mworker.c:778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 781
      start: 761
    functionDepth: 5
    functionLinenumber: 761
    functionLinenumberEnd: 781
    functionName: mworker_cleanup_proc
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_safe
    - LIST_DELETE
    - srv_drop
    - mworker_free_child
    - close
    linkageType: ''
    returnType: void
    signature: mworker_cleanup_proc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/mworker.c:801,1
    - Dst: memprintf
      Src: /src/haproxy/src/mworker.c:803,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/mworker.c:804,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:806,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:807,1
    - Dst: memprintf
      Src: /src/haproxy/src/mworker.c:808,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:809,1
    - Dst: getpid
      Src: /src/haproxy/src/mworker.c:809,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:811,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:812,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:813,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:814,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:818,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:819,1
    - Dst: memprintf
      Src: /src/haproxy/src/mworker.c:831,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:832,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:834,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:835,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:836,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:844,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:845,1
    - Dst: memprintf
      Src: /src/haproxy/src/mworker.c:854,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:855,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:857,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:858,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:859,1
    - Dst: free
      Src: /src/haproxy/src/mworker.c:862,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:867,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:880,1
    - Dst: memprintf
      Src: /src/haproxy/src/mworker.c:882,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:883,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:884,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:888,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:889,1
    - Dst: memprintf
      Src: /src/haproxy/src/mworker.c:898,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:899,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:900,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/mworker.c:907,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 912
      start: 788
    functionDepth: 5
    functionLinenumber: 788
    functionLinenumberEnd: 912
    functionName: cli_io_handler_show_proc
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_reset
    - ha_free
    - list_for_each_entry
    - getpid
    - chunk_printf
    - chunk_appendf
    - free
    - applet_putchk
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_proc(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/mworker.c:918,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/mworker.c:920,1
    - Dst: strcmp
      Src: /src/haproxy/src/mworker.c:925,1
    - Dst: cli_err
      Src: /src/haproxy/src/mworker.c:928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 932
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 932
    functionName: cli_parse_show_proc
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cli_err
    - applet_reserve_svcctx
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_show_proc(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/mworker.c:944,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:947,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/mworker.c:952,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:953,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:954,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/mworker.c:956,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/mworker.c:970,1
    - Dst: sc_strm
      Src: /src/haproxy/src/mworker.c:972,1
    - Dst: sc_conn
      Src: /src/haproxy/src/mworker.c:974,1
    - Dst: conn_fd
      Src: /src/haproxy/src/mworker.c:976,1
    - Dst: send_fd_uxst
      Src: /src/haproxy/src/mworker.c:979,1
    - Dst: fd_delete
      Src: /src/haproxy/src/mworker.c:980,1
    - Dst: mworker_reload
      Src: /src/haproxy/src/mworker.c:982,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 985
      start: 935
    functionDepth: 8
    functionLinenumber: 935
    functionLinenumberEnd: 985
    functionName: cli_parse_reload
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - mworker_reload
    - conn_fd
    - fd_delete
    - list_for_each_entry
    - send_fd_uxst
    - sc_strm
    - chunk_printf
    - chunk_appendf
    - applet_putchk
    - cli_has_level
    - sc_conn
    linkageType: ''
    returnType: int
    signature: cli_parse_reload(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/mworker.c:993,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:999,1
    - Dst: tick_add
      Src: /src/haproxy/src/mworker.c:1001,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/mworker.c:1007,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/mworker.c:1009,1
    - Dst: ring_data
      Src: /src/haproxy/src/mworker.c:1011,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mworker.c:1012,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/mworker.c:1014,1
    - Dst: ring_attach_cli
      Src: /src/haproxy/src/mworker.c:1019,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1023
      start: 989
    functionDepth: 2
    functionLinenumber: 989
    functionLinenumberEnd: 1023
    functionName: cli_io_handler_show_loadstatus
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - tick_add
    - ring_attach_cli
    - chunk_printf
    - chunk_appendf
    - applet_putchk
    - cli_has_level
    - ring_data
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_loadstatus(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/mworker.c:1031,1
    - Dst: too_many_args
      Src: /src/haproxy/src/mworker.c:1032,1
    - Dst: memprintf
      Src: /src/haproxy/src/mworker.c:1036,1
    - Dst: atol
      Src: /src/haproxy/src/mworker.c:1040,1
    - Dst: memprintf
      Src: /src/haproxy/src/mworker.c:1042,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mworker.c:1046,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - linenum
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1051
      start: 1025
    functionDepth: 7
    functionLinenumber: 1025
    functionLinenumberEnd: 1051
    functionName: mworker_parse_global_max_reloads
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - atol
    - BUG_ON
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "mworker_parse_global_max_reloads(char **args, int section_type, struct
      proxy *curpx,\n           const struct proxy *defpx, const char *file, int linenum,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:1061,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:1063,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:1064,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:1065,1
    - Dst: free
      Src: /src/haproxy/src/mworker.c:1066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - child
    argTypes:
    - struct mworker_proc*
    constantsTouched: []
    func_position:
      end: 1067
      start: 1053
    functionDepth: 3
    functionLinenumber: 1053
    functionLinenumberEnd: 1067
    functionName: mworker_free_child
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 4
    functionsReached:
    - free
    - ha_free
    linkageType: ''
    returnType: void
    signature: mworker_free_child(struct mworker_proc *child)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mworker.c:1074,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/mworker.c:1077,1
    - Dst: mworker_cli_master_proxy_new_listener
      Src: /src/haproxy/src/mworker.c:1078,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:1079,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:1080,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/mworker.c:1082,1
    - Dst: free
      Src: /src/haproxy/src/mworker.c:1083,1
    - Dst: free
      Src: /src/haproxy/src/mworker.c:1084,1
    - Dst: socketpair
      Src: /src/haproxy/src/mworker.c:1096,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:1097,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:1098,1
    - Dst: memprintf
      Src: /src/haproxy/src/mworker.c:1103,1
    - Dst: mworker_cli_master_proxy_new_listener
      Src: /src/haproxy/src/mworker.c:1105,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:1107,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:1108,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:1110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1070
    functionDepth: 5
    functionLinenumber: 1070
    functionLinenumberEnd: 1112
    functionName: mworker_create_master_cli
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - socketpair
    - memprintf
    - list_for_each_entry_safe
    - LIST_ISEMPTY
    - ha_free
    - LIST_DELETE
    - free
    - mworker_cli_master_proxy_new_listener
    - exit
    linkageType: ''
    returnType: void
    signature: mworker_create_master_cli(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/haproxy/src/mworker.c:1123,1
    - Dst: getenv
      Src: /src/haproxy/src/mworker.c:1125,1
    - Dst: mworker_proc_new
      Src: /src/haproxy/src/mworker.c:1127,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:1129,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:1130,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mworker.c:1137,1
    - Dst: mworker_proc_new
      Src: /src/haproxy/src/mworker.c:1140,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:1142,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:1143,1
    - Dst: socketpair
      Src: /src/haproxy/src/mworker.c:1151,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:1152,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:1153,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mworker.c:1155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1119
    functionDepth: 4
    functionLinenumber: 1119
    functionLinenumberEnd: 1156
    functionName: mworker_prepare_master
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - socketpair
    - exit
    - LIST_APPEND
    - setenv
    - mworker_proc_new
    - getenv
    linkageType: ''
    returnType: void
    signature: mworker_prepare_master(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal_unregister
      Src: /src/haproxy/src/mworker.c:1165,1
    - Dst: signal_unregister
      Src: /src/haproxy/src/mworker.c:1166,1
    - Dst: signal_unregister
      Src: /src/haproxy/src/mworker.c:1167,1
    - Dst: signal_unregister
      Src: /src/haproxy/src/mworker.c:1168,1
    - Dst: signal_unregister
      Src: /src/haproxy/src/mworker.c:1169,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/mworker.c:1171,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/mworker.c:1172,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/mworker.c:1173,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/mworker.c:1174,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/mworker.c:1175,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/mworker.c:1176,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/mworker.c:1177,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/mworker.c:1178,1
    - Dst: mworker_unblock_signals
      Src: /src/haproxy/src/mworker.c:1180,1
    - Dst: mworker_cleantasks
      Src: /src/haproxy/src/mworker.c:1181,1
    - Dst: mworker_catch_sigchld
      Src: /src/haproxy/src/mworker.c:1183,1
    - Dst: fork_poller
      Src: /src/haproxy/src/mworker.c:1190,1
    - Dst: run_thread_poll_loop
      Src: /src/haproxy/src/mworker.c:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1158
    functionDepth: 6
    functionLinenumber: 1158
    functionLinenumberEnd: 1192
    functionName: mworker_loop
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - run_thread_poll_loop
    - signal_unregister
    - mworker_unblock_signals
    - signal_register_fct
    - mworker_catch_sigchld
    - mworker_cleantasks
    - fork_poller
    linkageType: ''
    returnType: void
    signature: mworker_loop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mworker_loop
      Src: /src/haproxy/src/mworker.c:1199,1
    - Dst: ssl_free_dh
      Src: /src/haproxy/src/mworker.c:1201,1
    - Dst: mworker_cli_proxy_stop
      Src: /src/haproxy/src/mworker.c:1205,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/mworker.c:1208,1
    - Dst: close
      Src: /src/haproxy/src/mworker.c:1214,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/mworker.c:1217,1
    - Dst: mworker_free_child
      Src: /src/haproxy/src/mworker.c:1218,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:1222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1194
    functionDepth: 7
    functionLinenumber: 1194
    functionLinenumberEnd: 1223
    functionName: mworker_run_master
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - ssl_free_dh
    - list_for_each_entry_safe
    - mworker_free_child
    - mworker_cli_proxy_stop
    - LIST_DELETE
    - exit
    - mworker_loop
    - close
    linkageType: ''
    returnType: void
    signature: mworker_run_master(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fork
      Src: /src/haproxy/src/mworker.c:1241,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:1244,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:1246,1
    - Dst: close
      Src: /src/haproxy/src/mworker.c:1249,1
    - Dst: unsetenv
      Src: /src/haproxy/src/mworker.c:1254,1
    - Dst: ha_random_jump96
      Src: /src/haproxy/src/mworker.c:1255,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:1257,1
    - Dst: close
      Src: /src/haproxy/src/mworker.c:1259,1
    - Dst: mworker_cli_global_proxy_new_listener
      Src: /src/haproxy/src/mworker.c:1268,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:1269,1
    - Dst: close
      Src: /src/haproxy/src/mworker.c:1281,1
    - Dst: close
      Src: /src/haproxy/src/mworker.c:1283,1
    - Dst: ha_notice
      Src: /src/haproxy/src/mworker.c:1289,1
    - Dst: mworker_cli_create_master_proxy
      Src: /src/haproxy/src/mworker.c:1300,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:1301,1
    - Dst: free
      Src: /src/haproxy/src/mworker.c:1302,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:1303,1
    - Dst: mworker_cli_attach_server
      Src: /src/haproxy/src/mworker.c:1307,1
    - Dst: ha_alert
      Src: /src/haproxy/src/mworker.c:1308,1
    - Dst: free
      Src: /src/haproxy/src/mworker.c:1309,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:1310,1
    - Dst: mworker_create_master_cli
      Src: /src/haproxy/src/mworker.c:1314,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mworker.c:1317,1
    - Dst: strdup
      Src: /src/haproxy/src/mworker.c:1321,1
    - Dst: close
      Src: /src/haproxy/src/mworker.c:1323,1
    - Dst: memprintf
      Src: /src/haproxy/src/mworker.c:1327,1
    - Dst: mworker_cli_master_proxy_new_listener
      Src: /src/haproxy/src/mworker.c:1328,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:1329,1
    - Dst: exit
      Src: /src/haproxy/src/mworker.c:1330,1
    - Dst: ha_free
      Src: /src/haproxy/src/mworker.c:1332,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1234
    functionDepth: 6
    functionLinenumber: 1234
    functionLinenumberEnd: 1338
    functionName: mworker_apply_master_worker_mode
    functionSourceFile: /src/haproxy/src/mworker.c
    functionUses: 0
    functionsReached:
    - fork
    - ha_alert
    - unsetenv
    - ha_random_jump96
    - memprintf
    - mworker_cli_attach_server
    - ha_free
    - list_for_each_entry
    - strdup
    - free
    - mworker_cli_create_master_proxy
    - ha_notice
    - mworker_create_master_cli
    - mworker_cli_master_proxy_new_listener
    - exit
    - close
    - mworker_cli_global_proxy_new_listener
    linkageType: ''
    returnType: void
    signature: mworker_apply_master_worker_mode(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/src/slz.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - strm
    - x
    - xbits
    argTypes:
    - struct slz_stream*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 183
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 183
    functionName: enqueue24
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - __builtin_expect
    linkageType: ''
    returnType: void
    signature: enqueue24(struct slz_stream *strm, uint32_t x, uint32_t xbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - strm
    argTypes:
    - struct slz_stream*
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: flush_bits
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: flush_bits(struct slz_stream *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - strm
    - x
    - xbits
    argTypes:
    - struct slz_stream*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 237
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 237
    functionName: enqueue24
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: enqueue24(struct slz_stream *strm, uint32_t x, uint32_t xbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/src/slz.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - strm
    - x
    - xbits
    argTypes:
    - struct slz_stream*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: enqueue8
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - __builtin_expect
    linkageType: ''
    returnType: void
    signature: enqueue8(struct slz_stream *strm, uint32_t x, uint32_t xbits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - strm
    argTypes:
    - struct slz_stream*
    constantsTouched: []
    func_position:
      end: 268
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 268
    functionName: flush_bits
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: flush_bits(struct slz_stream *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - x
    argTypes:
    - struct slz_stream*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: copy_8b
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: copy_8b(struct slz_stream *strm, uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - strm
    - x
    argTypes:
    - struct slz_stream*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: copy_16b
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: copy_16b(struct slz_stream *strm, uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - strm
    - x
    argTypes:
    - struct slz_stream*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: copy_32b
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: copy_32b(struct slz_stream *strm, uint32_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enqueue24
      Src: /src/haproxy/src/slz.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - strm
    - code
    argTypes:
    - struct slz_stream*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 304
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionName: send_huff
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - enqueue24
    linkageType: ''
    returnType: void
    signature: send_huff(struct slz_stream *strm, uint32_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enqueue8
      Src: /src/haproxy/src/slz.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - strm
    argTypes:
    - struct slz_stream*
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: send_eob
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - enqueue8
    linkageType: ''
    returnType: void
    signature: send_eob(struct slz_stream *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/src/slz.c:320,1
    - Dst: send_eob
      Src: /src/haproxy/src/slz.c:326,1
    - Dst: enqueue8
      Src: /src/haproxy/src/slz.c:330,1
    - Dst: flush_bits
      Src: /src/haproxy/src/slz.c:331,1
    - Dst: copy_16b
      Src: /src/haproxy/src/slz.c:332,1
    - Dst: copy_16b
      Src: /src/haproxy/src/slz.c:333,1
    - Dst: memcpy
      Src: /src/haproxy/src/slz.c:334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - strm
    - buf
    - len
    - more
    argTypes:
    - struct slz_stream*
    - void*
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 338
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 338
    functionName: copy_lit
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - enqueue8
    - flush_bits
    - send_eob
    - copy_16b
    - __builtin_expect
    - memcpy
    linkageType: ''
    returnType: void
    signature: copy_lit(struct slz_stream *strm, const void *buf, uint32_t len, int
      more)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enqueue8
      Src: /src/haproxy/src/slz.c:353,1
    - Dst: send_eob
      Src: /src/haproxy/src/slz.c:356,1
    - Dst: send_huff
      Src: /src/haproxy/src/slz.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - strm
    - buf
    - len
    - more
    argTypes:
    - struct slz_stream*
    - unsigned char*
    - uint32_t
    - int
    constantsTouched: []
    func_position:
      end: 364
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 364
    functionName: copy_lit_huff
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - send_huff
    - enqueue8
    - send_eob
    linkageType: ''
    returnType: void
    signature: copy_lit_huff(struct slz_stream *strm, const unsigned char *buf, uint32_t
      len, int more)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 388
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 388
    functionName: slz_hash
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: slz_hash(uint32_t a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 3
    argNames:
    - a
    - b
    - max
    argTypes:
    - unsigned char*
    - unsigned char*
    - long
    constantsTouched: []
    func_position:
      end: 467
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 467
    functionName: memmatch
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: memmatch(const unsigned char *a, const unsigned char *b, long max)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - refs
    - count
    argTypes:
    - union ref*
    - long
    constantsTouched: []
    func_position:
      end: 499
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 499
    functionName: reset_refs
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: reset_refs(union ref *refs, long count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: reset_refs
      Src: /src/haproxy/src/slz.c:531,1
    - Dst: slz_hash
      Src: /src/haproxy/src/slz.c:544,1
    - Dst: memmatch
      Src: /src/haproxy/src/slz.c:586,1
    - Dst: memmatch
      Src: /src/haproxy/src/slz.c:621,1
    - Dst: copy_lit
      Src: /src/haproxy/src/slz.c:652,1
    - Dst: copy_lit_huff
      Src: /src/haproxy/src/slz.c:654,1
    - Dst: enqueue8
      Src: /src/haproxy/src/slz.c:662,1
    - Dst: enqueue24
      Src: /src/haproxy/src/slz.c:666,1
    - Dst: enqueue24
      Src: /src/haproxy/src/slz.c:669,1
    - Dst: __builtin_expect
      Src: /src/haproxy/src/slz.c:683,1
    - Dst: copy_lit
      Src: /src/haproxy/src/slz.c:695,1
    - Dst: copy_lit_huff
      Src: /src/haproxy/src/slz.c:697,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 100
    argCount: 5
    argNames:
    - strm
    - out
    - in
    - ilen
    - more
    argTypes:
    - struct slz_stream*
    - unsigned char*
    - unsigned char*
    - long
    - int
    constantsTouched: []
    func_position:
      end: 704
      start: 508
    functionDepth: 3
    functionLinenumber: 508
    functionLinenumberEnd: 704
    functionName: slz_rfc1951_encode
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - enqueue24
    - enqueue8
    - slz_hash
    - reset_refs
    - copy_lit
    - memmatch
    - __builtin_expect
    - copy_lit_huff
    linkageType: ''
    returnType: long
    signature: slz_rfc1951_encode(struct slz_stream *strm, unsigned char *out, const
      unsigned char *in, long ilen, int more)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - strm
    - level
    argTypes:
    - struct slz_stream*
    - int
    constantsTouched: []
    func_position:
      end: 721
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 721
    functionName: slz_rfc1951_init
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: slz_rfc1951_init(struct slz_stream *strm, int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send_eob
      Src: /src/haproxy/src/slz.c:743,1
    - Dst: enqueue8
      Src: /src/haproxy/src/slz.c:747,1
    - Dst: flush_bits
      Src: /src/haproxy/src/slz.c:748,1
    - Dst: copy_32b
      Src: /src/haproxy/src/slz.c:749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - strm
    - buf
    argTypes:
    - struct slz_stream*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 757
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 757
    functionName: slz_rfc1951_flush
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - copy_32b
    - flush_bits
    - enqueue8
    - send_eob
    linkageType: ''
    returnType: int
    signature: slz_rfc1951_flush(struct slz_stream *strm, unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send_eob
      Src: /src/haproxy/src/slz.c:772,1
    - Dst: enqueue8
      Src: /src/haproxy/src/slz.c:777,1
    - Dst: send_eob
      Src: /src/haproxy/src/slz.c:778,1
    - Dst: flush_bits
      Src: /src/haproxy/src/slz.c:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - strm
    - buf
    argTypes:
    - struct slz_stream*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 784
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 784
    functionName: slz_rfc1951_finish
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - flush_bits
    - enqueue8
    - send_eob
    linkageType: ''
    returnType: int
    signature: slz_rfc1951_finish(struct slz_stream *strm, unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - crc
    - x
    argTypes:
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 929
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 929
    functionName: crc32_char
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: crc32_char(uint32_t crc, uint8_t x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 949
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 949
    functionName: crc32_uint32
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: crc32_uint32(uint32_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crc32_char
      Src: /src/haproxy/src/slz.c:957,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - crc
    - buf
    - len
    argTypes:
    - uint32_t
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 959
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 959
    functionName: slz_crc32_by1
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - crc32_char
    linkageType: ''
    returnType: uint32_t
    signature: slz_crc32_by1(uint32_t crc, const unsigned char *buf, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crc32_uint32
      Src: /src/haproxy/src/slz.c:988,1
    - Dst: crc32_uint32
      Src: /src/haproxy/src/slz.c:991,1
    - Dst: crc32_uint32
      Src: /src/haproxy/src/slz.c:994,1
    - Dst: crc32_uint32
      Src: /src/haproxy/src/slz.c:997,1
    - Dst: crc32_uint32
      Src: /src/haproxy/src/slz.c:1026,1
    - Dst: crc32_char
      Src: /src/haproxy/src/slz.c:1037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 3
    argNames:
    - crc
    - buf
    - len
    argTypes:
    - uint32_t
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1039
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 1039
    functionName: slz_crc32_by4
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - crc32_uint32
    - crc32_char
    linkageType: ''
    returnType: uint32_t
    signature: slz_crc32_by4(uint32_t crc, const unsigned char *buf, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slz_crc32_by4
      Src: /src/haproxy/src/slz.c:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - crc
    - buf
    - len
    argTypes:
    - uint32_t
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 1045
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1045
    functionName: update_crc
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - slz_crc32_by4
    linkageType: ''
    returnType: uint32_t
    signature: update_crc(uint32_t crc, const void *buf, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/slz.c:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - strm
    - buf
    argTypes:
    - struct slz_stream*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1057
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1057
    functionName: slz_rfc1952_send_header
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: slz_rfc1952_send_header(struct slz_stream *strm, unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/src/slz.c:1067,1
    - Dst: slz_rfc1952_send_header
      Src: /src/haproxy/src/slz.c:1068,1
    - Dst: update_crc
      Src: /src/haproxy/src/slz.c:1070,1
    - Dst: slz_rfc1951_encode
      Src: /src/haproxy/src/slz.c:1071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - strm
    - out
    - in
    - ilen
    - more
    argTypes:
    - struct slz_stream*
    - unsigned char*
    - unsigned char*
    - long
    - int
    constantsTouched: []
    func_position:
      end: 1073
      start: 1063
    functionDepth: 4
    functionLinenumber: 1063
    functionLinenumberEnd: 1073
    functionName: slz_rfc1952_encode
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - slz_rfc1951_encode
    - __builtin_expect
    - slz_rfc1952_send_header
    - update_crc
    linkageType: ''
    returnType: long
    signature: slz_rfc1952_encode(struct slz_stream *strm, unsigned char *out, const
      unsigned char *in, long ilen, int more)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - strm
    - level
    argTypes:
    - struct slz_stream*
    - int
    constantsTouched: []
    func_position:
      end: 1090
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1090
    functionName: slz_rfc1952_init
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: slz_rfc1952_init(struct slz_stream *strm, int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/src/slz.c:1106,1
    - Dst: slz_rfc1952_send_header
      Src: /src/haproxy/src/slz.c:1107,1
    - Dst: slz_rfc1951_flush
      Src: /src/haproxy/src/slz.c:1109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - strm
    - buf
    argTypes:
    - struct slz_stream*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1111
      start: 1102
    functionDepth: 3
    functionLinenumber: 1102
    functionLinenumberEnd: 1111
    functionName: slz_rfc1952_flush
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - __builtin_expect
    - slz_rfc1952_send_header
    - slz_rfc1951_flush
    linkageType: ''
    returnType: int
    signature: slz_rfc1952_flush(struct slz_stream *strm, unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/src/slz.c:1126,1
    - Dst: slz_rfc1952_send_header
      Src: /src/haproxy/src/slz.c:1127,1
    - Dst: slz_rfc1951_finish
      Src: /src/haproxy/src/slz.c:1129,1
    - Dst: copy_32b
      Src: /src/haproxy/src/slz.c:1130,1
    - Dst: copy_32b
      Src: /src/haproxy/src/slz.c:1131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - strm
    - buf
    argTypes:
    - struct slz_stream*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1135
      start: 1122
    functionDepth: 3
    functionLinenumber: 1122
    functionLinenumberEnd: 1135
    functionName: slz_rfc1952_finish
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - slz_rfc1951_finish
    - __builtin_expect
    - slz_rfc1952_send_header
    - copy_32b
    linkageType: ''
    returnType: int
    signature: slz_rfc1952_finish(struct slz_stream *strm, unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - crc
    - buf
    - len
    argTypes:
    - uint32_t
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 1269
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1269
    functionName: slz_adler32_by1
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: slz_adler32_by1(uint32_t crc, const unsigned char *buf, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - crc
    - buf
    - len
    argTypes:
    - uint32_t
    - unsigned char*
    - long
    constantsTouched: []
    func_position:
      end: 1321
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1321
    functionName: slz_adler32_block
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: slz_adler32_block(uint32_t crc, const unsigned char *buf, long len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/slz.c:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - strm
    - buf
    argTypes:
    - struct slz_stream*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1333
    functionName: slz_rfc1950_send_header
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: slz_rfc1950_send_header(struct slz_stream *strm, unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/src/slz.c:1343,1
    - Dst: slz_rfc1950_send_header
      Src: /src/haproxy/src/slz.c:1344,1
    - Dst: slz_adler32_block
      Src: /src/haproxy/src/slz.c:1346,1
    - Dst: slz_rfc1951_encode
      Src: /src/haproxy/src/slz.c:1347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - strm
    - out
    - in
    - ilen
    - more
    argTypes:
    - struct slz_stream*
    - unsigned char*
    - unsigned char*
    - long
    - int
    constantsTouched: []
    func_position:
      end: 1349
      start: 1339
    functionDepth: 4
    functionLinenumber: 1339
    functionLinenumberEnd: 1349
    functionName: slz_rfc1950_encode
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - slz_rfc1950_send_header
    - __builtin_expect
    - slz_adler32_block
    - slz_rfc1951_encode
    linkageType: ''
    returnType: long
    signature: slz_rfc1950_encode(struct slz_stream *strm, unsigned char *out, const
      unsigned char *in, long ilen, int more)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - strm
    - level
    argTypes:
    - struct slz_stream*
    - int
    constantsTouched: []
    func_position:
      end: 1366
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1366
    functionName: slz_rfc1950_init
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: slz_rfc1950_init(struct slz_stream *strm, int level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/src/slz.c:1382,1
    - Dst: slz_rfc1950_send_header
      Src: /src/haproxy/src/slz.c:1383,1
    - Dst: slz_rfc1951_flush
      Src: /src/haproxy/src/slz.c:1385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - strm
    - buf
    argTypes:
    - struct slz_stream*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1387
      start: 1378
    functionDepth: 3
    functionLinenumber: 1378
    functionLinenumberEnd: 1387
    functionName: slz_rfc1950_flush
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - slz_rfc1950_send_header
    - __builtin_expect
    - slz_rfc1951_flush
    linkageType: ''
    returnType: int
    signature: slz_rfc1950_flush(struct slz_stream *strm, unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/src/slz.c:1402,1
    - Dst: slz_rfc1952_send_header
      Src: /src/haproxy/src/slz.c:1403,1
    - Dst: slz_rfc1951_finish
      Src: /src/haproxy/src/slz.c:1405,1
    - Dst: copy_8b
      Src: /src/haproxy/src/slz.c:1406,1
    - Dst: copy_8b
      Src: /src/haproxy/src/slz.c:1407,1
    - Dst: copy_8b
      Src: /src/haproxy/src/slz.c:1408,1
    - Dst: copy_8b
      Src: /src/haproxy/src/slz.c:1409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - strm
    - buf
    argTypes:
    - struct slz_stream*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1412
      start: 1398
    functionDepth: 3
    functionLinenumber: 1398
    functionLinenumberEnd: 1412
    functionName: slz_rfc1950_finish
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - slz_rfc1951_finish
    - copy_8b
    - __builtin_expect
    - slz_rfc1952_send_header
    linkageType: ''
    returnType: int
    signature: slz_rfc1950_finish(struct slz_stream *strm, unsigned char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __slz_make_crc_table
      Src: /src/haproxy/src/slz.c:1418,1
    - Dst: __slz_prepare_dist_table
      Src: /src/haproxy/src/slz.c:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1414
    functionDepth: 1
    functionLinenumber: 1414
    functionLinenumberEnd: 1421
    functionName: __slz_initialize
    functionSourceFile: /src/haproxy/src/slz.c
    functionUses: 0
    functionsReached:
    - __slz_make_crc_table
    - __slz_prepare_dist_table
    linkageType: ''
    returnType: void
    signature: __slz_initialize(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:38,1
    - Dst: istend
      Src: /src/haproxy/src/fix.c:39,1
    - Dst: read_uint
      Src: /src/haproxy/src/fix.c:40,1
    - Dst: isttest
      Src: /src/haproxy/src/fix.c:51,1
    - Dst: istissame
      Src: /src/haproxy/src/fix.c:59,1
    - Dst: istissame
      Src: /src/haproxy/src/fix.c:61,1
    - Dst: istissame
      Src: /src/haproxy/src/fix.c:63,1
    - Dst: istissame
      Src: /src/haproxy/src/fix.c:65,1
    - Dst: istissame
      Src: /src/haproxy/src/fix.c:67,1
    - Dst: istissame
      Src: /src/haproxy/src/fix.c:72,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 2
    argNames:
    - str
    - version
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 76
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 76
    functionName: fix_check_id
    functionSourceFile: /src/haproxy/src/fix.c
    functionUses: 0
    functionsReached:
    - istend
    - isttest
    - istptr
    - istissame
    - read_uint
    linkageType: ''
    returnType: unsigned int
    signature: fix_check_id(const struct ist str, const struct ist version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/fix.c:101,1
    - Dst: istlen
      Src: /src/haproxy/src/fix.c:114,1
    - Dst: iststop
      Src: /src/haproxy/src/fix.c:120,1
    - Dst: istfind
      Src: /src/haproxy/src/fix.c:120,1
    - Dst: istend
      Src: /src/haproxy/src/fix.c:123,1
    - Dst: istend
      Src: /src/haproxy/src/fix.c:123,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:128,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:128,1
    - Dst: istlen
      Src: /src/haproxy/src/fix.c:128,1
    - Dst: ist2
      Src: /src/haproxy/src/fix.c:132,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:132,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:132,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:132,1
    - Dst: istnext
      Src: /src/haproxy/src/fix.c:133,1
    - Dst: fix_check_id
      Src: /src/haproxy/src/fix.c:136,1
    - Dst: fix_version
      Src: /src/haproxy/src/fix.c:146,1
    - Dst: isttest
      Src: /src/haproxy/src/fix.c:147,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:155,1
    - Dst: istend
      Src: /src/haproxy/src/fix.c:156,1
    - Dst: read_uint
      Src: /src/haproxy/src/fix.c:157,1
    - Dst: istend
      Src: /src/haproxy/src/fix.c:165,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:177,1
    - Dst: istlen
      Src: /src/haproxy/src/fix.c:180,1
    - Dst: strl2ui
      Src: /src/haproxy/src/fix.c:182,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:182,1
    - Dst: istlen
      Src: /src/haproxy/src/fix.c:182,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:191,1
    - Dst: istend
      Src: /src/haproxy/src/fix.c:191,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:194,1
    - Dst: istend
      Src: /src/haproxy/src/fix.c:194,1
    - Dst: istadv
      Src: /src/haproxy/src/fix.c:199,1
    - Dst: istlen
      Src: /src/haproxy/src/fix.c:199,1
    - Dst: istlen
      Src: /src/haproxy/src/fix.c:199,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 81
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 209
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 209
    functionName: fix_validate_message
    functionSourceFile: /src/haproxy/src/fix.c
    functionUses: 1
    functionsReached:
    - istend
    - istlen
    - ist2
    - istfind
    - isttest
    - istptr
    - read_uint
    - istnext
    - istadv
    - strl2ui
    - iststop
    - fix_check_id
    - fix_version
    linkageType: ''
    returnType: int
    signature: fix_validate_message(const struct ist msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/fix.c:231,1
    - Dst: iststop
      Src: /src/haproxy/src/fix.c:232,1
    - Dst: istfind
      Src: /src/haproxy/src/fix.c:232,1
    - Dst: istend
      Src: /src/haproxy/src/fix.c:235,1
    - Dst: istend
      Src: /src/haproxy/src/fix.c:235,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:239,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:239,1
    - Dst: istlen
      Src: /src/haproxy/src/fix.c:239,1
    - Dst: ist2
      Src: /src/haproxy/src/fix.c:242,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:242,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:242,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:242,1
    - Dst: istnext
      Src: /src/haproxy/src/fix.c:243,1
    - Dst: fix_check_id
      Src: /src/haproxy/src/fix.c:245,1
    - Dst: istadv
      Src: /src/haproxy/src/fix.c:257,1
    - Dst: istlen
      Src: /src/haproxy/src/fix.c:257,1
    - Dst: istlen
      Src: /src/haproxy/src/fix.c:257,1
    - Dst: ist2
      Src: /src/haproxy/src/fix.c:260,1
    - Dst: istptr
      Src: /src/haproxy/src/fix.c:260,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - msg
    - tagid
    argTypes:
    - struct ist
    - unsigned int
    constantsTouched: []
    func_position:
      end: 264
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 264
    functionName: fix_tag_value
    functionSourceFile: /src/haproxy/src/fix.c
    functionUses: 1
    functionsReached:
    - istend
    - istlen
    - ist2
    - istfind
    - istptr
    - istnext
    - istadv
    - iststop
    - fix_check_id
    linkageType: ''
    returnType: struct ist
    signature: fix_tag_value(const struct ist msg, unsigned int tagid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_gencert.c:51,1
    - Dst: NCONF_new
      Src: /src/haproxy/src/ssl_gencert.c:53,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_gencert.c:60,1
    - Dst: X509V3_EXT_nconf_nid
      Src: /src/haproxy/src/ssl_gencert.c:61,1
    - Dst: X509_add_ext
      Src: /src/haproxy/src/ssl_gencert.c:68,1
    - Dst: X509_EXTENSION_free
      Src: /src/haproxy/src/ssl_gencert.c:77,1
    - Dst: NCONF_free
      Src: /src/haproxy/src/ssl_gencert.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - cert
    - servername
    argTypes:
    - X509V3_CTX*
    - X509*
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 81
    functionName: ssl_sock_add_san_ext
    functionSourceFile: /src/haproxy/src/ssl_gencert.c
    functionUses: 0
    functionsReached:
    - NCONF_new
    - X509_EXTENSION_free
    - X509V3_EXT_nconf_nid
    - chunk_appendf
    - get_trash_chunk
    - NCONF_free
    - X509_add_ext
    linkageType: ''
    returnType: int
    signature: ssl_sock_add_san_ext(X509V3_CTX* ctx, X509* cert, const char *servername)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_chose_sni_ctx
      Src: /src/haproxy/src/ssl_gencert.c:101,1
    - Dst: SSL_CTX_get0_privatekey
      Src: /src/haproxy/src/ssl_gencert.c:107,1
    - Dst: SSL_new
      Src: /src/haproxy/src/ssl_gencert.c:109,1
    - Dst: SSL_get_privatekey
      Src: /src/haproxy/src/ssl_gencert.c:111,1
    - Dst: X509_new
      Src: /src/haproxy/src/ssl_gencert.c:117,1
    - Dst: X509_set_version
      Src: /src/haproxy/src/ssl_gencert.c:122,1
    - Dst: ASN1_INTEGER_set
      Src: /src/haproxy/src/ssl_gencert.c:124,1
    - Dst: X509_get_serialNumber
      Src: /src/haproxy/src/ssl_gencert.c:124,1
    - Dst: _HA_ATOMIC_ADD_FETCH
      Src: /src/haproxy/src/ssl_gencert.c:124,1
    - Dst: X509_gmtime_adj
      Src: /src/haproxy/src/ssl_gencert.c:127,1
    - Dst: X509_getm_notBefore
      Src: /src/haproxy/src/ssl_gencert.c:127,1
    - Dst: X509_gmtime_adj
      Src: /src/haproxy/src/ssl_gencert.c:128,1
    - Dst: X509_getm_notAfter
      Src: /src/haproxy/src/ssl_gencert.c:128,1
    - Dst: X509_set_pubkey
      Src: /src/haproxy/src/ssl_gencert.c:132,1
    - Dst: X509_get_subject_name
      Src: /src/haproxy/src/ssl_gencert.c:136,1
    - Dst: X509_set_issuer_name
      Src: /src/haproxy/src/ssl_gencert.c:138,1
    - Dst: X509_NAME_dup
      Src: /src/haproxy/src/ssl_gencert.c:142,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/haproxy/src/ssl_gencert.c:143,1
    - Dst: X509_NAME_free
      Src: /src/haproxy/src/ssl_gencert.c:146,1
    - Dst: X509_set_subject_name
      Src: /src/haproxy/src/ssl_gencert.c:149,1
    - Dst: X509_NAME_free
      Src: /src/haproxy/src/ssl_gencert.c:150,1
    - Dst: X509_NAME_free
      Src: /src/haproxy/src/ssl_gencert.c:153,1
    - Dst: NCONF_new
      Src: /src/haproxy/src/ssl_gencert.c:156,1
    - Dst: X509V3_set_ctx
      Src: /src/haproxy/src/ssl_gencert.c:157,1
    - Dst: X509V3_EXT_nconf
      Src: /src/haproxy/src/ssl_gencert.c:161,1
    - Dst: X509_add_ext
      Src: /src/haproxy/src/ssl_gencert.c:163,1
    - Dst: X509_EXTENSION_free
      Src: /src/haproxy/src/ssl_gencert.c:164,1
    - Dst: X509_EXTENSION_free
      Src: /src/haproxy/src/ssl_gencert.c:167,1
    - Dst: ssl_sock_add_san_ext
      Src: /src/haproxy/src/ssl_gencert.c:171,1
    - Dst: EVP_PKEY_base_id
      Src: /src/haproxy/src/ssl_gencert.c:177,1
    - Dst: EVP_sha1
      Src: /src/haproxy/src/ssl_gencert.c:180,1
    - Dst: EVP_sha256
      Src: /src/haproxy/src/ssl_gencert.c:182,1
    - Dst: EVP_sha256
      Src: /src/haproxy/src/ssl_gencert.c:184,1
    - Dst: EVP_PKEY_get_default_digest_nid
      Src: /src/haproxy/src/ssl_gencert.c:189,1
    - Dst: EVP_get_digestbynid
      Src: /src/haproxy/src/ssl_gencert.c:191,1
    - Dst: X509_sign
      Src: /src/haproxy/src/ssl_gencert.c:198,1
    - Dst: SSL_CTX_new
      Src: /src/haproxy/src/ssl_gencert.c:202,1
    - Dst: SSLv23_server_method
      Src: /src/haproxy/src/ssl_gencert.c:202,1
    - Dst: SSL_CTX_set_security_level
      Src: /src/haproxy/src/ssl_gencert.c:206,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/haproxy/src/ssl_gencert.c:208,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/haproxy/src/ssl_gencert.c:210,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/haproxy/src/ssl_gencert.c:212,1
    - Dst: SSL_CTX_add1_chain_cert
      Src: /src/haproxy/src/ssl_gencert.c:217,1
    - Dst: sk_X509_num
      Src: /src/haproxy/src/ssl_gencert.c:222,1
    - Dst: sk_X509_value
      Src: /src/haproxy/src/ssl_gencert.c:223,1
    - Dst: SSL_CTX_add1_chain_cert
      Src: /src/haproxy/src/ssl_gencert.c:224,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_gencert.c:231,1
    - Dst: SSL_CTX_set_tmp_dh_callback
      Src: /src/haproxy/src/ssl_gencert.c:235,1
    - Dst: ssl_sock_set_tmp_dh_from_pkey
      Src: /src/haproxy/src/ssl_gencert.c:237,1
    - Dst: SSL_CTX_set1_curves_list
      Src: /src/haproxy/src/ssl_gencert.c:245,1
    - Dst: OBJ_sn2nid
      Src: /src/haproxy/src/ssl_gencert.c:256,1
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/haproxy/src/ssl_gencert.c:258,1
    - Dst: SSL_CTX_set_tmp_ecdh
      Src: /src/haproxy/src/ssl_gencert.c:260,1
    - Dst: EC_KEY_free
      Src: /src/haproxy/src/ssl_gencert.c:261,1
    - Dst: NCONF_free
      Src: /src/haproxy/src/ssl_gencert.c:269,1
    - Dst: SSL_free
      Src: /src/haproxy/src/ssl_gencert.c:270,1
    - Dst: SSL_CTX_free
      Src: /src/haproxy/src/ssl_gencert.c:271,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_gencert.c:272,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 136
    argCount: 3
    argNames:
    - servername
    - bind_conf
    - ssl
    argTypes:
    - char*
    - struct bind_conf*
    - SSL*
    constantsTouched: []
    func_position:
      end: 274
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 274
    functionName: ssl_sock_do_create_cert
    functionSourceFile: /src/haproxy/src/ssl_gencert.c
    functionUses: 0
    functionsReached:
    - EVP_get_digestbynid
    - X509_get_serialNumber
    - X509_set_version
    - X509_getm_notBefore
    - X509_NAME_free
    - OBJ_sn2nid
    - SSL_free
    - SSL_CTX_set_security_level
    - SSL_CTX_add1_chain_cert
    - sk_X509_num
    - SSL_CTX_free
    - EVP_sha1
    - X509_add_ext
    - SSL_CTX_use_PrivateKey
    - EVP_sha256
    - X509_getm_notAfter
    - X509_NAME_dup
    - SSL_CTX_get0_privatekey
    - X509_gmtime_adj
    - _HA_ATOMIC_ADD_FETCH
    - SSL_CTX_set_tmp_dh_callback
    - X509_sign
    - X509_get_subject_name
    - SSLv23_server_method
    - ssl_sock_chose_sni_ctx
    - SSL_CTX_use_certificate
    - X509V3_EXT_nconf
    - X509_set_issuer_name
    - X509_free
    - X509_EXTENSION_free
    - SSL_CTX_set1_curves_list
    - NCONF_free
    - SSL_CTX_set_tmp_ecdh
    - SSL_CTX_new
    - X509_NAME_add_entry_by_txt
    - X509V3_set_ctx
    - SSL_new
    - ssl_sock_set_tmp_dh_from_pkey
    - ASN1_INTEGER_set
    - EVP_PKEY_base_id
    - EVP_PKEY_get_default_digest_nid
    - X509_set_pubkey
    - SSL_CTX_check_private_key
    - sk_X509_value
    - NCONF_new
    - X509_new
    - SSL_get_privatekey
    - X509_set_subject_name
    - ssl_sock_add_san_ext
    - EC_KEY_free
    - EC_KEY_new_by_curve_name
    linkageType: ''
    returnType: SSL_CTX
    signature: '*ssl_sock_do_create_cert(const char *servername, struct bind_conf
      *bind_conf, SSL *ssl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/ssl_gencert.c:284,1
    - Dst: lru64_lookup
      Src: /src/haproxy/src/ssl_gencert.c:285,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/haproxy/src/ssl_gencert.c:288,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/ssl_gencert.c:289,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/ssl_gencert.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - key
    - bind_conf
    - ssl
    argTypes:
    - unsigned int
    - struct bind_conf*
    - SSL*
    constantsTouched: []
    func_position:
      end: 295
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 295
    functionName: ssl_sock_assign_generated_cert
    functionSourceFile: /src/haproxy/src/ssl_gencert.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_WRLOCK
    - HA_RWLOCK_WRUNLOCK
    - lru64_lookup
    - SSL_set_SSL_CTX
    linkageType: ''
    returnType: SSL_CTX
    signature: '*ssl_sock_assign_generated_cert(unsigned int key, struct bind_conf
      *bind_conf, SSL *ssl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_assign_generated_cert
      Src: /src/haproxy/src/ssl_gencert.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - bind_conf
    argTypes:
    - unsigned int
    - struct bind_conf*
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: ssl_sock_get_generated_cert
    functionSourceFile: /src/haproxy/src/ssl_gencert.c
    functionUses: 0
    functionsReached:
    - ssl_sock_assign_generated_cert
    linkageType: ''
    returnType: SSL_CTX
    signature: '*

      ssl_sock_get_generated_cert(unsigned int key, struct bind_conf *bind_conf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/ssl_gencert.c:314,1
    - Dst: lru64_get
      Src: /src/haproxy/src/ssl_gencert.c:315,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/ssl_gencert.c:317,1
    - Dst: struct lru64*::free
      Src: /src/haproxy/src/ssl_gencert.c:321,1
    - Dst: lru64_commit
      Src: /src/haproxy/src/ssl_gencert.c:322,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/ssl_gencert.c:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ssl_ctx
    - key
    - bind_conf
    argTypes:
    - SSL_CTX*
    - unsigned int
    - struct bind_conf*
    constantsTouched: []
    func_position:
      end: 327
      start: 309
    functionDepth: 3
    functionLinenumber: 309
    functionLinenumberEnd: 327
    functionName: ssl_sock_set_generated_cert
    functionSourceFile: /src/haproxy/src/ssl_gencert.c
    functionUses: 0
    functionsReached:
    - struct lru64*::free
    - HA_RWLOCK_WRUNLOCK
    - lru64_get
    - HA_RWLOCK_WRLOCK
    - lru64_commit
    linkageType: ''
    returnType: int
    signature: ssl_sock_set_generated_cert(SSL_CTX *ssl_ctx, unsigned int key, struct
      bind_conf *bind_conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH32
      Src: /src/haproxy/src/ssl_gencert.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: ssl_sock_generated_cert_key
    functionSourceFile: /src/haproxy/src/ssl_gencert.c
    functionUses: 0
    functionsReached:
    - XXH32
    linkageType: ''
    returnType: unsigned int
    signature: ssl_sock_generated_cert_key(const void *data, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_generated_cert_key
      Src: /src/haproxy/src/ssl_gencert.c:346,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_gencert.c:346,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/ssl_gencert.c:348,1
    - Dst: lru64_get
      Src: /src/haproxy/src/ssl_gencert.c:349,1
    - Dst: ssl_sock_do_create_cert
      Src: /src/haproxy/src/ssl_gencert.c:353,1
    - Dst: lru64_commit
      Src: /src/haproxy/src/ssl_gencert.c:354,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/haproxy/src/ssl_gencert.c:356,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/ssl_gencert.c:357,1
    - Dst: ssl_sock_do_create_cert
      Src: /src/haproxy/src/ssl_gencert.c:361,1
    - Dst: SSL_set_SSL_CTX
      Src: /src/haproxy/src/ssl_gencert.c:362,1
    - Dst: SSL_CTX_free
      Src: /src/haproxy/src/ssl_gencert.c:364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - servername
    - bind_conf
    - ssl
    argTypes:
    - char*
    - struct bind_conf*
    - SSL*
    constantsTouched: []
    func_position:
      end: 368
      start: 339
    functionDepth: 6
    functionLinenumber: 339
    functionLinenumberEnd: 368
    functionName: ssl_sock_generate_certificate
    functionSourceFile: /src/haproxy/src/ssl_gencert.c
    functionUses: 1
    functionsReached:
    - SSL_set_SSL_CTX
    - strlen
    - SSL_CTX_free
    - HA_RWLOCK_WRUNLOCK
    - lru64_get
    - lru64_commit
    - HA_RWLOCK_WRLOCK
    - ssl_sock_generated_cert_key
    - ssl_sock_do_create_cert
    linkageType: ''
    returnType: int
    signature: ssl_sock_generate_certificate(const char *servername, struct bind_conf
      *bind_conf, SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_gencert.c:372,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/ssl_gencert.c:374,1
    - Dst: ssl_sock_generated_cert_key
      Src: /src/haproxy/src/ssl_gencert.c:375,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/ssl_gencert.c:375,1
    - Dst: ssl_sock_assign_generated_cert
      Src: /src/haproxy/src/ssl_gencert.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - bind_conf
    - ssl
    argTypes:
    - struct bind_conf*
    - SSL*
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: ssl_sock_generate_certificate_from_conn
    functionSourceFile: /src/haproxy/src/ssl_gencert.c
    functionUses: 1
    functionsReached:
    - SSL_get_ex_data
    - ssl_sock_generated_cert_key
    - conn_get_dst
    - ssl_sock_assign_generated_cert
    - get_addr_len
    linkageType: ''
    returnType: int
    signature: ssl_sock_generate_certificate_from_conn(struct bind_conf *bind_conf,
      SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lru64_new
      Src: /src/haproxy/src/ssl_gencert.c:396,1
    - Dst: time
      Src: /src/haproxy/src/ssl_gencert.c:398,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_gencert.c:403,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_gencert.c:410,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_gencert.c:412,1
    - Dst: ssl_sock_load_files_into_ckch
      Src: /src/haproxy/src/ssl_gencert.c:418,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_gencert.c:419,1
    - Dst: free
      Src: /src/haproxy/src/ssl_gencert.c:421,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_gencert.c:427,1
    - Dst: ssl_sock_free_cert_key_and_chain_contents
      Src: /src/haproxy/src/ssl_gencert.c:438,1
    - Dst: free
      Src: /src/haproxy/src/ssl_gencert.c:439,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - bind_conf
    argTypes:
    - struct bind_conf*
    constantsTouched: []
    func_position:
      end: 445
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 445
    functionName: ssl_sock_gencert_load_ca
    functionSourceFile: /src/haproxy/src/ssl_gencert.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - time
    - calloc
    - free
    - ssl_sock_free_cert_key_and_chain_contents
    - lru64_new
    - ssl_sock_load_files_into_ckch
    linkageType: ''
    returnType: int
    signature: ssl_sock_gencert_load_ca(struct bind_conf *bind_conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_free_cert_key_and_chain_contents
      Src: /src/haproxy/src/ssl_gencert.c:452,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_gencert.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bind_conf
    argTypes:
    - struct bind_conf*
    constantsTouched: []
    func_position:
      end: 455
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 455
    functionName: ssl_sock_gencert_free_ca
    functionSourceFile: /src/haproxy/src/ssl_gencert.c
    functionUses: 1
    functionsReached:
    - ssl_sock_free_cert_key_and_chain_contents
    - ha_free
    linkageType: ''
    returnType: void
    signature: ssl_sock_gencert_free_ca(struct bind_conf *bind_conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lru64_destroy
      Src: /src/haproxy/src/ssl_gencert.c:464,1
    - Dst: HA_RWLOCK_DESTROY
      Src: /src/haproxy/src/ssl_gencert.c:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 468
    functionName: __ssl_gencert_deinit
    functionSourceFile: /src/haproxy/src/ssl_gencert.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_DESTROY
    - lru64_destroy
    linkageType: ''
    returnType: void
    signature: __ssl_gencert_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebis_insert
      Src: /src/haproxy/src/stick_table.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct stktable*
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: stktable_store_name
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 2
    functionsReached:
    - ebis_insert
    linkageType: ''
    returnType: void
    signature: stktable_store_name(struct stktable *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebis_lookup
      Src: /src/haproxy/src/stick_table.c:86,1
    - Dst: container_of
      Src: /src/haproxy/src/stick_table.c:88,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: stktable_find_by_name
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 6
    functionsReached:
    - strcmp
    - ebis_lookup
    - container_of
    linkageType: ''
    returnType: struct stktable
    signature: '*stktable_find_by_name(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/stick_table.c:102,1
    - Dst: pool_free
      Src: /src/haproxy/src/stick_table.c:103,1
    - Dst: round_ptr_size
      Src: /src/haproxy/src/stick_table.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - ts
    argTypes:
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: __stksess_free
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - round_ptr_size
    - HA_ATOMIC_DEC
    - pool_free
    linkageType: ''
    returnType: void
    signature: __stksess_free(struct stktable *t, struct stksess *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:117,1
    - Dst: dict_entry_unref
      Src: /src/haproxy/src/stick_table.c:119,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:119,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:120,1
    - Dst: strlen
      Src: /src/haproxy/src/stick_table.c:124,1
    - Dst: stktable_calc_shard_num
      Src: /src/haproxy/src/stick_table.c:128,1
    - Dst: ALREADY_CHECKED
      Src: /src/haproxy/src/stick_table.c:131,1
    - Dst: __stksess_free
      Src: /src/haproxy/src/stick_table.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - t
    - ts
    argTypes:
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 134
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 134
    functionName: stksess_free
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 2
    functionsReached:
    - __stksess_free
    - ALREADY_CHECKED
    - stktable_data_cast
    - strlen
    - dict_entry_unref
    - stktable_calc_shard_num
    - stktable_data_ptr
    linkageType: ''
    returnType: void
    signature: stksess_free(struct stktable *t, struct stksess *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stick_table.c:144,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:149,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stick_table.c:150,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/stick_table.c:153,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/stick_table.c:154,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/stick_table.c:155,1
    - Dst: __stksess_free
      Src: /src/haproxy/src/stick_table.c:156,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - t
    - ts
    argTypes:
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 162
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 162
    functionName: __stksess_kill
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - __stksess_free
    - eb32_delete
    - HA_RWLOCK_WRUNLOCK
    - HA_ATOMIC_LOAD
    - HA_RWLOCK_WRLOCK
    - ebmb_delete
    linkageType: ''
    returnType: int
    signature: __stksess_kill(struct stktable *t, struct stksess *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/stick_table.c:179,1
    - Dst: stktable_calc_shard_num
      Src: /src/haproxy/src/stick_table.c:183,1
    - Dst: ALREADY_CHECKED
      Src: /src/haproxy/src/stick_table.c:186,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:188,1
    - Dst: HA_ATOMIC_SUB_FETCH
      Src: /src/haproxy/src/stick_table.c:189,1
    - Dst: __stksess_kill
      Src: /src/haproxy/src/stick_table.c:190,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - t
    - ts
    argTypes:
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 194
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 194
    functionName: stksess_kill
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - __stksess_kill
    - ALREADY_CHECKED
    - HA_ATOMIC_SUB_FETCH
    - strlen
    - stktable_calc_shard_num
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: stksess_kill(struct stktable *t, struct stksess *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/stick_table.c:203,1
    - Dst: memcpy
      Src: /src/haproxy/src/stick_table.c:205,1
    - Dst: MIN
      Src: /src/haproxy/src/stick_table.c:205,1
    - Dst: MIN
      Src: /src/haproxy/src/stick_table.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - t
    - ts
    - key
    argTypes:
    - struct stktable*
    - struct stksess*
    - struct stktable_key*
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: stksess_setkey
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - MIN
    - memcpy
    linkageType: ''
    returnType: void
    signature: stksess_setkey(struct stktable *t, struct stksess *ts, struct stktable_key
      *key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strnlen2
      Src: /src/haproxy/src/stick_table.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - t
    - ts
    argTypes:
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 227
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 227
    functionName: stksess_getkey
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - strnlen2
    linkageType: ''
    returnType: struct stktable_key
    signature: '*stksess_getkey(struct stktable *t, struct stksess *ts)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64
      Src: /src/haproxy/src/stick_table.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - t
    - key
    - len
    argTypes:
    - struct stktable*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: stktable_get_key_shard
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - XXH64
    linkageType: ''
    returnType: int
    signature: stktable_get_key_shard(struct stktable *t, const void *key, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stktable_get_key_shard
      Src: /src/haproxy/src/stick_table.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - t
    - ts
    - key
    argTypes:
    - struct stktable*
    - struct stksess*
    - struct stktable_key*
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: stksess_setkey_shard
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stktable_get_key_shard
    linkageType: ''
    returnType: void
    signature: "stksess_setkey_shard(struct stktable *t, struct stksess *ts,\n                                 struct
      stktable_key *key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/stick_table.c:267,1
    - Dst: tick_add
      Src: /src/haproxy/src/stick_table.c:274,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/stick_table.c:274,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/stick_table.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - t
    - ts
    argTypes:
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: __stksess_init
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - memset
    - HA_RWLOCK_INIT
    - tick_add
    - MS_TO_TICKS
    linkageType: ''
    returnType: struct stksess
    signature: '*__stksess_init(struct stktable *t, struct stksess * ts)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:304,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/stick_table.c:306,1
    - Dst: unlikely
      Src: /src/haproxy/src/stick_table.c:308,1
    - Dst: eb32_first
      Src: /src/haproxy/src/stick_table.c:317,1
    - Dst: likely
      Src: /src/haproxy/src/stick_table.c:318,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/stick_table.c:326,1
    - Dst: eb32_next
      Src: /src/haproxy/src/stick_table.c:327,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stick_table.c:330,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/stick_table.c:333,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stick_table.c:336,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/stick_table.c:340,1
    - Dst: eb32_first
      Src: /src/haproxy/src/stick_table.c:351,1
    - Dst: tick_is_lt
      Src: /src/haproxy/src/stick_table.c:353,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:368,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stick_table.c:373,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/stick_table.c:378,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/stick_table.c:379,1
    - Dst: __stksess_free
      Src: /src/haproxy/src/stick_table.c:380,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:386,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:388,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 2
    argNames:
    - t
    - to_batch
    argTypes:
    - struct stktable*
    - int
    constantsTouched: []
    func_position:
      end: 399
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 399
    functionName: stktable_trash_oldest
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - eb32_entry
    - __stksess_free
    - eb32_delete
    - eb32_insert
    - tick_is_lt
    - HA_RWLOCK_WRUNLOCK
    - eb32_next
    - likely
    - eb32_lookup_ge
    - HA_ATOMIC_LOAD
    - tick_isset
    - eb32_first
    - HA_RWLOCK_WRLOCK
    - unlikely
    - ebmb_delete
    linkageType: ''
    returnType: int
    signature: stktable_trash_oldest(struct stktable *t, int to_batch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_FETCH_ADD
      Src: /src/haproxy/src/stick_table.c:414,1
    - Dst: unlikely
      Src: /src/haproxy/src/stick_table.c:416,1
    - Dst: stktable_trash_oldest
      Src: /src/haproxy/src/stick_table.c:419,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/stick_table.c:420,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/stick_table.c:425,1
    - Dst: round_ptr_size
      Src: /src/haproxy/src/stick_table.c:427,1
    - Dst: __stksess_init
      Src: /src/haproxy/src/stick_table.c:428,1
    - Dst: stksess_setkey
      Src: /src/haproxy/src/stick_table.c:430,1
    - Dst: stksess_setkey_shard
      Src: /src/haproxy/src/stick_table.c:431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - t
    - key
    argTypes:
    - struct stktable*
    - struct stktable_key*
    constantsTouched: []
    func_position:
      end: 436
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 436
    functionName: stksess_new
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - round_ptr_size
    - stktable_trash_oldest
    - HA_ATOMIC_FETCH_ADD
    - stksess_setkey
    - pool_alloc
    - HA_ATOMIC_DEC
    - stksess_setkey_shard
    - unlikely
    - __stksess_init
    linkageType: ''
    returnType: struct stksess
    signature: '*stksess_new(struct stktable *t, struct stktable_key *key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebst_lookup_len
      Src: /src/haproxy/src/stick_table.c:447,1
    - Dst: ebmb_lookup
      Src: /src/haproxy/src/stick_table.c:449,1
    - Dst: unlikely
      Src: /src/haproxy/src/stick_table.c:451,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/stick_table.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - t
    - key
    - shard
    argTypes:
    - struct stktable*
    - struct stktable_key*
    - uint
    constantsTouched: []
    func_position:
      end: 457
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 457
    functionName: __stktable_lookup_key
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - ebmb_lookup
    - ebmb_entry
    - unlikely
    - ebst_lookup_len
    linkageType: ''
    returnType: struct stksess
    signature: '*__stktable_lookup_key(struct stktable *t, struct stktable_key *key,
      uint shard)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stktable_calc_shard_num
      Src: /src/haproxy/src/stick_table.c:476,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:478,1
    - Dst: __stktable_lookup_key
      Src: /src/haproxy/src/stick_table.c:479,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/stick_table.c:481,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - t
    - key
    argTypes:
    - struct stktable*
    - struct stktable_key*
    constantsTouched: []
    func_position:
      end: 485
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 485
    functionName: stktable_lookup_key
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 2
    functionsReached:
    - __stktable_lookup_key
    - HA_ATOMIC_INC
    - stktable_calc_shard_num
    - HA_RWLOCK_RDLOCK
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: struct stksess
    signature: '*stktable_lookup_key(struct stktable *t, struct stktable_key *key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:500,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/stick_table.c:505,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/stick_table.c:509,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/stick_table.c:514,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/stick_table.c:517,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - t
    - ptr
    argTypes:
    - struct stktable*
    - void*
    constantsTouched: []
    func_position:
      end: 524
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 524
    functionName: stktable_lookup_ptr
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    - HA_RWLOCK_RDLOCK
    - ebmb_entry
    - ebmb_first
    - ebmb_next
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: struct stksess
    signature: '*stktable_lookup_ptr(struct stktable *t, void *ptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebst_lookup
      Src: /src/haproxy/src/stick_table.c:538,1
    - Dst: ebmb_lookup
      Src: /src/haproxy/src/stick_table.c:540,1
    - Dst: unlikely
      Src: /src/haproxy/src/stick_table.c:542,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/stick_table.c:545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - t
    - ts
    - shard
    argTypes:
    - struct stktable*
    - struct stksess*
    - uint
    constantsTouched: []
    func_position:
      end: 546
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 546
    functionName: __stktable_lookup
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - ebmb_lookup
    - ebmb_entry
    - unlikely
    - ebst_lookup
    linkageType: ''
    returnType: struct stksess
    signature: '*__stktable_lookup(struct stktable *t, struct stksess *ts, uint shard)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/stick_table.c:564,1
    - Dst: stktable_calc_shard_num
      Src: /src/haproxy/src/stick_table.c:568,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:570,1
    - Dst: __stktable_lookup
      Src: /src/haproxy/src/stick_table.c:571,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/stick_table.c:573,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - t
    - ts
    argTypes:
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 577
      start: 557
    functionDepth: 3
    functionLinenumber: 557
    functionLinenumberEnd: 577
    functionName: stktable_lookup
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - HA_ATOMIC_INC
    - strlen
    - stktable_calc_shard_num
    - HA_RWLOCK_RDLOCK
    - __stktable_lookup
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: struct stksess
    signature: '*stktable_lookup(struct stktable *t, struct stksess *ts)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stick_table.c:592,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/stick_table.c:594,1
    - Dst: stktable_requeue_exp
      Src: /src/haproxy/src/stick_table.c:595,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stick_table.c:604,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:606,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/stick_table.c:614,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/stick_table.c:615,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/stick_table.c:617,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/stick_table.c:618,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:636,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/stick_table.c:643,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/stick_table.c:645,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/stick_table.c:646,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:654,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/stick_table.c:658,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/stick_table.c:661,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 5
    argNames:
    - t
    - ts
    - local
    - expire
    - decrefcnt
    argTypes:
    - struct stktable*
    - struct stksess*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 662
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 662
    functionName: stktable_touch_with_exp
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - eb32_delete
    - stktable_requeue_exp
    - eb32_insert
    - task_wakeup
    - HA_RWLOCK_WRUNLOCK
    - HA_ATOMIC_DEC
    - HA_ATOMIC_LOAD
    - _HA_ATOMIC_LOAD
    - HA_RWLOCK_WRLOCK
    - HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: stktable_touch_with_exp(struct stktable *t, struct stksess *ts, int
      local, int expire, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stktable_touch_with_exp
      Src: /src/haproxy/src/stick_table.c:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - t
    - ts
    - decrefcnt
    argTypes:
    - struct stktable*
    - struct stksess*
    - int
    constantsTouched: []
    func_position:
      end: 673
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 673
    functionName: stktable_touch_remote
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stktable_touch_with_exp
    linkageType: ''
    returnType: void
    signature: stktable_touch_remote(struct stktable *t, struct stksess *ts, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stktable_touch_with_exp
      Src: /src/haproxy/src/stick_table.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - t
    - ts
    - decrefcnt
    argTypes:
    - struct stktable*
    - struct stksess*
    - int
    constantsTouched: []
    func_position:
      end: 686
      start: 681
    functionDepth: 2
    functionLinenumber: 681
    functionLinenumberEnd: 686
    functionName: stktable_touch_local
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stktable_touch_with_exp
    linkageType: ''
    returnType: void
    signature: stktable_touch_local(struct stktable *t, struct stksess *ts, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/stick_table.c:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - t
    - ts
    argTypes:
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 697
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 697
    functionName: stktable_release
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_DEC
    linkageType: ''
    returnType: void
    signature: stktable_release(struct stktable *t, struct stksess *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_insert
      Src: /src/haproxy/src/stick_table.c:708,1
    - Dst: likely
      Src: /src/haproxy/src/stick_table.c:709,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/stick_table.c:711,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/stick_table.c:713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - t
    - ts
    - shard
    argTypes:
    - struct stktable*
    - struct stksess*
    - uint
    constantsTouched: []
    func_position:
      end: 714
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 714
    functionName: __stktable_store
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - ebmb_insert
    - eb32_insert
    - likely
    - ebmb_entry
    linkageType: ''
    returnType: struct stksess
    signature: '*__stktable_store(struct stktable *t, struct stksess *ts, uint shard)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stick_table.c:728,1
    - Dst: tick_first
      Src: /src/haproxy/src/stick_table.c:729,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:735,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/stick_table.c:738,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/stick_table.c:739,1
    - Dst: tick_first
      Src: /src/haproxy/src/stick_table.c:740,1
    - Dst: task_queue
      Src: /src/haproxy/src/stick_table.c:743,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - t
    - ts
    argTypes:
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 746
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 746
    functionName: stktable_requeue_exp
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - task_queue
    - HA_RWLOCK_WRUNLOCK
    - tick_first
    - HA_ATOMIC_LOAD
    - __ha_cpu_relax
    - HA_RWLOCK_WRLOCK
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: void
    signature: stktable_requeue_exp(struct stktable *t, const struct stksess *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stktable_calc_shard_num
      Src: /src/haproxy/src/stick_table.c:767,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:769,1
    - Dst: __stktable_lookup_key
      Src: /src/haproxy/src/stick_table.c:770,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/stick_table.c:772,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:773,1
    - Dst: stksess_new
      Src: /src/haproxy/src/stick_table.c:781,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:793,1
    - Dst: __stktable_store
      Src: /src/haproxy/src/stick_table.c:795,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/stick_table.c:797,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:798,1
    - Dst: unlikely
      Src: /src/haproxy/src/stick_table.c:800,1
    - Dst: __stksess_free
      Src: /src/haproxy/src/stick_table.c:804,1
    - Dst: stktable_requeue_exp
      Src: /src/haproxy/src/stick_table.c:808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - table
    - key
    argTypes:
    - struct stktable*
    - struct stktable_key*
    constantsTouched: []
    func_position:
      end: 810
      start: 753
    functionDepth: 3
    functionLinenumber: 753
    functionLinenumberEnd: 810
    functionName: stktable_get_entry
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 2
    functionsReached:
    - __stksess_free
    - __stktable_lookup_key
    - HA_ATOMIC_INC
    - stktable_requeue_exp
    - stktable_calc_shard_num
    - HA_RWLOCK_RDLOCK
    - stksess_new
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    - unlikely
    - HA_RWLOCK_RDUNLOCK
    - __stktable_store
    linkageType: ''
    returnType: struct stksess
    signature: '*stktable_get_entry(struct stktable *table, struct stktable_key *key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/stick_table.c:823,1
    - Dst: stktable_calc_shard_num
      Src: /src/haproxy/src/stick_table.c:827,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:829,1
    - Dst: __stktable_lookup
      Src: /src/haproxy/src/stick_table.c:830,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/stick_table.c:832,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:833,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/stick_table.c:839,1
    - Dst: HA_RWLOCK_TRYRDTOSK
      Src: /src/haproxy/src/stick_table.c:841,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:843,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:844,1
    - Dst: HA_RWLOCK_SKTOWR
      Src: /src/haproxy/src/stick_table.c:847,1
    - Dst: __stktable_store
      Src: /src/haproxy/src/stick_table.c:851,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:852,1
    - Dst: stktable_requeue_exp
      Src: /src/haproxy/src/stick_table.c:854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - table
    - nts
    argTypes:
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 856
      start: 816
    functionDepth: 3
    functionLinenumber: 816
    functionLinenumberEnd: 856
    functionName: stktable_set_entry
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - HA_RWLOCK_TRYRDTOSK
    - HA_ATOMIC_INC
    - strlen
    - stktable_requeue_exp
    - HA_RWLOCK_SKTOWR
    - stktable_calc_shard_num
    - HA_RWLOCK_RDLOCK
    - HA_RWLOCK_WRUNLOCK
    - __stktable_lookup
    - HA_RWLOCK_WRLOCK
    - HA_RWLOCK_RDUNLOCK
    - __stktable_store
    linkageType: ''
    returnType: struct stksess
    signature: '*stktable_set_entry(struct stktable *table, struct stksess *nts)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:878,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/stick_table.c:879,1
    - Dst: unlikely
      Src: /src/haproxy/src/stick_table.c:882,1
    - Dst: eb32_first
      Src: /src/haproxy/src/stick_table.c:891,1
    - Dst: likely
      Src: /src/haproxy/src/stick_table.c:892,1
    - Dst: likely
      Src: /src/haproxy/src/stick_table.c:896,1
    - Dst: tick_is_lt
      Src: /src/haproxy/src/stick_table.c:896,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/stick_table.c:903,1
    - Dst: eb32_next
      Src: /src/haproxy/src/stick_table.c:904,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stick_table.c:907,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/stick_table.c:910,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/stick_table.c:912,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stick_table.c:913,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/stick_table.c:917,1
    - Dst: eb32_first
      Src: /src/haproxy/src/stick_table.c:928,1
    - Dst: tick_is_lt
      Src: /src/haproxy/src/stick_table.c:930,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:944,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stick_table.c:949,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/stick_table.c:954,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/stick_table.c:955,1
    - Dst: __stksess_free
      Src: /src/haproxy/src/stick_table.c:956,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:964,1
    - Dst: tick_first
      Src: /src/haproxy/src/stick_table.c:966,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:967,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:974,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:976,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 3
    argNames:
    - task
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 979
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 979
    functionName: process_table_expire
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - eb32_entry
    - __stksess_free
    - eb32_delete
    - tick_is_expired
    - eb32_insert
    - tick_is_lt
    - HA_RWLOCK_WRUNLOCK
    - eb32_next
    - likely
    - eb32_lookup_ge
    - HA_ATOMIC_LOAD
    - tick_isset
    - eb32_first
    - tick_first
    - HA_RWLOCK_WRLOCK
    - unlikely
    - ebmb_delete
    linkageType: ''
    returnType: struct task
    signature: '*process_table_expire(struct task *task, void *context, unsigned int
      state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64
      Src: /src/haproxy/src/stick_table.c:992,1
    - Dst: memset
      Src: /src/haproxy/src/stick_table.c:997,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/stick_table.c:998,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/stick_table.c:1002,1
    - Dst: create_pool
      Src: /src/haproxy/src/stick_table.c:1004,1
    - Dst: round_ptr_size
      Src: /src/haproxy/src/stick_table.c:1004,1
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/stick_table.c:1007,1
    - Dst: peers_register_table
      Src: /src/haproxy/src/stick_table.c:1014,1
    - Dst: stktable_find_by_name
      Src: /src/haproxy/src/stick_table.c:1024,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:1026,1
    - Dst: ha_free
      Src: /src/haproxy/src/stick_table.c:1027,1
    - Dst: ha_free
      Src: /src/haproxy/src/stick_table.c:1030,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:1032,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:1036,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:1042,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:1053,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - t
    - err_msg
    argTypes:
    - struct stktable*
    - char**
    constantsTouched: []
    func_position:
      end: 1055
      start: 987
    functionDepth: 5
    functionLinenumber: 987
    functionLinenumberEnd: 1055
    functionName: stktable_init
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - memprintf
    - round_ptr_size
    - ha_free
    - create_pool
    - stktable_find_by_name
    - task_new_anywhere
    - XXH64
    - memset
    - HA_RWLOCK_INIT
    - peers_register_table
    linkageType: ''
    returnType: int
    signature: stktable_init(struct stktable *t, char **err_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_destroy
      Src: /src/haproxy/src/stick_table.c:1067,1
    - Dst: pool_destroy
      Src: /src/haproxy/src/stick_table.c:1068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct stktable*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1069
    functionName: stktable_deinit
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - pool_destroy
    - task_destroy
    linkageType: ''
    returnType: void
    signature: stktable_deinit(struct stktable *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1092,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1099,1
    - Dst: strtol
      Src: /src/haproxy/src/stick_table.c:1103,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1105,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 6
    argNames:
    - args
    - myidx
    - type
    - key_size
    - file
    - linenum
    argTypes:
    - char**
    - int*
    - unsigned long*
    - size_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1119
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1119
    functionName: stktable_parse_type
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strcmp
    - strtol
    linkageType: ''
    returnType: int
    signature: stktable_parse_type(char **args, int *myidx, unsigned long *type, size_t
      *key_size, const char *file, int linenum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/haproxy/src/stick_table.c:1146,1
    - Dst: atoi
      Src: /src/haproxy/src/stick_table.c:1160,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/stick_table.c:1165,1
    - Dst: stktable_type_size
      Src: /src/haproxy/src/stick_table.c:1171,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 4
    argNames:
    - t
    - type
    - sa
    - sa2
    argTypes:
    - struct stktable*
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1174
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1174
    functionName: stktable_alloc_data_type
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - parse_time_err
    - atoi
    - stktable_type_size
    linkageType: ''
    returnType: int
    signature: stktable_alloc_data_type(struct stktable *t, int type, const char *sa,
      const char *sa2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1195,1
    - Dst: strlen
      Src: /src/haproxy/src/stick_table.c:1207,1
    - Dst: copy_file_name
      Src: /src/haproxy/src/stick_table.c:1210,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1218,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1221,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/stick_table.c:1226,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1227,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1235,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1238,1
    - Dst: ha_free
      Src: /src/haproxy/src/stick_table.c:1243,1
    - Dst: strdup
      Src: /src/haproxy/src/stick_table.c:1244,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1246,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1249,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/stick_table.c:1254,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1256,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1262,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1268,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1276,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1280,1
    - Dst: stktable_parse_type
      Src: /src/haproxy/src/stick_table.c:1282,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1288,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1305,1
    - Dst: stktable_get_data_type
      Src: /src/haproxy/src/stick_table.c:1322,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1324,1
    - Dst: stktable_alloc_data_type
      Src: /src/haproxy/src/stick_table.c:1330,1
    - Dst: ha_warning
      Src: /src/haproxy/src/stick_table.c:1334,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1340,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1346,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1351,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1357,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1365,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1371,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1377,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1383,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1387,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1390,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1394,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1402,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1406,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1412,1
    - Dst: ha_free
      Src: /src/haproxy/src/stick_table.c:1418,1
    - Dst: strdup
      Src: /src/haproxy/src/stick_table.c:1419,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1422,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1425,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/stick_table.c:1430,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1431,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1437,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1445,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1453,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:1460,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 252
    argCount: 7
    argNames:
    - file
    - linenum
    - args
    - t
    - id
    - nid
    - peers
    argTypes:
    - char*
    - int
    - char**
    - struct stktable*
    - char*
    - char*
    - struct peers*
    constantsTouched: []
    func_position:
      end: 1468
      start: 1187
    functionDepth: 4
    functionLinenumber: 1187
    functionLinenumberEnd: 1468
    functionName: parse_stick_table
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 2
    functionsReached:
    - ha_alert
    - ha_free
    - ha_warning
    - strlen
    - strcmp
    - strdup
    - parse_size_err
    - stktable_get_data_type
    - stktable_alloc_data_type
    - copy_file_name
    - parse_time_err
    - stktable_parse_type
    linkageType: ''
    returnType: int
    signature: "parse_stick_table(const char *file, int linenum, char **args,\n                      struct
      stktable *t, char *id, char *nid, struct peers *peers)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_convert
      Src: /src/haproxy/src/stick_table.c:1480,1
    - Dst: smp_make_safe
      Src: /src/haproxy/src/stick_table.c:1516,1
    - Dst: smp_make_rw
      Src: /src/haproxy/src/stick_table.c:1525,1
    - Dst: smp_dup
      Src: /src/haproxy/src/stick_table.c:1529,1
    - Dst: memset
      Src: /src/haproxy/src/stick_table.c:1533,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - smp
    - t
    argTypes:
    - struct sample*
    - struct stktable*
    constantsTouched: []
    func_position:
      end: 1546
      start: 1477
    functionDepth: 3
    functionLinenumber: 1477
    functionLinenumberEnd: 1546
    functionName: smp_to_stkey
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - smp_make_safe
    - sample_convert
    - smp_dup
    - memset
    - smp_make_rw
    linkageType: ''
    returnType: struct stktable_key
    signature: '*smp_to_stkey(struct sample *smp, struct stktable *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/stick_table.c:1562,1
    - Dst: memcpy
      Src: /src/haproxy/src/stick_table.c:1565,1
    - Dst: smp_make_safe
      Src: /src/haproxy/src/stick_table.c:1580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - smp
    - key
    - key_type
    argTypes:
    - struct sample*
    - struct stktable_key*
    - int
    constantsTouched: []
    func_position:
      end: 1589
      start: 1554
    functionDepth: 1
    functionLinenumber: 1554
    functionLinenumberEnd: 1589
    functionName: stkey_to_smp
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - memcpy
    - smp_make_safe
    linkageType: ''
    returnType: int
    signature: stkey_to_smp(struct sample *smp, struct stktable_key *key, int key_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/stick_table.c:1612,1
    - Dst: sample_process
      Src: /src/haproxy/src/stick_table.c:1614,1
    - Dst: smp_to_stkey
      Src: /src/haproxy/src/stick_table.c:1621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 7
    argNames:
    - t
    - px
    - sess
    - strm
    - opt
    - expr
    - smp
    argTypes:
    - struct stktable*
    - struct proxy*
    - struct session*
    - struct stream*
    - unsigned int
    - struct sample_expr*
    - struct sample*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1608
    functionDepth: 4
    functionLinenumber: 1608
    functionLinenumberEnd: 1622
    functionName: stktable_fetch_key
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - memset
    - sample_process
    - smp_to_stkey
    linkageType: ''
    returnType: struct stktable_key
    signature: "*stktable_fetch_key(struct stktable *t, struct proxy *px, struct session
      *sess, struct stream *strm,\n                                        unsigned
      int opt, struct sample_expr *expr, struct sample *smp)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_expr_output_type
      Src: /src/haproxy/src/stick_table.c:1635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - expr
    - table_type
    argTypes:
    - struct sample_expr*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1642
      start: 1628
    functionDepth: 1
    functionLinenumber: 1628
    functionLinenumberEnd: 1642
    functionName: stktable_compatible_sample
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 2
    functionsReached:
    - smp_expr_output_type
    linkageType: ''
    returnType: int
    signature: stktable_compatible_sample(struct sample_expr *expr, unsigned long
      table_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1691,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - idx
    - name
    - std_type
    - arg_type
    argTypes:
    - int
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1706
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1706
    functionName: stktable_register_data_store
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: stktable_register_data_store(int idx, const char *name, int std_type,
      int arg_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1719,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:1723,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1726
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1726
    functionName: stktable_get_data_type
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: stktable_get_data_type(char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stktable_get_data_type
      Src: /src/haproxy/src/stick_table.c:1743,1
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:1752,1
    - Dst: strtoul
      Src: /src/haproxy/src/stick_table.c:1757,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - name
    - idx
    argTypes:
    - char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1767
      start: 1735
    functionDepth: 1
    functionLinenumber: 1735
    functionLinenumberEnd: 1767
    functionName: stktable_get_data_type_idx
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - strtoul
    - strncmp
    - stktable_get_data_type
    linkageType: ''
    returnType: int
    signature: stktable_get_data_type_idx(char *name, unsigned int *idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_to_stkey
      Src: /src/haproxy/src/stick_table.c:1779,1
    - Dst: stktable_get_entry
      Src: /src/haproxy/src/stick_table.c:1784,1
    - Dst: stktable_lookup_key
      Src: /src/haproxy/src/stick_table.c:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - table
    - smp
    - create
    argTypes:
    - struct stktable*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 1786
      start: 1774
    functionDepth: 4
    functionLinenumber: 1774
    functionLinenumberEnd: 1786
    functionName: smp_fetch_stksess
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_to_stkey
    - stktable_lookup_key
    - stktable_get_entry
    linkageType: ''
    returnType: struct stksess
    signature: '*smp_fetch_stksess(struct stktable *table, struct sample *smp, int
      create)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:1802,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:1807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1809
      start: 1795
    functionDepth: 5
    functionLinenumber: 1795
    functionLinenumberEnd: 1809
    functionName: sample_conv_in_table
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_stksess
    - stktable_release
    linkageType: ''
    returnType: int
    signature: sample_conv_in_table(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:1823,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:1823,1
    - Dst: smp_fetch_bytes_in_rate
      Src: /src/haproxy/src/stick_table.c:1825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1826
      start: 1818
    functionDepth: 5
    functionLinenumber: 1818
    functionLinenumberEnd: 1826
    functionName: sample_conv_table_bytes_in_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_bytes_in_rate
    - smp_fetch_stksess
    linkageType: ''
    returnType: int
    signature: sample_conv_table_bytes_in_rate(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:1840,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:1840,1
    - Dst: smp_fetch_bytes_out_rate
      Src: /src/haproxy/src/stick_table.c:1842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1843
      start: 1835
    functionDepth: 5
    functionLinenumber: 1835
    functionLinenumberEnd: 1843
    functionName: sample_conv_table_bytes_out_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_bytes_out_rate
    - smp_fetch_stksess
    linkageType: ''
    returnType: int
    signature: sample_conv_table_bytes_out_rate(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:1859,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:1859,1
    - Dst: smp_fetch_clr_gpc
      Src: /src/haproxy/src/stick_table.c:1861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1862
      start: 1852
    functionDepth: 5
    functionLinenumber: 1852
    functionLinenumberEnd: 1862
    functionName: sample_conv_table_clr_gpc
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_clr_gpc
    linkageType: ''
    returnType: int
    signature: sample_conv_table_clr_gpc(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:1876,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:1876,1
    - Dst: smp_fetch_clr_gpc0
      Src: /src/haproxy/src/stick_table.c:1878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1879
      start: 1871
    functionDepth: 5
    functionLinenumber: 1871
    functionLinenumberEnd: 1879
    functionName: sample_conv_table_clr_gpc0
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_clr_gpc0
    linkageType: ''
    returnType: int
    signature: sample_conv_table_clr_gpc0(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:1893,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:1893,1
    - Dst: smp_fetch_clr_gpc1
      Src: /src/haproxy/src/stick_table.c:1895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1896
      start: 1888
    functionDepth: 5
    functionLinenumber: 1888
    functionLinenumberEnd: 1896
    functionName: sample_conv_table_clr_gpc1
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_clr_gpc1
    - smp_fetch_stksess
    linkageType: ''
    returnType: int
    signature: sample_conv_table_clr_gpc1(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:1910,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:1910,1
    - Dst: smp_fetch_conn_cnt
      Src: /src/haproxy/src/stick_table.c:1912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1913
      start: 1905
    functionDepth: 5
    functionLinenumber: 1905
    functionLinenumberEnd: 1913
    functionName: sample_conv_table_conn_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_conn_cnt
    linkageType: ''
    returnType: int
    signature: sample_conv_table_conn_cnt(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:1927,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:1927,1
    - Dst: smp_fetch_conn_cur
      Src: /src/haproxy/src/stick_table.c:1929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1930
      start: 1922
    functionDepth: 5
    functionLinenumber: 1922
    functionLinenumberEnd: 1930
    functionName: sample_conv_table_conn_cur
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_conn_cur
    - smp_fetch_stksess
    linkageType: ''
    returnType: int
    signature: sample_conv_table_conn_cur(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:1944,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:1944,1
    - Dst: smp_fetch_conn_rate
      Src: /src/haproxy/src/stick_table.c:1946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1947
      start: 1939
    functionDepth: 5
    functionLinenumber: 1939
    functionLinenumberEnd: 1947
    functionName: sample_conv_table_conn_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_conn_rate
    - smp_fetch_stksess
    linkageType: ''
    returnType: int
    signature: sample_conv_table_conn_rate(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:1961,1
    - Dst: tick_remain
      Src: /src/haproxy/src/stick_table.c:1976,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:1978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1980
      start: 1954
    functionDepth: 5
    functionLinenumber: 1954
    functionLinenumberEnd: 1980
    functionName: sample_conv_table_expire
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - tick_remain
    - smp_fetch_stksess
    - stktable_release
    linkageType: ''
    returnType: int
    signature: sample_conv_table_expire(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:1994,1
    - Dst: tick_remain
      Src: /src/haproxy/src/stick_table.c:2009,1
    - Dst: tick_remain
      Src: /src/haproxy/src/stick_table.c:2009,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:2011,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2013
      start: 1987
    functionDepth: 5
    functionLinenumber: 1987
    functionLinenumberEnd: 2013
    functionName: sample_conv_table_idle
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - tick_remain
    - smp_fetch_stksess
    - stktable_release
    linkageType: ''
    returnType: int
    signature: sample_conv_table_idle(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2028,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2028,1
    - Dst: smp_fetch_inc_gpc
      Src: /src/haproxy/src/stick_table.c:2030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2031
      start: 2021
    functionDepth: 5
    functionLinenumber: 2021
    functionLinenumberEnd: 2031
    functionName: sample_conv_table_inc_gpc
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_inc_gpc
    linkageType: ''
    returnType: int
    signature: sample_conv_table_inc_gpc(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2045,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2045,1
    - Dst: smp_fetch_inc_gpc0
      Src: /src/haproxy/src/stick_table.c:2047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2048
      start: 2040
    functionDepth: 5
    functionLinenumber: 2040
    functionLinenumberEnd: 2048
    functionName: sample_conv_table_inc_gpc0
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_inc_gpc0
    linkageType: ''
    returnType: int
    signature: sample_conv_table_inc_gpc0(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2062,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2062,1
    - Dst: smp_fetch_inc_gpc1
      Src: /src/haproxy/src/stick_table.c:2064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2065
      start: 2057
    functionDepth: 5
    functionLinenumber: 2057
    functionLinenumberEnd: 2065
    functionName: sample_conv_table_inc_gpc1
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_inc_gpc1
    - smp_fetch_stksess
    linkageType: ''
    returnType: int
    signature: sample_conv_table_inc_gpc1(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2079,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2079,1
    - Dst: smp_fetch_glitch_cnt
      Src: /src/haproxy/src/stick_table.c:2081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2082
      start: 2074
    functionDepth: 5
    functionLinenumber: 2074
    functionLinenumberEnd: 2082
    functionName: sample_conv_table_glitch_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_glitch_cnt
    linkageType: ''
    returnType: int
    signature: sample_conv_table_glitch_cnt(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2096,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2096,1
    - Dst: smp_fetch_glitch_rate
      Src: /src/haproxy/src/stick_table.c:2098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2099
      start: 2091
    functionDepth: 5
    functionLinenumber: 2091
    functionLinenumberEnd: 2099
    functionName: sample_conv_table_glitch_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_glitch_rate
    - smp_fetch_stksess
    linkageType: ''
    returnType: int
    signature: sample_conv_table_glitch_rate(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2115,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2115,1
    - Dst: smp_fetch_get_gpt
      Src: /src/haproxy/src/stick_table.c:2117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2118
      start: 2108
    functionDepth: 5
    functionLinenumber: 2108
    functionLinenumberEnd: 2118
    functionName: sample_conv_table_gpt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_get_gpt
    - smp_fetch_stksess
    linkageType: ''
    returnType: int
    signature: sample_conv_table_gpt(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2132,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2132,1
    - Dst: smp_fetch_get_gpt0
      Src: /src/haproxy/src/stick_table.c:2134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2135
      start: 2127
    functionDepth: 5
    functionLinenumber: 2127
    functionLinenumberEnd: 2135
    functionName: sample_conv_table_gpt0
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_get_gpt0
    linkageType: ''
    returnType: int
    signature: sample_conv_table_gpt0(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2151,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2151,1
    - Dst: smp_fetch_get_gpc
      Src: /src/haproxy/src/stick_table.c:2153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2154
      start: 2144
    functionDepth: 5
    functionLinenumber: 2144
    functionLinenumberEnd: 2154
    functionName: sample_conv_table_gpc
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_get_gpc
    linkageType: ''
    returnType: int
    signature: sample_conv_table_gpc(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2170,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2170,1
    - Dst: smp_fetch_gpc_rate
      Src: /src/haproxy/src/stick_table.c:2172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2173
      start: 2163
    functionDepth: 5
    functionLinenumber: 2163
    functionLinenumberEnd: 2173
    functionName: sample_conv_table_gpc_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_gpc_rate
    linkageType: ''
    returnType: int
    signature: sample_conv_table_gpc_rate(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2187,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2187,1
    - Dst: smp_fetch_get_gpc0
      Src: /src/haproxy/src/stick_table.c:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2190
      start: 2182
    functionDepth: 5
    functionLinenumber: 2182
    functionLinenumberEnd: 2190
    functionName: sample_conv_table_gpc0
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_get_gpc0
    - smp_fetch_stksess
    linkageType: ''
    returnType: int
    signature: sample_conv_table_gpc0(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2204,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2204,1
    - Dst: smp_fetch_gpc0_rate
      Src: /src/haproxy/src/stick_table.c:2206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2207
      start: 2199
    functionDepth: 5
    functionLinenumber: 2199
    functionLinenumberEnd: 2207
    functionName: sample_conv_table_gpc0_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_gpc0_rate
    linkageType: ''
    returnType: int
    signature: sample_conv_table_gpc0_rate(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2221,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2221,1
    - Dst: smp_fetch_get_gpc1
      Src: /src/haproxy/src/stick_table.c:2223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2224
      start: 2216
    functionDepth: 5
    functionLinenumber: 2216
    functionLinenumberEnd: 2224
    functionName: sample_conv_table_gpc1
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_get_gpc1
    - smp_fetch_stksess
    linkageType: ''
    returnType: int
    signature: sample_conv_table_gpc1(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2238,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2238,1
    - Dst: smp_fetch_gpc1_rate
      Src: /src/haproxy/src/stick_table.c:2240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2241
      start: 2233
    functionDepth: 5
    functionLinenumber: 2233
    functionLinenumberEnd: 2241
    functionName: sample_conv_table_gpc1_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_gpc1_rate
    linkageType: ''
    returnType: int
    signature: sample_conv_table_gpc1_rate(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2255,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2255,1
    - Dst: smp_fetch_http_err_cnt
      Src: /src/haproxy/src/stick_table.c:2257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2258
      start: 2250
    functionDepth: 5
    functionLinenumber: 2250
    functionLinenumberEnd: 2258
    functionName: sample_conv_table_http_err_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_http_err_cnt
    - smp_fetch_stksess
    linkageType: ''
    returnType: int
    signature: sample_conv_table_http_err_cnt(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2272,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2272,1
    - Dst: smp_fetch_http_err_rate
      Src: /src/haproxy/src/stick_table.c:2274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2275
      start: 2267
    functionDepth: 5
    functionLinenumber: 2267
    functionLinenumberEnd: 2275
    functionName: sample_conv_table_http_err_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_http_err_rate
    linkageType: ''
    returnType: int
    signature: sample_conv_table_http_err_rate(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2289,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2289,1
    - Dst: smp_fetch_http_fail_cnt
      Src: /src/haproxy/src/stick_table.c:2291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2292
      start: 2284
    functionDepth: 5
    functionLinenumber: 2284
    functionLinenumberEnd: 2292
    functionName: sample_conv_table_http_fail_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_http_fail_cnt
    linkageType: ''
    returnType: int
    signature: sample_conv_table_http_fail_cnt(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2306,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2306,1
    - Dst: smp_fetch_http_fail_rate
      Src: /src/haproxy/src/stick_table.c:2308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2309
      start: 2301
    functionDepth: 5
    functionLinenumber: 2301
    functionLinenumberEnd: 2309
    functionName: sample_conv_table_http_fail_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_http_fail_rate
    linkageType: ''
    returnType: int
    signature: sample_conv_table_http_fail_rate(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2323,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2323,1
    - Dst: smp_fetch_http_req_cnt
      Src: /src/haproxy/src/stick_table.c:2325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2326
      start: 2318
    functionDepth: 5
    functionLinenumber: 2318
    functionLinenumberEnd: 2326
    functionName: sample_conv_table_http_req_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_http_req_cnt
    linkageType: ''
    returnType: int
    signature: sample_conv_table_http_req_cnt(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2340,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2340,1
    - Dst: smp_fetch_http_req_rate
      Src: /src/haproxy/src/stick_table.c:2342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2343
      start: 2335
    functionDepth: 5
    functionLinenumber: 2335
    functionLinenumberEnd: 2343
    functionName: sample_conv_table_http_req_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_http_req_rate
    - smp_fetch_stksess
    linkageType: ''
    returnType: int
    signature: sample_conv_table_http_req_rate(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2357,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2357,1
    - Dst: smp_fetch_kbytes_in
      Src: /src/haproxy/src/stick_table.c:2359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2360
      start: 2352
    functionDepth: 5
    functionLinenumber: 2352
    functionLinenumberEnd: 2360
    functionName: sample_conv_table_kbytes_in
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_kbytes_in
    linkageType: ''
    returnType: int
    signature: sample_conv_table_kbytes_in(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2374,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2374,1
    - Dst: smp_fetch_kbytes_out
      Src: /src/haproxy/src/stick_table.c:2376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2377
      start: 2369
    functionDepth: 5
    functionLinenumber: 2369
    functionLinenumberEnd: 2377
    functionName: sample_conv_table_kbytes_out
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_kbytes_out
    linkageType: ''
    returnType: int
    signature: sample_conv_table_kbytes_out(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2393,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:2402,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:2404,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:2406,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:2408,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:2411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2413
      start: 2385
    functionDepth: 5
    functionLinenumber: 2385
    functionLinenumberEnd: 2413
    functionName: sample_conv_table_server_id
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - smp_fetch_stksess
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: sample_conv_table_server_id(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2427,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2427,1
    - Dst: smp_fetch_sess_cnt
      Src: /src/haproxy/src/stick_table.c:2429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2430
      start: 2422
    functionDepth: 5
    functionLinenumber: 2422
    functionLinenumberEnd: 2430
    functionName: sample_conv_table_sess_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_stksess
    - smp_fetch_sess_cnt
    linkageType: ''
    returnType: int
    signature: sample_conv_table_sess_cnt(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:2444,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2444,1
    - Dst: smp_fetch_sess_rate
      Src: /src/haproxy/src/stick_table.c:2446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2447
      start: 2439
    functionDepth: 5
    functionLinenumber: 2439
    functionLinenumberEnd: 2447
    functionName: sample_conv_table_sess_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_sess_rate
    - smp_fetch_stksess
    linkageType: ''
    returnType: int
    signature: sample_conv_table_sess_rate(const struct arg *arg_p, struct sample
      *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:2462,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stick_table.c:2471,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:2473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 2475
      start: 2455
    functionDepth: 5
    functionLinenumber: 2455
    functionLinenumberEnd: 2475
    functionName: sample_conv_table_trackers
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_stksess
    - HA_ATOMIC_LOAD
    - stktable_release
    linkageType: ''
    returnType: int
    signature: sample_conv_table_trackers(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:2495,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:2500,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:2501,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:2504,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:2507,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:2507,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:2511,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:2513,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:2516,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2520
      start: 2483
    functionDepth: 3
    functionLinenumber: 2483
    functionLinenumberEnd: 2520
    functionName: action_inc_gpc
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - update_freq_ctr_period
    - stktable_touch_local
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: enum act_return
    signature: "action_inc_gpc(struct act_rule *rule, struct proxy *px,\n                                      struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:2536,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:2541,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:2547,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:2552,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:2555,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:2559,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:2562,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:2562,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:2566,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:2568,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:2571,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2575
      start: 2523
    functionDepth: 3
    functionLinenumber: 2523
    functionLinenumberEnd: 2575
    functionName: action_inc_gpc0
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - update_freq_ctr_period
    - stktable_touch_local
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: enum act_return
    signature: "action_inc_gpc0(struct act_rule *rule, struct proxy *px,\n                                       struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:2593,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:2598,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:2604,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:2609,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:2612,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:2616,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:2619,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:2619,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:2623,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:2625,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:2628,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2632
      start: 2578
    functionDepth: 3
    functionLinenumber: 2578
    functionLinenumberEnd: 2632
    functionName: action_inc_gpc1
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - update_freq_ctr_period
    - stktable_touch_local
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: enum act_return
    signature: "action_inc_gpc1(struct act_rule *rule, struct proxy *px,\n                                       struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2651,1
    - Dst: strlen
      Src: /src/haproxy/src/stick_table.c:2655,1
    - Dst: strtoul
      Src: /src/haproxy/src/stick_table.c:2658,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2660,1
    - Dst: strtol
      Src: /src/haproxy/src/stick_table.c:2665,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2667,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2672,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2689,1
    - Dst: strtol
      Src: /src/haproxy/src/stick_table.c:2693,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2695,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2700,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2712,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 5
    argNames:
    - args
    - arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 2717
      start: 2644
    functionDepth: 5
    functionLinenumber: 2644
    functionLinenumberEnd: 2717
    functionName: parse_inc_gpc
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strlen
    - strtoul
    - strtol
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_inc_gpc(const char **args, int *arg, struct proxy *px,\n                                        struct
      act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:2745,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:2750,1
    - Dst: send_log
      Src: /src/haproxy/src/stick_table.c:2764,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:2766,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/stick_table.c:2771,1
    - Dst: send_log
      Src: /src/haproxy/src/stick_table.c:2773,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:2775,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:2781,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:2783,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:2785,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:2787,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2791
      start: 2727
    functionDepth: 10
    functionLinenumber: 2727
    functionLinenumberEnd: 2791
    functionName: action_set_gpt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - send_log
    - stktable_data_ptr_idx
    - stktable_touch_local
    - stkctr_entry
    - stktable_data_cast
    - sample_fetch_as_type
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: enum act_return
    signature: "action_set_gpt(struct act_rule *rule, struct proxy *px,\n                                      struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:2812,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:2817,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:2819,1
    - Dst: send_log
      Src: /src/haproxy/src/stick_table.c:2833,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:2835,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/stick_table.c:2840,1
    - Dst: send_log
      Src: /src/haproxy/src/stick_table.c:2842,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:2844,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:2850,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:2852,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:2854,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:2856,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2860
      start: 2794
    functionDepth: 10
    functionLinenumber: 2794
    functionLinenumberEnd: 2860
    functionName: action_set_gpt0
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - send_log
    - stktable_data_ptr_idx
    - stktable_touch_local
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - sample_fetch_as_type
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: enum act_return
    signature: "action_set_gpt0(struct act_rule *rule, struct proxy *px,\n                                       struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2881,1
    - Dst: strlen
      Src: /src/haproxy/src/stick_table.c:2885,1
    - Dst: strtoul
      Src: /src/haproxy/src/stick_table.c:2888,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2890,1
    - Dst: strtol
      Src: /src/haproxy/src/stick_table.c:2895,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2897,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2902,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2917,1
    - Dst: strtol
      Src: /src/haproxy/src/stick_table.c:2921,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2923,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2928,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2937,1
    - Dst: strtol
      Src: /src/haproxy/src/stick_table.c:2943,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/stick_table.c:2948,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2961,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:2965,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/stick_table.c:2966,1
    - Dst: free
      Src: /src/haproxy/src/stick_table.c:2967,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 90
    argCount: 5
    argNames:
    - args
    - arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 2975
      start: 2873
    functionDepth: 7
    functionLinenumber: 2873
    functionLinenumberEnd: 2975
    functionName: parse_set_gpt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strlen
    - sample_parse_expr
    - free
    - strtol
    - sample_src_names
    - strtoul
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_set_gpt(const char **args, int *arg, struct proxy *px,\n                                         struct
      act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3001,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3006,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3007,1
    - Dst: send_log
      Src: /src/haproxy/src/stick_table.c:3021,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:3023,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/stick_table.c:3028,1
    - Dst: send_log
      Src: /src/haproxy/src/stick_table.c:3030,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:3032,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:3040,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:3043,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3043,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3047,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:3049,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:3052,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 3056
      start: 2985
    functionDepth: 10
    functionLinenumber: 2985
    functionLinenumberEnd: 3056
    functionName: action_add_gpc
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - update_freq_ctr_period
    - send_log
    - stktable_data_ptr_idx
    - stktable_touch_local
    - stkctr_entry
    - stktable_data_cast
    - sample_fetch_as_type
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: enum act_return
    signature: "action_add_gpc(struct act_rule *rule, struct proxy *px,\n                                      struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/stick_table.c:3075,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:3077,1
    - Dst: strtoul
      Src: /src/haproxy/src/stick_table.c:3081,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:3083,1
    - Dst: strtol
      Src: /src/haproxy/src/stick_table.c:3088,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:3090,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:3095,1
    - Dst: strtol
      Src: /src/haproxy/src/stick_table.c:3104,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/stick_table.c:3109,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:3122,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:3127,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/stick_table.c:3128,1
    - Dst: free
      Src: /src/haproxy/src/stick_table.c:3129,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 5
    argNames:
    - args
    - arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 3137
      start: 3068
    functionDepth: 7
    functionLinenumber: 3068
    functionLinenumberEnd: 3137
    functionName: parse_add_gpc
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strlen
    - sample_parse_expr
    - free
    - strtol
    - sample_src_names
    - strtoul
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_add_gpc(const char **args, int *arg, struct proxy *px,\n                                         struct
      act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3149
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3149
    functionName: smp_fetch_table_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_table_cnt(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3164
      start: 3154
    functionDepth: 0
    functionLinenumber: 3154
    functionLinenumberEnd: 3164
    functionName: smp_fetch_table_avl
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_table_avl(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/stick_table.c:3193,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3207,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3212,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3216,1
    - Dst: unlikely
      Src: /src/haproxy/src/stick_table.c:3220,1
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:3228,1
    - Dst: stktable_lookup
      Src: /src/haproxy/src/stick_table.c:3228,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - sess
    - strm
    - args
    - kw
    - stkctr
    argTypes:
    - struct session*
    - struct stream*
    - struct arg*
    - char*
    - struct stkctr*
    constantsTouched: []
    func_position:
      end: 3232
      start: 3180
    functionDepth: 4
    functionLinenumber: 3180
    functionLinenumberEnd: 3232
    functionName: smp_fetch_sc_stkctr
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stktable_lookup
    - stkctr_entry
    - stkctr_set_entry
    - unlikely
    - BUG_ON
    linkageType: ''
    returnType: struct stkctr
    signature: '*

      smp_fetch_sc_stkctr(struct session *sess, struct stream *strm, const struct
      arg *args, const char *kw, struct stkctr *stkctr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/stick_table.c:3242,1
    - Dst: smp_fetch_src
      Src: /src/haproxy/src/stick_table.c:3252,1
    - Dst: smp_fetch_stksess
      Src: /src/haproxy/src/stick_table.c:3255,1
    - Dst: stkctr_set_entry
      Src: /src/haproxy/src/stick_table.c:3258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - sess
    - strm
    - args
    - stkctr
    - create
    argTypes:
    - struct session*
    - struct stream*
    - struct arg*
    - struct stkctr*
    - int
    constantsTouched: []
    func_position:
      end: 3260
      start: 3237
    functionDepth: 5
    functionLinenumber: 3237
    functionLinenumberEnd: 3260
    functionName: smp_fetch_src_stkctr
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stkctr_set_entry
    - smp_fetch_src
    - smp_fetch_stksess
    - objt_conn
    linkageType: ''
    returnType: struct stkctr
    signature: "*\nsmp_fetch_src_stkctr(struct session *sess, struct stream *strm,\n
      \                    const struct arg *args, struct stkctr *stkctr, int create)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:3274,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3279,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3282
      start: 3266
    functionDepth: 5
    functionLinenumber: 3266
    functionLinenumberEnd: 3282
    functionName: smp_fetch_sc_tracked
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - stkctr_entry
    - stktable_release
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_tracked(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3290,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3293,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3293,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3296,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3296,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:3300,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3300,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3302,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:3304,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3304,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3307,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - stkctr
    - smp
    - idx
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 3310
      start: 3284
    functionDepth: 1
    functionLinenumber: 3284
    functionLinenumberEnd: 3310
    functionName: smp_fetch_get_gpt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_get_gpt(struct stkctr *stkctr, struct sample *smp, unsigned
      int idx, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:3327,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:3328,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:3330,1
    - Dst: smp_fetch_get_gpt
      Src: /src/haproxy/src/stick_table.c:3335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3336
      start: 3318
    functionDepth: 6
    functionLinenumber: 3318
    functionLinenumberEnd: 3336
    functionName: smp_fetch_sc_get_gpt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_get_gpt
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_get_gpt(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3344,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:3347,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3347,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3349,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3349,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3353,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3353,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:3357,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3357,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3359,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:3361,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3361,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3364,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 3367
      start: 3338
    functionDepth: 1
    functionLinenumber: 3338
    functionLinenumberEnd: 3367
    functionName: smp_fetch_get_gpt0
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_get_gpt0(struct stkctr *stkctr, struct sample *smp, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:3380,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:3381,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:3383,1
    - Dst: smp_fetch_get_gpt0
      Src: /src/haproxy/src/stick_table.c:3388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3389
      start: 3374
    functionDepth: 6
    functionLinenumber: 3374
    functionLinenumberEnd: 3389
    functionName: smp_fetch_sc_get_gpt0
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_get_gpt0
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_get_gpt0(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3397,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3400,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3400,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3403,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3403,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:3407,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3407,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3409,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:3411,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3411,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3414,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - stkctr
    - smp
    - idx
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 3417
      start: 3391
    functionDepth: 1
    functionLinenumber: 3391
    functionLinenumberEnd: 3417
    functionName: smp_fetch_get_gpc
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_get_gpc(struct stkctr *stkctr, struct sample *smp, unsigned
      int idx, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:3434,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:3435,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:3437,1
    - Dst: smp_fetch_get_gpc
      Src: /src/haproxy/src/stick_table.c:3442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3443
      start: 3425
    functionDepth: 6
    functionLinenumber: 3425
    functionLinenumberEnd: 3443
    functionName: smp_fetch_sc_get_gpc
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_get_gpc
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_get_gpc(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3451,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:3454,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3454,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3457,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3457,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3462,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3462,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:3466,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3466,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3468,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:3470,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3470,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3473,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3473,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 3476
      start: 3445
    functionDepth: 1
    functionLinenumber: 3445
    functionLinenumberEnd: 3476
    functionName: smp_fetch_get_gpc0
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_get_gpc0(struct stkctr *stkctr, struct sample *smp, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:3489,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:3490,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:3492,1
    - Dst: smp_fetch_get_gpc0
      Src: /src/haproxy/src/stick_table.c:3497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3498
      start: 3483
    functionDepth: 6
    functionLinenumber: 3483
    functionLinenumberEnd: 3498
    functionName: smp_fetch_sc_get_gpc0
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_get_gpc0
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_get_gpc0(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3506,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:3509,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3509,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3512,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3512,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3517,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3517,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:3521,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3521,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3523,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:3525,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3525,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3528,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 3531
      start: 3500
    functionDepth: 1
    functionLinenumber: 3500
    functionLinenumberEnd: 3531
    functionName: smp_fetch_get_gpc1
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_get_gpc1(struct stkctr *stkctr, struct sample *smp, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:3544,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:3545,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:3547,1
    - Dst: smp_fetch_get_gpc1
      Src: /src/haproxy/src/stick_table.c:3552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3553
      start: 3538
    functionDepth: 6
    functionLinenumber: 3538
    functionLinenumberEnd: 3553
    functionName: smp_fetch_sc_get_gpc1
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_get_gpc1
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_get_gpc1(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3560,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3563,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3563,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3566,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3566,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:3570,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3570,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:3572,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3572,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:3575,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3575,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3578,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - stkctr
    - smp
    - idx
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 3581
      start: 3555
    functionDepth: 1
    functionLinenumber: 3555
    functionLinenumberEnd: 3581
    functionName: smp_fetch_gpc_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - read_freq_ctr_period
    - HA_RWLOCK_RDLOCK
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_gpc_rate(struct stkctr *stkctr, struct sample *smp, unsigned
      int idx, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:3598,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:3599,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:3601,1
    - Dst: smp_fetch_gpc_rate
      Src: /src/haproxy/src/stick_table.c:3606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3607
      start: 3589
    functionDepth: 6
    functionLinenumber: 3589
    functionLinenumberEnd: 3607
    functionName: smp_fetch_sc_gpc_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_gpc_rate
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_gpc_rate(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3616,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:3619,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3619,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3625,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3625,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3632,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3632,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:3636,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3636,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:3638,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3638,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:3640,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3640,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3643,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3643,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 3646
      start: 3609
    functionDepth: 1
    functionLinenumber: 3609
    functionLinenumberEnd: 3646
    functionName: smp_fetch_gpc0_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - read_freq_ctr_period
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_gpc0_rate(struct stkctr *stkctr, struct sample *smp, int
      decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:3659,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:3660,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:3662,1
    - Dst: smp_fetch_gpc0_rate
      Src: /src/haproxy/src/stick_table.c:3667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3668
      start: 3653
    functionDepth: 6
    functionLinenumber: 3653
    functionLinenumberEnd: 3668
    functionName: smp_fetch_sc_gpc0_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_gpc0_rate
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_gpc0_rate(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3677,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:3680,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3680,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3686,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3686,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3693,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3693,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:3697,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3697,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:3699,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3699,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:3701,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3701,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3704,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3704,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 3707
      start: 3670
    functionDepth: 1
    functionLinenumber: 3670
    functionLinenumberEnd: 3707
    functionName: smp_fetch_gpc1_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - read_freq_ctr_period
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_gpc1_rate(struct stkctr *stkctr, struct sample *smp, int
      decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:3720,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:3721,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:3723,1
    - Dst: smp_fetch_gpc1_rate
      Src: /src/haproxy/src/stick_table.c:3728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3729
      start: 3714
    functionDepth: 6
    functionLinenumber: 3714
    functionLinenumberEnd: 3729
    functionName: smp_fetch_sc_gpc1_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - strncmp
    - smp_fetch_src_stkctr
    - smp_fetch_gpc1_rate
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_gpc1_rate(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3737,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3744,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3744,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3745,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3745,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:3747,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3747,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:3750,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3750,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3752,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3756,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:3758,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3758,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:3761,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3761,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3764,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3764,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - stkctr
    - smp
    - idx
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 3767
      start: 3731
    functionDepth: 3
    functionLinenumber: 3731
    functionLinenumberEnd: 3767
    functionName: smp_fetch_inc_gpc
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - update_freq_ctr_period
    - stktable_touch_local
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_WRUNLOCK
    - stktable_release
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_inc_gpc(struct stkctr *stkctr, struct sample *smp, unsigned
      int idx, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:3783,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:3784,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:3786,1
    - Dst: smp_fetch_inc_gpc
      Src: /src/haproxy/src/stick_table.c:3791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3792
      start: 3774
    functionDepth: 6
    functionLinenumber: 3774
    functionLinenumberEnd: 3792
    functionName: smp_fetch_sc_inc_gpc
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_inc_gpc
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_inc_gpc(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3803,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:3810,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3810,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3816,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3816,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:3821,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3821,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3824,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3824,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:3828,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3828,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:3831,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3831,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3833,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3837,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:3839,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3839,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:3842,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3842,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3845,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3845,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 3848
      start: 3795
    functionDepth: 3
    functionLinenumber: 3795
    functionLinenumberEnd: 3848
    functionName: smp_fetch_inc_gpc0
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - update_freq_ctr_period
    - stktable_touch_local
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - stktable_release
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_inc_gpc0(struct stkctr *stkctr, struct sample *smp, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:3860,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:3861,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:3863,1
    - Dst: smp_fetch_inc_gpc0
      Src: /src/haproxy/src/stick_table.c:3868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3869
      start: 3854
    functionDepth: 6
    functionLinenumber: 3854
    functionLinenumberEnd: 3869
    functionName: smp_fetch_sc_inc_gpc0
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - strncmp
    - smp_fetch_src_stkctr
    - smp_fetch_inc_gpc0
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_inc_gpc0(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3879,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:3886,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3886,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3892,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3892,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:3897,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3897,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3900,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3900,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:3904,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3904,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:3907,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3907,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3909,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3913,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:3915,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3915,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:3918,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3918,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3921,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3921,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 3924
      start: 3871
    functionDepth: 3
    functionLinenumber: 3871
    functionLinenumberEnd: 3924
    functionName: smp_fetch_inc_gpc1
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - update_freq_ctr_period
    - stktable_touch_local
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - stktable_release
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_inc_gpc1(struct stkctr *stkctr, struct sample *smp, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:3936,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:3937,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:3939,1
    - Dst: smp_fetch_inc_gpc1
      Src: /src/haproxy/src/stick_table.c:3944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3945
      start: 3930
    functionDepth: 6
    functionLinenumber: 3930
    functionLinenumberEnd: 3945
    functionName: smp_fetch_sc_inc_gpc1
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_inc_gpc1
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_inc_gpc1(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3953,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:3956,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3956,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:3959,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3959,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:3963,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3963,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:3965,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:3968,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3968,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:3971,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:3971,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - stkctr
    - smp
    - idx
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 3974
      start: 3947
    functionDepth: 3
    functionLinenumber: 3947
    functionLinenumberEnd: 3974
    functionName: smp_fetch_clr_gpc
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stktable_touch_local
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_WRUNLOCK
    - stktable_release
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_clr_gpc(struct stkctr *stkctr, struct sample *smp, unsigned
      int idx, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:3990,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:3991,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:3993,1
    - Dst: smp_fetch_clr_gpc
      Src: /src/haproxy/src/stick_table.c:3998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3999
      start: 3981
    functionDepth: 6
    functionLinenumber: 3981
    functionLinenumberEnd: 3999
    functionName: smp_fetch_sc_clr_gpc
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - strncmp
    - smp_fetch_src_stkctr
    - smp_fetch_clr_gpc
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_clr_gpc(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4007,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4010,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4010,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:4013,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4013,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4018,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4018,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:4022,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4022,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4024,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:4027,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4027,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:4030,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4030,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4033
      start: 4001
    functionDepth: 3
    functionLinenumber: 4001
    functionLinenumberEnd: 4033
    functionName: smp_fetch_clr_gpc0
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stktable_touch_local
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - stktable_release
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_clr_gpc0(struct stkctr *stkctr, struct sample *smp, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4045,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4046,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4048,1
    - Dst: smp_fetch_clr_gpc0
      Src: /src/haproxy/src/stick_table.c:4053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4054
      start: 4039
    functionDepth: 6
    functionLinenumber: 4039
    functionLinenumberEnd: 4054
    functionName: smp_fetch_sc_clr_gpc0
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_clr_gpc0
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_clr_gpc0(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4062,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4065,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4065,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:4068,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4068,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4073,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4073,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:4077,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4077,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4079,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:4082,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4082,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:4085,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4085,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4088
      start: 4056
    functionDepth: 3
    functionLinenumber: 4056
    functionLinenumberEnd: 4088
    functionName: smp_fetch_clr_gpc1
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stktable_touch_local
    - stktable_data_ptr_idx
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - stktable_release
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_clr_gpc1(struct stkctr *stkctr, struct sample *smp, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4100,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4101,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4103,1
    - Dst: smp_fetch_clr_gpc1
      Src: /src/haproxy/src/stick_table.c:4108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4109
      start: 4094
    functionDepth: 6
    functionLinenumber: 4094
    functionLinenumberEnd: 4109
    functionName: smp_fetch_sc_clr_gpc1
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_clr_gpc1
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_clr_gpc1(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4116,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4119,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4119,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4122,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4122,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4126,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4126,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4128,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4130,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4130,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4133,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4138
      start: 4111
    functionDepth: 1
    functionLinenumber: 4111
    functionLinenumberEnd: 4138
    functionName: smp_fetch_conn_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_conn_cnt(struct stkctr *stkctr, struct sample *smp, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4150,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4151,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4153,1
    - Dst: smp_fetch_conn_cnt
      Src: /src/haproxy/src/stick_table.c:4158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4159
      start: 4144
    functionDepth: 6
    functionLinenumber: 4144
    functionLinenumberEnd: 4159
    functionName: smp_fetch_sc_conn_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - strncmp
    - smp_fetch_conn_cnt
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_conn_cnt(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4166,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4169,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4169,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4172,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4172,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4176,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4176,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:4178,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4178,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4181,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4181,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4184,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4187
      start: 4161
    functionDepth: 1
    functionLinenumber: 4161
    functionLinenumberEnd: 4187
    functionName: smp_fetch_conn_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - read_freq_ctr_period
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_conn_rate(struct stkctr *stkctr, struct sample *smp, int
      decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4199,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4200,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4202,1
    - Dst: smp_fetch_conn_rate
      Src: /src/haproxy/src/stick_table.c:4207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4208
      start: 4193
    functionDepth: 6
    functionLinenumber: 4193
    functionLinenumberEnd: 4208
    functionName: smp_fetch_sc_conn_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_conn_rate
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_conn_rate(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4214,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4217,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4217,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:4224,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4224,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4226,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:4228,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4228,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:4232,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - stkctr
    - smp
    argTypes:
    - struct stkctr*
    - struct sample*
    constantsTouched: []
    func_position:
      end: 4236
      start: 4210
    functionDepth: 3
    functionLinenumber: 4210
    functionLinenumberEnd: 4236
    functionName: smp_fetch_updt_conn_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stktable_touch_local
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_updt_conn_cnt(struct stkctr *stkctr, struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4248,1
    - Dst: smp_fetch_updt_conn_cnt
      Src: /src/haproxy/src/stick_table.c:4253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4254
      start: 4242
    functionDepth: 6
    functionLinenumber: 4242
    functionLinenumberEnd: 4254
    functionName: smp_fetch_src_updt_conn_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_updt_conn_cnt
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_src_updt_conn_cnt(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4261,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4264,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4264,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4267,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4267,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4271,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4271,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4273,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4275,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4275,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4278,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4281
      start: 4256
    functionDepth: 1
    functionLinenumber: 4256
    functionLinenumberEnd: 4281
    functionName: smp_fetch_conn_cur
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_conn_cur(struct stkctr *stkctr, struct sample *smp, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4293,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4294,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4296,1
    - Dst: smp_fetch_conn_cur
      Src: /src/haproxy/src/stick_table.c:4301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4302
      start: 4287
    functionDepth: 6
    functionLinenumber: 4287
    functionLinenumberEnd: 4302
    functionName: smp_fetch_sc_conn_cur
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_conn_cur
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_conn_cur(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4309,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4312,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4312,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4315,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4315,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4319,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4319,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4321,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4323,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4323,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4326,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4329
      start: 4304
    functionDepth: 1
    functionLinenumber: 4304
    functionLinenumberEnd: 4329
    functionName: smp_fetch_glitch_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_glitch_cnt(struct stkctr *stkctr, struct sample *smp, int
      decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4341,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4342,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4344,1
    - Dst: smp_fetch_glitch_cnt
      Src: /src/haproxy/src/stick_table.c:4349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4350
      start: 4335
    functionDepth: 6
    functionLinenumber: 4335
    functionLinenumberEnd: 4350
    functionName: smp_fetch_sc_glitch_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_glitch_cnt
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_glitch_cnt(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4357,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4360,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4360,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4363,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4363,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4367,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4367,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:4369,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4369,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4372,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4372,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4375,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4378
      start: 4352
    functionDepth: 1
    functionLinenumber: 4352
    functionLinenumberEnd: 4378
    functionName: smp_fetch_glitch_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - read_freq_ctr_period
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_glitch_rate(struct stkctr *stkctr, struct sample *smp, int
      decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4390,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4391,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4393,1
    - Dst: smp_fetch_glitch_rate
      Src: /src/haproxy/src/stick_table.c:4398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4399
      start: 4384
    functionDepth: 6
    functionLinenumber: 4384
    functionLinenumberEnd: 4399
    functionName: smp_fetch_sc_glitch_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_glitch_rate
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_glitch_rate(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4406,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4409,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4409,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4412,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4412,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4416,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4416,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4418,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4420,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4420,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4423,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4426
      start: 4401
    functionDepth: 1
    functionLinenumber: 4401
    functionLinenumberEnd: 4426
    functionName: smp_fetch_sess_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_sess_cnt(struct stkctr *stkctr, struct sample *smp, int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4438,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4439,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4441,1
    - Dst: smp_fetch_sess_cnt
      Src: /src/haproxy/src/stick_table.c:4446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4447
      start: 4432
    functionDepth: 6
    functionLinenumber: 4432
    functionLinenumberEnd: 4447
    functionName: smp_fetch_sc_sess_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - strncmp
    - smp_fetch_sess_cnt
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_sess_cnt(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4454,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4457,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4457,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4460,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4460,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4464,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4464,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:4466,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4466,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4469,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4469,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4472,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4475
      start: 4449
    functionDepth: 1
    functionLinenumber: 4449
    functionLinenumberEnd: 4475
    functionName: smp_fetch_sess_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - read_freq_ctr_period
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_sess_rate(struct stkctr *stkctr, struct sample *smp, int
      decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4486,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4487,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4489,1
    - Dst: smp_fetch_sess_rate
      Src: /src/haproxy/src/stick_table.c:4494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4495
      start: 4480
    functionDepth: 6
    functionLinenumber: 4480
    functionLinenumberEnd: 4495
    functionName: smp_fetch_sc_sess_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_sess_rate
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_sess_rate(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4502,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4505,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4505,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4508,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4508,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4512,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4512,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4514,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4516,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4516,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4519,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4522
      start: 4497
    functionDepth: 1
    functionLinenumber: 4497
    functionLinenumberEnd: 4522
    functionName: smp_fetch_http_req_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_http_req_cnt(struct stkctr *stkctr, struct sample *smp, int
      decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4534,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4535,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4537,1
    - Dst: smp_fetch_http_req_cnt
      Src: /src/haproxy/src/stick_table.c:4542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4543
      start: 4528
    functionDepth: 6
    functionLinenumber: 4528
    functionLinenumberEnd: 4543
    functionName: smp_fetch_sc_http_req_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_http_req_cnt
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_http_req_cnt(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4550,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4553,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4553,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4556,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4556,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4560,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4560,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:4562,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4562,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4565,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4565,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4568,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4571
      start: 4545
    functionDepth: 1
    functionLinenumber: 4545
    functionLinenumberEnd: 4571
    functionName: smp_fetch_http_req_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - read_freq_ctr_period
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_http_req_rate(struct stkctr *stkctr, struct sample *smp,
      int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4583,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4584,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4586,1
    - Dst: smp_fetch_http_req_rate
      Src: /src/haproxy/src/stick_table.c:4591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4592
      start: 4577
    functionDepth: 6
    functionLinenumber: 4577
    functionLinenumberEnd: 4592
    functionName: smp_fetch_sc_http_req_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_http_req_rate
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_http_req_rate(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4599,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4602,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4602,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4605,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4605,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4609,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4609,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4611,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4613,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4613,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4616,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4619
      start: 4594
    functionDepth: 1
    functionLinenumber: 4594
    functionLinenumberEnd: 4619
    functionName: smp_fetch_http_err_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_http_err_cnt(struct stkctr *stkctr, struct sample *smp, int
      decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4631,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4632,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4634,1
    - Dst: smp_fetch_http_err_cnt
      Src: /src/haproxy/src/stick_table.c:4639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4640
      start: 4625
    functionDepth: 6
    functionLinenumber: 4625
    functionLinenumberEnd: 4640
    functionName: smp_fetch_sc_http_err_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_http_err_cnt
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_http_err_cnt(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4647,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4650,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4650,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4653,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4653,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4657,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4657,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:4659,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4659,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4662,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4662,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4665,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4665,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4668
      start: 4642
    functionDepth: 1
    functionLinenumber: 4642
    functionLinenumberEnd: 4668
    functionName: smp_fetch_http_err_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - read_freq_ctr_period
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_http_err_rate(struct stkctr *stkctr, struct sample *smp,
      int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4680,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4681,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4683,1
    - Dst: smp_fetch_http_err_rate
      Src: /src/haproxy/src/stick_table.c:4688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4689
      start: 4674
    functionDepth: 6
    functionLinenumber: 4674
    functionLinenumberEnd: 4689
    functionName: smp_fetch_sc_http_err_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_http_err_rate
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_http_err_rate(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4696,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4699,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4699,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4702,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4702,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4706,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4706,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4708,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4710,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4710,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4713,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4716
      start: 4691
    functionDepth: 1
    functionLinenumber: 4691
    functionLinenumberEnd: 4716
    functionName: smp_fetch_http_fail_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_http_fail_cnt(struct stkctr *stkctr, struct sample *smp,
      int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4728,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4729,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4731,1
    - Dst: smp_fetch_http_fail_cnt
      Src: /src/haproxy/src/stick_table.c:4736,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4737
      start: 4722
    functionDepth: 6
    functionLinenumber: 4722
    functionLinenumberEnd: 4737
    functionName: smp_fetch_sc_http_fail_cnt
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_http_fail_cnt
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_http_fail_cnt(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4744,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4747,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4747,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4750,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4750,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4754,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4754,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:4756,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4756,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4759,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4759,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4762,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4766
      start: 4739
    functionDepth: 1
    functionLinenumber: 4739
    functionLinenumberEnd: 4766
    functionName: smp_fetch_http_fail_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - read_freq_ctr_period
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_http_fail_rate(struct stkctr *stkctr, struct sample *smp,
      int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4778,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4779,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4781,1
    - Dst: smp_fetch_http_fail_rate
      Src: /src/haproxy/src/stick_table.c:4786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4787
      start: 4772
    functionDepth: 6
    functionLinenumber: 4772
    functionLinenumberEnd: 4787
    functionName: smp_fetch_sc_http_fail_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - strncmp
    - smp_fetch_src_stkctr
    - smp_fetch_http_fail_rate
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_http_fail_rate(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4794,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4797,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4797,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4800,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4800,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4804,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4804,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4806,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4808,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4808,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4811,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4814
      start: 4789
    functionDepth: 1
    functionLinenumber: 4789
    functionLinenumberEnd: 4814
    functionName: smp_fetch_kbytes_in
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_kbytes_in(struct stkctr *stkctr, struct sample *smp, int
      decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4826,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4827,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4829,1
    - Dst: smp_fetch_kbytes_in
      Src: /src/haproxy/src/stick_table.c:4834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4835
      start: 4820
    functionDepth: 6
    functionLinenumber: 4820
    functionLinenumberEnd: 4835
    functionName: smp_fetch_sc_kbytes_in
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - strncmp
    - smp_fetch_kbytes_in
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_kbytes_in(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4842,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4845,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4845,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4848,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4848,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4852,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4852,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:4854,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4854,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4857,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4857,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4860,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4863
      start: 4837
    functionDepth: 1
    functionLinenumber: 4837
    functionLinenumberEnd: 4863
    functionName: smp_fetch_bytes_in_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - read_freq_ctr_period
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_bytes_in_rate(struct stkctr *stkctr, struct sample *smp,
      int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4875,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4876,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4878,1
    - Dst: smp_fetch_bytes_in_rate
      Src: /src/haproxy/src/stick_table.c:4883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4884
      start: 4869
    functionDepth: 6
    functionLinenumber: 4869
    functionLinenumberEnd: 4884
    functionName: smp_fetch_sc_bytes_in_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_bytes_in_rate
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_bytes_in_rate(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4891,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4894,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4894,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4897,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4897,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4901,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4901,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4903,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4905,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4905,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4908,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4911
      start: 4886
    functionDepth: 1
    functionLinenumber: 4886
    functionLinenumberEnd: 4911
    functionName: smp_fetch_kbytes_out
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_kbytes_out(struct stkctr *stkctr, struct sample *smp, int
      decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4923,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4924,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4926,1
    - Dst: smp_fetch_kbytes_out
      Src: /src/haproxy/src/stick_table.c:4931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4932
      start: 4917
    functionDepth: 6
    functionLinenumber: 4917
    functionLinenumberEnd: 4932
    functionName: smp_fetch_sc_kbytes_out
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - strncmp
    - smp_fetch_src_stkctr
    - smp_fetch_kbytes_out
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_kbytes_out(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:4944,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4948,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4958
      start: 4937
    functionDepth: 5
    functionLinenumber: 4937
    functionLinenumberEnd: 4958
    functionName: smp_fetch_sc_key
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - stktable_release
    - stkctr_entry
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_key(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4965,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:4968,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4968,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4971,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4971,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:4975,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4975,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:4977,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:4977,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:4980,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4980,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:4983,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:4983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - stkctr
    - smp
    - decrefcnt
    argTypes:
    - struct stkctr*
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 4986
      start: 4960
    functionDepth: 1
    functionLinenumber: 4960
    functionLinenumberEnd: 4986
    functionName: smp_fetch_bytes_out_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 1
    functionsReached:
    - stkctr_entry
    - stktable_data_cast
    - read_freq_ctr_period
    - HA_RWLOCK_RDLOCK
    - stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: smp_fetch_bytes_out_rate(struct stkctr *stkctr, struct sample *smp,
      int decrefcnt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:4998,1
    - Dst: smp_fetch_src_stkctr
      Src: /src/haproxy/src/stick_table.c:4999,1
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:5001,1
    - Dst: smp_fetch_bytes_out_rate
      Src: /src/haproxy/src/stick_table.c:5006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 5007
      start: 4992
    functionDepth: 6
    functionLinenumber: 4992
    functionLinenumberEnd: 5007
    functionName: smp_fetch_sc_bytes_out_rate
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - smp_fetch_bytes_out_rate
    - strncmp
    - smp_fetch_src_stkctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_bytes_out_rate(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_fetch_sc_stkctr
      Src: /src/haproxy/src/stick_table.c:5018,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:5025,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stick_table.c:5025,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:5025,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:5026,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:5026,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:5029,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stick_table.c:5029,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/stick_table.c:5029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 5033
      start: 5012
    functionDepth: 5
    functionLinenumber: 5012
    functionLinenumberEnd: 5033
    functionName: smp_fetch_sc_trackers
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_fetch_sc_stkctr
    - stktable_release
    - HA_ATOMIC_LOAD
    - stkctr_entry
    linkageType: ''
    returnType: int
    signature: smp_fetch_sc_trackers(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_strm
      Src: /src/haproxy/src/stick_table.c:5057,1
    - Dst: appctx_sc
      Src: /src/haproxy/src/stick_table.c:5057,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5059,1
    - Dst: strm_li
      Src: /src/haproxy/src/stick_table.c:5064,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5065,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/stick_table.c:5067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - msg
    - appctx
    - t
    - target
    argTypes:
    - struct buffer*
    - struct appctx*
    - struct stktable*
    - struct stktable*
    constantsTouched: []
    func_position:
      end: 5071
      start: 5053
    functionDepth: 1
    functionLinenumber: 5053
    functionLinenumberEnd: 5071
    functionName: table_dump_head_to_buffer
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - strm_li
    - chunk_appendf
    - applet_putchk
    - __sc_strm
    linkageType: ''
    returnType: int
    signature: "table_dump_head_to_buffer(struct buffer *msg,\n                                     struct
      appctx *appctx,\n                                     struct stktable *t, struct
      stktable *target)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5083,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/stick_table.c:5087,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5088,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/stick_table.c:5092,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5093,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5096,1
    - Dst: read_u32
      Src: /src/haproxy/src/stick_table.c:5096,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5099,1
    - Dst: dump_text
      Src: /src/haproxy/src/stick_table.c:5100,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5103,1
    - Dst: dump_binary
      Src: /src/haproxy/src/stick_table.c:5104,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5107,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stick_table.c:5107,1
    - Dst: tick_remain
      Src: /src/haproxy/src/stick_table.c:5107,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:5136,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5139,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5141,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5144,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5144,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5147,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5147,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5150,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5150,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:5153,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5153,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5157,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:5160,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5165,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5167,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:5169,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5172,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5172,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5175,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5175,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5178,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5178,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:5181,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5181,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5185,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5189,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5190,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stick_table.c:5195,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/stick_table.c:5197,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 92
    argCount: 4
    argNames:
    - msg
    - appctx
    - t
    - entry
    argTypes:
    - struct buffer*
    - struct appctx*
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 5201
      start: 5077
    functionDepth: 1
    functionLinenumber: 5077
    functionLinenumberEnd: 5201
    functionName: table_dump_entry_to_buffer
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stktable_data_ptr_idx
    - dump_binary
    - read_u32
    - stktable_data_cast
    - inet_ntop
    - tick_remain
    - read_freq_ctr_period
    - chunk_appendf
    - stktable_data_ptr
    - applet_putchk
    - HA_ATOMIC_LOAD
    - dump_text
    linkageType: ''
    returnType: int
    signature: "table_dump_entry_to_buffer(struct buffer *msg,\n                                      struct
      appctx *appctx,\n                                      struct stktable *t, struct
      stksess *entry)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5243,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5245,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5247,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5249,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/stick_table.c:5254,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stick_table.c:5262,1
    - Dst: table_dump_head_to_buffer
      Src: /src/haproxy/src/stick_table.c:5263,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:5264,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:5267,1
    - Dst: table_dump_entry_to_buffer
      Src: /src/haproxy/src/stick_table.c:5268,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:5269,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:5270,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:5273,1
    - Dst: stktable_release
      Src: /src/haproxy/src/stick_table.c:5274,1
    - Dst: stksess_kill
      Src: /src/haproxy/src/stick_table.c:5278,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5280,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:5285,1
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:5289,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5290,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:5291,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:5292,1
    - Dst: stktable_get_data_type_idx
      Src: /src/haproxy/src/stick_table.c:5296,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5298,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:5299,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:5300,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5305,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:5306,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:5307,1
    - Dst: strl2llrc
      Src: /src/haproxy/src/stick_table.c:5311,1
    - Dst: strlen
      Src: /src/haproxy/src/stick_table.c:5311,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5312,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:5313,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:5314,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:5319,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5321,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:5322,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:5323,1
    - Dst: __stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:5328,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5332,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5335,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5338,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5346,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:5357,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stick_table.c:5358,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5362,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 107
    argCount: 3
    argNames:
    - appctx
    - ts
    - args
    argTypes:
    - struct appctx*
    - struct stksess*
    - char**
    constantsTouched: []
    func_position:
      end: 5366
      start: 5224
    functionDepth: 3
    functionLinenumber: 5224
    functionLinenumberEnd: 5366
    functionName: table_process_entry
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - strl2llrc
    - chunk_reset
    - strncmp
    - stktable_get_data_type_idx
    - stktable_data_cast
    - stktable_data_ptr_idx
    - strlen
    - HA_RWLOCK_RDLOCK
    - HA_RWLOCK_WRUNLOCK
    - cli_has_level
    - table_dump_head_to_buffer
    - stktable_touch_local
    - table_dump_entry_to_buffer
    - cli_err
    - stksess_kill
    - __stktable_data_ptr
    - stktable_release
    - HA_RWLOCK_WRLOCK
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: table_process_entry(struct appctx *appctx, struct stksess *ts, char
      **args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5379,1
    - Dst: memset
      Src: /src/haproxy/src/stick_table.c:5381,1
    - Dst: strlen
      Src: /src/haproxy/src/stick_table.c:5384,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stick_table.c:5392,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5394,1
    - Dst: smp_to_stkey
      Src: /src/haproxy/src/stick_table.c:5404,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5405,1
    - Dst: stktable_get_entry
      Src: /src/haproxy/src/stick_table.c:5408,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5410,1
    - Dst: stktable_lookup_key
      Src: /src/haproxy/src/stick_table.c:5412,1
    - Dst: table_process_entry
      Src: /src/haproxy/src/stick_table.c:5414,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - appctx
    - args
    argTypes:
    - struct appctx*
    - char**
    constantsTouched: []
    func_position:
      end: 5415
      start: 5371
    functionDepth: 4
    functionLinenumber: 5371
    functionLinenumberEnd: 5415
    functionName: table_process_entry_per_key
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - smp_to_stkey
    - stktable_get_entry
    - strlen
    - cli_err
    - table_process_entry
    - stktable_lookup_key
    - memset
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: table_process_entry_per_key(struct appctx *appctx, char **args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5429,1
    - Dst: strtoul
      Src: /src/haproxy/src/stick_table.c:5432,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5434,1
    - Dst: stktable_lookup_ptr
      Src: /src/haproxy/src/stick_table.c:5436,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5438,1
    - Dst: table_process_entry
      Src: /src/haproxy/src/stick_table.c:5440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - appctx
    - args
    argTypes:
    - struct appctx*
    - char**
    constantsTouched: []
    func_position:
      end: 5441
      start: 5420
    functionDepth: 4
    functionLinenumber: 5420
    functionLinenumberEnd: 5441
    functionName: table_process_entry_per_ptr
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - strtoul
    - table_process_entry
    - cli_err
    - stktable_lookup_ptr
    linkageType: ''
    returnType: int
    signature: table_process_entry_per_ptr(struct appctx *appctx, char **args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5453,1
    - Dst: stktable_get_data_type_idx
      Src: /src/haproxy/src/stick_table.c:5459,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/stick_table.c:5461,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:5461,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/stick_table.c:5464,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:5464,1
    - Dst: get_std_op
      Src: /src/haproxy/src/stick_table.c:5466,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/stick_table.c:5468,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:5468,1
    - Dst: strl2llrc
      Src: /src/haproxy/src/stick_table.c:5470,1
    - Dst: strlen
      Src: /src/haproxy/src/stick_table.c:5470,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/stick_table.c:5471,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:5471,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/stick_table.c:5475,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:5475,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - appctx
    - args
    argTypes:
    - struct appctx*
    - char**
    constantsTouched: []
    func_position:
      end: 5480
      start: 5446
    functionDepth: 5
    functionLinenumber: 5446
    functionLinenumberEnd: 5480
    functionName: table_prepare_data_request
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - strl2llrc
    - get_std_op
    - stktable_get_data_type_idx
    - strlen
    - cli_err
    linkageType: ''
    returnType: int
    signature: table_prepare_data_request(struct appctx *appctx, char **args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/stick_table.c:5485,1
    - Dst: stktable_find_by_name
      Src: /src/haproxy/src/stick_table.c:5495,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5497,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:5506,1
    - Dst: table_process_entry_per_key
      Src: /src/haproxy/src/stick_table.c:5507,1
    - Dst: strcmp
      Src: /src/haproxy/src/stick_table.c:5508,1
    - Dst: table_process_entry_per_ptr
      Src: /src/haproxy/src/stick_table.c:5509,1
    - Dst: strncmp
      Src: /src/haproxy/src/stick_table.c:5510,1
    - Dst: table_prepare_data_request
      Src: /src/haproxy/src/stick_table.c:5511,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5520,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5522,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5524,1
    - Dst: cli_err
      Src: /src/haproxy/src/stick_table.c:5526,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 5528
      start: 5483
    functionDepth: 6
    functionLinenumber: 5483
    functionLinenumberEnd: 5528
    functionName: cli_parse_table_req
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strcmp
    - cli_err
    - table_prepare_data_request
    - stktable_find_by_name
    - table_process_entry_per_ptr
    - table_process_entry_per_key
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_table_req(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/stick_table.c:5537,1
    - Dst: __sc_strm
      Src: /src/haproxy/src/stick_table.c:5538,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stick_table.c:5555,1
    - Dst: table_dump_head_to_buffer
      Src: /src/haproxy/src/stick_table.c:5568,1
    - Dst: strm_li
      Src: /src/haproxy/src/stick_table.c:5572,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:5574,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/stick_table.c:5575,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/stick_table.c:5577,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/stick_table.c:5578,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:5580,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:5583,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stick_table.c:5600,1
    - Dst: stktable_data_ptr_idx
      Src: /src/haproxy/src/stick_table.c:5615,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/stick_table.c:5625,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/stick_table.c:5631,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5637,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5640,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5643,1
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/src/stick_table.c:5646,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stick_table.c:5646,1
    - Dst: table_dump_entry_to_buffer
      Src: /src/haproxy/src/stick_table.c:5670,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:5671,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stick_table.c:5675,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stick_table.c:5677,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/stick_table.c:5678,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/stick_table.c:5680,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/stick_table.c:5683,1
    - Dst: __stksess_kill_if_expired
      Src: /src/haproxy/src/stick_table.c:5685,1
    - Dst: __stksess_kill
      Src: /src/haproxy/src/stick_table.c:5687,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/stick_table.c:5688,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:5689,1
    - Dst: __stksess_kill_if_expired
      Src: /src/haproxy/src/stick_table.c:5695,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stick_table.c:5696,1
    - Dst: __stksess_kill
      Src: /src/haproxy/src/stick_table.c:5697,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stick_table.c:5699,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 109
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 5714
      start: 5534
    functionDepth: 2
    functionLinenumber: 5534
    functionLinenumberEnd: 5714
    functionName: cli_io_handler_table
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - HA_ATOMIC_INC
    - ebmb_first
    - ebmb_next
    - HA_ATOMIC_LOAD
    - BUG_ON
    - stktable_data_cast
    - read_freq_ctr_period
    - stktable_data_ptr
    - HA_ATOMIC_DEC
    - __sc_strm
    - __stksess_kill
    - stktable_data_ptr_idx
    - HA_RWLOCK_RDLOCK
    - HA_RWLOCK_WRUNLOCK
    - table_dump_head_to_buffer
    - appctx_sc
    - table_dump_entry_to_buffer
    - strm_li
    - __stksess_kill_if_expired
    - ebmb_entry
    - HA_RWLOCK_WRLOCK
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: cli_io_handler_table(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stksess_kill_if_expired
      Src: /src/haproxy/src/stick_table.c:5721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 5723
      start: 5716
    functionDepth: 1
    functionLinenumber: 5716
    functionLinenumberEnd: 5723
    functionName: cli_release_show_table
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - stksess_kill_if_expired
    linkageType: ''
    returnType: void
    signature: cli_release_show_table(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/haproxy/src/stick_table.c:5732,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:5734,1
    - Dst: memprintf
      Src: /src/haproxy/src/stick_table.c:5739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 5745
      start: 5725
    functionDepth: 5
    functionLinenumber: 5725
    functionLinenumberEnd: 5745
    functionName: stk_parse_stick_counters
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strtol
    linkageType: ''
    returnType: int
    signature: "stk_parse_stick_counters(char **args, int section_type, struct proxy
      *curpx,\n                                const struct proxy *defpx, const char
      *file, int line,\n                                char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_pool
      Src: /src/haproxy/src/stick_table.c:5756,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stick_table.c:5758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5762
      start: 5751
    functionDepth: 1
    functionLinenumber: 5751
    functionLinenumberEnd: 5762
    functionName: stkt_create_stk_ctr_pool
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - create_pool
    linkageType: ''
    returnType: int
    signature: stkt_create_stk_ctr_pool(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_sample_fetch
      Src: /src/haproxy/src/stick_table.c:5768,1
    - Dst: strlen
      Src: /src/haproxy/src/stick_table.c:5768,1
    - Dst: hap_register_post_check
      Src: /src/haproxy/src/stick_table.c:5771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5772
      start: 5764
    functionDepth: 1
    functionLinenumber: 5764
    functionLinenumberEnd: 5772
    functionName: stkt_late_init
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - strlen
    - hap_register_post_check
    - find_sample_fetch
    linkageType: ''
    returnType: void
    signature: stkt_late_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/src/stick_table.c:6092,1
    - Dst: ist
      Src: /src/haproxy/src/stick_table.c:6093,1
    - Dst: ist
      Src: /src/haproxy/src/stick_table.c:6096,1
    - Dst: ist
      Src: /src/haproxy/src/stick_table.c:6097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - id
    - metric
    - desc
    argTypes:
    - unsigned int
    - struct promex_metric*
    - struct ist*
    constantsTouched: []
    func_position:
      end: 6103
      start: 6088
    functionDepth: 0
    functionLinenumber: 6088
    functionLinenumberEnd: 6103
    functionName: stk_promex_metric_info
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - ist
    linkageType: ''
    returnType: int
    signature: stk_promex_metric_info(unsigned int id, struct promex_metric *metric,
      struct ist *desc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unused
    - id
    argTypes:
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6108
      start: 6105
    functionDepth: 0
    functionLinenumber: 6105
    functionLinenumberEnd: 6108
    functionName: stk_promex_start_ts
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '*stk_promex_start_ts(void *unused, unsigned int id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - unused
    - metric_ctx
    - id
    argTypes:
    - void*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 6115
      start: 6110
    functionDepth: 0
    functionLinenumber: 6110
    functionLinenumberEnd: 6115
    functionName: stk_promex_next_ts
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '*stk_promex_next_ts(void *unused, void *metric_ctx, unsigned int id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/src/stick_table.c:6124,1
    - Dst: ist
      Src: /src/haproxy/src/stick_table.c:6125,1
    - Dst: ist
      Src: /src/haproxy/src/stick_table.c:6126,1
    - Dst: ist
      Src: /src/haproxy/src/stick_table.c:6127,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stick_table.c:6131,1
    - Dst: mkf_u32
      Src: /src/haproxy/src/stick_table.c:6134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - unused
    - metric_ctx
    - id
    - labels
    - field
    argTypes:
    - void*
    - void*
    - unsigned int
    - struct promex_label*
    - struct field*
    constantsTouched: []
    func_position:
      end: 6140
      start: 6117
    functionDepth: 1
    functionLinenumber: 6117
    functionLinenumberEnd: 6140
    functionName: stk_promex_fill_ts
    functionSourceFile: /src/haproxy/src/stick_table.c
    functionUses: 0
    functionsReached:
    - mkf_u32
    - ist
    linkageType: ''
    returnType: int
    signature: stk_promex_fill_ts(void *unused, void *metric_ctx, unsigned int id,
      struct promex_label *labels, struct field *field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ptr_hash
      Src: /src/haproxy/src/pool.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: pool_pbucket
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - ptr_hash
    linkageType: ''
    returnType: forceinline unsigned
    signature: pool_pbucket(const void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: pool_tbucket
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline unsigned
    signature: pool_tbucket(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_isolate
      Src: /src/haproxy/src/pool.c:144,1
    - Dst: malloc_trim
      Src: /src/haproxy/src/pool.c:146,1
    - Dst: thread_release
      Src: /src/haproxy/src/pool.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: trim_all_pools
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 1
    functionsReached:
    - thread_isolate
    - thread_release
    - malloc_trim
    linkageType: ''
    returnType: void
    signature: trim_all_pools(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_sym_curr_addr
      Src: /src/haproxy/src/pool.c:175,1
    - Dst: mallinfo2
      Src: /src/haproxy/src/pool.c:189,1
    - Dst: mallinfo
      Src: /src/haproxy/src/pool.c:191,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/pool.c:193,1
    - Dst: malloc
      Src: /src/haproxy/src/pool.c:193,1
    - Dst: mallinfo2
      Src: /src/haproxy/src/pool.c:195,1
    - Dst: mallinfo
      Src: /src/haproxy/src/pool.c:197,1
    - Dst: free
      Src: /src/haproxy/src/pool.c:199,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/pool.c:199,1
    - Dst: memcmp
      Src: /src/haproxy/src/pool.c:201,1
    - Dst: malloc_default_zone
      Src: /src/haproxy/src/pool.c:203,1
    - Dst: get_sym_next_addr
      Src: /src/haproxy/src/pool.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 209
    functionName: detect_allocator
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - malloc
    - DISGUISE
    - mallinfo
    - get_sym_next_addr
    - malloc_default_zone
    - free
    - get_sym_curr_addr
    - memcmp
    - mallinfo2
    linkageType: ''
    returnType: void
    signature: detect_allocator(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/pool.c:221,1
    - Dst: my_mallctl
      Src: /src/haproxy/src/pool.c:232,1
    - Dst: snprintf
      Src: /src/haproxy/src/pool.c:235,1
    - Dst: my_mallctl
      Src: /src/haproxy/src/pool.c:236,1
    - Dst: _malloc_trim
      Src: /src/haproxy/src/pool.c:247,1
    - Dst: malloc_get_all_zones
      Src: /src/haproxy/src/pool.c:255,1
    - Dst: malloc_zone_pressure_relief
      Src: /src/haproxy/src/pool.c:261,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/pool.c:268,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - pad
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 272
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 272
    functionName: malloc_trim
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_INC
    - snprintf
    - malloc_zone_pressure_relief
    - HA_ATOMIC_DEC
    - malloc_get_all_zones
    - _malloc_trim
    - my_mallctl
    linkageType: ''
    returnType: int
    signature: malloc_trim(size_t pad)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/pool.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool_head*
    constantsTouched: []
    func_position:
      end: 285
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 285
    functionName: mem_should_fail
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - statistical_prng_range
    linkageType: ''
    returnType: int
    signature: mem_should_fail(const struct pool_head *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/pool.c:305,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/pool.c:309,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pool.c:344,1
    - Dst: pool_allocated
      Src: /src/haproxy/src/pool.c:346,1
    - Dst: strcmp
      Src: /src/haproxy/src/pool.c:360,1
    - Dst: abs
      Src: /src/haproxy/src/pool.c:362,1
    - Dst: calloc
      Src: /src/haproxy/src/pool.c:390,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/pool.c:399,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/pool.c:403,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/pool.c:404,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/pool.c:409,1
    - Dst: DPRINTF
      Src: /src/haproxy/src/pool.c:421,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/pool.c:424,1
    - Dst: free
      Src: /src/haproxy/src/pool.c:430,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 72
    argCount: 3
    argNames:
    - name
    - size
    - flags
    argTypes:
    - char*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 432
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 432
    functionName: create_pool
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 9
    functionsReached:
    - strlcpy2
    - pool_allocated
    - list_for_each_entry
    - calloc
    - strcmp
    - LIST_APPEND
    - free
    - LIST_INIT
    - DPRINTF
    - abs
    linkageType: ''
    returnType: struct pool_head
    signature: '*create_pool(char *name, unsigned int size, unsigned int flags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_allocated
      Src: /src/haproxy/src/pool.c:440,1
    - Dst: pool_alloc_area_uaf
      Src: /src/haproxy/src/pool.c:444,1
    - Dst: pool_alloc_area
      Src: /src/haproxy/src/pool.c:446,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/pool.c:449,1
    - Dst: pool_tbucket
      Src: /src/haproxy/src/pool.c:449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool_head*
    constantsTouched: []
    func_position:
      end: 454
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 454
    functionName: pool_get_from_os_noinc
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - pool_allocated
    - _HA_ATOMIC_INC
    - pool_alloc_area_uaf
    - pool_tbucket
    - pool_alloc_area
    linkageType: ''
    returnType: void
    signature: '*pool_get_from_os_noinc(struct pool_head *pool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free_area_uaf
      Src: /src/haproxy/src/pool.c:463,1
    - Dst: pool_free_area
      Src: /src/haproxy/src/pool.c:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pool
    - ptr
    argTypes:
    - struct pool_head*
    - void*
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: pool_put_to_os_nodec
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - pool_free_area
    - pool_free_area_uaf
    linkageType: ''
    returnType: void
    signature: pool_put_to_os_nodec(struct pool_head *pool, void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_get_from_os_noinc
      Src: /src/haproxy/src/pool.c:478,1
    - Dst: pool_pbucket
      Src: /src/haproxy/src/pool.c:482,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/pool.c:484,1
    - Dst: _HA_ATOMIC_FETCH_ADD
      Src: /src/haproxy/src/pool.c:485,1
    - Dst: swrate_add_scaled_opportunistic
      Src: /src/haproxy/src/pool.c:486,1
    - Dst: POOL_DEBUG_SET_MARK
      Src: /src/haproxy/src/pool.c:489,1
    - Dst: POOL_DEBUG_TRACE_CALLER
      Src: /src/haproxy/src/pool.c:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pool
    - caller
    argTypes:
    - struct pool_head*
    - void*
    constantsTouched: []
    func_position:
      end: 492
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 492
    functionName: pool_alloc_nocache
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - swrate_add_scaled_opportunistic
    - _HA_ATOMIC_INC
    - _HA_ATOMIC_FETCH_ADD
    - pool_get_from_os_noinc
    - POOL_DEBUG_TRACE_CALLER
    - POOL_DEBUG_SET_MARK
    - pool_pbucket
    linkageType: ''
    returnType: void
    signature: '*pool_alloc_nocache(struct pool_head *pool, const void *caller)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_pbucket
      Src: /src/haproxy/src/pool.c:500,1
    - Dst: _HA_ATOMIC_SUB_FETCH
      Src: /src/haproxy/src/pool.c:503,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/pool.c:504,1
    - Dst: swrate_add_opportunistic
      Src: /src/haproxy/src/pool.c:505,1
    - Dst: pool_put_to_os_nodec
      Src: /src/haproxy/src/pool.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pool
    - ptr
    argTypes:
    - struct pool_head*
    - void*
    constantsTouched: []
    func_position:
      end: 508
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 508
    functionName: pool_free_nocache
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_DEC
    - swrate_add_opportunistic
    - _HA_ATOMIC_SUB_FETCH
    - pool_put_to_os_nodec
    - pool_pbucket
    linkageType: ''
    returnType: void
    signature: pool_free_nocache(struct pool_head *pool, void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pch
    - item
    - size
    argTypes:
    - struct pool_cache_head*
    - struct pool_cache_item*
    - uint
    constantsTouched: []
    func_position:
      end: 530
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 530
    functionName: pool_fill_pattern
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: pool_fill_pattern(struct pool_cache_head *pch, struct pool_cache_item
      *item, uint size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:550,1
    - Dst: pool_inspect_item
      Src: /src/haproxy/src/pool.c:551,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/pool.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pch
    - pool
    - item
    - caller
    argTypes:
    - struct pool_cache_head*
    - struct pool_head*
    - struct pool_cache_item*
    - void*
    constantsTouched: []
    func_position:
      end: 556
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 556
    functionName: pool_check_pattern
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - pool_inspect_item
    - unlikely
    - ABORT_NOW
    linkageType: ''
    returnType: void
    signature: pool_check_pattern(struct pool_cache_head *pch, struct pool_head *pool,
      struct pool_cache_item *item, const void *caller)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/pool.c:576,1
    - Dst: pool_releasable
      Src: /src/haproxy/src/pool.c:579,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/pool.c:581,1
    - Dst: LIST_PREV
      Src: /src/haproxy/src/pool.c:582,1
    - Dst: typeof
      Src: /src/haproxy/src/pool.c:582,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/pool.c:583,1
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:584,1
    - Dst: pool_check_pattern
      Src: /src/haproxy/src/pool.c:585,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/pool.c:586,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/pool.c:587,1
    - Dst: pool_pbucket
      Src: /src/haproxy/src/pool.c:589,1
    - Dst: _HA_ATOMIC_SUB_FETCH
      Src: /src/haproxy/src/pool.c:590,1
    - Dst: swrate_add_opportunistic
      Src: /src/haproxy/src/pool.c:591,1
    - Dst: pool_put_to_shared_cache
      Src: /src/haproxy/src/pool.c:602,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/pool.c:608,1
    - Dst: pool_put_to_os_nodec
      Src: /src/haproxy/src/pool.c:609,1
    - Dst: pool_put_to_shared_cache
      Src: /src/haproxy/src/pool.c:617,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - pool
    - ph
    - count
    argTypes:
    - struct pool_head*
    - struct pool_cache_head*
    - uint
    constantsTouched: []
    func_position:
      end: 622
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 622
    functionName: pool_evict_last_items
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - pool_pbucket
    - LIST_ISEMPTY
    - pool_put_to_shared_cache
    - _HA_ATOMIC_DEC
    - LIST_DELETE
    - LIST_PREV
    - pool_releasable
    - swrate_add_opportunistic
    - _HA_ATOMIC_SUB_FETCH
    - typeof
    - pool_put_to_os_nodec
    - unlikely
    - BUG_ON
    - pool_check_pattern
    linkageType: ''
    returnType: void
    signature: pool_evict_last_items(struct pool_head *pool, struct pool_cache_head
      *ph, uint count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/pool.c:635,1
    - Dst: pool_evict_last_items
      Src: /src/haproxy/src/pool.c:641,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pool
    - full
    argTypes:
    - struct pool_head*
    - int
    constantsTouched: []
    func_position:
      end: 643
      start: 631
    functionDepth: 3
    functionLinenumber: 631
    functionLinenumberEnd: 643
    functionName: pool_evict_from_local_cache
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 1
    functionsReached:
    - BUG_ON
    - pool_evict_last_items
    linkageType: ''
    returnType: void
    signature: pool_evict_from_local_cache(struct pool_head *pool, int full)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/pool.c:654,1
    - Dst: LIST_PREV
      Src: /src/haproxy/src/pool.c:657,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/pool.c:658,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/pool.c:662,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/pool.c:663,1
    - Dst: container_of
      Src: /src/haproxy/src/pool.c:665,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/pool.c:666,1
    - Dst: pool_evict_last_items
      Src: /src/haproxy/src/pool.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 670
      start: 648
    functionDepth: 3
    functionLinenumber: 648
    functionLinenumberEnd: 670
    functionName: pool_evict_from_local_caches
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - container_of
    - LIST_NEXT
    - LIST_PREV
    - BUG_ON
    - pool_evict_last_items
    linkageType: ''
    returnType: void
    signature: pool_evict_from_local_caches()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/pool.c:684,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/pool.c:686,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/pool.c:687,1
    - Dst: POOL_DEBUG_TRACE_CALLER
      Src: /src/haproxy/src/pool.c:688,1
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:690,1
    - Dst: pool_fill_pattern
      Src: /src/haproxy/src/pool.c:691,1
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:695,1
    - Dst: pool_evict_from_local_cache
      Src: /src/haproxy/src/pool.c:697,1
    - Dst: pool_evict_from_local_caches
      Src: /src/haproxy/src/pool.c:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pool
    - ptr
    - caller
    argTypes:
    - struct pool_head*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 701
      start: 679
    functionDepth: 4
    functionLinenumber: 679
    functionLinenumberEnd: 701
    functionName: pool_put_to_cache
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - pool_evict_from_local_caches
    - pool_evict_from_local_cache
    - unlikely
    - pool_fill_pattern
    - POOL_DEBUG_TRACE_CALLER
    - LIST_INSERT
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: pool_put_to_cache(struct pool_head *pool, void *ptr, const void *caller)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/pool.c:717,1
    - Dst: pool_tbucket
      Src: /src/haproxy/src/pool.c:725,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/pool.c:726,1
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:734,1
    - Dst: statistical_prng
      Src: /src/haproxy/src/pool.c:735,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/pool.c:736,1
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:740,1
    - Dst: _HA_ATOMIC_XCHG
      Src: /src/haproxy/src/pool.c:740,1
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:742,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/pool.c:743,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/pool.c:748,1
    - Dst: POOL_DEBUG_TRACE_CALLER
      Src: /src/haproxy/src/pool.c:758,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/pool.c:759,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/pool.c:760,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/pool.c:761,1
    - Dst: pool_pbucket
      Src: /src/haproxy/src/pool.c:761,1
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:763,1
    - Dst: pool_fill_pattern
      Src: /src/haproxy/src/pool.c:764,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - pool
    - pch
    argTypes:
    - struct pool_head*
    - struct pool_cache_head*
    constantsTouched: []
    func_position:
      end: 770
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 770
    functionName: pool_refill_local_from_shared
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - pool_pbucket
    - LIST_INSERT
    - _HA_ATOMIC_INC
    - _HA_ATOMIC_XCHG
    - pool_fill_pattern
    - pool_tbucket
    - statistical_prng
    - POOL_DEBUG_TRACE_CALLER
    - _HA_ATOMIC_LOAD
    - unlikely
    - HA_ATOMIC_STORE
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: pool_refill_local_from_shared(struct pool_head *pool, struct pool_cache_head
      *pch)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_pbucket
      Src: /src/haproxy/src/pool.c:780,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/pool.c:786,1
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:789,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/pool.c:791,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/pool.c:793,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/pool.c:794,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/pool.c:795,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/pool.c:796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pool
    - item
    argTypes:
    - struct pool_head*
    - struct pool_item*
    constantsTouched: []
    func_position:
      end: 797
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 797
    functionName: pool_put_to_shared_cache
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 1
    functionsReached:
    - __ha_barrier_atomic_store
    - _HA_ATOMIC_CAS
    - unlikely
    - _HA_ATOMIC_LOAD
    - pool_pbucket
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: pool_put_to_shared_cache(struct pool_head *pool, struct pool_item *item)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:816,1
    - Dst: pl_wait_new_long
      Src: /src/haproxy/src/pool.c:817,1
    - Dst: _HA_ATOMIC_XCHG
      Src: /src/haproxy/src/pool.c:822,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/pool.c:824,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/pool.c:834,1
    - Dst: pool_pbucket
      Src: /src/haproxy/src/pool.c:834,1
    - Dst: pool_put_to_os_nodec
      Src: /src/haproxy/src/pool.c:835,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool_head*
    constantsTouched: []
    func_position:
      end: 840
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 840
    functionName: pool_flush
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 1
    functionsReached:
    - pl_wait_new_long
    - pool_pbucket
    - _HA_ATOMIC_DEC
    - _HA_ATOMIC_XCHG
    - pool_put_to_os_nodec
    - unlikely
    - HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: pool_flush(struct pool_head *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_isolate
      Src: /src/haproxy/src/pool.c:853,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pool.c:855,1
    - Dst: pool_allocated
      Src: /src/haproxy/src/pool.c:857,1
    - Dst: pool_used
      Src: /src/haproxy/src/pool.c:858,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/pool.c:874,1
    - Dst: pool_pbucket
      Src: /src/haproxy/src/pool.c:874,1
    - Dst: pool_put_to_os_nodec
      Src: /src/haproxy/src/pool.c:875,1
    - Dst: trim_all_pools
      Src: /src/haproxy/src/pool.c:880,1
    - Dst: thread_release
      Src: /src/haproxy/src/pool.c:883,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - pool_ctx
    argTypes:
    - struct pool_head*
    constantsTouched: []
    func_position:
      end: 884
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 884
    functionName: pool_gc
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 2
    functionsReached:
    - pool_allocated
    - trim_all_pools
    - _HA_ATOMIC_DEC
    - list_for_each_entry
    - pool_used
    - thread_isolate
    - thread_release
    - pool_put_to_os_nodec
    - pool_pbucket
    linkageType: ''
    returnType: void
    signature: pool_gc(struct pool_head *pool_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:897,1
    - Dst: mem_should_fail
      Src: /src/haproxy/src/pool.c:898,1
    - Dst: likely
      Src: /src/haproxy/src/pool.c:901,1
    - Dst: pool_get_from_cache
      Src: /src/haproxy/src/pool.c:902,1
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:904,1
    - Dst: pool_alloc_nocache
      Src: /src/haproxy/src/pool.c:905,1
    - Dst: likely
      Src: /src/haproxy/src/pool.c:907,1
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:909,1
    - Dst: memprof_get_bin
      Src: /src/haproxy/src/pool.c:913,1
    - Dst: __builtin_return_address
      Src: /src/haproxy/src/pool.c:913,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/pool.c:914,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/pool.c:915,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/pool.c:916,1
    - Dst: POOL_DEBUG_TRACE_CALLER
      Src: /src/haproxy/src/pool.c:923,1
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:926,1
    - Dst: memset
      Src: /src/haproxy/src/pool.c:927,1
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:928,1
    - Dst: memset
      Src: /src/haproxy/src/pool.c:929,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - pool
    - flags
    argTypes:
    - struct pool_head*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 932
      start: 892
    functionDepth: 3
    functionLinenumber: 892
    functionLinenumberEnd: 932
    functionName: __pool_alloc
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - mem_should_fail
    - pool_get_from_cache
    - __builtin_return_address
    - likely
    - memprof_get_bin
    - POOL_DEBUG_TRACE_CALLER
    - memset
    - pool_alloc_nocache
    - unlikely
    - _HA_ATOMIC_ADD
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: '*__pool_alloc(struct pool_head *pool, unsigned int flags)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: POOL_DEBUG_CHECK_MARK
      Src: /src/haproxy/src/pool.c:943,1
    - Dst: POOL_DEBUG_RESET_MARK
      Src: /src/haproxy/src/pool.c:944,1
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:947,1
    - Dst: memprof_get_bin
      Src: /src/haproxy/src/pool.c:951,1
    - Dst: __builtin_return_address
      Src: /src/haproxy/src/pool.c:951,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/pool.c:952,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/pool.c:953,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/pool.c:954,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/pool.c:961,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/pool.c:962,1
    - Dst: unlikely
      Src: /src/haproxy/src/pool.c:967,1
    - Dst: pool_free_nocache
      Src: /src/haproxy/src/pool.c:969,1
    - Dst: pool_put_to_cache
      Src: /src/haproxy/src/pool.c:973,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pool
    - ptr
    argTypes:
    - struct pool_head*
    - void*
    constantsTouched: []
    func_position:
      end: 974
      start: 938
    functionDepth: 5
    functionLinenumber: 938
    functionLinenumberEnd: 974
    functionName: __pool_free
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - pool_put_to_cache
    - POOL_DEBUG_CHECK_MARK
    - __builtin_return_address
    - memprof_get_bin
    - POOL_DEBUG_RESET_MARK
    - pool_free_nocache
    - unlikely
    - _HA_ATOMIC_ADD
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: __pool_free(struct pool_head *pool, void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_evict_from_local_cache
      Src: /src/haproxy/src/pool.c:987,1
    - Dst: pool_flush
      Src: /src/haproxy/src/pool.c:989,1
    - Dst: pool_used
      Src: /src/haproxy/src/pool.c:990,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/pool.c:997,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/pool.c:998,1
    - Dst: free
      Src: /src/haproxy/src/pool.c:999,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/pool.c:1002,1
    - Dst: free
      Src: /src/haproxy/src/pool.c:1005,1
    - Dst: memprof_remove_stale_info
      Src: /src/haproxy/src/pool.c:1009,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool_head*
    constantsTouched: []
    func_position:
      end: 1012
      start: 983
    functionDepth: 4
    functionLinenumber: 983
    functionLinenumberEnd: 1012
    functionName: pool_destroy
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 2
    functionsReached:
    - memprof_remove_stale_info
    - list_for_each_entry_safe
    - pool_used
    - LIST_DELETE
    - pool_evict_from_local_cache
    - free
    - pool_flush
    linkageType: ''
    returnType: void
    signature: '*pool_destroy(struct pool_head *pool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/pool.c:1019,1
    - Dst: pool_destroy
      Src: /src/haproxy/src/pool.c:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1015
    functionDepth: 5
    functionLinenumber: 1015
    functionLinenumberEnd: 1027
    functionName: pool_destroy_all
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - pool_destroy
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: pool_destroy_all()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_printf
      Src: /src/haproxy/src/pool.c:1038,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/pool.c:1043,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1045,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/pool.c:1052,1
    - Dst: dump_area_with_syms
      Src: /src/haproxy/src/pool.c:1053,1
    - Dst: may_access
      Src: /src/haproxy/src/pool.c:1062,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1064,1
    - Dst: may_access
      Src: /src/haproxy/src/pool.c:1068,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1069,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1071,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pool.c:1073,1
    - Dst: may_access
      Src: /src/haproxy/src/pool.c:1075,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1081,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1083,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1091,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/pool.c:1095,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1096,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1098,1
    - Dst: dump_area_with_syms
      Src: /src/haproxy/src/pool.c:1100,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/pool.c:1106,1
    - Dst: may_access
      Src: /src/haproxy/src/pool.c:1113,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/pool.c:1115,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1116,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1123,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pool.c:1124,1
    - Dst: may_access
      Src: /src/haproxy/src/pool.c:1128,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/pool.c:1135,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/pool.c:1136,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1137,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1138,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1146,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/pool.c:1147,1
    - Dst: write
      Src: /src/haproxy/src/pool.c:1147,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 5
    argNames:
    - msg
    - pool
    - item
    - caller
    - ofs
    argTypes:
    - char*
    - struct pool_head*
    - void*
    - void*
    - ssize_t
    constantsTouched: []
    func_position:
      end: 1148
      start: 1034
    functionDepth: 6
    functionLinenumber: 1034
    functionLinenumberEnd: 1148
    functionName: pool_inspect_item
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 1
    functionsReached:
    - DISGUISE
    - write
    - list_for_each_entry
    - resolve_sym_name
    - chunk_printf
    - chunk_appendf
    - get_trash_chunk
    - dump_area_with_syms
    - may_access
    linkageType: ''
    returnType: void
    signature: pool_inspect_item(const char *msg, struct pool_head *pool, const void
      *item, const void *caller, ssize_t ofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/pool.c:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1157
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1157
    functionName: cmp_dump_pools_name
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: cmp_dump_pools_name(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1171
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1171
    functionName: cmp_dump_pools_size
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: cmp_dump_pools_size(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1185
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1185
    functionName: cmp_dump_pools_usage
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: cmp_dump_pools_usage(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pool.c:1211,1
    - Dst: pool_allocated
      Src: /src/haproxy/src/pool.c:1215,1
    - Dst: strncmp
      Src: /src/haproxy/src/pool.c:1221,1
    - Dst: strlen
      Src: /src/haproxy/src/pool.c:1221,1
    - Dst: pool_used
      Src: /src/haproxy/src/pool.c:1231,1
    - Dst: swrate_avg
      Src: /src/haproxy/src/pool.c:1233,1
    - Dst: pool_needed_avg
      Src: /src/haproxy/src/pool.c:1233,1
    - Dst: pool_failed
      Src: /src/haproxy/src/pool.c:1234,1
    - Dst: qsort
      Src: /src/haproxy/src/pool.c:1239,1
    - Dst: qsort
      Src: /src/haproxy/src/pool.c:1241,1
    - Dst: qsort
      Src: /src/haproxy/src/pool.c:1243,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/pool.c:1245,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1249,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1250,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1253,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pool.c:1269,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1270,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/pool.c:1274,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - how
    - max
    - pfx
    argTypes:
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1279
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1279
    functionName: dump_pools_to_trash
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - pool_failed
    - pool_allocated
    - strncmp
    - pool_needed_avg
    - list_for_each_entry
    - strlen
    - pool_used
    - chunk_printf
    - chunk_appendf
    - swrate_avg
    - qsort
    linkageType: ''
    returnType: void
    signature: dump_pools_to_trash(int how, int max, const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump_pools_to_trash
      Src: /src/haproxy/src/pool.c:1284,1
    - Dst: qfprintf
      Src: /src/haproxy/src/pool.c:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1282
    functionDepth: 2
    functionLinenumber: 1282
    functionLinenumberEnd: 1286
    functionName: dump_pools
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - dump_pools_to_trash
    - qfprintf
    linkageType: ''
    returnType: void
    signature: dump_pools(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pool.c:1294,1
    - Dst: pool_failed
      Src: /src/haproxy/src/pool.c:1295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1297
    functionName: pool_total_failures
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    - pool_failed
    linkageType: ''
    returnType: int
    signature: pool_total_failures()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pool.c:1305,1
    - Dst: pool_allocated
      Src: /src/haproxy/src/pool.c:1306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1308
    functionName: pool_total_allocated
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    - pool_allocated
    linkageType: ''
    returnType: unsigned long long
    signature: pool_total_allocated()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/pool.c:1316,1
    - Dst: pool_used
      Src: /src/haproxy/src/pool.c:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1319
    functionName: pool_total_used
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    - pool_used
    linkageType: ''
    returnType: unsigned long long
    signature: pool_total_used()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/haproxy/src/pool.c:1339,1
    - Dst: ist
      Src: /src/haproxy/src/pool.c:1351,1
    - Dst: istlen
      Src: /src/haproxy/src/pool.c:1351,1
    - Dst: istadv
      Src: /src/haproxy/src/pool.c:1351,1
    - Dst: istfind
      Src: /src/haproxy/src/pool.c:1351,1
    - Dst: iststop
      Src: /src/haproxy/src/pool.c:1352,1
    - Dst: istlen
      Src: /src/haproxy/src/pool.c:1354,1
    - Dst: isteq
      Src: /src/haproxy/src/pool.c:1357,1
    - Dst: ist
      Src: /src/haproxy/src/pool.c:1357,1
    - Dst: ha_free
      Src: /src/haproxy/src/pool.c:1358,1
    - Dst: memprintf
      Src: /src/haproxy/src/pool.c:1359,1
    - Dst: memprintf
      Src: /src/haproxy/src/pool.c:1368,1
    - Dst: memprintf
      Src: /src/haproxy/src/pool.c:1377,1
    - Dst: isteq
      Src: /src/haproxy/src/pool.c:1393,1
    - Dst: ist
      Src: /src/haproxy/src/pool.c:1393,1
    - Dst: isteq
      Src: /src/haproxy/src/pool.c:1405,1
    - Dst: ist
      Src: /src/haproxy/src/pool.c:1405,1
    - Dst: memprintf
      Src: /src/haproxy/src/pool.c:1415,1
    - Dst: istlen
      Src: /src/haproxy/src/pool.c:1415,1
    - Dst: istptr
      Src: /src/haproxy/src/pool.c:1415,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 2
    argNames:
    - str
    - err
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1422
      start: 1330
    functionDepth: 5
    functionLinenumber: 1330
    functionLinenumberEnd: 1422
    functionName: pool_parse_debugging
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_free
    - istlen
    - istfind
    - isteq
    - ist
    - istptr
    - istadv
    - strtol
    - iststop
    linkageType: ''
    returnType: int
    signature: pool_parse_debugging(const char *str, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/pool.c:1427,1
    - Dst: strcmp
      Src: /src/haproxy/src/pool.c:1431,1
    - Dst: strcmp
      Src: /src/haproxy/src/pool.c:1434,1
    - Dst: strcmp
      Src: /src/haproxy/src/pool.c:1437,1
    - Dst: strcmp
      Src: /src/haproxy/src/pool.c:1440,1
    - Dst: strcmp
      Src: /src/haproxy/src/pool.c:1443,1
    - Dst: strdup
      Src: /src/haproxy/src/pool.c:1444,1
    - Dst: cli_err
      Src: /src/haproxy/src/pool.c:1446,1
    - Dst: isdigit
      Src: /src/haproxy/src/pool.c:1449,1
    - Dst: atoi
      Src: /src/haproxy/src/pool.c:1450,1
    - Dst: cli_err
      Src: /src/haproxy/src/pool.c:1453,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1456
      start: 1425
    functionDepth: 3
    functionLinenumber: 1425
    functionLinenumberEnd: 1456
    functionName: cli_parse_show_pools
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - atoi
    - strcmp
    - cli_err
    - strdup
    - applet_reserve_svcctx
    - isdigit
    linkageType: ''
    returnType: int
    signature: cli_parse_show_pools(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/pool.c:1463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1464
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1464
    functionName: cli_release_show_pools
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: void
    signature: cli_release_show_pools(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump_pools_to_trash
      Src: /src/haproxy/src/pool.c:1474,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/pool.c:1475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1478
      start: 1470
    functionDepth: 2
    functionLinenumber: 1470
    functionLinenumberEnd: 1478
    functionName: cli_io_handler_dump_pools
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - applet_putchk
    - dump_pools_to_trash
    linkageType: ''
    returnType: int
    signature: cli_io_handler_dump_pools(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_pool
      Src: /src/haproxy/src/pool.c:1486,1
    - Dst: ha_alert
      Src: /src/haproxy/src/pool.c:1488,1
    - Dst: strerror
      Src: /src/haproxy/src/pool.c:1489,1
    - Dst: exit
      Src: /src/haproxy/src/pool.c:1490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - name
    - size
    argTypes:
    - struct pool_head**
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1492
      start: 1484
    functionDepth: 4
    functionLinenumber: 1484
    functionLinenumberEnd: 1492
    functionName: create_pool_callback
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strerror
    - exit
    - create_pool
    linkageType: ''
    returnType: void
    signature: create_pool_callback(struct pool_head **ptr, char *name, unsigned int
      size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/pool.c:1500,1
    - Dst: detect_allocator
      Src: /src/haproxy/src/pool.c:1503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1495
    functionDepth: 4
    functionLinenumber: 1495
    functionLinenumberEnd: 1504
    functionName: init_pools
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - LIST_INIT
    - detect_allocator
    linkageType: ''
    returnType: void
    signature: init_pools()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/pool.c:1513,1
    - Dst: hap_register_build_opts
      Src: /src/haproxy/src/pool.c:1514,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/pool.c:1515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1509
    functionDepth: 5
    functionLinenumber: 1509
    functionLinenumberEnd: 1517
    functionName: pools_register_build_options
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - memprintf
    - mark_tainted
    - hap_register_build_opts
    linkageType: ''
    returnType: void
    signature: pools_register_build_options(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/pool.c:1534,1
    - Dst: atoi
      Src: /src/haproxy/src/pool.c:1536,1
    - Dst: memprintf
      Src: /src/haproxy/src/pool.c:1538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1542
      start: 1530
    functionDepth: 7
    functionLinenumber: 1530
    functionLinenumberEnd: 1542
    functionName: mem_parse_global_fail_alloc
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "mem_parse_global_fail_alloc(char **args, int section_type, struct
      proxy *curpx,\n                                       const struct proxy *defpx,
      const char *file, int line,\n                                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/pool.c:1551,1
    - Dst: atol
      Src: /src/haproxy/src/pool.c:1554,1
    - Dst: memprintf
      Src: /src/haproxy/src/pool.c:1556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1562
      start: 1545
    functionDepth: 7
    functionLinenumber: 1545
    functionLinenumberEnd: 1562
    functionName: mem_parse_global_hot_size
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "mem_parse_global_hot_size(char **args, int section_type, struct proxy
      *curpx,\n                                       const struct proxy *defpx, const
      char *file, int line,\n                                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/pool.c:1569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1573
      start: 1565
    functionDepth: 7
    functionLinenumber: 1565
    functionLinenumberEnd: 1573
    functionName: mem_parse_global_no_mem_trim
    functionSourceFile: /src/haproxy/src/pool.c
    functionUses: 0
    functionsReached:
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "mem_parse_global_no_mem_trim(char **args, int section_type, struct
      proxy *curpx,\n                                       const struct proxy *defpx,
      const char *file, int line,\n                                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/qmux_http.c:21,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/qmux_http.c:24,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/qmux_http.c:25,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/qmux_http.c:27,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/qmux_http.c:33,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/qmux_http.c:34,1
    - Dst: htx_used_space
      Src: /src/haproxy/src/qmux_http.c:34,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/qmux_http.c:39,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/qmux_http.c:40,1
    - Dst: b_xfer
      Src: /src/haproxy/src/qmux_http.c:41,1
    - Dst: b_data
      Src: /src/haproxy/src/qmux_http.c:41,1
    - Dst: htx_xfer_blks
      Src: /src/haproxy/src/qmux_http.c:45,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/qmux_http.c:46,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/qmux_http.c:49,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/qmux_http.c:55,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/qmux_http.c:56,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/qmux_http.c:60,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - qcs
    - buf
    - count
    - fin
    argTypes:
    - struct qcs*
    - struct buffer*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 14
    functionDepth: 3
    functionLinenumber: 14
    functionLinenumberEnd: 63
    functionName: qcs_http_rcv_buf
    functionSourceFile: /src/haproxy/src/qmux_http.c
    functionUses: 0
    functionsReached:
    - htx_used_space
    - TRACE_LEAVE
    - htx_from_buf
    - TRACE_ENTER
    - b_data
    - htx_is_empty
    - htx_to_buf
    - BUG_ON
    - htx_xfer_blks
    - b_xfer
    linkageType: ''
    returnType: size_t
    signature: "qcs_http_rcv_buf(struct qcs *qcs, struct buffer *buf, size_t count,\n
      \                       char *fin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qcc_get_stream_rxbuf
      Src: /src/haproxy/src/qmux_http.c:71,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/qmux_http.c:74,1
    - Dst: htx_set_eom
      Src: /src/haproxy/src/qmux_http.c:75,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/qmux_http.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 84
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 84
    functionName: qcs_http_handle_standalone_fin
    functionSourceFile: /src/haproxy/src/qmux_http.c
    functionUses: 0
    functionsReached:
    - qcc_get_stream_rxbuf
    - htx_set_eom
    - htx_to_buf
    - htx_from_buf
    linkageType: ''
    returnType: int
    signature: qcs_http_handle_standalone_fin(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/qmux_http.c:99,1
    - Dst: htxbuf
      Src: /src/haproxy/src/qmux_http.c:101,1
    - Dst: struct qcs*::qcc::app_ops::snd_buf
      Src: /src/haproxy/src/qmux_http.c:112,1
    - Dst: b_data
      Src: /src/haproxy/src/qmux_http.c:113,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/qmux_http.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - qcs
    - buf
    - count
    - fin
    argTypes:
    - struct qcs*
    - struct buffer*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 118
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 118
    functionName: qcs_http_snd_buf
    functionSourceFile: /src/haproxy/src/qmux_http.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - htxbuf
    - struct qcs*::qcc::app_ops::snd_buf
    - b_data
    linkageType: ''
    returnType: size_t
    signature: "qcs_http_snd_buf(struct qcs *qcs, struct buffer *buf, size_t count,\n
      \                       char *fin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - conn
    - xprt_ctx
    - buf
    - count
    - flags
    argTypes:
    - struct connection*
    - void*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: xprt_handshake_from_buf
    functionSourceFile: /src/haproxy/src/xprt_handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: xprt_handshake_from_buf(struct connection *conn, void *xprt_ctx, const
      struct buffer *buf, size_t count, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - conn
    - xprt_ctx
    - buf
    - count
    - flags
    argTypes:
    - struct connection*
    - void*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: xprt_handshake_to_buf
    functionSourceFile: /src/haproxy/src/xprt_handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: xprt_handshake_to_buf(struct connection *conn, void *xprt_ctx, struct
      buffer *buf, size_t count, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_send_socks4_proxy_request
      Src: /src/haproxy/src/xprt_handshake.c:45,1
    - Dst: struct xprt_handshake_ctx*::xprt::subscribe
      Src: /src/haproxy/src/xprt_handshake.c:46,1
    - Dst: conn_recv_socks4_proxy_response
      Src: /src/haproxy/src/xprt_handshake.c:53,1
    - Dst: struct xprt_handshake_ctx*::xprt::subscribe
      Src: /src/haproxy/src/xprt_handshake.c:54,1
    - Dst: conn_recv_netscaler_cip
      Src: /src/haproxy/src/xprt_handshake.c:60,1
    - Dst: struct xprt_handshake_ctx*::xprt::subscribe
      Src: /src/haproxy/src/xprt_handshake.c:61,1
    - Dst: conn_recv_proxy
      Src: /src/haproxy/src/xprt_handshake.c:67,1
    - Dst: struct xprt_handshake_ctx*::xprt::subscribe
      Src: /src/haproxy/src/xprt_handshake.c:68,1
    - Dst: conn_send_proxy
      Src: /src/haproxy/src/xprt_handshake.c:74,1
    - Dst: struct xprt_handshake_ctx*::xprt::subscribe
      Src: /src/haproxy/src/xprt_handshake.c:75,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/xprt_handshake.c:92,1
    - Dst: struct xprt_handshake_ctx*::xprt::unsubscribe
      Src: /src/haproxy/src/xprt_handshake.c:100,1
    - Dst: struct connection*::xprt::remove_xprt
      Src: /src/haproxy/src/xprt_handshake.c:109,1
    - Dst: conn_create_mux
      Src: /src/haproxy/src/xprt_handshake.c:118,1
    - Dst: struct xprt_handshake_ctx*::conn::mux::wake
      Src: /src/haproxy/src/xprt_handshake.c:120,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/xprt_handshake.c:122,1
    - Dst: pool_free
      Src: /src/haproxy/src/xprt_handshake.c:123,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 3
    argNames:
    - t
    - bctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 127
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 127
    functionName: xprt_handshake_io_cb
    functionSourceFile: /src/haproxy/src/xprt_handshake.c
    functionUses: 0
    functionsReached:
    - struct xprt_handshake_ctx*::conn::mux::wake
    - tasklet_free
    - conn_recv_netscaler_cip
    - conn_recv_socks4_proxy_response
    - conn_send_proxy
    - struct xprt_handshake_ctx*::xprt::unsubscribe
    - struct connection*::xprt::remove_xprt
    - tasklet_wakeup
    - pool_free
    - conn_send_socks4_proxy_request
    - conn_create_mux
    - struct xprt_handshake_ctx*::xprt::subscribe
    - conn_recv_proxy
    linkageType: ''
    returnType: struct task
    signature: '*xprt_handshake_io_cb(struct task *t, void *bctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct xprt_handshake_ctx*::xprt::start
      Src: /src/haproxy/src/xprt_handshake.c:136,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/xprt_handshake.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - conn
    - xprt_ctx
    argTypes:
    - struct connection*
    - void*
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: xprt_handshake_start
    functionSourceFile: /src/haproxy/src/xprt_handshake.c
    functionUses: 0
    functionsReached:
    - tasklet_wakeup
    - struct xprt_handshake_ctx*::xprt::start
    linkageType: ''
    returnType: int
    signature: xprt_handshake_start(struct connection *conn, void *xprt_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/xprt_handshake.c:152,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/xprt_handshake.c:158,1
    - Dst: pool_free
      Src: /src/haproxy/src/xprt_handshake.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - conn
    - xprt_ctx
    argTypes:
    - struct connection*
    - void**
    constantsTouched: []
    func_position:
      end: 174
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 174
    functionName: xprt_handshake_init
    functionSourceFile: /src/haproxy/src/xprt_handshake.c
    functionUses: 0
    functionsReached:
    - pool_free
    - tasklet_new
    - pool_alloc
    linkageType: ''
    returnType: int
    signature: xprt_handshake_init(struct connection *conn, void **xprt_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct xprt_handshake_ctx*::xprt::unsubscribe
      Src: /src/haproxy/src/xprt_handshake.c:182,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/xprt_handshake.c:187,1
    - Dst: struct xprt_handshake_ctx*::xprt::close
      Src: /src/haproxy/src/xprt_handshake.c:191,1
    - Dst: xprt_get
      Src: /src/haproxy/src/xprt_handshake.c:201,1
    - Dst: xprt_get
      Src: /src/haproxy/src/xprt_handshake.c:202,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/xprt_handshake.c:203,1
    - Dst: pool_free
      Src: /src/haproxy/src/xprt_handshake.c:204,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - conn
    - xprt_ctx
    argTypes:
    - struct connection*
    - void*
    constantsTouched: []
    func_position:
      end: 206
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 206
    functionName: xprt_handshake_close
    functionSourceFile: /src/haproxy/src/xprt_handshake.c
    functionUses: 0
    functionsReached:
    - tasklet_free
    - struct xprt_handshake_ctx*::xprt::unsubscribe
    - tasklet_wakeup
    - pool_free
    - struct xprt_handshake_ctx*::xprt::close
    - xprt_get
    linkageType: ''
    returnType: void
    signature: xprt_handshake_close(struct connection *conn, void *xprt_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/xprt_handshake.c:217,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/xprt_handshake.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - conn
    - xprt_ctx
    - event_type
    - es
    argTypes:
    - struct connection*
    - void*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 224
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 224
    functionName: xprt_handshake_subscribe
    functionSourceFile: /src/haproxy/src/xprt_handshake.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: xprt_handshake_subscribe(struct connection *conn, void *xprt_ctx, int
      event_type, struct wait_event *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/xprt_handshake.c:234,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/xprt_handshake.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - conn
    - xprt_ctx
    - event_type
    - es
    argTypes:
    - struct connection*
    - void*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: xprt_handshake_unsubscribe
    functionSourceFile: /src/haproxy/src/xprt_handshake.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: xprt_handshake_unsubscribe(struct connection *conn, void *xprt_ctx,
      int event_type, struct wait_event *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - conn
    - xprt_ctx
    - toadd_ctx
    - toadd_ops
    - oldxprt_ctx
    - oldxprt_ops
    argTypes:
    - struct connection*
    - void*
    - void*
    - struct xprt_ops*
    - void**
    - struct xprt_ops**
    constantsTouched: []
    func_position:
      end: 259
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 259
    functionName: xprt_handshake_add_xprt
    functionSourceFile: /src/haproxy/src/xprt_handshake.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: xprt_handshake_add_xprt(struct connection *conn, void *xprt_ctx, void
      *toadd_ctx, const struct xprt_ops *toadd_ops, void **oldxprt_ctx, const struct
      xprt_ops **oldxprt_ops)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct xprt_handshake_ctx*::xprt::remove_xprt
      Src: /src/haproxy/src/xprt_handshake.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - conn
    - xprt_ctx
    - toremove_ctx
    - newops
    - newctx
    argTypes:
    - struct connection*
    - void*
    - void*
    - struct xprt_ops*
    - void*
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: xprt_handshake_remove_xprt
    functionSourceFile: /src/haproxy/src/xprt_handshake.c
    functionUses: 0
    functionsReached:
    - struct xprt_handshake_ctx*::xprt::remove_xprt
    linkageType: ''
    returnType: int
    signature: xprt_handshake_remove_xprt(struct connection *conn, void *xprt_ctx,
      void *toremove_ctx, const struct xprt_ops *newops, void *newctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xprt_register
      Src: /src/haproxy/src/xprt_handshake.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: __xprt_handshake_init
    functionSourceFile: /src/haproxy/src/xprt_handshake.c
    functionUses: 0
    functionsReached:
    - xprt_register
    linkageType: ''
    returnType: void
    signature: __xprt_handshake_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_conn.c:149,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_conn.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: quic_peer_validated_addr
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - qc_is_listener
    linkageType: ''
    returnType: int
    signature: quic_peer_validated_addr(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:163,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:164,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/quic_conn.c:169,1
    - Dst: qc_notify_err
      Src: /src/haproxy/src/quic_conn.c:171,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: qc_kill_conn
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 1
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - task_wakeup
    - TRACE_PROTO
    - qc_notify_err
    linkageType: ''
    returnType: void
    signature: qc_kill_conn(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:185,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:186,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:190,1
    - Dst: quic_loss_pktns
      Src: /src/haproxy/src/quic_conn.c:194,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_conn.c:195,1
    - Dst: quic_peer_validated_addr
      Src: /src/haproxy/src/quic_conn.c:203,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:205,1
    - Dst: quic_peer_validated_addr
      Src: /src/haproxy/src/quic_conn.c:210,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:211,1
    - Dst: quic_pto_pktns
      Src: /src/haproxy/src/quic_conn.c:218,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_conn.c:219,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/quic_conn.c:225,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_conn.c:226,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/quic_conn.c:227,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_conn.c:230,1
    - Dst: task_schedule
      Src: /src/haproxy/src/quic_conn.c:231,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:234,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:235,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 236
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 236
    functionName: qc_set_timer
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - tick_is_expired
    - TRACE_ENTER
    - task_wakeup
    - quic_peer_validated_addr
    - TRACE_PROTO
    - task_schedule
    - quic_loss_pktns
    - TRACE_DEVEL
    - quic_pto_pktns
    - tick_isset
    linkageType: ''
    returnType: void
    signature: qc_set_timer(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:243,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:247,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - qc
    - err
    argTypes:
    - struct quic_conn*
    - struct quic_err
    constantsTouched: []
    func_position:
      end: 254
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: quic_set_connection_close
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 1
    functionsReached:
    - TRACE_ENTER
    - TRACE_STATE
    - TRACE_LEAVE
    linkageType: ''
    returnType: void
    signature: quic_set_connection_close(struct quic_conn *qc, const struct quic_err
      err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:259,1
    - Dst: quic_set_connection_close
      Src: /src/haproxy/src/quic_conn.c:261,1
    - Dst: quic_err_tls
      Src: /src/haproxy/src/quic_conn.c:261,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:263,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - qc
    - alert
    argTypes:
    - struct quic_conn*
    - int
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: quic_set_tls_alert
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 5
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - quic_set_connection_close
    - TRACE_STATE
    - quic_err_tls
    linkageType: ''
    returnType: void
    signature: quic_set_tls_alert(struct quic_conn *qc, int alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/haproxy/src/quic_conn.c:273,1
    - Dst: memcmp
      Src: /src/haproxy/src/quic_conn.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - qc
    - alpn
    - alpn_len
    argTypes:
    - struct quic_conn*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: quic_set_app_ops
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: quic_set_app_ops(struct quic_conn *qc, const unsigned char *alpn, size_t
      alpn_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:291,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/quic_conn.c:293,1
    - Dst: quic_set_connection_close
      Src: /src/haproxy/src/quic_conn.c:295,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_conn.c:296,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 300
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 300
    functionName: qc_check_close_on_released_mux
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 1
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - tasklet_wakeup
    - eb_is_empty
    - quic_set_connection_close
    linkageType: ''
    returnType: void
    signature: qc_check_close_on_released_mux(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:314,1
    - Dst: quic_tls_finalize
      Src: /src/haproxy/src/quic_conn.c:319,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - qc
    - server
    argTypes:
    - struct quic_conn*
    - int
    constantsTouched: []
    func_position:
      end: 330
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 330
    functionName: qc_conn_finalize
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 1
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - quic_tls_finalize
    linkageType: ''
    returnType: int
    signature: qc_conn_finalize(struct quic_conn *qc, int server)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:334,1
    - Dst: quic_stats_transp_err_count_inc
      Src: /src/haproxy/src/quic_conn.c:337,1
    - Dst: struct quic_conn*::qcc::app_ops::inc_err_cnt
      Src: /src/haproxy/src/quic_conn.c:342,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - qc
    - frm
    argTypes:
    - struct quic_conn*
    - struct quic_frame*
    constantsTouched: []
    func_position:
      end: 347
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 347
    functionName: quic_conn_closed_err_count_inc
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - struct quic_conn*::qcc::app_ops::inc_err_cnt
    - TRACE_ENTER
    - quic_stats_transp_err_count_inc
    - TRACE_LEAVE
    linkageType: ''
    returnType: void
    signature: quic_conn_closed_err_count_inc(struct quic_conn *qc, struct quic_frame
      *frm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:365,1
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/src/quic_conn.c:371,1
    - Dst: qc_frm_alloc
      Src: /src/haproxy/src/quic_conn.c:376,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:378,1
    - Dst: qc_frm_alloc
      Src: /src/haproxy/src/quic_conn.c:385,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:387,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_conn.c:388,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_conn.c:396,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_conn.c:397,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - qc
    - id
    argTypes:
    - struct quic_conn*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 402
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 402
    functionName: qc_h3_request_reject
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - qc_frm_alloc
    - TRACE_LEAVE
    - TRACE_ENTER
    - qc_frm_free
    - LIST_APPEND
    - quic_stream_is_uni
    - TRACE_ERROR
    linkageType: ''
    returnType: int
    signature: qc_h3_request_reject(struct quic_conn *qc, uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_conn.c:414,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_conn.c:416,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/quic_conn.c:421,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_conn.c:424,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/quic_conn.c:427,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_conn.c:431,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_conn.c:434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - qc
    - closing
    argTypes:
    - struct quic_conn*
    - int
    constantsTouched: []
    func_position:
      end: 435
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 435
    functionName: qc_detach_th_ctx_list
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - LIST_NEXT
    - __ha_barrier_store
    - list_for_each_entry_safe
    - LIST_APPEND
    - LIST_DEL_INIT
    linkageType: ''
    returnType: void
    signature: qc_detach_th_ctx_list(struct quic_conn *qc, int closing)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_hkdf_extract_and_expand
      Src: /src/haproxy/src/quic_conn.c:454,1
    - Dst: EVP_sha256
      Src: /src/haproxy/src/quic_conn.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pos
    - len
    - salt
    - saltlen
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 457
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 457
    functionName: quic_stateless_reset_token_cpy
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 1
    functionsReached:
    - EVP_sha256
    - quic_hkdf_extract_and_expand
    linkageType: ''
    returnType: int
    signature: "quic_stateless_reset_token_cpy(unsigned char *pos, size_t len,\n                                   const
      unsigned char *salt, size_t saltlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_conn.c:469,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:472,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_conn.c:476,1
    - Dst: qc_frm_alloc
      Src: /src/haproxy/src/quic_conn.c:479,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:481,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_conn.c:485,1
    - Dst: qc_frm_alloc
      Src: /src/haproxy/src/quic_conn.c:487,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:489,1
    - Dst: quic_generate_token
      Src: /src/haproxy/src/quic_conn.c:494,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:497,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_conn.c:501,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_conn.c:503,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/src/quic_conn.c:513,1
    - Dst: qc_frm_alloc
      Src: /src/haproxy/src/quic_conn.c:517,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:519,1
    - Dst: new_quic_cid
      Src: /src/haproxy/src/quic_conn.c:523,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_conn.c:525,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:526,1
    - Dst: _quic_cid_insert
      Src: /src/haproxy/src/quic_conn.c:533,1
    - Dst: quic_connection_id_to_frm_cpy
      Src: /src/haproxy/src/quic_conn.c:535,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_conn.c:536,1
    - Dst: LIST_SPLICE
      Src: /src/haproxy/src/quic_conn.c:539,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:544,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_conn.c:549,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_conn.c:550,1
    - Dst: eb64_lookup_ge
      Src: /src/haproxy/src/quic_conn.c:555,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_conn.c:559,1
    - Dst: eb64_next
      Src: /src/haproxy/src/quic_conn.c:563,1
    - Dst: quic_cid_delete
      Src: /src/haproxy/src/quic_conn.c:564,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_conn.c:566,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_conn.c:567,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 570
      start: 464
    functionDepth: 3
    functionLinenumber: 464
    functionLinenumberEnd: 570
    functionName: quic_build_post_handshake_frames
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - LIST_HEAD_INIT
    - TRACE_ENTER
    - _quic_cid_insert
    - BUG_ON
    - qc_frm_alloc
    - TRACE_LEAVE
    - new_quic_cid
    - qc_frm_free
    - quic_connection_id_to_frm_cpy
    - eb64_lookup_ge
    - pool_free
    - LIST_SPLICE
    - quic_generate_token
    - eb64_delete
    - list_for_each_entry_safe
    - LIST_APPEND
    - QUIC_MIN
    - eb64_entry
    - quic_cid_delete
    - TRACE_ERROR
    - eb64_next
    - qc_is_listener
    linkageType: ''
    returnType: int
    signature: quic_build_post_handshake_frames(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_conn.c:575,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:578,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:579,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_conn.c:581,1
    - Dst: qc_rcv_buf
      Src: /src/haproxy/src/quic_conn.c:582,1
    - Dst: quic_build_post_handshake_frames
      Src: /src/haproxy/src/quic_conn.c:590,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:595,1
    - Dst: qc_dgrams_retransmit
      Src: /src/haproxy/src/quic_conn.c:597,1
    - Dst: qc_treat_rx_pkts
      Src: /src/haproxy/src/quic_conn.c:601,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_conn.c:602,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_conn.c:607,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:613,1
    - Dst: qel_need_sending
      Src: /src/haproxy/src/quic_conn.c:618,1
    - Dst: qel_register_send
      Src: /src/haproxy/src/quic_conn.c:619,1
    - Dst: qc_send
      Src: /src/haproxy/src/quic_conn.c:621,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_conn.c:622,1
    - Dst: quic_conn_release
      Src: /src/haproxy/src/quic_conn.c:628,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:632,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 634
      start: 573
    functionDepth: 4
    functionLinenumber: 573
    functionLinenumberEnd: 634
    functionName: quic_conn_app_io_cb
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - qel_register_send
    - TRACE_LEAVE
    - LIST_HEAD_INIT
    - TRACE_ENTER
    - qc_rcv_buf
    - qc_test_fd
    - quic_conn_release
    - quic_build_post_handshake_frames
    - TRACE_DEVEL
    - TRACE_STATE
    - qc_send
    - qc_treat_rx_pkts
    - qel_need_sending
    - qc_dgrams_retransmit
    linkageType: ''
    returnType: struct task
    signature: '*quic_conn_app_io_cb(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:640,1
    - Dst: task_destroy
      Src: /src/haproxy/src/quic_conn.c:642,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/quic_conn.c:644,1
    - Dst: free_quic_conn_cids
      Src: /src/haproxy/src/quic_conn.c:645,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_conn.c:646,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_conn.c:648,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_conn.c:651,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - cc_qc
    argTypes:
    - struct quic_conn_closed*
    constantsTouched: []
    func_position:
      end: 654
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 654
    functionName: quic_release_cc_conn
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - tasklet_free
    - TRACE_ENTER
    - pool_free
    - free_quic_conn_cids
    - task_destroy
    linkageType: ''
    returnType: void
    signature: quic_release_cc_conn(struct quic_conn_closed *cc_qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:666,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_conn.c:668,1
    - Dst: qc_rcv_buf
      Src: /src/haproxy/src/quic_conn.c:669,1
    - Dst: quic_may_send_bytes
      Src: /src/haproxy/src/quic_conn.c:674,1
    - Dst: b_make
      Src: /src/haproxy/src/quic_conn.c:677,1
    - Dst: qc_snd_buf
      Src: /src/haproxy/src/quic_conn.c:679,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:680,1
    - Dst: quic_release_cc_conn
      Src: /src/haproxy/src/quic_conn.c:681,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:691,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 694
      start: 657
    functionDepth: 3
    functionLinenumber: 657
    functionLinenumberEnd: 694
    functionName: quic_conn_closed_io_cb
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - qc_snd_buf
    - b_make
    - TRACE_ENTER
    - qc_rcv_buf
    - qc_test_fd
    - TRACE_ERROR
    - quic_release_cc_conn
    - quic_may_send_bytes
    linkageType: ''
    returnType: struct task
    signature: '*quic_conn_closed_io_cb(struct task *t, void *context, unsigned int
      state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_release_cc_conn
      Src: /src/haproxy/src/quic_conn.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 704
    functionName: quic_conn_closed_idle_timer_task
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - quic_release_cc_conn
    linkageType: ''
    returnType: struct task
    signature: '*quic_conn_closed_idle_timer_task(struct task *t, void *ctx, unsigned
      int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_conn.c:716,1
    - Dst: quic_conn_mv_cids_to_cc_conn
      Src: /src/haproxy/src/quic_conn.c:720,1
    - Dst: qc_init_fd
      Src: /src/haproxy/src/quic_conn.c:722,1
    - Dst: TRACE_PRINTF
      Src: /src/haproxy/src/quic_conn.c:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 764
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 764
    functionName: qc_new_cc_conn
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - TRACE_PRINTF
    - qc_init_fd
    - quic_conn_mv_cids_to_cc_conn
    - pool_alloc
    linkageType: ''
    returnType: struct quic_conn_closed
    signature: '*qc_new_cc_conn(struct quic_conn *qc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_conn.c:770,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:775,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:778,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_conn.c:781,1
    - Dst: qc_ssl_provide_all_quic_data
      Src: /src/haproxy/src/quic_conn.c:782,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/quic_conn.c:783,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_conn.c:787,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_conn.c:793,1
    - Dst: qc_dgrams_retransmit
      Src: /src/haproxy/src/quic_conn.c:795,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_conn.c:799,1
    - Dst: qc_rcv_buf
      Src: /src/haproxy/src/quic_conn.c:800,1
    - Dst: qc_treat_rx_pkts
      Src: /src/haproxy/src/quic_conn.c:802,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_conn.c:810,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_conn.c:811,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:823,1
    - Dst: quic_pktns_discard
      Src: /src/haproxy/src/quic_conn.c:824,1
    - Dst: qc_set_timer
      Src: /src/haproxy/src/quic_conn.c:825,1
    - Dst: qc_el_rx_pkts_del
      Src: /src/haproxy/src/quic_conn.c:826,1
    - Dst: qc_release_pktns_frms
      Src: /src/haproxy/src/quic_conn.c:827,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_conn.c:842,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_conn.c:845,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_conn.c:846,1
    - Dst: quic_rx_packet_refdec
      Src: /src/haproxy/src/quic_conn.c:847,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:868,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_conn.c:869,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/quic_conn.c:877,1
    - Dst: qel_need_sending
      Src: /src/haproxy/src/quic_conn.c:878,1
    - Dst: qel_register_send
      Src: /src/haproxy/src/quic_conn.c:879,1
    - Dst: qc_send
      Src: /src/haproxy/src/quic_conn.c:882,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_conn.c:883,1
    - Dst: quic_tls_pktns_is_dcd
      Src: /src/haproxy/src/quic_conn.c:892,1
    - Dst: qc_need_sending
      Src: /src/haproxy/src/quic_conn.c:893,1
    - Dst: qc_enc_level_free
      Src: /src/haproxy/src/quic_conn.c:897,1
    - Dst: quic_pktns_release
      Src: /src/haproxy/src/quic_conn.c:898,1
    - Dst: qc_enc_level_free
      Src: /src/haproxy/src/quic_conn.c:899,1
    - Dst: quic_pktns_release
      Src: /src/haproxy/src/quic_conn.c:900,1
    - Dst: quic_nictx_free
      Src: /src/haproxy/src/quic_conn.c:902,1
    - Dst: quic_conn_release
      Src: /src/haproxy/src/quic_conn.c:906,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:910,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:911,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 913
      start: 767
    functionDepth: 4
    functionLinenumber: 767
    functionLinenumberEnd: 913
    functionName: quic_conn_io_cb
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - LIST_HEAD_INIT
    - HA_ATOMIC_AND
    - TRACE_ENTER
    - qc_release_pktns_frms
    - HA_ATOMIC_LOAD
    - qc_treat_rx_pkts
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - list_for_each_entry
    - quic_tls_pktns_is_dcd
    - qc_test_fd
    - LIST_DEL_INIT
    - qc_dgrams_retransmit
    - qc_enc_level_free
    - quic_pktns_release
    - qc_send
    - quic_rx_packet_refdec
    - qc_need_sending
    - tasklet_wakeup
    - TRACE_DEVEL
    - qc_el_rx_pkts_del
    - qel_register_send
    - qc_ssl_provide_all_quic_data
    - list_for_each_entry_safe
    - TRACE_PROTO
    - qc_rcv_buf
    - quic_conn_release
    - quic_nictx_free
    - quic_pktns_discard
    - TRACE_STATE
    - qc_set_timer
    - qel_need_sending
    linkageType: ''
    returnType: struct task
    signature: '*quic_conn_io_cb(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:921,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:922,1
    - Dst: quic_loss_pktns
      Src: /src/haproxy/src/quic_conn.c:926,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:929,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_conn.c:933,1
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_conn.c:934,1
    - Dst: qc_packet_loss_lookup
      Src: /src/haproxy/src/quic_conn.c:936,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_conn.c:937,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_conn.c:938,1
    - Dst: qc_release_lost_pkts
      Src: /src/haproxy/src/quic_conn.c:939,1
    - Dst: qc_set_timer
      Src: /src/haproxy/src/quic_conn.c:940,1
    - Dst: quic_pto_pktns
      Src: /src/haproxy/src/quic_conn.c:945,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:947,1
    - Dst: qc_may_probe_ipktns
      Src: /src/haproxy/src/quic_conn.c:952,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:955,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:958,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:963,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:967,1
    - Dst: qc_may_probe_ipktns
      Src: /src/haproxy/src/quic_conn.c:971,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:973,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:976,1
    - Dst: qc_notify_send
      Src: /src/haproxy/src/quic_conn.c:983,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:984,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_conn.c:990,1
    - Dst: quic_tls_has_tx_sec
      Src: /src/haproxy/src/quic_conn.c:991,1
    - Dst: quic_tls_has_tx_sec
      Src: /src/haproxy/src/quic_conn.c:993,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_conn.c:997,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:1001,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1002,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 3
    argNames:
    - task
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1005
      start: 916
    functionDepth: 3
    functionLinenumber: 916
    functionLinenumberEnd: 1005
    functionName: qc_process_timer
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - qc_release_lost_pkts
    - TRACE_LEAVE
    - LIST_HEAD_INIT
    - LIST_ISEMPTY
    - TRACE_ENTER
    - qc_notify_send
    - TRACE_PROTO
    - tasklet_wakeup
    - quic_tls_has_tx_sec
    - quic_loss_pktns
    - qc_packet_loss_lookup
    - tick_isset
    - quic_pto_pktns
    - TRACE_STATE
    - qc_set_timer
    - qc_may_probe_ipktns
    - qc_is_listener
    linkageType: ''
    returnType: struct task
    signature: '*qc_process_timer(struct task *task, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:1038,1
    - Dst: increment_actconn
      Src: /src/haproxy/src/quic_conn.c:1040,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_conn.c:1042,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:1043,1
    - Dst: increment_sslconn
      Src: /src/haproxy/src/quic_conn.c:1047,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:1049,1
    - Dst: quic_increment_curr_handshake
      Src: /src/haproxy/src/quic_conn.c:1054,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:1056,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_conn.c:1061,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:1063,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/quic_conn.c:1077,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/quic_conn.c:1079,1
    - Dst: qc_init_fd
      Src: /src/haproxy/src/quic_conn.c:1086,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/quic_conn.c:1088,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/quic_conn.c:1089,1
    - Dst: quic_tls_ku_reset
      Src: /src/haproxy/src/quic_conn.c:1106,1
    - Dst: quic_tls_ku_reset
      Src: /src/haproxy/src/quic_conn.c:1107,1
    - Dst: quic_tls_ku_reset
      Src: /src/haproxy/src/quic_conn.c:1108,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/quic_conn.c:1112,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/quic_conn.c:1115,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/quic_conn.c:1124,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_conn.c:1142,1
    - Dst: quic_err_transport
      Src: /src/haproxy/src/quic_conn.c:1147,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:1153,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_conn.c:1158,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_conn.c:1162,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:1164,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_conn.c:1168,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:1170,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_conn.c:1177,1
    - Dst: is_addr
      Src: /src/haproxy/src/quic_conn.c:1179,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/quic_conn.c:1180,1
    - Dst: qc_alloc_fd
      Src: /src/haproxy/src/quic_conn.c:1181,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_conn.c:1186,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_conn.c:1187,1
    - Dst: qc_enc_level_alloc
      Src: /src/haproxy/src/quic_conn.c:1193,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:1194,1
    - Dst: memset
      Src: /src/haproxy/src/quic_conn.c:1205,1
    - Dst: memset
      Src: /src/haproxy/src/quic_conn.c:1212,1
    - Dst: b_make
      Src: /src/haproxy/src/quic_conn.c:1213,1
    - Dst: quic_tls_ku_init
      Src: /src/haproxy/src/quic_conn.c:1220,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:1221,1
    - Dst: quic_cc_path_init
      Src: /src/haproxy/src/quic_conn.c:1228,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_conn.c:1231,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_conn.c:1232,1
    - Dst: qc_lstnr_params_init
      Src: /src/haproxy/src/quic_conn.c:1234,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/quic_conn.c:1244,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:1246,1
    - Dst: qc_alloc_ssl_sock_ctx
      Src: /src/haproxy/src/quic_conn.c:1259,1
    - Dst: quic_conn_init_timer
      Src: /src/haproxy/src/quic_conn.c:1260,1
    - Dst: quic_conn_init_idle_timer_task
      Src: /src/haproxy/src/quic_conn.c:1261,1
    - Dst: qc_new_isecs
      Src: /src/haproxy/src/quic_conn.c:1264,1
    - Dst: memset
      Src: /src/haproxy/src/quic_conn.c:1268,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_conn.c:1270,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_conn.c:1271,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1273,1
    - Dst: quic_conn_release
      Src: /src/haproxy/src/quic_conn.c:1278,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/quic_conn.c:1285,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/quic_conn.c:1287,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/quic_conn.c:1289,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1291,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 172
    argCount: 11
    argNames:
    - qv
    - ipv4
    - dcid
    - scid
    - token_odcid
    - conn_id
    - local_addr
    - peer_addr
    - server
    - token
    - owner
    argTypes:
    - struct quic_version*
    - int
    - struct quic_cid*
    - struct quic_cid*
    - struct quic_cid*
    - struct quic_connection_id*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    - int
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1293
      start: 1023
    functionDepth: 6
    functionLinenumber: 1023
    functionLinenumberEnd: 1293
    functionName: qc_new_conn
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - quic_conn_init_timer
    - qc_alloc_ssl_sock_ctx
    - quic_conn_init_idle_timer_task
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - qc_init_fd
    - pool_alloc
    - EXTRA_COUNTERS_GET
    - HA_ATOMIC_LOAD
    - tasklet_new
    - memset
    - MT_LIST_INIT
    - TRACE_LEAVE
    - qc_test_fd
    - quic_cc_path_init
    - qc_new_isecs
    - is_addr
    - _HA_ATOMIC_INC
    - LIST_INIT
    - qc_enc_level_alloc
    - quic_tls_ku_reset
    - qc_lstnr_params_init
    - quic_increment_curr_handshake
    - increment_actconn
    - quic_err_transport
    - TRACE_USER
    - quic_tls_ku_init
    - b_make
    - _HA_ATOMIC_DEC
    - LIST_APPEND
    - qc_alloc_fd
    - quic_conn_release
    - TRACE_ERROR
    - TRACE_STATE
    - memcpy
    - increment_sslconn
    linkageType: ''
    returnType: struct quic_conn
    signature: "*qc_new_conn(const struct quic_version *qv, int ipv4,\n                              struct
      quic_cid *dcid, struct quic_cid *scid,\n                              const
      struct quic_cid *token_odcid,\n                              struct quic_connection_id
      *conn_id,\n                              struct sockaddr_storage *local_addr,\n
      \                             struct sockaddr_storage *peer_addr,\n                              int
      server, int token, void *owner)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:1304,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:1315,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:1327,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_conn.c:1342,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:1344,1
    - Dst: qc_release_fd
      Src: /src/haproxy/src/quic_conn.c:1345,1
    - Dst: qc_alloc_fd
      Src: /src/haproxy/src/quic_conn.c:1347,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1354,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - qc
    - peer_addr
    - local_addr
    argTypes:
    - struct quic_conn*
    - struct sockaddr_storage*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 1360
      start: 1300
    functionDepth: 2
    functionLinenumber: 1300
    functionLinenumberEnd: 1360
    functionName: qc_handle_conn_migration
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - qc_release_fd
    - TRACE_ENTER
    - qc_alloc_fd
    - qc_test_fd
    - TRACE_ERROR
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: "qc_handle_conn_migration(struct quic_conn *qc,\n                             const
      struct sockaddr_storage *peer_addr,\n                             const struct
      sockaddr_storage *local_addr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/quic_conn.c:1369,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/quic_conn.c:1370,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/quic_conn.c:1371,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/quic_conn.c:1372,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/quic_conn.c:1373,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/quic_conn.c:1374,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/quic_conn.c:1375,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/quic_conn.c:1380,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/quic_conn.c:1381,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/quic_conn.c:1383,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/quic_conn.c:1384,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/quic_conn.c:1385,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/quic_conn.c:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1387
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1387
    functionName: quic_conn_prx_cntrs_update
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_ADD
    linkageType: ''
    returnType: void
    signature: quic_conn_prx_cntrs_update(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:1401,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_conn.c:1407,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_conn.c:1410,1
    - Dst: qc_new_cc_conn
      Src: /src/haproxy/src/quic_conn.c:1415,1
    - Dst: task_destroy
      Src: /src/haproxy/src/quic_conn.c:1418,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/quic_conn.c:1420,1
    - Dst: free_quic_conn_cids
      Src: /src/haproxy/src/quic_conn.c:1422,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_conn.c:1423,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_conn.c:1425,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_conn.c:1429,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/quic_conn.c:1430,1
    - Dst: qc_release_fd
      Src: /src/haproxy/src/quic_conn.c:1433,1
    - Dst: MT_LIST_INLIST
      Src: /src/haproxy/src/quic_conn.c:1438,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/quic_conn.c:1439,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_conn.c:1440,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/quic_conn.c:1441,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_conn.c:1445,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_conn.c:1449,1
    - Dst: eb64_next
      Src: /src/haproxy/src/quic_conn.c:1450,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_conn.c:1455,1
    - Dst: qc_stream_desc_free
      Src: /src/haproxy/src/quic_conn.c:1456,1
    - Dst: qc_free_ssl_sock_ctx
      Src: /src/haproxy/src/quic_conn.c:1460,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_conn.c:1462,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/quic_conn.c:1463,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_conn.c:1464,1
    - Dst: task_destroy
      Src: /src/haproxy/src/quic_conn.c:1467,1
    - Dst: quic_tls_ku_free
      Src: /src/haproxy/src/quic_conn.c:1470,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_conn.c:1475,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_conn.c:1476,1
    - Dst: qc_enc_level_free
      Src: /src/haproxy/src/quic_conn.c:1479,1
    - Dst: qc_enc_level_free
      Src: /src/haproxy/src/quic_conn.c:1480,1
    - Dst: qc_enc_level_free
      Src: /src/haproxy/src/quic_conn.c:1481,1
    - Dst: qc_enc_level_free
      Src: /src/haproxy/src/quic_conn.c:1482,1
    - Dst: quic_tls_ctx_free
      Src: /src/haproxy/src/quic_conn.c:1484,1
    - Dst: quic_pktns_release
      Src: /src/haproxy/src/quic_conn.c:1486,1
    - Dst: quic_pktns_release
      Src: /src/haproxy/src/quic_conn.c:1487,1
    - Dst: quic_pktns_release
      Src: /src/haproxy/src/quic_conn.c:1488,1
    - Dst: qc_detach_th_ctx_list
      Src: /src/haproxy/src/quic_conn.c:1490,1
    - Dst: quic_conn_prx_cntrs_update
      Src: /src/haproxy/src/quic_conn.c:1492,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_conn.c:1493,1
    - Dst: unlikely
      Src: /src/haproxy/src/quic_conn.c:1497,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_conn.c:1498,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/quic_conn.c:1499,1
    - Dst: unlikely
      Src: /src/haproxy/src/quic_conn.c:1503,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_conn.c:1504,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_conn.c:1505,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/quic_conn.c:1506,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_conn.c:1510,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/quic_conn.c:1517,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/quic_conn.c:1518,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:1520,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1522,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 77
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1523
      start: 1395
    functionDepth: 4
    functionLinenumber: 1395
    functionLinenumberEnd: 1523
    functionName: quic_conn_release
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 4
    functionsReached:
    - quic_tls_ctx_free
    - TRACE_ENTER
    - LIST_DELETE
    - qc_stream_desc_free
    - BUG_ON
    - TRACE_LEAVE
    - qc_release_fd
    - MT_LIST_DELETE
    - qc_test_fd
    - HA_ATOMIC_DEC
    - qc_enc_level_free
    - quic_pktns_release
    - qc_new_cc_conn
    - tasklet_free
    - qc_detach_th_ctx_list
    - MT_LIST_INLIST
    - eb64_first
    - pool_free
    - quic_conn_prx_cntrs_update
    - list_for_each_entry_safe
    - _HA_ATOMIC_DEC
    - quic_tls_ku_free
    - TRACE_PROTO
    - eb64_entry
    - free_quic_conn_cids
    - task_destroy
    - eb64_next
    - unlikely
    - qc_is_listener
    - qc_free_ssl_sock_ctx
    linkageType: ''
    returnType: void
    signature: quic_conn_release(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:1532,1
    - Dst: task_new_here
      Src: /src/haproxy/src/quic_conn.c:1534,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:1536,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1548
      start: 1528
    functionDepth: 1
    functionLinenumber: 1528
    functionLinenumberEnd: 1548
    functionName: quic_conn_init_timer
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 1
    functionsReached:
    - TRACE_ENTER
    - task_new_here
    - TRACE_LEAVE
    - TRACE_ERROR
    linkageType: ''
    returnType: int
    signature: quic_conn_init_timer(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/haproxy/src/quic_conn.c:1573,1
    - Dst: quic_pto
      Src: /src/haproxy/src/quic_conn.c:1573,1
    - Dst: QUIC_MAX
      Src: /src/haproxy/src/quic_conn.c:1584,1
    - Dst: quic_pto
      Src: /src/haproxy/src/quic_conn.c:1584,1
    - Dst: tick_add
      Src: /src/haproxy/src/quic_conn.c:1587,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/quic_conn.c:1587,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_conn.c:1594,1
    - Dst: tick_add
      Src: /src/haproxy/src/quic_conn.c:1595,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/quic_conn.c:1595,1
    - Dst: task_queue
      Src: /src/haproxy/src/quic_conn.c:1597,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:1598,1
    - Dst: tick_first
      Src: /src/haproxy/src/quic_conn.c:1602,1
    - Dst: tick_first
      Src: /src/haproxy/src/quic_conn.c:1604,1
    - Dst: task_queue
      Src: /src/haproxy/src/quic_conn.c:1605,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:1606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - qc
    - arm_ack
    argTypes:
    - struct quic_conn*
    - int
    constantsTouched: []
    func_position:
      end: 1608
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1608
    functionName: qc_idle_timer_do_rearm
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - tick_add
    - TRACE_PROTO
    - quic_pto
    - task_queue
    - QUIC_MAX
    - tick_first
    - tick_isset
    - MS_TO_TICKS
    - MIN
    linkageType: ''
    returnType: void
    signature: qc_idle_timer_do_rearm(struct quic_conn *qc, int arm_ack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:1617,1
    - Dst: qc_idle_timer_do_rearm
      Src: /src/haproxy/src/quic_conn.c:1625,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - qc
    - read
    - arm_ack
    argTypes:
    - struct quic_conn*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1629
      start: 1615
    functionDepth: 2
    functionLinenumber: 1615
    functionLinenumberEnd: 1629
    functionName: qc_idle_timer_rearm
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - qc_idle_timer_do_rearm
    linkageType: ''
    returnType: void
    signature: qc_idle_timer_rearm(struct quic_conn *qc, int read, int arm_ack)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:1636,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/quic_conn.c:1638,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/quic_conn.c:1641,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:1642,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_conn.c:1651,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_conn.c:1657,1
    - Dst: qc_notify_err
      Src: /src/haproxy/src/quic_conn.c:1661,1
    - Dst: quic_conn_release
      Src: /src/haproxy/src/quic_conn.c:1668,1
    - Dst: task_destroy
      Src: /src/haproxy/src/quic_conn.c:1672,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1683,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1685
      start: 1632
    functionDepth: 5
    functionLinenumber: 1632
    functionLinenumberEnd: 1685
    functionName: qc_idle_timer_task
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - tick_is_expired
    - TRACE_ENTER
    - TRACE_PROTO
    - tasklet_wakeup
    - quic_conn_release
    - task_destroy
    - qc_notify_err
    linkageType: ''
    returnType: struct task
    signature: '*qc_idle_timer_task(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:1696,1
    - Dst: task_new_here
      Src: /src/haproxy/src/quic_conn.c:1700,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_conn.c:1702,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/quic_conn.c:1709,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/quic_conn.c:1709,1
    - Dst: qc_idle_timer_rearm
      Src: /src/haproxy/src/quic_conn.c:1710,1
    - Dst: task_queue
      Src: /src/haproxy/src/quic_conn.c:1711,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - qc
    - px
    argTypes:
    - struct quic_conn*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1717
      start: 1690
    functionDepth: 3
    functionLinenumber: 1690
    functionLinenumberEnd: 1717
    functionName: quic_conn_init_idle_timer_task
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 1
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - task_queue
    - qc_idle_timer_rearm
    - tick_add_ifset
    - TRACE_ERROR
    - MS_TO_TICKS
    - task_new_here
    linkageType: ''
    returnType: int
    signature: "quic_conn_init_idle_timer_task(struct quic_conn *qc,\n                                          struct
      proxy *px)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/quic_conn.c:1726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - version
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1734
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1734
    functionName: qc_supported_version
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: struct quic_version
    signature: '*qc_supported_version(uint32_t version)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/haproxy/src/quic_conn.c:1746,1
    - Dst: memcmp
      Src: /src/haproxy/src/quic_conn.c:1748,1
    - Dst: quic_cmp_cid_conn
      Src: /src/haproxy/src/quic_conn.c:1759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - qc
    - dcid
    - dcid_len
    argTypes:
    - struct quic_conn*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1760
      start: 1742
    functionDepth: 2
    functionLinenumber: 1742
    functionLinenumberEnd: 1760
    functionName: qc_check_dcid
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 1
    functionsReached:
    - quic_cmp_cid_conn
    - memcmp
    linkageType: ''
    returnType: int
    signature: qc_check_dcid(struct quic_conn *qc, unsigned char *dcid, size_t dcid_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:1772,1
    - Dst: quic_cc_path_prep_data
      Src: /src/haproxy/src/quic_conn.c:1782,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_conn.c:1783,1
    - Dst: fd_send_active
      Src: /src/haproxy/src/quic_conn.c:1783,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_conn.c:1784,1
    - Dst: qcc_notify_buf
      Src: /src/haproxy/src/quic_conn.c:1797,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1800
      start: 1768
    functionDepth: 1
    functionLinenumber: 1768
    functionLinenumberEnd: 1800
    functionName: qc_notify_send
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 2
    functionsReached:
    - tasklet_wakeup
    - fd_send_active
    - qc_test_fd
    - qcc_notify_buf
    - TRACE_STATE
    - quic_cc_path_prep_data
    linkageType: ''
    returnType: int
    signature: qc_notify_send(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:1805,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_conn.c:1808,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_conn.c:1819,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1823
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1823
    functionName: qc_notify_err
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 2
    functionsReached:
    - TRACE_ENTER
    - TRACE_STATE
    - TRACE_LEAVE
    - tasklet_wakeup
    linkageType: ''
    returnType: void
    signature: qc_notify_err(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:1836,1
    - Dst: task_new_on
      Src: /src/haproxy/src/quic_conn.c:1841,1
    - Dst: task_new_on
      Src: /src/haproxy/src/quic_conn.c:1842,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/quic_conn.c:1843,1
    - Dst: task_kill
      Src: /src/haproxy/src/quic_conn.c:1848,1
    - Dst: task_kill
      Src: /src/haproxy/src/quic_conn.c:1856,1
    - Dst: tasklet_kill
      Src: /src/haproxy/src/quic_conn.c:1865,1
    - Dst: qc_detach_th_ctx_list
      Src: /src/haproxy/src/quic_conn.c:1876,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1880,1
    - Dst: task_destroy
      Src: /src/haproxy/src/quic_conn.c:1884,1
    - Dst: task_destroy
      Src: /src/haproxy/src/quic_conn.c:1885,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/quic_conn.c:1886,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_conn.c:1888,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 2
    argNames:
    - qc
    - new_tid
    argTypes:
    - struct quic_conn*
    - uint
    constantsTouched: []
    func_position:
      end: 1890
      start: 1831
    functionDepth: 2
    functionLinenumber: 1831
    functionLinenumberEnd: 1890
    functionName: qc_bind_tid_prep
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 1
    functionsReached:
    - task_new_on
    - TRACE_LEAVE
    - tasklet_free
    - TRACE_ENTER
    - qc_detach_th_ctx_list
    - tasklet_kill
    - task_kill
    - tasklet_new
    - task_destroy
    - TRACE_DEVEL
    linkageType: ''
    returnType: int
    signature: qc_bind_tid_prep(struct quic_conn *qc, uint new_tid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:1905,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_conn.c:1908,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_conn.c:1917,1
    - Dst: fd_migrate_on
      Src: /src/haproxy/src/quic_conn.c:1919,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_conn.c:1922,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_conn.c:1930,1
    - Dst: eb64_next
      Src: /src/haproxy/src/quic_conn.c:1930,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_conn.c:1931,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/quic_conn.c:1936,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - qc
    - new_li
    argTypes:
    - struct quic_conn*
    - struct listener*
    constantsTouched: []
    func_position:
      end: 1940
      start: 1899
    functionDepth: 2
    functionLinenumber: 1899
    functionLinenumberEnd: 1940
    functionName: qc_bind_tid_commit
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 1
    functionsReached:
    - fd_migrate_on
    - TRACE_LEAVE
    - TRACE_ENTER
    - eb64_first
    - qc_test_fd
    - eb64_entry
    - eb64_next
    - HA_ATOMIC_STORE
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: qc_bind_tid_commit(struct quic_conn *qc, struct listener *new_li)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:1947,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_conn.c:1950,1
    - Dst: task_set_thread
      Src: /src/haproxy/src/quic_conn.c:1955,1
    - Dst: task_set_thread
      Src: /src/haproxy/src/quic_conn.c:1957,1
    - Dst: tasklet_set_tid
      Src: /src/haproxy/src/quic_conn.c:1958,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1961
      start: 1945
    functionDepth: 1
    functionLinenumber: 1945
    functionLinenumberEnd: 1961
    functionName: qc_bind_tid_reset
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 1
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - task_set_thread
    - tasklet_set_tid
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: qc_bind_tid_reset(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_conn.c:1966,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_conn.c:1969,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_conn.c:1978,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_conn.c:1981,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_conn.c:1982,1
    - Dst: qc_want_recv
      Src: /src/haproxy/src/quic_conn.c:1985,1
    - Dst: qc_set_timer
      Src: /src/haproxy/src/quic_conn.c:1988,1
    - Dst: task_queue
      Src: /src/haproxy/src/quic_conn.c:1991,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_conn.c:1995,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_conn.c:1999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 2000
      start: 1964
    functionDepth: 3
    functionLinenumber: 1964
    functionLinenumberEnd: 2000
    functionName: qc_finalize_tid_rebind
    functionSourceFile: /src/haproxy/src/quic_conn.c
    functionUses: 1
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - LIST_APPEND
    - qc_want_recv
    - tasklet_wakeup
    - task_queue
    - HA_ATOMIC_LOAD
    - qc_set_timer
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: qc_finalize_tid_rebind(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/qmux_trace.c:52,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/qmux_trace.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - frm
    argTypes:
    - struct quic_frame*
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: qmux_trace_frm
    functionSourceFile: /src/haproxy/src/qmux_trace.c
    functionUses: 0
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: qmux_trace_frm(const struct quic_frame *frm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qmux_dump_qcc_info
      Src: /src/haproxy/src/qmux_trace.c:80,1
    - Dst: qmux_dump_qcs_info
      Src: /src/haproxy/src/qmux_trace.c:83,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/qmux_trace.c:87,1
    - Dst: qmux_trace_frm
      Src: /src/haproxy/src/qmux_trace.c:91,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/qmux_trace.c:95,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/qmux_trace.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 9
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - struct ist
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 105
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 105
    functionName: qmux_trace
    functionSourceFile: /src/haproxy/src/qmux_trace.c
    functionUses: 0
    functionsReached:
    - qmux_dump_qcs_info
    - qmux_trace_frm
    - qmux_dump_qcc_info
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "qmux_trace(enum trace_level level, uint64_t mask,\n                       const
      struct trace_source *src,\n                       const struct ist where, const
      struct ist func,\n                       const void *a1, const void *a2, const
      void *a3, const void *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_strm
      Src: /src/haproxy/src/qmux_trace.c:125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - ctx
    - src
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - struct trace_ctx*
    - struct trace_source*
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 127
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 127
    functionName: qmux_trace_fill_ctx
    functionSourceFile: /src/haproxy/src/qmux_trace.c
    functionUses: 0
    functionsReached:
    - sc_strm
    linkageType: ''
    returnType: void
    signature: "qmux_trace_fill_ctx(struct trace_ctx *ctx, const struct trace_source
      *src,\n                               const void *a1, const void *a2, const
      void *a3, const void *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - st
    argTypes:
    - enum qcc_app_st
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: qcc_app_st_to_str
    functionSourceFile: /src/haproxy/src/qmux_trace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*qcc_app_st_to_str(const enum qcc_app_st st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/qmux_trace.c:147,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/qmux_trace.c:149,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/qmux_trace.c:150,1
    - Dst: qcc_app_st_to_str
      Src: /src/haproxy/src/qmux_trace.c:151,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/qmux_trace.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - qcc
    argTypes:
    - struct buffer*
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: qmux_dump_qcc_info
    functionSourceFile: /src/haproxy/src/qmux_trace.c
    functionUses: 1
    functionsReached:
    - qcc_app_st_to_str
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: qmux_dump_qcc_info(struct buffer *msg, const struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/qmux_trace.c:161,1
    - Dst: qcs_st_to_str
      Src: /src/haproxy/src/qmux_trace.c:162,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/qmux_trace.c:164,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/qmux_trace.c:165,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/qmux_trace.c:169,1
    - Dst: tot_time_read
      Src: /src/haproxy/src/qmux_trace.c:170,1
    - Dst: tot_time_read
      Src: /src/haproxy/src/qmux_trace.c:171,1
    - Dst: tot_time_read
      Src: /src/haproxy/src/qmux_trace.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - qcs
    argTypes:
    - struct buffer*
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: qmux_dump_qcs_info
    functionSourceFile: /src/haproxy/src/qmux_trace.c
    functionUses: 1
    functionsReached:
    - qcs_st_to_str
    - tot_time_read
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: qmux_dump_qcs_info(struct buffer *msg, const struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:78,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/thread.c:79,1
    - Dst: ha_thread_relax
      Src: /src/haproxy/src/thread.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: thread_harmless_till_end
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_LOAD
    - ha_thread_relax
    - _HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: thread_harmless_till_end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:94,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/thread.c:95,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:96,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/thread.c:112,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/thread.c:113,1
    - Dst: ha_thread_relax
      Src: /src/haproxy/src/thread.c:117,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/thread.c:126,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/thread.c:131,1
    - Dst: ha_thread_relax
      Src: /src/haproxy/src/thread.c:132,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:136,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 142
    functionName: thread_isolate
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 15
    functionsReached:
    - ha_thread_relax
    - _HA_ATOMIC_OR
    - _HA_ATOMIC_CAS
    - _HA_ATOMIC_INC
    - _HA_ATOMIC_AND
    - _HA_ATOMIC_LOAD
    - __ha_barrier_atomic_store
    linkageType: ''
    returnType: void
    signature: thread_isolate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:162,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:163,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/thread.c:164,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:165,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/thread.c:181,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/thread.c:182,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/thread.c:183,1
    - Dst: ha_thread_relax
      Src: /src/haproxy/src/thread.c:187,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/thread.c:196,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/thread.c:200,1
    - Dst: ha_thread_relax
      Src: /src/haproxy/src/thread.c:201,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:208,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:209,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 215
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 215
    functionName: thread_isolate_full
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 2
    functionsReached:
    - ha_thread_relax
    - _HA_ATOMIC_OR
    - _HA_ATOMIC_CAS
    - _HA_ATOMIC_INC
    - _HA_ATOMIC_AND
    - _HA_ATOMIC_LOAD
    - __ha_barrier_atomic_store
    linkageType: ''
    returnType: void
    signature: thread_isolate_full()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/thread.c:225,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/thread.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: thread_release
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 17
    functionsReached:
    - HA_ATOMIC_DEC
    - HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: thread_release()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigfillset
      Src: /src/haproxy/src/thread.c:238,1
    - Dst: sigdelset
      Src: /src/haproxy/src/thread.c:239,1
    - Dst: sigdelset
      Src: /src/haproxy/src/thread.c:240,1
    - Dst: sigdelset
      Src: /src/haproxy/src/thread.c:241,1
    - Dst: sigdelset
      Src: /src/haproxy/src/thread.c:242,1
    - Dst: sigdelset
      Src: /src/haproxy/src/thread.c:243,1
    - Dst: pthread_sigmask
      Src: /src/haproxy/src/thread.c:244,1
    - Dst: pthread_self
      Src: /src/haproxy/src/thread.c:247,1
    - Dst: pthread_create
      Src: /src/haproxy/src/thread.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - (*handler)(void *)
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 250
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 250
    functionName: setup_extra_threads
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - pthread_sigmask
    - sigfillset
    - pthread_self
    - pthread_create
    - sigdelset
    linkageType: ''
    returnType: void
    signature: setup_extra_threads(void *(*handler)(void *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/haproxy/src/thread.c:261,1
    - Dst: show_lock_stats
      Src: /src/haproxy/src/thread.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 266
    functionName: wait_for_threads_completion
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - show_lock_stats
    linkageType: ''
    returnType: void
    signature: wait_for_threads_completion()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/thread.c:277,1
    - Dst: ffsl
      Src: /src/haproxy/src/thread.c:283,1
    - Dst: pthread_mach_thread_np
      Src: /src/haproxy/src/thread.c:287,1
    - Dst: pthread_self
      Src: /src/haproxy/src/thread.c:287,1
    - Dst: thread_policy_set
      Src: /src/haproxy/src/thread.c:288,1
    - Dst: pthread_setaffinity_np
      Src: /src/haproxy/src/thread.c:294,1
    - Dst: pthread_self
      Src: /src/haproxy/src/thread.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 298
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 298
    functionName: set_thread_cpu_affinity
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - thread_policy_set
    - pthread_self
    - pthread_setaffinity_np
    - ha_cpuset_count
    - ffsl
    - pthread_mach_thread_np
    linkageType: ''
    returnType: void
    signature: set_thread_cpu_affinity()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - thr
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 328
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 328
    functionName: ha_get_pthread_id
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned long long
    signature: ha_get_pthread_id(unsigned int thr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_kill
      Src: /src/haproxy/src/thread.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thr
    - sig
    argTypes:
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: ha_tkill
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 4
    functionsReached:
    - pthread_kill
    linkageType: ''
    returnType: void
    signature: ha_tkill(unsigned int thr, int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_kill
      Src: /src/haproxy/src/thread.c:348,1
    - Dst: raise
      Src: /src/haproxy/src/thread.c:350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 351
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 351
    functionName: ha_tkillall
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - pthread_kill
    - raise
    linkageType: ''
    returnType: void
    signature: ha_tkillall(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sched_yield
      Src: /src/haproxy/src/thread.c:356,1
    - Dst: pl_cpu_relax
      Src: /src/haproxy/src/thread.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 360
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 360
    functionName: ha_thread_relax
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 7
    functionsReached:
    - pl_cpu_relax
    - sched_yield
    linkageType: ''
    returnType: void
    signature: ha_thread_relax(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/thread.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - HA_SPINLOCK_T*
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 366
    functionName: ha_spin_init
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_INIT
    linkageType: ''
    returnType: void
    signature: ha_spin_init(HA_SPINLOCK_T *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/thread.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - HA_RWLOCK_T*
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 372
    functionName: ha_rwlock_init
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_INIT
    linkageType: ''
    returnType: void
    signature: ha_rwlock_init(HA_RWLOCK_T *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_detect_bound
      Src: /src/haproxy/src/thread.c:383,1
    - Dst: sysconf
      Src: /src/haproxy/src/thread.c:386,1
    - Dst: MAX
      Src: /src/haproxy/src/thread.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 391
    functionName: thread_cpus_enabled
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - ha_cpuset_detect_bound
    - MAX
    - sysconf
    linkageType: ''
    returnType: int
    signature: thread_cpus_enabled()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/thread.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 99
    argCount: 1
    argNames:
    - label
    argTypes:
    - enum lock_label
    constantsTouched: []
    func_position:
      end: 455
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 455
    functionName: lock_label
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - abort
    linkageType: ''
    returnType: char
    signature: '*lock_label(enum lock_label label)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/thread.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lbl
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: get_lock_stat_num_read
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: uint64_t
    signature: get_lock_stat_num_read(int lbl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/thread.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lbl
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 476
    functionName: get_lock_stat_num_seek
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: uint64_t
    signature: get_lock_stat_num_seek(int lbl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/thread.c:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lbl
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 486
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 486
    functionName: get_lock_stat_num_write
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: uint64_t
    signature: get_lock_stat_num_write(int lbl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/thread.c:499,1
    - Dst: lock_label
      Src: /src/haproxy/src/thread.c:501,1
    - Dst: fprintf
      Src: /src/haproxy/src/thread.c:505,1
    - Dst: lock_label
      Src: /src/haproxy/src/thread.c:507,1
    - Dst: fprintf
      Src: /src/haproxy/src/thread.c:510,1
    - Dst: fprintf
      Src: /src/haproxy/src/thread.c:524,1
    - Dst: fprintf
      Src: /src/haproxy/src/thread.c:525,1
    - Dst: fprintf
      Src: /src/haproxy/src/thread.c:529,1
    - Dst: fprintf
      Src: /src/haproxy/src/thread.c:543,1
    - Dst: fprintf
      Src: /src/haproxy/src/thread.c:544,1
    - Dst: fprintf
      Src: /src/haproxy/src/thread.c:548,1
    - Dst: fprintf
      Src: /src/haproxy/src/thread.c:562,1
    - Dst: fprintf
      Src: /src/haproxy/src/thread.c:563,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 566
    functionName: show_lock_stats
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 1
    functionsReached:
    - lock_label
    - fprintf
    linkageType: ''
    returnType: void
    signature: show_lock_stats()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/thread.c:570,1
    - Dst: __RWLOCK_INIT
      Src: /src/haproxy/src/thread.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct ha_rwlock*
    constantsTouched: []
    func_position:
      end: 572
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 572
    functionName: __ha_rwlock_init
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - memset
    - __RWLOCK_INIT
    linkageType: ''
    returnType: void
    signature: __ha_rwlock_init(struct ha_rwlock *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __RWLOCK_DESTROY
      Src: /src/haproxy/src/thread.c:576,1
    - Dst: memset
      Src: /src/haproxy/src/thread.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct ha_rwlock*
    constantsTouched: []
    func_position:
      end: 578
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 578
    functionName: __ha_rwlock_destroy
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - memset
    - __RWLOCK_DESTROY
    linkageType: ''
    returnType: void
    signature: __ha_rwlock_destroy(struct ha_rwlock *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/thread.c:590,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:592,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:594,1
    - Dst: __RWLOCK_WRLOCK
      Src: /src/haproxy/src/thread.c:595,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:596,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/thread.c:597,1
    - Dst: flsnz
      Src: /src/haproxy/src/thread.c:600,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:601,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 609
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 609
    functionName: __ha_rwlock_wrlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - abort
    - HA_ATOMIC_INC
    - HA_ATOMIC_AND
    - HA_ATOMIC_ADD
    - flsnz
    - now_mono_time
    - HA_ATOMIC_OR
    - __RWLOCK_WRLOCK
    linkageType: ''
    returnType: void
    signature: "__ha_rwlock_wrlock(enum lock_label lbl, struct ha_rwlock *l,\n                        const
      char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/thread.c:621,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:624,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:626,1
    - Dst: __RWLOCK_TRYWRLOCK
      Src: /src/haproxy/src/thread.c:627,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:628,1
    - Dst: unlikely
      Src: /src/haproxy/src/thread.c:629,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:630,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/thread.c:633,1
    - Dst: flsnz
      Src: /src/haproxy/src/thread.c:636,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:637,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 647
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 647
    functionName: __ha_rwlock_trywrlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - __RWLOCK_TRYWRLOCK
    - abort
    - HA_ATOMIC_AND
    - HA_ATOMIC_INC
    - HA_ATOMIC_ADD
    - unlikely
    - flsnz
    - now_mono_time
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: "__ha_rwlock_trywrlock(enum lock_label lbl, struct ha_rwlock *l,\n
      \                         const char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/thread.c:655,1
    - Dst: abort
      Src: /src/haproxy/src/thread.c:657,1
    - Dst: __RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/thread.c:665,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 668
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 668
    functionName: __ha_rwlock_wrunlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - __RWLOCK_WRUNLOCK
    - unlikely
    - HA_ATOMIC_INC
    - abort
    linkageType: ''
    returnType: void
    signature: "__ha_rwlock_wrunlock(enum lock_label lbl,struct ha_rwlock *l,\n                          const
      char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/thread.c:678,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:680,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:682,1
    - Dst: __RWLOCK_RDLOCK
      Src: /src/haproxy/src/thread.c:683,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:684,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/thread.c:685,1
    - Dst: flsnz
      Src: /src/haproxy/src/thread.c:688,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:689,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:691,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - lbl
    - l
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    constantsTouched: []
    func_position:
      end: 694
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 694
    functionName: __ha_rwlock_rdlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - abort
    - HA_ATOMIC_INC
    - HA_ATOMIC_AND
    - HA_ATOMIC_ADD
    - flsnz
    - now_mono_time
    - HA_ATOMIC_OR
    - __RWLOCK_RDLOCK
    linkageType: ''
    returnType: void
    signature: __ha_rwlock_rdlock(enum lock_label lbl,struct ha_rwlock *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/thread.c:705,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:708,1
    - Dst: __RWLOCK_TRYRDLOCK
      Src: /src/haproxy/src/thread.c:709,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:710,1
    - Dst: unlikely
      Src: /src/haproxy/src/thread.c:712,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/thread.c:715,1
    - Dst: flsnz
      Src: /src/haproxy/src/thread.c:718,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:719,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - lbl
    - l
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    constantsTouched: []
    func_position:
      end: 724
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 724
    functionName: __ha_rwlock_tryrdlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - abort
    - HA_ATOMIC_INC
    - __RWLOCK_TRYRDLOCK
    - HA_ATOMIC_ADD
    - unlikely
    - flsnz
    - now_mono_time
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: __ha_rwlock_tryrdlock(enum lock_label lbl,struct ha_rwlock *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/thread.c:731,1
    - Dst: abort
      Src: /src/haproxy/src/thread.c:733,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:736,1
    - Dst: __RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/thread.c:738,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - lbl
    - l
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    constantsTouched: []
    func_position:
      end: 741
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 741
    functionName: __ha_rwlock_rdunlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_AND
    - __RWLOCK_RDUNLOCK
    - HA_ATOMIC_INC
    - abort
    - unlikely
    linkageType: ''
    returnType: void
    signature: __ha_rwlock_rdunlock(enum lock_label lbl,struct ha_rwlock *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/thread.c:752,1
    - Dst: abort
      Src: /src/haproxy/src/thread.c:755,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:757,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:759,1
    - Dst: __RWLOCK_WRTORD
      Src: /src/haproxy/src/thread.c:760,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:761,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/thread.c:762,1
    - Dst: flsnz
      Src: /src/haproxy/src/thread.c:765,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:766,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:768,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:769,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 775
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 775
    functionName: __ha_rwlock_wrtord
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - __RWLOCK_WRTORD
    - abort
    - HA_ATOMIC_INC
    - HA_ATOMIC_AND
    - HA_ATOMIC_ADD
    - flsnz
    - now_mono_time
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: "__ha_rwlock_wrtord(enum lock_label lbl, struct ha_rwlock *l,\n                        const
      char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/thread.c:786,1
    - Dst: abort
      Src: /src/haproxy/src/thread.c:789,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:791,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:793,1
    - Dst: __RWLOCK_WRTOSK
      Src: /src/haproxy/src/thread.c:794,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:795,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/thread.c:796,1
    - Dst: flsnz
      Src: /src/haproxy/src/thread.c:799,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:800,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:802,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:803,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 809
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 809
    functionName: __ha_rwlock_wrtosk
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - abort
    - HA_ATOMIC_INC
    - HA_ATOMIC_AND
    - __RWLOCK_WRTOSK
    - HA_ATOMIC_ADD
    - flsnz
    - now_mono_time
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: "__ha_rwlock_wrtosk(enum lock_label lbl, struct ha_rwlock *l,\n                        const
      char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/thread.c:820,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:822,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:824,1
    - Dst: __RWLOCK_SKLOCK
      Src: /src/haproxy/src/thread.c:825,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:826,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/thread.c:827,1
    - Dst: flsnz
      Src: /src/haproxy/src/thread.c:830,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:831,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:833,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:838,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 839
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 839
    functionName: __ha_rwlock_sklock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - abort
    - HA_ATOMIC_INC
    - HA_ATOMIC_AND
    - __RWLOCK_SKLOCK
    - HA_ATOMIC_ADD
    - flsnz
    - now_mono_time
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: "__ha_rwlock_sklock(enum lock_label lbl, struct ha_rwlock *l,\n                        const
      char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/thread.c:850,1
    - Dst: abort
      Src: /src/haproxy/src/thread.c:853,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:855,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:857,1
    - Dst: __RWLOCK_SKTOWR
      Src: /src/haproxy/src/thread.c:858,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:859,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/thread.c:860,1
    - Dst: flsnz
      Src: /src/haproxy/src/thread.c:863,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:864,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:866,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:867,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 873
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 873
    functionName: __ha_rwlock_sktowr
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - abort
    - HA_ATOMIC_INC
    - HA_ATOMIC_AND
    - HA_ATOMIC_ADD
    - flsnz
    - __RWLOCK_SKTOWR
    - now_mono_time
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: "__ha_rwlock_sktowr(enum lock_label lbl, struct ha_rwlock *l,\n                        const
      char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/thread.c:884,1
    - Dst: abort
      Src: /src/haproxy/src/thread.c:887,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:889,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:891,1
    - Dst: __RWLOCK_SKTORD
      Src: /src/haproxy/src/thread.c:892,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:893,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/thread.c:894,1
    - Dst: flsnz
      Src: /src/haproxy/src/thread.c:897,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:898,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:900,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:901,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 907
      start: 875
    functionDepth: 1
    functionLinenumber: 875
    functionLinenumberEnd: 907
    functionName: __ha_rwlock_sktord
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_OR
    - abort
    - HA_ATOMIC_INC
    - HA_ATOMIC_AND
    - HA_ATOMIC_ADD
    - flsnz
    - now_mono_time
    - __RWLOCK_SKTORD
    linkageType: ''
    returnType: void
    signature: "__ha_rwlock_sktord(enum lock_label lbl, struct ha_rwlock *l,\n                        const
      char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/thread.c:915,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:917,1
    - Dst: __RWLOCK_SKUNLOCK
      Src: /src/haproxy/src/thread.c:922,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 925
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 925
    functionName: __ha_rwlock_skunlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    - __RWLOCK_SKUNLOCK
    - HA_ATOMIC_AND
    - abort
    linkageType: ''
    returnType: void
    signature: "__ha_rwlock_skunlock(enum lock_label lbl,struct ha_rwlock *l,\n                          const
      char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/thread.c:937,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:939,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:941,1
    - Dst: __RWLOCK_TRYSKLOCK
      Src: /src/haproxy/src/thread.c:942,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:943,1
    - Dst: likely
      Src: /src/haproxy/src/thread.c:945,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/thread.c:947,1
    - Dst: flsnz
      Src: /src/haproxy/src/thread.c:950,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:951,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:952,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 960
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 960
    functionName: __ha_rwlock_trysklock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - __RWLOCK_TRYSKLOCK
    - abort
    - HA_ATOMIC_INC
    - HA_ATOMIC_AND
    - likely
    - HA_ATOMIC_ADD
    - flsnz
    - now_mono_time
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: "__ha_rwlock_trysklock(enum lock_label lbl, struct ha_rwlock *l,\n
      \                         const char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/thread.c:972,1
    - Dst: abort
      Src: /src/haproxy/src/thread.c:975,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:977,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:979,1
    - Dst: __RWLOCK_TRYRDTOSK
      Src: /src/haproxy/src/thread.c:980,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:981,1
    - Dst: likely
      Src: /src/haproxy/src/thread.c:983,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/thread.c:985,1
    - Dst: flsnz
      Src: /src/haproxy/src/thread.c:988,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:989,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:990,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:991,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:997,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 999
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 999
    functionName: __ha_rwlock_tryrdtosk
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - abort
    - HA_ATOMIC_INC
    - HA_ATOMIC_AND
    - __RWLOCK_TRYRDTOSK
    - likely
    - HA_ATOMIC_ADD
    - flsnz
    - now_mono_time
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: "__ha_rwlock_tryrdtosk(enum lock_label lbl, struct ha_rwlock *l,\n
      \                         const char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/haproxy/src/thread.c:1011,1
    - Dst: abort
      Src: /src/haproxy/src/thread.c:1014,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:1016,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:1018,1
    - Dst: __RWLOCK_TRYRDTOWR
      Src: /src/haproxy/src/thread.c:1019,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:1020,1
    - Dst: likely
      Src: /src/haproxy/src/thread.c:1022,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/thread.c:1024,1
    - Dst: flsnz
      Src: /src/haproxy/src/thread.c:1027,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:1028,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:1029,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:1030,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:1036,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_rwlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1038
      start: 1001
    functionDepth: 1
    functionLinenumber: 1001
    functionLinenumberEnd: 1038
    functionName: __ha_rwlock_tryrdtowr
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - abort
    - __RWLOCK_TRYRDTOWR
    - HA_ATOMIC_INC
    - HA_ATOMIC_AND
    - likely
    - HA_ATOMIC_ADD
    - flsnz
    - now_mono_time
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: "__ha_rwlock_tryrdtowr(enum lock_label lbl, struct ha_rwlock *l,\n
      \                         const char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/thread.c:1043,1
    - Dst: __SPIN_INIT
      Src: /src/haproxy/src/thread.c:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct ha_spinlock*
    constantsTouched: []
    func_position:
      end: 1045
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1045
    functionName: __spin_init
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - memset
    - __SPIN_INIT
    linkageType: ''
    returnType: void
    signature: __spin_init(struct ha_spinlock *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __SPIN_DESTROY
      Src: /src/haproxy/src/thread.c:1049,1
    - Dst: memset
      Src: /src/haproxy/src/thread.c:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct ha_spinlock*
    constantsTouched: []
    func_position:
      end: 1051
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1051
    functionName: __spin_destroy
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - memset
    - __SPIN_DESTROY
    linkageType: ''
    returnType: void
    signature: __spin_destroy(struct ha_spinlock *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/thread.c:1061,1
    - Dst: abort
      Src: /src/haproxy/src/thread.c:1063,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/thread.c:1066,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:1068,1
    - Dst: __SPIN_LOCK
      Src: /src/haproxy/src/thread.c:1069,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:1070,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/thread.c:1071,1
    - Dst: flsnz
      Src: /src/haproxy/src/thread.c:1074,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:1075,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/thread.c:1083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_spinlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1084
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1084
    functionName: __spin_lock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - abort
    - HA_ATOMIC_INC
    - HA_ATOMIC_AND
    - __SPIN_LOCK
    - HA_ATOMIC_ADD
    - unlikely
    - flsnz
    - now_mono_time
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: "__spin_lock(enum lock_label lbl, struct ha_spinlock *l,\n                 const
      char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/thread.c:1095,1
    - Dst: abort
      Src: /src/haproxy/src/thread.c:1097,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:1101,1
    - Dst: __SPIN_TRYLOCK
      Src: /src/haproxy/src/thread.c:1102,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/thread.c:1103,1
    - Dst: unlikely
      Src: /src/haproxy/src/thread.c:1105,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/thread.c:1108,1
    - Dst: flsnz
      Src: /src/haproxy/src/thread.c:1111,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_spinlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1120
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1120
    functionName: __spin_trylock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - abort
    - HA_ATOMIC_INC
    - unlikely
    - HA_ATOMIC_ADD
    - __SPIN_TRYLOCK
    - flsnz
    - now_mono_time
    linkageType: ''
    returnType: int
    signature: "__spin_trylock(enum lock_label lbl, struct ha_spinlock *l,\n                   const
      char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/thread.c:1128,1
    - Dst: abort
      Src: /src/haproxy/src/thread.c:1130,1
    - Dst: __SPIN_UNLOCK
      Src: /src/haproxy/src/thread.c:1138,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/thread.c:1139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - lbl
    - l
    - func
    - file
    - line
    argTypes:
    - enum lock_label
    - struct ha_spinlock*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1140
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1140
    functionName: __spin_unlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    - __SPIN_UNLOCK
    - unlikely
    - abort
    linkageType: ''
    returnType: void
    signature: "__spin_unlock(enum lock_label lbl, struct ha_spinlock *l,\n                   const
      char *func, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rwlock
    - attr
    argTypes:
    - pthread_rwlock_t*
    - pthread_rwlockattr_t*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1164
    functionName: pthread_rwlock_init
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: pthread_rwlock_init(pthread_rwlock_t *restrict rwlock, const pthread_rwlockattr_t
      *restrict attr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 1172
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1172
    functionName: pthread_rwlock_destroy
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: pthread_rwlock_destroy(pthread_rwlock_t *rwlock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pl_lorw_rdlock
      Src: /src/haproxy/src/thread.c:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1178
    functionName: pthread_rwlock_rdlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - pl_lorw_rdlock
    linkageType: ''
    returnType: int
    signature: pthread_rwlock_rdlock(pthread_rwlock_t *rwlock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pl_cmpxchg
      Src: /src/haproxy/src/thread.c:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 1183
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1183
    functionName: pthread_rwlock_tryrdlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - pl_cmpxchg
    linkageType: ''
    returnType: int
    signature: pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_tryrdlock
      Src: /src/haproxy/src/thread.c:1187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rwlock
    - abstime
    argTypes:
    - pthread_rwlock_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 1188
      start: 1185
    functionDepth: 1
    functionLinenumber: 1185
    functionLinenumberEnd: 1188
    functionName: pthread_rwlock_timedrdlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_tryrdlock
    linkageType: ''
    returnType: int
    signature: pthread_rwlock_timedrdlock(pthread_rwlock_t *restrict rwlock, const
      struct timespec *restrict abstime)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pl_lorw_wrlock
      Src: /src/haproxy/src/thread.c:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 1194
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1194
    functionName: pthread_rwlock_wrlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - pl_lorw_wrlock
    linkageType: ''
    returnType: int
    signature: pthread_rwlock_wrlock(pthread_rwlock_t *rwlock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pl_cmpxchg
      Src: /src/haproxy/src/thread.c:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 1199
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1199
    functionName: pthread_rwlock_trywrlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - pl_cmpxchg
    linkageType: ''
    returnType: int
    signature: pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_trywrlock
      Src: /src/haproxy/src/thread.c:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rwlock
    - abstime
    argTypes:
    - pthread_rwlock_t*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 1204
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1204
    functionName: pthread_rwlock_timedwrlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_trywrlock
    linkageType: ''
    returnType: int
    signature: pthread_rwlock_timedwrlock(pthread_rwlock_t *restrict rwlock, const
      struct timespec *restrict abstime)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pl_lorw_unlock
      Src: /src/haproxy/src/thread.c:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - pthread_rwlock_t*
    constantsTouched: []
    func_position:
      end: 1210
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1210
    functionName: pthread_rwlock_unlock
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - pl_lorw_unlock
    linkageType: ''
    returnType: int
    signature: pthread_rwlock_unlock(pthread_rwlock_t *rwlock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_exit
      Src: /src/haproxy/src/thread.c:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1225
    functionName: dummy_thread_function
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - pthread_exit
    linkageType: ''
    returnType: void
    signature: '*dummy_thread_function(void *data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/haproxy/src/thread.c:1230,1
    - Dst: pthread_join
      Src: /src/haproxy/src/thread.c:1231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1232
    functionName: preload_libgcc_s
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - pthread_join
    - pthread_create
    linkageType: ''
    returnType: void
    signature: preload_libgcc_s(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: preload_libgcc_s
      Src: /src/haproxy/src/thread.c:1238,1
    - Dst: thread_cpus_enabled
      Src: /src/haproxy/src/thread.c:1240,1
    - Dst: MIN
      Src: /src/haproxy/src/thread.c:1241,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1243,1
    - Dst: hap_register_build_opts
      Src: /src/haproxy/src/thread.c:1245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1234
    functionDepth: 5
    functionLinenumber: 1234
    functionLinenumberEnd: 1246
    functionName: __thread_init
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - memprintf
    - preload_libgcc_s
    - hap_register_build_opts
    - MIN
    - thread_cpus_enabled
    linkageType: ''
    returnType: void
    signature: __thread_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raise
      Src: /src/haproxy/src/thread.c:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thr
    - sig
    argTypes:
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 1255
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1255
    functionName: ha_tkill
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 4
    functionsReached:
    - raise
    linkageType: ''
    returnType: void
    signature: ha_tkill(unsigned int thr, int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: raise
      Src: /src/haproxy/src/thread.c:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1261
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1261
    functionName: ha_tkillall
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - raise
    linkageType: ''
    returnType: void
    signature: ha_tkillall(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sched_yield
      Src: /src/haproxy/src/thread.c:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1268
    functionName: ha_thread_relax
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 7
    functionsReached:
    - sched_yield
    linkageType: ''
    returnType: void
    signature: ha_thread_relax(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/thread.c:1290,1
    - Dst: ha_warning
      Src: /src/haproxy/src/thread.c:1302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1312
    functionName: thread_detect_binding_discrepancies
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - ha_cpuset_count
    linkageType: ''
    returnType: int
    signature: thread_detect_binding_discrepancies(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/thread.c:1327,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/thread.c:1328,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/thread.c:1329,1
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/thread.c:1334,1
    - Dst: ha_cpuset_or
      Src: /src/haproxy/src/thread.c:1335,1
    - Dst: ha_cpuset_assign
      Src: /src/haproxy/src/thread.c:1340,1
    - Dst: ha_cpuset_detect_bound
      Src: /src/haproxy/src/thread.c:1342,1
    - Dst: ha_cpuset_or
      Src: /src/haproxy/src/thread.c:1343,1
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/thread.c:1346,1
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/thread.c:1347,1
    - Dst: ha_warning
      Src: /src/haproxy/src/thread.c:1350,1
    - Dst: ha_warning
      Src: /src/haproxy/src/thread.c:1358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1319
    functionDepth: 2
    functionLinenumber: 1319
    functionLinenumberEnd: 1367
    functionName: thread_detect_more_than_cpus
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - ha_cpuset_detect_bound
    - ha_warning
    - ha_cpuset_zero
    - ha_cpuset_or
    - ha_cpuset_count
    - ha_cpuset_assign
    linkageType: ''
    returnType: int
    signature: thread_detect_more_than_cpus(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/src/thread.c:1393,1
    - Dst: ha_alert
      Src: /src/haproxy/src/thread.c:1410,1
    - Dst: ha_alert
      Src: /src/haproxy/src/thread.c:1443,1
    - Dst: nbits
      Src: /src/haproxy/src/thread.c:1455,1
    - Dst: cpu_reorder_by_index
      Src: /src/haproxy/src/thread.c:1478,1
    - Dst: cpu_dump_topology
      Src: /src/haproxy/src/thread.c:1479,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1483
    functionName: thread_map_to_groups
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - nbits
    - cpu_dump_topology
    - cpu_reorder_by_index
    linkageType: ''
    returnType: int
    signature: thread_map_to_groups()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_set_is_empty
      Src: /src/haproxy/src/thread.c:1504,1
    - Dst: nbits
      Src: /src/haproxy/src/thread.c:1528,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1547,1
    - Dst: nbits
      Src: /src/haproxy/src/thread.c:1552,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1567,1
    - Dst: thread_set_nth_group
      Src: /src/haproxy/src/thread.c:1579,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1580,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 3
    argNames:
    - ts
    - defgrp
    - err
    argTypes:
    - struct thread_set*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1586
      start: 1496
    functionDepth: 5
    functionLinenumber: 1496
    functionLinenumberEnd: 1586
    functionName: thread_resolve_group_mask
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 1
    functionsReached:
    - memprintf
    - thread_set_nth_group
    - nbits
    - thread_set_is_empty
    linkageType: ''
    returnType: int
    signature: thread_resolve_group_mask(struct thread_set *ts, int defgrp, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/thread.c:1605,1
    - Dst: cpu_map_configured
      Src: /src/haproxy/src/thread.c:1650,1
    - Dst: cpu_apply_policy
      Src: /src/haproxy/src/thread.c:1665,1
    - Dst: ha_warning
      Src: /src/haproxy/src/thread.c:1667,1
    - Dst: ha_free
      Src: /src/haproxy/src/thread.c:1668,1
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/thread.c:1672,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/thread.c:1679,1
    - Dst: ha_cpuset_set
      Src: /src/haproxy/src/thread.c:1685,1
    - Dst: ha_cpuset_assign
      Src: /src/haproxy/src/thread.c:1692,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/thread.c:1710,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1592
    functionDepth: 2
    functionLinenumber: 1592
    functionLinenumberEnd: 1715
    functionName: thread_detect_count
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - cpu_apply_policy
    - ha_free
    - ha_cpuset_assign
    - ha_warning
    - ha_cpuset_zero
    - ha_cpuset_count
    - ha_cpuset_set
    - cpu_map_configured
    - ha_diag_warning
    linkageType: ''
    returnType: void
    signature: thread_detect_count(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/haproxy/src/thread.c:1765,1
    - Dst: isdigit
      Src: /src/haproxy/src/thread.c:1780,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1784,1
    - Dst: atoi
      Src: /src/haproxy/src/thread.c:1788,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1801,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1803,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1809,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1814,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1819,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1847,1
    - Dst: isteq
      Src: /src/haproxy/src/thread.c:1858,1
    - Dst: ist2
      Src: /src/haproxy/src/thread.c:1858,1
    - Dst: ist
      Src: /src/haproxy/src/thread.c:1858,1
    - Dst: isteq
      Src: /src/haproxy/src/thread.c:1860,1
    - Dst: ist2
      Src: /src/haproxy/src/thread.c:1860,1
    - Dst: ist
      Src: /src/haproxy/src/thread.c:1860,1
    - Dst: isteq
      Src: /src/haproxy/src/thread.c:1862,1
    - Dst: ist2
      Src: /src/haproxy/src/thread.c:1862,1
    - Dst: ist
      Src: /src/haproxy/src/thread.c:1862,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1871,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1879,1
    - Dst: isdigit
      Src: /src/haproxy/src/thread.c:1884,1
    - Dst: atoi
      Src: /src/haproxy/src/thread.c:1886,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1896,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1906,1
    - Dst: memset
      Src: /src/haproxy/src/thread.c:1921,1
    - Dst: memset
      Src: /src/haproxy/src/thread.c:1931,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 110
    argCount: 3
    argNames:
    - arg
    - ts
    - err
    argTypes:
    - char*
    - struct thread_set*
    - char**
    constantsTouched: []
    func_position:
      end: 1942
      start: 1754
    functionDepth: 5
    functionLinenumber: 1754
    functionLinenumberEnd: 1942
    functionName: parse_thread_set
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 1
    functionsReached:
    - memprintf
    - atoi
    - ist2
    - isteq
    - ist
    - memset
    - isdigit
    linkageType: ''
    returnType: int
    signature: parse_thread_set(const char *arg, struct thread_set *ts, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/thread.c:1954,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1958,1
    - Dst: strtol
      Src: /src/haproxy/src/thread.c:1962,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1964,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1970,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:1975,1
    - Dst: HA_DIAG_WARNING_COND
      Src: /src/haproxy/src/thread.c:1980,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1986
      start: 1947
    functionDepth: 7
    functionLinenumber: 1947
    functionLinenumberEnd: 1986
    functionName: cfg_parse_nbthread
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - memprintf
    - HA_DIAG_WARNING_COND
    - strtol
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_nbthread(char **args, int section_type, struct proxy *curpx,\n
      \                             const struct proxy *defpx, const char *file, int
      line,\n                              char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/thread.c:1999,1
    - Dst: strtol
      Src: /src/haproxy/src/thread.c:2002,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:2004,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:2009,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2015
      start: 1992
    functionDepth: 7
    functionLinenumber: 1992
    functionLinenumberEnd: 2015
    functionName: cfg_parse_thread_hard_limit
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strtol
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_thread_hard_limit(char **args, int section_type, struct
      proxy *curpx,\n                              const struct proxy *defpx, const
      char *file, int line,\n                              char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:2029,1
    - Dst: strtol
      Src: /src/haproxy/src/thread.c:2033,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:2035,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:2040,1
    - Dst: ha_warning
      Src: /src/haproxy/src/thread.c:2048,1
    - Dst: strtol
      Src: /src/haproxy/src/thread.c:2065,1
    - Dst: strtol
      Src: /src/haproxy/src/thread.c:2068,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:2071,1
    - Dst: ha_warning
      Src: /src/haproxy/src/thread.c:2077,1
    - Dst: ha_warning
      Src: /src/haproxy/src/thread.c:2080,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:2105,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:2110,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 67
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2115
      start: 2020
    functionDepth: 5
    functionLinenumber: 2020
    functionLinenumberEnd: 2115
    functionName: cfg_parse_thread_group
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strtol
    - ha_warning
    linkageType: ''
    returnType: int
    signature: "cfg_parse_thread_group(char **args, int section_type, struct proxy
      *curpx,\n                                  const struct proxy *defpx, const
      char *file, int line,\n                                  char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/thread.c:2127,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:2131,1
    - Dst: strtol
      Src: /src/haproxy/src/thread.c:2135,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:2137,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:2143,1
    - Dst: memprintf
      Src: /src/haproxy/src/thread.c:2148,1
    - Dst: HA_DIAG_WARNING_COND
      Src: /src/haproxy/src/thread.c:2153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2159
      start: 2120
    functionDepth: 7
    functionLinenumber: 2120
    functionLinenumberEnd: 2159
    functionName: cfg_parse_thread_groups
    functionSourceFile: /src/haproxy/src/thread.c
    functionUses: 0
    functionsReached:
    - memprintf
    - HA_DIAG_WARNING_COND
    - strtol
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_thread_groups(char **args, int section_type, struct proxy
      *curpx,\n                                   const struct proxy *defpx, const
      char *file, int line,\n                                   char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/raw_sock.c:58,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/raw_sock.c:61,1
    - Dst: fd_recv_ready
      Src: /src/haproxy/src/raw_sock.c:63,1
    - Dst: unlikely
      Src: /src/haproxy/src/raw_sock.c:73,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/raw_sock.c:76,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/raw_sock.c:82,1
    - Dst: conn_set_errcode
      Src: /src/haproxy/src/raw_sock.c:84,1
    - Dst: splice
      Src: /src/haproxy/src/raw_sock.c:94,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/raw_sock.c:99,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/raw_sock.c:119,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/raw_sock.c:135,1
    - Dst: conn_set_errno
      Src: /src/haproxy/src/raw_sock.c:137,1
    - Dst: unlikely
      Src: /src/haproxy/src/raw_sock.c:154,1
    - Dst: increment_send_rate
      Src: /src/haproxy/src/raw_sock.c:159,1
    - Dst: conn_sock_read0
      Src: /src/haproxy/src/raw_sock.c:164,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 75
    argCount: 4
    argNames:
    - conn
    - xprt_ctx
    - pipe
    - count
    argTypes:
    - struct connection*
    - void*
    - struct pipe*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 167
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 167
    functionName: raw_sock_to_pipe
    functionSourceFile: /src/haproxy/src/raw_sock.c
    functionUses: 0
    functionsReached:
    - fd_recv_ready
    - conn_set_errno
    - splice
    - conn_ctrl_ready
    - conn_report_term_evt
    - conn_set_errcode
    - conn_sock_read0
    - unlikely
    - fd_cant_recv
    - BUG_ON
    - increment_send_rate
    linkageType: ''
    returnType: int
    signature: raw_sock_to_pipe(struct connection *conn, void *xprt_ctx, struct pipe
      *pipe, unsigned int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/raw_sock.c:175,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/raw_sock.c:178,1
    - Dst: fd_send_ready
      Src: /src/haproxy/src/raw_sock.c:180,1
    - Dst: conn_set_errno
      Src: /src/haproxy/src/raw_sock.c:187,1
    - Dst: unlikely
      Src: /src/haproxy/src/raw_sock.c:191,1
    - Dst: splice
      Src: /src/haproxy/src/raw_sock.c:196,1
    - Dst: fd_cant_send
      Src: /src/haproxy/src/raw_sock.c:201,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/raw_sock.c:208,1
    - Dst: conn_set_errno
      Src: /src/haproxy/src/raw_sock.c:210,1
    - Dst: unlikely
      Src: /src/haproxy/src/raw_sock.c:218,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 4
    argNames:
    - conn
    - xprt_ctx
    - pipe
    - count
    argTypes:
    - struct connection*
    - void*
    - struct pipe*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 223
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 223
    functionName: raw_sock_from_pipe
    functionSourceFile: /src/haproxy/src/raw_sock.c
    functionUses: 0
    functionsReached:
    - unlikely
    - splice
    - conn_ctrl_ready
    - fd_cant_send
    - conn_report_term_evt
    - fd_send_ready
    - conn_set_errno
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: raw_sock_from_pipe(struct connection *conn, void *xprt_ctx, struct
      pipe *pipe, unsigned int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/raw_sock.c:243,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/raw_sock.c:246,1
    - Dst: fd_recv_ready
      Src: /src/haproxy/src/raw_sock.c:248,1
    - Dst: unlikely
      Src: /src/haproxy/src/raw_sock.c:254,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/raw_sock.c:257,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/raw_sock.c:263,1
    - Dst: conn_set_errcode
      Src: /src/haproxy/src/raw_sock.c:265,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/raw_sock.c:276,1
    - Dst: recv
      Src: /src/haproxy/src/raw_sock.c:283,1
    - Dst: b_tail
      Src: /src/haproxy/src/raw_sock.c:283,1
    - Dst: b_add
      Src: /src/haproxy/src/raw_sock.c:286,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/raw_sock.c:290,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/raw_sock.c:302,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/raw_sock.c:317,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/raw_sock.c:322,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/raw_sock.c:326,1
    - Dst: conn_set_errno
      Src: /src/haproxy/src/raw_sock.c:328,1
    - Dst: unlikely
      Src: /src/haproxy/src/raw_sock.c:333,1
    - Dst: conn_sock_read0
      Src: /src/haproxy/src/raw_sock.c:340,1
    - Dst: unlikely
      Src: /src/haproxy/src/raw_sock.c:350,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/raw_sock.c:351,1
    - Dst: conn_set_errcode
      Src: /src/haproxy/src/raw_sock.c:353,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 79
    argCount: 5
    argNames:
    - conn
    - xprt_ctx
    - buf
    - count
    - flags
    argTypes:
    - struct connection*
    - void*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 356
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 356
    functionName: raw_sock_to_buf
    functionSourceFile: /src/haproxy/src/raw_sock.c
    functionUses: 0
    functionsReached:
    - fd_recv_ready
    - conn_set_errno
    - b_add
    - conn_ctrl_ready
    - conn_report_term_evt
    - conn_set_errcode
    - recv
    - b_tail
    - conn_sock_read0
    - b_contig_space
    - unlikely
    - fd_cant_recv
    - BUG_ON
    linkageType: ''
    returnType: size_t
    signature: raw_sock_to_buf(struct connection *conn, void *xprt_ctx, struct buffer
      *buf, size_t count, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/raw_sock.c:376,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/raw_sock.c:379,1
    - Dst: fd_send_ready
      Src: /src/haproxy/src/raw_sock.c:381,1
    - Dst: unlikely
      Src: /src/haproxy/src/raw_sock.c:384,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/raw_sock.c:386,1
    - Dst: conn_set_errcode
      Src: /src/haproxy/src/raw_sock.c:388,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/raw_sock.c:395,1
    - Dst: conn_set_errno
      Src: /src/haproxy/src/raw_sock.c:398,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/raw_sock.c:408,1
    - Dst: send
      Src: /src/haproxy/src/raw_sock.c:416,1
    - Dst: b_peek
      Src: /src/haproxy/src/raw_sock.c:416,1
    - Dst: fd_cant_send
      Src: /src/haproxy/src/raw_sock.c:424,1
    - Dst: fd_stop_send
      Src: /src/haproxy/src/raw_sock.c:428,1
    - Dst: fd_cant_send
      Src: /src/haproxy/src/raw_sock.c:432,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/raw_sock.c:436,1
    - Dst: conn_set_errno
      Src: /src/haproxy/src/raw_sock.c:438,1
    - Dst: unlikely
      Src: /src/haproxy/src/raw_sock.c:442,1
    - Dst: increment_send_rate
      Src: /src/haproxy/src/raw_sock.c:447,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 5
    argNames:
    - conn
    - xprt_ctx
    - buf
    - count
    - flags
    argTypes:
    - struct connection*
    - void*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 450
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 450
    functionName: raw_sock_from_buf
    functionSourceFile: /src/haproxy/src/raw_sock.c
    functionUses: 0
    functionsReached:
    - conn_set_errno
    - b_peek
    - send
    - conn_ctrl_ready
    - conn_report_term_evt
    - conn_set_errcode
    - fd_send_ready
    - b_contig_data
    - fd_cant_send
    - fd_stop_send
    - unlikely
    - BUG_ON
    - increment_send_rate
    linkageType: ''
    returnType: size_t
    signature: raw_sock_from_buf(struct connection *conn, void *xprt_ctx, const struct
      buffer *buf, size_t count, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_subscribe
      Src: /src/haproxy/src/raw_sock.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conn
    - xprt_ctx
    - event_type
    - es
    argTypes:
    - struct connection*
    - void*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 460
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 460
    functionName: raw_sock_subscribe
    functionSourceFile: /src/haproxy/src/raw_sock.c
    functionUses: 0
    functionsReached:
    - conn_subscribe
    linkageType: ''
    returnType: int
    signature: raw_sock_subscribe(struct connection *conn, void *xprt_ctx, int event_type,
      struct wait_event *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_unsubscribe
      Src: /src/haproxy/src/raw_sock.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conn
    - xprt_ctx
    - event_type
    - es
    argTypes:
    - struct connection*
    - void*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: raw_sock_unsubscribe
    functionSourceFile: /src/haproxy/src/raw_sock.c
    functionUses: 0
    functionsReached:
    - conn_unsubscribe
    linkageType: ''
    returnType: int
    signature: raw_sock_unsubscribe(struct connection *conn, void *xprt_ctx, int event_type,
      struct wait_event *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_unsubscribe
      Src: /src/haproxy/src/raw_sock.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - xprt_ctx
    argTypes:
    - struct connection*
    - void*
    constantsTouched: []
    func_position:
      end: 476
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 476
    functionName: raw_sock_close
    functionSourceFile: /src/haproxy/src/raw_sock.c
    functionUses: 0
    functionsReached:
    - conn_unsubscribe
    linkageType: ''
    returnType: void
    signature: raw_sock_close(struct connection *conn, void *xprt_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/raw_sock.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - conn
    - xprt_ctx
    - toremove_ctx
    - newops
    - newctx
    argTypes:
    - struct connection*
    - void*
    - void*
    - struct xprt_ops*
    - void*
    constantsTouched: []
    func_position:
      end: 486
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 486
    functionName: raw_sock_remove_xprt
    functionSourceFile: /src/haproxy/src/raw_sock.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: raw_sock_remove_xprt(struct connection *conn, void *xprt_ctx, void
      *toremove_ctx, const struct xprt_ops *newops, void *newctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xprt_register
      Src: /src/haproxy/src/raw_sock.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: __raw_sock_init
    functionSourceFile: /src/haproxy/src/raw_sock.c
    functionUses: 0
    functionsReached:
    - xprt_register
    linkageType: ''
    returnType: void
    signature: __raw_sock_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_act.c:49,1
    - Dst: conn_set_reverse
      Src: /src/haproxy/src/tcp_act.c:53,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/tcp_act.c:56,1
    - Dst: b_make
      Src: /src/haproxy/src/tcp_act.c:67,1
    - Dst: b_data
      Src: /src/haproxy/src/tcp_act.c:67,1
    - Dst: b_ncat
      Src: /src/haproxy/src/tcp_act.c:68,1
    - Dst: b_data
      Src: /src/haproxy/src/tcp_act.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 73
    functionName: tcp_action_attach_srv
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - b_make
    - objt_conn
    - b_ncat
    - sample_fetch_as_type
    - conn_set_reverse
    - b_data
    linkageType: ''
    returnType: enum act_return
    signature: "tcp_action_attach_srv(struct act_rule *rule, struct proxy *px,\n                                             struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/tcp_act.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - value
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int*
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: extract_int_from_rule
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - sample_fetch_as_type
    linkageType: ''
    returnType: int
    signature: "extract_int_from_rule(struct act_rule *rule,\n                                 struct
      proxy *px, struct session *sess, struct stream *s,\n                                 int
      *value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_act.c:112,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/tcp_act.c:113,1
    - Dst: sess_get_src
      Src: /src/haproxy/src/tcp_act.c:119,1
    - Dst: sc_get_src
      Src: /src/haproxy/src/tcp_act.c:126,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/tcp_act.c:135,1
    - Dst: memcpy
      Src: /src/haproxy/src/tcp_act.c:145,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 152
    functionName: tcp_action_req_set_src
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - objt_conn
    - conn_get_src
    - sc_get_src
    - sample_fetch_as_type
    - sess_get_src
    - memcpy
    linkageType: ''
    returnType: enum act_return
    signature: "tcp_action_req_set_src(struct act_rule *rule, struct proxy *px,\n
      \                                             struct session *sess, struct stream
      *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_act.c:168,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/tcp_act.c:169,1
    - Dst: sess_get_dst
      Src: /src/haproxy/src/tcp_act.c:175,1
    - Dst: sc_get_dst
      Src: /src/haproxy/src/tcp_act.c:182,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/tcp_act.c:191,1
    - Dst: memcpy
      Src: /src/haproxy/src/tcp_act.c:201,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 208
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 208
    functionName: tcp_action_req_set_dst
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - sc_get_dst
    - sess_get_dst
    - objt_conn
    - sample_fetch_as_type
    - memcpy
    - conn_get_dst
    linkageType: ''
    returnType: enum act_return
    signature: "tcp_action_req_set_dst(struct act_rule *rule, struct proxy *px,\n
      \                                             struct session *sess, struct stream
      *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_act.c:225,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/tcp_act.c:226,1
    - Dst: sess_get_src
      Src: /src/haproxy/src/tcp_act.c:232,1
    - Dst: sc_get_src
      Src: /src/haproxy/src/tcp_act.c:239,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/tcp_act.c:248,1
    - Dst: htons
      Src: /src/haproxy/src/tcp_act.c:251,1
    - Dst: htons
      Src: /src/haproxy/src/tcp_act.c:257,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 263
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 263
    functionName: tcp_action_req_set_src_port
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - objt_conn
    - conn_get_src
    - sc_get_src
    - sample_fetch_as_type
    - sess_get_src
    - htons
    linkageType: ''
    returnType: enum act_return
    signature: "tcp_action_req_set_src_port(struct act_rule *rule, struct proxy *px,\n
      \                                                  struct session *sess, struct
      stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_act.c:280,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/tcp_act.c:281,1
    - Dst: sess_get_dst
      Src: /src/haproxy/src/tcp_act.c:287,1
    - Dst: sc_get_dst
      Src: /src/haproxy/src/tcp_act.c:294,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/tcp_act.c:303,1
    - Dst: htons
      Src: /src/haproxy/src/tcp_act.c:306,1
    - Dst: htons
      Src: /src/haproxy/src/tcp_act.c:312,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 318
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 318
    functionName: tcp_action_req_set_dst_port
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - sc_get_dst
    - sess_get_dst
    - objt_conn
    - sample_fetch_as_type
    - htons
    - conn_get_dst
    linkageType: ''
    returnType: enum act_return
    signature: "tcp_action_req_set_dst_port(struct act_rule *rule, struct proxy *px,\n
      \                                                  struct session *sess, struct
      stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_act.c:329,1
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/tcp_act.c:343,1
    - Dst: conn_ctrl_drain
      Src: /src/haproxy/src/tcp_act.c:348,1
    - Dst: setsockopt
      Src: /src/haproxy/src/tcp_act.c:353,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/tcp_act.c:368,1
    - Dst: setsockopt
      Src: /src/haproxy/src/tcp_act.c:374,1
    - Dst: setsockopt
      Src: /src/haproxy/src/tcp_act.c:387,1
    - Dst: setsockopt
      Src: /src/haproxy/src/tcp_act.c:391,1
    - Dst: stream_abort
      Src: /src/haproxy/src/tcp_act.c:396,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_act.c:400,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_act.c:407,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_act.c:409,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - strm
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 412
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 412
    functionName: tcp_exec_action_silent_drop
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - conn_ctrl_drain
    - setsockopt
    - _HA_ATOMIC_INC
    - stream_abort
    - objt_conn
    - conn_ctrl_ready
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: enum act_return
    signature: "tcp_exec_action_silent_drop(struct act_rule *rule, struct proxy *px,\n
      \                                                  struct session *sess, struct
      stream *strm, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extract_int_from_rule
      Src: /src/haproxy/src/tcp_act.c:421,1
    - Dst: conn_set_mark
      Src: /src/haproxy/src/tcp_act.c:422,1
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_act.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 424
      start: 416
    functionDepth: 4
    functionLinenumber: 416
    functionLinenumberEnd: 424
    functionName: tcp_action_set_fc_mark
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - conn_set_mark
    - extract_int_from_rule
    - objt_conn
    linkageType: ''
    returnType: enum act_return
    signature: "tcp_action_set_fc_mark(struct act_rule *rule, struct proxy *px,\n
      \                                             struct session *sess, struct stream
      *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/tcp_act.c:428,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/tcp_act.c:431,1
    - Dst: extract_int_from_rule
      Src: /src/haproxy/src/tcp_act.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 440
      start: 425
    functionDepth: 4
    functionLinenumber: 425
    functionLinenumberEnd: 440
    functionName: tcp_action_set_bc_mark
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - extract_int_from_rule
    - sc_conn
    linkageType: ''
    returnType: enum act_return
    signature: "tcp_action_set_bc_mark(struct act_rule *rule, struct proxy *px,\n
      \                                             struct session *sess, struct stream
      *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extract_int_from_rule
      Src: /src/haproxy/src/tcp_act.c:449,1
    - Dst: conn_set_tos
      Src: /src/haproxy/src/tcp_act.c:450,1
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_act.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 452
      start: 444
    functionDepth: 4
    functionLinenumber: 444
    functionLinenumberEnd: 452
    functionName: tcp_action_set_fc_tos
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - conn_set_tos
    - extract_int_from_rule
    - objt_conn
    linkageType: ''
    returnType: enum act_return
    signature: "tcp_action_set_fc_tos(struct act_rule *rule, struct proxy *px,\n                                             struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/tcp_act.c:456,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/tcp_act.c:459,1
    - Dst: extract_int_from_rule
      Src: /src/haproxy/src/tcp_act.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 468
      start: 453
    functionDepth: 4
    functionLinenumber: 453
    functionLinenumberEnd: 468
    functionName: tcp_action_set_bc_tos
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - extract_int_from_rule
    - sc_conn
    linkageType: ''
    returnType: enum act_return
    signature: "tcp_action_set_bc_tos(struct act_rule *rule, struct proxy *px,\n                                             struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/tcp_act.c:476,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcp_act.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 5
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: release_attach_srv_action
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - release_sample_expr
    - ha_free
    linkageType: ''
    returnType: void
    signature: release_attach_srv_action(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcp_act.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 486
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 486
    functionName: release_set_src_dst_action
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - release_sample_expr
    linkageType: ''
    returnType: void
    signature: release_set_src_dst_action(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:496,1
    - Dst: ist
      Src: /src/haproxy/src/tcp_act.c:500,1
    - Dst: istsplit
      Src: /src/haproxy/src/tcp_act.c:501,1
    - Dst: istlen
      Src: /src/haproxy/src/tcp_act.c:502,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:503,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/tcp_act.c:507,1
    - Dst: ist0
      Src: /src/haproxy/src/tcp_act.c:507,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:508,1
    - Dst: ist0
      Src: /src/haproxy/src/tcp_act.c:508,1
    - Dst: ist0
      Src: /src/haproxy/src/tcp_act.c:508,1
    - Dst: server_find_by_name
      Src: /src/haproxy/src/tcp_act.c:511,1
    - Dst: ist0
      Src: /src/haproxy/src/tcp_act.c:511,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:512,1
    - Dst: ist0
      Src: /src/haproxy/src/tcp_act.c:512,1
    - Dst: ist0
      Src: /src/haproxy/src/tcp_act.c:512,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:518,1
    - Dst: ist0
      Src: /src/haproxy/src/tcp_act.c:518,1
    - Dst: ist0
      Src: /src/haproxy/src/tcp_act.c:518,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:523,1
    - Dst: ist0
      Src: /src/haproxy/src/tcp_act.c:523,1
    - Dst: ist0
      Src: /src/haproxy/src/tcp_act.c:523,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - rule
    - px
    - err
    argTypes:
    - struct act_rule*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 531
      start: 488
    functionDepth: 5
    functionLinenumber: 488
    functionLinenumberEnd: 531
    functionName: tcp_check_attach_srv
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - istsplit
    - proxy_be_by_name
    - istlen
    - ist
    - server_find_by_name
    - ist0
    linkageType: ''
    returnType: int
    signature: tcp_check_attach_srv(struct act_rule *rule, struct proxy *px, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:541,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/tcp_act.c:545,1
    - Dst: my_strndup
      Src: /src/haproxy/src/tcp_act.c:554,1
    - Dst: strlen
      Src: /src/haproxy/src/tcp_act.c:554,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_act.c:561,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:563,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/tcp_act.c:568,1
    - Dst: ha_free
      Src: /src/haproxy/src/tcp_act.c:580,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcp_act.c:581,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 583
      start: 533
    functionDepth: 7
    functionLinenumber: 533
    functionLinenumberEnd: 583
    functionName: tcp_parse_attach_srv
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_free
    - strlen
    - strcmp
    - sample_parse_expr
    - mark_tainted
    - release_sample_expr
    - my_strndup
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "tcp_parse_attach_srv(const char **args, int *cur_arg, struct proxy
      *px,\n                                               struct act_rule *rule,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/tcp_act.c:594,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:605,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/tcp_act.c:607,1
    - Dst: free
      Src: /src/haproxy/src/tcp_act.c:608,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_act.c:614,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_act.c:616,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_act.c:618,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_act.c:620,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 630
      start: 586
    functionDepth: 7
    functionLinenumber: 586
    functionLinenumberEnd: 630
    functionName: tcp_parse_set_src_dst
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - sample_parse_expr
    - free
    - sample_src_names
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "tcp_parse_set_src_dst(const char **args, int *orig_arg, struct proxy
      *px,\n                                                struct act_rule *rule,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:646,1
    - Dst: strtoul
      Src: /src/haproxy/src/tcp_act.c:652,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/tcp_act.c:659,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:670,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/tcp_act.c:672,1
    - Dst: free
      Src: /src/haproxy/src/tcp_act.c:673,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_act.c:680,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:689,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 692
      start: 636
    functionDepth: 7
    functionLinenumber: 636
    functionLinenumberEnd: 692
    functionName: tcp_parse_set_mark
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - sample_parse_expr
    - free
    - sample_src_names
    - strtoul
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "tcp_parse_set_mark(const char **args, int *orig_arg, struct proxy
      *px,\n                                             struct act_rule *rule, char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:708,1
    - Dst: strtol
      Src: /src/haproxy/src/tcp_act.c:714,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/tcp_act.c:721,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:732,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/tcp_act.c:734,1
    - Dst: free
      Src: /src/haproxy/src/tcp_act.c:735,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_act.c:742,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:750,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 753
      start: 698
    functionDepth: 7
    functionLinenumber: 698
    functionLinenumberEnd: 753
    functionName: tcp_parse_set_tos
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - sample_parse_expr
    - free
    - strtol
    - sample_src_names
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "tcp_parse_set_tos(const char **args, int *orig_arg, struct proxy *px,\n
      \                                           struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_act.c:768,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:770,1
    - Dst: strtoul
      Src: /src/haproxy/src/tcp_act.c:774,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:777,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_act.c:782,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 791
      start: 759
    functionDepth: 5
    functionLinenumber: 759
    functionLinenumberEnd: 791
    functionName: tcp_parse_silent_drop
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - strtoul
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "tcp_parse_silent_drop(const char **args, int *cur_arg, struct proxy
      *px,\n                                                struct act_rule *rule,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_orig_register
      Src: /src/haproxy/src/tcp_act.c:800,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/tcp_act.c:801,1
    - Dst: log_orig_register
      Src: /src/haproxy/src/tcp_act.c:802,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/tcp_act.c:803,1
    - Dst: log_orig_register
      Src: /src/haproxy/src/tcp_act.c:804,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/tcp_act.c:805,1
    - Dst: log_orig_register
      Src: /src/haproxy/src/tcp_act.c:806,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/tcp_act.c:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 808
      start: 798
    functionDepth: 4
    functionLinenumber: 798
    functionLinenumberEnd: 808
    functionName: init_do_log
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - log_orig_register
    linkageType: ''
    returnType: void
    signature: init_do_log(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_log_parse_act
      Src: /src/haproxy/src/tcp_act.c:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: tcp_req_conn_parse_do_log
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - do_log_parse_act
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "tcp_req_conn_parse_do_log(const char **args, int *orig_arg, struct
      proxy *px,\n                                                    struct act_rule
      *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_log_parse_act
      Src: /src/haproxy/src/tcp_act.c:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 822
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 822
    functionName: tcp_req_sess_parse_do_log
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - do_log_parse_act
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "tcp_req_sess_parse_do_log(const char **args, int *orig_arg, struct
      proxy *px,\n                                                    struct act_rule
      *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_log_parse_act
      Src: /src/haproxy/src/tcp_act.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 828
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 828
    functionName: tcp_req_cont_parse_do_log
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - do_log_parse_act
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "tcp_req_cont_parse_do_log(const char **args, int *orig_arg, struct
      proxy *px,\n                                                    struct act_rule
      *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_log_parse_act
      Src: /src/haproxy/src/tcp_act.c:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 834
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 834
    functionName: tcp_res_cont_parse_do_log
    functionSourceFile: /src/haproxy/src/tcp_act.c
    functionUses: 0
    functionsReached:
    - do_log_parse_act
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "tcp_res_cont_parse_do_log(const char **args, int *orig_arg, struct
      proxy *px,\n                                                    struct act_rule
      *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hap_fd_clr
      Src: /src/haproxy/src/ev_select.c:35,1
    - Dst: hap_fd_clr
      Src: /src/haproxy/src/ev_select.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: __fd_clo
    functionSourceFile: /src/haproxy/src/ev_select.c
    functionUses: 0
    functionsReached:
    - hap_fd_clr
    linkageType: ''
    returnType: void
    signature: __fd_clo(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ev_select.c:45,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ev_select.c:46,1
    - Dst: hap_fd_clr
      Src: /src/haproxy/src/ev_select.c:58,1
    - Dst: hap_fd_clr
      Src: /src/haproxy/src/ev_select.c:59,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_select.c:60,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_select.c:61,1
    - Dst: hap_fd_clr
      Src: /src/haproxy/src/ev_select.c:66,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_select.c:68,1
    - Dst: hap_fd_set
      Src: /src/haproxy/src/ev_select.c:70,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_select.c:72,1
    - Dst: hap_fd_clr
      Src: /src/haproxy/src/ev_select.c:76,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_select.c:78,1
    - Dst: hap_fd_set
      Src: /src/haproxy/src/ev_select.c:80,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_select.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - fd
    - max_add_fd
    argTypes:
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 88
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 88
    functionName: _update_fd
    functionSourceFile: /src/haproxy/src/ev_select.c
    functionUses: 3
    functionsReached:
    - hap_fd_set
    - _HA_ATOMIC_OR
    - hap_fd_clr
    - _HA_ATOMIC_AND
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: void
    signature: _update_fd(int fd, int *max_add_fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_select.c:112,1
    - Dst: _update_fd
      Src: /src/haproxy/src/ev_select.c:117,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_select.c:134,1
    - Dst: done_update_polling
      Src: /src/haproxy/src/ev_select.c:135,1
    - Dst: _update_fd
      Src: /src/haproxy/src/ev_select.c:140,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/ev_select.c:146,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/ev_select.c:162,1
    - Dst: thread_idle_now
      Src: /src/haproxy/src/ev_select.c:164,1
    - Dst: thread_harmless_now
      Src: /src/haproxy/src/ev_select.c:165,1
    - Dst: compute_poll_timeout
      Src: /src/haproxy/src/ev_select.c:177,1
    - Dst: clock_entering_poll
      Src: /src/haproxy/src/ev_select.c:180,1
    - Dst: select
      Src: /src/haproxy/src/ev_select.c:181,1
    - Dst: clock_update_date
      Src: /src/haproxy/src/ev_select.c:186,1
    - Dst: fd_leaving_poll
      Src: /src/haproxy/src/ev_select.c:187,1
    - Dst: FD_ISSET
      Src: /src/haproxy/src/ev_select.c:201,1
    - Dst: FD_ISSET
      Src: /src/haproxy/src/ev_select.c:204,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/ev_select.c:211,1
    - Dst: fd_update_events
      Src: /src/haproxy/src/ev_select.c:214,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 74
    argCount: 3
    argNames:
    - p
    - exp
    - wake
    argTypes:
    - struct poller*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 217
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 217
    functionName: _do_poll
    functionSourceFile: /src/haproxy/src/ev_select.c
    functionUses: 0
    functionsReached:
    - thread_harmless_now
    - select
    - clock_update_date
    - _HA_ATOMIC_AND
    - _HA_ATOMIC_CAS
    - fd_leaving_poll
    - FD_ISSET
    - _HA_ATOMIC_INC
    - fd_update_events
    - _update_fd
    - clock_entering_poll
    - thread_idle_now
    - done_update_polling
    - compute_poll_timeout
    linkageType: ''
    returnType: void
    signature: _do_poll(struct poller *p, int exp, int wake)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ev_select.c:224,1
    - Dst: vma_set_name_id
      Src: /src/haproxy/src/ev_select.c:227,1
    - Dst: calloc
      Src: /src/haproxy/src/ev_select.c:228,1
    - Dst: vma_set_name_id
      Src: /src/haproxy/src/ev_select.c:231,1
    - Dst: free
      Src: /src/haproxy/src/ev_select.c:234,1
    - Dst: free
      Src: /src/haproxy/src/ev_select.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 237
    functionName: init_select_per_thread
    functionSourceFile: /src/haproxy/src/ev_select.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - vma_set_name_id
    linkageType: ''
    returnType: int
    signature: init_select_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/ev_select.c:241,1
    - Dst: ha_free
      Src: /src/haproxy/src/ev_select.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: deinit_select_per_thread
    functionSourceFile: /src/haproxy/src/ev_select.c
    functionUses: 0
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: void
    signature: deinit_select_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ev_select.c:267,1
    - Dst: vma_set_name
      Src: /src/haproxy/src/ev_select.c:269,1
    - Dst: calloc
      Src: /src/haproxy/src/ev_select.c:270,1
    - Dst: vma_set_name
      Src: /src/haproxy/src/ev_select.c:272,1
    - Dst: hap_register_per_thread_init
      Src: /src/haproxy/src/ev_select.c:274,1
    - Dst: hap_register_per_thread_deinit
      Src: /src/haproxy/src/ev_select.c:275,1
    - Dst: free
      Src: /src/haproxy/src/ev_select.c:280,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 284
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 284
    functionName: _do_init
    functionSourceFile: /src/haproxy/src/ev_select.c
    functionUses: 0
    functionsReached:
    - vma_set_name
    - hap_register_per_thread_init
    - calloc
    - free
    - hap_register_per_thread_deinit
    linkageType: ''
    returnType: int
    signature: _do_init(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/ev_select.c:292,1
    - Dst: free
      Src: /src/haproxy/src/ev_select.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: _do_term
    functionSourceFile: /src/haproxy/src/ev_select.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: _do_term(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 308
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 308
    functionName: _do_test
    functionSourceFile: /src/haproxy/src/ev_select.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: _do_test(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 331
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 331
    functionName: _do_register
    functionSourceFile: /src/haproxy/src/ev_select.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _do_register(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protocol_lookup
      Src: /src/haproxy/src/dns.c:60,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns.c:61,1
    - Dst: socket
      Src: /src/haproxy/src/dns.c:62,1
    - Dst: send_log
      Src: /src/haproxy/src/dns.c:63,1
    - Dst: connect
      Src: /src/haproxy/src/dns.c:68,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/dns.c:68,1
    - Dst: send_log
      Src: /src/haproxy/src/dns.c:69,1
    - Dst: close
      Src: /src/haproxy/src/dns.c:72,1
    - Dst: fd_set_nonblock
      Src: /src/haproxy/src/dns.c:77,1
    - Dst: fd_insert
      Src: /src/haproxy/src/dns.c:81,1
    - Dst: fd_want_recv
      Src: /src/haproxy/src/dns.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - ns
    argTypes:
    - struct dns_nameserver*
    constantsTouched: []
    func_position:
      end: 84
      start: 49
    functionDepth: 10
    functionLinenumber: 49
    functionLinenumberEnd: 84
    functionName: dns_connect_nameserver
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - send_log
    - protocol_lookup
    - fd_set_nonblock
    - fd_insert
    - fd_want_recv
    - connect
    - socket
    - BUG_ON
    - close
    - get_addr_len
    linkageType: ''
    returnType: int
    signature: dns_connect_nameserver(struct dns_nameserver *ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/dns.c:99,1
    - Dst: dns_connect_nameserver
      Src: /src/haproxy/src/dns.c:102,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:103,1
    - Dst: send
      Src: /src/haproxy/src/dns.c:109,1
    - Dst: ist2
      Src: /src/haproxy/src/dns.c:114,1
    - Dst: dns_ring_write
      Src: /src/haproxy/src/dns.c:115,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:118,1
    - Dst: fd_cant_send
      Src: /src/haproxy/src/dns.c:121,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:122,1
    - Dst: fd_delete
      Src: /src/haproxy/src/dns.c:126,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:128,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:132,1
    - Dst: ist2
      Src: /src/haproxy/src/dns.c:137,1
    - Dst: dns_ring_write
      Src: /src/haproxy/src/dns.c:138,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/dns.c:143,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 3
    argNames:
    - ns
    - buf
    - len
    argTypes:
    - struct dns_nameserver*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 148
      start: 91
    functionDepth: 11
    functionLinenumber: 91
    functionLinenumberEnd: 148
    functionName: dns_send_nameserver
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - dns_connect_nameserver
    - fd_delete
    - ist2
    - task_wakeup
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - fd_cant_send
    - dns_ring_write
    - send
    linkageType: ''
    returnType: int
    signature: dns_send_nameserver(struct dns_nameserver *ns, void *buf, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/dns.c:165,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:168,1
    - Dst: recv
      Src: /src/haproxy/src/dns.c:172,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/dns.c:174,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:175,1
    - Dst: fd_delete
      Src: /src/haproxy/src/dns.c:178,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:180,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:183,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/dns.c:189,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/dns.c:191,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/dns.c:192,1
    - Dst: memcpy
      Src: /src/haproxy/src/dns.c:194,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/dns.c:202,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/dns.c:204,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/dns.c:211,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/dns.c:216,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/dns.c:220,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/dns.c:232,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/dns.c:238,1
    - Dst: dns_session_free
      Src: /src/haproxy/src/dns.c:252,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:258,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 3
    argNames:
    - ns
    - data
    - size
    argTypes:
    - struct dns_nameserver*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 262
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 262
    functionName: dns_recv_nameserver
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    - dns_session_free
    - LIST_NEXT
    - fd_delete
    - LIST_ISEMPTY
    - __ha_barrier_store
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - recv
    - LIST_DEL_INIT
    - LIST_INSERT
    - fd_cant_recv
    - memcpy
    linkageType: ''
    returnType: ssize_t
    signature: dns_recv_nameserver(struct dns_nameserver *ns, void *data, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/dns.c:269,1
    - Dst: fd_recv_ready
      Src: /src/haproxy/src/dns.c:274,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:275,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/dns.c:281,1
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/dns.c:282,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:283,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:287,1
    - Dst: struct dns_nameserver*::process_responses
      Src: /src/haproxy/src/dns.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dgram
    argTypes:
    - struct dgram_conn*
    constantsTouched: []
    func_position:
      end: 290
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 290
    functionName: dns_resolve_recv
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - fd_recv_ready
    - fd_stop_recv
    - _HA_ATOMIC_AND
    - HA_SPIN_UNLOCK
    - struct dns_nameserver*::process_responses
    - HA_SPIN_LOCK
    linkageType: ''
    returnType: void
    signature: dns_resolve_recv(struct dgram_conn *dgram)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/dns.c:302,1
    - Dst: fd_send_ready
      Src: /src/haproxy/src/dns.c:307,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:308,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/dns.c:314,1
    - Dst: fd_stop_send
      Src: /src/haproxy/src/dns.c:315,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:316,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/dns.c:323,1
    - Dst: unlikely
      Src: /src/haproxy/src/dns.c:333,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/dns.c:334,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/dns.c:335,1
    - Dst: b_orig
      Src: /src/haproxy/src/dns.c:335,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/dns.c:341,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/dns.c:342,1
    - Dst: b_size
      Src: /src/haproxy/src/dns.c:343,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns.c:344,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/dns.c:345,1
    - Dst: b_peek
      Src: /src/haproxy/src/dns.c:345,1
    - Dst: b_data
      Src: /src/haproxy/src/dns.c:347,1
    - Dst: b_peek_varint
      Src: /src/haproxy/src/dns.c:351,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns.c:355,1
    - Dst: b_data
      Src: /src/haproxy/src/dns.c:355,1
    - Dst: unlikely
      Src: /src/haproxy/src/dns.c:356,1
    - Dst: b_getblk
      Src: /src/haproxy/src/dns.c:362,1
    - Dst: send
      Src: /src/haproxy/src/dns.c:364,1
    - Dst: fd_cant_send
      Src: /src/haproxy/src/dns.c:367,1
    - Dst: fd_delete
      Src: /src/haproxy/src/dns.c:371,1
    - Dst: fd_stop_send
      Src: /src/haproxy/src/dns.c:382,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/dns.c:385,1
    - Dst: b_peek
      Src: /src/haproxy/src/dns.c:385,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/dns.c:386,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/dns.c:387,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:388,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 1
    argNames:
    - dgram
    argTypes:
    - struct dgram_conn*
    constantsTouched: []
    func_position:
      end: 389
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 389
    functionName: dns_resolve_send
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    - fd_cant_send
    - BUG_ON
    - b_orig
    - b_peek_ofs
    - b_peek
    - HA_ATOMIC_DEC
    - b_size
    - send
    - fd_delete
    - HA_SPIN_UNLOCK
    - HA_RWLOCK_RDLOCK
    - HA_SPIN_LOCK
    - b_peek_varint
    - fd_send_ready
    - b_data
    - _HA_ATOMIC_AND
    - fd_stop_send
    - b_head_ofs
    - unlikely
    - HA_RWLOCK_RDUNLOCK
    - b_getblk
    linkageType: ''
    returnType: void
    signature: dns_resolve_send(struct dgram_conn *dgram)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/dns.c:401,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/dns.c:410,1
    - Dst: dns_ring_new
      Src: /src/haproxy/src/dns.c:414,1
    - Dst: ha_alert
      Src: /src/haproxy/src/dns.c:416,1
    - Dst: dns_ring_attach
      Src: /src/haproxy/src/dns.c:421,1
    - Dst: ha_alert
      Src: /src/haproxy/src/dns.c:423,1
    - Dst: dns_ring_free
      Src: /src/haproxy/src/dns.c:428,1
    - Dst: free
      Src: /src/haproxy/src/dns.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - ns
    - sk
    argTypes:
    - struct dns_nameserver*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 433
      start: 397
    functionDepth: 4
    functionLinenumber: 397
    functionLinenumberEnd: 433
    functionName: dns_dgram_init
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - dns_ring_attach
    - dns_ring_free
    - calloc
    - HA_SPIN_INIT
    - free
    - dns_ring_new
    linkageType: ''
    returnType: int
    signature: dns_dgram_init(struct dns_nameserver *ns, struct sockaddr_storage *sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/src/dns.c:441,1
    - Dst: unlikely
      Src: /src/haproxy/src/dns.c:450,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/dns.c:450,1
    - Dst: co_skip
      Src: /src/haproxy/src/dns.c:451,1
    - Dst: sc_oc
      Src: /src/haproxy/src/dns.c:451,1
    - Dst: co_data
      Src: /src/haproxy/src/dns.c:451,1
    - Dst: sc_oc
      Src: /src/haproxy/src/dns.c:451,1
    - Dst: unlikely
      Src: /src/haproxy/src/dns.c:456,1
    - Dst: __ha_barrier_load
      Src: /src/haproxy/src/dns.c:460,1
    - Dst: sc_opposite
      Src: /src/haproxy/src/dns.c:470,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/dns.c:471,1
    - Dst: se_need_remote_conn
      Src: /src/haproxy/src/dns.c:472,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/dns.c:473,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/dns.c:477,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/dns.c:478,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/dns.c:479,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/dns.c:481,1
    - Dst: unlikely
      Src: /src/haproxy/src/dns.c:491,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/dns.c:492,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/dns.c:493,1
    - Dst: b_orig
      Src: /src/haproxy/src/dns.c:493,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/dns.c:499,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/dns.c:500,1
    - Dst: b_size
      Src: /src/haproxy/src/dns.c:501,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns.c:503,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/dns.c:504,1
    - Dst: b_peek
      Src: /src/haproxy/src/dns.c:504,1
    - Dst: b_data
      Src: /src/haproxy/src/dns.c:511,1
    - Dst: b_peek_varint
      Src: /src/haproxy/src/dns.c:517,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns.c:521,1
    - Dst: b_data
      Src: /src/haproxy/src/dns.c:521,1
    - Dst: channel_recv_max
      Src: /src/haproxy/src/dns.c:524,1
    - Dst: sc_ic
      Src: /src/haproxy/src/dns.c:524,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/dns.c:532,1
    - Dst: htons
      Src: /src/haproxy/src/dns.c:539,1
    - Dst: applet_putblk
      Src: /src/haproxy/src/dns.c:540,1
    - Dst: b_getblk
      Src: /src/haproxy/src/dns.c:544,1
    - Dst: htons
      Src: /src/haproxy/src/dns.c:555,1
    - Dst: applet_putblk
      Src: /src/haproxy/src/dns.c:558,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/dns.c:563,1
    - Dst: tick_add
      Src: /src/haproxy/src/dns.c:567,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/dns.c:568,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/dns.c:569,1
    - Dst: task_queue
      Src: /src/haproxy/src/dns.c:576,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/dns.c:578,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/dns.c:579,1
    - Dst: unlikely
      Src: /src/haproxy/src/dns.c:589,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/dns.c:590,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/dns.c:595,1
    - Dst: b_getblk
      Src: /src/haproxy/src/dns.c:599,1
    - Dst: b_getblk
      Src: /src/haproxy/src/dns.c:606,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/dns.c:613,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/dns.c:624,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/dns.c:632,1
    - Dst: b_peek
      Src: /src/haproxy/src/dns.c:632,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/dns.c:633,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/dns.c:635,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/dns.c:639,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns.c:640,1
    - Dst: MT_LIST_INLIST
      Src: /src/haproxy/src/dns.c:640,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/dns.c:641,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/dns.c:642,1
    - Dst: applet_have_no_more_data
      Src: /src/haproxy/src/dns.c:643,1
    - Dst: __ha_barrier_load
      Src: /src/haproxy/src/dns.c:651,1
    - Dst: LIST_INLIST_ATOMIC
      Src: /src/haproxy/src/dns.c:652,1
    - Dst: co_getblk
      Src: /src/haproxy/src/dns.c:660,1
    - Dst: sc_oc
      Src: /src/haproxy/src/dns.c:660,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/dns.c:664,1
    - Dst: co_skip
      Src: /src/haproxy/src/dns.c:669,1
    - Dst: sc_oc
      Src: /src/haproxy/src/dns.c:669,1
    - Dst: ntohs
      Src: /src/haproxy/src/dns.c:672,1
    - Dst: co_data
      Src: /src/haproxy/src/dns.c:677,1
    - Dst: sc_oc
      Src: /src/haproxy/src/dns.c:677,1
    - Dst: co_getblk
      Src: /src/haproxy/src/dns.c:681,1
    - Dst: sc_oc
      Src: /src/haproxy/src/dns.c:681,1
    - Dst: co_data
      Src: /src/haproxy/src/dns.c:681,1
    - Dst: sc_oc
      Src: /src/haproxy/src/dns.c:681,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/dns.c:685,1
    - Dst: co_data
      Src: /src/haproxy/src/dns.c:690,1
    - Dst: sc_oc
      Src: /src/haproxy/src/dns.c:690,1
    - Dst: co_skip
      Src: /src/haproxy/src/dns.c:693,1
    - Dst: sc_oc
      Src: /src/haproxy/src/dns.c:693,1
    - Dst: co_data
      Src: /src/haproxy/src/dns.c:693,1
    - Dst: sc_oc
      Src: /src/haproxy/src/dns.c:693,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/dns.c:696,1
    - Dst: co_getblk
      Src: /src/haproxy/src/dns.c:703,1
    - Dst: sc_oc
      Src: /src/haproxy/src/dns.c:703,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/dns.c:707,1
    - Dst: co_skip
      Src: /src/haproxy/src/dns.c:712,1
    - Dst: sc_oc
      Src: /src/haproxy/src/dns.c:712,1
    - Dst: memcpy
      Src: /src/haproxy/src/dns.c:718,1
    - Dst: eb32_lookup
      Src: /src/haproxy/src/dns.c:719,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/dns.c:730,1
    - Dst: memcpy
      Src: /src/haproxy/src/dns.c:731,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/dns.c:734,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/dns.c:735,1
    - Dst: pool_free
      Src: /src/haproxy/src/dns.c:736,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/dns.c:743,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns.c:745,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/dns.c:745,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/dns.c:746,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:748,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/dns.c:751,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/dns.c:761,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/dns.c:765,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 186
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 767
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 767
    functionName: dns_session_io_handler
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - HA_ATOMIC_INC
    - LIST_DELETE
    - pool_alloc
    - applet_putchk
    - co_skip
    - applet_need_more_data
    - MT_LIST_APPEND
    - applet_have_more_data
    - sc_oc
    - b_orig
    - BUG_ON
    - b_peek_ofs
    - channel_recv_max
    - sc_need_room
    - se_fl_test
    - LIST_ISEMPTY
    - co_data
    - __ha_barrier_load
    - b_peek
    - eb32_insert
    - MT_LIST_DELETE
    - eb32_lookup
    - task_queue
    - task_wakeup
    - HA_ATOMIC_DEC
    - b_size
    - LIST_INLIST
    - co_getblk
    - eb32_delete
    - MT_LIST_INLIST
    - HA_SPIN_UNLOCK
    - se_need_remote_conn
    - HA_RWLOCK_RDLOCK
    - b_peek_varint
    - HA_RWLOCK_WRUNLOCK
    - pool_free
    - LIST_INIT
    - HA_SPIN_LOCK
    - b_data
    - eb32_entry
    - memcpy
    - htons
    - LIST_INLIST_ATOMIC
    - appctx_sc
    - applet_have_no_more_data
    - sc_opposite
    - sc_ic
    - applet_putblk
    - tick_add
    - LIST_APPEND
    - se_fl_set
    - ntohs
    - b_head_ofs
    - HA_RWLOCK_WRLOCK
    - unlikely
    - HA_RWLOCK_RDUNLOCK
    - b_getblk
    linkageType: ''
    returnType: void
    signature: dns_session_io_handler(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/dns.c:773,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/dns.c:774,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/dns.c:775,1
    - Dst: pool_free
      Src: /src/haproxy/src/dns.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ds
    argTypes:
    - struct dns_session*
    constantsTouched: []
    func_position:
      end: 778
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 778
    functionName: dns_queries_flush
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - LIST_DELETE
    - eb32_delete
    - list_for_each_entry_safe
    - pool_free
    linkageType: ''
    returnType: void
    signature: dns_queries_flush(struct dns_session *ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free
      Src: /src/haproxy/src/dns.c:782,1
    - Dst: pool_free
      Src: /src/haproxy/src/dns.c:783,1
    - Dst: task_destroy
      Src: /src/haproxy/src/dns.c:784,1
    - Dst: dns_queries_flush
      Src: /src/haproxy/src/dns.c:786,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/dns.c:792,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/dns.c:793,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns.c:801,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/dns.c:801,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns.c:802,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/dns.c:802,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns.c:803,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/dns.c:803,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns.c:804,1
    - Dst: MT_LIST_ISEMPTY
      Src: /src/haproxy/src/dns.c:804,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns.c:805,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/dns.c:805,1
    - Dst: pool_free
      Src: /src/haproxy/src/dns.c:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ds
    argTypes:
    - struct dns_session*
    constantsTouched: []
    func_position:
      end: 807
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 807
    functionName: dns_session_free
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 1
    functionsReached:
    - MT_LIST_ISEMPTY
    - LIST_ISEMPTY
    - eb_is_empty
    - pool_free
    - dns_queries_flush
    - LIST_DEL_INIT
    - task_destroy
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: dns_session_free(struct dns_session *ds)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/dns.c:817,1
    - Dst: appctx_finalize_startup
      Src: /src/haproxy/src/dns.c:820,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/dns.c:823,1
    - Dst: applet_expect_no_data
      Src: /src/haproxy/src/dns.c:832,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 838
      start: 811
    functionDepth: 7
    functionLinenumber: 811
    functionLinenumberEnd: 838
    functionName: dns_session_init
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - sockaddr_alloc
    - appctx_strm
    - applet_expect_no_data
    - appctx_finalize_startup
    linkageType: ''
    returnType: int
    signature: dns_session_init(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/dns.c:855,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/dns.c:856,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/dns.c:857,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/dns.c:861,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/dns.c:862,1
    - Dst: dns_session_free
      Src: /src/haproxy/src/dns.c:865,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:866,1
    - Dst: dns_session_free
      Src: /src/haproxy/src/dns.c:878,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:879,1
    - Dst: dns_session_free
      Src: /src/haproxy/src/dns.c:887,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:888,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/dns.c:897,1
    - Dst: dns_queries_flush
      Src: /src/haproxy/src/dns.c:904,1
    - Dst: dns_session_create
      Src: /src/haproxy/src/dns.c:915,1
    - Dst: dns_session_free
      Src: /src/haproxy/src/dns.c:917,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:918,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/dns.c:923,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:925,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 926
      start: 843
    functionDepth: 3
    functionLinenumber: 843
    functionLinenumberEnd: 926
    functionName: dns_session_release
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - dns_session_free
    - dns_session_create
    - MT_LIST_DELETE
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - HA_RWLOCK_WRUNLOCK
    - dns_queries_flush
    - LIST_DEL_INIT
    - LIST_INLIST
    - HA_RWLOCK_WRLOCK
    - LIST_INSERT
    linkageType: ''
    returnType: void
    signature: dns_session_release(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_new_here
      Src: /src/haproxy/src/dns.c:945,1
    - Dst: appctx_init
      Src: /src/haproxy/src/dns.c:950,1
    - Dst: ha_alert
      Src: /src/haproxy/src/dns.c:951,1
    - Dst: appctx_free_on_early_error
      Src: /src/haproxy/src/dns.c:959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ds
    argTypes:
    - struct dns_session*
    constantsTouched: []
    func_position:
      end: 962
      start: 941
    functionDepth: 2
    functionLinenumber: 941
    functionLinenumberEnd: 962
    functionName: dns_session_create
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 1
    functionsReached:
    - appctx_init
    - appctx_free_on_early_error
    - ha_alert
    - appctx_new_here
    linkageType: ''
    returnType: struct appctx
    signature: '*dns_session_create(struct dns_session *ds)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/dns.c:974,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/dns.c:975,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/dns.c:976,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/dns.c:977,1
    - Dst: pool_free
      Src: /src/haproxy/src/dns.c:978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 988
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 988
    functionName: dns_process_query_exp
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - eb32_delete
    - tick_is_expired
    - list_for_each_entry_safe
    - LIST_DELETE
    - pool_free
    linkageType: ''
    returnType: struct task
    signature: '*dns_process_query_exp(struct task *t, void *context, unsigned int
      state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/dns.c:998,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/dns.c:1006,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/dns.c:1011,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/dns.c:1017,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/dns.c:1020,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:1026,1
    - Dst: tick_add
      Src: /src/haproxy/src/dns.c:1028,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1031
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1031
    functionName: dns_process_idle_exp
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    - __ha_barrier_store
    - list_for_each_entry_safe
    - tick_add
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - LIST_DEL_INIT
    linkageType: ''
    returnType: struct task
    signature: '*dns_process_idle_exp(struct task *t, void *context, unsigned int
      state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_zalloc
      Src: /src/haproxy/src/dns.c:1040,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/dns.c:1046,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/dns.c:1047,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/dns.c:1048,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/dns.c:1057,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/dns.c:1061,1
    - Dst: dns_ring_init
      Src: /src/haproxy/src/dns.c:1065,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/dns.c:1067,1
    - Dst: dns_ring_attach
      Src: /src/haproxy/src/dns.c:1067,1
    - Dst: task_new_here
      Src: /src/haproxy/src/dns.c:1069,1
    - Dst: dns_session_create
      Src: /src/haproxy/src/dns.c:1075,1
    - Dst: task_destroy
      Src: /src/haproxy/src/dns.c:1084,1
    - Dst: pool_free
      Src: /src/haproxy/src/dns.c:1085,1
    - Dst: pool_free
      Src: /src/haproxy/src/dns.c:1086,1
    - Dst: pool_free
      Src: /src/haproxy/src/dns.c:1088,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - dss
    argTypes:
    - struct dns_stream_server*
    constantsTouched: []
    func_position:
      end: 1091
      start: 1033
    functionDepth: 3
    functionLinenumber: 1033
    functionLinenumberEnd: 1091
    functionName: dns_session_new
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - DISGUISE
    - dns_ring_attach
    - dns_session_create
    - pool_zalloc
    - pool_alloc
    - pool_free
    - LIST_INIT
    - task_destroy
    - task_new_here
    - dns_ring_init
    linkageType: ''
    returnType: struct dns_session
    signature: '*dns_session_new(struct dns_stream_server *dss)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/dns.c:1107,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/dns.c:1109,1
    - Dst: unlikely
      Src: /src/haproxy/src/dns.c:1119,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/dns.c:1120,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/dns.c:1121,1
    - Dst: b_orig
      Src: /src/haproxy/src/dns.c:1121,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/dns.c:1127,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/dns.c:1128,1
    - Dst: b_size
      Src: /src/haproxy/src/dns.c:1129,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns.c:1131,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/dns.c:1132,1
    - Dst: b_peek
      Src: /src/haproxy/src/dns.c:1132,1
    - Dst: b_data
      Src: /src/haproxy/src/dns.c:1134,1
    - Dst: b_peek_varint
      Src: /src/haproxy/src/dns.c:1138,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dns.c:1142,1
    - Dst: b_data
      Src: /src/haproxy/src/dns.c:1142,1
    - Dst: unlikely
      Src: /src/haproxy/src/dns.c:1143,1
    - Dst: b_getblk
      Src: /src/haproxy/src/dns.c:1149,1
    - Dst: ist2
      Src: /src/haproxy/src/dns.c:1151,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/dns.c:1155,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/dns.c:1156,1
    - Dst: dns_ring_write
      Src: /src/haproxy/src/dns.c:1158,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/dns.c:1161,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/dns.c:1168,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/dns.c:1169,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/dns.c:1175,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/dns.c:1176,1
    - Dst: dns_ring_write
      Src: /src/haproxy/src/dns.c:1179,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/dns.c:1181,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/dns.c:1193,1
    - Dst: dns_session_new
      Src: /src/haproxy/src/dns.c:1201,1
    - Dst: dns_ring_write
      Src: /src/haproxy/src/dns.c:1204,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/dns.c:1206,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/dns.c:1218,1
    - Dst: b_peek
      Src: /src/haproxy/src/dns.c:1218,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/dns.c:1219,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/dns.c:1220,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/dns.c:1223,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1225
      start: 1098
    functionDepth: 4
    functionLinenumber: 1098
    functionLinenumberEnd: 1225
    functionName: dns_process_req
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    - dns_session_new
    - BUG_ON
    - b_orig
    - b_peek_ofs
    - LIST_ISEMPTY
    - b_peek
    - ist2
    - HA_ATOMIC_DEC
    - LIST_DEL_INIT
    - b_size
    - HA_SPIN_UNLOCK
    - HA_RWLOCK_RDLOCK
    - HA_SPIN_LOCK
    - b_peek_varint
    - b_data
    - dns_ring_write
    - LIST_INSERT
    - LIST_NEXT
    - LIST_APPEND
    - b_head_ofs
    - unlikely
    - HA_RWLOCK_RDUNLOCK
    - b_getblk
    linkageType: ''
    returnType: struct task
    signature: '*dns_process_req(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct dns_nameserver*::process_responses
      Src: /src/haproxy/src/dns.c:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1238
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1238
    functionName: dns_process_rsp
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - struct dns_nameserver*::process_responses
    linkageType: ''
    returnType: struct task
    signature: '*dns_process_rsp(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/dns.c:1245,1
    - Dst: ha_alert
      Src: /src/haproxy/src/dns.c:1247,1
    - Dst: dns_ring_new
      Src: /src/haproxy/src/dns.c:1255,1
    - Dst: ha_alert
      Src: /src/haproxy/src/dns.c:1257,1
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/dns.c:1261,1
    - Dst: ha_alert
      Src: /src/haproxy/src/dns.c:1262,1
    - Dst: dns_ring_attach
      Src: /src/haproxy/src/dns.c:1271,1
    - Dst: ha_alert
      Src: /src/haproxy/src/dns.c:1273,1
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/dns.c:1278,1
    - Dst: ha_alert
      Src: /src/haproxy/src/dns.c:1279,1
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/dns.c:1288,1
    - Dst: ha_alert
      Src: /src/haproxy/src/dns.c:1289,1
    - Dst: tick_add
      Src: /src/haproxy/src/dns.c:1296,1
    - Dst: task_queue
      Src: /src/haproxy/src/dns.c:1299,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/dns.c:1301,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/dns.c:1302,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/dns.c:1303,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/dns.c:1304,1
    - Dst: task_destroy
      Src: /src/haproxy/src/dns.c:1309,1
    - Dst: task_destroy
      Src: /src/haproxy/src/dns.c:1311,1
    - Dst: dns_ring_free
      Src: /src/haproxy/src/dns.c:1313,1
    - Dst: free
      Src: /src/haproxy/src/dns.c:1315,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 2
    argNames:
    - ns
    - srv
    argTypes:
    - struct dns_nameserver*
    - struct server*
    constantsTouched: []
    func_position:
      end: 1317
      start: 1241
    functionDepth: 4
    functionLinenumber: 1241
    functionLinenumberEnd: 1317
    functionName: dns_stream_init
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - dns_ring_attach
    - dns_ring_free
    - tick_add
    - calloc
    - HA_SPIN_INIT
    - task_queue
    - free
    - task_new_anywhere
    - dns_ring_new
    - LIST_INIT
    - task_destroy
    linkageType: ''
    returnType: int
    signature: dns_stream_init(struct dns_nameserver *ns, struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/dns.c:1321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1319
    functionDepth: 3
    functionLinenumber: 1319
    functionLinenumberEnd: 1326
    functionName: init_dns_buffers
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: init_dns_buffers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/dns.c:1330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1331
    functionName: deinit_dns_buffers
    functionSourceFile: /src/haproxy/src/dns.c
    functionUses: 0
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: void
    signature: deinit_dns_buffers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/hq_interop.c:24,1
    - Dst: b_data
      Src: /src/haproxy/src/hq_interop.c:24,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/hq_interop.c:24,1
    - Dst: b_data
      Src: /src/haproxy/src/hq_interop.c:26,1
    - Dst: quic_stream_is_bidi
      Src: /src/haproxy/src/hq_interop.c:26,1
    - Dst: qcs_http_handle_standalone_fin
      Src: /src/haproxy/src/hq_interop.c:27,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/hq_interop.c:33,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/hq_interop.c:38,1
    - Dst: fprintf
      Src: /src/haproxy/src/hq_interop.c:39,1
    - Dst: fprintf
      Src: /src/haproxy/src/hq_interop.c:45,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/hq_interop.c:49,1
    - Dst: fprintf
      Src: /src/haproxy/src/hq_interop.c:50,1
    - Dst: HTTP_IS_LWS
      Src: /src/haproxy/src/hq_interop.c:56,1
    - Dst: fprintf
      Src: /src/haproxy/src/hq_interop.c:62,1
    - Dst: b_alloc
      Src: /src/haproxy/src/hq_interop.c:68,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hq_interop.c:69,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/hq_interop.c:71,1
    - Dst: ist
      Src: /src/haproxy/src/hq_interop.c:71,1
    - Dst: ist
      Src: /src/haproxy/src/hq_interop.c:71,1
    - Dst: b_free
      Src: /src/haproxy/src/hq_interop.c:73,1
    - Dst: find_http_meth
      Src: /src/haproxy/src/hq_interop.c:78,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/hq_interop.c:80,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/hq_interop.c:82,1
    - Dst: qcs_attach_sc
      Src: /src/haproxy/src/hq_interop.c:84,1
    - Dst: b_free
      Src: /src/haproxy/src/hq_interop.c:85,1
    - Dst: b_free
      Src: /src/haproxy/src/hq_interop.c:89,1
    - Dst: b_data
      Src: /src/haproxy/src/hq_interop.c:91,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 3
    argNames:
    - qcs
    - b
    - fin
    argTypes:
    - struct qcs*
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 92
      start: 14
    functionDepth: 2
    functionLinenumber: 14
    functionLinenumberEnd: 92
    functionName: hq_interop_rcv_buf
    functionSourceFile: /src/haproxy/src/hq_interop.c
    functionUses: 0
    functionsReached:
    - HTTP_IS_LWS
    - b_free
    - BUG_ON
    - htx_from_buf
    - htx_add_endof
    - ist
    - qcs_attach_sc
    - htx_add_stline
    - b_contig_data
    - HTTP_IS_SPHT
    - find_http_meth
    - b_data
    - fprintf
    - htx_to_buf
    - quic_stream_is_bidi
    - qcs_http_handle_standalone_fin
    - b_alloc
    - HTTP_IS_TOKEN
    linkageType: ''
    returnType: ssize_t
    signature: hq_interop_rcv_buf(struct qcs *qcs, struct buffer *b, int fin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hq_interop.c:106,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/hq_interop.c:108,1
    - Dst: qcc_stream_can_send
      Src: /src/haproxy/src/hq_interop.c:108,1
    - Dst: htx_get_head
      Src: /src/haproxy/src/hq_interop.c:110,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/hq_interop.c:111,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/hq_interop.c:112,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/hq_interop.c:113,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/hq_interop.c:115,1
    - Dst: qcc_get_stream_txbuf
      Src: /src/haproxy/src/hq_interop.c:119,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/hq_interop.c:122,1
    - Dst: unlikely
      Src: /src/haproxy/src/hq_interop.c:126,1
    - Dst: b_data
      Src: /src/haproxy/src/hq_interop.c:127,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/hq_interop.c:128,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/hq_interop.c:131,1
    - Dst: b_make
      Src: /src/haproxy/src/hq_interop.c:135,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/hq_interop.c:144,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/hq_interop.c:151,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/hq_interop.c:152,1
    - Dst: qcc_release_stream_txbuf
      Src: /src/haproxy/src/hq_interop.c:156,1
    - Dst: b_putblk
      Src: /src/haproxy/src/hq_interop.c:160,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/hq_interop.c:160,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/hq_interop.c:165,1
    - Dst: htx_cut_data_blk
      Src: /src/haproxy/src/hq_interop.c:167,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/hq_interop.c:175,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/hq_interop.c:183,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 3
    argNames:
    - qcs
    - buf
    - count
    argTypes:
    - struct qcs*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 186
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 186
    functionName: hq_interop_snd_buf
    functionSourceFile: /src/haproxy/src/hq_interop.c
    functionUses: 0
    functionsReached:
    - htx_get_head
    - ABORT_NOW
    - TRACE_DATA
    - htx_get_blk_ptr
    - qcc_release_stream_txbuf
    - b_contig_space
    - htx_to_buf
    - BUG_ON
    - htx_from_buf
    - htx_nbblks
    - htx_get_blk
    - htx_is_empty
    - htx_cut_data_blk
    - qcc_stream_can_send
    - htx_get_blksz
    - htx_get_blk_type
    - b_data
    - qcc_get_stream_txbuf
    - b_putblk
    - b_make
    - unlikely
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: "hq_interop_snd_buf(struct qcs *qcs, struct buffer *buf,\n                                 size_t
      count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qcc_get_stream_txbuf
      Src: /src/haproxy/src/hq_interop.c:194,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/hq_interop.c:197,1
    - Dst: b_room
      Src: /src/haproxy/src/hq_interop.c:202,1
    - Dst: qcc_release_stream_txbuf
      Src: /src/haproxy/src/hq_interop.c:203,1
    - Dst: MIN
      Src: /src/haproxy/src/hq_interop.c:216,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/hq_interop.c:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - qcs
    - count
    argTypes:
    - struct qcs*
    - size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 219
    functionName: hq_interop_nego_ff
    functionSourceFile: /src/haproxy/src/hq_interop.c
    functionUses: 0
    functionsReached:
    - b_room
    - ABORT_NOW
    - qcc_release_stream_txbuf
    - b_contig_space
    - MIN
    - qcc_get_stream_txbuf
    linkageType: ''
    returnType: size_t
    signature: hq_interop_nego_ff(struct qcs *qcs, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: hq_interop_done_ff
    functionSourceFile: /src/haproxy/src/hq_interop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: hq_interop_done_ff(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qcs_wait_http_req
      Src: /src/haproxy/src/hq_interop.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - qcs
    - conn_ctx
    argTypes:
    - struct qcs*
    - void*
    constantsTouched: []
    func_position:
      end: 231
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: hq_interop_attach
    functionSourceFile: /src/haproxy/src/hq_interop.c
    functionUses: 0
    functionsReached:
    - qcs_wait_http_req
    linkageType: ''
    returnType: int
    signature: hq_interop_attach(struct qcs *qcs, void *conn_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc::calloc
      Src: /src/haproxy/src/arg.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - orig
    argTypes:
    - struct arg_list*
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: arg_list_clone
    functionSourceFile: /src/haproxy/src/arg.c
    functionUses: 0
    functionsReached:
    - calloc::calloc
    linkageType: ''
    returnType: struct arg_list
    signature: '*arg_list_clone(const struct arg_list *orig)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: arg_list_clone::arg_list_clone
      Src: /src/haproxy/src/arg.c:79,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/arg.c:83,1
    - Dst: list::list
      Src: /src/haproxy/src/arg.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - orig
    - arg
    - pos
    argTypes:
    - struct arg_list*
    - struct arg*
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 4
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: arg_list_add
    functionSourceFile: /src/haproxy/src/arg.c
    functionUses: 0
    functionsReached:
    - arg_list_clone::arg_list_clone
    - LIST_APPEND
    - list::list
    linkageType: ''
    returnType: struct arg_list
    signature: '*arg_list_add(struct arg_list *orig, struct arg *arg, int pos)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/arg.c:153,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/arg.c:164,1
    - Dst: read_int64
      Src: /src/haproxy/src/arg.c:235,1
    - Dst: arg_list_add
      Src: /src/haproxy/src/arg.c:254,1
    - Dst: my_strndup
      Src: /src/haproxy/src/arg.c:262,1
    - Dst: inet_pton
      Src: /src/haproxy/src/arg.c:271,1
    - Dst: str2mask
      Src: /src/haproxy/src/arg.c:279,1
    - Dst: inet_pton
      Src: /src/haproxy/src/arg.c:289,1
    - Dst: str2mask6
      Src: /src/haproxy/src/arg.c:297,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/arg.c:307,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/arg.c:321,1
    - Dst: parse_dotted_uints
      Src: /src/haproxy/src/arg.c:333,1
    - Dst: memprintf
      Src: /src/haproxy/src/arg.c:357,1
    - Dst: memprintf
      Src: /src/haproxy/src/arg.c:373,1
    - Dst: memprintf
      Src: /src/haproxy/src/arg.c:375,1
    - Dst: free
      Src: /src/haproxy/src/arg.c:378,1
    - Dst: free_args
      Src: /src/haproxy/src/arg.c:402,1
    - Dst: free
      Src: /src/haproxy/src/arg.c:403,1
    - Dst: ha_free
      Src: /src/haproxy/src/arg.c:417,1
    - Dst: memprintf
      Src: /src/haproxy/src/arg.c:423,1
    - Dst: memprintf
      Src: /src/haproxy/src/arg.c:429,1
    - Dst: memprintf
      Src: /src/haproxy/src/arg.c:434,1
    - Dst: memprintf
      Src: /src/haproxy/src/arg.c:439,1
    - Dst: memprintf
      Src: /src/haproxy/src/arg.c:448,1
    - Dst: memprintf
      Src: /src/haproxy/src/arg.c:453,1
    - Dst: memprintf
      Src: /src/haproxy/src/arg.c:457,1
    CyclomaticComplexity: 120
    EdgeCount: 120
    ICount: 276
    argCount: 8
    argNames:
    - in
    - len
    - mask
    - argp
    - err_msg
    - end_ptr
    - err_arg
    - al
    argTypes:
    - char*
    - int
    - uint64_t
    - struct arg**
    - char**
    - char**
    - int*
    - struct arg_list*
    constantsTouched: []
    func_position:
      end: 460
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 460
    functionName: make_arg_list
    functionSourceFile: /src/haproxy/src/arg.c
    functionUses: 5
    functionsReached:
    - memprintf
    - str2mask
    - chunk_reset
    - ha_free
    - arg_list_add
    - calloc
    - inet_pton
    - parse_dotted_uints
    - free
    - parse_size_err
    - free_args
    - str2mask6
    - read_int64
    - parse_time_err
    - my_strndup
    linkageType: ''
    returnType: int
    signature: "make_arg_list(const char *in, int len, uint64_t mask, struct arg **argp,\n
      \                 char **err_msg, const char **end_ptr, int *err_arg,\n                  struct
      arg_list *al)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_destroy
      Src: /src/haproxy/src/arg.c:474,1
    - Dst: regex_free
      Src: /src/haproxy/src/arg.c:476,1
    - Dst: ha_free
      Src: /src/haproxy/src/arg.c:478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - args
    argTypes:
    - struct arg*
    constantsTouched: []
    func_position:
      end: 481
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 481
    functionName: free_args
    functionSourceFile: /src/haproxy/src/arg.c
    functionUses: 5
    functionsReached:
    - regex_free
    - chunk_destroy
    - ha_free
    linkageType: ''
    returnType: struct arg
    signature: '*free_args(struct arg *args)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_pubkey
      Src: /src/haproxy/src/ssl_utils.c:30,1
    - Dst: EVP_PKEY_bits
      Src: /src/haproxy/src/ssl_utils.c:32,1
    - Dst: EVP_PKEY_base_id
      Src: /src/haproxy/src/ssl_utils.c:33,1
    - Dst: EVP_PKEY_free
      Src: /src/haproxy/src/ssl_utils.c:44,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/ssl_utils.c:49,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/ssl_utils.c:52,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/ssl_utils.c:55,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - crt
    - out
    argTypes:
    - X509*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 63
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 63
    functionName: cert_get_pkey_algo
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 1
    functionsReached:
    - chunk_printf
    - EVP_PKEY_free
    - X509_get_pubkey
    - EVP_PKEY_bits
    - EVP_PKEY_base_id
    linkageType: ''
    returnType: int
    signature: cert_get_pkey_algo(X509 *crt, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_get_serialNumber
      Src: /src/haproxy/src/ssl_utils.c:73,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_utils.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - crt
    - out
    argTypes:
    - X509*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: ssl_sock_get_serial
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - X509_get_serialNumber
    - memcpy
    linkageType: ''
    returnType: int
    signature: ssl_sock_get_serial(X509 *crt, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: i2d_X509
      Src: /src/haproxy/src/ssl_utils.c:94,1
    - Dst: i2d_X509
      Src: /src/haproxy/src/ssl_utils.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - crt
    - out
    argTypes:
    - X509*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: ssl_sock_crt2der
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - i2d_X509
    linkageType: ''
    returnType: int
    signature: ssl_sock_crt2der(X509 *crt, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_utils.c:123,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_utils.c:137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - tm
    - out
    argTypes:
    - ASN1_TIME*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 143
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 143
    functionName: ssl_sock_get_time
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: ssl_sock_get_time(ASN1_TIME *tm, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_entry_count
      Src: /src/haproxy/src/ssl_utils.c:162,1
    - Dst: X509_NAME_get_entry
      Src: /src/haproxy/src/ssl_utils.c:171,1
    - Dst: X509_NAME_ENTRY_get_object
      Src: /src/haproxy/src/ssl_utils.c:172,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/haproxy/src/ssl_utils.c:173,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/haproxy/src/ssl_utils.c:174,1
    - Dst: ASN1_STRING_length
      Src: /src/haproxy/src/ssl_utils.c:175,1
    - Dst: OBJ_obj2nid
      Src: /src/haproxy/src/ssl_utils.c:176,1
    - Dst: OBJ_nid2sn
      Src: /src/haproxy/src/ssl_utils.c:177,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/haproxy/src/ssl_utils.c:178,1
    - Dst: chunk_strcasecmp
      Src: /src/haproxy/src/ssl_utils.c:182,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_utils.c:196,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - a
    - entry
    - pos
    - out
    argTypes:
    - X509_NAME*
    - struct buffer*
    - int
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 203
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 203
    functionName: ssl_sock_get_dn_entry
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 1
    functionsReached:
    - chunk_strcasecmp
    - OBJ_obj2nid
    - X509_NAME_ENTRY_get_data
    - X509_NAME_ENTRY_get_object
    - ASN1_STRING_get0_data
    - OBJ_nid2sn
    - i2t_ASN1_OBJECT
    - X509_NAME_entry_count
    - ASN1_STRING_length
    - X509_NAME_get_entry
    - memcpy
    linkageType: ''
    returnType: int
    signature: "ssl_sock_get_dn_entry(X509_NAME *a, const struct buffer *entry, int
      pos,\n                          struct buffer *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_strcmp
      Src: /src/haproxy/src/ssl_utils.c:216,1
    - Dst: BIO_new
      Src: /src/haproxy/src/ssl_utils.c:217,1
    - Dst: BIO_s_mem
      Src: /src/haproxy/src/ssl_utils.c:217,1
    - Dst: X509_NAME_print_ex
      Src: /src/haproxy/src/ssl_utils.c:221,1
    - Dst: BIO_read
      Src: /src/haproxy/src/ssl_utils.c:224,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_utils.c:233,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - a
    - format
    - out
    argTypes:
    - X509_NAME*
    - struct buffer*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 235
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 235
    functionName: ssl_sock_get_dn_formatted
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - BIO_free
    - chunk_strcmp
    - BIO_s_mem
    - X509_NAME_print_ex
    - BIO_new
    linkageType: ''
    returnType: int
    signature: ssl_sock_get_dn_formatted(X509_NAME *a, const struct buffer *format,
      struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_NAME_entry_count
      Src: /src/haproxy/src/ssl_utils.c:255,1
    - Dst: X509_NAME_get_entry
      Src: /src/haproxy/src/ssl_utils.c:260,1
    - Dst: X509_NAME_ENTRY_get_object
      Src: /src/haproxy/src/ssl_utils.c:261,1
    - Dst: X509_NAME_ENTRY_get_data
      Src: /src/haproxy/src/ssl_utils.c:262,1
    - Dst: ASN1_STRING_get0_data
      Src: /src/haproxy/src/ssl_utils.c:263,1
    - Dst: ASN1_STRING_length
      Src: /src/haproxy/src/ssl_utils.c:264,1
    - Dst: OBJ_obj2nid
      Src: /src/haproxy/src/ssl_utils.c:265,1
    - Dst: OBJ_nid2sn
      Src: /src/haproxy/src/ssl_utils.c:266,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/haproxy/src/ssl_utils.c:267,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_utils.c:270,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_utils.c:278,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_utils.c:281,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - a
    - out
    argTypes:
    - X509_NAME*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 289
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 289
    functionName: ssl_sock_get_dn_oneline
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - OBJ_obj2nid
    - strlen
    - X509_NAME_ENTRY_get_data
    - X509_NAME_ENTRY_get_object
    - ASN1_STRING_get0_data
    - OBJ_nid2sn
    - i2t_ASN1_OBJECT
    - X509_NAME_entry_count
    - ASN1_STRING_length
    - X509_NAME_get_entry
    - memcpy
    linkageType: ''
    returnType: int
    signature: ssl_sock_get_dn_oneline(X509_NAME *a, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_peer_certificate
      Src: /src/haproxy/src/ssl_utils.c:308,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_utils.c:312,1
    - Dst: X509_up_ref
      Src: /src/haproxy/src/ssl_utils.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 318
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 318
    functionName: ssl_sock_get_peer_certificate
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - X509_up_ref
    - SSL_get_ex_data
    - SSL_get_peer_certificate
    linkageType: ''
    returnType: X509
    signature: '* ssl_sock_get_peer_certificate(SSL *ssl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_utils.c:330,1
    - Dst: SSL_get0_verified_chain
      Src: /src/haproxy/src/ssl_utils.c:334,1
    - Dst: sk_X509_num
      Src: /src/haproxy/src/ssl_utils.c:338,1
    - Dst: sk_X509_value
      Src: /src/haproxy/src/ssl_utils.c:339,1
    - Dst: X509_check_issued
      Src: /src/haproxy/src/ssl_utils.c:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 346
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 346
    functionName: ssl_sock_get_verified_chain_root
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - sk_X509_value
    - SSL_get0_verified_chain
    - X509_check_issued
    - sk_X509_num
    - STACK_OF
    linkageType: ''
    returnType: X509
    signature: '* ssl_sock_get_verified_chain_root(SSL *ssl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/haproxy/src/ssl_utils.c:380,1
    - Dst: strtol
      Src: /src/haproxy/src/ssl_utils.c:385,1
    - Dst: strtol
      Src: /src/haproxy/src/ssl_utils.c:390,1
    - Dst: strncmp
      Src: /src/haproxy/src/ssl_utils.c:404,1
    - Dst: strtol
      Src: /src/haproxy/src/ssl_utils.c:406,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 1
    argNames:
    - version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 429
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 429
    functionName: openssl_version_parser
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 1
    functionsReached:
    - strtol
    - strncmp
    linkageType: ''
    returnType: unsigned int
    signature: openssl_version_parser(const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_utils.c:439,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - input
    - len
    - output
    argTypes:
    - char*
    - int
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 448
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 448
    functionName: exclude_tls_grease
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: exclude_tls_grease(char *input, int len, struct buffer *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_utils.c:579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 585
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 585
    functionName: x509_v_err_str_to_int
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: x509_v_err_str_to_int(const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 605
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 605
    functionName: x509_v_err_int_to_str
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*x509_v_err_int_to_str(int code)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_utils.c:613,1
    - Dst: atoi
      Src: /src/haproxy/src/ssl_utils.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 617
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 617
    functionName: init_x509_v_err_tab
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - strcmp
    - atoi
    linkageType: ''
    returnType: void
    signature: init_x509_v_err_tab(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 1
    argNames:
    - d
    argTypes:
    - ASN1_GENERALIZEDTIME*
    constantsTouched: []
    func_position:
      end: 702
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 702
    functionName: asn1_generalizedtime_to_epoch
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: asn1_generalizedtime_to_epoch(ASN1_GENERALIZEDTIME *d)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/ssl_utils.c:713,1
    - Dst: BIO_new
      Src: /src/haproxy/src/ssl_utils.c:715,1
    - Dst: BIO_s_mem
      Src: /src/haproxy/src/ssl_utils.c:715,1
    - Dst: ASN1_TIME_print
      Src: /src/haproxy/src/ssl_utils.c:717,1
    - Dst: X509_getm_notAfter
      Src: /src/haproxy/src/ssl_utils.c:717,1
    - Dst: BIO_read
      Src: /src/haproxy/src/ssl_utils.c:719,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_utils.c:721,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_utils.c:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 728
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 728
    functionName: x509_get_notafter
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - BIO_free
    - ASN1_TIME_print
    - BIO_s_mem
    - memset
    - X509_getm_notAfter
    - BIO_new
    linkageType: ''
    returnType: char
    signature: '*x509_get_notafter(X509 *cert)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/ssl_utils.c:739,1
    - Dst: BIO_new
      Src: /src/haproxy/src/ssl_utils.c:741,1
    - Dst: BIO_s_mem
      Src: /src/haproxy/src/ssl_utils.c:741,1
    - Dst: ASN1_TIME_print
      Src: /src/haproxy/src/ssl_utils.c:743,1
    - Dst: X509_getm_notBefore
      Src: /src/haproxy/src/ssl_utils.c:743,1
    - Dst: BIO_read
      Src: /src/haproxy/src/ssl_utils.c:745,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_utils.c:747,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_utils.c:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 754
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 754
    functionName: x509_get_notbefore
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - BIO_free
    - X509_getm_notBefore
    - ASN1_TIME_print
    - BIO_s_mem
    - memset
    - BIO_new
    linkageType: ''
    returnType: char
    signature: '*x509_get_notbefore(X509 *cert)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ASN1_TIME_to_tm
      Src: /src/haproxy/src/ssl_utils.c:763,1
    - Dst: my_timegm
      Src: /src/haproxy/src/ssl_utils.c:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - asn1_time
    argTypes:
    - ASN1_TIME*
    constantsTouched: []
    func_position:
      end: 769
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 769
    functionName: ASN1_to_time_t
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - my_timegm
    - ASN1_TIME_to_tm
    linkageType: ''
    returnType: time_t
    signature: ASN1_to_time_t(ASN1_TIME *asn1_time)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_getm_notAfter
      Src: /src/haproxy/src/ssl_utils.c:777,1
    - Dst: ASN1_to_time_t
      Src: /src/haproxy/src/ssl_utils.c:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cert
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 784
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 784
    functionName: x509_get_notafter_time_t
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - X509_getm_notAfter
    - ASN1_to_time_t
    linkageType: ''
    returnType: time_t
    signature: x509_get_notafter_time_t(X509 *cert)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_utils.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - curve
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 814
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 814
    functionName: curves2nid
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: curves2nid(const char *curve)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - nid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 825
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 825
    functionName: nid2nist
    functionSourceFile: /src/haproxy/src/ssl_utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*nid2nist(int nid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/http_ana.c:102,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:104,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/http_ana.c:104,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/http_ana.c:111,1
    - Dst: c_empty
      Src: /src/haproxy/src/http_ana.c:111,1
    - Dst: channel_dont_connect
      Src: /src/haproxy/src/http_ana.c:114,1
    - Dst: stream_abort
      Src: /src/haproxy/src/http_ana.c:122,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:125,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:128,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:132,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_ana.c:133,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/http_ana.c:134,1
    - Dst: HTX_SL_REQ_VPTR
      Src: /src/haproxy/src/http_ana.c:141,1
    - Dst: stream_inc_http_req_ctr
      Src: /src/haproxy/src/http_ana.c:147,1
    - Dst: proxy_inc_fe_req_ctr
      Src: /src/haproxy/src/http_ana.c:148,1
    - Dst: stream_inc_http_err_ctr
      Src: /src/haproxy/src/http_ana.c:150,1
    - Dst: stream_inc_http_req_ctr
      Src: /src/haproxy/src/http_ana.c:161,1
    - Dst: proxy_inc_fe_req_ctr
      Src: /src/haproxy/src/http_ana.c:162,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/http_ana.c:167,1
    - Dst: htx_get_first_type
      Src: /src/haproxy/src/http_ana.c:167,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:170,1
    - Dst: http_debug_stline
      Src: /src/haproxy/src/http_ana.c:174,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/http_ana.c:176,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/http_ana.c:176,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_ana.c:177,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_ana.c:178,1
    - Dst: http_debug_hdr
      Src: /src/haproxy/src/http_ana.c:185,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/http_ana.c:186,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_ana.c:187,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_ana.c:210,1
    - Dst: htx_sl_req_meth
      Src: /src/haproxy/src/http_ana.c:210,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:210,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:223,1
    - Dst: isttest
      Src: /src/haproxy/src/http_ana.c:223,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_ana.c:225,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_ana.c:225,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ana.c:227,1
    - Dst: isteq
      Src: /src/haproxy/src/http_ana.c:228,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_ana.c:228,1
    - Dst: isteq
      Src: /src/haproxy/src/http_ana.c:229,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_ana.c:229,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:236,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/http_ana.c:239,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/http_ana.c:240,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:247,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:255,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:265,1
    - Dst: log_orig_proxy
      Src: /src/haproxy/src/http_ana.c:266,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:269,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/http_ana.c:280,1
    - Dst: http_fmt_req_line
      Src: /src/haproxy/src/http_ana.c:283,1
    - Dst: struct stream*::do_log
      Src: /src/haproxy/src/http_ana.c:287,1
    - Dst: log_orig
      Src: /src/haproxy/src/http_ana.c:287,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ana.c:289,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/src/http_ana.c:303,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/src/http_ana.c:303,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:307,1
    - Dst: http_capture_headers
      Src: /src/haproxy/src/http_ana.c:308,1
    - Dst: likely
      Src: /src/haproxy/src/http_ana.c:328,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:338,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:345,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:347,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:348,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:353,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:355,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:356,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:360,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:361,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:361,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:363,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 146
    argCount: 3
    argNames:
    - s
    - req
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 366
      start: 83
    functionDepth: 10
    functionLinenumber: 83
    functionLinenumberEnd: 366
    functionName: http_wait_for_request
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - stream_inc_http_err_ctr
    - isttest
    - stream_abort
    - HTX_SL_REQ_UPTR
    - ist
    - pool_alloc
    - htx_get_first_type
    - likely
    - http_debug_hdr
    - htx_get_blk_value
    - http_get_stline
    - BUG_ON
    - isteqi
    - htx_get_first
    - stream_inc_http_req_ctr
    - htx_sl_req_uri
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - http_fmt_req_line
    - list_for_each_entry
    - isteq
    - htx_get_blk
    - HTX_SL_REQ_VPTR
    - log_orig_proxy
    - http_parse_path
    - c_empty
    - log_orig
    - http_capture_headers
    - http_error_message
    - struct stream*::do_log
    - HTX_SL_REQ_VLEN
    - channel_dont_connect
    - _HA_ATOMIC_INC
    - stream_report_term_evt
    - htxbuf
    - http_debug_stline
    - htx_get_blk_type
    - acl_match_cond
    - http_uri_parser_init
    - htx_get_blk_name
    - htx_sl_req_meth
    - IS_HTX_STRM
    - istptr
    - proxy_inc_fe_req_ctr
    - http_set_term_flags
    - DBG_TRACE_DEVEL
    - http_reply_and_close
    - unlikely
    - htx_get_next
    linkageType: ''
    returnType: int
    signature: http_wait_for_request(struct stream *s, struct channel *req, int an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/http_ana.c:385,1
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/http_ana.c:387,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:389,1
    - Dst: stream_inc_be_http_req_ctr
      Src: /src/haproxy/src/http_ana.c:394,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/http_ana.c:400,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/http_ana.c:400,1
    - Dst: http_req_get_intercept_rule
      Src: /src/haproxy/src/http_ana.c:401,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:420,1
    - Dst: http_req_restrict_header_names
      Src: /src/haproxy/src/http_ana.c:435,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:445,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:445,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:446,1
    - Dst: http_add_header
      Src: /src/haproxy/src/http_ana.c:446,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:446,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:446,1
    - Dst: http_stats_check_uri
      Src: /src/haproxy/src/http_ana.c:457,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:459,1
    - Dst: sc_applet_create
      Src: /src/haproxy/src/http_ana.c:459,1
    - Dst: objt_applet
      Src: /src/haproxy/src/http_ana.c:459,1
    - Dst: http_handle_stats
      Src: /src/haproxy/src/http_ana.c:467,1
    - Dst: http_req_get_intercept_rule
      Src: /src/haproxy/src/http_ana.c:468,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:475,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:487,1
    - Dst: objt_applet
      Src: /src/haproxy/src/http_ana.c:487,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:489,1
    - Dst: http_handle_expect_hdr
      Src: /src/haproxy/src/http_ana.c:491,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:496,1
    - Dst: HAS_FILTERS
      Src: /src/haproxy/src/http_ana.c:498,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/http_ana.c:512,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/http_ana.c:513,1
    - Dst: http_apply_redirect_rule
      Src: /src/haproxy/src/http_ana.c:515,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:518,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:538,1
    - Dst: http_manage_client_side_cookies
      Src: /src/haproxy/src/http_ana.c:545,1
    - Dst: channel_htx_erase
      Src: /src/haproxy/src/http_ana.c:552,1
    - Dst: channel_dont_connect
      Src: /src/haproxy/src/http_ana.c:557,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/http_ana.c:561,1
    - Dst: tick_add
      Src: /src/haproxy/src/http_ana.c:563,1
    - Dst: stream_inc_http_err_ctr
      Src: /src/haproxy/src/http_ana.c:564,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:565,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:567,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:569,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:570,1
    - Dst: http_manage_client_side_cookies
      Src: /src/haproxy/src/http_ana.c:578,1
    - Dst: stream_inc_http_err_ctr
      Src: /src/haproxy/src/http_ana.c:581,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:582,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:584,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:586,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:587,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:593,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:595,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:597,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:598,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:599,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:599,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:606,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:608,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:610,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:611,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:616,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:618,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:619,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:623,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:624,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:624,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:628,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:632,1
    - Dst: channel_dont_connect
      Src: /src/haproxy/src/http_ana.c:637,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:638,1
    - Dst: channel_dont_connect
      Src: /src/haproxy/src/http_ana.c:643,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:644,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 207
    argCount: 4
    argNames:
    - s
    - req
    - an_bit
    - px
    argTypes:
    - struct stream*
    - struct channel*
    - int
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 647
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 647
    functionName: http_process_req_common
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - stream_inc_http_err_ctr
    - http_req_get_intercept_rule
    - objt_conn
    - ist
    - channel_htx_erase
    - http_req_restrict_header_names
    - http_manage_client_side_cookies
    - http_apply_redirect_rule
    - HAS_FILTERS
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - LIST_ISEMPTY
    - list_for_each_entry
    - http_handle_expect_hdr
    - __objt_server
    - objt_applet
    - http_error_message
    - objt_server
    - _HA_ATOMIC_INC
    - channel_dont_connect
    - stream_report_term_evt
    - htxbuf
    - acl_match_cond
    - tick_add_ifset
    - http_add_header
    - tick_add
    - http_handle_stats
    - stream_inc_be_http_req_ctr
    - sc_applet_create
    - http_stats_check_uri
    - http_set_term_flags
    - DBG_TRACE_DEVEL
    - http_reply_and_close
    - unlikely
    - http_find_header
    linkageType: ''
    returnType: int
    signature: http_process_req_common(struct stream *s, struct channel *req, int
      an_bit, struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/http_ana.c:659,1
    - Dst: strm_sess
      Src: /src/haproxy/src/http_ana.c:659,1
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/http_ana.c:661,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:669,1
    - Dst: http_manage_client_side_cookies
      Src: /src/haproxy/src/http_ana.c:678,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/http_ana.c:685,1
    - Dst: stream_generate_unique_id
      Src: /src/haproxy/src/http_ana.c:686,1
    - Dst: isttest
      Src: /src/haproxy/src/http_ana.c:688,1
    - Dst: isttest
      Src: /src/haproxy/src/http_ana.c:695,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:696,1
    - Dst: http_add_header
      Src: /src/haproxy/src/http_ana.c:696,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:701,1
    - Dst: http_handle_7239_header
      Src: /src/haproxy/src/http_ana.c:701,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:703,1
    - Dst: http_handle_xff_header
      Src: /src/haproxy/src/http_ana.c:703,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:705,1
    - Dst: http_handle_xot_header
      Src: /src/haproxy/src/http_ana.c:705,1
    - Dst: HAS_FILTERS
      Src: /src/haproxy/src/http_ana.c:711,1
    - Dst: channel_dont_connect
      Src: /src/haproxy/src/http_ana.c:721,1
    - Dst: conn_set_quickack
      Src: /src/haproxy/src/http_ana.c:734,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:745,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:751,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:753,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:755,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:756,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:757,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:757,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:764,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:766,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:768,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:769,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:771,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:772,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:772,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:774,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 66
    argCount: 3
    argNames:
    - s
    - req
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 777
      start: 654
    functionDepth: 3
    functionLinenumber: 654
    functionLinenumberEnd: 777
    functionName: http_process_request
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - isttest
    - objt_conn
    - strm_sess
    - http_manage_client_side_cookies
    - conn_set_quickack
    - HAS_FILTERS
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - http_handle_7239_header
    - __objt_server
    - http_error_message
    - lf_expr_isempty
    - objt_server
    - channel_dont_connect
    - _HA_ATOMIC_INC
    - stream_report_term_evt
    - htxbuf
    - http_add_header
    - http_handle_xot_header
    - http_handle_xff_header
    - stream_generate_unique_id
    - http_set_term_flags
    - DBG_TRACE_DEVEL
    - http_reply_and_close
    - unlikely
    linkageType: ''
    returnType: int
    signature: http_process_request(struct stream *s, struct channel *req, int an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/http_ana.c:787,1
    - Dst: channel_dont_connect
      Src: /src/haproxy/src/http_ana.c:793,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/http_ana.c:795,1
    - Dst: channel_htx_erase
      Src: /src/haproxy/src/http_ana.c:797,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:797,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:798,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/http_ana.c:810,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:812,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:813,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:814,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:814,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - s
    - req
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 818
      start: 783
    functionDepth: 1
    functionLinenumber: 783
    functionLinenumberEnd: 818
    functionName: http_process_tarpit
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - tick_is_expired
    - channel_dont_connect
    - stream_report_term_evt
    - htxbuf
    - channel_htx_erase
    - DBG_TRACE_DEVEL
    - http_set_term_flags
    - ns_to_ms
    - http_reply_and_close
    - http_error_message
    linkageType: ''
    returnType: int
    signature: http_process_tarpit(struct stream *s, struct channel *req, int an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/http_ana.c:833,1
    - Dst: http_wait_for_msg_body
      Src: /src/haproxy/src/http_ana.c:836,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:850,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:861,1
    - Dst: channel_dont_connect
      Src: /src/haproxy/src/http_ana.c:865,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:866,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:874,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:876,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:878,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:879,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:884,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:886,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:887,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:891,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:892,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:892,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:896,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:900,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 3
    argNames:
    - s
    - req
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 903
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 903
    functionName: http_wait_for_request_body
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - channel_dont_connect
    - _HA_ATOMIC_INC
    - http_wait_for_msg_body
    - stream_report_term_evt
    - DBG_TRACE_DEVEL
    - http_set_term_flags
    - http_reply_and_close
    - http_error_message
    linkageType: ''
    returnType: int
    signature: http_wait_for_request_body(struct stream *s, struct channel *req, int
      an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/http_ana.c:924,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:926,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/http_ana.c:942,1
    - Dst: HAS_REQ_DATA_FILTERS
      Src: /src/haproxy/src/http_ana.c:968,1
    - Dst: flt_http_payload
      Src: /src/haproxy/src/http_ana.c:969,1
    - Dst: c_adv
      Src: /src/haproxy/src/http_ana.c:972,1
    - Dst: c_adv
      Src: /src/haproxy/src/http_ana.c:975,1
    - Dst: co_data
      Src: /src/haproxy/src/http_ana.c:975,1
    - Dst: channel_htx_forward_forever
      Src: /src/haproxy/src/http_ana.c:978,1
    - Dst: co_data
      Src: /src/haproxy/src/http_ana.c:981,1
    - Dst: HAS_REQ_DATA_FILTERS
      Src: /src/haproxy/src/http_ana.c:1000,1
    - Dst: flt_http_end
      Src: /src/haproxy/src/http_ana.c:1001,1
    - Dst: channel_dont_close
      Src: /src/haproxy/src/http_ana.c:1019,1
    - Dst: co_data
      Src: /src/haproxy/src/http_ana.c:1021,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_ana.c:1027,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:1027,1
    - Dst: http_end_request
      Src: /src/haproxy/src/http_ana.c:1031,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:1033,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/http_ana.c:1043,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/http_ana.c:1046,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/http_ana.c:1052,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1054,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_ana.c:1069,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:1069,1
    - Dst: channel_dont_close
      Src: /src/haproxy/src/http_ana.c:1082,1
    - Dst: HAS_REQ_DATA_FILTERS
      Src: /src/haproxy/src/http_ana.c:1092,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1095,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1100,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1101,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1103,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1104,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1105,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1105,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1112,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1113,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1115,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1116,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1117,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1117,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1126,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1127,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1129,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1130,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1131,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1131,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:1132,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1137,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1139,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:1140,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:1145,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:1148,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:1151,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:1151,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1153,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 170
    argCount: 3
    argNames:
    - s
    - req
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 1156
      start: 915
    functionDepth: 2
    functionLinenumber: 915
    functionLinenumberEnd: 1156
    functionName: http_request_forward_body
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - channel_htx_forward_forever
    - channel_auto_read
    - channel_auto_close
    - http_end_request
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - co_data
    - flt_http_end
    - __objt_server
    - HAS_REQ_DATA_FILTERS
    - htx_is_empty
    - http_error_message
    - objt_server
    - _HA_ATOMIC_INC
    - stream_report_term_evt
    - htxbuf
    - c_adv
    - channel_dont_close
    - DBG_TRACE_DEVEL
    - http_set_term_flags
    - http_reply_and_close
    - flt_http_payload
    linkageType: ''
    returnType: int
    signature: http_request_forward_body(struct stream *s, struct channel *req, int
      an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1168,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/http_ana.c:1171,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1171,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1173,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1173,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1175,1
    - Dst: stream_choose_redispatch
      Src: /src/haproxy/src/http_ana.c:1188,1
    - Dst: sc_reset_endp
      Src: /src/haproxy/src/http_ana.c:1194,1
    - Dst: b_free
      Src: /src/haproxy/src/http_ana.c:1199,1
    - Dst: b_data
      Src: /src/haproxy/src/http_ana.c:1202,1
    - Dst: b_set_data
      Src: /src/haproxy/src/http_ana.c:1203,1
    - Dst: b_size
      Src: /src/haproxy/src/http_ana.c:1203,1
    - Dst: b_xfer
      Src: /src/haproxy/src/http_ana.c:1204,1
    - Dst: b_data
      Src: /src/haproxy/src/http_ana.c:1204,1
    - Dst: co_set_data
      Src: /src/haproxy/src/http_ana.c:1205,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1207,1
    - Dst: b_reset
      Src: /src/haproxy/src/http_ana.c:1209,1
    - Dst: co_set_data
      Src: /src/haproxy/src/http_ana.c:1210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 2
    argNames:
    - s
    - sc
    argTypes:
    - struct stream*
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1212
      start: 1160
    functionDepth: 7
    functionLinenumber: 1160
    functionLinenumberEnd: 1212
    functionName: do_l7_retry
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - sc_reset_endp
    - b_free
    - _HA_ATOMIC_DEC
    - objt_server
    - _HA_ATOMIC_INC
    - __objt_server
    - DBG_TRACE_DEVEL
    - co_set_data
    - b_set_data
    - b_data
    - b_size
    - b_reset
    - stream_choose_redispatch
    - b_xfer
    linkageType: ''
    returnType: int
    signature: do_l7_retry(struct stream *s, struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/http_ana.c:1238,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:1240,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1244,1
    - Dst: health_adjust
      Src: /src/haproxy/src/http_ana.c:1245,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1245,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:1264,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_ana.c:1264,1
    - Dst: sc_conn
      Src: /src/haproxy/src/http_ana.c:1267,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1269,1
    - Dst: health_adjust
      Src: /src/haproxy/src/http_ana.c:1270,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1270,1
    - Dst: co_data
      Src: /src/haproxy/src/http_ana.c:1275,1
    - Dst: do_l7_retry
      Src: /src/haproxy/src/http_ana.c:1275,1
    - Dst: do_l7_retry
      Src: /src/haproxy/src/http_ana.c:1283,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1284,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1292,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1293,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1294,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1294,1
    - Dst: stream_inc_http_fail_ctr
      Src: /src/haproxy/src/http_ana.c:1301,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:1308,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:1310,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:1310,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1311,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1318,1
    - Dst: health_adjust
      Src: /src/haproxy/src/http_ana.c:1319,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1319,1
    - Dst: co_data
      Src: /src/haproxy/src/http_ana.c:1323,1
    - Dst: do_l7_retry
      Src: /src/haproxy/src/http_ana.c:1323,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1324,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1329,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1330,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1331,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1331,1
    - Dst: stream_inc_http_fail_ctr
      Src: /src/haproxy/src/http_ana.c:1334,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:1339,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:1341,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:1341,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1342,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1350,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1351,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1353,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1354,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1355,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1355,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:1361,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:1363,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:1363,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1366,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1373,1
    - Dst: health_adjust
      Src: /src/haproxy/src/http_ana.c:1374,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1374,1
    - Dst: co_data
      Src: /src/haproxy/src/http_ana.c:1378,1
    - Dst: do_l7_retry
      Src: /src/haproxy/src/http_ana.c:1378,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1379,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1388,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1389,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1390,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1390,1
    - Dst: stream_inc_http_fail_ctr
      Src: /src/haproxy/src/http_ana.c:1393,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:1398,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:1400,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:1400,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1401,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/http_ana.c:1407,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1411,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1412,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1413,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1413,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:1418,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:1421,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1422,1
    - Dst: channel_dont_close
      Src: /src/haproxy/src/http_ana.c:1427,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1429,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/http_ana.c:1438,1
    - Dst: htx_get_first_type
      Src: /src/haproxy/src/http_ana.c:1438,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_ana.c:1439,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1445,1
    - Dst: health_adjust
      Src: /src/haproxy/src/http_ana.c:1447,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1447,1
    - Dst: health_adjust
      Src: /src/haproxy/src/http_ana.c:1449,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1449,1
    - Dst: l7_status_match
      Src: /src/haproxy/src/http_ana.c:1454,1
    - Dst: do_l7_retry
      Src: /src/haproxy/src/http_ana.c:1455,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1456,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:1464,1
    - Dst: http_debug_stline
      Src: /src/haproxy/src/http_ana.c:1468,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/http_ana.c:1470,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/http_ana.c:1470,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_ana.c:1471,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_ana.c:1472,1
    - Dst: http_debug_hdr
      Src: /src/haproxy/src/http_ana.c:1479,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/http_ana.c:1480,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_ana.c:1481,1
    - Dst: http_status_matches
      Src: /src/haproxy/src/http_ana.c:1506,1
    - Dst: stream_inc_http_err_ctr
      Src: /src/haproxy/src/http_ana.c:1507,1
    - Dst: http_status_matches
      Src: /src/haproxy/src/http_ana.c:1509,1
    - Dst: stream_inc_http_fail_ctr
      Src: /src/haproxy/src/http_ana.c:1510,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1512,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1517,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1517,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1518,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1518,1
    - Dst: FLT_STRM_CB
      Src: /src/haproxy/src/http_ana.c:1530,1
    - Dst: flt_http_reset
      Src: /src/haproxy/src/http_ana.c:1530,1
    - Dst: channel_htx_fwd_headers
      Src: /src/haproxy/src/http_ana.c:1531,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1547,1
    - Dst: health_adjust
      Src: /src/haproxy/src/http_ana.c:1548,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1548,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:1588,1
    - Dst: http_capture_headers
      Src: /src/haproxy/src/http_ana.c:1589,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:1592,1
    - Dst: sc_conn
      Src: /src/haproxy/src/http_ana.c:1614,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/http_ana.c:1616,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ana.c:1616,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:1621,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:1623,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:1628,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/http_ana.c:1635,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/http_ana.c:1636,1
    - Dst: conn_set_owner
      Src: /src/haproxy/src/http_ana.c:1638,1
    - Dst: conn_set_private
      Src: /src/haproxy/src/http_ana.c:1639,1
    - Dst: session_add_conn
      Src: /src/haproxy/src/http_ana.c:1641,1
    - Dst: b_free
      Src: /src/haproxy/src/http_ana.c:1649,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/http_ana.c:1652,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/http_ana.c:1657,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:1658,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1662,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1663,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1665,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1666,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1667,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1667,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:1671,1
    - Dst: do_l7_retry
      Src: /src/haproxy/src/http_ana.c:1677,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1678,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1683,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1684,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1685,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1685,1
    - Dst: stream_inc_http_fail_ctr
      Src: /src/haproxy/src/http_ana.c:1688,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:1689,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:1693,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:1694,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:1694,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1697,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:1710,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:1711,1
    CyclomaticComplexity: 124
    EdgeCount: 124
    ICount: 284
    argCount: 3
    argNames:
    - s
    - rep
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 1714
      start: 1221
    functionDepth: 8
    functionLinenumber: 1221
    functionLinenumberEnd: 1714
    functionName: http_wait_for_response
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - stream_inc_http_err_ctr
    - conn_set_private
    - ist
    - htx_get_first_type
    - strncasecmp
    - http_debug_hdr
    - sc_ep_test
    - htx_get_blk_value
    - http_get_stline
    - BUG_ON
    - conn_set_owner
    - htx_get_first
    - channel_auto_close
    - channel_htx_fwd_headers
    - b_free
    - DBG_TRACE_ENTER
    - DBG_TRACE_LEAVE
    - stream_inc_http_fail_ctr
    - co_data
    - strcmp
    - http_find_header
    - htx_get_blk
    - __objt_server
    - htx_is_empty
    - FLT_STRM_CB
    - LIST_INLIST
    - http_status_matches
    - http_error_message
    - http_capture_headers
    - health_adjust
    - objt_server
    - _HA_ATOMIC_INC
    - stream_report_term_evt
    - htxbuf
    - l7_status_match
    - http_debug_stline
    - htx_get_blk_type
    - session_add_conn
    - sc_conn
    - htx_get_blk_name
    - flt_http_reset
    - channel_dont_close
    - do_l7_retry
    - DBG_TRACE_DEVEL
    - http_set_term_flags
    - ns_to_ms
    - http_reply_and_close
    - unlikely
    - htx_get_next
    linkageType: ''
    returnType: int
    signature: http_wait_for_response(struct stream *s, struct channel *rep, int an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:1731,1
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/http_ana.c:1734,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:1736,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:1741,1
    - Dst: objt_applet
      Src: /src/haproxy/src/http_ana.c:1741,1
    - Dst: http_res_get_intercept_rule
      Src: /src/haproxy/src/http_ana.c:1779,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:1796,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:1818,1
    - Dst: http_manage_server_side_cookies
      Src: /src/haproxy/src/http_ana.c:1825,1
    - Dst: http_check_response_for_cacheability
      Src: /src/haproxy/src/http_ana.c:1831,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1836,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1851,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_ana.c:1852,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_ana.c:1857,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1857,1
    - Dst: s30tob64
      Src: /src/haproxy/src/http_ana.c:1862,1
    - Dst: s30tob64
      Src: /src/haproxy/src/http_ana.c:1871,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ana.c:1878,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ana.c:1882,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ana.c:1885,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ana.c:1888,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ana.c:1891,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:1893,1
    - Dst: http_add_header
      Src: /src/haproxy/src/http_ana.c:1893,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:1893,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:1893,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1897,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:1912,1
    - Dst: http_add_header
      Src: /src/haproxy/src/http_ana.c:1912,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:1912,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:1912,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ana.c:1929,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1930,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1930,1
    - Dst: send_log
      Src: /src/haproxy/src/http_ana.c:1931,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1933,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1933,1
    - Dst: http_eval_after_res_rules
      Src: /src/haproxy/src/http_ana.c:1943,1
    - Dst: HAS_FILTERS
      Src: /src/haproxy/src/http_ana.c:1949,1
    - Dst: log_orig_proxy
      Src: /src/haproxy/src/http_ana.c:1957,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/http_ana.c:1960,1
    - Dst: struct stream*::do_log
      Src: /src/haproxy/src/http_ana.c:1970,1
    - Dst: log_orig
      Src: /src/haproxy/src/http_ana.c:1970,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:1975,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1982,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1983,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1985,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1986,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1987,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1987,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:1988,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1994,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1995,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1997,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:1998,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:1999,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:1999,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2006,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2007,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2009,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:2010,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2011,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:2011,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:2012,1
    - Dst: stream_inc_http_fail_ctr
      Src: /src/haproxy/src/http_ana.c:2018,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2019,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:2020,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2021,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:2021,1
    - Dst: health_adjust
      Src: /src/haproxy/src/http_ana.c:2022,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:2022,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:2024,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:2028,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:2029,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:2029,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:2034,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:2040,1
    - Dst: channel_dont_close
      Src: /src/haproxy/src/http_ana.c:2045,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:2046,1
    - Dst: channel_dont_close
      Src: /src/haproxy/src/http_ana.c:2051,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:2052,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 201
    argCount: 4
    argNames:
    - s
    - rep
    - an_bit
    - px
    argTypes:
    - struct stream*
    - struct channel*
    - int
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2056
      start: 1721
    functionDepth: 10
    functionLinenumber: 1721
    functionLinenumberEnd: 2056
    functionName: http_process_res_common
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - send_log
    - ist
    - s30tob64
    - HAS_FILTERS
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - http_manage_server_side_cookies
    - stream_inc_http_fail_ctr
    - ist2
    - chunk_appendf
    - __objt_server
    - objt_applet
    - http_eval_after_res_rules
    - log_orig_proxy
    - log_orig
    - http_error_message
    - lf_expr_isempty
    - struct stream*::do_log
    - health_adjust
    - objt_server
    - _HA_ATOMIC_INC
    - stream_report_term_evt
    - htxbuf
    - chunk_printf
    - http_add_header
    - channel_dont_close
    - http_res_get_intercept_rule
    - unlikely
    - http_set_term_flags
    - DBG_TRACE_DEVEL
    - http_reply_and_close
    - http_check_response_for_cacheability
    linkageType: ''
    returnType: int
    signature: http_process_res_common(struct stream *s, struct channel *rep, int
      an_bit, struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/http_ana.c:2095,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:2097,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/http_ana.c:2108,1
    - Dst: HAS_RSP_DATA_FILTERS
      Src: /src/haproxy/src/http_ana.c:2126,1
    - Dst: HAS_RSP_DATA_FILTERS
      Src: /src/haproxy/src/http_ana.c:2135,1
    - Dst: flt_http_payload
      Src: /src/haproxy/src/http_ana.c:2136,1
    - Dst: c_adv
      Src: /src/haproxy/src/http_ana.c:2139,1
    - Dst: c_adv
      Src: /src/haproxy/src/http_ana.c:2142,1
    - Dst: co_data
      Src: /src/haproxy/src/http_ana.c:2142,1
    - Dst: channel_htx_forward_forever
      Src: /src/haproxy/src/http_ana.c:2144,1
    - Dst: co_data
      Src: /src/haproxy/src/http_ana.c:2147,1
    - Dst: HAS_RSP_DATA_FILTERS
      Src: /src/haproxy/src/http_ana.c:2171,1
    - Dst: flt_http_end
      Src: /src/haproxy/src/http_ana.c:2172,1
    - Dst: channel_dont_close
      Src: /src/haproxy/src/http_ana.c:2191,1
    - Dst: co_data
      Src: /src/haproxy/src/http_ana.c:2193,1
    - Dst: http_end_response
      Src: /src/haproxy/src/http_ana.c:2199,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:2201,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:2204,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_ana.c:2222,1
    - Dst: HAS_RSP_DATA_FILTERS
      Src: /src/haproxy/src/http_ana.c:2232,1
    - Dst: channel_dont_close
      Src: /src/haproxy/src/http_ana.c:2233,1
    - Dst: HAS_RSP_DATA_FILTERS
      Src: /src/haproxy/src/http_ana.c:2243,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:2247,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2252,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2253,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2255,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:2256,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2257,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:2257,1
    - Dst: stream_inc_http_fail_ctr
      Src: /src/haproxy/src/http_ana.c:2258,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2264,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2265,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2267,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:2268,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2269,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:2269,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2275,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2276,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2278,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:2279,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2280,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:2280,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:2283,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2287,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:2288,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2289,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:2289,1
    - Dst: health_adjust
      Src: /src/haproxy/src/http_ana.c:2290,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:2290,1
    - Dst: stream_inc_http_fail_ctr
      Src: /src/haproxy/src/http_ana.c:2292,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/http_ana.c:2293,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:2298,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:2299,1
    - Dst: stream_inc_http_fail_ctr
      Src: /src/haproxy/src/http_ana.c:2300,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:2301,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 162
    argCount: 3
    argNames:
    - s
    - res
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 2304
      start: 2087
    functionDepth: 2
    functionLinenumber: 2087
    functionLinenumberEnd: 2304
    functionName: http_response_forward_body
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - channel_htx_forward_forever
    - channel_auto_close
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - stream_inc_http_fail_ctr
    - co_data
    - flt_http_end
    - HAS_RSP_DATA_FILTERS
    - __objt_server
    - htx_is_empty
    - http_end_response
    - health_adjust
    - objt_server
    - _HA_ATOMIC_INC
    - stream_report_term_evt
    - htxbuf
    - c_adv
    - channel_dont_close
    - DBG_TRACE_DEVEL
    - http_set_term_flags
    - http_reply_and_close
    - flt_http_payload
    linkageType: ''
    returnType: int
    signature: http_response_forward_body(struct stream *s, struct channel *res, int
      an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/http_ana.c:2322,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:2332,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2339,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:2341,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2341,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_ana.c:2344,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_ana.c:2345,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_ana.c:2345,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_ana.c:2346,1
    - Dst: isttest
      Src: /src/haproxy/src/http_ana.c:2348,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2361,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:2365,1
    - Dst: build_logline
      Src: /src/haproxy/src/http_ana.c:2370,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:2375,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:2376,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:2377,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_ana.c:2394,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_ana.c:2395,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_ana.c:2395,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_ana.c:2396,1
    - Dst: isttest
      Src: /src/haproxy/src/http_ana.c:2398,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2411,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:2419,1
    - Dst: build_logline
      Src: /src/haproxy/src/http_ana.c:2425,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:2431,1
    - Dst: memset
      Src: /src/haproxy/src/http_ana.c:2445,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:2448,1
    - Dst: memchr
      Src: /src/haproxy/src/http_ana.c:2470,1
    - Dst: b_tail
      Src: /src/haproxy/src/http_ana.c:2472,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_ana.c:2474,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_ana.c:2475,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_ana.c:2475,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_ana.c:2476,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ana.c:2477,1
    - Dst: istend
      Src: /src/haproxy/src/http_ana.c:2478,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:2488,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:2490,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:2495,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2502,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2503,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2506,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2507,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2510,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2511,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2514,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2515,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2519,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2520,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/http_ana.c:2524,1
    - Dst: channel_htx_truncate
      Src: /src/haproxy/src/http_ana.c:2526,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/http_ana.c:2528,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2528,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_ana.c:2534,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2534,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2534,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_ana.c:2535,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2535,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_ana.c:2539,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2539,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2539,1
    - Dst: build_logline
      Src: /src/haproxy/src/http_ana.c:2544,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_ana.c:2545,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2545,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:2545,1
    - Dst: isttest
      Src: /src/haproxy/src/http_ana.c:2548,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_ana.c:2549,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2549,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/http_ana.c:2553,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_ana.c:2557,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:2561,1
    - Dst: http_forward_proxy_resp
      Src: /src/haproxy/src/http_ana.c:2563,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:2572,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/http_ana.c:2576,1
    - Dst: channel_htx_truncate
      Src: /src/haproxy/src/http_ana.c:2582,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:2582,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 202
    argCount: 3
    argNames:
    - rule
    - s
    - txn
    argTypes:
    - struct redirect_rule*
    - struct stream*
    - struct http_txn*
    constantsTouched: []
    func_position:
      end: 2585
      start: 2311
    functionDepth: 4
    functionLinenumber: 2311
    functionLinenumberEnd: 2585
    functionName: http_apply_redirect_rule
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - channel_htx_truncate
    - isttest
    - chunk_memcat
    - htx_add_endof
    - ist
    - free_trash_chunk
    - memset
    - http_get_stline
    - htx_to_buf
    - htx_add_stline
    - alloc_trash_chunk
    - memchr
    - htx_sl_req_uri
    - htx_from_buf
    - ist2
    - b_tail
    - http_parse_path
    - http_forward_proxy_resp
    - istend
    - _HA_ATOMIC_INC
    - htxbuf
    - http_uri_parser_init
    - htx_add_header
    - istptr
    - http_set_term_flags
    - http_find_header
    - build_logline
    linkageType: ''
    returnType: int
    signature: http_apply_redirect_rule(struct redirect_rule *rule, struct stream
      *s, struct http_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/http_ana.c:2599,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_ana.c:2601,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/http_ana.c:2604,1
    - Dst: isalnum
      Src: /src/haproxy/src/http_ana.c:2608,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/http_ana.c:2617,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/http_ana.c:2624,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - s
    - htx
    - px
    argTypes:
    - struct stream*
    - struct htx*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2633
      start: 2594
    functionDepth: 1
    functionLinenumber: 2594
    functionLinenumberEnd: 2633
    functionName: http_req_restrict_header_names
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - htx_get_blk_name
    - htx_get_first_blk
    - htx_get_blk_type
    - htx_get_next_blk
    - isalnum
    - htx_remove_blk
    linkageType: ''
    returnType: enum rule_result
    signature: http_req_restrict_header_names(struct stream *s, struct htx *htx, struct
      proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:2646,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_ana.c:2647,1
    - Dst: regex_exec_match2
      Src: /src/haproxy/src/http_ana.c:2649,1
    - Dst: exp_replace
      Src: /src/haproxy/src/http_ana.c:2652,1
    - Dst: http_replace_header_value
      Src: /src/haproxy/src/http_ana.c:2655,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:2655,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 6
    argNames:
    - s
    - htx
    - name
    - str
    - re
    - full
    argTypes:
    - struct stream*
    - struct htx*
    - struct ist
    - char*
    - struct my_regex*
    - int
    constantsTouched: []
    func_position:
      end: 2659
      start: 2640
    functionDepth: 4
    functionLinenumber: 2640
    functionLinenumberEnd: 2659
    functionName: http_replace_hdrs
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - regex_exec_match2
    - ist2
    - http_replace_header_value
    - get_trash_chunk
    - http_find_header
    - exp_replace
    linkageType: ''
    returnType: int
    signature: "http_replace_hdrs(struct stream* s, struct htx *htx, struct ist name,\n\t\t
      \    const char *str, struct my_regex *re, int full)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:2678,1
    - Dst: http_replace_req_meth
      Src: /src/haproxy/src/http_ana.c:2682,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:2682,1
    - Dst: http_replace_req_path
      Src: /src/haproxy/src/http_ana.c:2687,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:2687,1
    - Dst: http_replace_req_query
      Src: /src/haproxy/src/http_ana.c:2692,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:2692,1
    - Dst: http_replace_req_uri
      Src: /src/haproxy/src/http_ana.c:2697,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:2697,1
    - Dst: http_replace_req_path
      Src: /src/haproxy/src/http_ana.c:2702,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:2702,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - action
    - replace
    - len
    - px
    - s
    argTypes:
    - int
    - char*
    - int
    - struct proxy*
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2710
      start: 2675
    functionDepth: 5
    functionLinenumber: 2675
    functionLinenumberEnd: 2710
    functionName: http_req_replace_stline
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 8
    functionsReached:
    - http_replace_req_uri
    - ist2
    - htxbuf
    - http_replace_req_path
    - http_replace_req_query
    - http_replace_req_meth
    linkageType: ''
    returnType: int
    signature: "http_req_replace_stline(int action, const char *replace, int len,\n\t\t\t
      \   struct proxy *px, struct stream *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:2718,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/http_ana.c:2721,1
    - Dst: ultoa_o
      Src: /src/haproxy/src/http_ana.c:2722,1
    - Dst: isttest
      Src: /src/haproxy/src/http_ana.c:2726,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:2728,1
    - Dst: http_replace_res_status
      Src: /src/haproxy/src/http_ana.c:2731,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:2731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - status
    - reason
    - s
    argTypes:
    - unsigned int
    - struct ist
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2735
      start: 2716
    functionDepth: 3
    functionLinenumber: 2716
    functionLinenumberEnd: 2735
    functionName: http_res_set_status
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 2
    functionsReached:
    - chunk_reset
    - http_replace_res_status
    - isttest
    - ist2
    - ist
    - htxbuf
    - ultoa_o
    linkageType: ''
    returnType: int
    signature: http_res_set_status(unsigned int status, struct ist reason, struct
      stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_sess
      Src: /src/haproxy/src/http_ana.c:2749,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/http_ana.c:2783,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/http_ana.c:2792,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/http_ana.c:2797,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/http_ana.c:2803,1
    - Dst: struct act_rule*::action_ptr
      Src: /src/haproxy/src/http_ana.c:2812,1
    - Dst: send_log
      Src: /src/haproxy/src/http_ana.c:2823,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 148
    argCount: 4
    argNames:
    - px
    - def_rules
    - rules
    - s
    argTypes:
    - struct proxy*
    - struct list*
    - struct list*
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2921
      start: 2746
    functionDepth: 10
    functionLinenumber: 2746
    functionLinenumberEnd: 2921
    functionName: http_req_get_intercept_rule
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - send_log
    - list_for_each_entry
    - task_wakeup
    - mark_tainted
    - strm_sess
    - struct act_rule*::action_ptr
    - acl_match_cond
    linkageType: ''
    returnType: enum rule_result
    signature: "http_req_get_intercept_rule(struct proxy *px, struct list *def_rules,\n\t\t\t\t\t\t
      \   struct list *rules, struct stream *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_sess
      Src: /src/haproxy/src/http_ana.c:2935,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/http_ana.c:2972,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/http_ana.c:2981,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/http_ana.c:2986,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/http_ana.c:2992,1
    - Dst: struct act_rule*::action_ptr
      Src: /src/haproxy/src/http_ana.c:3001,1
    - Dst: send_log
      Src: /src/haproxy/src/http_ana.c:3012,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 141
    argCount: 5
    argNames:
    - px
    - def_rules
    - rules
    - s
    - final
    argTypes:
    - struct proxy*
    - struct list*
    - struct list*
    - struct stream*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 3100
      start: 2932
    functionDepth: 10
    functionLinenumber: 2932
    functionLinenumberEnd: 3100
    functionName: http_res_get_intercept_rule
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - send_log
    - list_for_each_entry
    - task_wakeup
    - mark_tainted
    - strm_sess
    - struct act_rule*::action_ptr
    - acl_match_cond
    linkageType: ''
    returnType: enum rule_result
    signature: "http_res_get_intercept_rule(struct proxy *px, struct list *def_rules,\n\t\t\t\t\t\t
      \   struct list *rules, struct stream *s, uint8_t final)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_prune
      Src: /src/haproxy/src/http_ana.c:3119,1
    - Dst: vars_init_head
      Src: /src/haproxy/src/http_ana.c:3120,1
    - Dst: http_res_get_intercept_rule
      Src: /src/haproxy/src/http_ana.c:3126,1
    - Dst: http_res_get_intercept_rule
      Src: /src/haproxy/src/http_ana.c:3130,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 3136
      start: 3107
    functionDepth: 11
    functionLinenumber: 3107
    functionLinenumberEnd: 3136
    functionName: http_eval_after_res_rules
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - http_res_get_intercept_rule
    - vars_prune
    - vars_init_head
    linkageType: ''
    returnType: int
    signature: http_eval_after_res_rules(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:3154,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:3156,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3156,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http_ana.c:3219,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http_ana.c:3229,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http_ana.c:3241,1
    - Dst: http_find_cookie_value_end
      Src: /src/haproxy/src/http_ana.c:3245,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http_ana.c:3249,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:3286,1
    - Dst: memmove
      Src: /src/haproxy/src/http_ana.c:3291,1
    - Dst: memmove
      Src: /src/haproxy/src/http_ana.c:3298,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:3317,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/http_ana.c:3320,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ana.c:3321,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_ana.c:3325,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:3340,1
    - Dst: memchr
      Src: /src/haproxy/src/http_ana.c:3374,1
    - Dst: b64tos30
      Src: /src/haproxy/src/http_ana.c:3384,1
    - Dst: memchr
      Src: /src/haproxy/src/http_ana.c:3389,1
    - Dst: b64tos30
      Src: /src/haproxy/src/http_ana.c:3391,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:3439,1
    - Dst: memmove
      Src: /src/haproxy/src/http_ana.c:3480,1
    - Dst: htx_change_blk_value_len
      Src: /src/haproxy/src/http_ana.c:3530,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/http_ana.c:3532,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 170
    argCount: 2
    argNames:
    - s
    - req
    argTypes:
    - struct stream*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 3535
      start: 3144
    functionDepth: 3
    functionLinenumber: 3144
    functionLinenumberEnd: 3535
    functionName: http_manage_client_side_cookies
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 2
    functionsReached:
    - ha_alert
    - http_find_cookie_value_end
    - memchr
    - ist
    - htxbuf
    - pool_alloc
    - b64tos30
    - HTTP_IS_SPHT
    - memmove
    - http_remove_header
    - unlikely
    - memcmp
    - memcpy
    - http_find_header
    - htx_change_blk_value_len
    linkageType: ''
    returnType: void
    signature: http_manage_client_side_cookies(struct stream *s, struct channel *req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:3552,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:3555,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3555,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http_ana.c:3619,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http_ana.c:3630,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http_ana.c:3643,1
    - Dst: http_find_cookie_value_end
      Src: /src/haproxy/src/http_ana.c:3647,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http_ana.c:3651,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:3677,1
    - Dst: memmove
      Src: /src/haproxy/src/http_ana.c:3682,1
    - Dst: memmove
      Src: /src/haproxy/src/http_ana.c:3689,1
    - Dst: htx_change_blk_value_len
      Src: /src/haproxy/src/http_ana.c:3699,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:3711,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/http_ana.c:3713,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ana.c:3714,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_ana.c:3719,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_ana.c:3724,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:3728,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/http_ana.c:3748,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:3768,1
    - Dst: http_replace_header_value
      Src: /src/haproxy/src/http_ana.c:3770,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:3770,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:3786,1
    - Dst: http_replace_header_value
      Src: /src/haproxy/src/http_ana.c:3788,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:3788,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 115
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - struct stream*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 3807
      start: 3542
    functionDepth: 4
    functionLinenumber: 3542
    functionLinenumberEnd: 3807
    functionName: http_manage_server_side_cookies
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - http_find_cookie_value_end
    - objt_server
    - ist2
    - http_replace_header_value
    - ist
    - htxbuf
    - pool_alloc
    - http_remove_header
    - HTTP_IS_SPHT
    - memmove
    - unlikely
    - memcmp
    - memcpy
    - http_find_header
    - htx_change_blk_value_len
    linkageType: ''
    returnType: void
    signature: http_manage_server_side_cookies(struct stream *s, struct channel *res)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:3824,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:3828,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3828,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_ana.c:3829,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3829,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:3837,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3837,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:3846,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3846,1
    - Dst: istmatchi
      Src: /src/haproxy/src/http_ana.c:3850,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3850,1
    - Dst: istmatchi
      Src: /src/haproxy/src/http_ana.c:3851,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3851,1
    - Dst: istmatchi
      Src: /src/haproxy/src/http_ana.c:3852,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3852,1
    - Dst: istmatchi
      Src: /src/haproxy/src/http_ana.c:3853,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3853,1
    - Dst: istmatchi
      Src: /src/haproxy/src/http_ana.c:3857,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3857,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - s
    - req
    argTypes:
    - struct stream*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 3873
      start: 3814
    functionDepth: 3
    functionLinenumber: 3814
    functionLinenumberEnd: 3873
    functionName: http_check_request_for_cacheability
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - istmatchi
    - ist
    - htxbuf
    - isteqi
    - http_find_header
    linkageType: ''
    returnType: void
    signature: http_check_request_for_cacheability(struct stream *s, struct channel
      *req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:3893,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:3895,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3895,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_ana.c:3896,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3896,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:3905,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3905,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_ana.c:3906,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3906,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_ana.c:3912,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3912,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_ana.c:3917,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3917,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_ana.c:3918,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3918,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_ana.c:3919,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3919,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_ana.c:3920,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3920,1
    - Dst: istmatchi
      Src: /src/haproxy/src/http_ana.c:3925,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3925,1
    - Dst: istmatchi
      Src: /src/haproxy/src/http_ana.c:3930,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3930,1
    - Dst: istmatchi
      Src: /src/haproxy/src/http_ana.c:3935,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3935,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:3951,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3951,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:3959,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3959,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:3961,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:3961,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 58
    argCount: 2
    argNames:
    - s
    - res
    argTypes:
    - struct stream*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 3970
      start: 3878
    functionDepth: 3
    functionLinenumber: 3878
    functionLinenumberEnd: 3970
    functionName: http_check_response_for_cacheability
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - istmatchi
    - ist
    - htxbuf
    - isteqi
    - http_find_header
    linkageType: ''
    returnType: void
    signature: http_check_response_for_cacheability(struct stream *s, struct channel
      *res)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:3994,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_ana.c:3995,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_ana.c:3996,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_ana.c:3998,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_ana.c:3999,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:4006,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - s
    - txn
    - px
    argTypes:
    - struct stream*
    - struct http_txn*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 4010
      start: 3981
    functionDepth: 4
    functionLinenumber: 3981
    functionLinenumberEnd: 4010
    functionName: http_stats_check_uri
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - htx_sl_req_uri
    - htxbuf
    - http_uri_parser_init
    - http_get_stline
    - memcmp
    - http_parse_path
    linkageType: ''
    returnType: int
    signature: http_stats_check_uri(struct stream *s, struct http_txn *txn, struct
      proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/http_ana.c:4028,1
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/http_ana.c:4029,1
    - Dst: watcher_init
      Src: /src/haproxy/src/http_ana.c:4041,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:4043,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_ana.c:4044,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/src/http_ana.c:4045,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/src/http_ana.c:4046,1
    - Dst: HTX_SL_REQ_ULEN
      Src: /src/haproxy/src/http_ana.c:4046,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:4049,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:4056,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:4064,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:4072,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:4079,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:4087,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:4095,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:4103,1
    - Dst: strncmp
      Src: /src/haproxy/src/http_ana.c:4108,1
    - Dst: memcmp
      Src: /src/haproxy/src/http_ana.c:4120,1
    - Dst: strlen
      Src: /src/haproxy/src/http_ana.c:4120,1
    - Dst: strlen
      Src: /src/haproxy/src/http_ana.c:4126,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/src/http_ana.c:4128,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_ana.c:4141,1
    - Dst: invalid_char
      Src: /src/haproxy/src/http_ana.c:4143,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/http_ana.c:4154,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/http_ana.c:4155,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 125
    argCount: 3
    argNames:
    - s
    - req
    - px
    argTypes:
    - struct stream*
    - struct channel*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 4187
      start: 4020
    functionDepth: 2
    functionLinenumber: 4020
    functionLinenumberEnd: 4187
    functionName: http_handle_stats
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - __sc_appctx
    - strncmp
    - list_for_each_entry
    - strlen
    - HTX_SL_REQ_UPTR
    - htxbuf
    - memcpy
    - http_get_stline
    - invalid_char
    - watcher_init
    - memcmp
    - applet_reserve_svcctx
    - acl_match_cond
    - HTX_SL_REQ_ULEN
    linkageType: ''
    returnType: int
    signature: http_handle_stats(struct stream *s, struct channel *req, struct proxy
      *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:4213,1
    - Dst: http_handle_expect_hdr
      Src: /src/haproxy/src/http_ana.c:4229,1
    - Dst: htx_get_tail_type
      Src: /src/haproxy/src/http_ana.c:4239,1
    - Dst: channel_htx_full
      Src: /src/haproxy/src/http_ana.c:4240,1
    - Dst: sc_waiting_room
      Src: /src/haproxy/src/http_ana.c:4241,1
    - Dst: chn_prod
      Src: /src/haproxy/src/http_ana.c:4241,1
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/http_ana.c:4248,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/http_ana.c:4248,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_ana.c:4249,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/http_ana.c:4251,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/http_ana.c:4257,1
    - Dst: chn_prod
      Src: /src/haproxy/src/http_ana.c:4264,1
    - Dst: tick_isset
      Src: /src/haproxy/src/http_ana.c:4265,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/http_ana.c:4266,1
    - Dst: http_set_term_flags
      Src: /src/haproxy/src/http_ana.c:4274,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:4275,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:4275,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:4283,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_ana.c:4285,1
    - Dst: stream_inc_http_fail_ctr
      Src: /src/haproxy/src/http_ana.c:4292,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 75
    argCount: 4
    argNames:
    - s
    - chn
    - time
    - bytes
    argTypes:
    - struct stream*
    - struct channel*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 4294
      start: 4204
    functionDepth: 1
    functionLinenumber: 4204
    functionLinenumberEnd: 4294
    functionName: http_wait_for_msg_body
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - htx_get_blksz
    - channel_htx_full
    - tick_is_expired
    - sc_waiting_room
    - stream_inc_http_fail_ctr
    - _HA_ATOMIC_INC
    - http_handle_expect_hdr
    - chn_prod
    - htx_get_first_blk
    - htxbuf
    - htx_get_tail_type
    - htx_get_blk_type
    - http_set_term_flags
    - tick_add_ifset
    - http_reply_and_close
    - tick_isset
    - htx_get_next_blk
    - http_error_message
    linkageType: ''
    returnType: enum rule_result
    signature: "http_wait_for_msg_body(struct stream *s, struct channel *chn,\n\t\t\t\t\tunsigned
      int time, unsigned int bytes)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/http_ana.c:4310,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_ana.c:4314,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:4316,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:4321,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_ana.c:4322,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_ana.c:4323,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_ana.c:4323,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_ana.c:4324,1
    - Dst: isttest
      Src: /src/haproxy/src/http_ana.c:4325,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:4328,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:4330,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/http_ana.c:4335,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/http_ana.c:4337,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4338,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4338,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4338,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_ana.c:4344,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4344,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4344,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_ana.c:4345,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4345,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4345,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_ana.c:4346,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4346,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/http_ana.c:4349,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_ana.c:4353,1
    - Dst: http_forward_proxy_resp
      Src: /src/haproxy/src/http_ana.c:4360,1
    - Dst: sc_abort
      Src: /src/haproxy/src/http_ana.c:4364,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/http_ana.c:4365,1
    - Dst: srv_inc_sess_ctr
      Src: /src/haproxy/src/http_ana.c:4371,1
    - Dst: srv_set_sess_last
      Src: /src/haproxy/src/http_ana.c:4372,1
    - Dst: channel_htx_truncate
      Src: /src/haproxy/src/http_ana.c:4378,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 2
    argNames:
    - s
    - sc
    argTypes:
    - struct stream*
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 4379
      start: 4296
    functionDepth: 4
    functionLinenumber: 4296
    functionLinenumberEnd: 4379
    functionName: http_perform_server_redirect
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - channel_htx_truncate
    - chunk_reset
    - chunk_memcat
    - isttest
    - htx_add_endof
    - ist
    - htx_to_buf
    - http_get_stline
    - htx_add_stline
    - htx_sl_req_uri
    - sc_abort
    - htx_from_buf
    - ist2
    - __objt_server
    - http_parse_path
    - http_forward_proxy_resp
    - htxbuf
    - srv_inc_sess_ctr
    - http_uri_parser_init
    - htx_add_header
    - sc_shutdown
    - srv_set_sess_last
    linkageType: ''
    returnType: void
    signature: http_perform_server_redirect(struct stream *s, struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/http_ana.c:4389,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:4391,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:4392,1
    - Dst: channel_dont_read
      Src: /src/haproxy/src/http_ana.c:4406,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:4426,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/http_ana.c:4439,1
    - Dst: sc_schedule_abort
      Src: /src/haproxy/src/http_ana.c:4458,1
    - Dst: sc_schedule_shutdown
      Src: /src/haproxy/src/http_ana.c:4459,1
    - Dst: co_data
      Src: /src/haproxy/src/http_ana.c:4470,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:4474,1
    - Dst: channel_dont_read
      Src: /src/haproxy/src/http_ana.c:4485,1
    - Dst: HAS_REQ_DATA_FILTERS
      Src: /src/haproxy/src/http_ana.c:4501,1
    - Dst: c_adv
      Src: /src/haproxy/src/http_ana.c:4504,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:4504,1
    - Dst: co_data
      Src: /src/haproxy/src/http_ana.c:4504,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/http_ana.c:4506,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/http_ana.c:4507,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:4508,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 4509
      start: 4384
    functionDepth: 1
    functionLinenumber: 4384
    functionLinenumberEnd: 4509
    functionName: http_end_request
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - channel_auto_read
    - co_data
    - htxbuf
    - sc_schedule_abort
    - channel_dont_read
    - DBG_TRACE_DEVEL
    - sc_schedule_shutdown
    - HAS_REQ_DATA_FILTERS
    - c_adv
    - unlikely
    - channel_auto_close
    linkageType: ''
    returnType: void
    signature: http_end_request(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/http_ana.c:4520,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:4522,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:4523,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/http_ana.c:4541,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/http_ana.c:4551,1
    - Dst: sc_schedule_abort
      Src: /src/haproxy/src/http_ana.c:4561,1
    - Dst: sc_schedule_shutdown
      Src: /src/haproxy/src/http_ana.c:4562,1
    - Dst: co_data
      Src: /src/haproxy/src/http_ana.c:4573,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:4577,1
    - Dst: channel_htx_truncate
      Src: /src/haproxy/src/http_ana.c:4584,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:4584,1
    - Dst: channel_abort
      Src: /src/haproxy/src/http_ana.c:4585,1
    - Dst: HAS_RSP_DATA_FILTERS
      Src: /src/haproxy/src/http_ana.c:4601,1
    - Dst: c_adv
      Src: /src/haproxy/src/http_ana.c:4604,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:4604,1
    - Dst: co_data
      Src: /src/haproxy/src/http_ana.c:4604,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/http_ana.c:4606,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/http_ana.c:4607,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/http_ana.c:4608,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 4609
      start: 4515
    functionDepth: 1
    functionLinenumber: 4515
    functionLinenumberEnd: 4609
    functionName: http_end_response
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - channel_htx_truncate
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - channel_auto_read
    - co_data
    - htxbuf
    - HAS_RSP_DATA_FILTERS
    - sc_schedule_abort
    - DBG_TRACE_DEVEL
    - sc_schedule_shutdown
    - channel_abort
    - c_adv
    - unlikely
    - channel_auto_close
    linkageType: ''
    returnType: void
    signature: http_end_response(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:4622,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/http_ana.c:4629,1
    - Dst: http_eval_after_res_rules
      Src: /src/haproxy/src/http_ana.c:4629,1
    - Dst: htx_skip_msg_payload
      Src: /src/haproxy/src/http_ana.c:4633,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/http_ana.c:4635,1
    - Dst: channel_abort
      Src: /src/haproxy/src/http_ana.c:4636,1
    - Dst: channel_htx_erase
      Src: /src/haproxy/src/http_ana.c:4637,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:4637,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/http_ana.c:4639,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/http_ana.c:4640,1
    - Dst: sc_schedule_abort
      Src: /src/haproxy/src/http_ana.c:4641,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:4643,1
    - Dst: co_data
      Src: /src/haproxy/src/http_ana.c:4652,1
    - Dst: c_adv
      Src: /src/haproxy/src/http_ana.c:4653,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - s
    - final
    argTypes:
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 4657
      start: 4618
    functionDepth: 12
    functionLinenumber: 4618
    functionLinenumberEnd: 4657
    functionName: http_forward_proxy_resp
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 3
    functionsReached:
    - htx_is_empty
    - channel_auto_read
    - co_data
    - htxbuf
    - sc_schedule_abort
    - channel_htx_erase
    - htx_skip_msg_payload
    - channel_abort
    - c_adv
    - http_eval_after_res_rules
    - channel_auto_close
    linkageType: ''
    returnType: int
    signature: http_forward_proxy_resp(struct stream *s, int final)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:4667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - s
    - sc
    - err
    - finst
    - msg
    argTypes:
    - struct stream*
    - struct stconn*
    - int
    - int
    - struct http_reply*
    constantsTouched: []
    func_position:
      end: 4668
      start: 4659
    functionDepth: 1
    functionLinenumber: 4659
    functionLinenumberEnd: 4668
    functionName: http_server_error
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - http_reply_and_close
    linkageType: ''
    returnType: void
    signature: "http_server_error(struct stream *s, struct stconn *sc, int err,\n\t\t
      \      int finst, struct http_reply *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: channel_htx_truncate
      Src: /src/haproxy/src/http_ana.c:4673,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:4673,1
    - Dst: http_reply_message
      Src: /src/haproxy/src/http_ana.c:4677,1
    - Dst: http_reply_and_close
      Src: /src/haproxy/src/http_ana.c:4689,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:4689,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/http_ana.c:4700,1
    - Dst: channel_abort
      Src: /src/haproxy/src/http_ana.c:4701,1
    - Dst: channel_htx_erase
      Src: /src/haproxy/src/http_ana.c:4702,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ana.c:4702,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/http_ana.c:4703,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/http_ana.c:4704,1
    - Dst: sc_schedule_abort
      Src: /src/haproxy/src/http_ana.c:4705,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - s
    - status
    - msg
    argTypes:
    - struct stream*
    - short
    - struct http_reply*
    constantsTouched: []
    func_position:
      end: 4706
      start: 4670
    functionDepth: 1
    functionLinenumber: 4670
    functionLinenumberEnd: 4706
    functionName: http_reply_and_close
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 14
    functionsReached:
    - channel_htx_truncate
    - channel_auto_close
    - channel_auto_read
    - http_reply_message
    - htxbuf
    - sc_schedule_abort
    - channel_htx_erase
    - http_reply_and_close
    - channel_abort
    - http_error_message
    linkageType: ''
    returnType: void
    signature: http_reply_and_close(struct stream *s, short status, struct http_reply
      *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_fe
      Src: /src/haproxy/src/http_ana.c:4716,1
    - Dst: strm_fe
      Src: /src/haproxy/src/http_ana.c:4717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 4720
      start: 4708
    functionDepth: 1
    functionLinenumber: 4708
    functionLinenumberEnd: 4720
    functionName: http_error_message
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 11
    functionsReached:
    - strm_fe
    linkageType: ''
    returnType: struct http_reply
    signature: '*http_error_message(struct stream *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:4752,1
    - Dst: b_is_null
      Src: /src/haproxy/src/http_ana.c:4762,1
    - Dst: htx_copy_msg
      Src: /src/haproxy/src/http_ana.c:4763,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/http_ana.c:4775,1
    - Dst: build_logline
      Src: /src/haproxy/src/http_ana.c:4778,1
    - Dst: ultoa
      Src: /src/haproxy/src/http_ana.c:4782,1
    - Dst: http_get_reason
      Src: /src/haproxy/src/http_ana.c:4783,1
    - Dst: b_data
      Src: /src/haproxy/src/http_ana.c:4785,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/http_ana.c:4787,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4787,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4787,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4787,1
    - Dst: ultoa
      Src: /src/haproxy/src/http_ana.c:4792,1
    - Dst: b_data
      Src: /src/haproxy/src/http_ana.c:4792,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/http_ana.c:4795,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/http_ana.c:4797,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/http_ana.c:4802,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/http_ana.c:4803,1
    - Dst: build_logline
      Src: /src/haproxy/src/http_ana.c:4804,1
    - Dst: b_data
      Src: /src/haproxy/src/http_ana.c:4805,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_ana.c:4805,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:4805,1
    - Dst: b_head
      Src: /src/haproxy/src/http_ana.c:4805,1
    - Dst: b_data
      Src: /src/haproxy/src/http_ana.c:4805,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/http_ana.c:4806,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/http_ana.c:4809,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/http_ana.c:4811,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_ana.c:4814,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4814,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4814,1
    - Dst: b_data
      Src: /src/haproxy/src/http_ana.c:4815,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_ana.c:4815,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4815,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4815,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/http_ana.c:4816,1
    - Dst: b_data
      Src: /src/haproxy/src/http_ana.c:4817,1
    - Dst: htx_add_data_atonce
      Src: /src/haproxy/src/http_ana.c:4817,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:4817,1
    - Dst: b_head
      Src: /src/haproxy/src/http_ana.c:4817,1
    - Dst: b_data
      Src: /src/haproxy/src/http_ana.c:4817,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/http_ana.c:4825,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 79
    argCount: 3
    argNames:
    - s
    - htx
    - reply
    argTypes:
    - struct stream*
    - struct htx*
    - struct http_reply*
    constantsTouched: []
    func_position:
      end: 4835
      start: 4727
    functionDepth: 2
    functionLinenumber: 4727
    functionLinenumberEnd: 4835
    functionName: http_reply_to_htx
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - htx_add_data_atonce
    - htx_add_endof
    - ist
    - b_head
    - htx_copy_msg
    - free_trash_chunk
    - http_get_reason
    - htx_add_stline
    - alloc_trash_chunk
    - LIST_ISEMPTY
    - list_for_each_entry
    - ist2
    - b_is_null
    - http_error_message
    - b_data
    - ultoa
    - htx_add_header
    - build_logline
    linkageType: ''
    returnType: int
    signature: http_reply_to_htx(struct stream *s, struct htx *htx, struct http_reply
      *reply)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_from_buf
      Src: /src/haproxy/src/http_ana.c:4847,1
    - Dst: channel_htx_truncate
      Src: /src/haproxy/src/http_ana.c:4851,1
    - Dst: http_reply_to_htx
      Src: /src/haproxy/src/http_ana.c:4853,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_ana.c:4856,1
    - Dst: http_forward_proxy_resp
      Src: /src/haproxy/src/http_ana.c:4857,1
    - Dst: channel_htx_truncate
      Src: /src/haproxy/src/http_ana.c:4862,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - s
    - reply
    argTypes:
    - struct stream*
    - struct http_reply*
    constantsTouched: []
    func_position:
      end: 4866
      start: 4844
    functionDepth: 13
    functionLinenumber: 4844
    functionLinenumberEnd: 4866
    functionName: http_reply_message
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - channel_htx_truncate
    - http_forward_proxy_resp
    - htx_from_buf
    - http_reply_to_htx
    - htx_to_buf
    linkageType: ''
    returnType: int
    signature: http_reply_message(struct stream *s, struct http_reply *reply)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_server_error
      Src: /src/haproxy/src/http_ana.c:4886,1
    - Dst: http_server_error
      Src: /src/haproxy/src/http_ana.c:4890,1
    - Dst: http_server_error
      Src: /src/haproxy/src/http_ana.c:4894,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:4895,1
    - Dst: http_server_error
      Src: /src/haproxy/src/http_ana.c:4899,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:4900,1
    - Dst: http_server_error
      Src: /src/haproxy/src/http_ana.c:4904,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:4906,1
    - Dst: http_server_error
      Src: /src/haproxy/src/http_ana.c:4910,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:4912,1
    - Dst: http_server_error
      Src: /src/haproxy/src/http_ana.c:4916,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:4918,1
    - Dst: http_server_error
      Src: /src/haproxy/src/http_ana.c:4922,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_ana.c:4923,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - s
    - sc
    argTypes:
    - struct stream*
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 4925
      start: 4879
    functionDepth: 2
    functionLinenumber: 4879
    functionLinenumberEnd: 4925
    functionName: http_return_srv_error
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - http_server_error
    - http_error_message
    linkageType: ''
    returnType: void
    signature: http_return_srv_error(struct stream *s, struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ana.c:4944,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:4945,1
    - Dst: isteqi
      Src: /src/haproxy/src/http_ana.c:4945,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:4945,1
    - Dst: http_reply_100_continue
      Src: /src/haproxy/src/http_ana.c:4946,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/http_ana.c:4948,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - s
    - htx
    - msg
    argTypes:
    - struct stream*
    - struct htx*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 4953
      start: 4931
    functionDepth: 3
    functionLinenumber: 4931
    functionLinenumberEnd: 4953
    functionName: http_handle_expect_hdr
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 2
    functionsReached:
    - ist2
    - http_reply_100_continue
    - unlikely
    - http_remove_header
    - isteqi
    - http_find_header
    linkageType: ''
    returnType: int
    signature: http_handle_expect_hdr(struct stream *s, struct htx *htx, struct http_msg
      *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_from_buf
      Src: /src/haproxy/src/http_ana.c:4961,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/http_ana.c:4966,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4967,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4967,1
    - Dst: ist
      Src: /src/haproxy/src/http_ana.c:4967,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/http_ana.c:4972,1
    - Dst: http_forward_proxy_resp
      Src: /src/haproxy/src/http_ana.c:4975,1
    - Dst: channel_htx_truncate
      Src: /src/haproxy/src/http_ana.c:4982,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 4984
      start: 4958
    functionDepth: 13
    functionLinenumber: 4958
    functionLinenumberEnd: 4984
    functionName: http_reply_100_continue
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - channel_htx_truncate
    - http_forward_proxy_resp
    - htx_from_buf
    - htx_add_endof
    - ist
    - htx_add_stline
    linkageType: ''
    returnType: int
    signature: http_reply_100_continue(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_first
      Src: /src/haproxy/src/http_ana.c:4996,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/http_ana.c:4996,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/http_ana.c:4997,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/http_ana.c:4998,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/http_ana.c:5006,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/http_ana.c:5010,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/http_ana.c:5013,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ana.c:5016,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/http_ana.c:5020,1
    - Dst: isttrim
      Src: /src/haproxy/src/http_ana.c:5021,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_ana.c:5023,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - htx
    - cap
    - cap_hdr
    argTypes:
    - struct htx*
    - char**
    - struct cap_hdr*
    constantsTouched: []
    func_position:
      end: 5028
      start: 4991
    functionDepth: 1
    functionLinenumber: 4991
    functionLinenumberEnd: 5028
    functionName: http_capture_headers
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 2
    functionsReached:
    - ha_alert
    - htx_get_blk_name
    - isttrim
    - htx_get_blk
    - htx_get_blk_type
    - strncasecmp
    - pool_alloc
    - htx_get_blk_value
    - memcpy
    - htx_get_next
    - htx_get_first
    linkageType: ''
    returnType: void
    signature: http_capture_headers(struct htx *htx, char **cap, struct cap_hdr *cap_hdr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http_ana.c:5057,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http_ana.c:5062,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/http_ana.c:5073,1
    - Dst: memmove
      Src: /src/haproxy/src/http_ana.c:5077,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - start
    - end
    - from
    - next
    argTypes:
    - char*
    - char*
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 5079
      start: 5047
    functionDepth: 0
    functionLinenumber: 5047
    functionLinenumberEnd: 5079
    functionName: http_del_hdr_value
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - HTTP_IS_SPHT
    - memmove
    linkageType: ''
    returnType: int
    signature: http_del_hdr_value(char *start, char *end, char **from, char *next)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/http_ana.c:5087,1
    - Dst: istcat
      Src: /src/haproxy/src/http_ana.c:5089,1
    - Dst: htx_sl_req_meth
      Src: /src/haproxy/src/http_ana.c:5089,1
    - Dst: istcat
      Src: /src/haproxy/src/http_ana.c:5095,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_ana.c:5095,1
    - Dst: istcat
      Src: /src/haproxy/src/http_ana.c:5101,1
    - Dst: htx_sl_req_vsn
      Src: /src/haproxy/src/http_ana.c:5101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - sl
    - str
    - len
    argTypes:
    - struct htx_sl*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 5104
      start: 5085
    functionDepth: 1
    functionLinenumber: 5085
    functionLinenumberEnd: 5104
    functionName: http_fmt_req_line
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - htx_sl_req_uri
    - ist2
    - htx_sl_req_meth
    - htx_sl_req_vsn
    - istcat
    linkageType: ''
    returnType: size_t
    signature: http_fmt_req_line(const struct htx_sl *sl, char *str, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_sess
      Src: /src/haproxy/src/http_ana.c:5111,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_ana.c:5114,1
    - Dst: objt_conn
      Src: /src/haproxy/src/http_ana.c:5116,1
    - Dst: __objt_conn
      Src: /src/haproxy/src/http_ana.c:5116,1
    - Dst: sc_conn
      Src: /src/haproxy/src/http_ana.c:5117,1
    - Dst: __sc_conn
      Src: /src/haproxy/src/http_ana.c:5117,1
    - Dst: HTX_SL_P1_LEN
      Src: /src/haproxy/src/http_ana.c:5119,1
    - Dst: UBOUND
      Src: /src/haproxy/src/http_ana.c:5120,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:5121,1
    - Dst: HTX_SL_P1_PTR
      Src: /src/haproxy/src/http_ana.c:5121,1
    - Dst: HTX_SL_P2_LEN
      Src: /src/haproxy/src/http_ana.c:5124,1
    - Dst: UBOUND
      Src: /src/haproxy/src/http_ana.c:5125,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:5126,1
    - Dst: HTX_SL_P2_PTR
      Src: /src/haproxy/src/http_ana.c:5126,1
    - Dst: HTX_SL_P3_LEN
      Src: /src/haproxy/src/http_ana.c:5129,1
    - Dst: UBOUND
      Src: /src/haproxy/src/http_ana.c:5130,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:5131,1
    - Dst: HTX_SL_P3_PTR
      Src: /src/haproxy/src/http_ana.c:5131,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/http_ana.c:5134,1
    - Dst: write
      Src: /src/haproxy/src/http_ana.c:5134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - dir
    - s
    - sl
    argTypes:
    - char*
    - struct stream*
    - struct htx_sl*
    constantsTouched: []
    func_position:
      end: 5135
      start: 5109
    functionDepth: 1
    functionLinenumber: 5109
    functionLinenumberEnd: 5135
    functionName: http_debug_stline
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 2
    functionsReached:
    - DISGUISE
    - HTX_SL_P2_PTR
    - write
    - HTX_SL_P1_LEN
    - UBOUND
    - HTX_SL_P2_LEN
    - chunk_memcat
    - HTX_SL_P3_LEN
    - __objt_conn
    - objt_conn
    - chunk_printf
    - strm_sess
    - __sc_conn
    - HTX_SL_P3_PTR
    - HTX_SL_P1_PTR
    - sc_conn
    linkageType: ''
    returnType: void
    signature: http_debug_stline(const char *dir, struct stream *s, const struct htx_sl
      *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_sess
      Src: /src/haproxy/src/http_ana.c:5142,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_ana.c:5145,1
    - Dst: objt_conn
      Src: /src/haproxy/src/http_ana.c:5147,1
    - Dst: __objt_conn
      Src: /src/haproxy/src/http_ana.c:5147,1
    - Dst: sc_conn
      Src: /src/haproxy/src/http_ana.c:5148,1
    - Dst: __sc_conn
      Src: /src/haproxy/src/http_ana.c:5148,1
    - Dst: UBOUND
      Src: /src/haproxy/src/http_ana.c:5151,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:5152,1
    - Dst: UBOUND
      Src: /src/haproxy/src/http_ana.c:5157,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ana.c:5158,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/http_ana.c:5161,1
    - Dst: write
      Src: /src/haproxy/src/http_ana.c:5161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - dir
    - s
    - n
    - v
    argTypes:
    - char*
    - struct stream*
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 5162
      start: 5140
    functionDepth: 1
    functionLinenumber: 5140
    functionLinenumberEnd: 5162
    functionName: http_debug_hdr
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 2
    functionsReached:
    - DISGUISE
    - write
    - UBOUND
    - chunk_memcat
    - __objt_conn
    - objt_conn
    - chunk_printf
    - strm_sess
    - __sc_conn
    - sc_conn
    linkageType: ''
    returnType: void
    signature: http_debug_hdr(const char *dir, struct stream *s, const struct ist
      n, const struct ist v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txn
    argTypes:
    - struct http_txn*
    constantsTouched: []
    func_position:
      end: 5168
      start: 5164
    functionDepth: 0
    functionLinenumber: 5164
    functionLinenumberEnd: 5168
    functionName: http_txn_reset_req
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: http_txn_reset_req(struct http_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - txn
    argTypes:
    - struct http_txn*
    constantsTouched: []
    func_position:
      end: 5174
      start: 5170
    functionDepth: 0
    functionLinenumber: 5170
    functionLinenumberEnd: 5174
    functionName: http_txn_reset_res
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: http_txn_reset_res(struct http_txn *txn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/http_ana.c:5186,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/http_ana.c:5192,1
    - Dst: write_u32
      Src: /src/haproxy/src/http_ana.c:5197,1
    - Dst: http_txn_reset_req
      Src: /src/haproxy/src/http_ana.c:5206,1
    - Dst: http_txn_reset_res
      Src: /src/haproxy/src/http_ana.c:5207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 5220
      start: 5181
    functionDepth: 1
    functionLinenumber: 5181
    functionLinenumberEnd: 5220
    functionName: http_create_txn
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 1
    functionsReached:
    - http_txn_reset_req
    - http_txn_reset_res
    - pool_alloc
    - sc_ep_test
    - write_u32
    linkageType: ''
    returnType: struct http_txn
    signature: '*http_create_txn(struct stream *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free
      Src: /src/haproxy/src/http_ana.c:5228,1
    - Dst: pool_free
      Src: /src/haproxy/src/http_ana.c:5229,1
    - Dst: pool_free
      Src: /src/haproxy/src/http_ana.c:5230,1
    - Dst: pool_free
      Src: /src/haproxy/src/http_ana.c:5231,1
    - Dst: vars_prune
      Src: /src/haproxy/src/http_ana.c:5238,1
    - Dst: vars_prune
      Src: /src/haproxy/src/http_ana.c:5239,1
    - Dst: b_free
      Src: /src/haproxy/src/http_ana.c:5241,1
    - Dst: pool_free
      Src: /src/haproxy/src/http_ana.c:5243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 5245
      start: 5223
    functionDepth: 1
    functionLinenumber: 5223
    functionLinenumberEnd: 5245
    functionName: http_destroy_txn
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 0
    functionsReached:
    - vars_prune
    - b_free
    - pool_free
    linkageType: ''
    returnType: void
    signature: http_destroy_txn(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_state_in
      Src: /src/haproxy/src/http_ana.c:5266,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ana.c:5267,1
    - Dst: objt_applet
      Src: /src/haproxy/src/http_ana.c:5267,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 5292
      start: 5248
    functionDepth: 1
    functionLinenumber: 5248
    functionLinenumberEnd: 5292
    functionName: http_set_term_flags
    functionSourceFile: /src/haproxy/src/http_ana.c
    functionUses: 12
    functionsReached:
    - sc_state_in
    - unlikely
    - objt_applet
    linkageType: ''
    returnType: void
    signature: http_set_term_flags(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hdrs
    argTypes:
    - struct http_hdr*
    constantsTouched: []
    func_position:
      end: 33
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 33
    functionName: h1_eval_htx_hdrs_size
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: h1_eval_htx_hdrs_size(const struct http_hdr *hdrs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1_eval_htx_hdrs_size
      Src: /src/haproxy/src/h1_htx.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - p1
    - p2
    - p3
    - hdrs
    argTypes:
    - struct ist
    - struct ist
    - struct ist
    - struct http_hdr*
    constantsTouched: []
    func_position:
      end: 45
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 45
    functionName: h1_eval_htx_size
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 0
    functionsReached:
    - h1_eval_htx_hdrs_size
    linkageType: ''
    returnType: size_t
    signature: "h1_eval_htx_size(const struct ist p1, const struct ist p2, const struct
      ist p3,\n\t\t\t       const struct http_hdr *hdrs)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istnmatch
      Src: /src/haproxy/src/h1_htx.c:60,1
    - Dst: ist
      Src: /src/haproxy/src/h1_htx.c:60,1
    - Dst: isdigit
      Src: /src/haproxy/src/h1_htx.c:61,1
    - Dst: isdigit
      Src: /src/haproxy/src/h1_htx.c:63,1
    - Dst: ist
      Src: /src/haproxy/src/h1_htx.c:78,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 2
    argNames:
    - h1m
    - sl
    argTypes:
    - struct h1m*
    - union h1_sl*
    constantsTouched: []
    func_position:
      end: 87
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 87
    functionName: h1_process_req_vsn
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 0
    functionsReached:
    - isdigit
    - istnmatch
    - ist
    linkageType: ''
    returnType: int
    signature: h1_process_req_vsn(struct h1m *h1m, union h1_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/haproxy/src/h1_htx.c:103,1
    - Dst: isdigit
      Src: /src/haproxy/src/h1_htx.c:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - h1m
    - sl
    argTypes:
    - struct h1m*
    - union h1_sl*
    constantsTouched: []
    func_position:
      end: 115
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 115
    functionName: h1_process_res_vsn
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: int
    signature: h1_process_res_vsn(struct h1m *h1m, union h1_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - h1m
    argTypes:
    - struct h1m*
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: h1m_htx_sl_flags
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: h1m_htx_sl_flags(struct h1m *h1m)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1_eval_htx_size
      Src: /src/haproxy/src/h1_htx.c:165,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/h1_htx.c:166,1
    - Dst: h1m_htx_sl_flags
      Src: /src/haproxy/src/h1_htx.c:193,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1_htx.c:202,1
    - Dst: ist
      Src: /src/haproxy/src/h1_htx.c:202,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/h1_htx.c:209,1
    - Dst: htx_add_all_headers
      Src: /src/haproxy/src/h1_htx.c:210,1
    - Dst: http_scheme_based_normalize
      Src: /src/haproxy/src/h1_htx.c:225,1
    - Dst: h1m_init_req
      Src: /src/haproxy/src/h1_htx.c:236,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 5
    argNames:
    - h1m
    - h1sl
    - htx
    - hdrs
    - max
    argTypes:
    - struct h1m*
    - union h1_sl*
    - struct htx*
    - struct http_hdr*
    - size_t
    constantsTouched: []
    func_position:
      end: 244
      start: 150
    functionDepth: 5
    functionLinenumber: 150
    functionLinenumberEnd: 244
    functionName: h1_postparse_req_hdrs
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 0
    functionsReached:
    - htx_add_all_headers
    - h1_eval_htx_size
    - h1m_htx_sl_flags
    - ist
    - h1m_init_req
    - htx_is_empty
    - http_scheme_based_normalize
    - isteqi
    - htx_add_stline
    linkageType: ''
    returnType: int
    signature: "h1_postparse_req_hdrs(struct h1m *h1m, union h1_sl *h1sl, struct htx
      *htx,\n\t\t\t\t struct http_hdr *hdrs, size_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/src/h1_htx.c:272,1
    - Dst: ist
      Src: /src/haproxy/src/h1_htx.c:272,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1_htx.c:274,1
    - Dst: ist
      Src: /src/haproxy/src/h1_htx.c:274,1
    - Dst: http_parse_status_val
      Src: /src/haproxy/src/h1_htx.c:275,1
    - Dst: isteqi
      Src: /src/haproxy/src/h1_htx.c:277,1
    - Dst: ist
      Src: /src/haproxy/src/h1_htx.c:277,1
    - Dst: ist
      Src: /src/haproxy/src/h1_htx.c:279,1
    - Dst: ist
      Src: /src/haproxy/src/h1_htx.c:280,1
    - Dst: ist
      Src: /src/haproxy/src/h1_htx.c:285,1
    - Dst: ist
      Src: /src/haproxy/src/h1_htx.c:286,1
    - Dst: h1_eval_htx_size
      Src: /src/haproxy/src/h1_htx.c:294,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/h1_htx.c:295,1
    - Dst: h1m_htx_sl_flags
      Src: /src/haproxy/src/h1_htx.c:333,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/h1_htx.c:334,1
    - Dst: htx_add_all_headers
      Src: /src/haproxy/src/h1_htx.c:335,1
    - Dst: h1m_init_res
      Src: /src/haproxy/src/h1_htx.c:347,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 77
    argCount: 5
    argNames:
    - h1m
    - h1sl
    - htx
    - hdrs
    - max
    argTypes:
    - struct h1m*
    - union h1_sl*
    - struct htx*
    - struct http_hdr*
    - size_t
    constantsTouched: []
    func_position:
      end: 355
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 355
    functionName: h1_postparse_res_hdrs
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 0
    functionsReached:
    - htx_add_all_headers
    - h1m_init_res
    - http_parse_status_val
    - h1_eval_htx_size
    - h1m_htx_sl_flags
    - ist
    - htx_is_empty
    - isteqi
    - htx_add_stline
    linkageType: ''
    returnType: int
    signature: "h1_postparse_res_hdrs(struct h1m *h1m, union h1_sl *h1sl, struct htx
      *htx,\n\t\t\t\t struct http_hdr *hdrs, size_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/h1_htx.c:372,1
    - Dst: b_head
      Src: /src/haproxy/src/h1_htx.c:376,1
    - Dst: b_data
      Src: /src/haproxy/src/h1_htx.c:376,1
    - Dst: b_wrap
      Src: /src/haproxy/src/h1_htx.c:376,1
    - Dst: b_slow_realign_ofs
      Src: /src/haproxy/src/h1_htx.c:377,1
    - Dst: h1_headers_to_hdr_list
      Src: /src/haproxy/src/h1_htx.c:383,1
    - Dst: b_peek
      Src: /src/haproxy/src/h1_htx.c:383,1
    - Dst: b_tail
      Src: /src/haproxy/src/h1_htx.c:383,1
    - Dst: buf_room_for_htx_data
      Src: /src/haproxy/src/h1_htx.c:392,1
    - Dst: h1_process_req_vsn
      Src: /src/haproxy/src/h1_htx.c:406,1
    - Dst: b_head
      Src: /src/haproxy/src/h1_htx.c:407,1
    - Dst: h1_postparse_req_hdrs
      Src: /src/haproxy/src/h1_htx.c:411,1
    - Dst: h1_process_res_vsn
      Src: /src/haproxy/src/h1_htx.c:416,1
    - Dst: b_head
      Src: /src/haproxy/src/h1_htx.c:417,1
    - Dst: h1_postparse_res_hdrs
      Src: /src/haproxy/src/h1_htx.c:421,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 6
    argNames:
    - h1m
    - h1sl
    - dsthtx
    - srcbuf
    - ofs
    - max
    argTypes:
    - struct h1m*
    - union h1_sl*
    - struct htx*
    - struct buffer*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 435
      start: 366
    functionDepth: 6
    functionLinenumber: 366
    functionLinenumberEnd: 435
    functionName: h1_parse_msg_hdrs
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 2
    functionsReached:
    - b_wrap
    - b_peek
    - h1_process_req_vsn
    - h1_headers_to_hdr_list
    - h1_postparse_req_hdrs
    - b_head
    - b_tail
    - b_data
    - buf_room_for_htx_data
    - h1_postparse_res_hdrs
    - h1_process_res_vsn
    - b_slow_realign_ofs
    linkageType: ''
    returnType: int
    signature: "h1_parse_msg_hdrs(struct h1m *h1m, union h1_sl *h1sl, struct htx *dsthtx,\n\t\t
      \     struct buffer *srcbuf, size_t ofs, size_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/h1_htx.c:463,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/h1_htx.c:463,1
    - Dst: b_data
      Src: /src/haproxy/src/h1_htx.c:463,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/h1_htx.c:464,1
    - Dst: htx_reset
      Src: /src/haproxy/src/h1_htx.c:473,1
    - Dst: b_set_data
      Src: /src/haproxy/src/h1_htx.c:474,1
    - Dst: b_size
      Src: /src/haproxy/src/h1_htx.c:474,1
    - Dst: htx_add_blk
      Src: /src/haproxy/src/h1_htx.c:476,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/h1_htx.c:492,1
    - Dst: htx_add_data
      Src: /src/haproxy/src/h1_htx.c:505,1
    - Dst: ist2
      Src: /src/haproxy/src/h1_htx.c:505,1
    - Dst: b_peek
      Src: /src/haproxy/src/h1_htx.c:505,1
    - Dst: htx_add_data
      Src: /src/haproxy/src/h1_htx.c:507,1
    - Dst: ist2
      Src: /src/haproxy/src/h1_htx.c:507,1
    - Dst: b_orig
      Src: /src/haproxy/src/h1_htx.c:507,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 6
    argNames:
    - dsthtx
    - srcbuf
    - ofs
    - count
    - max
    - htxbuf
    argTypes:
    - struct htx**
    - struct buffer*
    - size_t
    - size_t
    - size_t
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 510
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 510
    functionName: h1_copy_msg_data
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 0
    functionsReached:
    - htx_add_blk
    - ist2
    - b_peek
    - htx_reset
    - b_contig_data
    - b_orig
    - b_set_data
    - b_data
    - b_head_ofs
    - htx_is_empty
    - b_size
    - unlikely
    - htx_add_data
    linkageType: ''
    returnType: size_t
    signature: "h1_copy_msg_data(struct htx **dsthtx, struct buffer *srcbuf, size_t
      ofs,\n\t\t\t       size_t count, size_t max, struct buffer *htxbuf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_used_space
      Src: /src/haproxy/src/h1_htx.c:540,1
    - Dst: b_data
      Src: /src/haproxy/src/h1_htx.c:541,1
    - Dst: b_data
      Src: /src/haproxy/src/h1_htx.c:544,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1_htx.c:545,1
    - Dst: h1_copy_msg_data
      Src: /src/haproxy/src/h1_htx.c:547,1
    - Dst: htx_used_space
      Src: /src/haproxy/src/h1_htx.c:548,1
    - Dst: h1_skip_chunk_crlf
      Src: /src/haproxy/src/h1_htx.c:559,1
    - Dst: b_data
      Src: /src/haproxy/src/h1_htx.c:559,1
    - Dst: h1_parse_chunk_size
      Src: /src/haproxy/src/h1_htx.c:570,1
    - Dst: b_data
      Src: /src/haproxy/src/h1_htx.c:570,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 6
    argNames:
    - h1m
    - dsthtx
    - srcbuf
    - ofs
    - max
    - htxbuf
    argTypes:
    - struct h1m*
    - struct htx**
    - struct buffer*
    - size_t
    - size_t*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 603
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 603
    functionName: h1_parse_chunk
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 0
    functionsReached:
    - htx_used_space
    - h1_copy_msg_data
    - h1_parse_chunk_size
    - b_data
    - unlikely
    - h1_skip_chunk_crlf
    linkageType: ''
    returnType: size_t
    signature: "h1_parse_chunk(struct h1m *h1m, struct htx **dsthtx,\n\t\t\t     struct
      buffer *srcbuf, size_t ofs, size_t *max,\n\t\t\t     struct buffer *htxbuf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_contig_data
      Src: /src/haproxy/src/h1_htx.c:630,1
    - Dst: b_peek
      Src: /src/haproxy/src/h1_htx.c:633,1
    - Dst: htx_reserve_max_data
      Src: /src/haproxy/src/h1_htx.c:637,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/h1_htx.c:645,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/h1_htx.c:655,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/h1_htx.c:656,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1_htx.c:681,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1_htx.c:691,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1_htx.c:694,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/src/h1_htx.c:700,1
    - Dst: likely
      Src: /src/haproxy/src/h1_htx.c:709,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1_htx.c:713,1
    - Dst: likely
      Src: /src/haproxy/src/h1_htx.c:722,1
    - Dst: HTTP_IS_CRLF
      Src: /src/haproxy/src/h1_htx.c:726,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1_htx.c:740,1
    - Dst: memcpy
      Src: /src/haproxy/src/h1_htx.c:758,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1_htx.c:765,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/h1_htx.c:784,1
    - Dst: htx_change_blk_value_len
      Src: /src/haproxy/src/h1_htx.c:786,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 127
    argCount: 6
    argNames:
    - h1m
    - dsthtx
    - srcbuf
    - ofs
    - max
    - htxbuf
    argTypes:
    - struct h1m*
    - struct htx**
    - struct buffer*
    - size_t
    - size_t*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 798
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 798
    functionName: h1_parse_full_contig_chunks
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 0
    functionsReached:
    - htx_get_blksz
    - htx_get_blk_ptr
    - b_peek
    - b_contig_data
    - HTTP_IS_SPHT
    - likely
    - HTTP_IS_CRLF
    - htx_reserve_max_data
    - unlikely
    - memcpy
    - htx_remove_blk
    - htx_change_blk_value_len
    linkageType: ''
    returnType: size_t
    signature: "h1_parse_full_contig_chunks(struct h1m *h1m, struct htx **dsthtx,\n\t\t\t\t\t
      \ struct buffer *srcbuf, size_t ofs, size_t *max,\n\t\t\t\t\t  struct buffer
      *htxbuf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/h1_htx.c:810,1
    - Dst: h1_parse_full_contig_chunks
      Src: /src/haproxy/src/h1_htx.c:817,1
    - Dst: b_data
      Src: /src/haproxy/src/h1_htx.c:833,1
    - Dst: h1_parse_chunk
      Src: /src/haproxy/src/h1_htx.c:834,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 6
    argNames:
    - h1m
    - dsthtx
    - srcbuf
    - ofs
    - max
    - htxbuf
    argTypes:
    - struct h1m*
    - struct htx**
    - struct buffer*
    - size_t
    - size_t
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 850
      start: 804
    functionDepth: 3
    functionLinenumber: 804
    functionLinenumberEnd: 850
    functionName: h1_parse_msg_chunks
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 0
    functionsReached:
    - h1_parse_full_contig_chunks
    - b_data
    - h1_parse_chunk
    linkageType: ''
    returnType: size_t
    signature: "h1_parse_msg_chunks(struct h1m *h1m, struct htx **dsthtx,\n\t\t\t
      struct buffer *srcbuf, size_t ofs, size_t max,\n\t\t\t struct buffer *htxbuf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/h1_htx.c:863,1
    - Dst: b_data
      Src: /src/haproxy/src/h1_htx.c:868,1
    - Dst: unlikely
      Src: /src/haproxy/src/h1_htx.c:869,1
    - Dst: h1_copy_msg_data
      Src: /src/haproxy/src/h1_htx.c:871,1
    - Dst: h1_parse_msg_chunks
      Src: /src/haproxy/src/h1_htx.c:882,1
    - Dst: b_data
      Src: /src/haproxy/src/h1_htx.c:893,1
    - Dst: h1_copy_msg_data
      Src: /src/haproxy/src/h1_htx.c:894,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 6
    argNames:
    - h1m
    - dsthtx
    - srcbuf
    - ofs
    - max
    - htxbuf
    argTypes:
    - struct h1m*
    - struct htx**
    - struct buffer*
    - size_t
    - size_t
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 899
      start: 857
    functionDepth: 4
    functionLinenumber: 857
    functionLinenumberEnd: 899
    functionName: h1_parse_msg_data
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 2
    functionsReached:
    - unlikely
    - h1_parse_msg_chunks
    - b_data
    - h1_copy_msg_data
    linkageType: ''
    returnType: size_t
    signature: "h1_parse_msg_data(struct h1m *h1m, struct htx **dsthtx,\n\t\t\t struct
      buffer *srcbuf, size_t ofs, size_t max,\n\t\t\t struct buffer *htxbuf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/h1_htx.c:915,1
    - Dst: b_peek
      Src: /src/haproxy/src/h1_htx.c:925,1
    - Dst: b_tail
      Src: /src/haproxy/src/h1_htx.c:925,1
    - Dst: b_slow_realign_ofs
      Src: /src/haproxy/src/h1_htx.c:926,1
    - Dst: h1_headers_to_hdr_list
      Src: /src/haproxy/src/h1_htx.c:930,1
    - Dst: b_peek
      Src: /src/haproxy/src/h1_htx.c:930,1
    - Dst: b_tail
      Src: /src/haproxy/src/h1_htx.c:930,1
    - Dst: buf_room_for_htx_data
      Src: /src/haproxy/src/h1_htx.c:937,1
    - Dst: h1_eval_htx_hdrs_size
      Src: /src/haproxy/src/h1_htx.c:943,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/h1_htx.c:944,1
    - Dst: htx_add_all_trailers
      Src: /src/haproxy/src/h1_htx.c:949,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 5
    argNames:
    - h1m
    - dsthtx
    - srcbuf
    - ofs
    - max
    argTypes:
    - struct h1m*
    - struct htx*
    - struct buffer*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 964
      start: 908
    functionDepth: 4
    functionLinenumber: 908
    functionLinenumberEnd: 964
    functionName: h1_parse_msg_tlrs
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 2
    functionsReached:
    - htx_is_empty
    - h1_eval_htx_hdrs_size
    - b_peek
    - h1_headers_to_hdr_list
    - htx_add_all_trailers
    - b_tail
    - b_data
    - buf_room_for_htx_data
    - b_slow_realign_ofs
    linkageType: ''
    returnType: int
    signature: "h1_parse_msg_tlrs(struct h1m *h1m, struct htx *dsthtx,\n\t\t      struct
      buffer *srcbuf, size_t ofs, size_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h1_get_uri
      Src: /src/haproxy/src/h1_htx.c:975,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:976,1
    - Dst: HTX_SL_REQ_MPTR
      Src: /src/haproxy/src/h1_htx.c:976,1
    - Dst: HTX_SL_REQ_MLEN
      Src: /src/haproxy/src/h1_htx.c:976,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:977,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:978,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:979,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:983,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:987,1
    - Dst: HTX_SL_REQ_VPTR
      Src: /src/haproxy/src/h1_htx.c:987,1
    - Dst: HTX_SL_REQ_VLEN
      Src: /src/haproxy/src/h1_htx.c:987,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:991,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - sl
    - chk
    argTypes:
    - struct htx_sl*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 999
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 999
    functionName: h1_format_htx_reqline
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 1
    functionsReached:
    - HTX_SL_REQ_VLEN
    - chunk_memcat
    - HTX_SL_REQ_MLEN
    - h1_get_uri
    - HTX_SL_REQ_VPTR
    - HTX_SL_REQ_MPTR
    linkageType: ''
    returnType: int
    signature: h1_format_htx_reqline(const struct htx_sl *sl, struct buffer *chk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HTX_SL_LEN
      Src: /src/haproxy/src/h1_htx.c:1010,1
    - Dst: b_room
      Src: /src/haproxy/src/h1_htx.c:1010,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1014,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1018,1
    - Dst: HTX_SL_RES_VPTR
      Src: /src/haproxy/src/h1_htx.c:1018,1
    - Dst: HTX_SL_RES_VLEN
      Src: /src/haproxy/src/h1_htx.c:1018,1
    - Dst: htx_sl_res_reason
      Src: /src/haproxy/src/h1_htx.c:1022,1
    - Dst: istlen
      Src: /src/haproxy/src/h1_htx.c:1023,1
    - Dst: ist
      Src: /src/haproxy/src/h1_htx.c:1024,1
    - Dst: http_get_reason
      Src: /src/haproxy/src/h1_htx.c:1024,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1026,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1027,1
    - Dst: HTX_SL_RES_CPTR
      Src: /src/haproxy/src/h1_htx.c:1027,1
    - Dst: HTX_SL_RES_CLEN
      Src: /src/haproxy/src/h1_htx.c:1027,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1028,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1029,1
    - Dst: istptr
      Src: /src/haproxy/src/h1_htx.c:1029,1
    - Dst: istlen
      Src: /src/haproxy/src/h1_htx.c:1029,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1030,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - sl
    - chk
    argTypes:
    - struct htx_sl*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1038
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1038
    functionName: h1_format_htx_stline
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 1
    functionsReached:
    - b_room
    - htx_sl_res_reason
    - HTX_SL_RES_CPTR
    - HTX_SL_RES_VPTR
    - HTX_SL_LEN
    - HTX_SL_RES_CLEN
    - HTX_SL_RES_VLEN
    - chunk_memcat
    - istlen
    - ist
    - istptr
    - http_get_reason
    linkageType: ''
    returnType: int
    signature: h1_format_htx_stline(const struct htx_sl *sl, struct buffer *chk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_room
      Src: /src/haproxy/src/h1_htx.c:1049,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1052,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1053,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1054,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1055,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - n
    - v
    - chk
    argTypes:
    - struct ist
    - struct ist
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1063
    functionName: h1_format_htx_hdr
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 5
    functionsReached:
    - b_room
    - chunk_memcat
    linkageType: ''
    returnType: int
    signature: h1_format_htx_hdr(const struct ist n, const struct ist v, struct buffer
      *chk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1088,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1089,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1090,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/h1_htx.c:1094,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - data
    - chk
    - chunked
    argTypes:
    - struct ist
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 1103
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1103
    functionName: h1_format_htx_data
    functionSourceFile: /src/haproxy/src/h1_htx.c
    functionUses: 4
    functionsReached:
    - chunk_memcat
    linkageType: ''
    returnType: int
    signature: h1_format_htx_data(const struct ist data, struct buffer *chk, int chunked)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_make
      Src: /src/haproxy/src/quic_enc.c:16,1
    - Dst: b_putblk
      Src: /src/haproxy/src/quic_enc.c:18,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_enc.c:20,1
    - Dst: b_data
      Src: /src/haproxy/src/quic_enc.c:20,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/quic_enc.c:20,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/quic_enc.c:20,1
    - Dst: b_quic_dec_int
      Src: /src/haproxy/src/quic_enc.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 31
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 31
    functionName: quic_enc_unittest
    functionSourceFile: /src/haproxy/src/quic_enc.c
    functionUses: 0
    functionsReached:
    - b_putblk
    - b_make
    - b_contig_data
    - b_data
    - b_head_ofs
    - b_quic_dec_int
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: quic_enc_unittest(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/init.c:92,1
    - Dst: fprintf
      Src: /src/haproxy/src/init.c:94,1
    - Dst: exit
      Src: /src/haproxy/src/init.c:95,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/init.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: hap_register_pre_check
    functionSourceFile: /src/haproxy/src/init.c
    functionUses: 0
    functionsReached:
    - calloc
    - LIST_APPEND
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: hap_register_pre_check(int (*fct)())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/init.c:106,1
    - Dst: fprintf
      Src: /src/haproxy/src/init.c:108,1
    - Dst: exit
      Src: /src/haproxy/src/init.c:109,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/init.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: hap_register_post_check
    functionSourceFile: /src/haproxy/src/init.c
    functionUses: 2
    functionsReached:
    - calloc
    - LIST_APPEND
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: hap_register_post_check(int (*fct)())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/init.c:122,1
    - Dst: fprintf
      Src: /src/haproxy/src/init.c:124,1
    - Dst: exit
      Src: /src/haproxy/src/init.c:125,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/init.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 129
    functionName: hap_register_post_proxy_check
    functionSourceFile: /src/haproxy/src/init.c
    functionUses: 0
    functionsReached:
    - calloc
    - LIST_APPEND
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: hap_register_post_proxy_check(int (*fct)(struct proxy *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/init.c:138,1
    - Dst: fprintf
      Src: /src/haproxy/src/init.c:140,1
    - Dst: exit
      Src: /src/haproxy/src/init.c:141,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/init.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: hap_register_post_server_check
    functionSourceFile: /src/haproxy/src/init.c
    functionUses: 0
    functionsReached:
    - calloc
    - LIST_APPEND
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: hap_register_post_server_check(int (*fct)(struct server *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/init.c:154,1
    - Dst: fprintf
      Src: /src/haproxy/src/init.c:156,1
    - Dst: exit
      Src: /src/haproxy/src/init.c:157,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/init.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: hap_register_post_deinit
    functionSourceFile: /src/haproxy/src/init.c
    functionUses: 2
    functionsReached:
    - calloc
    - LIST_APPEND
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: hap_register_post_deinit(void (*fct)())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/init.c:170,1
    - Dst: fprintf
      Src: /src/haproxy/src/init.c:172,1
    - Dst: exit
      Src: /src/haproxy/src/init.c:173,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/init.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: hap_register_proxy_deinit
    functionSourceFile: /src/haproxy/src/init.c
    functionUses: 0
    functionsReached:
    - calloc
    - LIST_APPEND
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: hap_register_proxy_deinit(void (*fct)(struct proxy *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/init.c:186,1
    - Dst: fprintf
      Src: /src/haproxy/src/init.c:188,1
    - Dst: exit
      Src: /src/haproxy/src/init.c:189,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/init.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: hap_register_server_deinit
    functionSourceFile: /src/haproxy/src/init.c
    functionUses: 0
    functionsReached:
    - calloc
    - LIST_APPEND
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: hap_register_server_deinit(void (*fct)(struct server *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/init.c:200,1
    - Dst: fprintf
      Src: /src/haproxy/src/init.c:202,1
    - Dst: exit
      Src: /src/haproxy/src/init.c:203,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/init.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: hap_register_per_thread_alloc
    functionSourceFile: /src/haproxy/src/init.c
    functionUses: 0
    functionsReached:
    - calloc
    - LIST_APPEND
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: hap_register_per_thread_alloc(int (*fct)())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/init.c:214,1
    - Dst: fprintf
      Src: /src/haproxy/src/init.c:216,1
    - Dst: exit
      Src: /src/haproxy/src/init.c:217,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/init.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: hap_register_per_thread_init
    functionSourceFile: /src/haproxy/src/init.c
    functionUses: 4
    functionsReached:
    - calloc
    - LIST_APPEND
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: hap_register_per_thread_init(int (*fct)())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/init.c:228,1
    - Dst: fprintf
      Src: /src/haproxy/src/init.c:230,1
    - Dst: exit
      Src: /src/haproxy/src/init.c:231,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/init.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: hap_register_per_thread_deinit
    functionSourceFile: /src/haproxy/src/init.c
    functionUses: 4
    functionsReached:
    - calloc
    - LIST_APPEND
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: hap_register_per_thread_deinit(void (*fct)())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/init.c:242,1
    - Dst: fprintf
      Src: /src/haproxy/src/init.c:244,1
    - Dst: exit
      Src: /src/haproxy/src/init.c:245,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/init.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: hap_register_per_thread_free
    functionSourceFile: /src/haproxy/src/init.c
    functionUses: 0
    functionsReached:
    - calloc
    - LIST_APPEND
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: hap_register_per_thread_free(void (*fct)())
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/stream.c:165,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:168,1
    - Dst: isttest
      Src: /src/haproxy/src/stream.c:170,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:171,1
    - Dst: b_putist
      Src: /src/haproxy/src/stream.c:172,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:176,1
    - Dst: sc_state_str
      Src: /src/haproxy/src/stream.c:177,1
    - Dst: sc_state_str
      Src: /src/haproxy/src/stream.c:177,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:181,1
    - Dst: h1_msg_state_str
      Src: /src/haproxy/src/stream.c:182,1
    - Dst: h1_msg_state_str
      Src: /src/haproxy/src/stream.c:182,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:184,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/stream.c:190,1
    - Dst: __htx_get_head_blk
      Src: /src/haproxy/src/stream.c:191,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/stream.c:192,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/stream.c:193,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:196,1
    - Dst: HTX_SL_P1_LEN
      Src: /src/haproxy/src/stream.c:197,1
    - Dst: HTX_SL_P1_PTR
      Src: /src/haproxy/src/stream.c:197,1
    - Dst: HTX_SL_P2_LEN
      Src: /src/haproxy/src/stream.c:198,1
    - Dst: HTX_SL_P2_PTR
      Src: /src/haproxy/src/stream.c:198,1
    - Dst: HTX_SL_P3_LEN
      Src: /src/haproxy/src/stream.c:199,1
    - Dst: HTX_SL_P3_PTR
      Src: /src/haproxy/src/stream.c:199,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:202,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:203,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:203,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:207,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:211,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:214,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stream.c:214,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:214,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stream.c:214,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:215,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stream.c:215,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:215,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stream.c:215,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:216,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stream.c:216,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:216,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stream.c:216,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:217,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stream.c:217,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:217,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stream.c:217,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:227,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:228,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:228,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:229,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:230,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:230,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:233,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:236,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stream.c:247,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stream.c:248,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:250,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/stream.c:251,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/stream.c:252,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:255,1
    - Dst: b_data
      Src: /src/haproxy/src/stream.c:256,1
    - Dst: b_orig
      Src: /src/haproxy/src/stream.c:256,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/stream.c:257,1
    - Dst: b_size
      Src: /src/haproxy/src/stream.c:257,1
    - Dst: b_data
      Src: /src/haproxy/src/stream.c:258,1
    - Dst: b_orig
      Src: /src/haproxy/src/stream.c:258,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/stream.c:259,1
    - Dst: b_size
      Src: /src/haproxy/src/stream.c:259,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/stream.c:263,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/stream.c:272,1
    - Dst: htx_dump
      Src: /src/haproxy/src/stream.c:273,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 9
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - struct ist
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 275
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 275
    functionName: strm_trace
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_ptr
    - isttest
    - chunk_memcat
    - TICKS_TO_MS
    - sc_ep_snd_ex
    - HTX_SL_P3_PTR
    - b_orig
    - HTX_SL_P2_PTR
    - HTX_SL_P2_LEN
    - HTX_SL_P3_LEN
    - htx_nbblks
    - chunk_appendf
    - sc_ep_rcv_ex
    - b_size
    - HTX_SL_P1_LEN
    - b_putist
    - htxbuf
    - htx_get_blk_type
    - b_data
    - h1_msg_state_str
    - sc_state_str
    - HTX_SL_P1_PTR
    - htx_dump
    - b_head_ofs
    - tick_isset
    - __htx_get_head_blk
    linkageType: ''
    returnType: void
    signature: "strm_trace(enum trace_level level, uint64_t mask, const struct trace_source
      *src,\n\t\t       const struct ist where, const struct ist func,\n\t\t       const
      void *a1, const void *a2, const void *a3, const void *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_strm
      Src: /src/haproxy/src/stream.c:286,1
    - Dst: sc_mux_ops
      Src: /src/haproxy/src/stream.c:287,1
    - Dst: b_is_null
      Src: /src/haproxy/src/stream.c:294,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stream.c:301,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stream.c:301,1
    - Dst: b_data
      Src: /src/haproxy/src/stream.c:301,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/stream.c:302,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/stream.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - sc
    - input
    argTypes:
    - struct stconn*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 310
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 310
    functionName: stream_upgrade_from_sc
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 1
    functionsReached:
    - task_wakeup
    - b_is_null
    - sc_ep_report_read_activity
    - htxbuf
    - IS_HTX_STRM
    - b_data
    - sc_mux_ops
    - __sc_strm
    linkageType: ''
    returnType: int
    signature: stream_upgrade_from_sc(struct stconn *sc, struct buffer *input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stream.c:323,1
    - Dst: sc_have_buff
      Src: /src/haproxy/src/stream.c:324,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stream.c:326,1
    - Dst: sc_have_buff
      Src: /src/haproxy/src/stream.c:327,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/stream.c:330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 333
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 333
    functionName: stream_buf_available
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - sc_have_buff
    - sc_ep_have_ff_data
    - task_wakeup
    linkageType: ''
    returnType: int
    signature: stream_buf_available(void *arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/stream.c:352,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:353,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/stream.c:353,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/stream.c:399,1
    - Dst: memcpy
      Src: /src/haproxy/src/stream.c:409,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stream.c:414,1
    - Dst: _HA_ATOMIC_FETCH_ADD
      Src: /src/haproxy/src/stream.c:415,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/stream.c:419,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/stream.c:421,1
    - Dst: task_new_here
      Src: /src/haproxy/src/stream.c:432,1
    - Dst: vars_init_head
      Src: /src/haproxy/src/stream.c:468,1
    - Dst: vars_init_head
      Src: /src/haproxy/src/stream.c:469,1
    - Dst: sc_attach_strm
      Src: /src/haproxy/src/stream.c:476,1
    - Dst: sc_new_from_strm
      Src: /src/haproxy/src/stream.c:479,1
    - Dst: sc_set_state
      Src: /src/haproxy/src/stream.c:483,1
    - Dst: likely
      Src: /src/haproxy/src/stream.c:485,1
    - Dst: likely
      Src: /src/haproxy/src/stream.c:488,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stream.c:491,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:493,1
    - Dst: sc_mux_ops
      Src: /src/haproxy/src/stream.c:494,1
    - Dst: stream_init_srv_conn
      Src: /src/haproxy/src/stream.c:500,1
    - Dst: channel_init
      Src: /src/haproxy/src/stream.c:510,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stream.c:514,1
    - Dst: channel_auto_connect
      Src: /src/haproxy/src/stream.c:523,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/stream.c:524,1
    - Dst: channel_init
      Src: /src/haproxy/src/stream.c:530,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/stream.c:552,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:553,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:554,1
    - Dst: flt_stream_init
      Src: /src/haproxy/src/stream.c:556,1
    - Dst: flt_stream_start
      Src: /src/haproxy/src/stream.c:556,1
    - Dst: se_will_consume
      Src: /src/haproxy/src/stream.c:560,1
    - Dst: struct session*::fe::accept
      Src: /src/haproxy/src/stream.c:562,1
    - Dst: b_is_null
      Src: /src/haproxy/src/stream.c:565,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stream.c:572,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stream.c:572,1
    - Dst: b_data
      Src: /src/haproxy/src/stream.c:572,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/stream.c:573,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/stream.c:582,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/stream.c:583,1
    - Dst: flt_stream_release
      Src: /src/haproxy/src/stream.c:588,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/stream.c:589,1
    - Dst: sc_free
      Src: /src/haproxy/src/stream.c:590,1
    - Dst: task_destroy
      Src: /src/haproxy/src/stream.c:593,1
    - Dst: pool_free
      Src: /src/haproxy/src/stream.c:596,1
    - Dst: pool_free
      Src: /src/haproxy/src/stream.c:597,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/stream.c:598,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 164
    argCount: 3
    argNames:
    - sess
    - sc
    - input
    argTypes:
    - struct session*
    - struct stconn*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 600
      start: 347
    functionDepth: 5
    functionLinenumber: 347
    functionLinenumberEnd: 600
    functionName: stream_new
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 8
    functionsReached:
    - LIST_DELETE
    - pool_alloc
    - likely
    - sc_ep_test
    - sc_mux_ops
    - sc_free
    - task_new_here
    - struct session*::fe::accept
    - channel_auto_close
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - task_wakeup
    - sc_ep_report_read_activity
    - _HA_ATOMIC_FETCH_ADD
    - flt_stream_release
    - b_is_null
    - sc_set_state
    - flt_stream_init
    - channel_init
    - sc_new_from_strm
    - se_will_consume
    - sc_attach_strm
    - _HA_ATOMIC_INC
    - htxbuf
    - pool_free
    - LIST_INIT
    - vars_init_head
    - b_data
    - _HA_ATOMIC_LOAD
    - channel_auto_connect
    - sc_conn
    - stream_init_srv_conn
    - LIST_APPEND
    - flt_stream_start
    - IS_HTX_STRM
    - DBG_TRACE_DEVEL
    - task_destroy
    - unlikely
    - memcpy
    linkageType: ''
    returnType: struct stream
    signature: '*stream_new(struct session *sess, struct stconn *sc, struct buffer
      *input)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_sess
      Src: /src/haproxy/src/stream.c:607,1
    - Dst: DBG_TRACE_POINT
      Src: /src/haproxy/src/stream.c:612,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/stream.c:618,1
    - Dst: pendconn_free
      Src: /src/haproxy/src/stream.c:620,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:622,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/stream.c:625,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:625,1
    - Dst: may_dequeue_tasks
      Src: /src/haproxy/src/stream.c:627,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:627,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/stream.c:628,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:628,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:631,1
    - Dst: sess_change_server
      Src: /src/haproxy/src/stream.c:643,1
    - Dst: may_dequeue_tasks
      Src: /src/haproxy/src/stream.c:644,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/stream.c:645,1
    - Dst: b_dequeue
      Src: /src/haproxy/src/stream.c:650,1
    - Dst: b_free
      Src: /src/haproxy/src/stream.c:655,1
    - Dst: b_free
      Src: /src/haproxy/src/stream.c:656,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/stream.c:657,1
    - Dst: pool_free
      Src: /src/haproxy/src/stream.c:660,1
    - Dst: flt_stream_stop
      Src: /src/haproxy/src/stream.c:663,1
    - Dst: flt_stream_release
      Src: /src/haproxy/src/stream.c:664,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/stream.c:666,1
    - Dst: hlua_ctx_destroy
      Src: /src/haproxy/src/stream.c:667,1
    - Dst: http_destroy_txn
      Src: /src/haproxy/src/stream.c:671,1
    - Dst: stksess_free
      Src: /src/haproxy/src/stream.c:681,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/stream.c:688,1
    - Dst: ha_free
      Src: /src/haproxy/src/stream.c:689,1
    - Dst: resolv_unlink_resolution
      Src: /src/haproxy/src/stream.c:691,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/stream.c:692,1
    - Dst: pool_free
      Src: /src/haproxy/src/stream.c:694,1
    - Dst: pool_free
      Src: /src/haproxy/src/stream.c:702,1
    - Dst: pool_free
      Src: /src/haproxy/src/stream.c:703,1
    - Dst: pool_free
      Src: /src/haproxy/src/stream.c:709,1
    - Dst: pool_free
      Src: /src/haproxy/src/stream.c:710,1
    - Dst: vars_prune
      Src: /src/haproxy/src/stream.c:715,1
    - Dst: vars_prune
      Src: /src/haproxy/src/stream.c:716,1
    - Dst: stream_store_counters
      Src: /src/haproxy/src/stream.c:718,1
    - Dst: pool_free
      Src: /src/haproxy/src/stream.c:719,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/stream.c:721,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/stream.c:728,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/stream.c:730,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/stream.c:730,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/stream.c:732,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/stream.c:734,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/stream.c:735,1
    - Dst: sc_destroy
      Src: /src/haproxy/src/stream.c:737,1
    - Dst: sc_destroy
      Src: /src/haproxy/src/stream.c:738,1
    - Dst: sess_change_server
      Src: /src/haproxy/src/stream.c:748,1
    - Dst: may_dequeue_tasks
      Src: /src/haproxy/src/stream.c:749,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/stream.c:750,1
    - Dst: pool_free
      Src: /src/haproxy/src/stream.c:754,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:757,1
    - Dst: pool_flush
      Src: /src/haproxy/src/stream.c:758,1
    - Dst: pool_flush
      Src: /src/haproxy/src/stream.c:759,1
    - Dst: pool_flush
      Src: /src/haproxy/src/stream.c:760,1
    - Dst: pool_flush
      Src: /src/haproxy/src/stream.c:761,1
    - Dst: pool_flush
      Src: /src/haproxy/src/stream.c:762,1
    - Dst: pool_flush
      Src: /src/haproxy/src/stream.c:763,1
    - Dst: pool_flush
      Src: /src/haproxy/src/stream.c:764,1
    - Dst: pool_flush
      Src: /src/haproxy/src/stream.c:765,1
    - Dst: pool_flush
      Src: /src/haproxy/src/stream.c:766,1
    - Dst: pool_flush
      Src: /src/haproxy/src/stream.c:767,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 98
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 769
      start: 605
    functionDepth: 7
    functionLinenumber: 605
    functionLinenumberEnd: 769
    functionName: stream_free
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 2
    functionsReached:
    - ha_free
    - process_srv_queue
    - hlua_ctx_destroy
    - LIST_DELETE
    - strm_sess
    - DBG_TRACE_POINT
    - flt_stream_stop
    - resolv_unlink_resolution
    - b_free
    - sess_change_server
    - __objt_server
    - offer_buffers
    - LIST_DEL_INIT
    - flt_stream_release
    - pool_flush
    - __ha_barrier_store
    - objt_server
    - http_destroy_txn
    - pendconn_free
    - HA_SPIN_UNLOCK
    - pool_free
    - HA_SPIN_LOCK
    - b_dequeue
    - LIST_ELEM
    - list_for_each_entry_safe
    - _HA_ATOMIC_DEC
    - stream_store_counters
    - LIST_APPEND
    - sc_destroy
    - vars_prune
    - may_dequeue_tasks
    - stksess_free
    - unlikely
    linkageType: ''
    returnType: void
    signature: stream_free(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_alloc
      Src: /src/haproxy/src/stream.c:782,1
    - Dst: b_requeue
      Src: /src/haproxy/src/stream.c:787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 789
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 789
    functionName: stream_alloc_work_buffer
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - b_requeue
    - b_alloc
    linkageType: ''
    returnType: int
    signature: stream_alloc_work_buffer(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_size
      Src: /src/haproxy/src/stream.c:801,1
    - Dst: c_empty
      Src: /src/haproxy/src/stream.c:801,1
    - Dst: b_free
      Src: /src/haproxy/src/stream.c:803,1
    - Dst: c_size
      Src: /src/haproxy/src/stream.c:805,1
    - Dst: c_empty
      Src: /src/haproxy/src/stream.c:805,1
    - Dst: b_free
      Src: /src/haproxy/src/stream.c:807,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/stream.c:814,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 815
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 815
    functionName: stream_release_buffers
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 3
    functionsReached:
    - c_empty
    - offer_buffers
    - b_free
    - c_size
    linkageType: ''
    returnType: void
    signature: stream_release_buffers(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/stream.c:826,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/stream.c:827,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:829,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/stream.c:830,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:830,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/stream.c:833,1
    - Dst: stkctr_inc_bytes_in_ctr
      Src: /src/haproxy/src/stream.c:836,1
    - Dst: stkctr_inc_bytes_in_ctr
      Src: /src/haproxy/src/stream.c:837,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/stream.c:844,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/stream.c:845,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:847,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/stream.c:848,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:848,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/stream.c:851,1
    - Dst: stkctr_inc_bytes_out_ctr
      Src: /src/haproxy/src/stream.c:854,1
    - Dst: stkctr_inc_bytes_out_ctr
      Src: /src/haproxy/src/stream.c:855,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 858
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 858
    functionName: stream_process_counters
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 1
    functionsReached:
    - objt_server
    - stkctr_inc_bytes_out_ctr
    - __objt_server
    - stkctr_inc_bytes_in_ctr
    - _HA_ATOMIC_ADD
    linkageType: ''
    returnType: void
    signature: stream_process_counters(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: channel_abort
      Src: /src/haproxy/src/stream.c:863,1
    - Dst: channel_abort
      Src: /src/haproxy/src/stream.c:864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 865
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 865
    functionName: stream_abort
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 2
    functionsReached:
    - channel_abort
    linkageType: ''
    returnType: void
    signature: stream_abort(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: channel_auto_read
      Src: /src/haproxy/src/stream.c:881,1
    - Dst: channel_abort
      Src: /src/haproxy/src/stream.c:882,1
    - Dst: channel_erase
      Src: /src/haproxy/src/stream.c:883,1
    - Dst: channel_truncate
      Src: /src/haproxy/src/stream.c:884,1
    - Dst: likely
      Src: /src/haproxy/src/stream.c:886,1
    - Dst: co_inject
      Src: /src/haproxy/src/stream.c:887,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/stream.c:889,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/stream.c:890,1
    - Dst: sc_schedule_abort
      Src: /src/haproxy/src/stream.c:891,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - msg
    argTypes:
    - struct stream*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 892
      start: 876
    functionDepth: 2
    functionLinenumber: 876
    functionLinenumberEnd: 892
    functionName: stream_retnclose
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 2
    functionsReached:
    - channel_erase
    - channel_auto_read
    - co_inject
    - sc_schedule_abort
    - likely
    - channel_abort
    - channel_truncate
    - channel_auto_close
    linkageType: ''
    returnType: void
    signature: stream_retnclose(struct stream *s, const struct buffer *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - s
    - name
    - timeout
    argTypes:
    - struct stream*
    - enum act_timeout_name
    - int
    constantsTouched: []
    func_position:
      end: 912
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 912
    functionName: stream_set_timeout
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: stream_set_timeout(struct stream *s, enum act_timeout_name name, int
      timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:928,1
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/stream.c:933,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/stream.c:937,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/stream.c:946,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:949,1
    - Dst: health_adjust
      Src: /src/haproxy/src/stream.c:950,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:950,1
    - Dst: strm_fe
      Src: /src/haproxy/src/stream.c:952,1
    - Dst: log_orig_proxy
      Src: /src/haproxy/src/stream.c:953,1
    - Dst: strm_fe
      Src: /src/haproxy/src/stream.c:953,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stream.c:957,1
    - Dst: strm_fe
      Src: /src/haproxy/src/stream.c:960,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/stream.c:961,1
    - Dst: strm_fe
      Src: /src/haproxy/src/stream.c:961,1
    - Dst: struct stream*::do_log
      Src: /src/haproxy/src/stream.c:971,1
    - Dst: log_orig
      Src: /src/haproxy/src/stream.c:971,1
    - Dst: strm_fe
      Src: /src/haproxy/src/stream.c:974,1
    - Dst: se_have_more_data
      Src: /src/haproxy/src/stream.c:976,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/src/stream.c:978,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:984,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:986,1
    - Dst: sc_chk_rcv
      Src: /src/haproxy/src/stream.c:994,1
    - Dst: DBG_TRACE_STATE
      Src: /src/haproxy/src/stream.c:1000,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/stream.c:1003,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 1004
      start: 926
    functionDepth: 10
    functionLinenumber: 926
    functionLinenumberEnd: 1004
    functionName: back_establish
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - sc_chk_rcv
    - lf_expr_isempty
    - struct stream*::do_log
    - DBG_TRACE_ENTER
    - health_adjust
    - DBG_TRACE_LEAVE
    - objt_server
    - log_orig
    - sc_ep_report_read_activity
    - IS_HTX_STRM
    - __objt_server
    - DBG_TRACE_STATE
    - ns_to_ms
    - tick_isset
    - log_orig_proxy
    - strm_fe
    - se_have_more_data
    - sc_conn
    linkageType: ''
    returnType: void
    signature: back_establish(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:1015,1
    - Dst: strm_fe
      Src: /src/haproxy/src/stream.c:1015,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:1016,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:1016,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:1017,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:1017,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:1023,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 1030
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1030
    functionName: sess_set_term_flags
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 1
    functionsReached:
    - sc_state_in
    - _HA_ATOMIC_INC
    - strm_fe
    - strm_li
    linkageType: ''
    returnType: void
    signature: sess_set_term_flags(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_applet_create
      Src: /src/haproxy/src/stream.c:1049,1
    - Dst: objt_applet
      Src: /src/haproxy/src/stream.c:1049,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:1050,1
    - Dst: appctx_init
      Src: /src/haproxy/src/stream.c:1055,1
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stream.c:1059,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:1063,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/stream.c:1070,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/stream.c:1071,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 1073
      start: 1039
    functionDepth: 3
    functionLinenumber: 1039
    functionLinenumberEnd: 1073
    functionName: process_use_service
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - appctx_wakeup
    - __sc_appctx
    - _HA_ATOMIC_INC
    - sc_applet_create
    - objt_applet
    - applet_need_more_data
    - appctx_init
    - unlikely
    linkageType: ''
    returnType: enum act_return
    signature: "process_use_service(struct act_rule *rule, struct proxy *px,\n                                    struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/stream.c:1090,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stream.c:1096,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/stream.c:1099,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/stream.c:1110,1
    - Dst: build_logline
      Src: /src/haproxy/src/stream.c:1114,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/stream.c:1115,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/stream.c:1117,1
    - Dst: stream_set_backend
      Src: /src/haproxy/src/stream.c:1126,1
    - Dst: stream_set_backend
      Src: /src/haproxy/src/stream.c:1138,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/stream.c:1145,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stream.c:1164,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/stream.c:1165,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/stream.c:1177,1
    - Dst: stream_abort
      Src: /src/haproxy/src/stream.c:1182,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/stream.c:1193,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 3
    argNames:
    - s
    - req
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 1195
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1195
    functionName: process_switching_rules
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - proxy_be_by_name
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - list_for_each_entry
    - stream_abort
    - DBG_TRACE_DEVEL
    - free_trash_chunk
    - stream_set_backend
    - acl_match_cond
    - build_logline
    linkageType: ''
    returnType: int
    signature: process_switching_rules(struct stream *s, struct channel *req, int
      an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/stream.c:1207,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stream.c:1210,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/stream.c:1213,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/stream.c:1217,1
    - Dst: build_logline
      Src: /src/haproxy/src/stream.c:1219,1
    - Dst: findserver
      Src: /src/haproxy/src/stream.c:1222,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/stream.c:1244,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - s
    - req
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 1246
      start: 1201
    functionDepth: 2
    functionLinenumber: 1201
    functionLinenumberEnd: 1246
    functionName: process_server_rules
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - list_for_each_entry
    - findserver
    - get_trash_chunk
    - acl_match_cond
    - build_logline
    linkageType: ''
    returnType: int
    signature: process_server_rules(struct stream *s, struct channel *req, int an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stream.c:1258,1
    - Dst: __stktable_data_ptr
      Src: /src/haproxy/src/stream.c:1259,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stream.c:1260,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stream.c:1261,1
    - Dst: ebis_lookup
      Src: /src/haproxy/src/stream.c:1267,1
    - Dst: container_of
      Src: /src/haproxy/src/stream.c:1269,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stream.c:1273,1
    - Dst: ebis_lookup
      Src: /src/haproxy/src/stream.c:1274,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stream.c:1275,1
    - Dst: container_of
      Src: /src/haproxy/src/stream.c:1277,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/stream.c:1284,1
    - Dst: __stktable_data_ptr
      Src: /src/haproxy/src/stream.c:1285,1
    - Dst: eb32_lookup
      Src: /src/haproxy/src/stream.c:1286,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stream.c:1286,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/stream.c:1287,1
    - Dst: container_of
      Src: /src/haproxy/src/stream.c:1292,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - s
    - t
    - ts
    argTypes:
    - struct stream*
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 1299
      start: 1248
    functionDepth: 2
    functionLinenumber: 1248
    functionLinenumberEnd: 1299
    functionName: sticking_rule_find_target
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - container_of
    - stktable_data_cast
    - ebis_lookup
    - HA_RWLOCK_RDLOCK
    - eb32_lookup
    - __stktable_data_ptr
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: void
    signature: "sticking_rule_find_target(struct stream *s,\n                                             struct
      stktable *t, struct stksess *ts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/stream.c:1311,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stream.c:1313,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/stream.c:1334,1
    - Dst: stktable_fetch_key
      Src: /src/haproxy/src/stream.c:1337,1
    - Dst: stktable_lookup_key
      Src: /src/haproxy/src/stream.c:1344,1
    - Dst: sticking_rule_find_target
      Src: /src/haproxy/src/stream.c:1346,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stream.c:1347,1
    - Dst: stksess_new
      Src: /src/haproxy/src/stream.c:1354,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/stream.c:1365,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 3
    argNames:
    - s
    - req
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 1367
      start: 1305
    functionDepth: 5
    functionLinenumber: 1305
    functionLinenumberEnd: 1367
    functionName: process_sticking_rules
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - stktable_touch_local
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - list_for_each_entry
    - sticking_rule_find_target
    - stksess_new
    - stktable_lookup_key
    - stktable_fetch_key
    - acl_match_cond
    linkageType: ''
    returnType: int
    signature: process_sticking_rules(struct stream *s, struct channel *req, int an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/stream.c:1381,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stream.c:1383,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/stream.c:1407,1
    - Dst: stktable_fetch_key
      Src: /src/haproxy/src/stream.c:1410,1
    - Dst: stksess_new
      Src: /src/haproxy/src/stream.c:1417,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:1433,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:1433,1
    - Dst: stksess_free
      Src: /src/haproxy/src/stream.c:1434,1
    - Dst: stktable_set_entry
      Src: /src/haproxy/src/stream.c:1439,1
    - Dst: stksess_free
      Src: /src/haproxy/src/stream.c:1442,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:1447,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:1449,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/stream.c:1453,1
    - Dst: __stktable_data_ptr
      Src: /src/haproxy/src/stream.c:1454,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stream.c:1455,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:1455,1
    - Dst: dict_insert
      Src: /src/haproxy/src/stream.c:1458,1
    - Dst: __stktable_data_ptr
      Src: /src/haproxy/src/stream.c:1460,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/stream.c:1461,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/stream.c:1465,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/stream.c:1467,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/stream.c:1474,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 3
    argNames:
    - s
    - rep
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 1476
      start: 1373
    functionDepth: 6
    functionLinenumber: 1373
    functionLinenumberEnd: 1476
    functionName: process_store_rules
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - stktable_touch_local
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - stktable_data_cast
    - list_for_each_entry
    - objt_server
    - dict_insert
    - __objt_server
    - stksess_new
    - HA_RWLOCK_WRLOCK
    - __stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - stksess_free
    - stktable_fetch_key
    - stktable_set_entry
    - acl_match_cond
    linkageType: ''
    returnType: int
    signature: process_store_rules(struct stream *s, struct channel *rep, int an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stream.c:1489,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:1494,1
    - Dst: http_create_txn
      Src: /src/haproxy/src/stream.c:1494,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:1497,1
    - Dst: sc_conn_ready
      Src: /src/haproxy/src/stream.c:1499,1
    - Dst: se_have_more_data
      Src: /src/haproxy/src/stream.c:1503,1
    - Dst: struct connection*::mux::unsubscribe
      Src: /src/haproxy/src/stream.c:1509,1
    - Dst: sc_conn_prepare_endp_upgrade
      Src: /src/haproxy/src/stream.c:1514,1
    - Dst: conn_upgrade_mux_fe
      Src: /src/haproxy/src/stream.c:1515,1
    - Dst: ist
      Src: /src/haproxy/src/stream.c:1516,1
    - Dst: sc_conn_abort_endp_upgrade
      Src: /src/haproxy/src/stream.c:1518,1
    - Dst: sc_conn_commit_endp_upgrade
      Src: /src/haproxy/src/stream.c:1521,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stream.c:1526,1
    - Dst: stream_abort
      Src: /src/haproxy/src/stream.c:1535,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - s
    - mux_proto
    argTypes:
    - struct stream*
    - struct mux_proto_list*
    constantsTouched: []
    func_position:
      end: 1542
      start: 1483
    functionDepth: 7
    functionLinenumber: 1483
    functionLinenumberEnd: 1542
    functionName: stream_set_http_mode
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - sc_conn_abort_endp_upgrade
    - conn_upgrade_mux_fe
    - stream_abort
    - ist
    - IS_HTX_STRM
    - sc_conn_prepare_endp_upgrade
    - sc_conn_commit_endp_upgrade
    - sc_conn_ready
    - http_create_txn
    - struct connection*::mux::unsubscribe
    - unlikely
    - sc_ep_test
    - se_have_more_data
    - sc_conn
    linkageType: ''
    returnType: int
    signature: stream_set_http_mode(struct stream *s, const struct mux_proto_list
      *mux_proto)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:1565,1
    - Dst: sc_update
      Src: /src/haproxy/src/stream.c:1566,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:1568,1
    - Dst: sc_update
      Src: /src/haproxy/src/stream.c:1569,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/stream.c:1574,1
    - Dst: sc_is_recv_allowed
      Src: /src/haproxy/src/stream.c:1575,1
    - Dst: sc_is_send_allowed
      Src: /src/haproxy/src/stream.c:1575,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/stream.c:1576,1
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stream.c:1576,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/stream.c:1578,1
    - Dst: sc_is_recv_allowed
      Src: /src/haproxy/src/stream.c:1579,1
    - Dst: sc_is_send_allowed
      Src: /src/haproxy/src/stream.c:1579,1
    - Dst: appctx_wakeup
      Src: /src/haproxy/src/stream.c:1580,1
    - Dst: __sc_appctx
      Src: /src/haproxy/src/stream.c:1580,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 1582
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1582
    functionName: stream_update_both_sc
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - sc_is_send_allowed
    - appctx_wakeup
    - __sc_appctx
    - sc_state_in
    - sc_update
    - sc_appctx
    - sc_is_recv_allowed
    linkageType: ''
    returnType: void
    signature: stream_update_both_sc(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stream_check_conn_timeout
      Src: /src/haproxy/src/stream.c:1592,1
    - Dst: sc_check_timeouts
      Src: /src/haproxy/src/stream.c:1594,1
    - Dst: channel_check_timeout
      Src: /src/haproxy/src/stream.c:1595,1
    - Dst: sc_check_timeouts
      Src: /src/haproxy/src/stream.c:1596,1
    - Dst: channel_check_timeout
      Src: /src/haproxy/src/stream.c:1597,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:1599,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/stream.c:1600,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/stream.c:1602,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:1605,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/stream.c:1606,1
    - Dst: sc_abort
      Src: /src/haproxy/src/stream.c:1609,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:1611,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/stream.c:1612,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/stream.c:1614,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:1617,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/stream.c:1618,1
    - Dst: sc_abort
      Src: /src/haproxy/src/stream.c:1621,1
    - Dst: HAS_FILTERS
      Src: /src/haproxy/src/stream.c:1624,1
    - Dst: flt_stream_check_timeouts
      Src: /src/haproxy/src/stream.c:1625,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 1626
      start: 1590
    functionDepth: 2
    functionLinenumber: 1590
    functionLinenumberEnd: 1626
    functionName: stream_handle_timeouts
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - HAS_FILTERS
    - sc_abort
    - channel_check_timeout
    - stream_report_term_evt
    - sc_check_timeouts
    - sc_shutdown
    - stream_check_conn_timeout
    - unlikely
    - flt_stream_check_timeouts
    linkageType: ''
    returnType: void
    signature: stream_handle_timeouts(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/stream.c:1636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 1641
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1641
    functionName: stream_cond_update_cpu_latency
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - likely
    linkageType: ''
    returnType: void
    signature: stream_cond_update_cpu_latency(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/stream.c:1656,1
    - Dst: now_mono_time
      Src: /src/haproxy/src/stream.c:1659,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/src/stream.c:1661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 1663
      start: 1651
    functionDepth: 1
    functionLinenumber: 1651
    functionLinenumberEnd: 1663
    functionName: stream_cond_update_cpu_usage
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - likely
    - now_mono_time
    - HA_ATOMIC_ADD
    linkageType: ''
    returnType: void
    signature: stream_cond_update_cpu_usage(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - t
    - lat
    - cpu
    argTypes:
    - struct task*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1674
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1674
    functionName: stream_update_timings
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: stream_update_timings(struct task *t, uint64_t lat, uint64_t cpu)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stream_cond_update_cpu_latency
      Src: /src/haproxy/src/stream.c:1756,1
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/stream.c:1764,1
    - Dst: stream_map_task_state
      Src: /src/haproxy/src/stream.c:1783,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/src/stream.c:1784,1
    - Dst: stream_shutdown_self
      Src: /src/haproxy/src/stream.c:1788,1
    - Dst: sc_sync_recv
      Src: /src/haproxy/src/stream.c:1794,1
    - Dst: sc_sync_recv
      Src: /src/haproxy/src/stream.c:1795,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/src/stream.c:1802,1
    - Dst: stream_dump_and_crash
      Src: /src/haproxy/src/stream.c:1804,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/stream.c:1804,1
    - Dst: memset
      Src: /src/haproxy/src/stream.c:1809,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:1814,1
    - Dst: stream_handle_timeouts
      Src: /src/haproxy/src/stream.c:1815,1
    - Dst: stream_alloc_work_buffer
      Src: /src/haproxy/src/stream.c:1835,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:1851,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:1852,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:1853,1
    - Dst: sc_abort
      Src: /src/haproxy/src/stream.c:1854,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/stream.c:1855,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/stream.c:1857,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:1858,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:1859,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:1861,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:1863,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:1872,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:1873,1
    - Dst: sc_abort
      Src: /src/haproxy/src/stream.c:1874,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/stream.c:1875,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:1876,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:1878,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/stream.c:1880,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:1881,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:1882,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:1884,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:1886,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:1896,1
    - Dst: back_handle_st_rdy
      Src: /src/haproxy/src/stream.c:1901,1
    - Dst: back_handle_st_con
      Src: /src/haproxy/src/stream.c:1903,1
    - Dst: back_handle_st_cer
      Src: /src/haproxy/src/stream.c:1906,1
    - Dst: back_establish
      Src: /src/haproxy/src/stream.c:1908,1
    - Dst: DBG_TRACE_POINT
      Src: /src/haproxy/src/stream.c:1922,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:1925,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:1931,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/stream.c:1934,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:1936,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:1936,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:1937,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:1937,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/stream.c:1938,1
    - Dst: write
      Src: /src/haproxy/src/stream.c:1938,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:1945,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:1947,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/stream.c:1951,1
    - Dst: sess_change_server
      Src: /src/haproxy/src/stream.c:1959,1
    - Dst: may_dequeue_tasks
      Src: /src/haproxy/src/stream.c:1960,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/stream.c:1961,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:1968,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/stream.c:1972,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:1974,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:1974,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:1975,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:1975,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/stream.c:1976,1
    - Dst: write
      Src: /src/haproxy/src/stream.c:1976,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:1999,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/stream.c:2010,1
    - Dst: channel_auto_connect
      Src: /src/haproxy/src/stream.c:2011,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/stream.c:2012,1
    - Dst: ANALYZE
      Src: /src/haproxy/src/stream.c:2052,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2053,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2054,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2055,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2056,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2057,1
    - Dst: ANALYZE
      Src: /src/haproxy/src/stream.c:2058,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2059,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2060,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2061,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2062,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2063,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2064,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2065,1
    - Dst: ANALYZE
      Src: /src/haproxy/src/stream.c:2066,1
    - Dst: ANALYZE
      Src: /src/haproxy/src/stream.c:2067,1
    - Dst: ANALYZE
      Src: /src/haproxy/src/stream.c:2068,1
    - Dst: ANALYZE
      Src: /src/haproxy/src/stream.c:2069,1
    - Dst: ANALYZE
      Src: /src/haproxy/src/stream.c:2070,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:2106,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/stream.c:2117,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/stream.c:2118,1
    - Dst: ANALYZE
      Src: /src/haproxy/src/stream.c:2135,1
    - Dst: ANALYZE
      Src: /src/haproxy/src/stream.c:2136,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2137,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2138,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2139,1
    - Dst: FLT_ANALYZE
      Src: /src/haproxy/src/stream.c:2140,1
    - Dst: ANALYZE
      Src: /src/haproxy/src/stream.c:2141,1
    - Dst: ANALYZE
      Src: /src/haproxy/src/stream.c:2142,1
    - Dst: ANALYZE
      Src: /src/haproxy/src/stream.c:2143,1
    - Dst: ANALYZE
      Src: /src/haproxy/src/stream.c:2144,1
    - Dst: ANALYZE
      Src: /src/haproxy/src/stream.c:2145,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:2183,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:2184,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/stream.c:2188,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2190,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2191,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2193,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2195,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/stream.c:2197,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2200,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2201,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2203,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2205,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/stream.c:2207,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2210,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2211,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2213,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2215,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/stream.c:2217,1
    - Dst: sess_set_term_flags
      Src: /src/haproxy/src/stream.c:2219,1
    - Dst: channel_abort
      Src: /src/haproxy/src/stream.c:2227,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stream.c:2228,1
    - Dst: channel_htx_erase
      Src: /src/haproxy/src/stream.c:2229,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stream.c:2229,1
    - Dst: channel_erase
      Src: /src/haproxy/src/stream.c:2231,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/stream.c:2237,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2239,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2240,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2242,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2244,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/stream.c:2246,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2249,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2250,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2252,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2254,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/stream.c:2256,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2259,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2260,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2262,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2264,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/stream.c:2266,1
    - Dst: sess_set_term_flags
      Src: /src/haproxy/src/stream.c:2268,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:2283,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:2285,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/stream.c:2291,1
    - Dst: channel_auto_connect
      Src: /src/haproxy/src/stream.c:2292,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/stream.c:2293,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stream.c:2295,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stream.c:2296,1
    - Dst: co_set_data
      Src: /src/haproxy/src/stream.c:2301,1
    - Dst: channel_htx_forward_forever
      Src: /src/haproxy/src/stream.c:2304,1
    - Dst: c_adv
      Src: /src/haproxy/src/stream.c:2310,1
    - Dst: ci_data
      Src: /src/haproxy/src/stream.c:2310,1
    - Dst: channel_forward_forever
      Src: /src/haproxy/src/stream.c:2313,1
    - Dst: co_data
      Src: /src/haproxy/src/stream.c:2329,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:2342,1
    - Dst: se_have_more_data
      Src: /src/haproxy/src/stream.c:2344,1
    - Dst: struct connection*::mux::ctl
      Src: /src/haproxy/src/stream.c:2346,1
    - Dst: sc_schedule_shutdown
      Src: /src/haproxy/src/stream.c:2352,1
    - Dst: sc_schedule_abort
      Src: /src/haproxy/src/stream.c:2353,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:2361,1
    - Dst: vars_prune
      Src: /src/haproxy/src/stream.c:2364,1
    - Dst: vars_init_head
      Src: /src/haproxy/src/stream.c:2365,1
    - Dst: back_try_conn_req
      Src: /src/haproxy/src/stream.c:2373,1
    - Dst: back_handle_st_req
      Src: /src/haproxy/src/stream.c:2375,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:2385,1
    - Dst: back_establish
      Src: /src/haproxy/src/stream.c:2386,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:2388,1
    - Dst: http_perform_server_redirect
      Src: /src/haproxy/src/stream.c:2390,1
    - Dst: sc_sync_send
      Src: /src/haproxy/src/stream.c:2395,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:2407,1
    - Dst: sc_schedule_shutdown
      Src: /src/haproxy/src/stream.c:2410,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:2414,1
    - Dst: co_data
      Src: /src/haproxy/src/stream.c:2415,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stream.c:2415,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/stream.c:2418,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:2422,1
    - Dst: sc_schedule_abort
      Src: /src/haproxy/src/stream.c:2424,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:2427,1
    - Dst: sc_abort
      Src: /src/haproxy/src/stream.c:2430,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:2435,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:2451,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:2453,1
    - Dst: channel_auto_read
      Src: /src/haproxy/src/stream.c:2459,1
    - Dst: channel_auto_close
      Src: /src/haproxy/src/stream.c:2460,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stream.c:2462,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stream.c:2463,1
    - Dst: co_set_data
      Src: /src/haproxy/src/stream.c:2468,1
    - Dst: channel_htx_forward_forever
      Src: /src/haproxy/src/stream.c:2471,1
    - Dst: c_adv
      Src: /src/haproxy/src/stream.c:2477,1
    - Dst: ci_data
      Src: /src/haproxy/src/stream.c:2477,1
    - Dst: channel_forward_forever
      Src: /src/haproxy/src/stream.c:2480,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stream.c:2490,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:2491,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:2493,1
    - Dst: sc_sync_send
      Src: /src/haproxy/src/stream.c:2505,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:2516,1
    - Dst: sc_schedule_shutdown
      Src: /src/haproxy/src/stream.c:2518,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:2522,1
    - Dst: co_data
      Src: /src/haproxy/src/stream.c:2523,1
    - Dst: sc_ep_have_ff_data
      Src: /src/haproxy/src/stream.c:2523,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/stream.c:2524,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:2528,1
    - Dst: sc_schedule_abort
      Src: /src/haproxy/src/stream.c:2530,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:2533,1
    - Dst: sc_abort
      Src: /src/haproxy/src/stream.c:2536,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:2540,1
    - Dst: likely
      Src: /src/haproxy/src/stream.c:2561,1
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:2561,1
    - Dst: stream_process_counters
      Src: /src/haproxy/src/stream.c:2564,1
    - Dst: stream_update_both_sc
      Src: /src/haproxy/src/stream.c:2566,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:2579,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/stream.c:2579,1
    - Dst: tick_add
      Src: /src/haproxy/src/stream.c:2580,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/stream.c:2582,1
    - Dst: tick_first
      Src: /src/haproxy/src/stream.c:2583,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stream.c:2583,1
    - Dst: tick_first
      Src: /src/haproxy/src/stream.c:2584,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stream.c:2584,1
    - Dst: tick_first
      Src: /src/haproxy/src/stream.c:2585,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stream.c:2585,1
    - Dst: tick_first
      Src: /src/haproxy/src/stream.c:2586,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stream.c:2586,1
    - Dst: tick_first
      Src: /src/haproxy/src/stream.c:2587,1
    - Dst: tick_first
      Src: /src/haproxy/src/stream.c:2588,1
    - Dst: tick_first
      Src: /src/haproxy/src/stream.c:2589,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:2591,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/stream.c:2591,1
    - Dst: stream_handle_timeouts
      Src: /src/haproxy/src/stream.c:2595,1
    - Dst: stream_release_buffers
      Src: /src/haproxy/src/stream.c:2600,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/stream.c:2602,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/stream.c:2606,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/stream.c:2609,1
    - Dst: unlikely
      Src: /src/haproxy/src/stream.c:2611,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/stream.c:2613,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:2615,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:2615,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:2616,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:2616,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/stream.c:2617,1
    - Dst: write
      Src: /src/haproxy/src/stream.c:2617,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/stream.c:2623,1
    - Dst: stream_process_counters
      Src: /src/haproxy/src/stream.c:2625,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2635,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2639,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2640,1
    - Dst: log_orig_proxy
      Src: /src/haproxy/src/stream.c:2646,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/stream.c:2649,1
    - Dst: pendconn_free
      Src: /src/haproxy/src/stream.c:2656,1
    - Dst: stream_cond_update_cpu_usage
      Src: /src/haproxy/src/stream.c:2658,1
    - Dst: struct stream*::do_log
      Src: /src/haproxy/src/stream.c:2659,1
    - Dst: log_orig
      Src: /src/haproxy/src/stream.c:2659,1
    - Dst: stream_update_time_stats
      Src: /src/haproxy/src/stream.c:2663,1
    - Dst: stream_free
      Src: /src/haproxy/src/stream.c:2667,1
    - Dst: task_destroy
      Src: /src/haproxy/src/stream.c:2668,1
    CyclomaticComplexity: 259
    EdgeCount: 259
    ICount: 500
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2670
      start: 1741
    functionDepth: 11
    functionLinenumber: 1741
    functionLinenumberEnd: 2670
    functionName: process_stream
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 1
    functionsReached:
    - likely
    - memset
    - channel_abort
    - DBG_TRACE_POINT
    - http_perform_server_redirect
    - sc_schedule_abort
    - back_try_conn_req
    - lf_expr_isempty
    - _HA_ATOMIC_INC
    - stream_process_counters
    - htxbuf
    - stream_map_task_state
    - vars_init_head
    - back_handle_st_rdy
    - HA_ATOMIC_XCHG
    - back_handle_st_cer
    - channel_auto_connect
    - channel_forward_forever
    - sc_conn
    - DISGUISE
    - back_handle_st_con
    - struct connection*::mux::ctl
    - tick_add
    - stream_handle_timeouts
    - tick_first
    - update_freq_ctr
    - channel_htx_forward_forever
    - process_srv_queue
    - se_have_more_data
    - sc_ep_snd_ex
    - sc_abort
    - back_establish
    - log_orig_proxy
    - sess_set_term_flags
    - stream_free
    - c_adv
    - co_set_data
    - vars_prune
    - IS_HTX_STRM
    - stream_alloc_work_buffer
    - ns_to_ms
    - ci_data
    - task_destroy
    - stream_release_buffers
    - channel_auto_close
    - sess_change_server
    - co_data
    - sc_ep_rcv_ex
    - ANALYZE
    - COUNT_IF
    - stream_cond_update_cpu_latency
    - struct stream*::do_log
    - tick_is_expired
    - pendconn_free
    - FLT_ANALYZE
    - _HA_ATOMIC_DEC
    - stream_shutdown_self
    - sc_shutdown
    - sc_sync_recv
    - stream_update_time_stats
    - unlikely
    - write
    - channel_auto_read
    - back_handle_st_req
    - channel_htx_erase
    - stream_cond_update_cpu_usage
    - DBG_TRACE_ENTER
    - channel_erase
    - sc_state_in
    - sc_ep_have_ff_data
    - sc_sync_send
    - read_freq_ctr
    - log_orig
    - stream_update_both_sc
    - objt_server
    - chunk_printf
    - sc_schedule_shutdown
    - conn_fd
    - stream_dump_and_crash
    - DBG_TRACE_DEVEL
    - may_dequeue_tasks
    - tick_isset
    linkageType: ''
    returnType: struct task
    signature: '*process_stream(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ns_to_ms
      Src: /src/haproxy/src/stream.c:2696,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:2702,1
    - Dst: swrate_add_dynamic
      Src: /src/haproxy/src/stream.c:2706,1
    - Dst: swrate_add_dynamic
      Src: /src/haproxy/src/stream.c:2707,1
    - Dst: swrate_add_dynamic
      Src: /src/haproxy/src/stream.c:2708,1
    - Dst: swrate_add_dynamic
      Src: /src/haproxy/src/stream.c:2709,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/stream.c:2710,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/stream.c:2711,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/stream.c:2712,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/stream.c:2713,1
    - Dst: swrate_add_dynamic
      Src: /src/haproxy/src/stream.c:2717,1
    - Dst: swrate_add_dynamic
      Src: /src/haproxy/src/stream.c:2718,1
    - Dst: swrate_add_dynamic
      Src: /src/haproxy/src/stream.c:2719,1
    - Dst: swrate_add_dynamic
      Src: /src/haproxy/src/stream.c:2720,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/stream.c:2721,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/stream.c:2722,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/stream.c:2723,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/stream.c:2724,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2725
      start: 2673
    functionDepth: 1
    functionLinenumber: 2673
    functionLinenumberEnd: 2725
    functionName: stream_update_time_stats
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 2
    functionsReached:
    - objt_server
    - HA_ATOMIC_UPDATE_MAX
    - ns_to_ms
    - swrate_add_dynamic
    linkageType: ''
    returnType: void
    signature: stream_update_time_stats(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/stream.c:2758,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/stream.c:2772,1
    - Dst: stream_del_srv_conn
      Src: /src/haproxy/src/stream.c:2773,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/stream.c:2774,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/stream.c:2775,1
    - Dst: struct server*::proxy::lbprm::server_drop_conn
      Src: /src/haproxy/src/stream.c:2777,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/stream.c:2781,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/stream.c:2782,1
    - Dst: struct server*::proxy::lbprm::server_take_conn
      Src: /src/haproxy/src/stream.c:2784,1
    - Dst: stream_add_srv_conn
      Src: /src/haproxy/src/stream.c:2785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - strm
    - newsrv
    argTypes:
    - struct stream*
    - struct server*
    constantsTouched: []
    func_position:
      end: 2787
      start: 2734
    functionDepth: 1
    functionLinenumber: 2734
    functionLinenumberEnd: 2787
    functionName: sess_change_server
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 7
    functionsReached:
    - struct server*::proxy::lbprm::server_take_conn
    - _HA_ATOMIC_DEC
    - _HA_ATOMIC_INC
    - stream_del_srv_conn
    - stream_add_srv_conn
    - struct server*::proxy::lbprm::server_drop_conn
    - __ha_barrier_atomic_store
    linkageType: ''
    returnType: void
    signature: sess_change_server(struct stream *strm, struct server *newsrv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - s
    - sc
    argTypes:
    - struct stream*
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 2836
      start: 2794
    functionDepth: 0
    functionLinenumber: 2794
    functionLinenumberEnd: 2836
    functionName: default_srv_error
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: default_srv_error(struct stream *s, struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:2852,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/stream.c:2855,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:2855,1
    - Dst: sess_change_server
      Src: /src/haproxy/src/stream.c:2858,1
    - Dst: may_dequeue_tasks
      Src: /src/haproxy/src/stream.c:2859,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:2859,1
    - Dst: process_srv_queue
      Src: /src/haproxy/src/stream.c:2860,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:2860,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/stream.c:2865,1
    - Dst: struct stream*::srv_error
      Src: /src/haproxy/src/stream.c:2869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - stream
    - why
    argTypes:
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2870
      start: 2843
    functionDepth: 4
    functionLinenumber: 2843
    functionLinenumberEnd: 2870
    functionName: stream_shutdown_self
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 1
    functionsReached:
    - _HA_ATOMIC_DEC
    - objt_server
    - sess_change_server
    - process_srv_queue
    - struct stream*::srv_error
    - __objt_server
    - sc_shutdown
    - may_dequeue_tasks
    linkageType: ''
    returnType: void
    signature: stream_shutdown_self(struct stream *stream, int why)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_stream
      Src: /src/haproxy/src/stream.c:2881,1
    - Dst: objt_appctx
      Src: /src/haproxy/src/stream.c:2883,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/stream.c:2887,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stream.c:2892,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/stream.c:2893,1
    - Dst: strm_dump_to_buffer
      Src: /src/haproxy/src/stream.c:2894,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/stream.c:2894,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:2899,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/stream.c:2900,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:2901,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:2903,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/stream.c:2904,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:2905,1
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:2908,1
    - Dst: obj_type_name
      Src: /src/haproxy/src/stream.c:2912,1
    - Dst: ha_alert
      Src: /src/haproxy/src/stream.c:2914,1
    - Dst: send_log
      Src: /src/haproxy/src/stream.c:2915,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/stream.c:2916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - obj
    - rate
    argTypes:
    - enum obj_type*
    - int
    constantsTouched: []
    func_position:
      end: 2917
      start: 2875
    functionDepth: 10
    functionLinenumber: 2875
    functionLinenumberEnd: 2917
    functionName: stream_dump_and_crash
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 3
    functionsReached:
    - memprintf
    - ha_alert
    - appctx_strm
    - chunk_reset
    - send_log
    - ABORT_NOW
    - resolve_sym_name
    - chunk_printf
    - chunk_appendf
    - obj_type_name
    - HA_ATOMIC_LOAD
    - objt_stream
    - strm_dump_to_buffer
    - objt_appctx
    linkageType: ''
    returnType: void
    signature: stream_dump_and_crash(enum obj_type *obj, int rate)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/stream.c:2925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2926
      start: 2920
    functionDepth: 0
    functionLinenumber: 2920
    functionLinenumberEnd: 2926
    functionName: init_stream
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: init_stream()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isttest
      Src: /src/haproxy/src/stream.c:2939,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/stream.c:2945,1
    - Dst: build_logline
      Src: /src/haproxy/src/stream.c:2948,1
    - Dst: ist2
      Src: /src/haproxy/src/stream.c:2949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - strm
    - format
    argTypes:
    - struct stream*
    - struct lf_expr*
    constantsTouched: []
    func_position:
      end: 2953
      start: 2937
    functionDepth: 1
    functionLinenumber: 2937
    functionLinenumberEnd: 2953
    functionName: stream_generate_unique_id
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 5
    functionsReached:
    - ist2
    - isttest
    - build_logline
    - pool_alloc
    linkageType: ''
    returnType: struct ist
    signature: stream_generate_unique_id(struct stream *strm, struct lf_expr *format)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/stream.c:2966,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2974
      start: 2958
    functionDepth: 3
    functionLinenumber: 2958
    functionLinenumberEnd: 2974
    functionName: stream_action_set_retries
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - sample_fetch_as_type
    linkageType: ''
    returnType: enum act_return
    signature: "stream_action_set_retries(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t\t
      \  struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:2989,1
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:2993,1
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:2997,1
    - Dst: strtol
      Src: /src/haproxy/src/stream.c:3003,1
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:3006,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/stream.c:3013,1
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:3023,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/stream.c:3025,1
    - Dst: free
      Src: /src/haproxy/src/stream.c:3026,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 3037
      start: 2980
    functionDepth: 7
    functionLinenumber: 2980
    functionLinenumberEnd: 3037
    functionName: stream_parse_set_retries
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - memprintf
    - sample_parse_expr
    - free
    - strtol
    - sample_src_names
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "stream_parse_set_retries(const char **args, int *cur_arg, struct proxy
      *px,\n\t\t\t\t\t\t   struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 3044
      start: 3039
    functionDepth: 0
    functionLinenumber: 3039
    functionLinenumberEnd: 3044
    functionName: stream_action_set_log_level
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum act_return
    signature: "stream_action_set_log_level(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t\t
      \  struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:3057,1
    - Dst: strcmp
      Src: /src/haproxy/src/stream.c:3060,1
    - Dst: get_log_level
      Src: /src/haproxy/src/stream.c:3062,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 3072
      start: 3050
    functionDepth: 5
    functionLinenumber: 3050
    functionLinenumberEnd: 3072
    functionName: stream_parse_set_log_level
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - get_log_level
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "stream_parse_set_log_level(const char **args, int *cur_arg, struct
      proxy *px,\n\t\t\t\t\t\t     struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 3079
      start: 3074
    functionDepth: 0
    functionLinenumber: 3074
    functionLinenumberEnd: 3079
    functionName: stream_action_set_nice
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum act_return
    signature: "stream_action_set_nice(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t
      \     struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:3092,1
    - Dst: atoi
      Src: /src/haproxy/src/stream.c:3096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 3109
      start: 3085
    functionDepth: 5
    functionLinenumber: 3085
    functionLinenumberEnd: 3109
    functionName: stream_parse_set_nice
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "stream_parse_set_nice(const char **args, int *cur_arg, struct proxy
      *px,\n\t\t\t\t\t\tstruct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stream.c:3118,1
    - Dst: stream_set_http_mode
      Src: /src/haproxy/src/stream.c:3119,1
    - Dst: stream_abort
      Src: /src/haproxy/src/stream.c:3120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 3125
      start: 3112
    functionDepth: 8
    functionLinenumber: 3112
    functionLinenumberEnd: 3125
    functionName: tcp_action_switch_stream_mode
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - stream_set_http_mode
    - stream_abort
    - IS_HTX_STRM
    linkageType: ''
    returnType: enum act_return
    signature: "tcp_action_switch_stream_mode(struct act_rule *rule, struct proxy
      *px,\n\t\t\t\t\t\t  struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_pr_mode_to_proto_mode
      Src: /src/haproxy/src/stream.c:3133,1
    - Dst: conn_get_best_mux_entry
      Src: /src/haproxy/src/stream.c:3139,1
    - Dst: isteq
      Src: /src/haproxy/src/stream.c:3140,1
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:3141,1
    - Dst: conn_get_best_mux_entry
      Src: /src/haproxy/src/stream.c:3147,1
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:3149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - rule
    - px
    - err
    argTypes:
    - struct act_rule*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 3158
      start: 3128
    functionDepth: 5
    functionLinenumber: 3128
    functionLinenumberEnd: 3158
    functionName: check_tcp_switch_stream_mode
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - conn_get_best_mux_entry
    - conn_pr_mode_to_proto_mode
    - isteq
    - memprintf
    linkageType: ''
    returnType: int
    signature: check_tcp_switch_stream_mode(struct act_rule *rule, struct proxy *px,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:3170,1
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:3175,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/stream.c:3176,1
    - Dst: strcmp
      Src: /src/haproxy/src/stream.c:3182,1
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:3185,1
    - Dst: strcmp
      Src: /src/haproxy/src/stream.c:3190,1
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:3192,1
    - Dst: ist
      Src: /src/haproxy/src/stream.c:3197,1
    - Dst: get_mux_proto
      Src: /src/haproxy/src/stream.c:3198,1
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:3200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 3216
      start: 3160
    functionDepth: 5
    functionLinenumber: 3160
    functionLinenumberEnd: 3216
    functionName: stream_parse_switch_mode
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - ist
    - proxy_type_str
    - get_mux_proto
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "stream_parse_switch_mode(const char **args, int *cur_arg,\n\t\t\t\t\t\t
      \  struct proxy *px, struct act_rule *rule,\n\t\t\t\t\t\t   char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:3227,1
    - Dst: action_lookup
      Src: /src/haproxy/src/stream.c:3232,1
    - Dst: memprintf
      Src: /src/haproxy/src/stream.c:3234,1
    - Dst: struct action_kw*::parse
      Src: /src/haproxy/src/stream.c:3241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 3249
      start: 3219
    functionDepth: 5
    functionLinenumber: 3219
    functionLinenumberEnd: 3249
    functionName: stream_parse_use_service
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - memprintf
    - struct action_kw*::parse
    - action_lookup
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "stream_parse_use_service(const char **args, int *cur_arg,\n                                                   struct
      proxy *px, struct act_rule *rule,\n                                                   char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/stream.c:3253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw_list
    argTypes:
    - struct action_kw_list*
    constantsTouched: []
    func_position:
      end: 3254
      start: 3251
    functionDepth: 0
    functionLinenumber: 3251
    functionLinenumberEnd: 3254
    functionName: service_keywords_register
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: service_keywords_register(struct action_kw_list *kw_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: action_lookup
      Src: /src/haproxy/src/stream.c:3258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3259
      start: 3256
    functionDepth: 1
    functionLinenumber: 3256
    functionLinenumberEnd: 3259
    functionName: service_find
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 1
    functionsReached:
    - action_lookup
    linkageType: ''
    returnType: struct action_kw
    signature: '*service_find(const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/stream.c:3272,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stream.c:3275,1
    - Dst: strordered
      Src: /src/haproxy/src/stream.c:3277,1
    - Dst: fprintf
      Src: /src/haproxy/src/stream.c:3287,1
    - Dst: printf
      Src: /src/haproxy/src/stream.c:3289,1
    - Dst: fprintf
      Src: /src/haproxy/src/stream.c:3292,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - out
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 3293
      start: 3264
    functionDepth: 1
    functionLinenumber: 3264
    functionLinenumberEnd: 3293
    functionName: list_services
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strordered
    - fprintf
    - printf
    linkageType: ''
    returnType: void
    signature: list_services(FILE *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3340,1
    - Dst: get_localtime
      Src: /src/haproxy/src/stream.c:3344,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3345,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3352,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:3353,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:3353,1
    - Dst: objt_conn
      Src: /src/haproxy/src/stream.c:3355,1
    - Dst: strm_orig
      Src: /src/haproxy/src/stream.c:3355,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/stream.c:3359,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/stream.c:3361,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3364,1
    - Dst: HA_ANON_STR
      Src: /src/haproxy/src/stream.c:3365,1
    - Dst: get_host_port
      Src: /src/haproxy/src/stream.c:3365,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3370,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:3370,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3374,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3378,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/stream.c:3382,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3383,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3383,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3384,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/stream.c:3386,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3388,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3391,1
    - Dst: HA_ANON_STR
      Src: /src/haproxy/src/stream.c:3393,1
    - Dst: strm_fe
      Src: /src/haproxy/src/stream.c:3393,1
    - Dst: strm_fe
      Src: /src/haproxy/src/stream.c:3393,1
    - Dst: proxy_mode_str
      Src: /src/haproxy/src/stream.c:3393,1
    - Dst: strm_fe
      Src: /src/haproxy/src/stream.c:3393,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:3394,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:3394,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:3394,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:3395,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:3395,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/stream.c:3399,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/stream.c:3401,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3404,1
    - Dst: HA_ANON_STR
      Src: /src/haproxy/src/stream.c:3405,1
    - Dst: get_host_port
      Src: /src/haproxy/src/stream.c:3405,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3410,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:3410,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3414,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3419,1
    - Dst: HA_ANON_STR
      Src: /src/haproxy/src/stream.c:3421,1
    - Dst: proxy_mode_str
      Src: /src/haproxy/src/stream.c:3422,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3424,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:3426,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/stream.c:3430,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/stream.c:3432,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3435,1
    - Dst: HA_ANON_STR
      Src: /src/haproxy/src/stream.c:3436,1
    - Dst: get_host_port
      Src: /src/haproxy/src/stream.c:3436,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3441,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3445,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3450,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:3452,1
    - Dst: HA_ANON_STR
      Src: /src/haproxy/src/stream.c:3452,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:3452,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:3453,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:3453,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3455,1
    - Dst: conn_get_dst
      Src: /src/haproxy/src/stream.c:3459,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/stream.c:3461,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3464,1
    - Dst: HA_ANON_STR
      Src: /src/haproxy/src/stream.c:3465,1
    - Dst: get_host_port
      Src: /src/haproxy/src/stream.c:3465,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3470,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3474,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3478,1
    - Dst: read_freq_ctr_period_estimate
      Src: /src/haproxy/src/stream.c:3483,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/stream.c:3483,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/stream.c:3485,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3486,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3486,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3487,1
    - Dst: task_in_rq
      Src: /src/haproxy/src/stream.c:3491,1
    - Dst: ms_to_ns
      Src: /src/haproxy/src/stream.c:3494,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3495,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3497,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/stream.c:3497,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/stream.c:3497,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3500,1
    - Dst: h1_msg_state_str
      Src: /src/haproxy/src/stream.c:3503,1
    - Dst: h1_msg_state_str
      Src: /src/haproxy/src/stream.c:3503,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3506,1
    - Dst: HA_ANON_STR
      Src: /src/haproxy/src/stream.c:3506,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/stream.c:3507,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3511,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3512,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3512,1
    - Dst: sc_state_str
      Src: /src/haproxy/src/stream.c:3512,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stream.c:3513,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stream.c:3513,1
    - Dst: sc_ep_get
      Src: /src/haproxy/src/stream.c:3514,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3515,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stream.c:3516,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3516,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3516,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stream.c:3516,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3516,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3517,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stream.c:3518,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3518,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3518,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stream.c:3518,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3518,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3519,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:3520,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3520,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3520,1
    - Dst: tick_add
      Src: /src/haproxy/src/stream.c:3520,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3520,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3521,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:3522,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3522,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3522,1
    - Dst: tick_add
      Src: /src/haproxy/src/stream.c:3522,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3522,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3524,1
    - Dst: b_data
      Src: /src/haproxy/src/stream.c:3527,1
    - Dst: b_orig
      Src: /src/haproxy/src/stream.c:3528,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/stream.c:3529,1
    - Dst: b_size
      Src: /src/haproxy/src/stream.c:3530,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:3532,1
    - Dst: snprintf
      Src: /src/haproxy/src/stream.c:3536,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3537,1
    - Dst: struct connection*::mux::show_sd
      Src: /src/haproxy/src/stream.c:3538,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3539,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3542,1
    - Dst: conn_get_ctrl_name
      Src: /src/haproxy/src/stream.c:3545,1
    - Dst: conn_get_xprt_name
      Src: /src/haproxy/src/stream.c:3546,1
    - Dst: conn_get_mux_name
      Src: /src/haproxy/src/stream.c:3547,1
    - Dst: sc_get_data_name
      Src: /src/haproxy/src/stream.c:3548,1
    - Dst: obj_type_name
      Src: /src/haproxy/src/stream.c:3549,1
    - Dst: obj_base_ptr
      Src: /src/haproxy/src/stream.c:3550,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3552,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:3555,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:3556,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:3557,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:3558,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/stream.c:3560,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3561,1
    - Dst: read_freq_ctr_period_estimate
      Src: /src/haproxy/src/stream.c:3569,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/stream.c:3569,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3573,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3574,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3574,1
    - Dst: sc_state_str
      Src: /src/haproxy/src/stream.c:3574,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stream.c:3575,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/stream.c:3575,1
    - Dst: sc_ep_get
      Src: /src/haproxy/src/stream.c:3576,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3577,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stream.c:3578,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3578,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3578,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stream.c:3578,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3578,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3579,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stream.c:3580,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3580,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3580,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stream.c:3580,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3580,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3581,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:3582,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3582,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3582,1
    - Dst: tick_add
      Src: /src/haproxy/src/stream.c:3582,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3582,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3583,1
    - Dst: tick_isset
      Src: /src/haproxy/src/stream.c:3584,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3584,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3584,1
    - Dst: tick_add
      Src: /src/haproxy/src/stream.c:3584,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3584,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3586,1
    - Dst: b_data
      Src: /src/haproxy/src/stream.c:3589,1
    - Dst: b_orig
      Src: /src/haproxy/src/stream.c:3590,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/stream.c:3591,1
    - Dst: b_size
      Src: /src/haproxy/src/stream.c:3592,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:3594,1
    - Dst: snprintf
      Src: /src/haproxy/src/stream.c:3598,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3599,1
    - Dst: struct connection*::mux::show_sd
      Src: /src/haproxy/src/stream.c:3600,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3601,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3604,1
    - Dst: conn_get_ctrl_name
      Src: /src/haproxy/src/stream.c:3607,1
    - Dst: conn_get_xprt_name
      Src: /src/haproxy/src/stream.c:3608,1
    - Dst: conn_get_mux_name
      Src: /src/haproxy/src/stream.c:3609,1
    - Dst: sc_get_data_name
      Src: /src/haproxy/src/stream.c:3610,1
    - Dst: obj_type_name
      Src: /src/haproxy/src/stream.c:3611,1
    - Dst: obj_base_ptr
      Src: /src/haproxy/src/stream.c:3612,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3614,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:3617,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:3618,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:3619,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:3620,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/stream.c:3622,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3623,1
    - Dst: read_freq_ctr_period_estimate
      Src: /src/haproxy/src/stream.c:3631,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/stream.c:3631,1
    - Dst: HAS_FILTERS
      Src: /src/haproxy/src/stream.c:3634,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3637,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stream.c:3638,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3640,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3641,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/stream.c:3641,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3643,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3646,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3655,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3655,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3656,1
    - Dst: b_orig
      Src: /src/haproxy/src/stream.c:3658,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/stream.c:3659,1
    - Dst: c_data
      Src: /src/haproxy/src/stream.c:3660,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stream.c:3663,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stream.c:3664,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3666,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/stream.c:3668,1
    - Dst: HAS_FILTERS
      Src: /src/haproxy/src/stream.c:3672,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3675,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3679,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:3688,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3688,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:3689,1
    - Dst: b_orig
      Src: /src/haproxy/src/stream.c:3691,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/stream.c:3692,1
    - Dst: c_data
      Src: /src/haproxy/src/stream.c:3693,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/stream.c:3696,1
    - Dst: htxbuf
      Src: /src/haproxy/src/stream.c:3697,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3699,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/stream.c:3701,1
    - Dst: HAS_FILTERS
      Src: /src/haproxy/src/stream.c:3706,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3709,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3715,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 160
    argCount: 5
    argNames:
    - buf
    - ctx
    - strm
    - pfx
    - anon_key
    argTypes:
    - struct buffer*
    - struct show_sess_ctx*
    - struct stream*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3717
      start: 3322
    functionDepth: 1
    functionLinenumber: 3322
    functionLinenumberEnd: 3717
    functionName: __strm_dump_to_buffer
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - ns_to_sec
    - HA_ANON_STR
    - conn_get_xprt_name
    - read_freq_ctr_period_estimate
    - ms_to_ns
    - chunk_memcat
    - addr_to_str
    - objt_conn
    - get_localtime
    - conn_get_src
    - TICKS_TO_MS
    - sc_appctx
    - sc_ep_test
    - sc_ep_snd_ex
    - strm_fe
    - get_host_port
    - human_time
    - b_orig
    - b_peek_ofs
    - HAS_FILTERS
    - task_in_rq
    - list_for_each_entry
    - sc_ep_get
    - conn_get_mux_name
    - htx_nbblks
    - chunk_appendf
    - __objt_server
    - sc_ep_rcv_ex
    - obj_type_name
    - obj_base_ptr
    - b_size
    - c_data
    - LIST_INLIST
    - FLT_ID
    - struct connection*::mux::show_sd
    - tick_is_expired
    - objt_server
    - snprintf
    - htxbuf
    - proxy_mode_str
    - strm_orig
    - b_data
    - MS_TO_TICKS
    - h1_msg_state_str
    - sc_state_str
    - conn_get_dst
    - sc_conn
    - conn_get_ctrl_name
    - conn_fd
    - tick_add
    - strm_li
    - IS_HTX_STRM
    - b_head_ofs
    - tick_isset
    - sc_get_data_name
    linkageType: ''
    returnType: void
    signature: "__strm_dump_to_buffer(struct buffer *buf, const struct show_sess_ctx
      *ctx,\n\t\t\t\t  const struct stream *strm, const char *pfx, uint32_t anon_key)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __strm_dump_to_buffer
      Src: /src/haproxy/src/stream.c:3724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - strm
    - pfx
    - anon_key
    argTypes:
    - struct buffer*
    - struct stream*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3725
      start: 3722
    functionDepth: 2
    functionLinenumber: 3722
    functionLinenumberEnd: 3725
    functionName: strm_dump_to_buffer
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 3
    functionsReached:
    - __strm_dump_to_buffer
    linkageType: ''
    returnType: void
    signature: strm_dump_to_buffer(struct buffer *buf, const struct stream *strm,
      const char *pfx, uint32_t anon_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/stream.c:3736,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:3740,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/stream.c:3741,1
    - Dst: __strm_dump_to_buffer
      Src: /src/haproxy/src/stream.c:3753,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/stream.c:3754,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - appctx
    - strm
    argTypes:
    - struct appctx*
    - struct stream*
    constantsTouched: []
    func_position:
      end: 3766
      start: 3732
    functionDepth: 2
    functionLinenumber: 3732
    functionLinenumberEnd: 3766
    functionName: stats_dump_full_strm_to_buffer
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - applet_putchk
    - chunk_reset
    - __strm_dump_to_buffer
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: stats_dump_full_strm_to_buffer(struct appctx *appctx, struct stream
      *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/stream.c:3770,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/stream.c:3773,1
    - Dst: strcmp
      Src: /src/haproxy/src/stream.c:3783,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3788,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/stream.c:3790,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3792,1
    - Dst: strcmp
      Src: /src/haproxy/src/stream.c:3798,1
    - Dst: strcmp
      Src: /src/haproxy/src/stream.c:3802,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/stream.c:3803,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3817,1
    - Dst: strtoul
      Src: /src/haproxy/src/stream.c:3820,1
    - Dst: strcmp
      Src: /src/haproxy/src/stream.c:3827,1
    - Dst: strcmp
      Src: /src/haproxy/src/stream.c:3830,1
    - Dst: strcmp
      Src: /src/haproxy/src/stream.c:3833,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3839,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3842,1
    - Dst: ist
      Src: /src/haproxy/src/stream.c:3844,1
    - Dst: istsplit
      Src: /src/haproxy/src/stream.c:3845,1
    - Dst: istlen
      Src: /src/haproxy/src/stream.c:3846,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3847,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/stream.c:3849,1
    - Dst: ist0
      Src: /src/haproxy/src/stream.c:3849,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3850,1
    - Dst: server_find_by_name
      Src: /src/haproxy/src/stream.c:3852,1
    - Dst: ist0
      Src: /src/haproxy/src/stream.c:3852,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3853,1
    - Dst: strcmp
      Src: /src/haproxy/src/stream.c:3858,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3862,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3865,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/stream.c:3867,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3868,1
    - Dst: strcmp
      Src: /src/haproxy/src/stream.c:3874,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3878,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3881,1
    - Dst: proxy_fe_by_name
      Src: /src/haproxy/src/stream.c:3883,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3884,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/stream.c:3891,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:3892,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/stream.c:3900,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/stream.c:3905,1
    - Dst: _HA_ATOMIC_FETCH_ADD
      Src: /src/haproxy/src/stream.c:3905,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 85
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3907
      start: 3768
    functionDepth: 3
    functionLinenumber: 3768
    functionLinenumberEnd: 3907
    functionName: cli_parse_show_sess
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - istsplit
    - proxy_be_by_name
    - appctx_strm
    - strcmp
    - cli_err
    - istlen
    - proxy_fe_by_name
    - ist
    - chunk_printf
    - _HA_ATOMIC_FETCH_ADD
    - LIST_INIT
    - cli_has_level
    - strtoul
    - server_find_by_name
    - parse_time_err
    - applet_reserve_svcctx
    - ist0
    linkageType: ''
    returnType: int
    signature: cli_parse_show_sess(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_isolate
      Src: /src/haproxy/src/stream.c:3919,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stream.c:3926,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/stream.c:3929,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/stream.c:3930,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/stream.c:3931,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/stream.c:3948,1
    - Dst: appctx_strm
      Src: /src/haproxy/src/stream.c:3949,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/stream.c:3962,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/stream.c:3962,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/stream.c:3982,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/stream.c:3991,1
    - Dst: stats_dump_full_strm_to_buffer
      Src: /src/haproxy/src/stream.c:3993,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/stream.c:3997,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/stream.c:3998,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4007,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:4010,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:4010,1
    - Dst: objt_conn
      Src: /src/haproxy/src/stream.c:4012,1
    - Dst: strm_orig
      Src: /src/haproxy/src/stream.c:4012,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/stream.c:4013,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/stream.c:4013,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4016,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/stream.c:4018,1
    - Dst: get_host_port
      Src: /src/haproxy/src/stream.c:4019,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/stream.c:4020,1
    - Dst: strm_fe
      Src: /src/haproxy/src/stream.c:4020,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/stream.c:4021,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:4022,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/stream.c:4022,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:4022,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4028,1
    - Dst: strm_li
      Src: /src/haproxy/src/stream.c:4030,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/stream.c:4031,1
    - Dst: strm_fe
      Src: /src/haproxy/src/stream.c:4031,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/stream.c:4032,1
    - Dst: objt_server
      Src: /src/haproxy/src/stream.c:4033,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/stream.c:4033,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stream.c:4033,1
    - Dst: ms_to_ns
      Src: /src/haproxy/src/stream.c:4039,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4040,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:4043,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/stream.c:4043,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/stream.c:4043,1
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/stream.c:4044,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4047,1
    - Dst: ci_data
      Src: /src/haproxy/src/stream.c:4050,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4053,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:4056,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4056,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4057,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4059,1
    - Dst: ci_data
      Src: /src/haproxy/src/stream.c:4062,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4064,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:4067,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4067,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4068,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:4070,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4071,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:4072,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4073,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stream.c:4074,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:4075,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4075,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stream.c:4075,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4076,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4077,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stream.c:4078,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:4079,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4079,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stream.c:4079,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4080,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:4082,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4083,1
    - Dst: conn_fd
      Src: /src/haproxy/src/stream.c:4084,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4085,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stream.c:4086,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:4087,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4087,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/src/stream.c:4087,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4088,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4089,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stream.c:4090,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:4091,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4091,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/src/stream.c:4091,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4092,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4094,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:4097,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4097,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4098,1
    - Dst: human_time
      Src: /src/haproxy/src/stream.c:4101,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4101,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4102,1
    - Dst: task_in_rq
      Src: /src/haproxy/src/stream.c:4103,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4104,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4107,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/stream.c:4107,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4109,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/stream.c:4111,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/stream.c:4115,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4126,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4128,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/stream.c:4130,1
    - Dst: thread_release
      Src: /src/haproxy/src/stream.c:4139,1
    - Dst: thread_release
      Src: /src/haproxy/src/stream.c:4142,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 127
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 4144
      start: 3914
    functionDepth: 3
    functionLinenumber: 3914
    functionLinenumberEnd: 4144
    functionName: cli_io_handler_dump_sess
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - ns_to_sec
    - chunk_reset
    - ms_to_ns
    - LIST_DELETE
    - addr_to_str
    - objt_conn
    - conn_get_src
    - TICKS_TO_MS
    - applet_putchk
    - thread_release
    - sc_ep_snd_ex
    - get_host_port
    - strm_fe
    - human_time
    - appctx_strm
    - task_in_rq
    - LIST_ISEMPTY
    - chunk_appendf
    - __objt_server
    - sc_ep_rcv_ex
    - read_freq_ctr
    - tick_is_expired
    - objt_server
    - thread_isolate
    - LIST_INIT
    - strm_orig
    - HA_ANON_CLI
    - stats_dump_full_strm_to_buffer
    - LIST_ELEM
    - sc_conn
    - conn_fd
    - LIST_APPEND
    - strm_li
    - ci_data
    linkageType: ''
    returnType: int
    signature: cli_io_handler_dump_sess(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: thread_isolate
      Src: /src/haproxy/src/stream.c:4156,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/stream.c:4157,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/stream.c:4158,1
    - Dst: thread_release
      Src: /src/haproxy/src/stream.c:4159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 4161
      start: 4146
    functionDepth: 0
    functionLinenumber: 4146
    functionLinenumberEnd: 4161
    functionName: cli_release_show_sess
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - LIST_DELETE
    - thread_isolate
    - thread_release
    - LIST_ISEMPTY
    linkageType: ''
    returnType: void
    signature: cli_release_show_sess(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/stream.c:4169,1
    - Dst: strtoul
      Src: /src/haproxy/src/stream.c:4172,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:4174,1
    - Dst: thread_isolate
      Src: /src/haproxy/src/stream.c:4178,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/stream.c:4182,1
    - Dst: stream_shutdown
      Src: /src/haproxy/src/stream.c:4184,1
    - Dst: thread_release
      Src: /src/haproxy/src/stream.c:4190,1
    - Dst: cli_err
      Src: /src/haproxy/src/stream.c:4194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 4197
      start: 4164
    functionDepth: 2
    functionLinenumber: 4164
    functionLinenumberEnd: 4197
    functionName: cli_parse_shutdown_session
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - stream_shutdown
    - list_for_each_entry
    - cli_err
    - thread_isolate
    - thread_release
    - cli_has_level
    - strtoul
    linkageType: ''
    returnType: int
    signature: cli_parse_shutdown_session(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/stream.c:4204,1
    - Dst: cli_find_server
      Src: /src/haproxy/src/stream.c:4207,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/stream.c:4212,1
    - Dst: srv_shutdown_streams
      Src: /src/haproxy/src/stream.c:4213,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/stream.c:4214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 4216
      start: 4200
    functionDepth: 4
    functionLinenumber: 4200
    functionLinenumberEnd: 4216
    functionName: cli_parse_shutdown_sessions_server
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - cli_find_server
    - cli_has_level
    - srv_shutdown_streams
    linkageType: ''
    returnType: int
    signature: cli_parse_shutdown_sessions_server(char **args, char *payload, struct
      appctx *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4283
      start: 4274
    functionDepth: 0
    functionLinenumber: 4274
    functionLinenumberEnd: 4283
    functionName: smp_fetch_cur_client_timeout
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - TICKS_TO_MS
    linkageType: ''
    returnType: int
    signature: smp_fetch_cur_client_timeout(const struct arg *args, struct sample
      *smp, const char *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4294
      start: 4285
    functionDepth: 0
    functionLinenumber: 4285
    functionLinenumberEnd: 4294
    functionName: smp_fetch_cur_server_timeout
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - TICKS_TO_MS
    linkageType: ''
    returnType: int
    signature: smp_fetch_cur_server_timeout(const struct arg *args, struct sample
      *smp, const char *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/stream.c:4303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4305
      start: 4296
    functionDepth: 0
    functionLinenumber: 4296
    functionLinenumberEnd: 4305
    functionName: smp_fetch_cur_tunnel_timeout
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - TICKS_TO_MS
    linkageType: ''
    returnType: int
    signature: smp_fetch_cur_tunnel_timeout(const struct arg *args, struct sample
      *smp, const char *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/stream.c:4319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4321
      start: 4307
    functionDepth: 0
    functionLinenumber: 4307
    functionLinenumberEnd: 4321
    functionName: smp_fetch_last_rule_file
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: smp_fetch_last_rule_file(const struct arg *args, struct sample *smp,
      const char *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4335
      start: 4323
    functionDepth: 0
    functionLinenumber: 4323
    functionLinenumberEnd: 4335
    functionName: smp_fetch_last_rule_line
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_last_rule_line(const struct arg *args, struct sample *smp,
      const char *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/stream.c:4346,1
    - Dst: snprintf
      Src: /src/haproxy/src/stream.c:4348,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/stream.c:4354,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/stream.c:4356,1
    - Dst: strlen
      Src: /src/haproxy/src/stream.c:4357,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/stream.c:4357,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/stream.c:4360,1
    - Dst: snprintf
      Src: /src/haproxy/src/stream.c:4362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4370
      start: 4337
    functionDepth: 2
    functionLinenumber: 4337
    functionLinenumberEnd: 4370
    functionName: smp_fetch_last_entity
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - strlen
    - snprintf
    - FLT_ID
    linkageType: ''
    returnType: int
    signature: smp_fetch_last_entity(const struct arg *args, struct sample *smp, const
      char *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/stream.c:4381,1
    - Dst: snprintf
      Src: /src/haproxy/src/stream.c:4383,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/stream.c:4389,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/stream.c:4391,1
    - Dst: strlen
      Src: /src/haproxy/src/stream.c:4392,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/stream.c:4392,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/stream.c:4395,1
    - Dst: snprintf
      Src: /src/haproxy/src/stream.c:4397,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/stream.c:4402,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/stream.c:4404,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4411
      start: 4372
    functionDepth: 2
    functionLinenumber: 4372
    functionLinenumberEnd: 4411
    functionName: smp_fetch_waiting_entity
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - strlen
    - chunk_memcat
    - snprintf
    - get_trash_chunk
    - FLT_ID
    linkageType: ''
    returnType: int
    signature: smp_fetch_waiting_entity(const struct arg *args, struct sample *smp,
      const char *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/stream.c:4415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4429
      start: 4413
    functionDepth: 2
    functionLinenumber: 4413
    functionLinenumberEnd: 4429
    functionName: smp_fetch_sess_term_state
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    linkageType: ''
    returnType: int
    signature: smp_fetch_sess_term_state(const struct arg *args, struct sample *smp,
      const char *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:4438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4442
      start: 4431
    functionDepth: 1
    functionLinenumber: 4431
    functionLinenumberEnd: 4442
    functionName: smp_fetch_conn_retries
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - sc_state_in
    linkageType: ''
    returnType: int
    signature: smp_fetch_conn_retries(const struct arg *args, struct sample *smp,
      const char *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/stream.c:4446,1
    - Dst: objt_conn
      Src: /src/haproxy/src/stream.c:4450,1
    - Dst: sc_conn
      Src: /src/haproxy/src/stream.c:4451,1
    - Dst: struct connection*::mux::ctl
      Src: /src/haproxy/src/stream.c:4455,1
    - Dst: mux::ctl
      Src: /src/haproxy/src/stream.c:4457,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/stream.c:4459,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/stream.c:4459,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4460,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/stream.c:4460,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4461,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/stream.c:4461,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4462,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/stream.c:4462,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4463,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/stream.c:4463,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4464,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/stream.c:4464,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stream.c:4465,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/stream.c:4465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4471
      start: 4444
    functionDepth: 2
    functionLinenumber: 4444
    functionLinenumberEnd: 4471
    functionName: smp_fetch_tevts
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - tevt_evts2str
    - struct connection*::mux::ctl
    - objt_conn
    - chunk_printf
    - chunk_appendf
    - get_trash_chunk
    - mux::ctl
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_tevts(const struct arg *args, struct sample *smp, const char
      *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4481
      start: 4473
    functionDepth: 0
    functionLinenumber: 4473
    functionLinenumberEnd: 4481
    functionName: smp_fetch_id32
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_id32(const struct arg *args, struct sample *smp, const char
      *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_state_in
      Src: /src/haproxy/src/stream.c:4490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 4494
      start: 4483
    functionDepth: 1
    functionLinenumber: 4483
    functionLinenumberEnd: 4494
    functionName: smp_fetch_redispatched
    functionSourceFile: /src/haproxy/src/stream.c
    functionUses: 0
    functionsReached:
    - sc_state_in
    linkageType: ''
    returnType: int
    signature: smp_fetch_redispatched(const struct arg *args, struct sample *smp,
      const char *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ebpt_insert
      Src: /src/haproxy/src/ebpttree.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct ebpt_node*
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: ebpt_insert
    functionSourceFile: /src/haproxy/src/ebpttree.c
    functionUses: 2
    functionsReached:
    - __ebpt_insert
    linkageType: ''
    returnType: struct ebpt_node
    signature: '*ebpt_insert(struct eb_root *root, struct ebpt_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ebpt_lookup
      Src: /src/haproxy/src/ebpttree.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - void*
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: ebpt_lookup
    functionSourceFile: /src/haproxy/src/ebpttree.c
    functionUses: 2
    functionsReached:
    - __ebpt_lookup
    linkageType: ''
    returnType: struct ebpt_node
    signature: '*ebpt_lookup(struct eb_root *root, void *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/ebpttree.c:45,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/ebpttree.c:49,1
    - Dst: container_of
      Src: /src/haproxy/src/ebpttree.c:54,1
    - Dst: eb_untag
      Src: /src/haproxy/src/ebpttree.c:54,1
    - Dst: container_of
      Src: /src/haproxy/src/ebpttree.c:62,1
    - Dst: eb_untag
      Src: /src/haproxy/src/ebpttree.c:62,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/ebpttree.c:76,1
    - Dst: eb_untag
      Src: /src/haproxy/src/ebpttree.c:77,1
    - Dst: container_of
      Src: /src/haproxy/src/ebpttree.c:78,1
    - Dst: eb_untag
      Src: /src/haproxy/src/ebpttree.c:78,1
    - Dst: ebpt_entry
      Src: /src/haproxy/src/ebpttree.c:93,1
    - Dst: eb_walk_down
      Src: /src/haproxy/src/ebpttree.c:93,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/ebpttree.c:109,1
    - Dst: unlikely
      Src: /src/haproxy/src/ebpttree.c:113,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/ebpttree.c:113,1
    - Dst: eb_untag
      Src: /src/haproxy/src/ebpttree.c:113,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/ebpttree.c:115,1
    - Dst: eb_untag
      Src: /src/haproxy/src/ebpttree.c:115,1
    - Dst: eb_untag
      Src: /src/haproxy/src/ebpttree.c:118,1
    - Dst: ebpt_entry
      Src: /src/haproxy/src/ebpttree.c:119,1
    - Dst: eb_walk_down
      Src: /src/haproxy/src/ebpttree.c:119,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - void*
    constantsTouched: []
    func_position:
      end: 121
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 121
    functionName: ebpt_lookup_le
    functionSourceFile: /src/haproxy/src/ebpttree.c
    functionUses: 0
    functionsReached:
    - container_of
    - eb_walk_down
    - eb_clrtag
    - eb_gettag
    - eb_untag
    - unlikely
    - eb_root_to_node
    - ebpt_entry
    linkageType: ''
    returnType: struct ebpt_node
    signature: '*ebpt_lookup_le(struct eb_root *root, void *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/ebpttree.c:133,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/ebpttree.c:137,1
    - Dst: container_of
      Src: /src/haproxy/src/ebpttree.c:142,1
    - Dst: eb_untag
      Src: /src/haproxy/src/ebpttree.c:142,1
    - Dst: container_of
      Src: /src/haproxy/src/ebpttree.c:150,1
    - Dst: eb_untag
      Src: /src/haproxy/src/ebpttree.c:150,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/ebpttree.c:164,1
    - Dst: eb_untag
      Src: /src/haproxy/src/ebpttree.c:165,1
    - Dst: container_of
      Src: /src/haproxy/src/ebpttree.c:166,1
    - Dst: eb_untag
      Src: /src/haproxy/src/ebpttree.c:166,1
    - Dst: ebpt_entry
      Src: /src/haproxy/src/ebpttree.c:181,1
    - Dst: eb_walk_down
      Src: /src/haproxy/src/ebpttree.c:181,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/ebpttree.c:197,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/ebpttree.c:199,1
    - Dst: eb_untag
      Src: /src/haproxy/src/ebpttree.c:199,1
    - Dst: eb_untag
      Src: /src/haproxy/src/ebpttree.c:202,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/ebpttree.c:203,1
    - Dst: ebpt_entry
      Src: /src/haproxy/src/ebpttree.c:206,1
    - Dst: eb_walk_down
      Src: /src/haproxy/src/ebpttree.c:206,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - void*
    constantsTouched: []
    func_position:
      end: 208
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 208
    functionName: ebpt_lookup_ge
    functionSourceFile: /src/haproxy/src/ebpttree.c
    functionUses: 0
    functionsReached:
    - container_of
    - eb_walk_down
    - eb_clrtag
    - eb_gettag
    - eb_untag
    - unlikely
    - eb_root_to_node
    - ebpt_entry
    linkageType: ''
    returnType: struct ebpt_node
    signature: '*ebpt_lookup_ge(struct eb_root *root, void *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_insert
      Src: /src/haproxy/src/cebul_tree.c:49,1
    - Dst: _cebu_insert
      Src: /src/haproxy/src/cebul_tree.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebul_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_insert
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebul, _insert, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_first
      Src: /src/haproxy/src/cebul_tree.c:58,1
    - Dst: _cebu_first
      Src: /src/haproxy/src/cebul_tree.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebul_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_first
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebul, _first, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_last
      Src: /src/haproxy/src/cebul_tree.c:67,1
    - Dst: _cebu_last
      Src: /src/haproxy/src/cebul_tree.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebul_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_last
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebul, _last, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup
      Src: /src/haproxy/src/cebul_tree.c:78,1
    - Dst: _cebu_lookup
      Src: /src/haproxy/src/cebul_tree.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebul_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebul, _lookup, struct ceb_node **, root,
      ptrdiff_t, kofs, unsigned long, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_le
      Src: /src/haproxy/src/cebul_tree.c:89,1
    - Dst: _cebu_lookup_le
      Src: /src/haproxy/src/cebul_tree.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebul_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_le
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebul, _lookup_le, struct ceb_node **,
      root, ptrdiff_t, kofs, unsigned long, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_lt
      Src: /src/haproxy/src/cebul_tree.c:100,1
    - Dst: _cebu_lookup_lt
      Src: /src/haproxy/src/cebul_tree.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebul_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_lt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebul, _lookup_lt, struct ceb_node **,
      root, ptrdiff_t, kofs, unsigned long, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_ge
      Src: /src/haproxy/src/cebul_tree.c:111,1
    - Dst: _cebu_lookup_ge
      Src: /src/haproxy/src/cebul_tree.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebul_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_ge
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebul, _lookup_ge, struct ceb_node **,
      root, ptrdiff_t, kofs, unsigned long, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_gt
      Src: /src/haproxy/src/cebul_tree.c:122,1
    - Dst: _cebu_lookup_gt
      Src: /src/haproxy/src/cebul_tree.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebul_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_gt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebul, _lookup_gt, struct ceb_node **,
      root, ptrdiff_t, kofs, unsigned long, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_next
      Src: /src/haproxy/src/cebul_tree.c:137,1
    - Dst: _cebu_next
      Src: /src/haproxy/src/cebul_tree.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebul_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_next
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebul, _next, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_prev
      Src: /src/haproxy/src/cebul_tree.c:152,1
    - Dst: _cebu_prev
      Src: /src/haproxy/src/cebul_tree.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebul_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_prev
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebul, _prev, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebul_tree.c:165,1
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebul_tree.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebul_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebul, _delete, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebul_tree.c:176,1
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebul_tree.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebul_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebul, _pick, struct ceb_node **, root,
      ptrdiff_t, kofs, unsigned long, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/src/cebul_tree.c:186,1
    - Dst: printf
      Src: /src/haproxy/src/cebul_tree.c:192,1
    - Dst: cebu_default_dump_tree
      Src: /src/haproxy/src/cebul_tree.c:195,1
    - Dst: printf
      Src: /src/haproxy/src/cebul_tree.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 198
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebul_tree.c
    functionUses: 0
    functionsReached:
    - printf
    - cebu_default_dump_tree
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(void, cebul, _default_dump, struct ceb_node **, root, ptrdiff_t,
      kofs, const char *, label, const void *, ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_crtlist.c:63,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_crtlist.c:66,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_crtlist.c:68,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_crtlist.c:69,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_crtlist.c:70,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_crtlist.c:71,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_crtlist.c:73,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_crtlist.c:75,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_crtlist.c:76,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_crtlist.c:78,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_crtlist.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct ssl_bind_conf*
    constantsTouched: []
    func_position:
      end: 84
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 84
    functionName: ssl_sock_free_ssl_conf
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 1
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: void
    signature: ssl_sock_free_ssl_conf(struct ssl_bind_conf *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ssl_crtlist.c:96,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_crtlist.c:102,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_crtlist.c:109,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_crtlist.c:115,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_crtlist.c:120,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_crtlist.c:125,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_crtlist.c:130,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_crtlist.c:136,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_crtlist.c:142,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_crtlist.c:147,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_crtlist.c:162,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_crtlist.c:169,1
    - Dst: ssl_sock_free_ssl_conf
      Src: /src/haproxy/src/ssl_crtlist.c:177,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:178,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 84
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct ssl_bind_conf*
    constantsTouched: []
    func_position:
      end: 181
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 181
    functionName: crtlist_dup_ssl_conf
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - ssl_sock_free_ssl_conf
    - strdup
    linkageType: ''
    returnType: struct ssl_bind_conf
    signature: '*crtlist_dup_ssl_conf(struct ssl_bind_conf *src)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:192,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: crtlist_free_filters
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: crtlist_free_filters(char **args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ssl_crtlist.c:206,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_crtlist.c:211,1
    - Dst: crtlist_free_filters
      Src: /src/haproxy/src/ssl_crtlist.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 220
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 220
    functionName: crtlist_dup_filters
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - calloc
    - crtlist_free_filters
    - strdup
    linkageType: ''
    returnType: char
    signature: '**crtlist_dup_filters(char **args, int fcount)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_delete
      Src: /src/haproxy/src/ssl_crtlist.c:233,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_crtlist.c:234,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_crtlist.c:235,1
    - Dst: crtlist_free_filters
      Src: /src/haproxy/src/ssl_crtlist.c:236,1
    - Dst: ssl_sock_free_ssl_conf
      Src: /src/haproxy/src/ssl_crtlist.c:237,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:238,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_crtlist.c:239,1
    - Dst: ckch_inst_free
      Src: /src/haproxy/src/ssl_crtlist.c:240,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct crtlist_entry*
    constantsTouched: []
    func_position:
      end: 243
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 243
    functionName: crtlist_entry_free
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_safe
    - ssl_sock_free_ssl_conf
    - LIST_DELETE
    - ckch_inst_free
    - free
    - crtlist_free_filters
    - ebpt_delete
    linkageType: ''
    returnType: void
    signature: crtlist_entry_free(struct crtlist_entry *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crtlist_entry_new
      Src: /src/haproxy/src/ssl_crtlist.c:255,1
    - Dst: crtlist_dup_filters
      Src: /src/haproxy/src/ssl_crtlist.c:260,1
    - Dst: crtlist_dup_ssl_conf
      Src: /src/haproxy/src/ssl_crtlist.c:266,1
    - Dst: crtlist_free_filters
      Src: /src/haproxy/src/ssl_crtlist.c:276,1
    - Dst: ssl_sock_free_ssl_conf
      Src: /src/haproxy/src/ssl_crtlist.c:277,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:278,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct crtlist_entry*
    constantsTouched: []
    func_position:
      end: 282
      start: 248
    functionDepth: 5
    functionLinenumber: 248
    functionLinenumberEnd: 282
    functionName: crtlist_entry_dup
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - crtlist_dup_ssl_conf
    - ssl_sock_free_ssl_conf
    - crtlist_dup_filters
    - free
    - crtlist_free_filters
    - crtlist_entry_new
    linkageType: ''
    returnType: struct crtlist_entry
    signature: '*crtlist_entry_dup(struct crtlist_entry *src)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ssl_crtlist.c:291,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_crtlist.c:295,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_crtlist.c:298,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_crtlist.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 302
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 302
    functionName: crtlist_entry_new
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 1
    functionsReached:
    - calloc
    - LIST_INIT
    linkageType: ''
    returnType: struct crtlist_entry
    signature: '*crtlist_entry_new()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:316,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_crtlist.c:320,1
    - Dst: crtlist_entry_free
      Src: /src/haproxy/src/ssl_crtlist.c:321,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/ssl_crtlist.c:323,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - crtlist
    argTypes:
    - struct crtlist*
    constantsTouched: []
    func_position:
      end: 325
      start: 305
    functionDepth: 5
    functionLinenumber: 305
    functionLinenumberEnd: 325
    functionName: crtlist_free
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - free
    - ebmb_delete
    - crtlist_entry_free
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: crtlist_free(struct crtlist *crtlist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ssl_crtlist.c:335,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_crtlist.c:335,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_crtlist.c:339,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_crtlist.c:339,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_crtlist.c:345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - filename
    - unique
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 348
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 348
    functionName: crtlist_new
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - strlen
    - calloc
    - LIST_INIT
    - memcpy
    linkageType: ''
    returnType: struct crtlist
    signature: '*crtlist_new(const char *filename, int unique)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/ssl_crtlist.c:370,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:375,1
    - Dst: isspace
      Src: /src/haproxy/src/ssl_crtlist.c:383,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:388,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:393,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:402,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:407,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:416,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:437,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_crtlist.c:448,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_crtlist.c:450,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:452,1
    - Dst: parse
      Src: /src/haproxy/src/ssl_crtlist.c:458,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:460,1
    - Dst: ckch_conf_parse
      Src: /src/haproxy/src/ssl_crtlist.c:471,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:483,1
    - Dst: crtlist_dup_filters
      Src: /src/haproxy/src/ssl_crtlist.c:491,1
    - Dst: crtlist_free_filters
      Src: /src/haproxy/src/ssl_crtlist.c:497,1
    - Dst: ssl_sock_free_ssl_conf
      Src: /src/haproxy/src/ssl_crtlist.c:499,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_crtlist.c:500,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 133
    argCount: 8
    argNames:
    - line
    - crt_path
    - entry
    - cc
    - file
    - linenum
    - from_cli
    - err
    argTypes:
    - char*
    - char**
    - struct crtlist_entry*
    - struct ckch_conf*
    - char*
    - int
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 502
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 502
    functionName: crtlist_parse_line
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - memprintf
    - isspace
    - parse
    - ha_free
    - ckch_conf_parse
    - strlen
    - calloc
    - strcmp
    - ssl_sock_free_ssl_conf
    - crtlist_dup_filters
    - crtlist_free_filters
    linkageType: ''
    returnType: int
    signature: crtlist_parse_line(char *line, char **crt_path, struct crtlist_entry
      *entry, struct ckch_conf *cc, const char *file, int linenum, int from_cli, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_crtlist.c:519,1
    - Dst: stat
      Src: /src/haproxy/src/ssl_crtlist.c:521,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:525,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_crtlist.c:526,1
    - Dst: ckch_store_new_load_files_conf
      Src: /src/haproxy/src/ssl_crtlist.c:533,1
    - Dst: ebpt_insert
      Src: /src/haproxy/src/ssl_crtlist.c:543,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_crtlist.c:544,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_crtlist.c:545,1
    - Dst: snprintf
      Src: /src/haproxy/src/ssl_crtlist.c:561,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_crtlist.c:565,1
    - Dst: stat
      Src: /src/haproxy/src/ssl_crtlist.c:567,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:570,1
    - Dst: ckch_store_new_load_files_path
      Src: /src/haproxy/src/ssl_crtlist.c:574,1
    - Dst: crtlist_entry_dup
      Src: /src/haproxy/src/ssl_crtlist.c:587,1
    - Dst: ebpt_insert
      Src: /src/haproxy/src/ssl_crtlist.c:598,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_crtlist.c:599,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_crtlist.c:600,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:606,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:613,1
    - Dst: strerror
      Src: /src/haproxy/src/ssl_crtlist.c:614,1
    - Dst: ckch_conf_cmp
      Src: /src/haproxy/src/ssl_crtlist.c:619,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:620,1
    - Dst: ebpt_insert
      Src: /src/haproxy/src/ssl_crtlist.c:628,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_crtlist.c:629,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_crtlist.c:630,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 95
    argCount: 7
    argNames:
    - crt_path
    - cc
    - newlist
    - entry
    - file
    - linenum
    - err
    argTypes:
    - char*
    - struct ckch_conf*
    - struct crtlist*
    - struct crtlist_entry*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 638
      start: 511
    functionDepth: 6
    functionLinenumber: 511
    functionLinenumberEnd: 638
    functionName: crtlist_load_crt
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ckch_conf_cmp
    - strerror
    - stat
    - LIST_APPEND
    - ebpt_insert
    - snprintf
    - strdup
    - free
    - crtlist_entry_dup
    - ckch_store_new_load_files_conf
    - ckchs_lookup
    - ckch_store_new_load_files_path
    linkageType: ''
    returnType: int
    signature: crtlist_load_crt(char *crt_path, struct ckch_conf *cc, struct crtlist
      *newlist, struct crtlist_entry *entry, char *file, int linenum, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/haproxy/src/ssl_crtlist.c:656,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:657,1
    - Dst: strerror
      Src: /src/haproxy/src/ssl_crtlist.c:657,1
    - Dst: crtlist_new
      Src: /src/haproxy/src/ssl_crtlist.c:661,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:663,1
    - Dst: fgets
      Src: /src/haproxy/src/ssl_crtlist.c:668,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:676,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_crtlist.c:684,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:689,1
    - Dst: crtlist_entry_new
      Src: /src/haproxy/src/ssl_crtlist.c:707,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:709,1
    - Dst: crtlist_parse_line
      Src: /src/haproxy/src/ssl_crtlist.c:714,1
    - Dst: crtlist_entry_free
      Src: /src/haproxy/src/ssl_crtlist.c:720,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_crtlist.c:726,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_crtlist.c:726,1
    - Dst: snprintf
      Src: /src/haproxy/src/ssl_crtlist.c:727,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:728,1
    - Dst: crtlist_load_crt
      Src: /src/haproxy/src/ssl_crtlist.c:736,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:743,1
    - Dst: fclose
      Src: /src/haproxy/src/ssl_crtlist.c:753,1
    - Dst: crtlist_entry_free
      Src: /src/haproxy/src/ssl_crtlist.c:758,1
    - Dst: fclose
      Src: /src/haproxy/src/ssl_crtlist.c:762,1
    - Dst: crtlist_free
      Src: /src/haproxy/src/ssl_crtlist.c:763,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 80
    argCount: 5
    argNames:
    - file
    - bind_conf
    - curproxy
    - crtlist
    - err
    argTypes:
    - char*
    - struct bind_conf*
    - struct proxy*
    - struct crtlist**
    - char**
    constantsTouched: []
    func_position:
      end: 765
      start: 646
    functionDepth: 7
    functionLinenumber: 646
    functionLinenumberEnd: 765
    functionName: crtlist_parse_file
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 1
    functionsReached:
    - memprintf
    - crtlist_entry_free
    - strerror
    - crtlist_new
    - strlen
    - snprintf
    - crtlist_parse_line
    - crtlist_free
    - crtlist_load_crt
    - crtlist_entry_new
    - fopen
    - fclose
    - fgets
    linkageType: ''
    returnType: int
    signature: crtlist_parse_file(char *file, struct bind_conf *bind_conf, struct
      proxy *curproxy, struct crtlist **crtlist, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: crtlist_new
      Src: /src/haproxy/src/ssl_crtlist.c:783,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:785,1
    - Dst: scandir
      Src: /src/haproxy/src/ssl_crtlist.c:789,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:791,1
    - Dst: strerror
      Src: /src/haproxy/src/ssl_crtlist.c:792,1
    - Dst: strrchr
      Src: /src/haproxy/src/ssl_crtlist.c:800,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_crtlist.c:802,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_crtlist.c:802,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_crtlist.c:803,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_crtlist.c:803,1
    - Dst: snprintf
      Src: /src/haproxy/src/ssl_crtlist.c:806,1
    - Dst: stat
      Src: /src/haproxy/src/ssl_crtlist.c:807,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:808,1
    - Dst: strerror
      Src: /src/haproxy/src/ssl_crtlist.c:809,1
    - Dst: S_ISREG
      Src: /src/haproxy/src/ssl_crtlist.c:813,1
    - Dst: crtlist_entry_new
      Src: /src/haproxy/src/ssl_crtlist.c:816,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:818,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_crtlist.c:823,1
    - Dst: ckch_store_new_load_files_path
      Src: /src/haproxy/src/ssl_crtlist.c:825,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:827,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:828,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_crtlist.c:834,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_crtlist.c:835,1
    - Dst: ebpt_insert
      Src: /src/haproxy/src/ssl_crtlist.c:836,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:839,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:842,1
    - Dst: crtlist_free
      Src: /src/haproxy/src/ssl_crtlist.c:847,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 4
    argNames:
    - path
    - bind_conf
    - crtlist
    - err
    argTypes:
    - char*
    - struct bind_conf*
    - struct crtlist**
    - char**
    constantsTouched: []
    func_position:
      end: 853
      start: 772
    functionDepth: 6
    functionLinenumber: 772
    functionLinenumberEnd: 853
    functionName: crtlist_load_cert_dir
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 1
    functionsReached:
    - memprintf
    - strrchr
    - scandir
    - strerror
    - stat
    - crtlist_new
    - strcmp
    - LIST_APPEND
    - snprintf
    - ebpt_insert
    - free
    - crtlist_free
    - crtlist_entry_new
    - ckchs_lookup
    - S_ISREG
    - ckch_store_new_load_files_path
    linkageType: ''
    returnType: int
    signature: crtlist_load_cert_dir(char *path, struct bind_conf *bind_conf, struct
      crtlist **crtlist, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:866,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:880,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/ssl_crtlist.c:887,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/ssl_crtlist.c:888,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/ssl_crtlist.c:893,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:903,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:905,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:907,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/ssl_crtlist.c:914,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/ssl_crtlist.c:915,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/ssl_crtlist.c:920,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:927,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:928,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:931,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:932,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:935,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:936,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:942,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:943,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:948,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:949,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:953,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:954,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:958,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:959,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:963,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:964,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:969,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:970,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:975,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:976,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:980,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:981,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:986,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:987,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:992,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:993,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:999,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1000,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1005,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1006,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1016,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1017,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1020,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1021,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1027,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 153
    argCount: 3
    argNames:
    - buf
    - conf
    - cc
    argTypes:
    - struct buffer*
    - struct ssl_bind_conf*
    - struct ckch_conf*
    constantsTouched: []
    func_position:
      end: 1030
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 1030
    functionName: dump_crtlist_conf
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - chunk_memcat
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: dump_crtlist_conf(struct buffer *buf, const struct ssl_bind_conf *conf,
      const struct ckch_conf *cc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - entry
    argTypes:
    - struct buffer*
    - struct crtlist_entry*
    constantsTouched: []
    func_position:
      end: 1044
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1044
    functionName: dump_crtlist_filters
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: dump_crtlist_filters(struct buffer *buf, struct crtlist_entry *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_crtlist.c:1055,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/ssl_crtlist.c:1064,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1066,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_crtlist.c:1067,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/ssl_crtlist.c:1069,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_crtlist.c:1071,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_crtlist.c:1075,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1077
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1077
    functionName: cli_io_handler_dump_crtlist
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - chunk_appendf
    - applet_putchk
    - ebmb_first
    - free_trash_chunk
    - ebmb_next
    linkageType: ''
    returnType: int
    signature: cli_io_handler_dump_crtlist(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_crtlist.c:1083,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_crtlist.c:1090,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/ssl_crtlist.c:1094,1
    - Dst: typeof
      Src: /src/haproxy/src/ssl_crtlist.c:1094,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1095,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_crtlist.c:1096,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/ssl_crtlist.c:1100,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1106,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1108,1
    - Dst: dump_crtlist_conf
      Src: /src/haproxy/src/ssl_crtlist.c:1109,1
    - Dst: dump_crtlist_filters
      Src: /src/haproxy/src/ssl_crtlist.c:1110,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1111,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_crtlist.c:1113,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_crtlist.c:1116,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_crtlist.c:1120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1122
      start: 1080
    functionDepth: 2
    functionLinenumber: 1080
    functionLinenumberEnd: 1122
    functionName: cli_io_handler_dump_crtlist_entries
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - dump_crtlist_conf
    - chunk_appendf
    - ebmb_entry
    - typeof
    - applet_putchk
    - free_trash_chunk
    - list_for_each_entry_from
    - dump_crtlist_filters
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: cli_io_handler_dump_crtlist_entries(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/ssl_crtlist.c:1127,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_crtlist.c:1133,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_crtlist.c:1136,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_crtlist.c:1145,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_crtlist.c:1151,1
    - Dst: ebst_lookup
      Src: /src/haproxy/src/ssl_crtlist.c:1154,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_crtlist.c:1156,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1125
    functionDepth: 2
    functionLinenumber: 1125
    functionLinenumberEnd: 1164
    functionName: cli_parse_dump_crtlist
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    - cli_err
    - ebst_lookup
    - cli_has_level
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_dump_crtlist(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_delete
      Src: /src/haproxy/src/ssl_crtlist.c:1178,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_crtlist.c:1179,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_crtlist.c:1180,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_crtlist.c:1182,1
    - Dst: ckch_inst_free
      Src: /src/haproxy/src/ssl_crtlist.c:1183,1
    - Dst: crtlist_free_filters
      Src: /src/haproxy/src/ssl_crtlist.c:1185,1
    - Dst: ssl_sock_free_ssl_conf
      Src: /src/haproxy/src/ssl_crtlist.c:1186,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:1187,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:1188,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_crtlist.c:1190,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_crtlist.c:1191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1192
      start: 1169
    functionDepth: 4
    functionLinenumber: 1169
    functionLinenumberEnd: 1192
    functionName: cli_release_add_crtlist
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_safe
    - ha_free
    - ckch_inst_free
    - LIST_DELETE
    - ssl_sock_free_ssl_conf
    - HA_SPIN_UNLOCK
    - free
    - crtlist_free_filters
    - ebpt_delete
    linkageType: ''
    returnType: void
    signature: cli_release_add_crtlist(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_printf
      Src: /src/haproxy/src/ssl_crtlist.c:1220,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_crtlist.c:1221,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/ssl_crtlist.c:1237,1
    - Dst: applet_putstr
      Src: /src/haproxy/src/ssl_crtlist.c:1242,1
    - Dst: ckch_inst_new_load_store
      Src: /src/haproxy/src/ssl_crtlist.c:1247,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_crtlist.c:1255,1
    - Dst: ssl_sock_prep_ctx_and_inst
      Src: /src/haproxy/src/ssl_crtlist.c:1258,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_crtlist.c:1267,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_crtlist.c:1268,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_crtlist.c:1280,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/ssl_crtlist.c:1283,1
    - Dst: ssl_sock_load_cert_sni
      Src: /src/haproxy/src/ssl_crtlist.c:1284,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/ssl_crtlist.c:1285,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/ssl_crtlist.c:1292,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1293,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1295,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_crtlist.c:1296,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_crtlist.c:1297,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/ssl_crtlist.c:1304,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_crtlist.c:1305,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 88
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1318
      start: 1203
    functionDepth: 8
    functionLinenumber: 1203
    functionLinenumberEnd: 1318
    functionName: cli_io_handler_add_crtlist
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - list_for_each_entry
    - LIST_APPEND
    - applet_putstr
    - chunk_printf
    - applet_putchk
    - HA_RWLOCK_WRUNLOCK
    - chunk_appendf
    - ckch_inst_new_load_store
    - HA_RWLOCK_WRLOCK
    - applet_have_more_data
    - ssl_sock_load_cert_sni
    - ssl_sock_prep_ctx_and_inst
    linkageType: ''
    returnType: int
    signature: cli_io_handler_add_crtlist(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/ssl_crtlist.c:1328,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_crtlist.c:1342,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_crtlist.c:1346,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_crtlist.c:1351,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_crtlist.c:1354,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_crtlist.c:1355,1
    - Dst: ebst_lookup
      Src: /src/haproxy/src/ssl_crtlist.c:1357,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1359,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_crtlist.c:1362,1
    - Dst: crtlist_entry_new
      Src: /src/haproxy/src/ssl_crtlist.c:1364,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1366,1
    - Dst: strrchr
      Src: /src/haproxy/src/ssl_crtlist.c:1374,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1376,1
    - Dst: crtlist_parse_line
      Src: /src/haproxy/src/ssl_crtlist.c:1380,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1388,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/ssl_crtlist.c:1393,1
    - Dst: strrchr
      Src: /src/haproxy/src/ssl_crtlist.c:1396,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1398,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_crtlist.c:1403,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1405,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_crtlist.c:1412,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_crtlist.c:1412,1
    - Dst: snprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1413,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1414,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_crtlist.c:1421,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1423,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1427,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/ssl_crtlist.c:1435,1
    - Dst: ckch_store_load_files
      Src: /src/haproxy/src/ssl_crtlist.c:1439,1
    - Dst: ckch_conf_cmp
      Src: /src/haproxy/src/ssl_crtlist.c:1443,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1444,1
    - Dst: ebpt_insert
      Src: /src/haproxy/src/ssl_crtlist.c:1451,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1453,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/ssl_crtlist.c:1458,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1459,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_crtlist.c:1463,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_crtlist.c:1465,1
    - Dst: ckch_conf_clean
      Src: /src/haproxy/src/ssl_crtlist.c:1475,1
    - Dst: crtlist_entry_free
      Src: /src/haproxy/src/ssl_crtlist.c:1476,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_crtlist.c:1477,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1478,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_crtlist.c:1479,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 118
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1480
      start: 1326
    functionDepth: 6
    functionLinenumber: 1326
    functionLinenumberEnd: 1480
    functionName: cli_parse_add_crtlist
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ckch_store_load_files
    - strrchr
    - crtlist_entry_free
    - cli_dynerr
    - crtlist_entry_new
    - applet_reserve_svcctx
    - ckch_conf_cmp
    - ckch_conf_clean
    - LIST_ISEMPTY
    - strcmp
    - strlen
    - snprintf
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - crtlist_parse_line
    - ebst_lookup
    - cli_has_level
    - ckchs_lookup
    - cli_err
    - ebpt_insert
    - eb_gettag
    - LIST_APPEND
    - ebmb_entry
    linkageType: ''
    returnType: int
    signature: cli_parse_add_crtlist(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_crtlist.c:1498,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_crtlist.c:1502,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_crtlist.c:1504,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_crtlist.c:1505,1
    - Dst: strchr
      Src: /src/haproxy/src/ssl_crtlist.c:1510,1
    - Dst: strtol
      Src: /src/haproxy/src/ssl_crtlist.c:1514,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1516,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_crtlist.c:1523,1
    - Dst: ebst_lookup
      Src: /src/haproxy/src/ssl_crtlist.c:1527,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1529,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_crtlist.c:1532,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_crtlist.c:1535,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1537,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1541,1
    - Dst: ebpt_lookup
      Src: /src/haproxy/src/ssl_crtlist.c:1545,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1547,1
    - Dst: ebpt_next_dup
      Src: /src/haproxy/src/ssl_crtlist.c:1552,1
    - Dst: ebpt_entry
      Src: /src/haproxy/src/ssl_crtlist.c:1555,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1556,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1567,1
    - Dst: ebpt_next_dup
      Src: /src/haproxy/src/ssl_crtlist.c:1572,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1573,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_crtlist.c:1579,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1582,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1585,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/ssl_crtlist.c:1593,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_crtlist.c:1594,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_crtlist.c:1595,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_crtlist.c:1597,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/ssl_crtlist.c:1600,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_crtlist.c:1601,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/ssl_crtlist.c:1602,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_crtlist.c:1603,1
    - Dst: SSL_CTX_free
      Src: /src/haproxy/src/ssl_crtlist.c:1604,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:1605,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/ssl_crtlist.c:1607,1
    - Dst: ckch_inst_free
      Src: /src/haproxy/src/ssl_crtlist.c:1608,1
    - Dst: crtlist_free_filters
      Src: /src/haproxy/src/ssl_crtlist.c:1611,1
    - Dst: ssl_sock_free_ssl_conf
      Src: /src/haproxy/src/ssl_crtlist.c:1612,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:1613,1
    - Dst: free
      Src: /src/haproxy/src/ssl_crtlist.c:1614,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_crtlist.c:1616,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1617,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/ssl_crtlist.c:1618,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_crtlist.c:1621,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_crtlist.c:1622,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_crtlist.c:1623,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 101
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1624
      start: 1483
    functionDepth: 5
    functionLinenumber: 1483
    functionLinenumberEnd: 1624
    functionName: cli_parse_del_crtlist
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - ebpt_lookup
    - LIST_DELETE
    - SSL_CTX_free
    - ebpt_next_dup
    - free
    - strtol
    - ebpt_entry
    - strlen
    - ckch_inst_free
    - ssl_sock_free_ssl_conf
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - HA_RWLOCK_WRUNLOCK
    - crtlist_free_filters
    - ebst_lookup
    - cli_has_level
    - strchr
    - ebpt_delete
    - ckchs_lookup
    - list_for_each_entry_safe
    - cli_dynmsg
    - cli_err
    - ebmb_entry
    - HA_RWLOCK_WRLOCK
    - ebmb_delete
    linkageType: ''
    returnType: int
    signature: cli_parse_del_crtlist(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_first
      Src: /src/haproxy/src/ssl_crtlist.c:1633,1
    - Dst: eb_next
      Src: /src/haproxy/src/ssl_crtlist.c:1635,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_crtlist.c:1636,1
    - Dst: crtlist_free
      Src: /src/haproxy/src/ssl_crtlist.c:1637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1628
    functionDepth: 6
    functionLinenumber: 1628
    functionLinenumberEnd: 1640
    functionName: crtlist_deinit
    functionSourceFile: /src/haproxy/src/ssl_crtlist.c
    functionUses: 1
    functionsReached:
    - ebmb_entry
    - eb_next
    - crtlist_free
    - eb_first
    linkageType: ''
    returnType: void
    signature: crtlist_deinit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_want_recv_safe
      Src: /src/haproxy/src/proto_sockpair.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: sockpair_enable_listener
    functionSourceFile: /src/haproxy/src/proto_sockpair.c
    functionUses: 0
    functionsReached:
    - fd_want_recv_safe
    linkageType: ''
    returnType: void
    signature: sockpair_enable_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/proto_sockpair.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: sockpair_disable_listener
    functionSourceFile: /src/haproxy/src/proto_sockpair.c
    functionUses: 0
    functionsReached:
    - fd_stop_recv
    linkageType: ''
    returnType: void
    signature: sockpair_disable_listener(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/proto_sockpair.c:145,1
    - Dst: memprintf
      Src: /src/haproxy/src/proto_sockpair.c:165,1
    - Dst: memprintf
      Src: /src/haproxy/src/proto_sockpair.c:171,1
    - Dst: fd_set_nonblock
      Src: /src/haproxy/src/proto_sockpair.c:175,1
    - Dst: memprintf
      Src: /src/haproxy/src/proto_sockpair.c:177,1
    - Dst: fd_insert
      Src: /src/haproxy/src/proto_sockpair.c:183,1
    - Dst: memprintf
      Src: /src/haproxy/src/proto_sockpair.c:188,1
    - Dst: close
      Src: /src/haproxy/src/proto_sockpair.c:194,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 2
    argNames:
    - rx
    - errmsg
    argTypes:
    - struct receiver*
    - char**
    constantsTouched: []
    func_position:
      end: 196
      start: 126
    functionDepth: 5
    functionLinenumber: 126
    functionLinenumberEnd: 196
    functionName: sockpair_bind_receiver
    functionSourceFile: /src/haproxy/src/proto_sockpair.c
    functionUses: 0
    functionsReached:
    - memprintf
    - fd_set_nonblock
    - fd_insert
    - BUG_ON
    - close
    linkageType: ''
    returnType: int
    signature: sockpair_bind_receiver(struct receiver *rx, char **errmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: listener_set_state
      Src: /src/haproxy/src/proto_sockpair.c:223,1
    - Dst: snprintf
      Src: /src/haproxy/src/proto_sockpair.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - listener
    - errmsg
    - errlen
    argTypes:
    - struct listener*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 230
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 230
    functionName: sockpair_bind_listener
    functionSourceFile: /src/haproxy/src/proto_sockpair.c
    functionUses: 0
    functionsReached:
    - snprintf
    - listener_set_state
    linkageType: ''
    returnType: int
    signature: sockpair_bind_listener(struct listener *listener, char *errmsg, int
      errlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/proto_sockpair.c:255,1
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/proto_sockpair.c:261,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/haproxy/src/proto_sockpair.c:263,1
    - Dst: CMSG_LEN
      Src: /src/haproxy/src/proto_sockpair.c:264,1
    - Dst: CMSG_DATA
      Src: /src/haproxy/src/proto_sockpair.c:268,1
    - Dst: memcpy
      Src: /src/haproxy/src/proto_sockpair.c:269,1
    - Dst: sendmsg
      Src: /src/haproxy/src/proto_sockpair.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - fd
    - send_fd
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 276
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 276
    functionName: send_fd_uxst
    functionSourceFile: /src/haproxy/src/proto_sockpair.c
    functionUses: 1
    functionsReached:
    - CMSG_DATA
    - CMSG_FIRSTHDR
    - CMSG_LEN
    - CMSG_SPACE
    - memset
    - memcpy
    - sendmsg
    linkageType: ''
    returnType: int
    signature: send_fd_uxst(int fd, int send_fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/proto_sockpair.c:309,1
    - Dst: obj_type
      Src: /src/haproxy/src/proto_sockpair.c:314,1
    - Dst: obj_type
      Src: /src/haproxy/src/proto_sockpair.c:315,1
    - Dst: socketpair
      Src: /src/haproxy/src/proto_sockpair.c:320,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proto_sockpair.c:321,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proto_sockpair.c:332,1
    - Dst: close
      Src: /src/haproxy/src/proto_sockpair.c:333,1
    - Dst: close
      Src: /src/haproxy/src/proto_sockpair.c:334,1
    - Dst: fd_set_nonblock
      Src: /src/haproxy/src/proto_sockpair.c:340,1
    - Dst: qfprintf
      Src: /src/haproxy/src/proto_sockpair.c:341,1
    - Dst: close
      Src: /src/haproxy/src/proto_sockpair.c:342,1
    - Dst: close
      Src: /src/haproxy/src/proto_sockpair.c:343,1
    - Dst: fd_set_cloexec
      Src: /src/haproxy/src/proto_sockpair.c:349,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proto_sockpair.c:350,1
    - Dst: close
      Src: /src/haproxy/src/proto_sockpair.c:351,1
    - Dst: close
      Src: /src/haproxy/src/proto_sockpair.c:352,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_sockpair.c:359,1
    - Dst: setsockopt
      Src: /src/haproxy/src/proto_sockpair.c:362,1
    - Dst: send_fd_uxst
      Src: /src/haproxy/src/proto_sockpair.c:366,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proto_sockpair.c:367,1
    - Dst: close
      Src: /src/haproxy/src/proto_sockpair.c:368,1
    - Dst: close
      Src: /src/haproxy/src/proto_sockpair.c:369,1
    - Dst: close
      Src: /src/haproxy/src/proto_sockpair.c:375,1
    - Dst: conn_ctrl_init
      Src: /src/haproxy/src/proto_sockpair.c:383,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/proto_sockpair.c:384,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 2
    argNames:
    - conn
    - flags
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 387
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 387
    functionName: sockpair_connect_server
    functionSourceFile: /src/haproxy/src/proto_sockpair.c
    functionUses: 0
    functionsReached:
    - socketpair
    - ha_alert
    - setsockopt
    - conn_ctrl_init
    - HA_ATOMIC_AND
    - send_fd_uxst
    - fd_set_nonblock
    - obj_type
    - fd_set_cloexec
    - qfprintf
    - BUG_ON
    - close
    linkageType: ''
    returnType: int
    signature: sockpair_connect_server(struct connection *conn, int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/proto_sockpair.c:411,1
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/proto_sockpair.c:420,1
    - Dst: recvmsg
      Src: /src/haproxy/src/proto_sockpair.c:426,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/haproxy/src/proto_sockpair.c:436,1
    - Dst: memcpy
      Src: /src/haproxy/src/proto_sockpair.c:441,1
    - Dst: CMSG_DATA
      Src: /src/haproxy/src/proto_sockpair.c:441,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - sock
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 444
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 444
    functionName: recv_fd_uxst
    functionSourceFile: /src/haproxy/src/proto_sockpair.c
    functionUses: 0
    functionsReached:
    - CMSG_DATA
    - CMSG_FIRSTHDR
    - recvmsg
    - CMSG_SPACE
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: recv_fd_uxst(int sock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/haproxy/src/proto_sockpair.c:459,1
    - Dst: getsockname
      Src: /src/haproxy/src/proto_sockpair.c:466,1
    - Dst: getsockopt
      Src: /src/haproxy/src/proto_sockpair.c:473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 481
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 481
    functionName: sockpair_accepting_conn
    functionSourceFile: /src/haproxy/src/proto_sockpair.c
    functionUses: 0
    functionsReached:
    - getsockname
    - getsockopt
    linkageType: ''
    returnType: int
    signature: sockpair_accepting_conn(const struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: recv_fd_uxst
      Src: /src/haproxy/src/proto_sockpair.c:494,1
    - Dst: fd_set_nonblock
      Src: /src/haproxy/src/proto_sockpair.c:495,1
    - Dst: likely
      Src: /src/haproxy/src/proto_sockpair.c:497,1
    - Dst: conn_new
      Src: /src/haproxy/src/proto_sockpair.c:499,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/proto_sockpair.c:503,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/proto_sockpair.c:525,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/proto_sockpair.c:528,1
    - Dst: send_log
      Src: /src/haproxy/src/proto_sockpair.c:543,1
    - Dst: send_log
      Src: /src/haproxy/src/proto_sockpair.c:551,1
    - Dst: send_log
      Src: /src/haproxy/src/proto_sockpair.c:560,1
    - Dst: conn_free
      Src: /src/haproxy/src/proto_sockpair.c:576,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 2
    argNames:
    - l
    - status
    argTypes:
    - struct listener*
    - int*
    constantsTouched: []
    func_position:
      end: 581
      start: 487
    functionDepth: 10
    functionLinenumber: 487
    functionLinenumberEnd: 581
    functionName: sockpair_accept_conn
    functionSourceFile: /src/haproxy/src/proto_sockpair.c
    functionUses: 0
    functionsReached:
    - send_log
    - conn_free
    - sockaddr_alloc
    - _HA_ATOMIC_AND
    - recv_fd_uxst
    - fd_set_nonblock
    - likely
    - conn_new
    - fd_cant_recv
    linkageType: ''
    returnType: struct connection
    signature: '*sockpair_accept_conn(struct listener *l, int *status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:55,1
    - Dst: isdigit
      Src: /src/haproxy/src/http_ext.c:56,1
    - Dst: istadv
      Src: /src/haproxy/src/http_ext.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - input
    - port
    argTypes:
    - struct ist*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: http_7239_extract_port
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - istlen
    - isdigit
    - istadv
    linkageType: ''
    returnType: int
    signature: http_7239_extract_port(struct ist *input, uint16_t *port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/haproxy/src/http_ext.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: http_7239_valid_obfsc
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - isalnum
    linkageType: ''
    returnType: int
    signature: http_7239_valid_obfsc(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:95,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:95,1
    - Dst: http_7239_valid_obfsc
      Src: /src/haproxy/src/http_ext.c:96,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:96,1
    - Dst: istadv
      Src: /src/haproxy/src/http_ext.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - input
    - obfs
    argTypes:
    - struct ist*
    - struct ist*
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: http_7239_extract_obfs
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - http_7239_valid_obfsc
    - istlen
    - istadv
    - istptr
    linkageType: ''
    returnType: int
    signature: http_7239_extract_obfs(struct ist *input, struct ist *obfs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:124,1
    - Dst: isdigit
      Src: /src/haproxy/src/http_ext.c:125,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:125,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:126,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:128,1
    - Dst: inet_pton
      Src: /src/haproxy/src/http_ext.c:132,1
    - Dst: istadv
      Src: /src/haproxy/src/http_ext.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - input
    - ip
    argTypes:
    - struct ist*
    - struct in_addr*
    constantsTouched: []
    func_position:
      end: 137
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 137
    functionName: http_7239_extract_ipv4
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - istlen
    - istptr
    - istadv
    - inet_pton
    - isdigit
    linkageType: ''
    returnType: int
    signature: http_7239_extract_ipv4(struct ist *input, struct in_addr *ip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istnext
      Src: /src/haproxy/src/http_ext.c:157,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:159,1
    - Dst: isalnum
      Src: /src/haproxy/src/http_ext.c:161,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:161,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:162,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:164,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:168,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:168,1
    - Dst: inet_pton
      Src: /src/haproxy/src/http_ext.c:171,1
    - Dst: istadv
      Src: /src/haproxy/src/http_ext.c:174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - input
    - ip
    argTypes:
    - struct ist*
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 176
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 176
    functionName: http_7239_extract_ipv6
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - istlen
    - istptr
    - istnext
    - istadv
    - inet_pton
    - isalnum
    linkageType: ''
    returnType: int
    signature: http_7239_extract_ipv6(struct ist *input, struct in6_addr *ip)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:190,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:196,1
    - Dst: http_7239_extract_ipv6
      Src: /src/haproxy/src/http_ext.c:198,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:203,1
    - Dst: isalnum
      Src: /src/haproxy/src/http_ext.c:204,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:204,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:205,1
    - Dst: istnext
      Src: /src/haproxy/src/http_ext.c:207,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:210,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:210,1
    - Dst: istnext
      Src: /src/haproxy/src/http_ext.c:215,1
    - Dst: http_7239_extract_port
      Src: /src/haproxy/src/http_ext.c:217,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 3
    argNames:
    - input
    - host
    - quoted
    argTypes:
    - struct ist*
    - struct ist*
    - int
    constantsTouched: []
    func_position:
      end: 223
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 223
    functionName: http_7239_extract_host
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - istlen
    - istptr
    - istnext
    - http_7239_extract_ipv6
    - isalnum
    - http_7239_extract_port
    linkageType: ''
    returnType: int
    signature: http_7239_extract_host(struct ist *input, struct ist *host, int quoted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:237,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:239,1
    - Dst: istnext
      Src: /src/haproxy/src/http_ext.c:243,1
    - Dst: http_7239_extract_obfs
      Src: /src/haproxy/src/http_ext.c:248,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:250,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:252,1
    - Dst: strncmp
      Src: /src/haproxy/src/http_ext.c:253,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:253,1
    - Dst: istadv
      Src: /src/haproxy/src/http_ext.c:255,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:258,1
    - Dst: http_7239_extract_ipv6
      Src: /src/haproxy/src/http_ext.c:269,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:271,1
    - Dst: http_7239_extract_ipv4
      Src: /src/haproxy/src/http_ext.c:282,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - input
    - nodename
    - quoted
    argTypes:
    - struct ist*
    - struct forwarded_header_nodename*
    - int
    constantsTouched: []
    func_position:
      end: 289
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 289
    functionName: http_7239_extract_nodename
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - strncmp
    - istlen
    - istptr
    - istnext
    - http_7239_extract_obfs
    - istadv
    - http_7239_extract_ipv4
    - http_7239_extract_ipv6
    linkageType: ''
    returnType: int
    signature: http_7239_extract_nodename(struct ist *input, struct forwarded_header_nodename
      *nodename, int quoted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:303,1
    - Dst: istnext
      Src: /src/haproxy/src/http_ext.c:307,1
    - Dst: http_7239_extract_obfs
      Src: /src/haproxy/src/http_ext.c:312,1
    - Dst: http_7239_extract_port
      Src: /src/haproxy/src/http_ext.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - input
    - nodeport
    argTypes:
    - struct ist*
    - struct forwarded_header_nodeport*
    constantsTouched: []
    func_position:
      end: 327
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 327
    functionName: http_7239_extract_nodeport
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - istnext
    - http_7239_extract_obfs
    - http_7239_extract_port
    - istptr
    linkageType: ''
    returnType: int
    signature: http_7239_extract_nodeport(struct ist *input, struct forwarded_header_nodeport
      *nodeport)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_7239_extract_nodename
      Src: /src/haproxy/src/http_ext.c:349,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:351,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:351,1
    - Dst: istnext
      Src: /src/haproxy/src/http_ext.c:358,1
    - Dst: http_7239_extract_nodeport
      Src: /src/haproxy/src/http_ext.c:359,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - input
    - node
    - quoted
    argTypes:
    - struct ist*
    - struct forwarded_header_node*
    - int
    constantsTouched: []
    func_position:
      end: 366
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 366
    functionName: http_7239_extract_node
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - http_7239_extract_nodeport
    - http_7239_extract_nodename
    - istlen
    - istptr
    - istnext
    linkageType: ''
    returnType: int
    signature: http_7239_extract_node(struct ist *input, struct forwarded_header_node
      *node, int quoted)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - current_step
    - required_steps
    argTypes:
    - struct forwarded_header_ctx*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: _forwarded_header_save_ctx
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: _forwarded_header_save_ctx(struct forwarded_header_ctx *ctx, int current_step,
      int required_steps)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:375,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:375,1
    - Dst: istnext
      Src: /src/haproxy/src/http_ext.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - hdr
    - quoted
    argTypes:
    - struct ist*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: _forwarded_header_quote_expected
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - istnext
    - istlen
    - istptr
    linkageType: ''
    returnType: void
    signature: _forwarded_header_quote_expected(struct ist *hdr, uint8_t *quoted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:400,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:402,1
    - Dst: istnext
      Src: /src/haproxy/src/http_ext.c:403,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:410,1
    - Dst: strncmp
      Src: /src/haproxy/src/http_ext.c:411,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:411,1
    - Dst: istadv
      Src: /src/haproxy/src/http_ext.c:416,1
    - Dst: _forwarded_header_quote_expected
      Src: /src/haproxy/src/http_ext.c:417,1
    - Dst: _forwarded_header_save_ctx
      Src: /src/haproxy/src/http_ext.c:418,1
    - Dst: http_7239_extract_node
      Src: /src/haproxy/src/http_ext.c:421,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:424,1
    - Dst: strncmp
      Src: /src/haproxy/src/http_ext.c:425,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:425,1
    - Dst: istadv
      Src: /src/haproxy/src/http_ext.c:430,1
    - Dst: _forwarded_header_quote_expected
      Src: /src/haproxy/src/http_ext.c:431,1
    - Dst: _forwarded_header_save_ctx
      Src: /src/haproxy/src/http_ext.c:432,1
    - Dst: http_7239_extract_node
      Src: /src/haproxy/src/http_ext.c:435,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:438,1
    - Dst: strncmp
      Src: /src/haproxy/src/http_ext.c:439,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:439,1
    - Dst: istadv
      Src: /src/haproxy/src/http_ext.c:444,1
    - Dst: _forwarded_header_quote_expected
      Src: /src/haproxy/src/http_ext.c:445,1
    - Dst: _forwarded_header_save_ctx
      Src: /src/haproxy/src/http_ext.c:446,1
    - Dst: http_7239_extract_host
      Src: /src/haproxy/src/http_ext.c:449,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:452,1
    - Dst: strncmp
      Src: /src/haproxy/src/http_ext.c:453,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:453,1
    - Dst: istadv
      Src: /src/haproxy/src/http_ext.c:456,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:458,1
    - Dst: strncmp
      Src: /src/haproxy/src/http_ext.c:458,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:458,1
    - Dst: istadv
      Src: /src/haproxy/src/http_ext.c:460,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:461,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:461,1
    - Dst: istnext
      Src: /src/haproxy/src/http_ext.c:462,1
    - Dst: _forwarded_header_save_ctx
      Src: /src/haproxy/src/http_ext.c:463,1
    - Dst: _forwarded_header_save_ctx
      Src: /src/haproxy/src/http_ext.c:465,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:482,1
    - Dst: istptr
      Src: /src/haproxy/src/http_ext.c:482,1
    - Dst: istnext
      Src: /src/haproxy/src/http_ext.c:486,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 71
    argCount: 3
    argNames:
    - hdr
    - required_steps
    - ctx
    argTypes:
    - struct ist
    - int
    - struct forwarded_header_ctx*
    constantsTouched: []
    func_position:
      end: 496
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 496
    functionName: http_validate_7239_header
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - strncmp
    - _forwarded_header_save_ctx
    - istlen
    - _forwarded_header_quote_expected
    - istptr
    - istnext
    - istadv
    - http_7239_extract_host
    - http_7239_extract_node
    linkageType: ''
    returnType: int
    signature: http_validate_7239_header(struct ist hdr, int required_steps, struct
      forwarded_header_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: inet_ntop
      Src: /src/haproxy/src/http_ext.c:502,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:506,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - out
    - ip6_addr
    - quoted
    argTypes:
    - struct buffer*
    - struct in6_addr*
    - int
    constantsTouched: []
    func_position:
      end: 508
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 508
    functionName: _7239_print_ip6
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - inet_ntop
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: _7239_print_ip6(struct buffer *out, struct in6_addr *ip6_addr, int
      quoted)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:522,1
    - Dst: _7239_print_ip6
      Src: /src/haproxy/src/http_ext.c:526,1
    - Dst: sample_process
      Src: /src/haproxy/src/http_ext.c:533,1
    - Dst: _7239_print_ip6
      Src: /src/haproxy/src/http_ext.c:540,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:544,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:545,1
    - Dst: http_7239_extract_nodename
      Src: /src/haproxy/src/http_ext.c:549,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:550,1
    - Dst: _7239_print_ip6
      Src: /src/haproxy/src/http_ext.c:555,1
    - Dst: chunk_cat
      Src: /src/haproxy/src/http_ext.c:560,1
    - Dst: http_7239_extract_obfs
      Src: /src/haproxy/src/http_ext.c:563,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:564,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:566,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 5
    argNames:
    - out
    - s
    - curproxy
    - addr
    - forby
    argTypes:
    - struct buffer*
    - struct stream*
    - struct proxy*
    - struct sockaddr_storage*
    - struct http_ext_7239_forby*
    constantsTouched: []
    func_position:
      end: 574
      start: 510
    functionDepth: 3
    functionLinenumber: 510
    functionLinenumberEnd: 574
    functionName: http_build_7239_header_nodename
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - sample_process
    - _7239_print_ip6
    - chunk_cat
    - http_7239_extract_nodename
    - ist2
    - istlen
    - chunk_appendf
    - http_7239_extract_obfs
    linkageType: ''
    returnType: void
    signature: "http_build_7239_header_nodename(struct buffer *out,\n                                                   struct
      stream *s, struct proxy *curproxy,\n                                                   const
      struct sockaddr_storage *addr,\n                                                   struct
      http_ext_7239_forby *forby)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:583,1
    - Dst: ntohs
      Src: /src/haproxy/src/http_ext.c:583,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:585,1
    - Dst: ntohs
      Src: /src/haproxy/src/http_ext.c:585,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/http_ext.c:591,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:594,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:595,1
    - Dst: http_7239_extract_nodeport
      Src: /src/haproxy/src/http_ext.c:598,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:599,1
    - Dst: chunk_cat
      Src: /src/haproxy/src/http_ext.c:603,1
    - Dst: http_7239_extract_obfs
      Src: /src/haproxy/src/http_ext.c:605,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:606,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:608,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 5
    argNames:
    - out
    - s
    - curproxy
    - addr
    - forby
    argTypes:
    - struct buffer*
    - struct stream*
    - struct proxy*
    - struct sockaddr_storage*
    - struct http_ext_7239_forby*
    constantsTouched: []
    func_position:
      end: 614
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 614
    functionName: http_build_7239_header_nodeport
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - http_7239_extract_nodeport
    - chunk_cat
    - istlen
    - ist2
    - chunk_appendf
    - http_7239_extract_obfs
    - sample_fetch_as_type
    - ntohs
    linkageType: ''
    returnType: void
    signature: "http_build_7239_header_nodeport(struct buffer *out,\n                                                   struct
      stream *s, struct proxy *curproxy,\n                                                   const
      struct sockaddr_storage *addr,\n                                                   struct
      http_ext_7239_forby *forby)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:626,1
    - Dst: http_build_7239_header_nodename
      Src: /src/haproxy/src/http_ext.c:628,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:633,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:636,1
    - Dst: http_build_7239_header_nodeport
      Src: /src/haproxy/src/http_ext.c:638,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:647,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - out
    - s
    - curproxy
    - addr
    - forby
    argTypes:
    - struct buffer*
    - struct stream*
    - struct proxy*
    - struct sockaddr_storage*
    - struct http_ext_7239_forby*
    constantsTouched: []
    func_position:
      end: 648
      start: 616
    functionDepth: 4
    functionLinenumber: 616
    functionLinenumberEnd: 648
    functionName: http_build_7239_header_node
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - http_build_7239_header_nodename
    - http_build_7239_header_nodeport
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "http_build_7239_header_node(struct buffer *out,\n                                               struct
      stream *s, struct proxy *curproxy,\n                                               const
      struct sockaddr_storage *addr,\n                                               struct
      http_ext_7239_forby *forby)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ext.c:659,1
    - Dst: ist
      Src: /src/haproxy/src/http_ext.c:659,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:664,1
    - Dst: http_7239_extract_host
      Src: /src/haproxy/src/http_ext.c:668,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:668,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/http_ext.c:669,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/http_ext.c:677,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - out
    - s
    - curproxy
    - htx
    - host
    argTypes:
    - struct buffer*
    - struct stream*
    - struct proxy*
    - struct htx*
    - struct http_ext_7239_host*
    constantsTouched: []
    func_position:
      end: 686
      start: 650
    functionDepth: 3
    functionLinenumber: 650
    functionLinenumberEnd: 686
    functionName: http_build_7239_header_host
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - istlen
    - ist2
    - chunk_memcat
    - ist
    - sample_fetch_as_type
    - http_7239_extract_host
    - http_find_header
    linkageType: ''
    returnType: void
    signature: "http_build_7239_header_host(struct buffer *out,\n                                               struct
      stream *s, struct proxy *curproxy,\n                                               struct
      htx *htx, struct http_ext_7239_host *host)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/http_ext.c:697,1
    - Dst: strm_sess
      Src: /src/haproxy/src/http_ext.c:697,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:700,1
    - Dst: conn_is_ssl
      Src: /src/haproxy/src/http_ext.c:701,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:705,1
    - Dst: http_build_7239_header_host
      Src: /src/haproxy/src/http_ext.c:707,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:708,1
    - Dst: sc_dst
      Src: /src/haproxy/src/http_ext.c:712,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:714,1
    - Dst: http_build_7239_header_node
      Src: /src/haproxy/src/http_ext.c:715,1
    - Dst: sc_src
      Src: /src/haproxy/src/http_ext.c:719,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:721,1
    - Dst: http_build_7239_header_node
      Src: /src/haproxy/src/http_ext.c:722,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ext.c:724,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - out
    - s
    - curproxy
    - htx
    argTypes:
    - struct buffer*
    - struct stream*
    - struct proxy*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 729
      start: 694
    functionDepth: 5
    functionLinenumber: 694
    functionLinenumberEnd: 729
    functionName: http_build_7239_header
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - http_build_7239_header_node
    - http_build_7239_header_host
    - sc_dst
    - objt_conn
    - chunk_appendf
    - strm_sess
    - conn_is_ssl
    - sc_src
    - unlikely
    linkageType: ''
    returnType: int
    signature: "http_build_7239_header(struct buffer *out,\n                                  struct
      stream *s, struct proxy *curproxy, struct htx *htx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ext.c:741,1
    - Dst: ist
      Src: /src/haproxy/src/http_ext.c:745,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/http_ext.c:748,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ext.c:749,1
    - Dst: http_build_7239_header
      Src: /src/haproxy/src/http_ext.c:749,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ext.c:755,1
    - Dst: http_validate_7239_header
      Src: /src/haproxy/src/http_ext.c:757,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ext.c:768,1
    - Dst: http_append_header_value
      Src: /src/haproxy/src/http_ext.c:768,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:768,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ext.c:772,1
    - Dst: http_add_header
      Src: /src/haproxy/src/http_ext.c:772,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:772,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - s
    - req
    argTypes:
    - struct stream*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 777
      start: 736
    functionDepth: 6
    functionLinenumber: 736
    functionLinenumberEnd: 777
    functionName: http_handle_7239_header
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 1
    functionsReached:
    - http_add_header
    - chunk_reset
    - http_validate_7239_header
    - http_append_header_value
    - ist2
    - ist
    - htxbuf
    - unlikely
    - http_find_header
    - http_build_7239_header
    linkageType: ''
    returnType: int
    signature: http_handle_7239_header(struct stream *s, struct channel *req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ext.c:800,1
    - Dst: sc_src
      Src: /src/haproxy/src/http_ext.c:801,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_ext.c:807,1
    - Dst: ipcmp2net
      Src: /src/haproxy/src/http_ext.c:816,1
    - Dst: ipcmp2net
      Src: /src/haproxy/src/http_ext.c:817,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_ext.c:825,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ext.c:826,1
    - Dst: http_add_header
      Src: /src/haproxy/src/http_ext.c:826,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:826,1
    - Dst: ipcmp2net
      Src: /src/haproxy/src/http_ext.c:834,1
    - Dst: ipcmp2net
      Src: /src/haproxy/src/http_ext.c:835,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/http_ext.c:838,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_ext.c:847,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ext.c:848,1
    - Dst: http_add_header
      Src: /src/haproxy/src/http_ext.c:848,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:848,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 27
    argCount: 2
    argNames:
    - s
    - req
    argTypes:
    - struct stream*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 854
      start: 784
    functionDepth: 3
    functionLinenumber: 784
    functionLinenumberEnd: 854
    functionName: http_handle_xff_header
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 1
    functionsReached:
    - http_add_header
    - ist2
    - htxbuf
    - chunk_printf
    - ipcmp2net
    - sc_src
    - unlikely
    - http_find_header
    - inet_ntop
    linkageType: ''
    returnType: int
    signature: http_handle_xff_header(struct stream *s, struct channel *req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_ext.c:877,1
    - Dst: sc_dst
      Src: /src/haproxy/src/http_ext.c:878,1
    - Dst: ipcmp2net
      Src: /src/haproxy/src/http_ext.c:885,1
    - Dst: ipcmp2net
      Src: /src/haproxy/src/http_ext.c:886,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_ext.c:894,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ext.c:895,1
    - Dst: http_add_header
      Src: /src/haproxy/src/http_ext.c:895,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:895,1
    - Dst: ipcmp2net
      Src: /src/haproxy/src/http_ext.c:903,1
    - Dst: ipcmp2net
      Src: /src/haproxy/src/http_ext.c:904,1
    - Dst: inet_ntop
      Src: /src/haproxy/src/http_ext.c:907,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_ext.c:916,1
    - Dst: unlikely
      Src: /src/haproxy/src/http_ext.c:917,1
    - Dst: http_add_header
      Src: /src/haproxy/src/http_ext.c:917,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:917,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 25
    argCount: 2
    argNames:
    - s
    - req
    argTypes:
    - struct stream*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 923
      start: 861
    functionDepth: 3
    functionLinenumber: 861
    functionLinenumberEnd: 923
    functionName: http_handle_xot_header
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 1
    functionsReached:
    - http_add_header
    - sc_dst
    - ist2
    - chunk_printf
    - htxbuf
    - ipcmp2net
    - unlikely
    - inet_ntop
    linkageType: ''
    returnType: int
    signature: http_handle_xot_header(struct stream *s, struct channel *req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ext.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - file
    - linenum
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 936
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 936
    functionName: proxy_http_parse_oom
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - ha_alert
    linkageType: ''
    returnType: int
    signature: proxy_http_parse_oom(const char *file, int linenum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ext.c:945,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:951,1
    - Dst: strdup
      Src: /src/haproxy/src/http_ext.c:952,1
    - Dst: proxy_http_parse_oom
      Src: /src/haproxy/src/http_ext.c:954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - args
    - cur_arg
    - file
    - linenum
    - expr_s
    argTypes:
    - char**
    - int*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 958
      start: 938
    functionDepth: 3
    functionLinenumber: 938
    functionLinenumberEnd: 958
    functionName: _proxy_http_parse_7239_expr
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - proxy_http_parse_oom
    - ha_free
    - strdup
    linkageType: ''
    returnType: int
    signature: "_proxy_http_parse_7239_expr(char **args, int *cur_arg,\n                                              const
      char *file, int linenum,\n                                              char
      **expr_s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warnifnotcap
      Src: /src/haproxy/src/http_ext.c:970,1
    - Dst: http_ext_7239_prepare
      Src: /src/haproxy/src/http_ext.c:976,1
    - Dst: proxy_http_parse_oom
      Src: /src/haproxy/src/http_ext.c:977,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:987,1
    - Dst: strdup
      Src: /src/haproxy/src/http_ext.c:988,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1001,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1004,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1007,1
    - Dst: _proxy_http_parse_7239_expr
      Src: /src/haproxy/src/http_ext.c:1009,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1013,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1016,1
    - Dst: _proxy_http_parse_7239_expr
      Src: /src/haproxy/src/http_ext.c:1018,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1022,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1025,1
    - Dst: _proxy_http_parse_7239_expr
      Src: /src/haproxy/src/http_ext.c:1027,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1031,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1034,1
    - Dst: _proxy_http_parse_7239_expr
      Src: /src/haproxy/src/http_ext.c:1036,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1040,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1043,1
    - Dst: _proxy_http_parse_7239_expr
      Src: /src/haproxy/src/http_ext.c:1045,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ext.c:1051,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1064,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_ext.c:1065,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1074,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_ext.c:1075,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 106
    argCount: 6
    argNames:
    - args
    - cur_arg
    - curproxy
    - defpx
    - file
    - linenum
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1084
      start: 963
    functionDepth: 4
    functionLinenumber: 963
    functionLinenumberEnd: 1084
    functionName: proxy_http_parse_7239
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 1
    functionsReached:
    - http_ext_7239_prepare
    - _proxy_http_parse_7239_expr
    - ha_alert
    - ha_free
    - ha_warning
    - strcmp
    - strdup
    - proxy_http_parse_oom
    - warnifnotcap
    linkageType: ''
    returnType: int
    signature: "proxy_http_parse_7239(char **args, int cur_arg,\n                          struct
      proxy *curproxy, const struct proxy *defpx,\n                          const
      char *file, int linenum)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/http_ext.c:1102,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/http_ext.c:1156,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ext.c:1160,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/http_ext.c:1161,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/http_ext.c:1169,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ext.c:1175,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/http_ext.c:1176,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1179,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_ext.c:1188,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/http_ext.c:1191,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/http_ext.c:1193,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1197,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1206,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 1
    argNames:
    - curproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1213
      start: 1090
    functionDepth: 7
    functionLinenumber: 1090
    functionLinenumberEnd: 1213
    functionName: proxy_http_compile_7239
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ha_free
    - ha_warning
    - sample_ckp_names
    - sample_parse_expr
    - proxy_type_str
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: proxy_http_compile_7239(struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_ext_xff_prepare
      Src: /src/haproxy/src/http_ext.c:1225,1
    - Dst: proxy_http_parse_oom
      Src: /src/haproxy/src/http_ext.c:1226,1
    - Dst: istfree
      Src: /src/haproxy/src/http_ext.c:1236,1
    - Dst: istdup
      Src: /src/haproxy/src/http_ext.c:1237,1
    - Dst: ist
      Src: /src/haproxy/src/http_ext.c:1237,1
    - Dst: isttest
      Src: /src/haproxy/src/http_ext.c:1238,1
    - Dst: proxy_http_parse_oom
      Src: /src/haproxy/src/http_ext.c:1239,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1245,1
    - Dst: str2net
      Src: /src/haproxy/src/http_ext.c:1251,1
    - Dst: str62net
      Src: /src/haproxy/src/http_ext.c:1256,1
    - Dst: len2mask6
      Src: /src/haproxy/src/http_ext.c:1258,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ext.c:1263,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1270,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ext.c:1273,1
    - Dst: istfree
      Src: /src/haproxy/src/http_ext.c:1278,1
    - Dst: istdup
      Src: /src/haproxy/src/http_ext.c:1279,1
    - Dst: ist
      Src: /src/haproxy/src/http_ext.c:1279,1
    - Dst: isttest
      Src: /src/haproxy/src/http_ext.c:1280,1
    - Dst: proxy_http_parse_oom
      Src: /src/haproxy/src/http_ext.c:1281,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1283,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ext.c:1288,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 6
    argNames:
    - args
    - cur_arg
    - curproxy
    - defpx
    - file
    - linenum
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1296
      start: 1218
    functionDepth: 4
    functionLinenumber: 1218
    functionLinenumberEnd: 1296
    functionName: proxy_http_parse_xff
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - istfree
    - strcmp
    - isttest
    - istdup
    - http_ext_xff_prepare
    - ist
    - str2net
    - len2mask6
    - proxy_http_parse_oom
    - str62net
    linkageType: ''
    returnType: int
    signature: "proxy_http_parse_xff(char **args, int cur_arg,\n                         struct
      proxy *curproxy, const struct proxy *defpx,\n                         const
      char *file, int linenum)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_ext_xot_prepare
      Src: /src/haproxy/src/http_ext.c:1308,1
    - Dst: proxy_http_parse_oom
      Src: /src/haproxy/src/http_ext.c:1309,1
    - Dst: istfree
      Src: /src/haproxy/src/http_ext.c:1317,1
    - Dst: istdup
      Src: /src/haproxy/src/http_ext.c:1318,1
    - Dst: ist
      Src: /src/haproxy/src/http_ext.c:1318,1
    - Dst: isttest
      Src: /src/haproxy/src/http_ext.c:1319,1
    - Dst: proxy_http_parse_oom
      Src: /src/haproxy/src/http_ext.c:1320,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1326,1
    - Dst: str2net
      Src: /src/haproxy/src/http_ext.c:1332,1
    - Dst: str62net
      Src: /src/haproxy/src/http_ext.c:1337,1
    - Dst: len2mask6
      Src: /src/haproxy/src/http_ext.c:1339,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ext.c:1344,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1350,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ext.c:1353,1
    - Dst: istfree
      Src: /src/haproxy/src/http_ext.c:1358,1
    - Dst: istdup
      Src: /src/haproxy/src/http_ext.c:1359,1
    - Dst: ist
      Src: /src/haproxy/src/http_ext.c:1359,1
    - Dst: isttest
      Src: /src/haproxy/src/http_ext.c:1360,1
    - Dst: proxy_http_parse_oom
      Src: /src/haproxy/src/http_ext.c:1361,1
    - Dst: ha_alert
      Src: /src/haproxy/src/http_ext.c:1365,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 6
    argNames:
    - args
    - cur_arg
    - curproxy
    - defpx
    - file
    - linenum
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1374
      start: 1301
    functionDepth: 4
    functionLinenumber: 1301
    functionLinenumberEnd: 1374
    functionName: proxy_http_parse_xot
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - istfree
    - strcmp
    - isttest
    - istdup
    - len2mask6
    - ist
    - str2net
    - proxy_http_parse_oom
    - str62net
    - http_ext_xot_prepare
    linkageType: ''
    returnType: int
    signature: "proxy_http_parse_xot(char **args, int cur_arg,\n                         struct
      proxy *curproxy, const struct proxy *defpx,\n                         const
      char *file, int linenum)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_ext_prepare
      Src: /src/haproxy/src/http_ext.c:1391,1
    - Dst: malloc
      Src: /src/haproxy/src/http_ext.c:1396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - curproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1410
      start: 1387
    functionDepth: 3
    functionLinenumber: 1387
    functionLinenumberEnd: 1410
    functionName: http_ext_7239_prepare
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 1
    functionsReached:
    - malloc
    - http_ext_prepare
    linkageType: ''
    returnType: int
    signature: http_ext_7239_prepare(struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_ext_prepare
      Src: /src/haproxy/src/http_ext.c:1422,1
    - Dst: malloc
      Src: /src/haproxy/src/http_ext.c:1427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - curproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1435
      start: 1418
    functionDepth: 3
    functionLinenumber: 1418
    functionLinenumberEnd: 1435
    functionName: http_ext_xff_prepare
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 1
    functionsReached:
    - malloc
    - http_ext_prepare
    linkageType: ''
    returnType: int
    signature: http_ext_xff_prepare(struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_ext_prepare
      Src: /src/haproxy/src/http_ext.c:1447,1
    - Dst: malloc
      Src: /src/haproxy/src/http_ext.c:1452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - curproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1460
      start: 1443
    functionDepth: 3
    functionLinenumber: 1443
    functionLinenumberEnd: 1460
    functionName: http_ext_xot_prepare
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 1
    functionsReached:
    - malloc
    - http_ext_prepare
    linkageType: ''
    returnType: int
    signature: http_ext_xot_prepare(struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1482,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1483,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1484,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1485,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1486,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1487,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_ext.c:1491,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_ext.c:1493,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_ext.c:1495,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_ext.c:1497,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_ext.c:1499,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - curproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1504
      start: 1471
    functionDepth: 5
    functionLinenumber: 1471
    functionLinenumberEnd: 1504
    functionName: http_ext_7239_clean
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 1
    functionsReached:
    - release_sample_expr
    - ha_free
    linkageType: ''
    returnType: void
    signature: http_ext_7239_clean(struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istfree
      Src: /src/haproxy/src/http_ext.c:1518,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - curproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1521
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1521
    functionName: http_ext_xff_clean
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - istfree
    - ha_free
    linkageType: ''
    returnType: void
    signature: http_ext_xff_clean(struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istfree
      Src: /src/haproxy/src/http_ext.c:1535,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - curproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1526
    functionDepth: 1
    functionLinenumber: 1526
    functionLinenumberEnd: 1538
    functionName: http_ext_xot_clean
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - istfree
    - ha_free
    linkageType: ''
    returnType: void
    signature: http_ext_xot_clean(struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_ext_7239_prepare
      Src: /src/haproxy/src/http_ext.c:1560,1
    - Dst: strdup
      Src: /src/haproxy/src/http_ext.c:1566,1
    - Dst: strdup
      Src: /src/haproxy/src/http_ext.c:1573,1
    - Dst: strdup
      Src: /src/haproxy/src/http_ext.c:1577,1
    - Dst: strdup
      Src: /src/haproxy/src/http_ext.c:1581,1
    - Dst: strdup
      Src: /src/haproxy/src/http_ext.c:1585,1
    - Dst: strdup
      Src: /src/haproxy/src/http_ext.c:1589,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - def
    - cpy
    argTypes:
    - struct proxy*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1590
      start: 1543
    functionDepth: 4
    functionLinenumber: 1543
    functionLinenumberEnd: 1590
    functionName: http_ext_7239_dup
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - http_ext_7239_prepare
    - strdup
    linkageType: ''
    returnType: void
    signature: http_ext_7239_dup(const struct proxy *def, struct proxy *cpy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_ext_xff_prepare
      Src: /src/haproxy/src/http_ext.c:1601,1
    - Dst: isttest
      Src: /src/haproxy/src/http_ext.c:1607,1
    - Dst: istdup
      Src: /src/haproxy/src/http_ext.c:1608,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - def
    - cpy
    argTypes:
    - struct proxy*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1611
      start: 1595
    functionDepth: 4
    functionLinenumber: 1595
    functionLinenumberEnd: 1611
    functionName: http_ext_xff_dup
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - isttest
    - istdup
    - http_ext_xff_prepare
    linkageType: ''
    returnType: void
    signature: http_ext_xff_dup(const struct proxy *def, struct proxy *cpy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_ext_xot_prepare
      Src: /src/haproxy/src/http_ext.c:1622,1
    - Dst: isttest
      Src: /src/haproxy/src/http_ext.c:1628,1
    - Dst: istdup
      Src: /src/haproxy/src/http_ext.c:1629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - def
    - cpy
    argTypes:
    - struct proxy*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1631
      start: 1616
    functionDepth: 4
    functionLinenumber: 1616
    functionLinenumberEnd: 1631
    functionName: http_ext_xot_dup
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - isttest
    - istdup
    - http_ext_xot_prepare
    linkageType: ''
    returnType: void
    signature: http_ext_xot_dup(const struct proxy *def, struct proxy *cpy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/http_ext.c:1642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - curproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1650
      start: 1637
    functionDepth: 3
    functionLinenumber: 1637
    functionLinenumberEnd: 1650
    functionName: http_ext_prepare
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 3
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: http_ext_prepare(struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_ext_7239_dup
      Src: /src/haproxy/src/http_ext.c:1657,1
    - Dst: http_ext_xff_dup
      Src: /src/haproxy/src/http_ext.c:1658,1
    - Dst: http_ext_xot_dup
      Src: /src/haproxy/src/http_ext.c:1659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - defproxy
    - curproxy
    argTypes:
    - struct proxy*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1660
      start: 1654
    functionDepth: 5
    functionLinenumber: 1654
    functionLinenumberEnd: 1660
    functionName: http_ext_dup
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - http_ext_xot_dup
    - http_ext_7239_dup
    - http_ext_xff_dup
    linkageType: ''
    returnType: void
    signature: http_ext_dup(const struct proxy *defproxy, struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_ext_7239_clean
      Src: /src/haproxy/src/http_ext.c:1669,1
    - Dst: http_ext_xff_clean
      Src: /src/haproxy/src/http_ext.c:1670,1
    - Dst: http_ext_xot_clean
      Src: /src/haproxy/src/http_ext.c:1671,1
    - Dst: ha_free
      Src: /src/haproxy/src/http_ext.c:1674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - curproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1675
      start: 1664
    functionDepth: 6
    functionLinenumber: 1664
    functionLinenumberEnd: 1675
    functionName: http_ext_clean
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - http_ext_xot_clean
    - http_ext_xff_clean
    - http_ext_7239_clean
    - ha_free
    linkageType: ''
    returnType: void
    signature: http_ext_clean(struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_ext_clean
      Src: /src/haproxy/src/http_ext.c:1686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - curproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1688
      start: 1678
    functionDepth: 7
    functionLinenumber: 1678
    functionLinenumberEnd: 1688
    functionName: http_ext_softclean
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - http_ext_clean
    linkageType: ''
    returnType: void
    signature: http_ext_softclean(struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/http_ext.c:1704,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/http_ext.c:1705,1
    - Dst: http_ext_7239_clean
      Src: /src/haproxy/src/http_ext.c:1707,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_ext.c:1710,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/http_ext.c:1711,1
    - Dst: http_ext_xff_clean
      Src: /src/haproxy/src/http_ext.c:1713,1
    - Dst: ha_warning
      Src: /src/haproxy/src/http_ext.c:1716,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/http_ext.c:1717,1
    - Dst: http_ext_xot_clean
      Src: /src/haproxy/src/http_ext.c:1719,1
    - Dst: proxy_http_compile_7239
      Src: /src/haproxy/src/http_ext.c:1723,1
    - Dst: http_ext_softclean
      Src: /src/haproxy/src/http_ext.c:1726,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1730
      start: 1696
    functionDepth: 8
    functionLinenumber: 1696
    functionLinenumberEnd: 1730
    functionName: check_http_ext_postconf
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - http_ext_7239_clean
    - ha_warning
    - http_ext_xff_clean
    - http_ext_softclean
    - proxy_type_str
    - proxy_http_compile_7239
    - http_ext_xot_clean
    linkageType: ''
    returnType: int
    signature: check_http_ext_postconf(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:1744,1
    - Dst: http_validate_7239_header
      Src: /src/haproxy/src/http_ext.c:1747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1749
      start: 1742
    functionDepth: 5
    functionLinenumber: 1742
    functionLinenumberEnd: 1749
    functionName: sample_conv_7239_valid
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - ist2
    - http_validate_7239_header
    linkageType: ''
    returnType: int
    signature: sample_conv_7239_valid(const struct arg *args, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:1757,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1763,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1765,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1767,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_ext.c:1769,1
    - Dst: http_validate_7239_header
      Src: /src/haproxy/src/http_ext.c:1772,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_ext.c:1775,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:1779,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:1781,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/http_ext.c:1784,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/http_ext.c:1787,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/http_ext.c:1790,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1799
      start: 1755
    functionDepth: 5
    functionLinenumber: 1755
    functionLinenumberEnd: 1799
    functionName: sample_conv_7239_field
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - chunk_istcat
    - http_validate_7239_header
    - strcmp
    - ist2
    - chunk_appendf
    - get_trash_chunk
    linkageType: ''
    returnType: int
    signature: sample_conv_7239_field(const struct arg *args, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:1808,1
    - Dst: http_7239_extract_node
      Src: /src/haproxy/src/http_ext.c:1812,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_ext.c:1816,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:1817,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_ext.c:1823,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:1824,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/http_ext.c:1825,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1846
      start: 1806
    functionDepth: 4
    functionLinenumber: 1806
    functionLinenumberEnd: 1846
    functionName: sample_conv_7239_n2nn
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - chunk_istcat
    - ist2
    - chunk_appendf
    - get_trash_chunk
    - http_7239_extract_node
    linkageType: ''
    returnType: int
    signature: sample_conv_7239_n2nn(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:1854,1
    - Dst: http_7239_extract_node
      Src: /src/haproxy/src/http_ext.c:1858,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_ext.c:1865,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/http_ext.c:1866,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/http_ext.c:1867,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1881
      start: 1852
    functionDepth: 4
    functionLinenumber: 1852
    functionLinenumberEnd: 1881
    functionName: sample_conv_7239_n2np
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - chunk_istcat
    - ist2
    - chunk_appendf
    - get_trash_chunk
    - http_7239_extract_node
    linkageType: ''
    returnType: int
    signature: sample_conv_7239_n2np(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_ext.c:1892,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_ext.c:1899,1
    - Dst: _7239_print_ip6
      Src: /src/haproxy/src/http_ext.c:1903,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:1908,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:1910,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_ext.c:1912,1
    - Dst: http_7239_extract_obfs
      Src: /src/haproxy/src/http_ext.c:1916,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:1916,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_ext.c:1919,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1937
      start: 1890
    functionDepth: 2
    functionLinenumber: 1890
    functionLinenumberEnd: 1937
    functionName: sample_conv_7239_nn
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - _7239_print_ip6
    - istlen
    - ist2
    - chunk_printf
    - get_trash_chunk
    - http_7239_extract_obfs
    linkageType: ''
    returnType: int
    signature: sample_conv_7239_nn(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/http_ext.c:1947,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_ext.c:1952,1
    - Dst: ist2
      Src: /src/haproxy/src/http_ext.c:1958,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:1960,1
    - Dst: http_7239_extract_obfs
      Src: /src/haproxy/src/http_ext.c:1963,1
    - Dst: istlen
      Src: /src/haproxy/src/http_ext.c:1963,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_ext.c:1966,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 1985
      start: 1945
    functionDepth: 2
    functionLinenumber: 1945
    functionLinenumberEnd: 1985
    functionName: sample_conv_7239_np
    functionSourceFile: /src/haproxy/src/http_ext.c
    functionUses: 0
    functionsReached:
    - istlen
    - ist2
    - chunk_printf
    - get_trash_chunk
    - http_7239_extract_obfs
    linkageType: ''
    returnType: int
    signature: sample_conv_7239_np(const struct arg *args, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_set_owner
      Src: /src/haproxy/src/ssl_sample.c:52,1
    - Dst: sample_conv_var2smp
      Src: /src/haproxy/src/ssl_sample.c:56,1
    - Dst: CRYPTO_memcmp
      Src: /src/haproxy/src/ssl_sample.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: sample_conv_secure_memcmp
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - sample_conv_var2smp
    - smp_set_owner
    - CRYPTO_memcmp
    linkageType: ''
    returnType: int
    signature: sample_conv_secure_memcmp(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:80,1
    - Dst: vars_check_arg
      Src: /src/haproxy/src/ssl_sample.c:85,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: smp_check_secure_memcmp
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - vars_check_arg
    linkageType: ''
    returnType: int
    signature: "smp_check_secure_memcmp(struct arg *args, struct sample_conv *conv,\n
      \                          const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:100,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: smp_check_sha2
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: "smp_check_sha2(struct arg *args, struct sample_conv *conv,\n                          const
      char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:119,1
    - Dst: EVP_sha224
      Src: /src/haproxy/src/ssl_sample.c:129,1
    - Dst: EVP_sha256
      Src: /src/haproxy/src/ssl_sample.c:132,1
    - Dst: EVP_sha384
      Src: /src/haproxy/src/ssl_sample.c:135,1
    - Dst: EVP_sha512
      Src: /src/haproxy/src/ssl_sample.c:138,1
    - Dst: EVP_MD_CTX_new
      Src: /src/haproxy/src/ssl_sample.c:144,1
    - Dst: EVP_DigestInit_ex
      Src: /src/haproxy/src/ssl_sample.c:147,1
    - Dst: EVP_DigestUpdate
      Src: /src/haproxy/src/ssl_sample.c:148,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/haproxy/src/ssl_sample.c:149,1
    - Dst: EVP_MD_CTX_free
      Src: /src/haproxy/src/ssl_sample.c:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 158
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 158
    functionName: sample_conv_sha2
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - EVP_sha384
    - EVP_sha512
    - EVP_DigestFinal_ex
    - EVP_sha224
    - EVP_MD_CTX_new
    - get_trash_chunk
    - EVP_MD_CTX_free
    - EVP_DigestUpdate
    - EVP_sha256
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: int
    signature: sample_conv_sha2(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:178,1
    - Dst: vars_check_arg
      Src: /src/haproxy/src/ssl_sample.c:185,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:189,1
    - Dst: malloc
      Src: /src/haproxy/src/ssl_sample.c:198,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:199,1
    - Dst: base64dec
      Src: /src/haproxy/src/ssl_sample.c:203,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:205,1
    - Dst: free
      Src: /src/haproxy/src/ssl_sample.c:207,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/ssl_sample.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - arg
    - err
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 216
      start: 172
    functionDepth: 5
    functionLinenumber: 172
    functionLinenumberEnd: 216
    functionName: sample_check_arg_base64
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - malloc
    - chunk_destroy
    - vars_check_arg
    - free
    - base64dec
    linkageType: ''
    returnType: int
    signature: sample_check_arg_base64(struct arg *arg, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:232,1
    - Dst: sample_check_arg_base64
      Src: /src/haproxy/src/ssl_sample.c:237,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:238,1
    - Dst: sample_check_arg_base64
      Src: /src/haproxy/src/ssl_sample.c:241,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:242,1
    - Dst: sample_check_arg_base64
      Src: /src/haproxy/src/ssl_sample.c:245,1
    - Dst: vars_check_arg
      Src: /src/haproxy/src/ssl_sample.c:246,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:247,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 252
      start: 219
    functionDepth: 6
    functionLinenumber: 219
    functionLinenumberEnd: 252
    functionName: check_aes_gcm
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - vars_check_arg
    - sample_check_arg_base64
    linkageType: ''
    returnType: int
    signature: "check_aes_gcm(struct arg *args, struct sample_conv *conv,\n\t\t\t\t\t\t
      \ const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:286,1
    - Dst: unlikely
      Src: /src/haproxy/src/ssl_sample.c:292,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_sample.c:294,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/haproxy/src/ssl_sample.c:296,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:301,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/ssl_sample.c:305,1
    - Dst: sample_conv_var2smp_str
      Src: /src/haproxy/src/ssl_sample.c:306,1
    - Dst: base64dec
      Src: /src/haproxy/src/ssl_sample.c:310,1
    - Dst: sample_conv_aes_gcm_init
      Src: /src/haproxy/src/ssl_sample.c:323,1
    - Dst: EVP_aes_128_gcm
      Src: /src/haproxy/src/ssl_sample.c:323,1
    - Dst: sample_conv_aes_gcm_init
      Src: /src/haproxy/src/ssl_sample.c:326,1
    - Dst: EVP_aes_192_gcm
      Src: /src/haproxy/src/ssl_sample.c:326,1
    - Dst: sample_conv_aes_gcm_init
      Src: /src/haproxy/src/ssl_sample.c:329,1
    - Dst: EVP_aes_256_gcm
      Src: /src/haproxy/src/ssl_sample.c:329,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/haproxy/src/ssl_sample.c:333,1
    - Dst: sample_conv_aes_gcm_init
      Src: /src/haproxy/src/ssl_sample.c:336,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/ssl_sample.c:339,1
    - Dst: sample_conv_var2smp_str
      Src: /src/haproxy/src/ssl_sample.c:340,1
    - Dst: base64dec
      Src: /src/haproxy/src/ssl_sample.c:344,1
    - Dst: sample_conv_aes_gcm_init
      Src: /src/haproxy/src/ssl_sample.c:352,1
    - Dst: sample_conv_aes_gcm_update
      Src: /src/haproxy/src/ssl_sample.c:355,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/ssl_sample.c:359,1
    - Dst: sample_conv_var2smp_str
      Src: /src/haproxy/src/ssl_sample.c:361,1
    - Dst: base64dec
      Src: /src/haproxy/src/ssl_sample.c:365,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/haproxy/src/ssl_sample.c:373,1
    - Dst: sample_conv_aes_gcm_final
      Src: /src/haproxy/src/ssl_sample.c:379,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:385,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/haproxy/src/ssl_sample.c:387,1
    - Dst: a2base64
      Src: /src/haproxy/src/ssl_sample.c:390,1
    - Dst: var_set
      Src: /src/haproxy/src/ssl_sample.c:397,1
    - Dst: smp_dup
      Src: /src/haproxy/src/ssl_sample.c:406,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:407,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:408,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/haproxy/src/ssl_sample.c:409,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:413,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:414,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/haproxy/src/ssl_sample.c:415,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 110
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 417
      start: 279
    functionDepth: 5
    functionLinenumber: 279
    functionLinenumberEnd: 417
    functionName: sample_conv_aes_gcm
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - a2base64
    - var_set
    - sample_conv_aes_gcm_final
    - EVP_CIPHER_CTX_new
    - free_trash_chunk
    - EVP_CIPHER_CTX_ctrl
    - alloc_trash_chunk
    - sample_conv_aes_gcm_init
    - sample_conv_var2smp_str
    - get_trash_chunk
    - EVP_aes_256_gcm
    - EVP_aes_192_gcm
    - EVP_CIPHER_CTX_free
    - EVP_aes_128_gcm
    - smp_set_owner
    - smp_dup
    - sample_conv_aes_gcm_update
    - unlikely
    - base64dec
    - memcpy
    linkageType: ''
    returnType: int
    signature: sample_conv_aes_gcm(const struct arg *arg_p, struct sample *smp, void
      *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyname
      Src: /src/haproxy/src/ssl_sample.c:423,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 430
      start: 420
    functionDepth: 5
    functionLinenumber: 420
    functionLinenumberEnd: 430
    functionName: check_crypto_digest
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - EVP_get_digestbyname
    linkageType: ''
    returnType: int
    signature: "check_crypto_digest(struct arg *args, struct sample_conv *conv,\n\t\t\t\t\t\t
      \ const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:434,1
    - Dst: EVP_MD_CTX_new
      Src: /src/haproxy/src/ssl_sample.c:437,1
    - Dst: EVP_get_digestbyname
      Src: /src/haproxy/src/ssl_sample.c:438,1
    - Dst: EVP_DigestInit_ex
      Src: /src/haproxy/src/ssl_sample.c:443,1
    - Dst: EVP_DigestUpdate
      Src: /src/haproxy/src/ssl_sample.c:444,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/haproxy/src/ssl_sample.c:445,1
    - Dst: EVP_MD_CTX_free
      Src: /src/haproxy/src/ssl_sample.c:446,1
    - Dst: EVP_MD_CTX_free
      Src: /src/haproxy/src/ssl_sample.c:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 457
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 457
    functionName: sample_conv_crypto_digest
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - EVP_DigestFinal_ex
    - EVP_MD_CTX_new
    - get_trash_chunk
    - EVP_get_digestbyname
    - EVP_DigestUpdate
    - EVP_MD_CTX_free
    - EVP_DigestInit_ex
    linkageType: ''
    returnType: int
    signature: sample_conv_crypto_digest(const struct arg *args, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sample.c:467,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:473,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/ssl_sample.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - arg_p
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 486
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 486
    functionName: sample_conv_x509_v_err
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - strlen
    - chunk_printf
    linkageType: ''
    returnType: int
    signature: sample_conv_x509_v_err(const struct arg *arg_p, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_crypto_digest
      Src: /src/haproxy/src/ssl_sample.c:491,1
    - Dst: sample_check_arg_base64
      Src: /src/haproxy/src/ssl_sample.c:494,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - args
    - conv
    - file
    - line
    - err
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 500
      start: 488
    functionDepth: 6
    functionLinenumber: 488
    functionLinenumberEnd: 500
    functionName: check_crypto_hmac
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - check_crypto_digest
    - memprintf
    - sample_check_arg_base64
    linkageType: ''
    returnType: int
    signature: "check_crypto_hmac(struct arg *args, struct sample_conv *conv,\n\t\t\t\t\t\t
      \ const char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_get_digestbyname
      Src: /src/haproxy/src/ssl_sample.c:508,1
    - Dst: smp_set_owner
      Src: /src/haproxy/src/ssl_sample.c:511,1
    - Dst: sample_conv_var2smp_str
      Src: /src/haproxy/src/ssl_sample.c:512,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:516,1
    - Dst: base64dec
      Src: /src/haproxy/src/ssl_sample.c:520,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:527,1
    - Dst: HMAC
      Src: /src/haproxy/src/ssl_sample.c:533,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:537,1
    - Dst: smp_dup
      Src: /src/haproxy/src/ssl_sample.c:542,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:543,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:547,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:548,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 550
      start: 502
    functionDepth: 5
    functionLinenumber: 502
    functionLinenumberEnd: 550
    functionName: sample_conv_crypto_hmac
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - smp_set_owner
    - smp_dup
    - sample_conv_var2smp_str
    - EVP_get_digestbyname
    - free_trash_chunk
    - HMAC
    - base64dec
    linkageType: ''
    returnType: int
    signature: sample_conv_crypto_hmac(const struct arg *args, struct sample *smp,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:558,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:559,1
    - Dst: SSL_in_early_data
      Src: /src/haproxy/src/ssl_sample.c:567,1
    - Dst: SSL_early_data_accepted
      Src: /src/haproxy/src/ssl_sample.c:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 575
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 575
    functionName: smp_fetch_ssl_fc_has_early
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_ssl_object
    - SSL_in_early_data
    - objt_conn
    - SSL_early_data_accepted
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_has_early(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:581,1
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sample.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 597
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 597
    functionName: smp_fetch_ssl_fc_has_crt
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - objt_conn
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_has_crt(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:613,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:614,1
    - Dst: ssl_sock_get_verified_chain_root
      Src: /src/haproxy/src/ssl_sample.c:623,1
    - Dst: X509_get_subject_name
      Src: /src/haproxy/src/ssl_sample.c:627,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:631,1
    - Dst: ssl_sock_get_dn_entry
      Src: /src/haproxy/src/ssl_sample.c:638,1
    - Dst: ssl_sock_get_dn_formatted
      Src: /src/haproxy/src/ssl_sample.c:642,1
    - Dst: ssl_sock_get_dn_oneline
      Src: /src/haproxy/src/ssl_sample.c:645,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 654
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 654
    functionName: smp_fetch_ssl_r_dn
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_dn_formatted
    - ssl_sock_get_ssl_object
    - objt_conn
    - X509_get_subject_name
    - get_trash_chunk
    - ssl_sock_get_dn_entry
    - ssl_sock_get_dn_oneline
    - ssl_sock_get_verified_chain_root
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_r_dn(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:674,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:676,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:678,1
    - Dst: ssl_sock_get_peer_certificate
      Src: /src/haproxy/src/ssl_sample.c:688,1
    - Dst: SSL_get_certificate
      Src: /src/haproxy/src/ssl_sample.c:690,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:695,1
    - Dst: ssl_sock_crt2der
      Src: /src/haproxy/src/ssl_sample.c:696,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sample.c:706,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 708
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 708
    functionName: smp_fetch_ssl_x_der
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_get_certificate
    - ssl_sock_get_ssl_object
    - X509_free
    - objt_conn
    - get_trash_chunk
    - ssl_sock_crt2der
    - ssl_sock_get_peer_certificate
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_x_der(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_sample.c:721,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:729,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:731,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:736,1
    - Dst: SSL_get_peer_cert_chain
      Src: /src/haproxy/src/ssl_sample.c:748,1
    - Dst: sk_X509_num
      Src: /src/haproxy/src/ssl_sample.c:752,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:755,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:756,1
    - Dst: sk_X509_value
      Src: /src/haproxy/src/ssl_sample.c:760,1
    - Dst: ssl_sock_crt2der
      Src: /src/haproxy/src/ssl_sample.c:761,1
    - Dst: chunk_cat
      Src: /src/haproxy/src/ssl_sample.c:763,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:772,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 774
      start: 713
    functionDepth: 2
    functionLinenumber: 713
    functionLinenumberEnd: 774
    functionName: smp_fetch_ssl_x_chain_der
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - sk_X509_value
    - alloc_trash_chunk
    - chunk_cat
    - ssl_sock_get_ssl_object
    - objt_conn
    - sk_X509_num
    - get_trash_chunk
    - free_trash_chunk
    - ssl_sock_crt2der
    - SSL_get_peer_cert_chain
    - STACK_OF
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_x_chain_der(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:792,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:794,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:795,1
    - Dst: ssl_sock_get_peer_certificate
      Src: /src/haproxy/src/ssl_sample.c:805,1
    - Dst: SSL_get_certificate
      Src: /src/haproxy/src/ssl_sample.c:807,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:812,1
    - Dst: ssl_sock_get_serial
      Src: /src/haproxy/src/ssl_sample.c:813,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sample.c:823,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 825
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 825
    functionName: smp_fetch_ssl_x_serial
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_serial
    - SSL_get_certificate
    - ssl_sock_get_ssl_object
    - X509_free
    - objt_conn
    - get_trash_chunk
    - ssl_sock_get_peer_certificate
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_x_serial(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:845,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:847,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:849,1
    - Dst: ssl_sock_get_peer_certificate
      Src: /src/haproxy/src/ssl_sample.c:859,1
    - Dst: SSL_get_certificate
      Src: /src/haproxy/src/ssl_sample.c:861,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:865,1
    - Dst: EVP_sha1
      Src: /src/haproxy/src/ssl_sample.c:866,1
    - Dst: X509_digest
      Src: /src/haproxy/src/ssl_sample.c:867,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sample.c:876,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 878
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 878
    functionName: smp_fetch_ssl_x_sha1
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_get_certificate
    - ssl_sock_get_ssl_object
    - X509_free
    - objt_conn
    - X509_digest
    - get_trash_chunk
    - EVP_sha1
    - ssl_sock_get_peer_certificate
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_x_sha1(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:896,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:898,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:900,1
    - Dst: ssl_sock_get_peer_certificate
      Src: /src/haproxy/src/ssl_sample.c:910,1
    - Dst: SSL_get_certificate
      Src: /src/haproxy/src/ssl_sample.c:912,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:916,1
    - Dst: ssl_sock_get_time
      Src: /src/haproxy/src/ssl_sample.c:917,1
    - Dst: X509_getm_notAfter
      Src: /src/haproxy/src/ssl_sample.c:917,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sample.c:927,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 929
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 929
    functionName: smp_fetch_ssl_x_notafter
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_get_certificate
    - ssl_sock_get_ssl_object
    - X509_free
    - ssl_sock_get_time
    - objt_conn
    - get_trash_chunk
    - X509_getm_notAfter
    - ssl_sock_get_peer_certificate
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_x_notafter(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:948,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:950,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:952,1
    - Dst: ssl_sock_get_peer_certificate
      Src: /src/haproxy/src/ssl_sample.c:962,1
    - Dst: SSL_get_certificate
      Src: /src/haproxy/src/ssl_sample.c:964,1
    - Dst: X509_get_issuer_name
      Src: /src/haproxy/src/ssl_sample.c:968,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:972,1
    - Dst: ssl_sock_get_dn_entry
      Src: /src/haproxy/src/ssl_sample.c:979,1
    - Dst: ssl_sock_get_dn_formatted
      Src: /src/haproxy/src/ssl_sample.c:983,1
    - Dst: ssl_sock_get_dn_oneline
      Src: /src/haproxy/src/ssl_sample.c:986,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sample.c:996,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 998
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 998
    functionName: smp_fetch_ssl_x_i_dn
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_dn_formatted
    - SSL_get_certificate
    - ssl_sock_get_ssl_object
    - X509_free
    - objt_conn
    - get_trash_chunk
    - ssl_sock_get_dn_oneline
    - ssl_sock_get_dn_entry
    - X509_get_issuer_name
    - ssl_sock_get_peer_certificate
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_x_i_dn(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_sample.c:1009,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1019,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1021,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1023,1
    - Dst: ssl_sock_get_peer_certificate
      Src: /src/haproxy/src/ssl_sample.c:1033,1
    - Dst: SSL_get_certificate
      Src: /src/haproxy/src/ssl_sample.c:1035,1
    - Dst: X509_get_ext_d2i
      Src: /src/haproxy/src/ssl_sample.c:1039,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:1043,1
    - Dst: BIO_new
      Src: /src/haproxy/src/ssl_sample.c:1045,1
    - Dst: BIO_s_mem
      Src: /src/haproxy/src/ssl_sample.c:1045,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/haproxy/src/ssl_sample.c:1049,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/haproxy/src/ssl_sample.c:1050,1
    - Dst: BIO_puts
      Src: /src/haproxy/src/ssl_sample.c:1052,1
    - Dst: GENERAL_NAME_print
      Src: /src/haproxy/src/ssl_sample.c:1053,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/haproxy/src/ssl_sample.c:1056,1
    - Dst: BIO_read
      Src: /src/haproxy/src/ssl_sample.c:1058,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sample.c:1071,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_sample.c:1072,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1074
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1074
    functionName: smp_fetch_ssl_x_san
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - BIO_read
    - BIO_free
    - SSL_get_certificate
    - GENERAL_NAME_print
    - sk_GENERAL_NAME_pop_free
    - ssl_sock_get_ssl_object
    - BIO_puts
    - X509_get_ext_d2i
    - X509_free
    - objt_conn
    - get_trash_chunk
    - sk_GENERAL_NAME_value
    - BIO_s_mem
    - sk_GENERAL_NAME_num
    - STACK_OF
    - BIO_new
    - ssl_sock_get_peer_certificate
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_x_san(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1092,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1094,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1096,1
    - Dst: ssl_sock_get_peer_certificate
      Src: /src/haproxy/src/ssl_sample.c:1106,1
    - Dst: SSL_get_certificate
      Src: /src/haproxy/src/ssl_sample.c:1108,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:1112,1
    - Dst: ssl_sock_get_time
      Src: /src/haproxy/src/ssl_sample.c:1113,1
    - Dst: X509_getm_notBefore
      Src: /src/haproxy/src/ssl_sample.c:1113,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sample.c:1123,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1125
      start: 1080
    functionDepth: 2
    functionLinenumber: 1080
    functionLinenumberEnd: 1125
    functionName: smp_fetch_ssl_x_notbefore
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_get_certificate
    - X509_getm_notBefore
    - ssl_sock_get_ssl_object
    - X509_free
    - ssl_sock_get_time
    - objt_conn
    - get_trash_chunk
    - ssl_sock_get_peer_certificate
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_x_notbefore(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1144,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1146,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1148,1
    - Dst: ssl_sock_get_peer_certificate
      Src: /src/haproxy/src/ssl_sample.c:1158,1
    - Dst: SSL_get_certificate
      Src: /src/haproxy/src/ssl_sample.c:1160,1
    - Dst: X509_get_subject_name
      Src: /src/haproxy/src/ssl_sample.c:1164,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:1168,1
    - Dst: ssl_sock_get_dn_entry
      Src: /src/haproxy/src/ssl_sample.c:1175,1
    - Dst: ssl_sock_get_dn_formatted
      Src: /src/haproxy/src/ssl_sample.c:1179,1
    - Dst: ssl_sock_get_dn_oneline
      Src: /src/haproxy/src/ssl_sample.c:1182,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sample.c:1192,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1194
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1194
    functionName: smp_fetch_ssl_x_s_dn
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_dn_formatted
    - SSL_get_certificate
    - ssl_sock_get_ssl_object
    - X509_free
    - objt_conn
    - X509_get_subject_name
    - get_trash_chunk
    - ssl_sock_get_dn_entry
    - ssl_sock_get_dn_oneline
    - ssl_sock_get_peer_certificate
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_x_s_dn(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1204,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1205,1
    - Dst: ssl_sock_get_peer_certificate
      Src: /src/haproxy/src/ssl_sample.c:1215,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sample.c:1217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1197
    functionDepth: 2
    functionLinenumber: 1197
    functionLinenumberEnd: 1224
    functionName: smp_fetch_ssl_c_used
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_ssl_object
    - X509_free
    - objt_conn
    - ssl_sock_get_peer_certificate
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_c_used(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1241,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1243,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1244,1
    - Dst: ssl_sock_get_peer_certificate
      Src: /src/haproxy/src/ssl_sample.c:1254,1
    - Dst: SSL_get_certificate
      Src: /src/haproxy/src/ssl_sample.c:1256,1
    - Dst: X509_get_version
      Src: /src/haproxy/src/ssl_sample.c:1261,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sample.c:1264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1268
      start: 1230
    functionDepth: 2
    functionLinenumber: 1230
    functionLinenumberEnd: 1268
    functionName: smp_fetch_ssl_x_version
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_get_certificate
    - ssl_sock_get_ssl_object
    - X509_free
    - X509_get_version
    - objt_conn
    - ssl_sock_get_peer_certificate
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_x_version(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1286,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1288,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1290,1
    - Dst: ssl_sock_get_peer_certificate
      Src: /src/haproxy/src/ssl_sample.c:1300,1
    - Dst: SSL_get_certificate
      Src: /src/haproxy/src/ssl_sample.c:1302,1
    - Dst: X509_ALGOR_get0
      Src: /src/haproxy/src/ssl_sample.c:1306,1
    - Dst: X509_get0_tbs_sigalg
      Src: /src/haproxy/src/ssl_sample.c:1306,1
    - Dst: OBJ_obj2nid
      Src: /src/haproxy/src/ssl_sample.c:1307,1
    - Dst: OBJ_nid2sn
      Src: /src/haproxy/src/ssl_sample.c:1309,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sample.c:1313,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sample.c:1319,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sample.c:1322,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1274
    functionDepth: 2
    functionLinenumber: 1274
    functionLinenumberEnd: 1325
    functionName: smp_fetch_ssl_x_sig_alg
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_get_certificate
    - ssl_sock_get_ssl_object
    - X509_ALGOR_get0
    - OBJ_obj2nid
    - X509_free
    - strlen
    - objt_conn
    - OBJ_nid2sn
    - X509_get0_tbs_sigalg
    - ssl_sock_get_peer_certificate
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_x_sig_alg(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1343,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1345,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1346,1
    - Dst: ssl_sock_get_peer_certificate
      Src: /src/haproxy/src/ssl_sample.c:1356,1
    - Dst: SSL_get_certificate
      Src: /src/haproxy/src/ssl_sample.c:1358,1
    - Dst: X509_PUBKEY_get0_param
      Src: /src/haproxy/src/ssl_sample.c:1362,1
    - Dst: X509_get_X509_PUBKEY
      Src: /src/haproxy/src/ssl_sample.c:1362,1
    - Dst: OBJ_obj2nid
      Src: /src/haproxy/src/ssl_sample.c:1363,1
    - Dst: OBJ_nid2sn
      Src: /src/haproxy/src/ssl_sample.c:1365,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sample.c:1369,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sample.c:1375,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_sample.c:1377,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1380
      start: 1331
    functionDepth: 2
    functionLinenumber: 1331
    functionLinenumberEnd: 1380
    functionName: smp_fetch_ssl_x_key_alg
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - X509_PUBKEY_get0_param
    - SSL_get_certificate
    - ssl_sock_get_ssl_object
    - OBJ_obj2nid
    - X509_free
    - strlen
    - objt_conn
    - X509_get_X509_PUBKEY
    - OBJ_nid2sn
    - ssl_sock_get_peer_certificate
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_x_key_alg(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:1391,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1392,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:1392,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1394,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1395,1
    - Dst: conn_is_ssl
      Src: /src/haproxy/src/ssl_sample.c:1398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1400
      start: 1386
    functionDepth: 1
    functionLinenumber: 1386
    functionLinenumberEnd: 1400
    functionName: smp_fetch_ssl_fc
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - __objt_check
    - objt_conn
    - obj_type
    - conn_is_ssl
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1407,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1408,1
    - Dst: SSL_get_servername
      Src: /src/haproxy/src/ssl_sample.c:1411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1416
      start: 1403
    functionDepth: 2
    functionLinenumber: 1403
    functionLinenumberEnd: 1416
    functionName: smp_fetch_ssl_fc_has_sni
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_ssl_object
    - objt_conn
    - SSL_get_servername
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_has_sni(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:1428,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1429,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:1429,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1431,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1432,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1434,1
    - Dst: SSL_session_reused
      Src: /src/haproxy/src/ssl_sample.c:1437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1439
      start: 1422
    functionDepth: 2
    functionLinenumber: 1422
    functionLinenumberEnd: 1439
    functionName: smp_fetch_ssl_fc_is_resumed
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_ssl_object
    - __objt_check
    - objt_conn
    - obj_type
    - SSL_session_reused
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_is_resumed(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:1457,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1458,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:1458,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1460,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1461,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1463,1
    - Dst: SSL_get0_group_name
      Src: /src/haproxy/src/ssl_sample.c:1473,1
    - Dst: toupper
      Src: /src/haproxy/src/ssl_sample.c:1487,1
    - Dst: SSL_get_negotiated_group
      Src: /src/haproxy/src/ssl_sample.c:1490,1
    - Dst: OBJ_nid2sn
      Src: /src/haproxy/src/ssl_sample.c:1493,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sample.c:1504,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1507
      start: 1449
    functionDepth: 2
    functionLinenumber: 1449
    functionLinenumberEnd: 1507
    functionName: smp_fetch_ssl_fc_ec
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - toupper
    - ssl_sock_get_ssl_object
    - strlen
    - SSL_get_negotiated_group
    - __objt_check
    - objt_conn
    - OBJ_nid2sn
    - obj_type
    - SSL_get0_group_name
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_ec(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:1520,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1521,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:1521,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1523,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1524,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1527,1
    - Dst: SSL_get_cipher_name
      Src: /src/haproxy/src/ssl_sample.c:1531,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sample.c:1537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1540
      start: 1514
    functionDepth: 2
    functionLinenumber: 1514
    functionLinenumberEnd: 1540
    functionName: smp_fetch_ssl_fc_cipher
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_ssl_object
    - strlen
    - __objt_check
    - objt_conn
    - obj_type
    - SSL_get_cipher_name
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_cipher(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:1554,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1555,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:1555,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1557,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1558,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1561,1
    - Dst: SSL_get_cipher_bits
      Src: /src/haproxy/src/ssl_sample.c:1565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1573
      start: 1547
    functionDepth: 2
    functionLinenumber: 1547
    functionLinenumberEnd: 1573
    functionName: smp_fetch_ssl_fc_alg_keysize
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_ssl_object
    - __objt_check
    - objt_conn
    - SSL_get_cipher_bits
    - obj_type
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_alg_keysize(const struct arg *args, struct sample
      *smp, const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:1585,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1586,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:1586,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1588,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1589,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1592,1
    - Dst: SSL_get_cipher_bits
      Src: /src/haproxy/src/ssl_sample.c:1596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1604
      start: 1579
    functionDepth: 2
    functionLinenumber: 1579
    functionLinenumberEnd: 1604
    functionName: smp_fetch_ssl_fc_use_keysize
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_ssl_object
    - __objt_check
    - objt_conn
    - SSL_get_cipher_bits
    - obj_type
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_use_keysize(const struct arg *args, struct sample
      *smp, const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:1617,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1618,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:1618,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1620,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1621,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1623,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/haproxy/src/ssl_sample.c:1629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1638
      start: 1607
    functionDepth: 2
    functionLinenumber: 1607
    functionLinenumberEnd: 1638
    functionName: smp_fetch_ssl_fc_npn
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_ssl_object
    - SSL_get0_next_proto_negotiated
    - __objt_check
    - objt_conn
    - obj_type
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_npn(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:1652,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1653,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:1653,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1655,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1656,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1658,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/haproxy/src/ssl_sample.c:1663,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1672
      start: 1642
    functionDepth: 2
    functionLinenumber: 1642
    functionLinenumberEnd: 1672
    functionName: smp_fetch_ssl_fc_alpn
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_ssl_object
    - SSL_get0_alpn_selected
    - __objt_check
    - objt_conn
    - obj_type
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_alpn(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:1685,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1686,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:1686,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1688,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1689,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1692,1
    - Dst: SSL_get_version
      Src: /src/haproxy/src/ssl_sample.c:1696,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sample.c:1702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1705
      start: 1679
    functionDepth: 2
    functionLinenumber: 1679
    functionLinenumberEnd: 1705
    functionName: smp_fetch_ssl_fc_protocol
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_get_version
    - ssl_sock_get_ssl_object
    - strlen
    - __objt_check
    - objt_conn
    - obj_type
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_protocol(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:1723,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1724,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:1724,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1726,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1727,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1729,1
    - Dst: SSL_get_session
      Src: /src/haproxy/src/ssl_sample.c:1733,1
    - Dst: SSL_SESSION_get_id
      Src: /src/haproxy/src/ssl_sample.c:1737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1743
      start: 1712
    functionDepth: 2
    functionLinenumber: 1712
    functionLinenumberEnd: 1743
    functionName: smp_fetch_ssl_fc_session_id
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_get_session
    - ssl_sock_get_ssl_object
    - __objt_check
    - objt_conn
    - obj_type
    - SSL_SESSION_get_id
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_session_id(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:1755,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1756,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:1756,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1758,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1759,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1761,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:1765,1
    - Dst: SSL_get_client_random
      Src: /src/haproxy/src/ssl_sample.c:1767,1
    - Dst: SSL_get_server_random
      Src: /src/haproxy/src/ssl_sample.c:1771,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1782
      start: 1748
    functionDepth: 2
    functionLinenumber: 1748
    functionLinenumberEnd: 1782
    functionName: smp_fetch_ssl_fc_random
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_get_server_random
    - ssl_sock_get_ssl_object
    - SSL_get_client_random
    - __objt_check
    - objt_conn
    - get_trash_chunk
    - obj_type
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_random(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:1792,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1793,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:1793,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1795,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1796,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1798,1
    - Dst: SSL_get_session
      Src: /src/haproxy/src/ssl_sample.c:1802,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:1806,1
    - Dst: SSL_SESSION_get_master_key
      Src: /src/haproxy/src/ssl_sample.c:1807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1818
      start: 1784
    functionDepth: 2
    functionLinenumber: 1784
    functionLinenumberEnd: 1818
    functionName: smp_fetch_ssl_fc_session_key
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_get_session
    - SSL_SESSION_get_master_key
    - ssl_sock_get_ssl_object
    - __objt_check
    - objt_conn
    - get_trash_chunk
    - obj_type
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_session_key(const struct arg *args, struct sample
      *smp, const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1831,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1832,1
    - Dst: SSL_get_servername
      Src: /src/haproxy/src/ssl_sample.c:1836,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sample.c:1841,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sample.c:1847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1854
      start: 1821
    functionDepth: 2
    functionLinenumber: 1821
    functionLinenumberEnd: 1854
    functionName: smp_fetch_ssl_fc_sni
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_get_ex_data
    - ssl_sock_get_ssl_object
    - strlen
    - objt_conn
    - SSL_get_servername
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_sni(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1867,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1868,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sample.c:1872,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:1877,1
    - Dst: exclude_tls_grease
      Src: /src/haproxy/src/ssl_sample.c:1878,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1891
      start: 1859
    functionDepth: 2
    functionLinenumber: 1859
    functionLinenumberEnd: 1891
    functionName: smp_fetch_ssl_fc_cl_bin
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - exclude_tls_grease
    - SSL_get_ex_data
    - ssl_sock_get_ssl_object
    - objt_conn
    - get_trash_chunk
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_cl_bin(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_fetch_ssl_fc_cl_bin
      Src: /src/haproxy/src/ssl_sample.c:1901,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:1904,1
    - Dst: dump_binary
      Src: /src/haproxy/src/ssl_sample.c:1905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1910
      start: 1896
    functionDepth: 3
    functionLinenumber: 1896
    functionLinenumberEnd: 1910
    functionName: smp_fetch_ssl_fc_cl_hex
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - smp_fetch_ssl_fc_cl_bin
    - get_trash_chunk
    - dump_binary
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_cl_hex(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1920,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1921,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sample.c:1925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1933
      start: 1913
    functionDepth: 2
    functionLinenumber: 1913
    functionLinenumberEnd: 1933
    functionName: smp_fetch_ssl_fc_cl_xxh64
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_ssl_object
    - objt_conn
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_cl_xxh64(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:1941,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1942,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:1942,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1944,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:1945,1
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sample.c:1955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1963
      start: 1935
    functionDepth: 1
    functionLinenumber: 1935
    functionLinenumberEnd: 1963
    functionName: smp_fetch_ssl_fc_err
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - __objt_check
    - objt_conn
    - obj_type
    - conn_get_ssl_sock_ctx
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_err(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1972,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1973,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sample.c:1977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1985
      start: 1965
    functionDepth: 2
    functionLinenumber: 1965
    functionLinenumberEnd: 1985
    functionName: smp_fetch_ssl_fc_protocol_hello_id
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_ssl_object
    - objt_conn
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_protocol_hello_id(const struct arg *args, struct sample
      *smp, const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:1995,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:1996,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sample.c:2000,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:2005,1
    - Dst: exclude_tls_grease
      Src: /src/haproxy/src/ssl_sample.c:2006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2018
      start: 1987
    functionDepth: 2
    functionLinenumber: 1987
    functionLinenumberEnd: 2018
    functionName: smp_fetch_ssl_fc_supver_bin
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - exclude_tls_grease
    - SSL_get_ex_data
    - ssl_sock_get_ssl_object
    - objt_conn
    - get_trash_chunk
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_supver_bin(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:2028,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:2029,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sample.c:2033,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:2038,1
    - Dst: exclude_tls_grease
      Src: /src/haproxy/src/ssl_sample.c:2039,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2051
      start: 2020
    functionDepth: 2
    functionLinenumber: 2020
    functionLinenumberEnd: 2051
    functionName: smp_fetch_ssl_fc_sigalgs_bin
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - exclude_tls_grease
    - SSL_get_ex_data
    - ssl_sock_get_ssl_object
    - objt_conn
    - get_trash_chunk
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_sigalgs_bin(const struct arg *args, struct sample
      *smp, const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:2060,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:2061,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:2061,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:2063,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:2064,1
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sample.c:2074,1
    - Dst: ERR_error_string
      Src: /src/haproxy/src/ssl_sample.c:2078,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sample.c:2083,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2086
      start: 2053
    functionDepth: 1
    functionLinenumber: 2053
    functionLinenumberEnd: 2086
    functionName: smp_fetch_ssl_fc_err_str
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ERR_error_string
    - strlen
    - __objt_check
    - objt_conn
    - obj_type
    - conn_get_ssl_sock_ctx
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_err_str(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:2099,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:2100,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sample.c:2104,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:2109,1
    - Dst: exclude_tls_grease
      Src: /src/haproxy/src/ssl_sample.c:2110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2123
      start: 2091
    functionDepth: 2
    functionLinenumber: 2091
    functionLinenumberEnd: 2123
    functionName: smp_fetch_ssl_fc_ext_bin
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - exclude_tls_grease
    - SSL_get_ex_data
    - ssl_sock_get_ssl_object
    - objt_conn
    - get_trash_chunk
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_ext_bin(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:2136,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:2137,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sample.c:2141,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:2146,1
    - Dst: exclude_tls_grease
      Src: /src/haproxy/src/ssl_sample.c:2147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2160
      start: 2128
    functionDepth: 2
    functionLinenumber: 2128
    functionLinenumberEnd: 2160
    functionName: smp_fetch_ssl_fc_ecl_bin
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - exclude_tls_grease
    - SSL_get_ex_data
    - ssl_sock_get_ssl_object
    - objt_conn
    - get_trash_chunk
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_ecl_bin(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:2170,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:2171,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sample.c:2175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2184
      start: 2163
    functionDepth: 2
    functionLinenumber: 2163
    functionLinenumberEnd: 2184
    functionName: smp_fetch_ssl_fc_ecf_bin
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_ssl_object
    - objt_conn
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_ecf_bin(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:2199,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:2200,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:2210,1
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/ssl_sample.c:2214,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sample.c:2218,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_sample.c:2220,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_sample.c:2222,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_sample.c:2224,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_sample.c:2226,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_sample.c:2228,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_sample.c:2230,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_sample.c:2232,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_sample.c:2242,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2244
      start: 2188
    functionDepth: 2
    functionLinenumber: 2188
    functionLinenumberEnd: 2244
    functionName: smp_fetch_ssl_x_keylog
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_get_ex_data
    - ssl_sock_get_ssl_object
    - strlen
    - strcmp
    - objt_conn
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_x_keylog(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_fetch_ssl_fc_cl_bin
      Src: /src/haproxy/src/ssl_sample.c:2254,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:2257,1
    - Dst: SSL_get_cipher_by_value
      Src: /src/haproxy/src/ssl_sample.c:2264,1
    - Dst: __objt_conn
      Src: /src/haproxy/src/ssl_sample.c:2266,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:2267,1
    - Dst: SSL_CIPHER_find
      Src: /src/haproxy/src/ssl_sample.c:2268,1
    - Dst: SSL_CIPHER_get_name
      Src: /src/haproxy/src/ssl_sample.c:2270,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_sample.c:2271,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sample.c:2272,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_sample.c:2274,1
    - Dst: smp_fetch_ssl_fc_cl_xxh64
      Src: /src/haproxy/src/ssl_sample.c:2280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2282
      start: 2247
    functionDepth: 3
    functionLinenumber: 2247
    functionLinenumberEnd: 2282
    functionName: smp_fetch_ssl_fc_cl_str
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - smp_fetch_ssl_fc_cl_xxh64
    - ssl_sock_get_ssl_object
    - strcmp
    - __objt_conn
    - SSL_CIPHER_get_name
    - chunk_appendf
    - smp_fetch_ssl_fc_cl_bin
    - get_trash_chunk
    - SSL_CIPHER_find
    - SSL_get_cipher_by_value
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_cl_str(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/ssl_sample.c:2293,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:2294,1
    - Dst: __objt_check
      Src: /src/haproxy/src/ssl_sample.c:2294,1
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:2296,1
    - Dst: sc_conn
      Src: /src/haproxy/src/ssl_sample.c:2297,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:2300,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/ssl_sample.c:2309,1
    - Dst: SSL_session_reused
      Src: /src/haproxy/src/ssl_sample.c:2310,1
    - Dst: SSL_get_peer_finished
      Src: /src/haproxy/src/ssl_sample.c:2311,1
    - Dst: SSL_get_finished
      Src: /src/haproxy/src/ssl_sample.c:2315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2328
      start: 2285
    functionDepth: 2
    functionLinenumber: 2285
    functionLinenumberEnd: 2328
    functionName: smp_fetch_ssl_fc_unique_id
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_ssl_object
    - __objt_check
    - objt_conn
    - get_trash_chunk
    - SSL_get_peer_finished
    - obj_type
    - SSL_get_finished
    - SSL_session_reused
    - sc_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_fc_unique_id(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:2335,1
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sample.c:2336,1
    - Dst: SSL_SOCK_ST_TO_CA_ERROR
      Src: /src/haproxy/src/ssl_sample.c:2347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2351
      start: 2332
    functionDepth: 1
    functionLinenumber: 2332
    functionLinenumberEnd: 2351
    functionName: smp_fetch_ssl_c_ca_err
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_SOCK_ST_TO_CA_ERROR
    - objt_conn
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_c_ca_err(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:2357,1
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sample.c:2358,1
    - Dst: SSL_SOCK_ST_TO_CAEDEPTH
      Src: /src/haproxy/src/ssl_sample.c:2369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2373
      start: 2354
    functionDepth: 1
    functionLinenumber: 2354
    functionLinenumberEnd: 2373
    functionName: smp_fetch_ssl_c_ca_err_depth
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_SOCK_ST_TO_CAEDEPTH
    - objt_conn
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_c_ca_err_depth(const struct arg *args, struct sample
      *smp, const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:2379,1
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/src/ssl_sample.c:2380,1
    - Dst: SSL_SOCK_ST_TO_CRTERROR
      Src: /src/haproxy/src/ssl_sample.c:2391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2395
      start: 2376
    functionDepth: 1
    functionLinenumber: 2376
    functionLinenumberEnd: 2395
    functionName: smp_fetch_ssl_c_err
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - SSL_SOCK_ST_TO_CRTERROR
    - objt_conn
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_c_err(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/ssl_sample.c:2404,1
    - Dst: ssl_sock_get_ssl_object
      Src: /src/haproxy/src/ssl_sample.c:2405,1
    - Dst: SSL_get_verify_result
      Src: /src/haproxy/src/ssl_sample.c:2415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2419
      start: 2398
    functionDepth: 2
    functionLinenumber: 2398
    functionLinenumberEnd: 2419
    functionName: smp_fetch_ssl_c_verify
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - ssl_sock_get_ssl_object
    - SSL_get_verify_result
    - objt_conn
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_c_verify(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_sample.c:2429,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_sample.c:2430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - arg
    - err_msg
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 2434
      start: 2427
    functionDepth: 5
    functionLinenumber: 2427
    functionLinenumberEnd: 2434
    functionName: val_dnfmt
    functionSourceFile: /src/haproxy/src/ssl_sample.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: val_dnfmt(struct arg *arg, char **err_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/haproxy/src/errors.c:50,1
    - Dst: ring_make_from_area
      Src: /src/haproxy/src/errors.c:54,1
    - Dst: munmap
      Src: /src/haproxy/src/errors.c:63,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: startup_logs_init_shm
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 0
    functionsReached:
    - mmap
    - munmap
    - ring_make_from_area
    linkageType: ''
    returnType: struct ring
    signature: '*startup_logs_init_shm()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: startup_logs_init_shm
      Src: /src/haproxy/src/errors.c:70,1
    - Dst: vma_set_name
      Src: /src/haproxy/src/errors.c:72,1
    - Dst: ring_allocated_area
      Src: /src/haproxy/src/errors.c:72,1
    - Dst: ring_allocated_size
      Src: /src/haproxy/src/errors.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: startup_logs_init
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 0
    functionsReached:
    - startup_logs_init_shm
    - vma_set_name
    - ring_allocated_area
    - ring_allocated_size
    linkageType: ''
    returnType: void
    signature: startup_logs_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/haproxy/src/errors.c:81,1
    - Dst: ring_allocated_area
      Src: /src/haproxy/src/errors.c:81,1
    - Dst: ring_free
      Src: /src/haproxy/src/errors.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct ring*
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: startup_logs_free
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 1
    functionsReached:
    - ring_free
    - munmap
    - ring_allocated_area
    linkageType: ''
    returnType: void
    signature: startup_logs_free(struct ring *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ring_new
      Src: /src/haproxy/src/errors.c:92,1
    - Dst: ring_allocated_size
      Src: /src/haproxy/src/errors.c:92,1
    - Dst: ring_dup
      Src: /src/haproxy/src/errors.c:96,1
    - Dst: ring_size
      Src: /src/haproxy/src/errors.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct ring*
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: startup_logs_dup
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 0
    functionsReached:
    - ring_dup
    - ring_allocated_size
    - ring_size
    - ring_new
    linkageType: ''
    returnType: struct ring
    signature: '*startup_logs_dup(struct ring *src)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/errors.c:112,1
    - Dst: b_is_null
      Src: /src/haproxy/src/errors.c:112,1
    - Dst: malloc
      Src: /src/haproxy/src/errors.c:113,1
    - Dst: likely
      Src: /src/haproxy/src/errors.c:118,1
    - Dst: b_is_null
      Src: /src/haproxy/src/errors.c:118,1
    - Dst: b_room
      Src: /src/haproxy/src/errors.c:119,1
    - Dst: b_putblk
      Src: /src/haproxy/src/errors.c:121,1
    - Dst: b_putchr
      Src: /src/haproxy/src/errors.c:122,1
    - Dst: b_tail
      Src: /src/haproxy/src/errors.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - msg
    argTypes:
    - struct ist*
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: usermsgs_put
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 0
    functionsReached:
    - malloc
    - b_room
    - b_putblk
    - b_putchr
    - b_tail
    - likely
    - b_is_null
    - unlikely
    linkageType: ''
    returnType: void
    signature: usermsgs_put(const struct ist *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/errors.c:136,1
    - Dst: b_is_null
      Src: /src/haproxy/src/errors.c:136,1
    - Dst: b_reset
      Src: /src/haproxy/src/errors.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: usermsgs_clr
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 4
    functionsReached:
    - b_is_null
    - likely
    - b_reset
    linkageType: ''
    returnType: void
    signature: usermsgs_clr(const char *prefix)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_is_null
      Src: /src/haproxy/src/errors.c:147,1
    - Dst: b_data
      Src: /src/haproxy/src/errors.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: usermsgs_empty
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 1
    functionsReached:
    - b_is_null
    - b_data
    linkageType: ''
    returnType: int
    signature: usermsgs_empty(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/errors.c:153,1
    - Dst: b_is_null
      Src: /src/haproxy/src/errors.c:153,1
    - Dst: b_head
      Src: /src/haproxy/src/errors.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: usermsgs_str
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 1
    functionsReached:
    - b_head
    - b_is_null
    - unlikely
    linkageType: ''
    returnType: char
    signature: '*usermsgs_str(void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - file
    - line
    - obj
    argTypes:
    - char*
    - int
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: set_usermsgs_ctx
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: set_usermsgs_ctx(const char *file, int line, enum obj_type *obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: register_parsing_obj
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: register_parsing_obj(enum obj_type *obj)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: reset_usermsgs_ctx
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: reset_usermsgs_ctx(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/errors.c:199,1
    - Dst: b_is_null
      Src: /src/haproxy/src/errors.c:199,1
    - Dst: calloc
      Src: /src/haproxy/src/errors.c:200,1
    - Dst: b_make
      Src: /src/haproxy/src/errors.c:202,1
    - Dst: likely
      Src: /src/haproxy/src/errors.c:205,1
    - Dst: b_is_null
      Src: /src/haproxy/src/errors.c:205,1
    - Dst: b_reset
      Src: /src/haproxy/src/errors.c:206,1
    - Dst: snprintf
      Src: /src/haproxy/src/errors.c:209,1
    - Dst: b_tail
      Src: /src/haproxy/src/errors.c:209,1
    - Dst: b_room
      Src: /src/haproxy/src/errors.c:209,1
    - Dst: b_add
      Src: /src/haproxy/src/errors.c:211,1
    - Dst: MIN
      Src: /src/haproxy/src/errors.c:211,1
    - Dst: b_room
      Src: /src/haproxy/src/errors.c:211,1
    - Dst: snprintf
      Src: /src/haproxy/src/errors.c:215,1
    - Dst: b_tail
      Src: /src/haproxy/src/errors.c:215,1
    - Dst: b_room
      Src: /src/haproxy/src/errors.c:215,1
    - Dst: b_add
      Src: /src/haproxy/src/errors.c:217,1
    - Dst: MIN
      Src: /src/haproxy/src/errors.c:217,1
    - Dst: b_room
      Src: /src/haproxy/src/errors.c:217,1
    - Dst: obj_type
      Src: /src/haproxy/src/errors.c:220,1
    - Dst: snprintf
      Src: /src/haproxy/src/errors.c:222,1
    - Dst: b_tail
      Src: /src/haproxy/src/errors.c:222,1
    - Dst: b_room
      Src: /src/haproxy/src/errors.c:222,1
    - Dst: __objt_server
      Src: /src/haproxy/src/errors.c:224,1
    - Dst: __objt_server
      Src: /src/haproxy/src/errors.c:225,1
    - Dst: b_add
      Src: /src/haproxy/src/errors.c:226,1
    - Dst: MIN
      Src: /src/haproxy/src/errors.c:226,1
    - Dst: b_room
      Src: /src/haproxy/src/errors.c:226,1
    - Dst: b_data
      Src: /src/haproxy/src/errors.c:234,1
    - Dst: snprintf
      Src: /src/haproxy/src/errors.c:235,1
    - Dst: b_tail
      Src: /src/haproxy/src/errors.c:235,1
    - Dst: b_room
      Src: /src/haproxy/src/errors.c:235,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 237
    functionName: generate_usermsgs_ctx_str
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 0
    functionsReached:
    - b_room
    - b_make
    - calloc
    - snprintf
    - b_add
    - __objt_server
    - b_tail
    - obj_type
    - likely
    - b_data
    - b_reset
    - b_is_null
    - unlikely
    - MIN
    linkageType: ''
    returnType: void
    signature: generate_usermsgs_ctx_str(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/haproxy/src/errors.c:247,1
    - Dst: strlen
      Src: /src/haproxy/src/errors.c:248,1
    - Dst: memprintf
      Src: /src/haproxy/src/errors.c:255,1
    - Dst: getpid
      Src: /src/haproxy/src/errors.c:255,1
    - Dst: memvprintf
      Src: /src/haproxy/src/errors.c:256,1
    - Dst: ist
      Src: /src/haproxy/src/errors.c:259,1
    - Dst: generate_usermsgs_ctx_str
      Src: /src/haproxy/src/errors.c:264,1
    - Dst: b_head
      Src: /src/haproxy/src/errors.c:265,1
    - Dst: reset_usermsgs_ctx
      Src: /src/haproxy/src/errors.c:266,1
    - Dst: likely
      Src: /src/haproxy/src/errors.c:273,1
    - Dst: ist
      Src: /src/haproxy/src/errors.c:276,1
    - Dst: ist
      Src: /src/haproxy/src/errors.c:277,1
    - Dst: ring_write
      Src: /src/haproxy/src/errors.c:280,1
    - Dst: usermsgs_put
      Src: /src/haproxy/src/errors.c:282,1
    - Dst: usermsgs_put
      Src: /src/haproxy/src/errors.c:285,1
    - Dst: fprintf
      Src: /src/haproxy/src/errors.c:288,1
    - Dst: fflush
      Src: /src/haproxy/src/errors.c:289,1
    - Dst: free
      Src: /src/haproxy/src/errors.c:292,1
    - Dst: free
      Src: /src/haproxy/src/errors.c:293,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - use_usermsgs_ctx
    - label
    - fmt
    - argp
    argTypes:
    - int
    - char*
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 294
      start: 240
    functionDepth: 5
    functionLinenumber: 240
    functionLinenumberEnd: 294
    functionName: print_message
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 0
    functionsReached:
    - memprintf
    - usermsgs_put
    - strlen
    - strncpy
    - getpid
    - ist
    - b_head
    - ring_write
    - free
    - likely
    - fflush
    - generate_usermsgs_ctx_str
    - fprintf
    - reset_usermsgs_ctx
    - memvprintf
    linkageType: ''
    returnType: void
    signature: print_message(int use_usermsgs_ctx, const char *label, const char *fmt,
      va_list argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/errors.c:299,1
    - Dst: print_message
      Src: /src/haproxy/src/errors.c:300,1
    - Dst: va_end
      Src: /src/haproxy/src/errors.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - use_usermsgs_ctx
    - label
    - fmt
    argTypes:
    - int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 6
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: print_message_args
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 0
    functionsReached:
    - va_end
    - print_message
    - va_start
    linkageType: ''
    returnType: void
    signature: print_message_args(int use_usermsgs_ctx, const char *label, const char
      *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: print_message_args
      Src: /src/haproxy/src/errors.c:314,1
    - Dst: print_message_args
      Src: /src/haproxy/src/errors.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 7
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: warn_exec_path
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 0
    functionsReached:
    - print_message_args
    linkageType: ''
    returnType: void
    signature: warn_exec_path()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: warn_exec_path
      Src: /src/haproxy/src/errors.c:327,1
    - Dst: va_start
      Src: /src/haproxy/src/errors.c:328,1
    - Dst: print_message
      Src: /src/haproxy/src/errors.c:329,1
    - Dst: va_end
      Src: /src/haproxy/src/errors.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 331
      start: 323
    functionDepth: 8
    functionLinenumber: 323
    functionLinenumberEnd: 331
    functionName: ha_alert
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 170
    functionsReached:
    - va_end
    - warn_exec_path
    - print_message
    - va_start
    linkageType: ''
    returnType: void
    signature: ha_alert(const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/errors.c:341,1
    - Dst: warn_exec_path
      Src: /src/haproxy/src/errors.c:343,1
    - Dst: va_start
      Src: /src/haproxy/src/errors.c:344,1
    - Dst: print_message
      Src: /src/haproxy/src/errors.c:345,1
    - Dst: va_end
      Src: /src/haproxy/src/errors.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 8
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: ha_warning
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 106
    functionsReached:
    - va_end
    - HA_ATOMIC_INC
    - print_message
    - warn_exec_path
    - va_start
    linkageType: ''
    returnType: void
    signature: ha_warning(const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/errors.c:356,1
    - Dst: warn_exec_path
      Src: /src/haproxy/src/errors.c:358,1
    - Dst: print_message
      Src: /src/haproxy/src/errors.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - argp
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 360
      start: 353
    functionDepth: 8
    functionLinenumber: 353
    functionLinenumberEnd: 360
    functionName: _ha_vdiag_warning
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 1
    functionsReached:
    - HA_ATOMIC_INC
    - warn_exec_path
    - print_message
    linkageType: ''
    returnType: void
    signature: _ha_vdiag_warning(const char *fmt, va_list argp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/errors.c:370,1
    - Dst: _ha_vdiag_warning
      Src: /src/haproxy/src/errors.c:371,1
    - Dst: va_end
      Src: /src/haproxy/src/errors.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 9
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: _ha_diag_warning
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 1
    functionsReached:
    - va_end
    - va_start
    - _ha_vdiag_warning
    linkageType: ''
    returnType: void
    signature: _ha_diag_warning(const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/errors.c:383,1
    - Dst: _ha_vdiag_warning
      Src: /src/haproxy/src/errors.c:384,1
    - Dst: va_end
      Src: /src/haproxy/src/errors.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 387
      start: 378
    functionDepth: 9
    functionLinenumber: 378
    functionLinenumberEnd: 387
    functionName: ha_diag_warning
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 8
    functionsReached:
    - va_end
    - va_start
    - _ha_vdiag_warning
    linkageType: ''
    returnType: void
    signature: ha_diag_warning(const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/errors.c:396,1
    - Dst: print_message
      Src: /src/haproxy/src/errors.c:397,1
    - Dst: va_end
      Src: /src/haproxy/src/errors.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 399
      start: 392
    functionDepth: 6
    functionLinenumber: 392
    functionLinenumberEnd: 399
    functionName: ha_notice
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 9
    functionsReached:
    - va_end
    - print_message
    - va_start
    linkageType: ''
    returnType: void
    signature: ha_notice(const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/src/errors.c:409,1
    - Dst: vfprintf
      Src: /src/haproxy/src/errors.c:410,1
    - Dst: fflush
      Src: /src/haproxy/src/errors.c:411,1
    - Dst: va_end
      Src: /src/haproxy/src/errors.c:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - out
    - fmt
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 414
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 414
    functionName: qfprintf
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 6
    functionsReached:
    - va_end
    - fflush
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: qfprintf(FILE *out, const char *fmt, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/errors.c:420,1
    - Dst: cli_msg
      Src: /src/haproxy/src/errors.c:424,1
    - Dst: ring_attach_cli
      Src: /src/haproxy/src/errors.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 427
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 427
    functionName: cli_parse_show_startup_logs
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 0
    functionsReached:
    - cli_msg
    - ring_attach_cli
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_show_startup_logs(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ring_free
      Src: /src/haproxy/src/errors.c:440,1
    - Dst: _HA_ATOMIC_XCHG
      Src: /src/haproxy/src/errors.c:440,1
    - Dst: ha_free
      Src: /src/haproxy/src/errors.c:441,1
    - Dst: ha_free
      Src: /src/haproxy/src/errors.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 443
    functionName: deinit_errors_buffers
    functionSourceFile: /src/haproxy/src/errors.c
    functionUses: 0
    functionsReached:
    - ha_free
    - ring_free
    - _HA_ATOMIC_XCHG
    linkageType: ''
    returnType: void
    signature: deinit_errors_buffers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:143,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:146,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:149,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:152,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:155,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:158,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:161,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:166,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:169,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:172,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:175,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:178,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:181,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:184,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:187,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:190,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:193,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:196,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:199,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:202,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:205,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:208,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:211,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:214,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:219,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:222,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/h3_stats.c:225,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 94
    argCount: 3
    argNames:
    - data
    - stats
    - selected_field
    argTypes:
    - void*
    - struct field*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 240
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 240
    functionName: h3_fill_stats
    functionSourceFile: /src/haproxy/src/h3_stats.c
    functionUses: 0
    functionsReached:
    - mkf_u64
    linkageType: ''
    returnType: int
    signature: h3_fill_stats(void *data, struct field *stats, unsigned int *selected_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:259,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:262,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:265,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:268,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:271,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:274,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:277,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:280,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:283,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:286,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:289,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:292,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:295,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:298,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:301,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:304,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:307,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:310,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:313,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:316,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 2
    argNames:
    - ctrs
    - error_code
    argTypes:
    - struct h3_counters*
    - int
    constantsTouched: []
    func_position:
      end: 322
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 322
    functionName: h3_inc_err_cnt
    functionSourceFile: /src/haproxy/src/h3_stats.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    linkageType: ''
    returnType: void
    signature: h3_inc_err_cnt(struct h3_counters *ctrs, int error_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:328,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:331,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:334,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:337,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:340,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:343,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/h3_stats.c:346,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - ctrs
    - frm_type
    argTypes:
    - struct h3_counters*
    - int
    constantsTouched: []
    func_position:
      end: 351
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 351
    functionName: h3_inc_frame_type_cnt
    functionSourceFile: /src/haproxy/src/h3_stats.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    linkageType: ''
    returnType: void
    signature: h3_inc_frame_type_cnt(struct h3_counters *ctrs, int frm_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: get_be32
    functionSourceFile: /src/haproxy/src/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: get_be32(const void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - value
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: put_be32
    functionSourceFile: /src/haproxy/src/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: put_be32(void *ptr, uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:155,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:156,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:157,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:158,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:159,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:160,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:161,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:162,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:163,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:164,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:165,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:166,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:167,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:168,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:169,1
    - Dst: T_0_15
      Src: /src/haproxy/src/sha1.c:170,1
    - Dst: T_16_19
      Src: /src/haproxy/src/sha1.c:173,1
    - Dst: T_16_19
      Src: /src/haproxy/src/sha1.c:174,1
    - Dst: T_16_19
      Src: /src/haproxy/src/sha1.c:175,1
    - Dst: T_16_19
      Src: /src/haproxy/src/sha1.c:176,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:179,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:180,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:181,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:182,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:183,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:184,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:185,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:186,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:187,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:188,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:189,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:190,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:191,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:192,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:193,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:194,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:195,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:196,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:197,1
    - Dst: T_20_39
      Src: /src/haproxy/src/sha1.c:198,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:201,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:202,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:203,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:204,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:205,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:206,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:207,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:208,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:209,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:210,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:211,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:212,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:213,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:214,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:215,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:216,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:217,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:218,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:219,1
    - Dst: T_40_59
      Src: /src/haproxy/src/sha1.c:220,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:223,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:224,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:225,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:226,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:227,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:228,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:229,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:230,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:231,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:232,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:233,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:234,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:235,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:236,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:237,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:238,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:239,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:240,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:241,1
    - Dst: T_60_79
      Src: /src/haproxy/src/sha1.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 91
    argCount: 2
    argNames:
    - ctx
    - block
    argTypes:
    - blk_SHA_CTX*
    - void*
    constantsTouched: []
    func_position:
      end: 249
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 249
    functionName: blk_SHA1_Block
    functionSourceFile: /src/haproxy/src/sha1.c
    functionUses: 0
    functionsReached:
    - T_60_79
    - T_20_39
    - T_0_15
    - T_40_59
    - T_16_19
    linkageType: ''
    returnType: void
    signature: blk_SHA1_Block(blk_SHA_CTX *ctx, const void *block)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - blk_SHA_CTX*
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: blk_SHA1_Init
    functionSourceFile: /src/haproxy/src/sha1.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: blk_SHA1_Init(blk_SHA_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/src/sha1.c:274,1
    - Dst: blk_SHA1_Block
      Src: /src/haproxy/src/sha1.c:280,1
    - Dst: blk_SHA1_Block
      Src: /src/haproxy/src/sha1.c:283,1
    - Dst: memcpy
      Src: /src/haproxy/src/sha1.c:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - data
    - len
    argTypes:
    - blk_SHA_CTX*
    - void*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 289
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 289
    functionName: blk_SHA1_Update
    functionSourceFile: /src/haproxy/src/sha1.c
    functionUses: 2
    functionsReached:
    - memcpy
    - blk_SHA1_Block
    linkageType: ''
    returnType: void
    signature: blk_SHA1_Update(blk_SHA_CTX *ctx, const void *data, unsigned long len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/haproxy/src/sha1.c:298,1
    - Dst: htonl
      Src: /src/haproxy/src/sha1.c:299,1
    - Dst: blk_SHA1_Update
      Src: /src/haproxy/src/sha1.c:302,1
    - Dst: blk_SHA1_Update
      Src: /src/haproxy/src/sha1.c:303,1
    - Dst: put_be32
      Src: /src/haproxy/src/sha1.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - hashout
    - ctx
    argTypes:
    - unsigned char[]
    - blk_SHA_CTX*
    constantsTouched: []
    func_position:
      end: 308
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 308
    functionName: blk_SHA1_Final
    functionSourceFile: /src/haproxy/src/sha1.c
    functionUses: 2
    functionsReached:
    - put_be32
    - htonl
    - blk_SHA1_Update
    linkageType: ''
    returnType: void
    signature: blk_SHA1_Final(unsigned char hashout[20], blk_SHA_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/haproxy.c:281,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/haproxy.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - kw
    - file
    - linenum
    - errmsg
    argTypes:
    - struct cfg_keyword*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 289
      start: 276
    functionDepth: 5
    functionLinenumber: 276
    functionLinenumberEnd: 289
    functionName: check_kw_experimental
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 1
    functionsReached:
    - memprintf
    - mark_tainted
    linkageType: ''
    returnType: int
    signature: "check_kw_experimental(struct cfg_keyword *kw, const char *file, int
      linenum,\n                          char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/haproxy.c:316,1
    - Dst: fprintf
      Src: /src/haproxy/src/haproxy.c:318,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:319,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/haproxy.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - str
    - must_free
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 324
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 324
    functionName: hap_register_build_opts
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 7
    functionsReached:
    - calloc
    - LIST_APPEND
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: hap_register_build_opts(const char *str, int must_free)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/haproxy.c:335,1
    - Dst: container_of
      Src: /src/haproxy/src/haproxy.c:338,1
    - Dst: container_of
      Src: /src/haproxy/src/haproxy.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 348
    functionName: hap_get_next_build_opt
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 1
    functionsReached:
    - container_of
    linkageType: ''
    returnType: char
    signature: '**hap_get_next_build_opt(const char **curr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/haproxy.c:362,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/haproxy.c:366,1
    - Dst: strchr
      Src: /src/haproxy/src/haproxy.c:375,1
    - Dst: strcmp
      Src: /src/haproxy/src/haproxy.c:381,1
    - Dst: snprintf
      Src: /src/haproxy/src/haproxy.c:399,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:402,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 406
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 406
    functionName: hap_register_feature
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - malloc
    - strlcpy2
    - ha_free
    - strcmp
    - snprintf
    - strchr
    linkageType: ''
    returnType: void
    signature: hap_register_feature(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/haproxy.c:417,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/haproxy.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 421
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 421
    functionName: hap_register_unittest
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - calloc
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: hap_register_unittest(const char *name, int (*fct)(int argc, char **argv))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/haproxy/src/haproxy.c:471,1
    - Dst: strtol
      Src: /src/haproxy/src/haproxy.c:481,1
    - Dst: strtol
      Src: /src/haproxy/src/haproxy.c:491,1
    - Dst: strtol
      Src: /src/haproxy/src/haproxy.c:501,1
    - Dst: strncmp
      Src: /src/haproxy/src/haproxy.c:514,1
    - Dst: strncmp
      Src: /src/haproxy/src/haproxy.c:515,1
    - Dst: strncmp
      Src: /src/haproxy/src/haproxy.c:516,1
    - Dst: strtol
      Src: /src/haproxy/src/haproxy.c:521,1
    - Dst: strrchr
      Src: /src/haproxy/src/haproxy.c:530,1
    - Dst: strtol
      Src: /src/haproxy/src/haproxy.c:535,1
    - Dst: strtol
      Src: /src/haproxy/src/haproxy.c:542,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 2
    argNames:
    - version
    - value
    argTypes:
    - char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 547
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 547
    functionName: split_version
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - strtol
    - strncmp
    - strrchr
    linkageType: ''
    returnType: int
    signature: split_version(const char *version, unsigned int *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: split_version
      Src: /src/haproxy/src/haproxy.c:566,1
    - Dst: split_version
      Src: /src/haproxy/src/haproxy.c:568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - version
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 579
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 579
    functionName: compare_current_version
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 1
    functionsReached:
    - split_version
    linkageType: ''
    returnType: int
    signature: compare_current_version(const char *version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:585,1
    - Dst: strlen
      Src: /src/haproxy/src/haproxy.c:588,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/haproxy.c:601,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:603,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:605,1
    - Dst: uname
      Src: /src/haproxy/src/haproxy.c:608,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:609,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 611
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 611
    functionName: display_version
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 1
    functionsReached:
    - printf
    - strlen
    - strlcpy2
    - uname
    linkageType: ''
    returnType: void
    signature: display_version()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:617,1
    - Dst: hap_get_next_build_opt
      Src: /src/haproxy/src/haproxy.c:625,1
    - Dst: puts
      Src: /src/haproxy/src/haproxy.c:625,1
    - Dst: putchar
      Src: /src/haproxy/src/haproxy.c:628,1
    - Dst: list_unittests
      Src: /src/haproxy/src/haproxy.c:631,1
    - Dst: putchar
      Src: /src/haproxy/src/haproxy.c:632,1
    - Dst: list_pollers
      Src: /src/haproxy/src/haproxy.c:634,1
    - Dst: putchar
      Src: /src/haproxy/src/haproxy.c:635,1
    - Dst: list_mux_proto
      Src: /src/haproxy/src/haproxy.c:636,1
    - Dst: putchar
      Src: /src/haproxy/src/haproxy.c:637,1
    - Dst: list_services
      Src: /src/haproxy/src/haproxy.c:638,1
    - Dst: putchar
      Src: /src/haproxy/src/haproxy.c:639,1
    - Dst: list_filters
      Src: /src/haproxy/src/haproxy.c:640,1
    - Dst: putchar
      Src: /src/haproxy/src/haproxy.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 642
      start: 613
    functionDepth: 7
    functionLinenumber: 613
    functionLinenumberEnd: 642
    functionName: display_build_opts
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - putchar
    - hap_get_next_build_opt
    - printf
    - list_mux_proto
    - list_services
    - list_filters
    - puts
    - list_unittests
    - list_pollers
    linkageType: ''
    returnType: void
    signature: display_build_opts()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: display_version
      Src: /src/haproxy/src/haproxy.c:649,1
    - Dst: fprintf
      Src: /src/haproxy/src/haproxy.c:650,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 712
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 712
    functionName: usage
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 6
    functionsReached:
    - display_version
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: usage(char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/haproxy/src/haproxy.c:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 731
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 731
    functionName: tell_old_pids
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 1
    functionsReached:
    - kill
    linkageType: ''
    returnType: int
    signature: tell_old_pids(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pid
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 751
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 751
    functionName: delete_oldpid
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: delete_oldpid(int pid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 759
      start: 756
    functionDepth: 9
    functionLinenumber: 756
    functionLinenumberEnd: 759
    functionName: exit_on_failure
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    linkageType: ''
    returnType: void
    signature: exit_on_failure()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: soft_stop
      Src: /src/haproxy/src/haproxy.c:769,1
    - Dst: signal_unregister_handler
      Src: /src/haproxy/src/haproxy.c:770,1
    - Dst: pool_gc
      Src: /src/haproxy/src/haproxy.c:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sh
    argTypes:
    - struct sig_handler*
    constantsTouched: []
    func_position:
      end: 772
      start: 767
    functionDepth: 3
    functionLinenumber: 767
    functionLinenumberEnd: 772
    functionName: sig_soft_stop
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - signal_unregister_handler
    - pool_gc
    - soft_stop
    linkageType: ''
    returnType: void
    signature: sig_soft_stop(struct sig_handler *sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protocol_pause_all
      Src: /src/haproxy/src/haproxy.c:779,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:781,1
    - Dst: send_log
      Src: /src/haproxy/src/haproxy.c:782,1
    - Dst: soft_stop
      Src: /src/haproxy/src/haproxy.c:783,1
    - Dst: pool_gc
      Src: /src/haproxy/src/haproxy.c:785,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sh
    argTypes:
    - struct sig_handler*
    constantsTouched: []
    func_position:
      end: 786
      start: 777
    functionDepth: 10
    functionLinenumber: 777
    functionLinenumberEnd: 786
    functionName: sig_pause
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - protocol_pause_all
    - send_log
    - ha_warning
    - soft_stop
    - pool_gc
    linkageType: ''
    returnType: void
    signature: sig_pause(struct sig_handler *sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protocol_resume_all
      Src: /src/haproxy/src/haproxy.c:793,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:795,1
    - Dst: send_log
      Src: /src/haproxy/src/haproxy.c:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sh
    argTypes:
    - struct sig_handler*
    constantsTouched: []
    func_position:
      end: 798
      start: 791
    functionDepth: 10
    functionLinenumber: 791
    functionLinenumberEnd: 798
    functionName: sig_listen
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - send_log
    - protocol_resume_all
    linkageType: ''
    returnType: void
    signature: sig_listen(struct sig_handler *sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:807,1
    - Dst: send_log
      Src: /src/haproxy/src/haproxy.c:811,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/haproxy.c:813,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:818,1
    - Dst: send_log
      Src: /src/haproxy/src/haproxy.c:819,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/haproxy.c:825,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/haproxy.c:830,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/haproxy.c:836,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:842,1
    - Dst: send_log
      Src: /src/haproxy/src/haproxy.c:843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - sh
    argTypes:
    - struct sig_handler*
    constantsTouched: []
    func_position:
      end: 847
      start: 803
    functionDepth: 10
    functionLinenumber: 803
    functionLinenumberEnd: 847
    functionName: sig_dump_state
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - send_log
    - chunk_printf
    linkageType: ''
    returnType: void
    signature: sig_dump_state(struct sig_handler *sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump_pools
      Src: /src/haproxy/src/haproxy.c:852,1
    - Dst: pool_gc
      Src: /src/haproxy/src/haproxy.c:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sh
    argTypes:
    - struct sig_handler*
    constantsTouched: []
    func_position:
      end: 854
      start: 849
    functionDepth: 3
    functionLinenumber: 849
    functionLinenumberEnd: 854
    functionName: dump
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 11
    functionsReached:
    - pool_gc
    - dump_pools
    linkageType: ''
    returnType: void
    signature: dump(struct sig_handler *sh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/haproxy/src/haproxy.c:866,1
    - Dst: fclose
      Src: /src/haproxy/src/haproxy.c:869,1
    - Dst: fclose
      Src: /src/haproxy/src/haproxy.c:870,1
    - Dst: fclose
      Src: /src/haproxy/src/haproxy.c:871,1
    - Dst: dup2
      Src: /src/haproxy/src/haproxy.c:873,1
    - Dst: dup2
      Src: /src/haproxy/src/haproxy.c:874,1
    - Dst: dup2
      Src: /src/haproxy/src/haproxy.c:875,1
    - Dst: close
      Src: /src/haproxy/src/haproxy.c:877,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:881,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 883
      start: 863
    functionDepth: 9
    functionLinenumber: 863
    functionLinenumberEnd: 883
    functionName: stdio_quiet
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - fclose
    - dup2
    - open
    - exit
    - close
    linkageType: ''
    returnType: void
    signature: stdio_quiet(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:898,1
    - Dst: stat
      Src: /src/haproxy/src/haproxy.c:904,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:905,1
    - Dst: strerror
      Src: /src/haproxy/src/haproxy.c:907,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:908,1
    - Dst: S_ISDIR
      Src: /src/haproxy/src/haproxy.c:911,1
    - Dst: scandir
      Src: /src/haproxy/src/haproxy.c:916,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:918,1
    - Dst: strerror
      Src: /src/haproxy/src/haproxy.c:920,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:921,1
    - Dst: memprintf
      Src: /src/haproxy/src/haproxy.c:937,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:938,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:940,1
    - Dst: stat
      Src: /src/haproxy/src/haproxy.c:943,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:944,1
    - Dst: strerror
      Src: /src/haproxy/src/haproxy.c:946,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:947,1
    - Dst: S_ISREG
      Src: /src/haproxy/src/haproxy.c:953,1
    - Dst: list_append_cfgfile
      Src: /src/haproxy/src/haproxy.c:956,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:957,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:960,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:964,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:965,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:968,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:971,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:972,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:973,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:976,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 977
      start: 893
    functionDepth: 9
    functionLinenumber: 893
    functionLinenumberEnd: 977
    functionName: cfgfiles_expand_directories
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - memprintf
    - strerror
    - scandir
    - stat
    - list_for_each_entry_safe
    - LIST_DELETE
    - free
    - list_append_cfgfile
    - exit
    - S_ISREG
    - S_ISDIR
    linkageType: ''
    returnType: void
    signature: cfgfiles_expand_directories(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfgfiles_expand_directories
      Src: /src/haproxy/src/haproxy.c:989,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/haproxy.c:991,1
    - Dst: usage
      Src: /src/haproxy/src/haproxy.c:992,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:994,1
    - Dst: load_cfg_in_mem
      Src: /src/haproxy/src/haproxy.c:996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 984
    functionDepth: 10
    functionLinenumber: 984
    functionLinenumberEnd: 1004
    functionName: load_cfg
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_safe
    - LIST_ISEMPTY
    - usage
    - cfgfiles_expand_directories
    - load_cfg_in_mem
    linkageType: ''
    returnType: int
    signature: load_cfg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/haproxy/src/haproxy.c:1022,1
    - Dst: setenv
      Src: /src/haproxy/src/haproxy.c:1023,1
    - Dst: setenv
      Src: /src/haproxy/src/haproxy.c:1024,1
    - Dst: setenv
      Src: /src/haproxy/src/haproxy.c:1025,1
    - Dst: setenv
      Src: /src/haproxy/src/haproxy.c:1026,1
    - Dst: setenv
      Src: /src/haproxy/src/haproxy.c:1027,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:1028,1
    - Dst: memprintf
      Src: /src/haproxy/src/haproxy.c:1034,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1038,1
    - Dst: parse_cfg
      Src: /src/haproxy/src/haproxy.c:1042,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1047,1
    - Dst: unsetenv
      Src: /src/haproxy/src/haproxy.c:1055,1
    - Dst: unsetenv
      Src: /src/haproxy/src/haproxy.c:1056,1
    - Dst: unsetenv
      Src: /src/haproxy/src/haproxy.c:1057,1
    - Dst: unsetenv
      Src: /src/haproxy/src/haproxy.c:1058,1
    - Dst: unsetenv
      Src: /src/haproxy/src/haproxy.c:1059,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1065,1
    - Dst: setenv
      Src: /src/haproxy/src/haproxy.c:1069,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:1070,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:1075,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1012
    functionDepth: 9
    functionLinenumber: 1012
    functionLinenumberEnd: 1077
    functionName: read_cfg
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - parse_cfg
    - ha_alert
    - memprintf
    - unsetenv
    - list_for_each_entry
    - setenv
    - free
    linkageType: ''
    returnType: int
    signature: read_cfg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/haproxy.c:1089,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:1091,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:1182,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1085
    functionDepth: 9
    functionLinenumber: 1085
    functionLinenumberEnd: 1184
    functionName: copy_argv
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - calloc
    - free
    linkageType: ''
    returnType: char
    signature: '**copy_argv(int argc, char **argv)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/haproxy/src/haproxy.c:1214,1
    - Dst: write_u32
      Src: /src/haproxy/src/haproxy.c:1215,1
    - Dst: write_u32
      Src: /src/haproxy/src/haproxy.c:1216,1
    - Dst: write_u16
      Src: /src/haproxy/src/haproxy.c:1219,1
    - Dst: getpid
      Src: /src/haproxy/src/haproxy.c:1219,1
    - Dst: write_u16
      Src: /src/haproxy/src/haproxy.c:1220,1
    - Dst: getppid
      Src: /src/haproxy/src/haproxy.c:1220,1
    - Dst: open
      Src: /src/haproxy/src/haproxy.c:1223,1
    - Dst: read
      Src: /src/haproxy/src/haproxy.c:1225,1
    - Dst: close
      Src: /src/haproxy/src/haproxy.c:1228,1
    - Dst: RAND_bytes
      Src: /src/haproxy/src/haproxy.c:1233,1
    - Dst: write_u32
      Src: /src/haproxy/src/haproxy.c:1239,1
    - Dst: random
      Src: /src/haproxy/src/haproxy.c:1239,1
    - Dst: memcpy
      Src: /src/haproxy/src/haproxy.c:1245,1
    - Dst: memcpy
      Src: /src/haproxy/src/haproxy.c:1249,1
    - Dst: gettimeofday
      Src: /src/haproxy/src/haproxy.c:1252,1
    - Dst: write_u32
      Src: /src/haproxy/src/haproxy.c:1253,1
    - Dst: strncpy
      Src: /src/haproxy/src/haproxy.c:1260,1
    - Dst: strlen
      Src: /src/haproxy/src/haproxy.c:1261,1
    - Dst: memset
      Src: /src/haproxy/src/haproxy.c:1266,1
    - Dst: blk_SHA1_Init
      Src: /src/haproxy/src/haproxy.c:1267,1
    - Dst: blk_SHA1_Update
      Src: /src/haproxy/src/haproxy.c:1268,1
    - Dst: blk_SHA1_Final
      Src: /src/haproxy/src/haproxy.c:1269,1
    - Dst: srandom
      Src: /src/haproxy/src/haproxy.c:1271,1
    - Dst: read_u32
      Src: /src/haproxy/src/haproxy.c:1271,1
    - Dst: ha_random_seed
      Src: /src/haproxy/src/haproxy.c:1272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 1273
      start: 1203
    functionDepth: 3
    functionLinenumber: 1203
    functionLinenumberEnd: 1273
    functionName: ha_random_boot
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - getpid
    - memset
    - open
    - close
    - getppid
    - gettimeofday
    - blk_SHA1_Update
    - random
    - ha_random_seed
    - srandom
    - RAND_bytes
    - read_u32
    - blk_SHA1_Final
    - strncpy
    - strlen
    - blk_SHA1_Init
    - read
    - write_u32
    - write_u16
    - memcpy
    linkageType: ''
    returnType: void
    signature: ha_random_boot(char *const *argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/haproxy/src/haproxy.c:1293,1
    - Dst: strlen
      Src: /src/haproxy/src/haproxy.c:1295,1
    - Dst: parse_line
      Src: /src/haproxy/src/haproxy.c:1296,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1301,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1302,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1306,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1307,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1311,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1312,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1316,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1317,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1321,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1322,1
    - Dst: strlen
      Src: /src/haproxy/src/haproxy.c:1326,1
    - Dst: cfg_eval_condition
      Src: /src/haproxy/src/haproxy.c:1329,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1333,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1335,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1338,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1280
    functionDepth: 9
    functionLinenumber: 1280
    functionLinenumberEnd: 1339
    functionName: do_check_condition
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - cfg_eval_condition
    - strlen
    - usage
    - parse_line
    - exit
    linkageType: ''
    returnType: void
    signature: do_check_condition()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setenv
      Src: /src/haproxy/src/haproxy.c:1352,1
    - Dst: getenv
      Src: /src/haproxy/src/haproxy.c:1368,1
    - Dst: tzset
      Src: /src/haproxy/src/haproxy.c:1372,1
    - Dst: clock_init_process_date
      Src: /src/haproxy/src/haproxy.c:1373,1
    - Dst: getpid
      Src: /src/haproxy/src/haproxy.c:1376,1
    - Dst: memset
      Src: /src/haproxy/src/haproxy.c:1383,1
    - Dst: gethostname
      Src: /src/haproxy/src/haproxy.c:1384,1
    - Dst: strdup
      Src: /src/haproxy/src/haproxy.c:1386,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1388,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1389,1
    - Dst: strchr
      Src: /src/haproxy/src/haproxy.c:1396,1
    - Dst: strlen
      Src: /src/haproxy/src/haproxy.c:1399,1
    - Dst: strdup
      Src: /src/haproxy/src/haproxy.c:1400,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1402,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1403,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/haproxy.c:1406,1
    - Dst: strdup
      Src: /src/haproxy/src/haproxy.c:1406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1407
      start: 1347
    functionDepth: 9
    functionLinenumber: 1347
    functionLinenumberEnd: 1407
    functionName: init_early
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - tzset
    - exit
    - memset
    - strlen
    - getpid
    - setenv
    - strdup
    - gethostname
    - strchr
    - clock_init_process_date
    - getenv
    - chunk_initlen
    linkageType: ''
    returnType: void
    signature: init_early(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: copy_argv
      Src: /src/haproxy/src/haproxy.c:1454,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1456,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1457,1
    - Dst: display_version
      Src: /src/haproxy/src/haproxy.c:1470,1
    - Dst: display_build_opts
      Src: /src/haproxy/src/haproxy.c:1472,1
    - Dst: deinit_and_exit
      Src: /src/haproxy/src/haproxy.c:1473,1
    - Dst: protocol_clrf_all
      Src: /src/haproxy/src/haproxy.c:1501,1
    - Dst: strchr
      Src: /src/haproxy/src/haproxy.c:1523,1
    - Dst: strcmp
      Src: /src/haproxy/src/haproxy.c:1527,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/haproxy.c:1532,1
    - Dst: atoll
      Src: /src/haproxy/src/haproxy.c:1532,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1545,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1547,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:1548,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1549,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:1551,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:1552,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1570,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:1571,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1572,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1575,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:1576,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1577,1
    - Dst: trace_parse_cmd
      Src: /src/haproxy/src/haproxy.c:1583,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1608,1
    - Dst: usage
      Src: /src/haproxy/src/haproxy.c:1609,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:1612,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1622,1
    - Dst: usage
      Src: /src/haproxy/src/haproxy.c:1623,1
    - Dst: malloc
      Src: /src/haproxy/src/haproxy.c:1625,1
    - Dst: strdup
      Src: /src/haproxy/src/haproxy.c:1625,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1626,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1627,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/haproxy.c:1629,1
    - Dst: realloc
      Src: /src/haproxy/src/haproxy.c:1643,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1645,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1646,1
    - Dst: strtol
      Src: /src/haproxy/src/haproxy.c:1650,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1652,1
    - Dst: strerror
      Src: /src/haproxy/src/haproxy.c:1654,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1655,1
    - Dst: strlen
      Src: /src/haproxy/src/haproxy.c:1656,1
    - Dst: isspace
      Src: /src/haproxy/src/haproxy.c:1657,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1659,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1661,1
    - Dst: usage
      Src: /src/haproxy/src/haproxy.c:1665,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1672,1
    - Dst: usage
      Src: /src/haproxy/src/haproxy.c:1673,1
    - Dst: list_append_cfgfile
      Src: /src/haproxy/src/haproxy.c:1686,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1687,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1690,1
    - Dst: usage
      Src: /src/haproxy/src/haproxy.c:1699,1
    - Dst: atol
      Src: /src/haproxy/src/haproxy.c:1703,1
    - Dst: atol
      Src: /src/haproxy/src/haproxy.c:1704,1
    - Dst: atol
      Src: /src/haproxy/src/haproxy.c:1705,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:1707,1
    - Dst: strdup
      Src: /src/haproxy/src/haproxy.c:1708,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1709,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1710,1
    - Dst: list_append_cfgfile
      Src: /src/haproxy/src/haproxy.c:1715,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1716,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1719,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:1723,1
    - Dst: strdup
      Src: /src/haproxy/src/haproxy.c:1724,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1725,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1726,1
    - Dst: usage
      Src: /src/haproxy/src/haproxy.c:1729,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 222
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1736
      start: 1413
    functionDepth: 10
    functionLinenumber: 1413
    functionLinenumberEnd: 1736
    functionName: init_args
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ha_free
    - ha_warning
    - atoll
    - display_build_opts
    - HA_ATOMIC_STORE
    - strerror
    - protocol_clrf_all
    - strcmp
    - free
    - strtol
    - atol
    - exit
    - realloc
    - printf
    - trace_parse_cmd
    - strlen
    - usage
    - deinit_and_exit
    - strdup
    - list_append_cfgfile
    - strchr
    - LIST_INSERT
    - malloc
    - copy_argv
    - isspace
    - display_version
    linkageType: ''
    returnType: void
    signature: init_args(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/haproxy.c:1749,1
    - Dst: strcmp
      Src: /src/haproxy/src/haproxy.c:1753,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1754,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1755,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1756,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1757,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1758,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1759,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1760,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1761,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1762,1
    - Dst: strcmp
      Src: /src/haproxy/src/haproxy.c:1765,1
    - Dst: strcmp
      Src: /src/haproxy/src/haproxy.c:1769,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1770,1
    - Dst: acl_dump_kwd
      Src: /src/haproxy/src/haproxy.c:1771,1
    - Dst: strcmp
      Src: /src/haproxy/src/haproxy.c:1774,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1775,1
    - Dst: cfg_dump_registered_keywords
      Src: /src/haproxy/src/haproxy.c:1776,1
    - Dst: strcmp
      Src: /src/haproxy/src/haproxy.c:1779,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1780,1
    - Dst: cli_list_keywords
      Src: /src/haproxy/src/haproxy.c:1781,1
    - Dst: strcmp
      Src: /src/haproxy/src/haproxy.c:1784,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1785,1
    - Dst: smp_dump_conv_kw
      Src: /src/haproxy/src/haproxy.c:1786,1
    - Dst: strcmp
      Src: /src/haproxy/src/haproxy.c:1789,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1790,1
    - Dst: flt_dump_kws
      Src: /src/haproxy/src/haproxy.c:1791,1
    - Dst: strcmp
      Src: /src/haproxy/src/haproxy.c:1794,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1795,1
    - Dst: smp_dump_fetch_kw
      Src: /src/haproxy/src/haproxy.c:1796,1
    - Dst: strcmp
      Src: /src/haproxy/src/haproxy.c:1799,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:1800,1
    - Dst: list_services
      Src: /src/haproxy/src/haproxy.c:1801,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1743
    functionDepth: 6
    functionLinenumber: 1743
    functionLinenumberEnd: 1804
    functionName: dump_registered_keywords
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 1
    functionsReached:
    - cli_list_keywords
    - flt_dump_kws
    - printf
    - strcmp
    - acl_dump_kwd
    - list_services
    - cfg_dump_registered_keywords
    - strchr
    - smp_dump_conv_kw
    - smp_dump_fetch_kw
    linkageType: ''
    returnType: void
    signature: dump_registered_keywords(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/haproxy.c:1816,1
    - Dst: ha_random64
      Src: /src/haproxy/src/haproxy.c:1818,1
    - Dst: memcpy
      Src: /src/haproxy/src/haproxy.c:1819,1
    - Dst: ha_random64
      Src: /src/haproxy/src/haproxy.c:1820,1
    - Dst: memcpy
      Src: /src/haproxy/src/haproxy.c:1821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1810
    functionDepth: 2
    functionLinenumber: 1810
    functionLinenumberEnd: 1823
    functionName: generate_random_cluster_secret
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - memcpy
    - BUG_ON
    - ha_random64
    linkageType: ''
    returnType: void
    signature: generate_random_cluster_secret()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/haproxy/src/haproxy.c:1837,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1838,1
    - Dst: strerror
      Src: /src/haproxy/src/haproxy.c:1839,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1841,1
    - Dst: fork
      Src: /src/haproxy/src/haproxy.c:1844,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1847,1
    - Dst: protocol_unbind_all
      Src: /src/haproxy/src/haproxy.c:1848,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1849,1
    - Dst: close
      Src: /src/haproxy/src/haproxy.c:1854,1
    - Dst: setsid
      Src: /src/haproxy/src/haproxy.c:1856,1
    - Dst: close
      Src: /src/haproxy/src/haproxy.c:1861,1
    - Dst: read
      Src: /src/haproxy/src/haproxy.c:1872,1
    - Dst: waitpid
      Src: /src/haproxy/src/haproxy.c:1873,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1875,1
    - Dst: strerror
      Src: /src/haproxy/src/haproxy.c:1876,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1877,1
    - Dst: WIFEXITED
      Src: /src/haproxy/src/haproxy.c:1879,1
    - Dst: WEXITSTATUS
      Src: /src/haproxy/src/haproxy.c:1880,1
    - Dst: WIFSIGNALED
      Src: /src/haproxy/src/haproxy.c:1881,1
    - Dst: WTERMSIG
      Src: /src/haproxy/src/haproxy.c:1882,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1886,1
    - Dst: strsignal
      Src: /src/haproxy/src/haproxy.c:1887,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1891,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1829
    functionDepth: 9
    functionLinenumber: 1829
    functionLinenumberEnd: 1893
    functionName: apply_daemon_mode
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - fork
    - strerror
    - WIFSIGNALED
    - protocol_unbind_all
    - pipe
    - WIFEXITED
    - WTERMSIG
    - strsignal
    - WEXITSTATUS
    - read
    - waitpid
    - exit
    - close
    - setsid
    linkageType: ''
    returnType: void
    signature: apply_daemon_mode()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/haproxy/src/haproxy.c:1900,1
    - Dst: open
      Src: /src/haproxy/src/haproxy.c:1901,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1903,1
    - Dst: snprintf
      Src: /src/haproxy/src/haproxy.c:1906,1
    - Dst: getpid
      Src: /src/haproxy/src/haproxy.c:1906,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/haproxy.c:1907,1
    - Dst: write
      Src: /src/haproxy/src/haproxy.c:1907,1
    - Dst: strlen
      Src: /src/haproxy/src/haproxy.c:1907,1
    - Dst: close
      Src: /src/haproxy/src/haproxy.c:1908,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:1910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1896
    functionDepth: 9
    functionLinenumber: 1896
    functionLinenumberEnd: 1913
    functionName: handle_pidfile
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - DISGUISE
    - write
    - ha_free
    - unlink
    - strlen
    - snprintf
    - getpid
    - open
    - close
    linkageType: ''
    returnType: int
    signature: handle_pidfile(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/haproxy.c:1922,1
    - Dst: sock_get_old_sockets
      Src: /src/haproxy/src/haproxy.c:1923,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1924,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1915
    functionDepth: 9
    functionLinenumber: 1915
    functionLinenumberEnd: 1929
    functionName: get_listeners_fd
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strcmp
    - sock_get_old_sockets
    - exit
    linkageType: ''
    returnType: void
    signature: get_listeners_fd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protocol_bind_all
      Src: /src/haproxy/src/haproxy.c:1943,1
    - Dst: tell_old_pids
      Src: /src/haproxy/src/haproxy.c:1954,1
    - Dst: select
      Src: /src/haproxy/src/haproxy.c:1962,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1967,1
    - Dst: tell_old_pids
      Src: /src/haproxy/src/haproxy.c:1969,1
    - Dst: protocol_unbind_all
      Src: /src/haproxy/src/haproxy.c:1970,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1971,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1931
    functionDepth: 9
    functionLinenumber: 1931
    functionLinenumberEnd: 1973
    functionName: bind_listeners
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - select
    - protocol_unbind_all
    - protocol_bind_all
    - exit
    - tell_old_pids
    linkageType: ''
    returnType: void
    signature: bind_listeners()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wolfSSL_Init
      Src: /src/haproxy/src/haproxy.c:1984,1
    - Dst: wolfSSL_Debugging_ON
      Src: /src/haproxy/src/haproxy.c:1985,1
    - Dst: strncmp
      Src: /src/haproxy/src/haproxy.c:1990,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:1991,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:1992,1
    - Dst: SSL_load_error_strings
      Src: /src/haproxy/src/haproxy.c:2001,1
    - Dst: startup_logs_init
      Src: /src/haproxy/src/haproxy.c:2006,1
    - Dst: init_acl
      Src: /src/haproxy/src/haproxy.c:2008,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2009,1
    - Dst: hlua_init
      Src: /src/haproxy/src/haproxy.c:2012,1
    - Dst: do_check_condition
      Src: /src/haproxy/src/haproxy.c:2022,1
    - Dst: chdir
      Src: /src/haproxy/src/haproxy.c:2024,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2025,1
    - Dst: strerror
      Src: /src/haproxy/src/haproxy.c:2025,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2026,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 1980
    functionDepth: 10
    functionLinenumber: 1980
    functionLinenumberEnd: 2028
    functionName: step_init_1
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strerror
    - strncmp
    - SSL_load_error_strings
    - wolfSSL_Debugging_ON
    - startup_logs_init
    - init_acl
    - chdir
    - exit
    - wolfSSL_Init
    - hlua_init
    - do_check_condition
    linkageType: ''
    returnType: void
    signature: step_init_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proxy_destroy_all_unref_defaults
      Src: /src/haproxy/src/haproxy.c:2047,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:2049,1
    - Dst: struct pre_check_fct*::fct
      Src: /src/haproxy/src/haproxy.c:2050,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2053,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2054,1
    - Dst: clock_update_date
      Src: /src/haproxy/src/haproxy.c:2060,1
    - Dst: clock_adjust_now_offset
      Src: /src/haproxy/src/haproxy.c:2061,1
    - Dst: cpu_detect_usable
      Src: /src/haproxy/src/haproxy.c:2068,1
    - Dst: cpu_detect_topology
      Src: /src/haproxy/src/haproxy.c:2071,1
    - Dst: cpu_fixup_topology
      Src: /src/haproxy/src/haproxy.c:2074,1
    - Dst: cpu_compose_clusters
      Src: /src/haproxy/src/haproxy.c:2077,1
    - Dst: cpu_refine_cpusets
      Src: /src/haproxy/src/haproxy.c:2080,1
    - Dst: thread_detect_count
      Src: /src/haproxy/src/haproxy.c:2084,1
    - Dst: check_config_validity
      Src: /src/haproxy/src/haproxy.c:2087,1
    - Dst: chdir
      Src: /src/haproxy/src/haproxy.c:2088,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2089,1
    - Dst: strerror
      Src: /src/haproxy/src/haproxy.c:2089,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2090,1
    - Dst: clock_update_date
      Src: /src/haproxy/src/haproxy.c:2094,1
    - Dst: clock_adjust_now_offset
      Src: /src/haproxy/src/haproxy.c:2095,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:2106,1
    - Dst: struct post_server_check_fct*::fct
      Src: /src/haproxy/src/haproxy.c:2108,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:2110,1
    - Dst: struct post_proxy_check_fct*::fct
      Src: /src/haproxy/src/haproxy.c:2111,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2115,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2116,1
    - Dst: pattern_finalize_config
      Src: /src/haproxy/src/haproxy.c:2119,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2121,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2122,1
    - Dst: netns_init
      Src: /src/haproxy/src/haproxy.c:2129,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2131,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2132,1
    - Dst: thread_detect_binding_discrepancies
      Src: /src/haproxy/src/haproxy.c:2136,1
    - Dst: thread_detect_more_than_cpus
      Src: /src/haproxy/src/haproxy.c:2137,1
    - Dst: apply_server_state
      Src: /src/haproxy/src/haproxy.c:2140,1
    - Dst: apply_stats_file
      Src: /src/haproxy/src/haproxy.c:2143,1
    - Dst: srv_compute_all_admin_states
      Src: /src/haproxy/src/haproxy.c:2146,1
    - Dst: srv_init_addr
      Src: /src/haproxy/src/haproxy.c:2149,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2151,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2152,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2156,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2157,1
    - Dst: qfprintf
      Src: /src/haproxy/src/haproxy.c:2162,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/haproxy.c:2163,1
    - Dst: dump_libs
      Src: /src/haproxy/src/haproxy.c:2164,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:2165,1
    - Dst: dump_registered_keywords
      Src: /src/haproxy/src/haproxy.c:2170,1
    - Dst: cfg_run_diagnostics
      Src: /src/haproxy/src/haproxy.c:2173,1
    - Dst: qfprintf
      Src: /src/haproxy/src/haproxy.c:2181,1
    - Dst: qfprintf
      Src: /src/haproxy/src/haproxy.c:2201,1
    - Dst: deinit_and_exit
      Src: /src/haproxy/src/haproxy.c:2202,1
    - Dst: qfprintf
      Src: /src/haproxy/src/haproxy.c:2204,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2205,1
    - Dst: deinit_and_exit
      Src: /src/haproxy/src/haproxy.c:2209,1
    - Dst: ssl_initialize_random
      Src: /src/haproxy/src/haproxy.c:2217,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2218,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2219,1
    - Dst: ha_random_boot
      Src: /src/haproxy/src/haproxy.c:2222,1
    - Dst: init_buffer
      Src: /src/haproxy/src/haproxy.c:2225,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:2227,1
    - Dst: struct post_check_fct*::fct
      Src: /src/haproxy/src/haproxy.c:2228,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2230,1
    - Dst: set_global_maxconn
      Src: /src/haproxy/src/haproxy.c:2253,1
    - Dst: compute_ideal_maxsock
      Src: /src/haproxy/src/haproxy.c:2254,1
    - Dst: compute_ideal_maxpipes
      Src: /src/haproxy/src/haproxy.c:2257,1
    - Dst: proxy_adjust_all_maxconn
      Src: /src/haproxy/src/haproxy.c:2263,1
    - Dst: init_trash_buffers
      Src: /src/haproxy/src/haproxy.c:2287,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2288,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2289,1
    - Dst: init_log_buffers
      Src: /src/haproxy/src/haproxy.c:2292,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2293,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2294,1
    - Dst: generate_random_cluster_secret
      Src: /src/haproxy/src/haproxy.c:2298,1
    - Dst: disable_poller
      Src: /src/haproxy/src/haproxy.c:2306,1
    - Dst: disable_poller
      Src: /src/haproxy/src/haproxy.c:2309,1
    - Dst: disable_poller
      Src: /src/haproxy/src/haproxy.c:2312,1
    - Dst: disable_poller
      Src: /src/haproxy/src/haproxy.c:2315,1
    - Dst: disable_poller
      Src: /src/haproxy/src/haproxy.c:2318,1
    - Dst: list_pollers
      Src: /src/haproxy/src/haproxy.c:2323,1
    - Dst: fprintf
      Src: /src/haproxy/src/haproxy.c:2324,1
    - Dst: list_filters
      Src: /src/haproxy/src/haproxy.c:2325,1
    - Dst: init_pollers
      Src: /src/haproxy/src/haproxy.c:2328,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2329,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2340,1
    - Dst: printf
      Src: /src/haproxy/src/haproxy.c:2343,1
    - Dst: strdup
      Src: /src/haproxy/src/haproxy.c:2347,1
    - Dst: stop_proxy
      Src: /src/haproxy/src/haproxy.c:2352,1
    - Dst: hlua_post_init
      Src: /src/haproxy/src/haproxy.c:2355,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2356,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/haproxy.c:2367,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/haproxy.c:2370,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/haproxy.c:2372,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/haproxy.c:2374,1
    - Dst: __has_feature
      Src: /src/haproxy/src/haproxy.c:2376,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/haproxy.c:2377,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/haproxy.c:2380,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/haproxy.c:2381,1
    - Dst: chunk_newstr
      Src: /src/haproxy/src/haproxy.c:2384,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/haproxy.c:2385,1
    - Dst: post_mortem_add_component
      Src: /src/haproxy/src/haproxy.c:2387,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 194
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2388
      start: 2038
    functionDepth: 10
    functionLinenumber: 2038
    functionLinenumberEnd: 2388
    functionName: step_init_2
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - disable_poller
    - chunk_reset
    - thread_detect_binding_discrepancies
    - set_global_maxconn
    - hlua_post_init
    - apply_server_state
    - apply_stats_file
    - list_filters
    - fprintf
    - chunk_newstr
    - proxy_adjust_all_maxconn
    - srv_compute_all_admin_states
    - strerror
    - ha_random_boot
    - cpu_refine_cpusets
    - clock_update_date
    - list_for_each_entry
    - proxy_destroy_all_unref_defaults
    - init_log_buffers
    - srv_init_addr
    - chunk_appendf
    - struct pre_check_fct*::fct
    - thread_detect_count
    - cfg_run_diagnostics
    - ssl_initialize_random
    - chdir
    - generate_random_cluster_secret
    - exit
    - init_pollers
    - printf
    - dump_libs
    - netns_init
    - compute_ideal_maxpipes
    - cpu_detect_topology
    - deinit_and_exit
    - strdup
    - post_mortem_add_component
    - list_pollers
    - struct post_server_check_fct*::fct
    - cpu_fixup_topology
    - cpu_compose_clusters
    - struct post_proxy_check_fct*::fct
    - init_trash_buffers
    - struct post_check_fct*::fct
    - stop_proxy
    - cpu_detect_usable
    - dump_registered_keywords
    - check_config_validity
    - compute_ideal_maxsock
    - pattern_finalize_config
    - __has_feature
    - clock_adjust_now_offset
    - qfprintf
    - init_buffer
    - thread_detect_more_than_cpus
    linkageType: ''
    returnType: void
    signature: step_init_2(int argc, char** argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal_register_fct
      Src: /src/haproxy/src/haproxy.c:2401,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/haproxy.c:2402,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/haproxy.c:2403,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/haproxy.c:2404,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/haproxy.c:2410,1
    - Dst: apply_nofile_limit
      Src: /src/haproxy/src/haproxy.c:2413,1
    - Dst: apply_memory_limit
      Src: /src/haproxy/src/haproxy.c:2414,1
    - Dst: prepare_caps_from_permitted_set
      Src: /src/haproxy/src/haproxy.c:2422,1
    - Dst: geteuid
      Src: /src/haproxy/src/haproxy.c:2422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2398
    functionDepth: 2
    functionLinenumber: 2398
    functionLinenumberEnd: 2424
    functionName: step_init_3
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - geteuid
    - signal_register_fct
    - prepare_caps_from_permitted_set
    - apply_memory_limit
    - apply_nofile_limit
    linkageType: ''
    returnType: void
    signature: step_init_3(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/haproxy/src/haproxy.c:2434,1
    - Dst: stdio_quiet
      Src: /src/haproxy/src/haproxy.c:2444,1
    - Dst: check_nofile_lim_and_prealloc_fd
      Src: /src/haproxy/src/haproxy.c:2455,1
    - Dst: clock_update_date
      Src: /src/haproxy/src/haproxy.c:2458,1
    - Dst: clock_adjust_now_offset
      Src: /src/haproxy/src/haproxy.c:2459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2431
    functionDepth: 10
    functionLinenumber: 2431
    functionLinenumberEnd: 2461
    functionName: step_init_4
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - check_nofile_lim_and_prealloc_fd
    - stdio_quiet
    - clock_update_date
    - clock_adjust_now_offset
    - getenv
    linkageType: ''
    returnType: void
    signature: step_init_4(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:2484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2487
      start: 2467
    functionDepth: 9
    functionLinenumber: 2467
    functionLinenumberEnd: 2487
    functionName: set_verbosity
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_warning
    linkageType: ''
    returnType: void
    signature: set_verbosity(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:2500,1
    - Dst: sd_notify
      Src: /src/haproxy/src/haproxy.c:2506,1
    - Dst: atexit
      Src: /src/haproxy/src/haproxy.c:2511,1
    - Dst: set_verbosity
      Src: /src/haproxy/src/haproxy.c:2512,1
    - Dst: mworker_cli_create_master_proxy
      Src: /src/haproxy/src/haproxy.c:2515,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2516,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2517,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2518,1
    - Dst: mworker_cli_attach_server
      Src: /src/haproxy/src/haproxy.c:2522,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2523,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2524,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2525,1
    - Dst: mworker_create_master_cli
      Src: /src/haproxy/src/haproxy.c:2529,1
    - Dst: step_init_2
      Src: /src/haproxy/src/haproxy.c:2530,1
    - Dst: step_init_3
      Src: /src/haproxy/src/haproxy.c:2531,1
    - Dst: protocol_bind_all
      Src: /src/haproxy/src/haproxy.c:2532,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2533,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2534,1
    - Dst: step_init_4
      Src: /src/haproxy/src/haproxy.c:2537,1
    - Dst: getenv
      Src: /src/haproxy/src/haproxy.c:2543,1
    - Dst: stdio_quiet
      Src: /src/haproxy/src/haproxy.c:2544,1
    - Dst: mworker_run_master
      Src: /src/haproxy/src/haproxy.c:2550,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2551
      start: 2489
    functionDepth: 11
    functionLinenumber: 2489
    functionLinenumberEnd: 2551
    functionName: run_master_in_recovery_mode
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - set_verbosity
    - sd_notify
    - atexit
    - step_init_2
    - mworker_cli_attach_server
    - step_init_3
    - stdio_quiet
    - list_for_each_entry
    - mworker_run_master
    - free
    - protocol_bind_all
    - step_init_4
    - mworker_cli_create_master_proxy
    - mworker_create_master_cli
    - getenv
    - exit
    linkageType: ''
    returnType: void
    signature: run_master_in_recovery_mode(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usermsgs_clr
      Src: /src/haproxy/src/haproxy.c:2562,1
    - Dst: load_cfg
      Src: /src/haproxy/src/haproxy.c:2563,1
    - Dst: getenv
      Src: /src/haproxy/src/haproxy.c:2564,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:2565,1
    - Dst: run_master_in_recovery_mode
      Src: /src/haproxy/src/haproxy.c:2573,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2576,1
    - Dst: read_cfg
      Src: /src/haproxy/src/haproxy.c:2579,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2580,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2581,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2582,1
    - Dst: getenv
      Src: /src/haproxy/src/haproxy.c:2584,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:2585,1
    - Dst: run_master_in_recovery_mode
      Src: /src/haproxy/src/haproxy.c:2593,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2596,1
    - Dst: usermsgs_clr
      Src: /src/haproxy/src/haproxy.c:2598,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/haproxy.c:2602,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2603,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2604,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:2612,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2615,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2617,1
    - Dst: getenv
      Src: /src/haproxy/src/haproxy.c:2621,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:2622,1
    - Dst: run_master_in_recovery_mode
      Src: /src/haproxy/src/haproxy.c:2628,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2630,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2631,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2642
      start: 2554
    functionDepth: 12
    functionLinenumber: 2554
    functionLinenumberEnd: 2642
    functionName: read_cfg_in_discovery_mode
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - exit
    - list_for_each_entry_safe
    - ha_free
    - ha_warning
    - LIST_ISEMPTY
    - list_for_each_entry
    - run_master_in_recovery_mode
    - load_cfg
    - read_cfg
    - getenv
    - usermsgs_clr
    linkageType: ''
    returnType: void
    signature: read_cfg_in_discovery_mode(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protocol_unbind_all
      Src: /src/haproxy/src/haproxy.c:2685,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/haproxy.c:2694,1
    - Dst: unbind_listener
      Src: /src/haproxy/src/haproxy.c:2695,1
    - Dst: deinit_signals
      Src: /src/haproxy/src/haproxy.c:2699,1
    - Dst: free_proxy
      Src: /src/haproxy/src/haproxy.c:2703,1
    - Dst: proxy_destroy_all_unref_defaults
      Src: /src/haproxy/src/haproxy.c:2711,1
    - Dst: userlist_free
      Src: /src/haproxy/src/haproxy.c:2713,1
    - Dst: cfg_unregister_sections
      Src: /src/haproxy/src/haproxy.c:2715,1
    - Dst: deinit_log_buffers
      Src: /src/haproxy/src/haproxy.c:2717,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:2719,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2722,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/haproxy.c:2723,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2724,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2725,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2726,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2727,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2728,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2729,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2730,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2731,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2732,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2733,1
    - Dst: task_destroy
      Src: /src/haproxy/src/haproxy.c:2734,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2737,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/haproxy.c:2738,1
    - Dst: free_logger
      Src: /src/haproxy/src/haproxy.c:2739,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2742,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2743,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:2744,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:2745,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2748,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2750,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:2751,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2752,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2755,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:2756,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2757,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2760,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:2761,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2762,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2765,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:2766,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2767,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2770,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:2771,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2772,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2775,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:2776,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2777,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2780,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:2781,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2782,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2785,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:2786,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2787,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2790,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:2791,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2792,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2795,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:2796,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2797,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2800,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:2801,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2802,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2805,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:2806,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2807,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:2810,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/haproxy.c:2811,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2812,1
    - Dst: vars_prune
      Src: /src/haproxy/src/haproxy.c:2815,1
    - Dst: free_all_file_names
      Src: /src/haproxy/src/haproxy.c:2816,1
    - Dst: pool_destroy_all
      Src: /src/haproxy/src/haproxy.c:2817,1
    - Dst: deinit_pollers
      Src: /src/haproxy/src/haproxy.c:2818,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2823,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2826,1
    - Dst: free
      Src: /src/haproxy/src/haproxy.c:2828,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 112
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2644
    functionDepth: 6
    functionLinenumber: 2644
    functionLinenumberEnd: 2830
    functionName: deinit
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 33
    functionsReached:
    - chunk_destroy
    - free_all_file_names
    - ha_free
    - protocol_unbind_all
    - pool_destroy_all
    - LIST_DELETE
    - deinit_log_buffers
    - free_logger
    - BUG_ON
    - list_for_each_entry
    - proxy_destroy_all_unref_defaults
    - free
    - LIST_DEL_INIT
    - free_proxy
    - deinit_signals
    - deinit_pollers
    - userlist_free
    - list_for_each_entry_safe
    - cfg_unregister_sections
    - vars_prune
    - task_destroy
    - unbind_listener
    linkageType: ''
    returnType: void
    signature: deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deinit
      Src: /src/haproxy/src/haproxy.c:2835,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:2836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2837
      start: 2832
    functionDepth: 7
    functionLinenumber: 2832
    functionLinenumberEnd: 2837
    functionName: deinit_and_exit
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 2
    functionsReached:
    - exit
    - deinit
    linkageType: ''
    returnType: void
    signature: deinit_and_exit(int status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/haproxy.c:2844,1
    - Dst: clock_update_date
      Src: /src/haproxy/src/haproxy.c:2846,1
    - Dst: wake_expired_tasks
      Src: /src/haproxy/src/haproxy.c:2848,1
    - Dst: signal_process_queue
      Src: /src/haproxy/src/haproxy.c:2854,1
    - Dst: process_runnable_tasks
      Src: /src/haproxy/src/haproxy.c:2858,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/haproxy.c:2861,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/haproxy.c:2861,1
    - Dst: thread_has_tasks
      Src: /src/haproxy/src/haproxy.c:2869,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/haproxy.c:2872,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/haproxy.c:2873,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/src/haproxy.c:2874,1
    - Dst: thread_has_tasks
      Src: /src/haproxy/src/haproxy.c:2875,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/haproxy.c:2877,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/haproxy.c:2881,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/haproxy.c:2892,1
    - Dst: _HA_ATOMIC_OR_FETCH
      Src: /src/haproxy/src/haproxy.c:2896,1
    - Dst: _HA_ATOMIC_OR_FETCH
      Src: /src/haproxy/src/haproxy.c:2897,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/haproxy.c:2900,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/haproxy.c:2902,1
    - Dst: wake_thread
      Src: /src/haproxy/src/haproxy.c:2903,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/haproxy.c:2910,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/haproxy.c:2913,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/haproxy.c:2914,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/haproxy.c:2915,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/haproxy.c:2921,1
    - Dst: wake_thread
      Src: /src/haproxy/src/haproxy.c:2922,1
    - Dst: next_timer_expiry
      Src: /src/haproxy/src/haproxy.c:2930,1
    - Dst: poll
      Src: /src/haproxy/src/haproxy.c:2933,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/haproxy.c:2938,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2939
      start: 2840
    functionDepth: 3
    functionLinenumber: 2840
    functionLinenumberEnd: 2939
    functionName: run_poll_loop
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - __ha_barrier_atomic_store
    - wake_thread
    - _HA_ATOMIC_OR
    - clock_update_date
    - poll
    - thread_has_tasks
    - _HA_ATOMIC_AND
    - task_wakeup
    - next_timer_expiry
    - process_runnable_tasks
    - HA_ATOMIC_LOAD
    - _HA_ATOMIC_OR_FETCH
    - wake_expired_tasks
    - _HA_ATOMIC_LOAD
    - signal_process_queue
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: run_poll_loop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_set_thread
      Src: /src/haproxy/src/haproxy.c:2951,1
    - Dst: set_thread_cpu_affinity
      Src: /src/haproxy/src/haproxy.c:2952,1
    - Dst: clock_set_local_source
      Src: /src/haproxy/src/haproxy.c:2953,1
    - Dst: ha_get_pthread_id
      Src: /src/haproxy/src/haproxy.c:2956,1
    - Dst: __builtin_frame_address
      Src: /src/haproxy/src/haproxy.c:2958,1
    - Dst: MIN
      Src: /src/haproxy/src/haproxy.c:2967,1
    - Dst: thread_harmless_end
      Src: /src/haproxy/src/haproxy.c:2973,1
    - Dst: thread_idle_end
      Src: /src/haproxy/src/haproxy.c:2974,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/haproxy.c:2975,1
    - Dst: pthread_mutex_lock
      Src: /src/haproxy/src/haproxy.c:2983,1
    - Dst: clock_init_thread_date
      Src: /src/haproxy/src/haproxy.c:2990,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:2997,1
    - Dst: struct per_thread_alloc_fct*::fct
      Src: /src/haproxy/src/haproxy.c:2998,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:2999,1
    - Dst: pthread_mutex_unlock
      Src: /src/haproxy/src/haproxy.c:3001,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3003,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:3011,1
    - Dst: struct per_thread_init_fct*::fct
      Src: /src/haproxy/src/haproxy.c:3012,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3013,1
    - Dst: pthread_mutex_unlock
      Src: /src/haproxy/src/haproxy.c:3015,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3017,1
    - Dst: protocol_enable_all
      Src: /src/haproxy/src/haproxy.c:3026,1
    - Dst: pthread_cond_broadcast
      Src: /src/haproxy/src/haproxy.c:3029,1
    - Dst: pthread_mutex_unlock
      Src: /src/haproxy/src/haproxy.c:3030,1
    - Dst: pthread_mutex_lock
      Src: /src/haproxy/src/haproxy.c:3033,1
    - Dst: pthread_cond_wait
      Src: /src/haproxy/src/haproxy.c:3035,1
    - Dst: pthread_mutex_unlock
      Src: /src/haproxy/src/haproxy.c:3036,1
    - Dst: prctl
      Src: /src/haproxy/src/haproxy.c:3050,1
    - Dst: _HA_ATOMIC_FETCH_ADD
      Src: /src/haproxy/src/haproxy.c:3050,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:3051,1
    - Dst: setrlimit
      Src: /src/haproxy/src/haproxy.c:3068,1
    - Dst: _HA_ATOMIC_FETCH_ADD
      Src: /src/haproxy/src/haproxy.c:3068,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:3069,1
    - Dst: run_poll_loop
      Src: /src/haproxy/src/haproxy.c:3075,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:3077,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:3080,1
    - Dst: _HA_ATOMIC_AND_FETCH
      Src: /src/haproxy/src/haproxy.c:3084,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/haproxy.c:3085,1
    - Dst: _HA_ATOMIC_AND_FETCH
      Src: /src/haproxy/src/haproxy.c:3086,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/haproxy.c:3087,1
    - Dst: pthread_exit
      Src: /src/haproxy/src/haproxy.c:3089,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3092
      start: 2941
    functionDepth: 9
    functionLinenumber: 2941
    functionLinenumberEnd: 3092
    functionName: run_thread_poll_loop
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - _HA_ATOMIC_OR
    - ha_warning
    - prctl
    - pthread_cond_broadcast
    - struct per_thread_init_fct*::fct
    - ha_get_pthread_id
    - list_for_each_entry
    - _HA_ATOMIC_FETCH_ADD
    - clock_init_thread_date
    - protocol_enable_all
    - pthread_cond_wait
    - run_poll_loop
    - exit
    - struct per_thread_alloc_fct*::fct
    - __builtin_frame_address
    - pthread_mutex_lock
    - _HA_ATOMIC_AND_FETCH
    - pthread_exit
    - clock_set_local_source
    - setrlimit
    - pthread_mutex_unlock
    - thread_harmless_end
    - _HA_ATOMIC_AND
    - set_thread_cpu_affinity
    - ha_set_thread
    - MIN
    - thread_idle_end
    linkageType: ''
    returnType: void
    signature: '*run_thread_poll_loop(void *data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getgroups
      Src: /src/haproxy/src/haproxy.c:3100,1
    - Dst: setgroups
      Src: /src/haproxy/src/haproxy.c:3100,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:3101,1
    - Dst: setgid
      Src: /src/haproxy/src/haproxy.c:3104,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3105,1
    - Dst: protocol_unbind_all
      Src: /src/haproxy/src/haproxy.c:3106,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3107,1
    - Dst: prepare_caps_for_setuid
      Src: /src/haproxy/src/haproxy.c:3112,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3113,1
    - Dst: protocol_unbind_all
      Src: /src/haproxy/src/haproxy.c:3114,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3115,1
    - Dst: setuid
      Src: /src/haproxy/src/haproxy.c:3119,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3120,1
    - Dst: protocol_unbind_all
      Src: /src/haproxy/src/haproxy.c:3121,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3122,1
    - Dst: finalize_caps_after_setuid
      Src: /src/haproxy/src/haproxy.c:3126,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3127,1
    - Dst: protocol_unbind_all
      Src: /src/haproxy/src/haproxy.c:3128,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - program_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3132
      start: 3095
    functionDepth: 9
    functionLinenumber: 3095
    functionLinenumberEnd: 3132
    functionName: set_identity
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - getgroups
    - setuid
    - setgroups
    - ha_warning
    - setgid
    - protocol_unbind_all
    - prepare_caps_for_setuid
    - finalize_caps_after_setuid
    - exit
    linkageType: ''
    returnType: void
    signature: set_identity(const char *program_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/haproxy.c:3163,1
    - Dst: setvbuf
      Src: /src/haproxy/src/haproxy.c:3172,1
    - Dst: getrlimit
      Src: /src/haproxy/src/haproxy.c:3175,1
    - Dst: RUN_INITCALLS
      Src: /src/haproxy/src/haproxy.c:3183,1
    - Dst: RUN_INITCALLS
      Src: /src/haproxy/src/haproxy.c:3184,1
    - Dst: RUN_INITCALLS
      Src: /src/haproxy/src/haproxy.c:3185,1
    - Dst: init_early
      Src: /src/haproxy/src/haproxy.c:3188,1
    - Dst: init_args
      Src: /src/haproxy/src/haproxy.c:3191,1
    - Dst: RUN_INITCALLS
      Src: /src/haproxy/src/haproxy.c:3193,1
    - Dst: RUN_INITCALLS
      Src: /src/haproxy/src/haproxy.c:3194,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3198,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3199,1
    - Dst: RUN_INITCALLS
      Src: /src/haproxy/src/haproxy.c:3202,1
    - Dst: step_init_1
      Src: /src/haproxy/src/haproxy.c:3208,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:3217,1
    - Dst: strcmp
      Src: /src/haproxy/src/haproxy.c:3219,1
    - Dst: struct unittest_fct*::fct
      Src: /src/haproxy/src/haproxy.c:3220,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3225,1
    - Dst: getenv
      Src: /src/haproxy/src/haproxy.c:3231,1
    - Dst: mworker_env_to_proc_list
      Src: /src/haproxy/src/haproxy.c:3232,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3233,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3235,1
    - Dst: backup_env
      Src: /src/haproxy/src/haproxy.c:3242,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3243,1
    - Dst: read_cfg_in_discovery_mode
      Src: /src/haproxy/src/haproxy.c:3246,1
    - Dst: set_verbosity
      Src: /src/haproxy/src/haproxy.c:3251,1
    - Dst: mworker_prepare_master
      Src: /src/haproxy/src/haproxy.c:3259,1
    - Dst: getenv
      Src: /src/haproxy/src/haproxy.c:3266,1
    - Dst: apply_daemon_mode
      Src: /src/haproxy/src/haproxy.c:3268,1
    - Dst: mworker_ext_launch_all
      Src: /src/haproxy/src/haproxy.c:3273,1
    - Dst: mworker_apply_master_worker_mode
      Src: /src/haproxy/src/haproxy.c:3275,1
    - Dst: usermsgs_clr
      Src: /src/haproxy/src/haproxy.c:3280,1
    - Dst: clean_env
      Src: /src/haproxy/src/haproxy.c:3289,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3290,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3291,1
    - Dst: restore_env
      Src: /src/haproxy/src/haproxy.c:3294,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3295,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3296,1
    - Dst: setenv
      Src: /src/haproxy/src/haproxy.c:3298,1
    - Dst: setenv
      Src: /src/haproxy/src/haproxy.c:3306,1
    - Dst: read_cfg
      Src: /src/haproxy/src/haproxy.c:3309,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:3310,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:3311,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:3312,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3314,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/haproxy.c:3317,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:3318,1
    - Dst: usermsgs_clr
      Src: /src/haproxy/src/haproxy.c:3320,1
    - Dst: step_init_2
      Src: /src/haproxy/src/haproxy.c:3327,1
    - Dst: step_init_3
      Src: /src/haproxy/src/haproxy.c:3332,1
    - Dst: get_listeners_fd
      Src: /src/haproxy/src/haproxy.c:3339,1
    - Dst: bind_listeners
      Src: /src/haproxy/src/haproxy.c:3341,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:3356,1
    - Dst: close
      Src: /src/haproxy/src/haproxy.c:3358,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3366,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3369,1
    - Dst: sock_drop_unused_old_sockets
      Src: /src/haproxy/src/haproxy.c:3375,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/haproxy.c:3378,1
    - Dst: signal_register_fct
      Src: /src/haproxy/src/haproxy.c:3379,1
    - Dst: step_init_4
      Src: /src/haproxy/src/haproxy.c:3384,1
    - Dst: mworker_run_master
      Src: /src/haproxy/src/haproxy.c:3388,1
    - Dst: open
      Src: /src/haproxy/src/haproxy.c:3394,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3396,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3397,1
    - Dst: fcntl
      Src: /src/haproxy/src/haproxy.c:3399,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3400,1
    - Dst: close
      Src: /src/haproxy/src/haproxy.c:3401,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3402,1
    - Dst: setpriority
      Src: /src/haproxy/src/haproxy.c:3409,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:3410,1
    - Dst: strerror
      Src: /src/haproxy/src/haproxy.c:3411,1
    - Dst: handle_pidfile
      Src: /src/haproxy/src/haproxy.c:3420,1
    - Dst: tell_old_pids
      Src: /src/haproxy/src/haproxy.c:3422,1
    - Dst: protocol_unbind_all
      Src: /src/haproxy/src/haproxy.c:3423,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3425,1
    - Dst: chroot
      Src: /src/haproxy/src/haproxy.c:3433,1
    - Dst: chdir
      Src: /src/haproxy/src/haproxy.c:3433,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3434,1
    - Dst: tell_old_pids
      Src: /src/haproxy/src/haproxy.c:3436,1
    - Dst: protocol_unbind_all
      Src: /src/haproxy/src/haproxy.c:3437,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3438,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:3442,1
    - Dst: tell_old_pids
      Src: /src/haproxy/src/haproxy.c:3453,1
    - Dst: set_identity
      Src: /src/haproxy/src/haproxy.c:3457,1
    - Dst: getuid
      Src: /src/haproxy/src/haproxy.c:3463,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3469,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3472,1
    - Dst: protocol_unbind_all
      Src: /src/haproxy/src/haproxy.c:3477,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3478,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:3483,1
    - Dst: stdio_quiet
      Src: /src/haproxy/src/haproxy.c:3498,1
    - Dst: close
      Src: /src/haproxy/src/haproxy.c:3501,1
    - Dst: getpid
      Src: /src/haproxy/src/haproxy.c:3504,1
    - Dst: fork_poller
      Src: /src/haproxy/src/haproxy.c:3512,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:3522,1
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/haproxy.c:3532,1
    - Dst: sched_setaffinity
      Src: /src/haproxy/src/haproxy.c:3536,1
    - Dst: cpuset_setaffinity
      Src: /src/haproxy/src/haproxy.c:3539,1
    - Dst: setrlimit
      Src: /src/haproxy/src/haproxy.c:3553,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3555,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3557,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:3560,1
    - Dst: setrlimit
      Src: /src/haproxy/src/haproxy.c:3566,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3568,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3570,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:3573,1
    - Dst: prctl
      Src: /src/haproxy/src/haproxy.c:3579,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:3580,1
    - Dst: procctl
      Src: /src/haproxy/src/haproxy.c:3585,1
    - Dst: getpid
      Src: /src/haproxy/src/haproxy.c:3585,1
    - Dst: ha_warning
      Src: /src/haproxy/src/haproxy.c:3586,1
    - Dst: setup_extra_threads
      Src: /src/haproxy/src/haproxy.c:3594,1
    - Dst: haproxy_unblock_signals
      Src: /src/haproxy/src/haproxy.c:3597,1
    - Dst: socketpair
      Src: /src/haproxy/src/haproxy.c:3607,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3608,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3611,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/haproxy.c:3614,1
    - Dst: send_fd_uxst
      Src: /src/haproxy/src/haproxy.c:3619,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3620,1
    - Dst: close
      Src: /src/haproxy/src/haproxy.c:3622,1
    - Dst: close
      Src: /src/haproxy/src/haproxy.c:3623,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3625,1
    - Dst: close
      Src: /src/haproxy/src/haproxy.c:3627,1
    - Dst: memprintf
      Src: /src/haproxy/src/haproxy.c:3629,1
    - Dst: getpid
      Src: /src/haproxy/src/haproxy.c:3629,1
    - Dst: send
      Src: /src/haproxy/src/haproxy.c:3630,1
    - Dst: strlen
      Src: /src/haproxy/src/haproxy.c:3630,1
    - Dst: strlen
      Src: /src/haproxy/src/haproxy.c:3630,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3631,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3633,1
    - Dst: close
      Src: /src/haproxy/src/haproxy.c:3635,1
    - Dst: ha_free
      Src: /src/haproxy/src/haproxy.c:3636,1
    - Dst: startup_logs_dup
      Src: /src/haproxy/src/haproxy.c:3639,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3641,1
    - Dst: startup_logs_free
      Src: /src/haproxy/src/haproxy.c:3642,1
    - Dst: write
      Src: /src/haproxy/src/haproxy.c:3651,1
    - Dst: strlen
      Src: /src/haproxy/src/haproxy.c:3651,1
    - Dst: ha_alert
      Src: /src/haproxy/src/haproxy.c:3652,1
    - Dst: strerror
      Src: /src/haproxy/src/haproxy.c:3652,1
    - Dst: exit
      Src: /src/haproxy/src/haproxy.c:3653,1
    - Dst: close
      Src: /src/haproxy/src/haproxy.c:3655,1
    - Dst: reset_usermsgs_ctx
      Src: /src/haproxy/src/haproxy.c:3662,1
    - Dst: run_thread_poll_loop
      Src: /src/haproxy/src/haproxy.c:3665,1
    - Dst: wait_for_threads_completion
      Src: /src/haproxy/src/haproxy.c:3668,1
    - Dst: deinit_and_exit
      Src: /src/haproxy/src/haproxy.c:3670,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 245
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 3671
      start: 3134
    functionDepth: 13
    functionLinenumber: 3134
    functionLinenumberEnd: 3671
    functionName: main
    functionSourceFile: /src/haproxy/src/haproxy.c
    functionUses: 16
    functionsReached:
    - ha_alert
    - memprintf
    - write
    - struct unittest_fct*::fct
    - stdio_quiet
    - ha_free
    - set_identity
    - ha_warning
    - mworker_env_to_proc_list
    - getrlimit
    - protocol_unbind_all
    - getpid
    - get_listeners_fd
    - sched_setaffinity
    - prctl
    - haproxy_unblock_signals
    - setup_extra_threads
    - procctl
    - startup_logs_dup
    - fprintf
    - step_init_1
    - bind_listeners
    - setpriority
    - open
    - handle_pidfile
    - close
    - step_init_2
    - mworker_run_master
    - strerror
    - list_for_each_entry
    - strcmp
    - wait_for_threads_completion
    - init_early
    - clean_env
    - setenv
    - sock_drop_unused_old_sockets
    - RUN_INITCALLS
    - read_cfg_in_discovery_mode
    - ha_cpuset_count
    - chdir
    - send
    - exit
    - usermsgs_clr
    - socketpair
    - restore_env
    - step_init_3
    - init_args
    - send_fd_uxst
    - strlen
    - chroot
    - deinit_and_exit
    - mworker_prepare_master
    - step_init_4
    - mworker_ext_launch_all
    - setrlimit
    - read_cfg
    - startup_logs_free
    - setvbuf
    - mworker_apply_master_worker_mode
    - apply_daemon_mode
    - fork_poller
    - reset_usermsgs_ctx
    - set_verbosity
    - run_thread_poll_loop
    - fcntl
    - list_for_each_entry_safe
    - getuid
    - signal_register_fct
    - cpuset_setaffinity
    - backup_env
    - getenv
    - tell_old_pids
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:54,1
    - Dst: quic_aead_iv_build
      Src: /src/haproxy/src/quic_tx.c:57,1
    - Dst: quic_tls_encrypt
      Src: /src/haproxy/src/quic_tx.c:59,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:61,1
    - Dst: enc_debug_info_init
      Src: /src/haproxy/src/quic_tx.c:63,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - payload
    - payload_len
    - aad
    - aad_len
    - pn
    - tls_ctx
    - qc
    - fail
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - uint64_t
    - struct quic_tls_ctx*
    - struct quic_conn*
    - int*
    constantsTouched: []
    func_position:
      end: 67
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 67
    functionName: quic_packet_encrypt
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - quic_tls_encrypt
    - enc_debug_info_init
    - quic_aead_iv_build
    - TRACE_ENTER
    - TRACE_ERROR
    linkageType: ''
    returnType: void
    signature: "quic_packet_encrypt(unsigned char *payload, size_t payload_len,\n
      \                               unsigned char *aad, size_t aad_len, uint64_t
      pn,\n                                struct quic_tls_ctx *tls_ctx, struct quic_conn
      *qc,\n                                int *fail)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:78,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_tx.c:83,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_tx.c:84,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_tx.c:85,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - qc
    - pkt
    argTypes:
    - struct quic_conn*
    - struct quic_tx_packet*
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: free_quic_tx_packet
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - list_for_each_entry_safe
    - TRACE_ENTER
    - qc_frm_free
    - pool_free
    linkageType: ''
    returnType: void
    signature: "free_quic_tx_packet(struct quic_conn *qc,\n                                       struct
      quic_tx_packet *pkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_alloc
      Src: /src/haproxy/src/quic_tx.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: qc_txb_alloc
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - b_alloc
    linkageType: ''
    returnType: struct buffer
    signature: '*qc_txb_alloc(struct quic_conn *qc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/quic_tx.c:115,1
    - Dst: b_data
      Src: /src/haproxy/src/quic_tx.c:115,1
    - Dst: b_data
      Src: /src/haproxy/src/quic_tx.c:117,1
    - Dst: b_free
      Src: /src/haproxy/src/quic_tx.c:118,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/quic_tx.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: qc_txb_release
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - offer_buffers
    - b_free
    - b_data
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: qc_txb_release(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:132,1
    - Dst: b_is_null
      Src: /src/haproxy/src/quic_tx.c:134,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_tx.c:135,1
    - Dst: b_make
      Src: /src/haproxy/src/quic_tx.c:141,1
    - Dst: qc_txb_alloc
      Src: /src/haproxy/src/quic_tx.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 152
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 152
    functionName: qc_get_txb
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - b_make
    - qc_txb_alloc
    - TRACE_PROTO
    - pool_alloc
    - b_is_null
    linkageType: ''
    returnType: struct buffer
    signature: '*qc_get_txb(struct quic_conn *qc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/quic_tx.c:164,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/quic_tx.c:164,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:167,1
    - Dst: write_u16
      Src: /src/haproxy/src/quic_tx.c:171,1
    - Dst: b_tail
      Src: /src/haproxy/src/quic_tx.c:171,1
    - Dst: write_ptr
      Src: /src/haproxy/src/quic_tx.c:172,1
    - Dst: b_tail
      Src: /src/haproxy/src/quic_tx.c:172,1
    - Dst: b_add
      Src: /src/haproxy/src/quic_tx.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - length
    - first_pkt
    argTypes:
    - struct buffer*
    - uint16_t
    - struct quic_tx_packet*
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: qc_txb_store
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - write_u16
    - b_add
    - b_tail
    - BUG_ON_HOT
    - b_contig_space
    - write_ptr
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: "qc_txb_store(struct buffer *buf, uint16_t length,\n                         struct
      quic_tx_packet *first_pkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_PRINTF
      Src: /src/haproxy/src/quic_tx.c:204,1
    - Dst: quic_enc_level_char_from_qel
      Src: /src/haproxy/src/quic_tx.c:206,1
    - Dst: quic_tls_has_tx_sec
      Src: /src/haproxy/src/quic_tx.c:207,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:207,1
    - Dst: quic_tls_has_tx_sec
      Src: /src/haproxy/src/quic_tx.c:216,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:218,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 6
    argNames:
    - qc
    - frms
    - qel
    - cc
    - probe
    - must_ack
    argTypes:
    - struct quic_conn*
    - struct list*
    - struct quic_enc_level*
    - int
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 223
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 223
    functionName: qc_may_build_pkt
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - LIST_ISEMPTY
    - quic_enc_level_char_from_qel
    - TRACE_PRINTF
    - quic_tls_has_tx_sec
    linkageType: ''
    returnType: int
    signature: "qc_may_build_pkt(struct quic_conn *qc, struct list *frms,\n                            struct
      quic_enc_level *qel, int cc, int probe,\n                            int *must_ack)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:232,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_tx.c:235,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_tx.c:236,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - qc
    - l
    argTypes:
    - struct quic_conn*
    - struct list*
    constantsTouched: []
    func_position:
      end: 240
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 240
    functionName: qc_free_frm_list
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - qc_frm_free
    - LIST_DEL_INIT
    linkageType: ''
    returnType: void
    signature: qc_free_frm_list(struct quic_conn *qc, struct list *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:248,1
    - Dst: qc_free_frm_list
      Src: /src/haproxy/src/quic_tx.c:251,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_tx.c:253,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - qc
    - p
    argTypes:
    - struct quic_conn*
    - struct quic_tx_packet*
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: qc_free_tx_coalesced_pkts
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - pool_free
    - TRACE_LEAVE
    - qc_free_frm_list
    linkageType: ''
    returnType: void
    signature: "qc_free_tx_coalesced_pkts(struct quic_conn *qc,\n                                             struct
      quic_tx_packet *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_contig_data
      Src: /src/haproxy/src/quic_tx.c:262,1
    - Dst: read_u16
      Src: /src/haproxy/src/quic_tx.c:266,1
    - Dst: b_head
      Src: /src/haproxy/src/quic_tx.c:266,1
    - Dst: read_ptr
      Src: /src/haproxy/src/quic_tx.c:267,1
    - Dst: b_head
      Src: /src/haproxy/src/quic_tx.c:267,1
    - Dst: qc_free_tx_coalesced_pkts
      Src: /src/haproxy/src/quic_tx.c:268,1
    - Dst: b_del
      Src: /src/haproxy/src/quic_tx.c:269,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:272,1
    - Dst: b_data
      Src: /src/haproxy/src/quic_tx.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - qc
    - buf
    argTypes:
    - struct quic_conn*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: qc_purge_tx_buf
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - read_ptr
    - read_u16
    - b_contig_data
    - b_head
    - b_del
    - qc_free_tx_coalesced_pkts
    - b_data
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: qc_purge_tx_buf(struct quic_conn *qc, struct buffer *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:293,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/quic_tx.c:294,1
    - Dst: b_head
      Src: /src/haproxy/src/quic_tx.c:302,1
    - Dst: read_u16
      Src: /src/haproxy/src/quic_tx.c:303,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/quic_tx.c:304,1
    - Dst: likely
      Src: /src/haproxy/src/quic_tx.c:308,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_tx.c:308,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:309,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:313,1
    - Dst: read_ptr
      Src: /src/haproxy/src/quic_tx.c:320,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:325,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:333,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/quic_tx.c:334,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:338,1
    - Dst: qc_kill_conn
      Src: /src/haproxy/src/quic_tx.c:339,1
    - Dst: qc_free_tx_coalesced_pkts
      Src: /src/haproxy/src/quic_tx.c:340,1
    - Dst: b_del
      Src: /src/haproxy/src/quic_tx.c:341,1
    - Dst: qc_purge_tx_buf
      Src: /src/haproxy/src/quic_tx.c:342,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_tx.c:347,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:348,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:354,1
    - Dst: b_del
      Src: /src/haproxy/src/quic_tx.c:363,1
    - Dst: task_mono_time
      Src: /src/haproxy/src/quic_tx.c:366,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/quic_tx.c:383,1
    - Dst: b_add
      Src: /src/haproxy/src/quic_tx.c:388,1
    - Dst: write_u16
      Src: /src/haproxy/src/quic_tx.c:389,1
    - Dst: b_head
      Src: /src/haproxy/src/quic_tx.c:389,1
    - Dst: write_ptr
      Src: /src/haproxy/src/quic_tx.c:390,1
    - Dst: b_head
      Src: /src/haproxy/src/quic_tx.c:390,1
    - Dst: qc_idle_timer_rearm
      Src: /src/haproxy/src/quic_tx.c:403,1
    - Dst: struct quic_cc*::algo::on_transmit
      Src: /src/haproxy/src/quic_tx.c:405,1
    - Dst: struct quic_cc*::algo::drs_on_transmit
      Src: /src/haproxy/src/quic_tx.c:407,1
    - Dst: qc_detach_th_ctx_list
      Src: /src/haproxy/src/quic_tx.c:412,1
    - Dst: qc_idle_timer_do_rearm
      Src: /src/haproxy/src/quic_tx.c:423,1
    - Dst: task_destroy
      Src: /src/haproxy/src/quic_tx.c:425,1
    - Dst: struct quic_cc*::algo::hystart_start_round
      Src: /src/haproxy/src/quic_tx.c:432,1
    - Dst: qc_set_timer
      Src: /src/haproxy/src/quic_tx.c:434,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:435,1
    - Dst: quic_tx_packet_refinc
      Src: /src/haproxy/src/quic_tx.c:437,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/quic_tx.c:438,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:444,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 110
    argCount: 2
    argNames:
    - buf
    - ctx
    argTypes:
    - struct buffer*
    - struct ssl_sock_ctx*
    constantsTouched: []
    func_position:
      end: 447
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 447
    functionName: qc_send_ppkts
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - qc_purge_tx_buf
    - task_mono_time
    - eb64_insert
    - TRACE_ENTER
    - b_head
    - likely
    - HA_ATOMIC_LOAD
    - quic_tx_packet_refinc
    - TRACE_LEAVE
    - read_ptr
    - qc_test_fd
    - BUG_ON_HOT
    - struct quic_cc*::algo::drs_on_transmit
    - qc_detach_th_ctx_list
    - read_u16
    - b_contig_data
    - qc_idle_timer_rearm
    - struct quic_cc*::algo::hystart_start_round
    - qc_free_tx_coalesced_pkts
    - struct quic_cc*::algo::on_transmit
    - qc_idle_timer_do_rearm
    - write_u16
    - TRACE_PROTO
    - b_add
    - b_del
    - TRACE_ERROR
    - task_destroy
    - write_ptr
    - qc_kill_conn
    - qc_set_timer
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: qc_send_ppkts(struct buffer *buf, struct ssl_sock_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:458,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:464,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/quic_tx.c:464,1
    - Dst: b_data
      Src: /src/haproxy/src/quic_tx.c:466,1
    - Dst: qc_send_ppkts
      Src: /src/haproxy/src/quic_tx.c:466,1
    - Dst: qc_txb_release
      Src: /src/haproxy/src/quic_tx.c:468,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:469,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - qc
    - buf
    argTypes:
    - struct quic_conn*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 475
      start: 456
    functionDepth: 5
    functionLinenumber: 456
    functionLinenumberEnd: 475
    functionName: qc_purge_txbuf
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - qc_txb_release
    - qc_send_ppkts
    - TRACE_ENTER
    - qc_test_fd
    - b_data
    - TRACE_DEVEL
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: qc_purge_txbuf(struct quic_conn *qc, struct buffer *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_tx.c:485,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:489,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:490,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:494,1
    - Dst: quic_build_post_handshake_frames
      Src: /src/haproxy/src/quic_tx.c:501,1
    - Dst: qel_register_send
      Src: /src/haproxy/src/quic_tx.c:502,1
    - Dst: qc_send
      Src: /src/haproxy/src/quic_tx.c:503,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:508,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_tx.c:511,1
    - Dst: qel_register_send
      Src: /src/haproxy/src/quic_tx.c:512,1
    - Dst: qc_send
      Src: /src/haproxy/src/quic_tx.c:513,1
    - Dst: struct quic_conn*::path::cc::algo::check_app_limited
      Src: /src/haproxy/src/quic_tx.c:516,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:522,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:523,1
    - Dst: quic_pacing_sent_done
      Src: /src/haproxy/src/quic_tx.c:525,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:528,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - qc
    - frms
    - pacer
    argTypes:
    - struct quic_conn*
    - struct list*
    - struct quic_pacer*
    constantsTouched: []
    func_position:
      end: 530
      start: 482
    functionDepth: 4
    functionLinenumber: 482
    functionLinenumberEnd: 530
    functionName: qc_send_mux
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - TRACE_LEAVE
    - LIST_HEAD_INIT
    - LIST_ISEMPTY
    - TRACE_ENTER
    - struct quic_conn*::path::cc::algo::check_app_limited
    - quic_pacing_sent_done
    - TRACE_DEVEL
    - quic_build_post_handshake_frames
    - qc_send
    - BUG_ON
    - qel_register_send
    linkageType: ''
    returnType: enum quic_tx_err
    signature: "qc_send_mux(struct quic_conn *qc, struct list *frms,\n                             struct
      quic_pacer *pacer)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - qc
    - qel
    - tls_ctx
    - ver
    argTypes:
    - struct quic_conn*
    - struct quic_enc_level*
    - struct quic_tls_ctx**
    - struct quic_version**
    constantsTouched: []
    func_position:
      end: 551
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 551
    functionName: qc_select_tls_ver
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "qc_select_tls_ver(struct quic_conn *qc,\n                                     struct
      quic_enc_level *qel,\n                                     struct quic_tls_ctx
      **tls_ctx,\n                                     const struct quic_version **ver)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:580,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/quic_tx.c:584,1
    - Dst: b_head
      Src: /src/haproxy/src/quic_tx.c:589,1
    - Dst: qc_select_tls_ver
      Src: /src/haproxy/src/quic_tx.c:604,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/quic_tx.c:607,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/quic_tx.c:616,1
    - Dst: qc_may_build_pkt
      Src: /src/haproxy/src/quic_tx.c:617,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:624,1
    - Dst: b_head
      Src: /src/haproxy/src/quic_tx.c:627,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:629,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:629,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:630,1
    - Dst: quic_peer_validated_addr
      Src: /src/haproxy/src/quic_tx.c:644,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_tx.c:644,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/src/quic_tx.c:645,1
    - Dst: quic_may_send_bytes
      Src: /src/haproxy/src/quic_tx.c:645,1
    - Dst: b_wrap
      Src: /src/haproxy/src/quic_tx.c:650,1
    - Dst: b_wrap
      Src: /src/haproxy/src/quic_tx.c:651,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:660,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:663,1
    - Dst: quic_enc_level_pkt_type
      Src: /src/haproxy/src/quic_tx.c:676,1
    - Dst: qc_build_pkt
      Src: /src/haproxy/src/quic_tx.c:683,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:685,1
    - Dst: qc_purge_tx_buf
      Src: /src/haproxy/src/quic_tx.c:690,1
    - Dst: qc_txb_store
      Src: /src/haproxy/src/quic_tx.c:703,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:705,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/quic_tx.c:709,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:753,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:763,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_tx.c:768,1
    - Dst: b_wrap
      Src: /src/haproxy/src/quic_tx.c:770,1
    - Dst: qc_txb_store
      Src: /src/haproxy/src/quic_tx.c:783,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:797,1
    - Dst: qc_txb_store
      Src: /src/haproxy/src/quic_tx.c:802,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:805,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:806,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:810,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:814,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 126
    argCount: 4
    argNames:
    - qc
    - buf
    - qels
    - max_dgrams
    argTypes:
    - struct quic_conn*
    - struct buffer*
    - struct list*
    - int
    constantsTouched: []
    func_position:
      end: 816
      start: 566
    functionDepth: 4
    functionLinenumber: 566
    functionLinenumberEnd: 816
    functionName: qc_prep_pkts
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - qc_purge_tx_buf
    - qc_select_tls_ver
    - ABORT_NOW
    - TRACE_ENTER
    - quic_peer_validated_addr
    - b_head
    - HA_ATOMIC_LOAD
    - b_contig_space
    - qc_may_build_pkt
    - BUG_ON
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - b_wrap
    - BUG_ON_HOT
    - qc_build_pkt
    - qc_txb_store
    - quic_enc_level_pkt_type
    - TRACE_DEVEL
    - quic_may_send_bytes
    - LIST_NEXT
    - TRACE_PROTO
    - QUIC_MIN
    - qc_is_listener
    linkageType: ''
    returnType: int
    signature: "qc_prep_pkts(struct quic_conn *qc, struct buffer *buf,\n                         struct
      list *qels, int max_dgrams)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:839,1
    - Dst: qc_get_txb
      Src: /src/haproxy/src/quic_tx.c:841,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:843,1
    - Dst: b_data
      Src: /src/haproxy/src/quic_tx.c:848,1
    - Dst: qc_purge_txbuf
      Src: /src/haproxy/src/quic_tx.c:848,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:849,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_tx.c:855,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:863,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/quic_tx.c:870,1
    - Dst: b_data
      Src: /src/haproxy/src/quic_tx.c:870,1
    - Dst: b_reset
      Src: /src/haproxy/src/quic_tx.c:871,1
    - Dst: qc_prep_pkts
      Src: /src/haproxy/src/quic_tx.c:873,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:874,1
    - Dst: b_data
      Src: /src/haproxy/src/quic_tx.c:876,1
    - Dst: qc_send_ppkts
      Src: /src/haproxy/src/quic_tx.c:876,1
    - Dst: qc_txb_release
      Src: /src/haproxy/src/quic_tx.c:878,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:885,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:890,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:891,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:892,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:898,1
    - Dst: qc_txb_release
      Src: /src/haproxy/src/quic_tx.c:903,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_tx.c:907,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_tx.c:913,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:917,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 58
    argCount: 4
    argNames:
    - qc
    - old_data
    - send_list
    - max_dgrams
    argTypes:
    - struct quic_conn*
    - int
    - struct list*
    - int
    constantsTouched: []
    func_position:
      end: 919
      start: 832
    functionDepth: 6
    functionLinenumber: 832
    functionLinenumberEnd: 919
    functionName: qc_send
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 3
    functionsReached:
    - qc_prep_pkts
    - qc_get_txb
    - qc_txb_release
    - LIST_ISEMPTY
    - qc_send_ppkts
    - TRACE_ENTER
    - b_data
    - TRACE_ERROR
    - qc_purge_txbuf
    - BUG_ON_HOT
    - TRACE_STATE
    - b_reset
    - TRACE_DEVEL
    - BUG_ON
    - LIST_DEL_INIT
    linkageType: ''
    returnType: int
    signature: "qc_send(struct quic_conn *qc, int old_data, struct list *send_list,\n
      \           int max_dgrams)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:928,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/quic_tx.c:928,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_tx.c:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - send_list
    - qel
    - frms
    argTypes:
    - struct list*
    - struct quic_enc_level*
    - struct list*
    constantsTouched: []
    func_position:
      end: 932
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 932
    functionName: qel_register_send
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 3
    functionsReached:
    - LIST_INLIST
    - LIST_APPEND
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: "qel_register_send(struct list *send_list, struct quic_enc_level *qel,\n
      \                      struct list *frms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - qel
    - qc
    argTypes:
    - struct quic_enc_level*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 944
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 944
    functionName: qel_need_sending
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 2
    functionsReached:
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: qel_need_sending(struct quic_enc_level *qel, struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:957,1
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_tx.c:966,1
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_tx.c:967,1
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_tx.c:968,1
    - Dst: qc_prep_hdshk_fast_retrans
      Src: /src/haproxy/src/quic_tx.c:970,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:971,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:972,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:973,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:975,1
    - Dst: qel_register_send
      Src: /src/haproxy/src/quic_tx.c:978,1
    - Dst: qel_register_send
      Src: /src/haproxy/src/quic_tx.c:980,1
    - Dst: qc_send
      Src: /src/haproxy/src/quic_tx.c:982,1
    - Dst: qc_free_frm_list
      Src: /src/haproxy/src/quic_tx.c:983,1
    - Dst: qc_free_frm_list
      Src: /src/haproxy/src/quic_tx.c:984,1
    - Dst: qel_register_send
      Src: /src/haproxy/src/quic_tx.c:994,1
    - Dst: qc_send
      Src: /src/haproxy/src/quic_tx.c:995,1
    - Dst: qc_free_frm_list
      Src: /src/haproxy/src/quic_tx.c:996,1
    - Dst: qc_free_frm_list
      Src: /src/haproxy/src/quic_tx.c:997,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_tx.c:1004,1
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_tx.c:1016,1
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_tx.c:1017,1
    - Dst: qc_prep_fast_retrans
      Src: /src/haproxy/src/quic_tx.c:1019,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:1020,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:1021,1
    - Dst: qel_register_send
      Src: /src/haproxy/src/quic_tx.c:1023,1
    - Dst: qc_send
      Src: /src/haproxy/src/quic_tx.c:1024,1
    - Dst: qc_free_frm_list
      Src: /src/haproxy/src/quic_tx.c:1025,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_tx.c:1030,1
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_tx.c:1035,1
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_tx.c:1036,1
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_tx.c:1037,1
    - Dst: qc_prep_fast_retrans
      Src: /src/haproxy/src/quic_tx.c:1040,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:1041,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:1042,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:1044,1
    - Dst: qel_register_send
      Src: /src/haproxy/src/quic_tx.c:1046,1
    - Dst: qc_send
      Src: /src/haproxy/src/quic_tx.c:1047,1
    - Dst: qc_free_frm_list
      Src: /src/haproxy/src/quic_tx.c:1048,1
    - Dst: qc_free_frm_list
      Src: /src/haproxy/src/quic_tx.c:1050,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:1055,1
    - Dst: qel_register_send
      Src: /src/haproxy/src/quic_tx.c:1057,1
    - Dst: qc_send
      Src: /src/haproxy/src/quic_tx.c:1058,1
    - Dst: qc_free_frm_list
      Src: /src/haproxy/src/quic_tx.c:1059,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_tx.c:1063,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:1071,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 89
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1073
      start: 949
    functionDepth: 7
    functionLinenumber: 949
    functionLinenumberEnd: 1073
    functionName: qc_dgrams_retransmit
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 2
    functionsReached:
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - LIST_HEAD_INIT
    - TRACE_ENTER
    - TRACE_PROTO
    - qc_free_frm_list
    - qc_prep_fast_retrans
    - TRACE_DEVEL
    - TRACE_STATE
    - qc_send
    - qc_prep_hdshk_fast_retrans
    - qel_register_send
    linkageType: ''
    returnType: int
    signature: qc_dgrams_retransmit(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_addr_len
      Src: /src/haproxy/src/quic_tx.c:1090,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:1092,1
    - Dst: RAND_bytes
      Src: /src/haproxy/src/quic_tx.c:1098,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:1099,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tx.c:1112,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tx.c:1117,1
    - Dst: htonl
      Src: /src/haproxy/src/quic_tx.c:1122,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tx.c:1123,1
    - Dst: sendto
      Src: /src/haproxy/src/quic_tx.c:1127,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:1132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - fd
    - addr
    - pkt
    argTypes:
    - int
    - struct sockaddr_storage*
    - struct quic_rx_packet*
    constantsTouched: []
    func_position:
      end: 1134
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1134
    functionName: send_version_negotiation
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - RAND_bytes
    - TRACE_ENTER
    - sendto
    - htonl
    - TRACE_ERROR
    - memcpy
    - get_addr_len
    linkageType: ''
    returnType: int
    signature: "send_version_negotiation(int fd, struct sockaddr_storage *addr,\n
      \                            struct quic_rx_packet *pkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_addr_len
      Src: /src/haproxy/src/quic_tx.c:1145,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:1149,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:1168,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/quic_tx.c:1173,1
    - Dst: RAND_bytes
      Src: /src/haproxy/src/quic_tx.c:1187,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:1188,1
    - Dst: quic_stateless_reset_token_cpy
      Src: /src/haproxy/src/quic_tx.c:1194,1
    - Dst: sendto
      Src: /src/haproxy/src/quic_tx.c:1198,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_tx.c:1202,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:1203,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:1205,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - l
    - dstaddr
    - rxpkt
    argTypes:
    - struct listener*
    - struct sockaddr_storage*
    - struct quic_rx_packet*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1140
    functionDepth: 2
    functionLinenumber: 1140
    functionLinenumberEnd: 1207
    functionName: send_stateless_reset
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - TRACE_PROTO
    - sendto
    - EXTRA_COUNTERS_GET
    - TRACE_DEVEL
    - TRACE_ERROR
    - quic_stateless_reset_token_cpy
    - RAND_bytes
    - get_addr_len
    linkageType: ''
    returnType: int
    signature: "send_stateless_reset(struct listener *l, struct sockaddr_storage *dstaddr,\n
      \                        struct quic_rx_packet *rxpkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - type
    - version
    argTypes:
    - int
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1227
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1227
    functionName: quic_pkt_type
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: quic_pkt_type(int type, uint32_t version)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_addr_len
      Src: /src/haproxy/src/quic_tx.c:1241,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:1244,1
    - Dst: quic_pkt_type
      Src: /src/haproxy/src/quic_tx.c:1248,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/quic_tx.c:1249,1
    - Dst: write_n32
      Src: /src/haproxy/src/quic_tx.c:1251,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tx.c:1256,1
    - Dst: RAND_bytes
      Src: /src/haproxy/src/quic_tx.c:1262,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:1263,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tx.c:1268,1
    - Dst: quic_generate_retry_token
      Src: /src/haproxy/src/quic_tx.c:1272,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:1274,1
    - Dst: quic_tls_generate_retry_integrity_tag
      Src: /src/haproxy/src/quic_tx.c:1282,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:1284,1
    - Dst: sendto
      Src: /src/haproxy/src/quic_tx.c:1290,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:1291,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:1297,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - fd
    - addr
    - pkt
    - qv
    argTypes:
    - int
    - struct sockaddr_storage*
    - struct quic_rx_packet*
    - struct quic_version*
    constantsTouched: []
    func_position:
      end: 1299
      start: 1235
    functionDepth: 3
    functionLinenumber: 1235
    functionLinenumberEnd: 1299
    functionName: send_retry
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - statistical_prng_range
    - RAND_bytes
    - TRACE_ENTER
    - sendto
    - quic_pkt_type
    - quic_tls_generate_retry_integrity_tag
    - TRACE_ERROR
    - quic_generate_retry_token
    - memcpy
    - get_addr_len
    - write_n32
    linkageType: ''
    returnType: int
    signature: "send_retry(int fd, struct sockaddr_storage *addr,\n               struct
      quic_rx_packet *pkt, const struct quic_version *qv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_u32
      Src: /src/haproxy/src/quic_tx.c:1312,1
    - Dst: htonl
      Src: /src/haproxy/src/quic_tx.c:1312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - end
    - val
    argTypes:
    - unsigned char**
    - unsigned char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1316
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1316
    functionName: quic_write_uint32
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - htonl
    - write_u32
    linkageType: ''
    returnType: int
    signature: "quic_write_uint32(unsigned char **buf,\n                                    const
      unsigned char *end, uint32_t val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pn
    - largest_acked_pn
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1340
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1340
    functionName: quic_packet_number_length
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "quic_packet_number_length(int64_t pn,\n                                               int64_t
      largest_acked_pn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_n16
      Src: /src/haproxy/src/quic_tx.c:1361,1
    - Dst: write_n32
      Src: /src/haproxy/src/quic_tx.c:1369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - buf
    - end
    - pn
    - pn_len
    argTypes:
    - unsigned char**
    - unsigned char*
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1375
      start: 1348
    functionDepth: 1
    functionLinenumber: 1348
    functionLinenumberEnd: 1375
    functionName: quic_packet_number_encode
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - write_n16
    - write_n32
    linkageType: ''
    returnType: int
    signature: "quic_packet_number_encode(unsigned char **buf,\n                                            const
      unsigned char *end,\n                                            uint64_t pn,
      size_t pn_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:1387,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:1390,1
    - Dst: quic_pkt_type
      Src: /src/haproxy/src/quic_tx.c:1394,1
    - Dst: quic_write_uint32
      Src: /src/haproxy/src/quic_tx.c:1399,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tx.c:1403,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tx.c:1409,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:1415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 6
    argNames:
    - pos
    - end
    - type
    - pn_len
    - qc
    - ver
    argTypes:
    - unsigned char**
    - unsigned char*
    - int
    - size_t
    - struct quic_conn*
    - struct quic_version*
    constantsTouched: []
    func_position:
      end: 1417
      start: 1381
    functionDepth: 2
    functionLinenumber: 1381
    functionLinenumberEnd: 1417
    functionName: quic_build_packet_long_header
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - quic_write_uint32
    - quic_pkt_type
    - TRACE_DEVEL
    - memcpy
    linkageType: ''
    returnType: int
    signature: "quic_build_packet_long_header(unsigned char **pos, const unsigned
      char *end,\n                                         int type, size_t pn_len,\n
      \                                        struct quic_conn *qc, const struct
      quic_version *ver)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:1431,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:1434,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_tx.c:1443,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:1449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - pos
    - end
    - pn_len
    - qc
    - tls_flags
    argTypes:
    - unsigned char**
    - unsigned char*
    - size_t
    - struct quic_conn*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 1451
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1451
    functionName: quic_build_packet_short_header
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - memcpy
    - TRACE_DEVEL
    linkageType: ''
    returnType: int
    signature: "quic_build_packet_short_header(unsigned char **pos, const unsigned
      char *end,\n                                          size_t pn_len, struct
      quic_conn *qc,\n                                          unsigned char tls_flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:1472,1
    - Dst: quic_tls_hp_encrypt
      Src: /src/haproxy/src/quic_tx.c:1476,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:1477,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:1487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - qc
    - pos
    - pn
    - pnlen
    - tls_ctx
    - fail
    argTypes:
    - struct quic_conn*
    - unsigned char*
    - unsigned char*
    - size_t
    - struct quic_tls_ctx*
    - int*
    constantsTouched: []
    func_position:
      end: 1488
      start: 1460
    functionDepth: 1
    functionLinenumber: 1460
    functionLinenumberEnd: 1488
    functionName: quic_apply_header_protection
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - TRACE_ERROR
    - quic_tls_hp_encrypt
    linkageType: ''
    returnType: void
    signature: "quic_apply_header_protection(struct quic_conn *qc, unsigned char *pos,\n
      \                                       unsigned char *pn, size_t pnlen,\n                                        struct
      quic_tls_ctx *tls_ctx, int *fail)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:1509,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/src/quic_tx.c:1525,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:1528,1
    - Dst: quic_strm_frm_fillbuf
      Src: /src/haproxy/src/quic_tx.c:1544,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:1548,1
    - Dst: quic_strm_frm_split
      Src: /src/haproxy/src/quic_tx.c:1552,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:1554,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:1557,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:1559,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_tx.c:1560,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_tx.c:1563,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_tx.c:1564,1
    - Dst: qc_stream_frm_is_acked
      Src: /src/haproxy/src/quic_tx.c:1574,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_tx.c:1575,1
    - Dst: quic_strm_frm_fillbuf
      Src: /src/haproxy/src/quic_tx.c:1580,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:1584,1
    - Dst: quic_strm_frm_split
      Src: /src/haproxy/src/quic_tx.c:1596,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_tx.c:1598,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:1602,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:1604,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_tx.c:1605,1
    - Dst: qc_stream_desc_send
      Src: /src/haproxy/src/quic_tx.c:1606,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_tx.c:1611,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_tx.c:1612,1
    - Dst: qc_stream_desc_send
      Src: /src/haproxy/src/quic_tx.c:1613,1
    - Dst: qc_frm_len
      Src: /src/haproxy/src/quic_tx.c:1624,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:1625,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_tx.c:1631,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_tx.c:1632,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:1641,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 7
    argNames:
    - outlist
    - inlist
    - room
    - len
    - headlen
    - qel
    - qc
    argTypes:
    - struct list*
    - struct list*
    - size_t
    - size_t*
    - size_t
    - struct quic_enc_level*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1643
      start: 1501
    functionDepth: 2
    functionLinenumber: 1501
    functionLinenumberEnd: 1643
    functionName: qc_build_frms
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - quic_strm_frm_fillbuf
    - quic_strm_frm_split
    - TRACE_LEAVE
    - qc_stream_frm_is_acked
    - TRACE_ENTER
    - LIST_APPEND
    - qc_frm_free
    - TRACE_PROTO
    - QUIC_MIN
    - qc_stream_desc_send
    - TRACE_DEVEL
    - TRACE_ERROR
    - LIST_DEL_INIT
    - qc_frm_len
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: "qc_build_frms(struct list *outlist, struct list *inlist,\n                         size_t
      room, size_t *len, size_t headlen,\n                         struct quic_enc_level
      *qel,\n                         struct quic_conn *qc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:1658,1
    - Dst: unlikely
      Src: /src/haproxy/src/quic_tx.c:1662,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:1689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - qc
    - qel
    - out
    argTypes:
    - struct quic_conn*
    - struct quic_enc_level*
    - struct quic_frame*
    constantsTouched: []
    func_position:
      end: 1691
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1691
    functionName: qc_build_cc_frm
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - unlikely
    - TRACE_LEAVE
    linkageType: ''
    returnType: void
    signature: "qc_build_cc_frm(struct quic_conn *qc, struct quic_enc_level *qel,\n
      \                           struct quic_frame *out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - time_received
    - conn
    argTypes:
    - unsigned int
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1700
    functionName: quic_compute_ack_delay_us
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "quic_compute_ack_delay_us(unsigned int time_received,\n                                                 struct
      quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_tx.c:1745,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:1749,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:1758,1
    - Dst: quic_cc_path_prep_data
      Src: /src/haproxy/src/quic_tx.c:1761,1
    - Dst: quic_packet_number_length
      Src: /src/haproxy/src/quic_tx.c:1776,1
    - Dst: quic_build_packet_short_header
      Src: /src/haproxy/src/quic_tx.c:1779,1
    - Dst: quic_build_packet_long_header
      Src: /src/haproxy/src/quic_tx.c:1781,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/quic_tx.c:1798,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:1809,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/quic_tx.c:1809,1
    - Dst: quic_compute_ack_delay_us
      Src: /src/haproxy/src/quic_tx.c:1814,1
    - Dst: qc_frm_len
      Src: /src/haproxy/src/quic_tx.c:1827,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:1835,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:1838,1
    - Dst: qc_build_frms
      Src: /src/haproxy/src/quic_tx.c:1844,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:1846,1
    - Dst: qc_build_cc_frm
      Src: /src/haproxy/src/quic_tx.c:1886,1
    - Dst: qc_frm_len
      Src: /src/haproxy/src/quic_tx.c:1887,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/quic_tx.c:1897,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:1918,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/quic_tx.c:1931,1
    - Dst: quic_enc_int
      Src: /src/haproxy/src/quic_tx.c:1948,1
    - Dst: quic_packet_number_encode
      Src: /src/haproxy/src/quic_tx.c:1955,1
    - Dst: qc_build_frm
      Src: /src/haproxy/src/quic_tx.c:1961,1
    - Dst: quic_pktns_get_largest_acked_pn
      Src: /src/haproxy/src/quic_tx.c:1964,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_tx.c:1969,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_tx.c:1971,1
    - Dst: qc_build_frm
      Src: /src/haproxy/src/quic_tx.c:1972,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:1974,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_tx.c:1979,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/quic_tx.c:1980,1
    - Dst: quic_tx_packet_refinc
      Src: /src/haproxy/src/quic_tx.c:1984,1
    - Dst: qc_build_frm
      Src: /src/haproxy/src/quic_tx.c:1992,1
    - Dst: qc_build_frm
      Src: /src/haproxy/src/quic_tx.c:1998,1
    - Dst: qc_build_frm
      Src: /src/haproxy/src/quic_tx.c:2008,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:2014,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_tx.c:2018,1
    - Dst: LIST_SPLICE
      Src: /src/haproxy/src/quic_tx.c:2028,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:2031,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:2033,1
    - Dst: LIST_SPLICE
      Src: /src/haproxy/src/quic_tx.c:2038,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:2039,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 191
    argCount: 15
    argNames:
    - pos
    - end
    - dglen
    - pkt
    - pn
    - pn_len
    - buf_pn
    - must_ack
    - padding
    - cc
    - probe
    - qel
    - qc
    - ver
    - frms
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - struct quic_tx_packet*
    - int64_t
    - size_t*
    - unsigned char**
    - int
    - int
    - int
    - int
    - struct quic_enc_level*
    - struct quic_conn*
    - struct quic_version*
    - struct list*
    constantsTouched: []
    func_position:
      end: 2041
      start: 1730
    functionDepth: 3
    functionLinenumber: 1730
    functionLinenumberEnd: 2041
    functionName: qc_do_build_pkt
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - LIST_HEAD_INIT
    - TRACE_ENTER
    - quic_packet_number_encode
    - eb_is_empty
    - quic_enc_int
    - qc_build_cc_frm
    - quic_tx_packet_refinc
    - qc_frm_len
    - quic_cc_path_prep_data
    - BUG_ON
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - quic_pktns_get_largest_acked_pn
    - LIST_DEL_INIT
    - quic_build_packet_short_header
    - quic_int_getsize
    - LIST_SPLICE
    - LIST_INSERT
    - list_for_each_entry_safe
    - TRACE_PROTO
    - quic_build_packet_long_header
    - quic_packet_number_length
    - quic_compute_ack_delay_us
    - qc_build_frm
    - qc_build_frms
    linkageType: ''
    returnType: int
    signature: "qc_do_build_pkt(unsigned char *pos, const unsigned char *end,\n                           size_t
      dglen, struct quic_tx_packet *pkt,\n                           int64_t pn, size_t
      *pn_len, unsigned char **buf_pn,\n                           int must_ack, int
      padding, int cc, int probe,\n                           struct quic_enc_level
      *qel, struct quic_conn *qc,\n                           const struct quic_version
      *ver, struct list *frms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/quic_tx.c:2049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pkt
    - type
    argTypes:
    - struct quic_tx_packet*
    - int
    constantsTouched: []
    func_position:
      end: 2057
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2057
    functionName: quic_tx_packet_init
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 0
    functionsReached:
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: quic_tx_packet_init(struct quic_tx_packet *pkt, int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_tx.c:2083,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:2084,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_tx.c:2086,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:2088,1
    - Dst: quic_tx_packet_init
      Src: /src/haproxy/src/quic_tx.c:2093,1
    - Dst: qc_do_build_pkt
      Src: /src/haproxy/src/quic_tx.c:2099,1
    - Dst: quic_packet_encrypt
      Src: /src/haproxy/src/quic_tx.c:2111,1
    - Dst: WARN_ON
      Src: /src/haproxy/src/quic_tx.c:2114,1
    - Dst: quic_apply_header_protection
      Src: /src/haproxy/src/quic_tx.c:2121,1
    - Dst: WARN_ON
      Src: /src/haproxy/src/quic_tx.c:2124,1
    - Dst: quic_peer_validated_addr
      Src: /src/haproxy/src/quic_tx.c:2132,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:2134,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_tx.c:2152,1
    - Dst: task_queue
      Src: /src/haproxy/src/quic_tx.c:2155,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:2156,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_tx.c:2162,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_tx.c:2163,1
    - Dst: free_quic_tx_packet
      Src: /src/haproxy/src/quic_tx.c:2168,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_tx.c:2169,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 74
    argCount: 14
    argNames:
    - pos
    - end
    - qel
    - tls_ctx
    - frms
    - qc
    - ver
    - dglen
    - pkt_type
    - must_ack
    - padding
    - probe
    - cc
    - err
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_enc_level*
    - struct quic_tls_ctx*
    - struct list*
    - struct quic_conn*
    - struct quic_version*
    - size_t
    - int
    - int
    - int
    - int
    - int
    - enum qc_build_pkt_err*
    constantsTouched: []
    func_position:
      end: 2171
      start: 2066
    functionDepth: 4
    functionLinenumber: 2066
    functionLinenumberEnd: 2171
    functionName: qc_build_pkt
    functionSourceFile: /src/haproxy/src/quic_tx.c
    functionUses: 1
    functionsReached:
    - quic_tx_packet_init
    - TRACE_LEAVE
    - quic_packet_encrypt
    - TRACE_ENTER
    - quic_peer_validated_addr
    - TRACE_PROTO
    - pool_alloc
    - task_queue
    - quic_apply_header_protection
    - WARN_ON
    - TRACE_DEVEL
    - tick_isset
    - free_quic_tx_packet
    - qc_do_build_pkt
    linkageType: ''
    returnType: struct quic_tx_packet
    signature: "*qc_build_pkt(unsigned char **pos,\n                                           const
      unsigned char *end,\n                                           struct quic_enc_level
      *qel,\n                                           struct quic_tls_ctx *tls_ctx,
      struct list *frms,\n                                           struct quic_conn
      *qc, const struct quic_version *ver,\n                                           size_t
      dglen, int pkt_type, int must_ack,\n                                           int
      padding, int probe, int cc,\n                                           enum
      qc_build_pkt_err *err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/ev_epoll.c:47,1
    - Dst: unlikely
      Src: /src/haproxy/src/ev_epoll.c:62,1
    - Dst: CHECK_IF
      Src: /src/haproxy/src/ev_epoll.c:63,1
    - Dst: thread_isolated
      Src: /src/haproxy/src/ev_epoll.c:63,1
    - Dst: epoll_ctl
      Src: /src/haproxy/src/ev_epoll.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 70
    functionName: __fd_clo
    functionSourceFile: /src/haproxy/src/ev_epoll.c
    functionUses: 0
    functionsReached:
    - epoll_ctl
    - unlikely
    - CHECK_IF
    - thread_isolated
    linkageType: ''
    returnType: void
    signature: __fd_clo(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - poller
    - fd
    - old_ltid
    - old_tgid
    argTypes:
    - struct poller*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: _do_fixup_tgid_takeover
    functionSourceFile: /src/haproxy/src/ev_epoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _do_fixup_tgid_takeover(struct poller *poller, const int fd, const
      int old_ltid, const int old_tgid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ev_epoll.c:87,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ev_epoll.c:88,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_epoll.c:97,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_epoll.c:98,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_epoll.c:117,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_epoll.c:119,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_epoll.c:127,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_epoll.c:130,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_epoll.c:134,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_epoll.c:137,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_epoll.c:147,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_epoll.c:149,1
    - Dst: epoll_ctl
      Src: /src/haproxy/src/ev_epoll.c:165,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ev_epoll.c:167,1
    - Dst: epoll_ctl
      Src: /src/haproxy/src/ev_epoll.c:167,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ev_epoll.c:168,1
    - Dst: epoll_ctl
      Src: /src/haproxy/src/ev_epoll.c:168,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/ev_epoll.c:170,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 68
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 173
    functionName: _update_fd
    functionSourceFile: /src/haproxy/src/ev_epoll.c
    functionUses: 4
    functionsReached:
    - _HA_ATOMIC_OR
    - _HA_ATOMIC_AND
    - epoll_ctl
    - _HA_ATOMIC_LOAD
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: _update_fd(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_grab_tgid
      Src: /src/haproxy/src/ev_epoll.c:191,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/ev_epoll.c:197,1
    - Dst: _update_fd
      Src: /src/haproxy/src/ev_epoll.c:200,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/ev_epoll.c:204,1
    - Dst: fd_grab_tgid
      Src: /src/haproxy/src/ev_epoll.c:219,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/ev_epoll.c:226,1
    - Dst: done_update_polling
      Src: /src/haproxy/src/ev_epoll.c:230,1
    - Dst: _update_fd
      Src: /src/haproxy/src/ev_epoll.c:233,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/src/ev_epoll.c:237,1
    - Dst: thread_idle_now
      Src: /src/haproxy/src/ev_epoll.c:240,1
    - Dst: thread_harmless_now
      Src: /src/haproxy/src/ev_epoll.c:241,1
    - Dst: compute_poll_timeout
      Src: /src/haproxy/src/ev_epoll.c:244,1
    - Dst: clock_entering_poll
      Src: /src/haproxy/src/ev_epoll.c:245,1
    - Dst: epoll_wait
      Src: /src/haproxy/src/ev_epoll.c:250,1
    - Dst: clock_update_local_date
      Src: /src/haproxy/src/ev_epoll.c:251,1
    - Dst: tick_isset
      Src: /src/haproxy/src/ev_epoll.c:259,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/ev_epoll.c:259,1
    - Dst: clock_update_global_date
      Src: /src/haproxy/src/ev_epoll.c:263,1
    - Dst: fd_leaving_poll
      Src: /src/haproxy/src/ev_epoll.c:264,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ev_epoll.c:281,1
    - Dst: unlikely
      Src: /src/haproxy/src/ev_epoll.c:283,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ev_epoll.c:288,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/ev_epoll.c:289,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/ev_epoll.c:296,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/ev_epoll.c:306,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/ev_epoll.c:308,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/ev_epoll.c:310,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/ev_epoll.c:313,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/ev_epoll.c:315,1
    - Dst: fd_tgid
      Src: /src/haproxy/src/ev_epoll.c:318,1
    - Dst: epoll_ctl
      Src: /src/haproxy/src/ev_epoll.c:324,1
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/ev_epoll.c:329,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/ev_epoll.c:332,1
    - Dst: fd_update_events
      Src: /src/haproxy/src/ev_epoll.c:345,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 95
    argCount: 3
    argNames:
    - p
    - exp
    - wake
    argTypes:
    - struct poller*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 348
      start: 178
    functionDepth: 4
    functionLinenumber: 178
    functionLinenumberEnd: 348
    functionName: _do_poll
    functionSourceFile: /src/haproxy/src/ev_epoll.c
    functionUses: 0
    functionsReached:
    - thread_harmless_now
    - _HA_ATOMIC_OR
    - fd_update_events
    - clock_entering_poll
    - clock_update_global_date
    - done_update_polling
    - fd_drop_tgid
    - epoll_ctl
    - thread_idle_now
    - COUNT_IF
    - fd_grab_tgid
    - tick_is_expired
    - _HA_ATOMIC_INC
    - _HA_ATOMIC_LOAD
    - clock_update_local_date
    - _HA_ATOMIC_AND
    - epoll_wait
    - fd_leaving_poll
    - fd_tgid
    - _update_fd
    - tick_isset
    - unlikely
    - compute_poll_timeout
    linkageType: ''
    returnType: void
    signature: _do_poll(struct poller *p, int exp, int wake)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ev_epoll.c:352,1
    - Dst: vma_set_name_id
      Src: /src/haproxy/src/ev_epoll.c:355,1
    - Dst: epoll_create
      Src: /src/haproxy/src/ev_epoll.c:359,1
    - Dst: fd_reregister_all
      Src: /src/haproxy/src/ev_epoll.c:369,1
    - Dst: free
      Src: /src/haproxy/src/ev_epoll.c:373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 376
      start: 350
    functionDepth: 4
    functionLinenumber: 350
    functionLinenumberEnd: 376
    functionName: init_epoll_per_thread
    functionSourceFile: /src/haproxy/src/ev_epoll.c
    functionUses: 0
    functionsReached:
    - vma_set_name_id
    - calloc
    - fd_reregister_all
    - free
    - epoll_create
    linkageType: ''
    returnType: int
    signature: init_epoll_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/haproxy/src/ev_epoll.c:381,1
    - Dst: ha_free
      Src: /src/haproxy/src/ev_epoll.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: deinit_epoll_per_thread
    functionSourceFile: /src/haproxy/src/ev_epoll.c
    functionUses: 0
    functionsReached:
    - close
    - ha_free
    linkageType: ''
    returnType: void
    signature: deinit_epoll_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: epoll_create
      Src: /src/haproxy/src/ev_epoll.c:395,1
    - Dst: hap_register_per_thread_init
      Src: /src/haproxy/src/ev_epoll.c:399,1
    - Dst: hap_register_per_thread_deinit
      Src: /src/haproxy/src/ev_epoll.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 407
      start: 391
    functionDepth: 4
    functionLinenumber: 391
    functionLinenumberEnd: 407
    functionName: _do_init
    functionSourceFile: /src/haproxy/src/ev_epoll.c
    functionUses: 0
    functionsReached:
    - epoll_create
    - hap_register_per_thread_deinit
    - hap_register_per_thread_init
    linkageType: ''
    returnType: int
    signature: _do_init(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/haproxy/src/ev_epoll.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 422
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 422
    functionName: _do_term
    functionSourceFile: /src/haproxy/src/ev_epoll.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: _do_term(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: epoll_create
      Src: /src/haproxy/src/ev_epoll.c:432,1
    - Dst: close
      Src: /src/haproxy/src/ev_epoll.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 437
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 437
    functionName: _do_test
    functionSourceFile: /src/haproxy/src/ev_epoll.c
    functionUses: 0
    functionsReached:
    - epoll_create
    - close
    linkageType: ''
    returnType: int
    signature: _do_test(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/haproxy/src/ev_epoll.c:448,1
    - Dst: epoll_create
      Src: /src/haproxy/src/ev_epoll.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct poller*
    constantsTouched: []
    func_position:
      end: 453
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 453
    functionName: _do_fork
    functionSourceFile: /src/haproxy/src/ev_epoll.c
    functionUses: 0
    functionsReached:
    - epoll_create
    - close
    linkageType: ''
    returnType: int
    signature: _do_fork(struct poller *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 483
    functionName: _do_register
    functionSourceFile: /src/haproxy/src/ev_epoll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _do_register(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/ev_epoll.c:492,1
    - Dst: strchr
      Src: /src/haproxy/src/ev_epoll.c:497,1
    - Dst: strcmp
      Src: /src/haproxy/src/ev_epoll.c:501,1
    - Dst: strcmp
      Src: /src/haproxy/src/ev_epoll.c:503,1
    - Dst: strcmp
      Src: /src/haproxy/src/ev_epoll.c:505,1
    - Dst: memprintf
      Src: /src/haproxy/src/ev_epoll.c:508,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 513
      start: 486
    functionDepth: 7
    functionLinenumber: 486
    functionLinenumberEnd: 513
    functionName: cfg_parse_tune_epoll_mask_events
    functionSourceFile: /src/haproxy/src/ev_epoll.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    - strchr
    linkageType: ''
    returnType: int
    signature: "cfg_parse_tune_epoll_mask_events(char **args, int section_type, struct
      proxy *curpx,\n                                            const struct proxy
      *defpx, const char *file, int line,\n                                            char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: qcc_is_pacing_active
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: qcc_is_pacing_active(const struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_is_null
      Src: /src/haproxy/src/mux_quic.c:55,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_quic.c:56,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_quic.c:57,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_quic.c:58,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/mux_quic.c:67,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_quic.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - qcs
    - rxbuf
    argTypes:
    - struct qcs*
    - struct qc_stream_rxbuf*
    constantsTouched: []
    func_position:
      end: 69
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 69
    functionName: qcs_free_rxbuf
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - b_free
    - b_make
    - ncb_is_null
    - pool_free
    - offer_buffers
    - eb64_delete
    linkageType: ''
    returnType: void
    signature: qcs_free_rxbuf(struct qcs *qcs, struct qc_stream_rxbuf *rxbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:80,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:81,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:84,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:85,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:86,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:87,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:88,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:91,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_quic.c:91,1
    - Dst: sedesc_free
      Src: /src/haproxy/src/mux_quic.c:92,1
    - Dst: struct qcc*::app_ops::detach
      Src: /src/haproxy/src/mux_quic.c:97,1
    - Dst: qc_stream_desc_sub_send
      Src: /src/haproxy/src/mux_quic.c:101,1
    - Dst: qc_stream_desc_release
      Src: /src/haproxy/src/mux_quic.c:102,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_quic.c:106,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_quic.c:107,1
    - Dst: eb64_first
      Src: /src/haproxy/src/mux_quic.c:107,1
    - Dst: qcs_free_rxbuf
      Src: /src/haproxy/src/mux_quic.c:109,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/mux_quic.c:113,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_quic.c:115,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 118
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 118
    functionName: qcs_free
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qcs_free_rxbuf
    - container_of
    - TRACE_LEAVE
    - se_fl_test
    - eb64_delete
    - TRACE_ENTER
    - struct qcc*::app_ops::detach
    - eb_is_empty
    - eb64_first
    - sedesc_free
    - pool_free
    - LIST_DEL_INIT
    - qc_stream_desc_release
    - qc_stream_desc_sub_send
    - TRACE_STATE
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: qcs_free(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:125,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/mux_quic.c:127,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:129,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_quic.c:142,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_quic.c:143,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_quic.c:144,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_quic.c:145,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_quic.c:146,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/mux_quic.c:151,1
    - Dst: quic_stream_is_bidi
      Src: /src/haproxy/src/mux_quic.c:154,1
    - Dst: qfctl_init
      Src: /src/haproxy/src/mux_quic.c:155,1
    - Dst: quic_stream_is_local
      Src: /src/haproxy/src/mux_quic.c:155,1
    - Dst: quic_stream_is_local
      Src: /src/haproxy/src/mux_quic.c:158,1
    - Dst: qfctl_init
      Src: /src/haproxy/src/mux_quic.c:159,1
    - Dst: qfctl_init
      Src: /src/haproxy/src/mux_quic.c:162,1
    - Dst: quic_stream_is_bidi
      Src: /src/haproxy/src/mux_quic.c:169,1
    - Dst: quic_stream_is_local
      Src: /src/haproxy/src/mux_quic.c:170,1
    - Dst: quic_stream_is_remote
      Src: /src/haproxy/src/mux_quic.c:173,1
    - Dst: tot_time_reset
      Src: /src/haproxy/src/mux_quic.c:185,1
    - Dst: tot_time_reset
      Src: /src/haproxy/src/mux_quic.c:186,1
    - Dst: tot_time_reset
      Src: /src/haproxy/src/mux_quic.c:187,1
    - Dst: tot_time_start
      Src: /src/haproxy/src/mux_quic.c:188,1
    - Dst: sedesc_new
      Src: /src/haproxy/src/mux_quic.c:190,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_quic.c:195,1
    - Dst: se_expect_no_data
      Src: /src/haproxy/src/mux_quic.c:196,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_quic.c:199,1
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/src/mux_quic.c:202,1
    - Dst: quic_stream_is_remote
      Src: /src/haproxy/src/mux_quic.c:202,1
    - Dst: qc_stream_desc_new
      Src: /src/haproxy/src/mux_quic.c:204,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:206,1
    - Dst: qc_stream_desc_sub_send
      Src: /src/haproxy/src/mux_quic.c:210,1
    - Dst: qc_stream_desc_sub_room
      Src: /src/haproxy/src/mux_quic.c:211,1
    - Dst: struct qcc*::app_ops::attach
      Src: /src/haproxy/src/mux_quic.c:214,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:215,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:220,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:221,1
    - Dst: qcs_free
      Src: /src/haproxy/src/mux_quic.c:225,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:226,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 81
    argCount: 3
    argNames:
    - qcc
    - id
    - type
    argTypes:
    - struct qcc*
    - uint64_t
    - enum qcs_type
    constantsTouched: []
    func_position:
      end: 228
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 228
    functionName: qcs_new
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - eb64_insert
    - TRACE_ENTER
    - quic_stream_is_local
    - tot_time_reset
    - se_expect_no_data
    - pool_alloc
    - quic_stream_is_remote
    - qc_stream_desc_sub_send
    - qc_stream_desc_new
    - qc_stream_desc_sub_room
    - TRACE_LEAVE
    - quic_stream_is_uni
    - struct qcc*::app_ops::attach
    - quic_stream_is_bidi
    - sedesc_new
    - qfctl_init
    - tot_time_start
    - LIST_INIT
    - qcs_free
    - se_fl_set
    - TRACE_ERROR
    - TRACE_STATE
    linkageType: ''
    returnType: struct qcs
    signature: '*qcs_new(struct qcc *qcc, uint64_t id, enum qcs_type type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: qcs_sc
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: '*qcs_sc(const struct qcs *qcs)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: qcc_reset_idle_start
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: qcc_reset_idle_start(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:244,1
    - Dst: qcc_reset_idle_start
      Src: /src/haproxy/src/mux_quic.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: qcc_rm_sc
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - qcc_reset_idle_start
    linkageType: ''
    returnType: forceinline
    signature: qcc_rm_sc(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:257,1
    - Dst: qcc_reset_idle_start
      Src: /src/haproxy/src/mux_quic.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 265
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: qcc_rm_hreq
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - qcc_reset_idle_start
    linkageType: ''
    returnType: forceinline
    signature: qcc_rm_hreq(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 284
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 284
    functionName: qcc_is_dead
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: qcc_is_dead(const struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: qcc_may_expire
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: qcc_may_expire(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:297,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:300,1
    - Dst: qcc_may_expire
      Src: /src/haproxy/src/mux_quic.c:305,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:306,1
    - Dst: task_queue
      Src: /src/haproxy/src/mux_quic.c:308,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_quic.c:321,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:323,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_quic.c:324,1
    - Dst: task_queue
      Src: /src/haproxy/src/mux_quic.c:325,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:329,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_quic.c:329,1
    - Dst: likely
      Src: /src/haproxy/src/mux_quic.c:338,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:338,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/mux_quic.c:339,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:342,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_quic.c:343,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:347,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_quic.c:348,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:355,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_quic.c:356,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:371,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_quic.c:376,1
    - Dst: tick_is_le
      Src: /src/haproxy/src/mux_quic.c:377,1
    - Dst: tick_add
      Src: /src/haproxy/src/mux_quic.c:381,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/mux_quic.c:382,1
    - Dst: tick_add
      Src: /src/haproxy/src/mux_quic.c:389,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/mux_quic.c:390,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_quic.c:399,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:400,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_quic.c:401,1
    - Dst: task_queue
      Src: /src/haproxy/src/mux_quic.c:404,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:407,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 408
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 408
    functionName: qcc_refresh_timeout
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - statistical_prng_range
    - LIST_ISEMPTY
    - tick_add
    - TRACE_ENTER
    - task_wakeup
    - qcc_may_expire
    - tick_is_le
    - task_queue
    - conn_is_back
    - likely
    - TRACE_DEVEL
    - tick_add_ifset
    - tick_isset
    - unlikely
    - LIST_ELEM
    linkageType: ''
    returnType: void
    signature: qcc_refresh_timeout(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:416,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 422
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 422
    functionName: qcs_idle_open
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: qcs_idle_open(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:427,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:430,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:433,1
    - Dst: quic_stream_is_bidi
      Src: /src/haproxy/src/mux_quic.c:435,1
    - Dst: qcc_rm_hreq
      Src: /src/haproxy/src/mux_quic.c:439,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:443,1
    - Dst: quic_stream_is_remote
      Src: /src/haproxy/src/mux_quic.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 446
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 446
    functionName: qcs_close_local
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - quic_stream_is_remote
    - BUG_ON_HOT
    - TRACE_STATE
    - quic_stream_is_bidi
    - qcc_rm_hreq
    linkageType: ''
    returnType: void
    signature: qcs_close_local(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qcs_sc
      Src: /src/haproxy/src/mux_quic.c:454,1
    - Dst: qcs_is_close_local
      Src: /src/haproxy/src/mux_quic.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: qcs_is_completed
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qcs_is_close_local
    - qcs_sc
    linkageType: ''
    returnType: int
    signature: qcs_is_completed(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:461,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:464,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:467,1
    - Dst: quic_stream_is_bidi
      Src: /src/haproxy/src/mux_quic.c:469,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:474,1
    - Dst: quic_stream_is_local
      Src: /src/haproxy/src/mux_quic.c:474,1
    - Dst: qcs_is_completed
      Src: /src/haproxy/src/mux_quic.c:478,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:479,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_quic.c:479,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:480,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 483
      start: 459
    functionDepth: 2
    functionLinenumber: 459
    functionLinenumberEnd: 483
    functionName: qcs_close_remote
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - quic_stream_is_local
    - LIST_APPEND
    - qcs_is_completed
    - BUG_ON_HOT
    - LIST_INLIST
    - TRACE_STATE
    - quic_stream_is_bidi
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: qcs_close_remote(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: qcs_is_close_local
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: qcs_is_close_local(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: qcs_is_close_remote
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: qcs_is_close_remote(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_is_null
      Src: /src/haproxy/src/mux_quic.c:503,1
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_quic.c:504,1
    - Dst: ncb_make
      Src: /src/haproxy/src/mux_quic.c:507,1
    - Dst: ncb_init
      Src: /src/haproxy/src/mux_quic.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - qcs
    - ncbuf
    argTypes:
    - struct qcs*
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 512
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 512
    functionName: qcs_get_ncbuf
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - ncb_make
    - ncb_is_null
    - ncb_init
    - b_alloc
    linkageType: ''
    returnType: struct ncbuf
    signature: '*qcs_get_ncbuf(struct qcs *qcs, struct ncbuf *ncbuf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qcs_notify_recv
      Src: /src/haproxy/src/mux_quic.c:520,1
    - Dst: qcs_notify_send
      Src: /src/haproxy/src/mux_quic.c:521,1
    - Dst: qcs_sc
      Src: /src/haproxy/src/mux_quic.c:523,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_quic.c:524,1
    - Dst: struct qcs*::sd::sc::app_ops::wake
      Src: /src/haproxy/src/mux_quic.c:525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 527
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 527
    functionName: qcs_alert
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - qcs_sc
    - qcs_notify_send
    - struct qcs*::sd::sc::app_ops::wake
    - qcs_notify_recv
    linkageType: ''
    returnType: void
    signature: qcs_alert(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:533,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:535,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:536,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:542,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:545,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - qcs
    - event_type
    - es
    argTypes:
    - struct qcs*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 550
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 550
    functionName: qcs_subscribe
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - BUG_ON
    - TRACE_DEVEL
    linkageType: ''
    returnType: int
    signature: qcs_subscribe(struct qcs *qcs, int event_type, struct wait_event *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_quic.c:555,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 561
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 561
    functionName: qcs_notify_recv
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 1
    functionsReached:
    - TRACE_POINT
    - tasklet_wakeup
    linkageType: ''
    returnType: void
    signature: qcs_notify_recv(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_quic.c:566,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 572
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 572
    functionName: qcs_notify_send
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 1
    functionsReached:
    - TRACE_POINT
    - tasklet_wakeup
    linkageType: ''
    returnType: void
    signature: qcs_notify_send(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_stream_buf_get
      Src: /src/haproxy/src/mux_quic.c:577,1
    - Dst: MAX
      Src: /src/haproxy/src/mux_quic.c:584,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 587
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 587
    functionName: qcs_prep_bytes
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - b_data
    - qc_stream_buf_get
    - MAX
    linkageType: ''
    returnType: uint64_t
    signature: qcs_prep_bytes(const struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:598,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:601,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:607,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:614,1
    - Dst: qcs_idle_open
      Src: /src/haproxy/src/mux_quic.c:616,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:624,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:625,1
    - Dst: qfctl_rinc
      Src: /src/haproxy/src/mux_quic.c:628,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:629,1
    - Dst: qfctl_rinc
      Src: /src/haproxy/src/mux_quic.c:634,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:635,1
    - Dst: qcs_prep_bytes
      Src: /src/haproxy/src/mux_quic.c:639,1
    - Dst: b_full
      Src: /src/haproxy/src/mux_quic.c:640,1
    - Dst: qc_stream_buf_release
      Src: /src/haproxy/src/mux_quic.c:641,1
    - Dst: qcs_notify_send
      Src: /src/haproxy/src/mux_quic.c:643,1
    - Dst: increment_send_rate
      Src: /src/haproxy/src/mux_quic.c:649,1
    - Dst: qc_stream_buf_get
      Src: /src/haproxy/src/mux_quic.c:652,1
    - Dst: qcs_prep_bytes
      Src: /src/haproxy/src/mux_quic.c:652,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:654,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:655,1
    - Dst: qcs_close_local
      Src: /src/haproxy/src/mux_quic.c:659,1
    - Dst: qc_stream_desc_sub_send
      Src: /src/haproxy/src/mux_quic.c:668,1
    - Dst: qcs_is_completed
      Src: /src/haproxy/src/mux_quic.c:670,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:671,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:672,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:678,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - stream
    - data
    - offset
    argTypes:
    - struct qc_stream_desc*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 679
      start: 592
    functionDepth: 3
    functionLinenumber: 592
    functionLinenumberEnd: 679
    functionName: qmux_ctrl_send
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - b_full
    - qc_stream_buf_release
    - qcs_close_local
    - TRACE_LEAVE
    - TRACE_ENTER
    - qcs_notify_send
    - LIST_APPEND
    - qcs_idle_open
    - qfctl_rinc
    - qcs_is_completed
    - TRACE_DEVEL
    - LIST_DEL_INIT
    - qc_stream_desc_sub_send
    - TRACE_STATE
    - qcs_prep_bytes
    - qc_stream_buf_get
    - BUG_ON
    - increment_send_rate
    linkageType: ''
    returnType: void
    signature: qmux_ctrl_send(struct qc_stream_desc *stream, uint64_t data, uint64_t
      offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: qcc_bufwnd_full
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: qcc_bufwnd_full(const struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qcc_notify_buf
      Src: /src/haproxy/src/mux_quic.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - room
    argTypes:
    - struct qc_stream_desc*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 694
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 694
    functionName: qmux_ctrl_room
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qcc_notify_buf
    linkageType: ''
    returnType: void
    signature: qmux_ctrl_room(struct qc_stream_desc *stream, uint64_t room)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:705,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:708,1
    - Dst: qcc_bufwnd_full
      Src: /src/haproxy/src/mux_quic.c:711,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:715,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:724,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/mux_quic.c:725,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:726,1
    - Dst: tot_time_stop
      Src: /src/haproxy/src/mux_quic.c:727,1
    - Dst: qcs_notify_send
      Src: /src/haproxy/src/mux_quic.c:728,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - qcc
    - free_size
    argTypes:
    - struct qcc*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 732
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 732
    functionName: qcc_notify_buf
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 2
    functionsReached:
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - TRACE_ENTER
    - qcs_notify_send
    - qcc_bufwnd_full
    - LIST_DEL_INIT
    - tot_time_stop
    - TRACE_STATE
    - BUG_ON
    - LIST_ELEM
    linkageType: ''
    returnType: void
    signature: qcc_notify_buf(struct qcc *qcc, uint64_t free_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:742,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:744,1
    - Dst: quic_err_app
      Src: /src/haproxy/src/mux_quic.c:747,1
    - Dst: quic_err_transport
      Src: /src/haproxy/src/mux_quic.c:747,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - qcc
    - err
    - app
    argTypes:
    - struct qcc*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 757
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 757
    functionName: qcc_set_error
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 2
    functionsReached:
    - quic_err_transport
    - BUG_ON
    - tasklet_wakeup
    - TRACE_STATE
    - quic_err_app
    linkageType: ''
    returnType: void
    signature: qcc_set_error(struct qcc *qcc, int err, int app)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct qcc*::app_ops::report_susp
      Src: /src/haproxy/src/mux_quic.c:769,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:770,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - qcc
    - inc
    argTypes:
    - struct qcc*
    - int
    constantsTouched: []
    func_position:
      end: 779
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 779
    functionName: _qcc_report_glitch
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qcc_set_error
    - struct qcc*::app_ops::report_susp
    linkageType: ''
    returnType: int
    signature: _qcc_report_glitch(struct qcc *qcc, int inc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:793,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_quic.c:797,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_quic.c:801,1
    - Dst: qcs_new
      Src: /src/haproxy/src/mux_quic.c:808,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:810,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:811,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_quic.c:815,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - qcc
    - bidi
    argTypes:
    - struct qcc*
    - int
    constantsTouched: []
    func_position:
      end: 820
      start: 787
    functionDepth: 5
    functionLinenumber: 787
    functionLinenumberEnd: 820
    functionName: qcc_init_stream_local
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - TRACE_PROTO
    - conn_is_back
    - qcs_new
    - TRACE_DEVEL
    - qcc_set_error
    linkageType: ''
    returnType: struct qcs
    signature: '*qcc_init_stream_local(struct qcc *qcc, int bidi)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:835,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:838,1
    - Dst: quic_stream_is_local
      Src: /src/haproxy/src/mux_quic.c:838,1
    - Dst: quic_stream_is_bidi
      Src: /src/haproxy/src/mux_quic.c:840,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_quic.c:842,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_quic.c:846,1
    - Dst: quic_stream_is_bidi
      Src: /src/haproxy/src/mux_quic.c:855,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:858,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:859,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:864,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:867,1
    - Dst: qcs_new
      Src: /src/haproxy/src/mux_quic.c:873,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:875,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:876,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_quic.c:880,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:885,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:889,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 2
    argNames:
    - qcc
    - id
    argTypes:
    - struct qcc*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 891
      start: 829
    functionDepth: 5
    functionLinenumber: 829
    functionLinenumberEnd: 891
    functionName: qcc_init_stream_remote
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - quic_stream_is_local
    - TRACE_PROTO
    - conn_is_back
    - qcs_new
    - TRACE_ERROR
    - quic_stream_is_bidi
    - BUG_ON
    - qcc_set_error
    linkageType: ''
    returnType: struct qcs
    signature: '*qcc_init_stream_remote(struct qcc *qcc, uint64_t id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:899,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:901,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_quic.c:901,1
    - Dst: qc_stream_desc_sub_room
      Src: /src/haproxy/src/mux_quic.c:904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 905
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 905
    functionName: qcs_send_metadata
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qc_stream_desc_sub_room
    - BUG_ON
    - eb_is_empty
    linkageType: ''
    returnType: void
    signature: qcs_send_metadata(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:924,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:927,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/mux_quic.c:932,1
    - Dst: sc_new_from_endp
      Src: /src/haproxy/src/mux_quic.c:934,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:935,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:942,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:956,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_quic.c:956,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:957,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:963,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_quic.c:964,1
    - Dst: se_expect_data
      Src: /src/haproxy/src/mux_quic.c:965,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_quic.c:976,1
    - Dst: qcs_is_close_local
      Src: /src/haproxy/src/mux_quic.c:976,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:977,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_quic.c:978,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:982,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - qcs
    - buf
    - fin
    argTypes:
    - struct qcs*
    - struct buffer*
    - char
    constantsTouched: []
    func_position:
      end: 984
      start: 919
    functionDepth: 5
    functionLinenumber: 919
    functionLinenumberEnd: 984
    functionName: qcs_attach_sc
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 1
    functionsReached:
    - TRACE_LEAVE
    - se_expect_data
    - se_fl_set_error
    - qcs_is_close_local
    - TRACE_ENTER
    - unlikely
    - ns_to_ms
    - TRACE_DEVEL
    - BUG_ON_HOT
    - sc_new_from_endp
    - LIST_DEL_INIT
    - TRACE_STATE
    - se_fl_set
    - LIST_INLIST
    linkageType: ''
    returnType: int
    signature: qcs_attach_sc(struct qcs *qcs, struct buffer *buf, char fin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:994,1
    - Dst: eb64_lookup
      Src: /src/haproxy/src/mux_quic.c:994,1
    - Dst: quic_stream_is_local
      Src: /src/haproxy/src/mux_quic.c:996,1
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/src/mux_quic.c:997,1
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/src/mux_quic.c:1001,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - qcc
    - id
    argTypes:
    - struct qcc*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1006
      start: 989
    functionDepth: 2
    functionLinenumber: 989
    functionLinenumberEnd: 1006
    functionName: qcc_stream_id_is_closed
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - quic_stream_is_uni
    - eb64_lookup
    - quic_stream_is_local
    - BUG_ON_HOT
    linkageType: ''
    returnType: int
    signature: qcc_stream_id_is_closed(struct qcc *qcc, uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:1023,1
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/src/mux_quic.c:1026,1
    - Dst: quic_stream_is_remote
      Src: /src/haproxy/src/mux_quic.c:1026,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:1027,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:1028,1
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/src/mux_quic.c:1032,1
    - Dst: quic_stream_is_local
      Src: /src/haproxy/src/mux_quic.c:1032,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:1033,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:1034,1
    - Dst: eb64_lookup
      Src: /src/haproxy/src/mux_quic.c:1039,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/mux_quic.c:1041,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:1042,1
    - Dst: qcc_stream_id_is_closed
      Src: /src/haproxy/src/mux_quic.c:1047,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1048,1
    - Dst: quic_stream_is_local
      Src: /src/haproxy/src/mux_quic.c:1057,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:1065,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:1066,1
    - Dst: qcc_init_stream_remote
      Src: /src/haproxy/src/mux_quic.c:1071,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:1073,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:1079,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:1083,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 5
    argNames:
    - qcc
    - id
    - receive_only
    - send_only
    - out
    argTypes:
    - struct qcc*
    - uint64_t
    - int
    - int
    - struct qcs**
    constantsTouched: []
    func_position:
      end: 1085
      start: 1018
    functionDepth: 6
    functionLinenumber: 1018
    functionLinenumberEnd: 1085
    functionName: qcc_get_qcs
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_DATA
    - TRACE_LEAVE
    - TRACE_ENTER
    - quic_stream_is_local
    - qcc_stream_id_is_closed
    - eb64_entry
    - quic_stream_is_uni
    - eb64_lookup
    - quic_stream_is_remote
    - TRACE_ERROR
    - TRACE_DEVEL
    - qcc_init_stream_remote
    - qcc_set_error
    linkageType: ''
    returnType: int
    signature: "qcc_get_qcs(struct qcc *qcc, uint64_t id, int receive_only, int send_only,\n
      \               struct qcs **out)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_make
      Src: /src/haproxy/src/mux_quic.c:1092,1
    - Dst: ncb_orig
      Src: /src/haproxy/src/mux_quic.c:1092,1
    - Dst: ncb_data
      Src: /src/haproxy/src/mux_quic.c:1092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct qc_stream_rxbuf*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1088
    functionDepth: 5
    functionLinenumber: 1088
    functionLinenumberEnd: 1097
    functionName: qcs_b_dup
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - ncb_orig
    - ncb_data
    - b_make
    linkageType: ''
    returnType: struct buffer
    signature: qcs_b_dup(const struct qc_stream_rxbuf *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:1114,1
    - Dst: ncb_is_full
      Src: /src/haproxy/src/mux_quic.c:1114,1
    - Dst: eb64_next
      Src: /src/haproxy/src/mux_quic.c:1116,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_quic.c:1120,1
    - Dst: ncb_data
      Src: /src/haproxy/src/mux_quic.c:1122,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/mux_quic.c:1123,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/mux_quic.c:1124,1
    - Dst: qcs_b_dup
      Src: /src/haproxy/src/mux_quic.c:1126,1
    - Dst: qcs_b_dup
      Src: /src/haproxy/src/mux_quic.c:1127,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_quic.c:1128,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:1128,1
    - Dst: ncb_size
      Src: /src/haproxy/src/mux_quic.c:1128,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:1128,1
    - Dst: ncb_add
      Src: /src/haproxy/src/mux_quic.c:1130,1
    - Dst: ncb_data
      Src: /src/haproxy/src/mux_quic.c:1130,1
    - Dst: b_head
      Src: /src/haproxy/src/mux_quic.c:1131,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:1132,1
    - Dst: ncb_advance
      Src: /src/haproxy/src/mux_quic.c:1134,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:1135,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:1138,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/mux_quic.c:1139,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:1142,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/mux_quic.c:1145,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_quic.c:1148,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_quic.c:1149,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_quic.c:1150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 2
    argNames:
    - qcs
    - rxbuf
    argTypes:
    - struct qcs*
    - struct qc_stream_rxbuf*
    constantsTouched: []
    func_position:
      end: 1158
      start: 1105
    functionDepth: 6
    functionLinenumber: 1105
    functionLinenumberEnd: 1158
    functionName: qcs_transfer_rx_data
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - container_of
    - b_free
    - eb64_delete
    - eb64_insert
    - ncb_data
    - ncb_size
    - pool_free
    - b_head
    - ncb_advance
    - offer_buffers
    - b_data
    - ncb_is_full
    - eb64_next
    - ncb_add
    - MIN
    - BUG_ON
    - qcs_b_dup
    linkageType: ''
    returnType: int
    signature: qcs_transfer_rx_data(struct qcs *qcs, struct qc_stream_rxbuf *rxbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_first
      Src: /src/haproxy/src/mux_quic.c:1168,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_quic.c:1172,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:1179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 1181
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1181
    functionName: qcs_get_curr_rxbuf
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - container_of
    - BUG_ON
    - eb64_first
    linkageType: ''
    returnType: struct qc_stream_rxbuf
    signature: '*qcs_get_curr_rxbuf(struct qcs *qcs)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qcs_get_curr_rxbuf
      Src: /src/haproxy/src/mux_quic.c:1189,1
    - Dst: ncb_data
      Src: /src/haproxy/src/mux_quic.c:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1187
    functionDepth: 5
    functionLinenumber: 1187
    functionLinenumberEnd: 1191
    functionName: qcs_rx_avail_data
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - ncb_data
    - qcs_get_curr_rxbuf
    linkageType: ''
    returnType: ncb_sz_t
    signature: qcs_rx_avail_data(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:1202,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:1205,1
    - Dst: ncb_advance
      Src: /src/haproxy/src/mux_quic.c:1208,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/mux_quic.c:1210,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:1215,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1222,1
    - Dst: qc_frm_alloc
      Src: /src/haproxy/src/mux_quic.c:1223,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:1225,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:1234,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:1235,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1241,1
    - Dst: qc_frm_alloc
      Src: /src/haproxy/src/mux_quic.c:1242,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:1244,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:1252,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:1253,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:1256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - qcs
    - bytes
    - buf
    argTypes:
    - struct qcs*
    - uint64_t
    - struct qc_stream_rxbuf*
    constantsTouched: []
    func_position:
      end: 1257
      start: 1196
    functionDepth: 5
    functionLinenumber: 1196
    functionLinenumberEnd: 1257
    functionName: qcs_consume
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qc_frm_alloc
    - TRACE_DATA
    - ABORT_NOW
    - TRACE_LEAVE
    - TRACE_ENTER
    - LIST_APPEND
    - tasklet_wakeup
    - ncb_advance
    - BUG_ON_HOT
    - qcc_set_error
    linkageType: ''
    returnType: void
    signature: qcs_consume(struct qcs *qcs, uint64_t bytes, struct qc_stream_rxbuf
      *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:1275,1
    - Dst: qcs_get_curr_rxbuf
      Src: /src/haproxy/src/mux_quic.c:1278,1
    - Dst: qcs_b_dup
      Src: /src/haproxy/src/mux_quic.c:1279,1
    - Dst: qcs_is_close_remote
      Src: /src/haproxy/src/mux_quic.c:1282,1
    - Dst: struct qcc*::app_ops::rcv_buf
      Src: /src/haproxy/src/mux_quic.c:1286,1
    - Dst: session_add_glitch_ctr
      Src: /src/haproxy/src/mux_quic.c:1289,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:1292,1
    - Dst: ncb_data
      Src: /src/haproxy/src/mux_quic.c:1301,1
    - Dst: qcs_transfer_rx_data
      Src: /src/haproxy/src/mux_quic.c:1302,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:1303,1
    - Dst: qcs_sc
      Src: /src/haproxy/src/mux_quic.c:1309,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_quic.c:1309,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_quic.c:1310,1
    - Dst: qcs_alert
      Src: /src/haproxy/src/mux_quic.c:1311,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1316,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:1317,1
    - Dst: qcs_consume
      Src: /src/haproxy/src/mux_quic.c:1322,1
    - Dst: ncb_is_empty
      Src: /src/haproxy/src/mux_quic.c:1324,1
    - Dst: qcs_free_rxbuf
      Src: /src/haproxy/src/mux_quic.c:1325,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_quic.c:1332,1
    - Dst: qcs_rx_avail_data
      Src: /src/haproxy/src/mux_quic.c:1333,1
    - Dst: qcs_close_remote
      Src: /src/haproxy/src/mux_quic.c:1335,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:1340,1
    - Dst: qcs_notify_recv
      Src: /src/haproxy/src/mux_quic.c:1341,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:1343,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:1347,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 2
    argNames:
    - qcc
    - qcs
    argTypes:
    - struct qcc*
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 1349
      start: 1267
    functionDepth: 7
    functionLinenumber: 1267
    functionLinenumberEnd: 1349
    functionName: qcc_decode_qcs
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - ncb_is_empty
    - TRACE_DATA
    - TRACE_ENTER
    - eb_is_empty
    - qcs_notify_recv
    - qcs_free_rxbuf
    - TRACE_LEAVE
    - se_fl_test
    - qcs_get_curr_rxbuf
    - session_add_glitch_ctr
    - se_fl_set_error
    - qcs_alert
    - ncb_data
    - TRACE_DEVEL
    - b_data
    - qcs_transfer_rx_data
    - qcs_b_dup
    - qcs_sc
    - qcs_close_remote
    - TRACE_ERROR
    - qcs_rx_avail_data
    - qcs_consume
    - qcs_is_close_remote
    - struct qcc*::app_ops::rcv_buf
    linkageType: ''
    returnType: int
    signature: qcc_decode_qcs(struct qcc *qcc, struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_quic.c:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 1358
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1358
    functionName: qcc_get_stream_rxbuf
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 1
    functionsReached:
    - b_alloc
    linkageType: ''
    returnType: struct buffer
    signature: '*qcc_get_stream_rxbuf(struct qcs *qcs)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_stream_buf_get
      Src: /src/haproxy/src/mux_quic.c:1376,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:1379,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_quic.c:1379,1
    - Dst: likely
      Src: /src/haproxy/src/mux_quic.c:1384,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:1386,1
    - Dst: tot_time_start
      Src: /src/haproxy/src/mux_quic.c:1387,1
    - Dst: qcc_bufwnd_full
      Src: /src/haproxy/src/mux_quic.c:1391,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:1392,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:1393,1
    - Dst: tot_time_start
      Src: /src/haproxy/src/mux_quic.c:1394,1
    - Dst: qc_stream_buf_alloc
      Src: /src/haproxy/src/mux_quic.c:1400,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:1402,1
    - Dst: likely
      Src: /src/haproxy/src/mux_quic.c:1407,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_quic.c:1408,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - qcs
    - err
    - small
    argTypes:
    - struct qcs*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 1413
      start: 1373
    functionDepth: 3
    functionLinenumber: 1373
    functionLinenumberEnd: 1413
    functionName: qcc_get_stream_txbuf
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 2
    functionsReached:
    - TRACE_STATE
    - LIST_APPEND
    - tot_time_start
    - qcc_bufwnd_full
    - likely
    - qc_stream_buf_alloc
    - TRACE_ERROR
    - b_size
    - LIST_INLIST
    - qc_stream_buf_get
    - BUG_ON
    linkageType: ''
    returnType: struct buffer
    signature: '*qcc_get_stream_txbuf(struct qcs *qcs, int *err, int small)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_stream_buf_get
      Src: /src/haproxy/src/mux_quic.c:1425,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:1428,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_quic.c:1428,1
    - Dst: likely
      Src: /src/haproxy/src/mux_quic.c:1430,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:1434,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_quic.c:1434,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_quic.c:1435,1
    - Dst: qc_stream_buf_realloc
      Src: /src/haproxy/src/mux_quic.c:1438,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:1440,1
    - Dst: likely
      Src: /src/haproxy/src/mux_quic.c:1444,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_quic.c:1445,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_quic.c:1448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 1449
      start: 1422
    functionDepth: 2
    functionLinenumber: 1422
    functionLinenumberEnd: 1449
    functionName: qcc_realloc_stream_txbuf
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qc_stream_buf_realloc
    - likely
    - TRACE_ERROR
    - b_size
    - LIST_INLIST
    - qc_stream_buf_get
    - BUG_ON
    linkageType: ''
    returnType: struct buffer
    signature: '*qcc_realloc_stream_txbuf(struct qcs *qcs)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qcs_prep_bytes
      Src: /src/haproxy/src/mux_quic.c:1458,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:1458,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_quic.c:1459,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:1459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - qcs
    - out
    argTypes:
    - struct qcs*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1464
      start: 1456
    functionDepth: 2
    functionLinenumber: 1456
    functionLinenumberEnd: 1464
    functionName: qcc_realign_stream_txbuf
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - b_slow_realign
    - qcs_prep_bytes
    - b_data
    linkageType: ''
    returnType: int
    signature: qcc_realign_stream_txbuf(const struct qcs *qcs, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_stream_buf_release
      Src: /src/haproxy/src/mux_quic.c:1485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 1487
      start: 1475
    functionDepth: 2
    functionLinenumber: 1475
    functionLinenumberEnd: 1487
    functionName: qcc_release_stream_txbuf
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 2
    functionsReached:
    - qc_stream_buf_release
    linkageType: ''
    returnType: int
    signature: qcc_release_stream_txbuf(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_quic.c:1492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 1493
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1493
    functionName: qcc_stream_can_send
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 1
    functionsReached:
    - LIST_INLIST
    linkageType: ''
    returnType: int
    signature: qcc_stream_can_send(const struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:1502,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/mux_quic.c:1503,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:1504,1
    - Dst: tot_time_stop
      Src: /src/haproxy/src/mux_quic.c:1505,1
    - Dst: qcs_notify_send
      Src: /src/haproxy/src/mux_quic.c:1506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 1508
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1508
    functionName: qcc_notify_fctl
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - LIST_ISEMPTY
    - qcs_notify_send
    - LIST_DEL_INIT
    - tot_time_stop
    - LIST_ELEM
    linkageType: ''
    returnType: void
    signature: qcc_notify_fctl(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:1513,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:1514,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/mux_quic.c:1515,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/mux_quic.c:1516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 1518
      start: 1511
    functionDepth: 1
    functionLinenumber: 1511
    functionLinenumberEnd: 1518
    functionName: qcc_clear_frms
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - qc_frm_free
    - LIST_ISEMPTY
    - LIST_ELEM
    linkageType: ''
    returnType: void
    signature: qcc_clear_frms(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qcc_clear_frms
      Src: /src/haproxy/src/mux_quic.c:1529,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:1533,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:1535,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/mux_quic.c:1536,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_quic.c:1539,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:1540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - qcs
    - urg
    argTypes:
    - struct qcs*
    - int
    constantsTouched: []
    func_position:
      end: 1542
      start: 1525
    functionDepth: 2
    functionLinenumber: 1525
    functionLinenumberEnd: 1542
    functionName: _qcc_send_stream
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    - qcc_clear_frms
    - LIST_DEL_INIT
    - LIST_INLIST
    - LIST_INSERT
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: _qcc_send_stream(struct qcs *qcs, int urg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qcs_is_close_local
      Src: /src/haproxy/src/mux_quic.c:1550,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:1557,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:1565,1
    - Dst: qfctl_sblocked
      Src: /src/haproxy/src/mux_quic.c:1569,1
    - Dst: qcc_notify_fctl
      Src: /src/haproxy/src/mux_quic.c:1570,1
    - Dst: qcs_sc
      Src: /src/haproxy/src/mux_quic.c:1577,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_quic.c:1578,1
    - Dst: qcs_alert
      Src: /src/haproxy/src/mux_quic.c:1579,1
    - Dst: _qcc_send_stream
      Src: /src/haproxy/src/mux_quic.c:1582,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:1583,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - qcs
    - err
    argTypes:
    - struct qcs*
    - int
    constantsTouched: []
    func_position:
      end: 1584
      start: 1545
    functionDepth: 3
    functionLinenumber: 1545
    functionLinenumberEnd: 1584
    functionName: qcc_reset_stream
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - se_fl_set_error
    - qcs_sc
    - qcs_is_close_local
    - qcs_alert
    - _qcc_send_stream
    - tasklet_wakeup
    - qfctl_sblocked
    - TRACE_STATE
    - BUG_ON
    - qcc_notify_fctl
    linkageType: ''
    returnType: void
    signature: qcc_reset_stream(struct qcs *qcs, int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:1594,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:1597,1
    - Dst: qcs_is_close_local
      Src: /src/haproxy/src/mux_quic.c:1597,1
    - Dst: _qcc_send_stream
      Src: /src/haproxy/src/mux_quic.c:1599,1
    - Dst: qfctl_sinc
      Src: /src/haproxy/src/mux_quic.c:1602,1
    - Dst: qfctl_sinc
      Src: /src/haproxy/src/mux_quic.c:1603,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:1606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - qcs
    - urg
    - count
    argTypes:
    - struct qcs*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1607
      start: 1590
    functionDepth: 3
    functionLinenumber: 1590
    functionLinenumberEnd: 1607
    functionName: qcc_send_stream
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 2
    functionsReached:
    - TRACE_LEAVE
    - BUG_ON
    - _qcc_send_stream
    - qcs_is_close_local
    - TRACE_ENTER
    - qfctl_sinc
    linkageType: ''
    returnType: void
    signature: qcc_send_stream(struct qcs *qcs, int urg, int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:1614,1
    - Dst: qcs_is_close_remote
      Src: /src/haproxy/src/mux_quic.c:1616,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:1619,1
    - Dst: _qcc_send_stream
      Src: /src/haproxy/src/mux_quic.c:1622,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:1623,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:1626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 1627
      start: 1610
    functionDepth: 3
    functionLinenumber: 1610
    functionLinenumberEnd: 1627
    functionName: qcc_abort_stream_read
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - _qcc_send_stream
    - TRACE_ENTER
    - tasklet_wakeup
    - qcs_is_close_remote
    - TRACE_STATE
    linkageType: ''
    returnType: void
    signature: qcc_abort_stream_read(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:1634,1
    - Dst: struct qcc_app_ops*::init
      Src: /src/haproxy/src/mux_quic.c:1636,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:1637,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_quic.c:1641,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:1644,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:1648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - qcc
    - app_ops
    argTypes:
    - struct qcc*
    - struct qcc_app_ops*
    constantsTouched: []
    func_position:
      end: 1650
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1650
    functionName: qcc_install_app_ops
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - TRACE_PROTO
    - struct qcc_app_ops*::init
    - TRACE_ERROR
    linkageType: ''
    returnType: int
    signature: qcc_install_app_ops(struct qcc *qcc, const struct qcc_app_ops *app_ops)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:1668,1
    - Dst: eb64_lookup_le
      Src: /src/haproxy/src/mux_quic.c:1670,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_quic.c:1672,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:1677,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/mux_quic.c:1678,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:1680,1
    - Dst: qmux_stream_rx_bufsz
      Src: /src/haproxy/src/mux_quic.c:1686,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/mux_quic.c:1687,1
    - Dst: qcs_get_ncbuf
      Src: /src/haproxy/src/mux_quic.c:1691,1
    - Dst: ncb_is_null
      Src: /src/haproxy/src/mux_quic.c:1691,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:1692,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:1693,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:1700,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:1704,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - qcs
    - offset
    - len
    argTypes:
    - struct qcs*
    - uint64_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 1706
      start: 1660
    functionDepth: 4
    functionLinenumber: 1660
    functionLinenumberEnd: 1706
    functionName: qcs_get_rxbuf
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - container_of
    - qmux_stream_rx_bufsz
    - eb64_insert
    - TRACE_ENTER
    - ncb_is_null
    - pool_alloc
    - eb64_lookup_le
    - TRACE_DEVEL
    - TRACE_ERROR
    - qcs_get_ncbuf
    - qcc_set_error
    linkageType: ''
    returnType: struct qc_stream_rxbuf
    signature: "*qcs_get_rxbuf(struct qcs *qcs, uint64_t offset,\n                                             uint64_t
      *len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:1724,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1727,1
    - Dst: qcc_get_qcs
      Src: /src/haproxy/src/mux_quic.c:1738,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1739,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1744,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:1758,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:1759,1
    - Dst: qcs_is_close_remote
      Src: /src/haproxy/src/mux_quic.c:1763,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1764,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1770,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_quic.c:1774,1
    - Dst: qcs_idle_open
      Src: /src/haproxy/src/mux_quic.c:1775,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:1790,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:1792,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1797,1
    - Dst: qcs_get_rxbuf
      Src: /src/haproxy/src/mux_quic.c:1811,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:1813,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:1814,1
    - Dst: MAX
      Src: /src/haproxy/src/mux_quic.c:1819,1
    - Dst: ncb_add
      Src: /src/haproxy/src/mux_quic.c:1821,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:1837,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:1839,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1843,1
    - Dst: qcs_rx_avail_data
      Src: /src/haproxy/src/mux_quic.c:1858,1
    - Dst: qcs_close_remote
      Src: /src/haproxy/src/mux_quic.c:1859,1
    - Dst: qcs_rx_avail_data
      Src: /src/haproxy/src/mux_quic.c:1862,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_quic.c:1863,1
    - Dst: qcs_is_close_remote
      Src: /src/haproxy/src/mux_quic.c:1863,1
    - Dst: qcc_decode_qcs
      Src: /src/haproxy/src/mux_quic.c:1865,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:1866,1
    - Dst: qcc_refresh_timeout
      Src: /src/haproxy/src/mux_quic.c:1867,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:1872,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:1876,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:1880,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 99
    argCount: 6
    argNames:
    - qcc
    - id
    - len
    - offset
    - fin
    - data
    argTypes:
    - struct qcc*
    - uint64_t
    - uint64_t
    - uint64_t
    - char
    - char*
    constantsTouched: []
    func_position:
      end: 1882
      start: 1715
    functionDepth: 8
    functionLinenumber: 1715
    functionLinenumberEnd: 1882
    functionName: qcc_recv
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_DATA
    - qcc_refresh_timeout
    - TRACE_ENTER
    - qcc_get_qcs
    - qcs_get_rxbuf
    - qcc_set_error
    - TRACE_LEAVE
    - MAX
    - qcs_idle_open
    - LIST_DEL_INIT
    - BUG_ON_HOT
    - ncb_add
    - qcs_close_remote
    - TRACE_PROTO
    - qcc_decode_qcs
    - TRACE_ERROR
    - qcs_rx_avail_data
    - qcs_is_close_remote
    - unlikely
    linkageType: ''
    returnType: int
    signature: "qcc_recv(struct qcc *qcc, uint64_t id, uint64_t len, uint64_t offset,\n
      \            char fin, char *data)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:1894,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_quic.c:1896,1
    - Dst: qfctl_set_max
      Src: /src/haproxy/src/mux_quic.c:1897,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1898,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:1901,1
    - Dst: qcc_notify_fctl
      Src: /src/haproxy/src/mux_quic.c:1904,1
    - Dst: qfctl_rblocked
      Src: /src/haproxy/src/mux_quic.c:1910,1
    - Dst: qcc_clear_frms
      Src: /src/haproxy/src/mux_quic.c:1911,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:1914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - qcc
    - max
    argTypes:
    - struct qcc*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1916
      start: 1889
    functionDepth: 2
    functionLinenumber: 1889
    functionLinenumberEnd: 1916
    functionName: qcc_recv_max_data
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qfctl_rblocked
    - TRACE_DATA
    - TRACE_LEAVE
    - TRACE_ENTER
    - TRACE_PROTO
    - tasklet_wakeup
    - qcc_clear_frms
    - qcc_notify_fctl
    - qfctl_set_max
    linkageType: ''
    returnType: int
    signature: qcc_recv_max_data(struct qcc *qcc, uint64_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:1928,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1931,1
    - Dst: qcc_get_qcs
      Src: /src/haproxy/src/mux_quic.c:1943,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_quic.c:1950,1
    - Dst: qfctl_set_max
      Src: /src/haproxy/src/mux_quic.c:1951,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1952,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:1955,1
    - Dst: tot_time_stop
      Src: /src/haproxy/src/mux_quic.c:1959,1
    - Dst: qcs_notify_send
      Src: /src/haproxy/src/mux_quic.c:1960,1
    - Dst: qfctl_rblocked
      Src: /src/haproxy/src/mux_quic.c:1964,1
    - Dst: qcc_clear_frms
      Src: /src/haproxy/src/mux_quic.c:1965,1
    - Dst: qcc_may_expire
      Src: /src/haproxy/src/mux_quic.c:1969,1
    - Dst: qcc_refresh_timeout
      Src: /src/haproxy/src/mux_quic.c:1970,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:1972,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:1976,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - qcc
    - id
    - max
    argTypes:
    - struct qcc*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1978
      start: 1924
    functionDepth: 7
    functionLinenumber: 1924
    functionLinenumberEnd: 1978
    functionName: qcc_recv_max_stream_data
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qfctl_rblocked
    - TRACE_DATA
    - qcc_refresh_timeout
    - TRACE_LEAVE
    - TRACE_ENTER
    - qcs_notify_send
    - qcc_may_expire
    - TRACE_PROTO
    - tasklet_wakeup
    - qcc_clear_frms
    - TRACE_DEVEL
    - qcc_get_qcs
    - tot_time_stop
    - qfctl_set_max
    linkageType: ''
    returnType: int
    signature: qcc_recv_max_stream_data(struct qcc *qcc, uint64_t id, uint64_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:1992,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:1995,1
    - Dst: qcc_get_qcs
      Src: /src/haproxy/src/mux_quic.c:2004,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:2005,1
    - Dst: qcs_is_close_remote
      Src: /src/haproxy/src/mux_quic.c:2016,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_quic.c:2019,1
    - Dst: qcs_idle_open
      Src: /src/haproxy/src/mux_quic.c:2020,1
    - Dst: struct qcc*::app_ops::close
      Src: /src/haproxy/src/mux_quic.c:2024,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:2025,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:2032,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:2033,1
    - Dst: qcs_close_remote
      Src: /src/haproxy/src/mux_quic.c:2045,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_quic.c:2046,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_quic.c:2047,1
    - Dst: eb64_first
      Src: /src/haproxy/src/mux_quic.c:2047,1
    - Dst: qcs_free_rxbuf
      Src: /src/haproxy/src/mux_quic.c:2049,1
    - Dst: session_add_glitch_ctr
      Src: /src/haproxy/src/mux_quic.c:2054,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2056,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2060,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - qcc
    - id
    - err
    - final_size
    argTypes:
    - struct qcc*
    - uint64_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2062
      start: 1986
    functionDepth: 7
    functionLinenumber: 1986
    functionLinenumberEnd: 2062
    functionName: qcc_recv_reset_stream
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_DATA
    - container_of
    - qcs_free_rxbuf
    - TRACE_LEAVE
    - TRACE_ENTER
    - qcs_close_remote
    - TRACE_PROTO
    - eb_is_empty
    - qcs_idle_open
    - eb64_first
    - TRACE_ERROR
    - qcc_get_qcs
    - qcs_is_close_remote
    - struct qcc*::app_ops::close
    - session_add_glitch_ctr
    - qcc_set_error
    linkageType: ''
    returnType: int
    signature: qcc_recv_reset_stream(struct qcc *qcc, uint64_t id, uint64_t err, uint64_t
      final_size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2075,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:2078,1
    - Dst: qcc_get_qcs
      Src: /src/haproxy/src/mux_quic.c:2090,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_quic.c:2096,1
    - Dst: qcs_is_close_local
      Src: /src/haproxy/src/mux_quic.c:2113,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:2114,1
    - Dst: qcs_idle_open
      Src: /src/haproxy/src/mux_quic.c:2118,1
    - Dst: struct qcc*::app_ops::close
      Src: /src/haproxy/src/mux_quic.c:2121,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:2122,1
    - Dst: qcs_sc
      Src: /src/haproxy/src/mux_quic.c:2128,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_quic.c:2128,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_quic.c:2129,1
    - Dst: qcs_alert
      Src: /src/haproxy/src/mux_quic.c:2130,1
    - Dst: qcc_reset_stream
      Src: /src/haproxy/src/mux_quic.c:2153,1
    - Dst: qcc_may_expire
      Src: /src/haproxy/src/mux_quic.c:2155,1
    - Dst: qcc_refresh_timeout
      Src: /src/haproxy/src/mux_quic.c:2156,1
    - Dst: session_add_glitch_ctr
      Src: /src/haproxy/src/mux_quic.c:2160,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2162,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2166,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - qcc
    - id
    - err
    argTypes:
    - struct qcc*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2168
      start: 2070
    functionDepth: 7
    functionLinenumber: 2070
    functionLinenumberEnd: 2168
    functionName: qcc_recv_stop_sending
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_DATA
    - qcc_reset_stream
    - qcc_refresh_timeout
    - qcs_is_close_local
    - TRACE_ENTER
    - qcc_get_qcs
    - struct qcc*::app_ops::close
    - TRACE_LEAVE
    - se_fl_test
    - qcs_idle_open
    - session_add_glitch_ctr
    - qcs_alert
    - TRACE_DEVEL
    - qcs_sc
    - qcc_may_expire
    - TRACE_PROTO
    - se_fl_set
    - TRACE_ERROR
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: qcc_recv_stop_sending(struct qcc *qcc, uint64_t id, uint64_t err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2179,1
    - Dst: quic_stream_is_bidi
      Src: /src/haproxy/src/mux_quic.c:2181,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:2194,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:2204,1
    - Dst: qc_frm_alloc
      Src: /src/haproxy/src/mux_quic.c:2205,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/mux_quic.c:2207,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:2213,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:2214,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2229,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2233,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - qcc
    - id
    argTypes:
    - struct qcc*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2235
      start: 2175
    functionDepth: 2
    functionLinenumber: 2175
    functionLinenumberEnd: 2235
    functionName: qcc_release_remote_stream
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qc_frm_alloc
    - TRACE_DATA
    - TRACE_LEAVE
    - TRACE_ENTER
    - LIST_APPEND
    - tasklet_wakeup
    - TRACE_DEVEL
    - quic_stream_is_bidi
    - qcc_set_error
    linkageType: ''
    returnType: int
    signature: qcc_release_remote_stream(struct qcc *qcc, uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2244,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:2250,1
    - Dst: quic_stream_is_remote
      Src: /src/haproxy/src/mux_quic.c:2252,1
    - Dst: qcc_release_remote_stream
      Src: /src/haproxy/src/mux_quic.c:2253,1
    - Dst: qcs_free
      Src: /src/haproxy/src/mux_quic.c:2256,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 2259
      start: 2238
    functionDepth: 4
    functionLinenumber: 2238
    functionLinenumberEnd: 2259
    functionName: qcs_destroy
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - qcs_free
    - quic_stream_is_remote
    - BUG_ON
    - qcc_release_remote_stream
    linkageType: ''
    returnType: void
    signature: qcs_destroy(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2279,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:2282,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:2282,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:2288,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:2294,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2304,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_quic.c:2308,1
    - Dst: qc_frm_alloc
      Src: /src/haproxy/src/mux_quic.c:2309,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:2311,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_quic.c:2322,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:2322,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:2345,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2353,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2360,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 5
    argNames:
    - qcs
    - out
    - fin
    - frm_list
    - window_conn
    argTypes:
    - struct qcs*
    - struct buffer*
    - char
    - struct list*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2362
      start: 2270
    functionDepth: 1
    functionLinenumber: 2270
    functionLinenumberEnd: 2362
    functionName: qcs_build_stream_frm
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qc_frm_alloc
    - TRACE_LEAVE
    - TRACE_DATA
    - TRACE_ENTER
    - b_peek
    - LIST_APPEND
    - TRACE_PROTO
    - b_data
    - TRACE_ERROR
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: "qcs_build_stream_frm(struct qcs *qcs, struct buffer *out, char fin,\n
      \                               struct list *frm_list, uint64_t window_conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2376,1
    - Dst: struct connection*::xprt::subscribe
      Src: /src/haproxy/src/mux_quic.c:2377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 2379
      start: 2365
    functionDepth: 0
    functionLinenumber: 2365
    functionLinenumberEnd: 2379
    functionName: qcc_subscribe_send
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_DEVEL
    - struct connection*::xprt::subscribe
    linkageType: ''
    returnType: int
    signature: qcc_subscribe_send(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2392,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:2394,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2395,1
    - Dst: qcc_is_pacing_active
      Src: /src/haproxy/src/mux_quic.c:2399,1
    - Dst: qc_send_mux
      Src: /src/haproxy/src/mux_quic.c:2402,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2404,1
    - Dst: qcc_subscribe_send
      Src: /src/haproxy/src/mux_quic.c:2405,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:2412,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2413,1
    - Dst: qcc_subscribe_send
      Src: /src/haproxy/src/mux_quic.c:2414,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2418,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2422,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - qcc
    - frms
    - stream
    argTypes:
    - struct qcc*
    - struct list*
    - int
    constantsTouched: []
    func_position:
      end: 2424
      start: 2387
    functionDepth: 5
    functionLinenumber: 2387
    functionLinenumberEnd: 2424
    functionName: qcc_send_frames
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - TRACE_ENTER
    - qcc_is_pacing_active
    - TRACE_DEVEL
    - qc_send_mux
    - qcc_subscribe_send
    linkageType: ''
    returnType: int
    signature: qcc_send_frames(struct qcc *qcc, struct list *frms, int stream)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/mux_quic.c:2432,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2435,1
    - Dst: qc_frm_alloc
      Src: /src/haproxy/src/mux_quic.c:2437,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2439,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:2447,1
    - Dst: qcc_send_frames
      Src: /src/haproxy/src/mux_quic.c:2448,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:2449,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/mux_quic.c:2450,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2451,1
    - Dst: qcs_close_local
      Src: /src/haproxy/src/mux_quic.c:2455,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 2460
      start: 2430
    functionDepth: 6
    functionLinenumber: 2430
    functionLinenumberEnd: 2460
    functionName: qcs_send_reset
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qc_frm_alloc
    - TRACE_LEAVE
    - LIST_HEAD_INIT
    - LIST_ISEMPTY
    - TRACE_ENTER
    - LIST_APPEND
    - qc_frm_free
    - qcc_send_frames
    - TRACE_DEVEL
    - qcs_close_local
    linkageType: ''
    returnType: int
    signature: qcs_send_reset(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/mux_quic.c:2468,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2472,1
    - Dst: qcs_is_close_remote
      Src: /src/haproxy/src/mux_quic.c:2484,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:2485,1
    - Dst: qc_frm_alloc
      Src: /src/haproxy/src/mux_quic.c:2489,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2491,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:2498,1
    - Dst: qcc_send_frames
      Src: /src/haproxy/src/mux_quic.c:2499,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:2500,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/mux_quic.c:2501,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2502,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2509,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 2511
      start: 2466
    functionDepth: 6
    functionLinenumber: 2466
    functionLinenumberEnd: 2511
    functionName: qcs_send_stop_sending
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qc_frm_alloc
    - TRACE_LEAVE
    - LIST_HEAD_INIT
    - LIST_ISEMPTY
    - TRACE_ENTER
    - LIST_APPEND
    - qc_frm_free
    - qcc_send_frames
    - TRACE_DEVEL
    - qcs_is_close_remote
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: qcs_send_stop_sending(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_stream_buf_get
      Src: /src/haproxy/src/mux_quic.c:2524,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2528,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:2531,1
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/src/mux_quic.c:2531,1
    - Dst: quic_stream_is_remote
      Src: /src/haproxy/src/mux_quic.c:2531,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:2534,1
    - Dst: qcs_prep_bytes
      Src: /src/haproxy/src/mux_quic.c:2534,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2540,1
    - Dst: qcs_build_stream_frm
      Src: /src/haproxy/src/mux_quic.c:2546,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2551,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - qcs
    - frms
    - window_conn
    argTypes:
    - struct qcs*
    - struct list*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2557
      start: 2521
    functionDepth: 2
    functionLinenumber: 2521
    functionLinenumberEnd: 2557
    functionName: qcs_send
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - qcs_build_stream_frm
    - quic_stream_is_uni
    - quic_stream_is_remote
    - TRACE_DEVEL
    - qcs_prep_bytes
    - qc_stream_buf_get
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: qcs_send(struct qcs *qcs, struct list *frms, uint64_t window_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2569,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/mux_quic.c:2571,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:2573,1
    - Dst: qcs_prep_bytes
      Src: /src/haproxy/src/mux_quic.c:2574,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:2583,1
    - Dst: qcs_send_stop_sending
      Src: /src/haproxy/src/mux_quic.c:2595,1
    - Dst: qcs_prep_bytes
      Src: /src/haproxy/src/mux_quic.c:2600,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:2601,1
    - Dst: qcs_send_reset
      Src: /src/haproxy/src/mux_quic.c:2607,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:2617,1
    - Dst: qcs_is_completed
      Src: /src/haproxy/src/mux_quic.c:2618,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:2619,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:2620,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2626,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2630,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 2632
      start: 2565
    functionDepth: 7
    functionLinenumber: 2565
    functionLinenumberEnd: 2632
    functionName: qcc_emit_rs_ss
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_DATA
    - TRACE_LEAVE
    - list_for_each_entry_safe
    - TRACE_ENTER
    - LIST_APPEND
    - qcs_send_stop_sending
    - qcs_is_completed
    - LIST_DEL_INIT
    - TRACE_DEVEL
    - TRACE_STATE
    - qcs_prep_bytes
    - BUG_ON
    - qcs_send_reset
    linkageType: ''
    returnType: int
    signature: qcc_emit_rs_ss(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2654,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:2657,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:2657,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/mux_quic.c:2659,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:2664,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:2667,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:2669,1
    - Dst: qcs_prep_bytes
      Src: /src/haproxy/src/mux_quic.c:2669,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:2672,1
    - Dst: qfctl_rblocked
      Src: /src/haproxy/src/mux_quic.c:2674,1
    - Dst: qfctl_rblocked
      Src: /src/haproxy/src/mux_quic.c:2675,1
    - Dst: qcs_send
      Src: /src/haproxy/src/mux_quic.c:2676,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:2678,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:2679,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:2688,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:2689,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2697,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - qcc
    - qcs_failed
    argTypes:
    - struct qcc*
    - struct list*
    constantsTouched: []
    func_position:
      end: 2699
      start: 2647
    functionDepth: 3
    functionLinenumber: 2647
    functionLinenumberEnd: 2699
    functionName: qcc_build_frms
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qfctl_rblocked
    - TRACE_DATA
    - TRACE_LEAVE
    - list_for_each_entry_safe
    - LIST_ISEMPTY
    - TRACE_ENTER
    - LIST_APPEND
    - qcs_send
    - LIST_DEL_INIT
    - qcs_prep_bytes
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: qcc_build_frms(struct qcc *qcc, struct list *qcs_failed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_quic.c:2708,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/mux_quic.c:2708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 2710
      start: 2702
    functionDepth: 1
    functionLinenumber: 2702
    functionLinenumberEnd: 2710
    functionName: qcc_wakeup_pacing
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - tick_add_ifset
    - MS_TO_TICKS
    linkageType: ''
    returnType: void
    signature: qcc_wakeup_pacing(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2722,1
    - Dst: struct qcc*::app_ops::finalize
      Src: /src/haproxy/src/mux_quic.c:2725,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:2727,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:2732,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2740,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2744,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 2746
      start: 2718
    functionDepth: 0
    functionLinenumber: 2718
    functionLinenumberEnd: 2746
    functionName: qcc_app_init
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - struct qcc*::app_ops::finalize
    - TRACE_LEAVE
    - TRACE_ENTER
    - TRACE_ERROR
    - TRACE_DEVEL
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: qcc_app_init(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/mux_quic.c:2757,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2762,1
    - Dst: qcc_is_pacing_active
      Src: /src/haproxy/src/mux_quic.c:2764,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2777,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:2785,1
    - Dst: quic_set_connection_close
      Src: /src/haproxy/src/mux_quic.c:2786,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2794,1
    - Dst: qcc_app_init
      Src: /src/haproxy/src/mux_quic.c:2799,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:2803,1
    - Dst: qcc_send_frames
      Src: /src/haproxy/src/mux_quic.c:2804,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2805,1
    - Dst: qcc_emit_rs_ss
      Src: /src/haproxy/src/mux_quic.c:2810,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:2811,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:2816,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:2816,1
    - Dst: qcc_build_frms
      Src: /src/haproxy/src/mux_quic.c:2817,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:2818,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:2822,1
    - Dst: qcc_is_pacing_active
      Src: /src/haproxy/src/mux_quic.c:2822,1
    - Dst: quic_pacing_reload
      Src: /src/haproxy/src/mux_quic.c:2823,1
    - Dst: qcc_wakeup_pacing
      Src: /src/haproxy/src/mux_quic.c:2824,1
    - Dst: qcc_send_frames
      Src: /src/haproxy/src/mux_quic.c:2833,1
    - Dst: qfctl_rblocked
      Src: /src/haproxy/src/mux_quic.c:2833,1
    - Dst: qfctl_rcap
      Src: /src/haproxy/src/mux_quic.c:2834,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/mux_quic.c:2840,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:2845,1
    - Dst: qfctl_rblocked
      Src: /src/haproxy/src/mux_quic.c:2845,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:2848,1
    - Dst: qfctl_rblocked
      Src: /src/haproxy/src/mux_quic.c:2850,1
    - Dst: qcs_send
      Src: /src/haproxy/src/mux_quic.c:2851,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:2852,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:2853,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:2865,1
    - Dst: qcc_is_pacing_active
      Src: /src/haproxy/src/mux_quic.c:2865,1
    - Dst: qcc_wakeup_pacing
      Src: /src/haproxy/src/mux_quic.c:2866,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:2871,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/mux_quic.c:2872,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:2873,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:2874,1
    - Dst: qfctl_rblocked
      Src: /src/haproxy/src/mux_quic.c:2877,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:2878,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:2882,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2887,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 93
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 2889
      start: 2753
    functionDepth: 8
    functionLinenumber: 2753
    functionLinenumberEnd: 2889
    functionName: qcc_io_send
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qfctl_rblocked
    - TRACE_DATA
    - LIST_HEAD_INIT
    - TRACE_ENTER
    - quic_pacing_reload
    - qcc_wakeup_pacing
    - qcc_send_frames
    - BUG_ON
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - quic_set_connection_close
    - LIST_DEL_INIT
    - qcc_build_frms
    - tasklet_wakeup
    - qcc_is_pacing_active
    - TRACE_DEVEL
    - qcc_emit_rs_ss
    - list_for_each_entry_safe
    - LIST_APPEND
    - qcs_send
    - qcc_app_init
    - TRACE_ERROR
    - qfctl_rcap
    linkageType: ''
    returnType: int
    signature: qcc_io_send(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2901,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:2905,1
    - Dst: eb64_first
      Src: /src/haproxy/src/mux_quic.c:2910,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_quic.c:2912,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_quic.c:2913,1
    - Dst: qcs_notify_recv
      Src: /src/haproxy/src/mux_quic.c:2914,1
    - Dst: eb64_next
      Src: /src/haproxy/src/mux_quic.c:2915,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2921,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 2922
      start: 2894
    functionDepth: 1
    functionLinenumber: 2894
    functionLinenumberEnd: 2922
    functionName: qcc_wait_for_hs
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - container_of
    - se_fl_test
    - TRACE_ENTER
    - eb64_first
    - eb64_next
    - TRACE_STATE
    - qcs_notify_recv
    linkageType: ''
    returnType: void
    signature: qcc_wait_for_hs(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2934,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:2937,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2938,1
    - Dst: qcc_wait_for_hs
      Src: /src/haproxy/src/mux_quic.c:2943,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:2945,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/mux_quic.c:2946,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:2948,1
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/src/mux_quic.c:2948,1
    - Dst: quic_stream_is_local
      Src: /src/haproxy/src/mux_quic.c:2948,1
    - Dst: qcs_rx_avail_data
      Src: /src/haproxy/src/mux_quic.c:2950,1
    - Dst: qcc_decode_qcs
      Src: /src/haproxy/src/mux_quic.c:2951,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:2952,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2959,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 2961
      start: 2929
    functionDepth: 8
    functionLinenumber: 2929
    functionLinenumberEnd: 2961
    functionName: qcc_io_recv
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_DATA
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - qcc_wait_for_hs
    - TRACE_ENTER
    - quic_stream_is_local
    - quic_stream_is_uni
    - qcc_decode_qcs
    - qcs_rx_avail_data
    - LIST_DEL_INIT
    - BUG_ON
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: qcc_io_recv(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2969,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:2971,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/mux_quic.c:2972,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:2974,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:2975,1
    - Dst: qcs_is_completed
      Src: /src/haproxy/src/mux_quic.c:2975,1
    - Dst: qcs_destroy
      Src: /src/haproxy/src/mux_quic.c:2976,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:2979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 2980
      start: 2965
    functionDepth: 5
    functionLinenumber: 2965
    functionLinenumberEnd: 2980
    functionName: qcc_purge_streams
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - qcs_destroy
    - TRACE_ENTER
    - qcs_is_completed
    - BUG_ON_HOT
    - TRACE_STATE
    - LIST_ELEM
    linkageType: ''
    returnType: void
    signature: qcc_purge_streams(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:2988,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_quic.c:2991,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:2998,1
    - Dst: struct qcc*::app_ops::shutdown
      Src: /src/haproxy/src/mux_quic.c:3000,1
    - Dst: qcc_io_send
      Src: /src/haproxy/src/mux_quic.c:3001,1
    - Dst: quic_err_transport
      Src: /src/haproxy/src/mux_quic.c:3004,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3019,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 3020
      start: 2986
    functionDepth: 9
    functionLinenumber: 2986
    functionLinenumberEnd: 3020
    functionName: qcc_shutdown
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - quic_err_transport
    - TRACE_DATA
    - qcc_io_send
    - TRACE_LEAVE
    - TRACE_ENTER
    - struct qcc*::app_ops::shutdown
    - TRACE_STATE
    linkageType: ''
    returnType: void
    signature: qcc_shutdown(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_quic.c:3030,1
    - Dst: eb64_first
      Src: /src/haproxy/src/mux_quic.c:3032,1
    - Dst: eb64_next
      Src: /src/haproxy/src/mux_quic.c:3033,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/mux_quic.c:3034,1
    - Dst: qcs_sc
      Src: /src/haproxy/src/mux_quic.c:3036,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_quic.c:3040,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_quic.c:3041,1
    - Dst: qcs_alert
      Src: /src/haproxy/src/mux_quic.c:3042,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 3047
      start: 3025
    functionDepth: 2
    functionLinenumber: 3025
    functionLinenumberEnd: 3047
    functionName: qcc_wake_some_streams
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - se_fl_set_error
    - qcs_sc
    - qcs_alert
    - eb64_first
    - eb64_entry
    - eb64_next
    linkageType: ''
    returnType: int
    signature: qcc_wake_some_streams(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:3057,1
    - Dst: qcc_purge_streams
      Src: /src/haproxy/src/mux_quic.c:3058,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_quic.c:3064,1
    - Dst: qc_test_fd
      Src: /src/haproxy/src/mux_quic.c:3070,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3071,1
    - Dst: qcc_io_send
      Src: /src/haproxy/src/mux_quic.c:3073,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3077,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_quic.c:3083,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/mux_quic.c:3088,1
    - Dst: qcc_shutdown
      Src: /src/haproxy/src/mux_quic.c:3096,1
    - Dst: qcc_wake_some_streams
      Src: /src/haproxy/src/mux_quic.c:3101,1
    - Dst: qcc_is_dead
      Src: /src/haproxy/src/mux_quic.c:3104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 3108
      start: 3055
    functionDepth: 10
    functionLinenumber: 3055
    functionLinenumberEnd: 3108
    functionName: qcc_io_process
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qcc_wake_some_streams
    - qcc_io_send
    - statistical_prng_range
    - LIST_ISEMPTY
    - qc_test_fd
    - qcc_is_dead
    - TRACE_DEVEL
    - tick_isset
    - qcc_shutdown
    - qcc_purge_streams
    - unlikely
    linkageType: ''
    returnType: int
    signature: qcc_io_process(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:3117,1
    - Dst: task_destroy
      Src: /src/haproxy/src/mux_quic.c:3119,1
    - Dst: task_destroy
      Src: /src/haproxy/src/mux_quic.c:3122,1
    - Dst: eb64_first
      Src: /src/haproxy/src/mux_quic.c:3127,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/mux_quic.c:3129,1
    - Dst: eb64_next
      Src: /src/haproxy/src/mux_quic.c:3130,1
    - Dst: qcs_free
      Src: /src/haproxy/src/mux_quic.c:3131,1
    - Dst: eb64_first
      Src: /src/haproxy/src/mux_quic.c:3137,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/mux_quic.c:3139,1
    - Dst: qc_stream_desc_sub_room
      Src: /src/haproxy/src/mux_quic.c:3140,1
    - Dst: eb64_next
      Src: /src/haproxy/src/mux_quic.c:3141,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_quic.c:3145,1
    - Dst: struct connection*::xprt::unsubscribe
      Src: /src/haproxy/src/mux_quic.c:3147,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_quic.c:3152,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/mux_quic.c:3153,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/mux_quic.c:3154,1
    - Dst: qcc_clear_frms
      Src: /src/haproxy/src/mux_quic.c:3157,1
    - Dst: struct qcc*::app_ops::release
      Src: /src/haproxy/src/mux_quic.c:3160,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_quic.c:3161,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_quic.c:3163,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_quic.c:3166,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3171,1
    - Dst: conn_stop_tracking
      Src: /src/haproxy/src/mux_quic.c:3173,1
    - Dst: conn_full_close
      Src: /src/haproxy/src/mux_quic.c:3174,1
    - Dst: struct connection*::destroy_cb
      Src: /src/haproxy/src/mux_quic.c:3176,1
    - Dst: conn_free
      Src: /src/haproxy/src/mux_quic.c:3177,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3180,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 3181
      start: 3111
    functionDepth: 4
    functionLinenumber: 3111
    functionLinenumberEnd: 3181
    functionName: qcc_release
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - struct connection*::destroy_cb
    - TRACE_ENTER
    - qc_stream_desc_sub_room
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - qc_frm_free
    - LIST_DEL_INIT
    - struct qcc*::app_ops::release
    - tasklet_free
    - eb64_first
    - pool_free
    - conn_stop_tracking
    - TRACE_DEVEL
    - LIST_ELEM
    - conn_full_close
    - conn_free
    - TRACE_PROTO
    - qcs_free
    - eb64_entry
    - qcc_clear_frms
    - eb64_next
    - task_destroy
    - struct connection*::xprt::unsubscribe
    linkageType: ''
    returnType: void
    signature: qcc_release(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:3187,1
    - Dst: qcc_io_send
      Src: /src/haproxy/src/mux_quic.c:3190,1
    - Dst: qcc_io_recv
      Src: /src/haproxy/src/mux_quic.c:3192,1
    - Dst: qcc_io_process
      Src: /src/haproxy/src/mux_quic.c:3194,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:3195,1
    - Dst: qcc_refresh_timeout
      Src: /src/haproxy/src/mux_quic.c:3199,1
    - Dst: qcc_is_pacing_active
      Src: /src/haproxy/src/mux_quic.c:3202,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_quic.c:3203,1
    - Dst: task_queue
      Src: /src/haproxy/src/mux_quic.c:3204,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3207,1
    - Dst: qcc_shutdown
      Src: /src/haproxy/src/mux_quic.c:3212,1
    - Dst: qcc_release
      Src: /src/haproxy/src/mux_quic.c:3213,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - t
    - ctx
    - status
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3218
      start: 3183
    functionDepth: 11
    functionLinenumber: 3183
    functionLinenumberEnd: 3218
    functionName: qcc_io_cb
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qcc_io_recv
    - qcc_refresh_timeout
    - qcc_io_send
    - TRACE_LEAVE
    - TRACE_ENTER
    - task_queue
    - qcc_is_pacing_active
    - tick_isset
    - qcc_shutdown
    - TRACE_STATE
    - qcc_io_process
    - qcc_release
    linkageType: ''
    returnType: struct task
    signature: '*qcc_io_cb(struct task *t, void *ctx, unsigned int status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:3225,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_quic.c:3228,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3229,1
    - Dst: tasklet_wakeup_after
      Src: /src/haproxy/src/mux_quic.c:3234,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3239
      start: 3220
    functionDepth: 1
    functionLinenumber: 3220
    functionLinenumberEnd: 3239
    functionName: qcc_pacing_task
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - TRACE_DEVEL
    - tick_isset
    - tasklet_wakeup_after
    linkageType: ''
    returnType: struct task
    signature: '*qcc_pacing_task(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:3246,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3250,1
    - Dst: qcc_may_expire
      Src: /src/haproxy/src/mux_quic.c:3254,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3255,1
    - Dst: task_destroy
      Src: /src/haproxy/src/mux_quic.c:3261,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3264,1
    - Dst: qcc_is_dead
      Src: /src/haproxy/src/mux_quic.c:3276,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:3277,1
    - Dst: qcc_shutdown
      Src: /src/haproxy/src/mux_quic.c:3278,1
    - Dst: qcc_release
      Src: /src/haproxy/src/mux_quic.c:3279,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3283,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3287,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3289
      start: 3241
    functionDepth: 10
    functionLinenumber: 3241
    functionLinenumberEnd: 3289
    functionName: qcc_timeout_task
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - qcc_may_expire
    - qcc_is_dead
    - TRACE_DEVEL
    - task_destroy
    - qcc_shutdown
    - TRACE_STATE
    - qcc_release
    linkageType: ''
    returnType: struct task
    signature: '*qcc_timeout_task(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_quic.c:3300,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_quic.c:3301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 3302
      start: 3292
    functionDepth: 0
    functionLinenumber: 3292
    functionLinenumberEnd: 3302
    functionName: _qcc_init
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: _qcc_init(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:3310,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/mux_quic.c:3312,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:3314,1
    - Dst: _qcc_init
      Src: /src/haproxy/src/mux_quic.c:3318,1
    - Dst: quic_err_transport
      Src: /src/haproxy/src/mux_quic.c:3324,1
    - Dst: qfctl_init
      Src: /src/haproxy/src/mux_quic.c:3340,1
    - Dst: qcc_is_pacing_active
      Src: /src/haproxy/src/mux_quic.c:3347,1
    - Dst: quic_pacing_init
      Src: /src/haproxy/src/mux_quic.c:3348,1
    - Dst: task_new_here
      Src: /src/haproxy/src/mux_quic.c:3352,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:3354,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_quic.c:3363,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/mux_quic.c:3376,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:3378,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_quic.c:3382,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_quic.c:3383,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_quic.c:3384,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_quic.c:3385,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_quic.c:3386,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_quic.c:3395,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_quic.c:3397,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_quic.c:3402,1
    - Dst: task_new_here
      Src: /src/haproxy/src/mux_quic.c:3409,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_quic.c:3411,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_quic.c:3416,1
    - Dst: qcc_reset_idle_start
      Src: /src/haproxy/src/mux_quic.c:3418,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_quic.c:3419,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/mux_quic.c:3421,1
    - Dst: qcc_install_app_ops
      Src: /src/haproxy/src/mux_quic.c:3426,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_quic.c:3427,1
    - Dst: proxy_inc_fe_cum_sess_ver_ctr
      Src: /src/haproxy/src/mux_quic.c:3432,1
    - Dst: conn_is_back
      Src: /src/haproxy/src/mux_quic.c:3435,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:3436,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:3439,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:3447,1
    - Dst: struct connection*::xprt::subscribe
      Src: /src/haproxy/src/mux_quic.c:3450,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3456,1
    - Dst: quic_err_transport
      Src: /src/haproxy/src/mux_quic.c:3463,1
    - Dst: quic_set_connection_close
      Src: /src/haproxy/src/mux_quic.c:3464,1
    - Dst: qcc_release
      Src: /src/haproxy/src/mux_quic.c:3470,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3474,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 123
    argCount: 4
    argNames:
    - conn
    - prx
    - sess
    - input
    argTypes:
    - struct connection*
    - struct proxy*
    - struct session*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 3476
      start: 3304
    functionDepth: 5
    functionLinenumber: 3304
    functionLinenumberEnd: 3476
    functionName: qmux_init
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - _qcc_init
    - TRACE_ENTER
    - pool_alloc
    - struct connection*::xprt::subscribe
    - tasklet_new
    - task_new_here
    - HA_ATOMIC_STORE
    - TRACE_LEAVE
    - proxy_inc_fe_cum_sess_ver_ctr
    - quic_set_connection_close
    - qcc_install_app_ops
    - qcc_reset_idle_start
    - qfctl_init
    - tasklet_wakeup
    - conn_is_back
    - LIST_INIT
    - qcc_is_pacing_active
    - tick_add_ifset
    - TRACE_DEVEL
    - quic_pacing_init
    - quic_err_transport
    - LIST_APPEND
    - TRACE_PROTO
    - TRACE_ERROR
    - tick_isset
    - TRACE_STATE
    - qcc_release
    linkageType: ''
    returnType: int
    signature: "qmux_init(struct connection *conn, struct proxy *prx,\n                     struct
      session *sess, struct buffer *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:3482,1
    - Dst: qcc_release
      Src: /src/haproxy/src/mux_quic.c:3483,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3485
      start: 3478
    functionDepth: 5
    functionLinenumber: 3478
    functionLinenumberEnd: 3485
    functionName: qmux_destroy
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - qcc_release
    linkageType: ''
    returnType: void
    signature: qmux_destroy(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:3492,1
    - Dst: qcc_rm_sc
      Src: /src/haproxy/src/mux_quic.c:3503,1
    - Dst: qcs_is_close_local
      Src: /src/haproxy/src/mux_quic.c:3505,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:3507,1
    - Dst: qcc_refresh_timeout
      Src: /src/haproxy/src/mux_quic.c:3509,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3511,1
    - Dst: qcs_destroy
      Src: /src/haproxy/src/mux_quic.c:3515,1
    - Dst: qcc_is_dead
      Src: /src/haproxy/src/mux_quic.c:3517,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:3518,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3522,1
    - Dst: qcc_refresh_timeout
      Src: /src/haproxy/src/mux_quic.c:3523,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3526,1
    - Dst: qcc_shutdown
      Src: /src/haproxy/src/mux_quic.c:3530,1
    - Dst: qcc_release
      Src: /src/haproxy/src/mux_quic.c:3531,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 1
    argNames:
    - sd
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 3534
      start: 3487
    functionDepth: 10
    functionLinenumber: 3487
    functionLinenumberEnd: 3534
    functionName: qmux_strm_detach
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qcc_refresh_timeout
    - TRACE_LEAVE
    - qcs_is_close_local
    - TRACE_ENTER
    - qcs_destroy
    - qcc_rm_sc
    - qcc_is_dead
    - TRACE_DEVEL
    - qcc_shutdown
    - TRACE_STATE
    - qcc_release
    linkageType: ''
    returnType: void
    signature: qmux_strm_detach(struct sedesc *sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_quic.c:3540,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:3545,1
    - Dst: qcs_http_rcv_buf
      Src: /src/haproxy/src/mux_quic.c:3547,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:3549,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_quic.c:3550,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/mux_quic.c:3553,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:3557,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_quic.c:3558,1
    - Dst: se_expect_data
      Src: /src/haproxy/src/mux_quic.c:3563,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:3569,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_quic.c:3570,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_quic.c:3575,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:3576,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_quic.c:3577,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_quic.c:3581,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:3582,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_quic.c:3583,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_quic.c:3586,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_quic.c:3587,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_quic.c:3588,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:3597,1
    - Dst: qcs_rx_avail_data
      Src: /src/haproxy/src/mux_quic.c:3597,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:3601,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:3602,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3606,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - sc
    - buf
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 3609
      start: 3537
    functionDepth: 6
    functionLinenumber: 3537
    functionLinenumberEnd: 3609
    functionName: qmux_strm_rcv_buf
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - se_expect_data
    - qcs_http_rcv_buf
    - __sc_mux_strm
    - se_fl_test
    - b_free
    - TRACE_ENTER
    - LIST_APPEND
    - se_fl_clr
    - tasklet_wakeup
    - offer_buffers
    - se_fl_set
    - b_data
    - b_size
    - qcs_rx_avail_data
    - TRACE_STATE
    - BUG_ON
    linkageType: ''
    returnType: size_t
    signature: "qmux_strm_rcv_buf(struct stconn *sc, struct buffer *buf,\n                                size_t
      count, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_quic.c:3614,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:3619,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:3622,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_quic.c:3622,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:3625,1
    - Dst: qcs_is_close_local
      Src: /src/haproxy/src/mux_quic.c:3625,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:3628,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_quic.c:3632,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3633,1
    - Dst: qfctl_sblocked
      Src: /src/haproxy/src/mux_quic.c:3637,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3638,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_quic.c:3640,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3641,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:3643,1
    - Dst: tot_time_start
      Src: /src/haproxy/src/mux_quic.c:3644,1
    - Dst: qfctl_sblocked
      Src: /src/haproxy/src/mux_quic.c:3649,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3650,1
    - Dst: tot_time_start
      Src: /src/haproxy/src/mux_quic.c:3652,1
    - Dst: qcs_http_snd_buf
      Src: /src/haproxy/src/mux_quic.c:3656,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:3658,1
    - Dst: qcc_send_stream
      Src: /src/haproxy/src/mux_quic.c:3665,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:3669,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3673,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 4
    argNames:
    - sc
    - buf
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 3676
      start: 3611
    functionDepth: 4
    functionLinenumber: 3611
    functionLinenumberEnd: 3676
    functionName: qmux_strm_snd_buf
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - qcc_send_stream
    - TRACE_LEAVE
    - __sc_mux_strm
    - qcs_is_close_local
    - TRACE_ENTER
    - LIST_APPEND
    - qcs_http_snd_buf
    - tot_time_start
    - tasklet_wakeup
    - se_fl_set
    - TRACE_DEVEL
    - BUG_ON_HOT
    - qfctl_sblocked
    - LIST_INLIST
    - BUG_ON
    linkageType: ''
    returnType: size_t
    signature: "qmux_strm_snd_buf(struct stconn *sc, struct buffer *buf,\n                                size_t
      count, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_quic.c:3682,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:3685,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:3688,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_quic.c:3688,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:3691,1
    - Dst: qcs_is_close_local
      Src: /src/haproxy/src/mux_quic.c:3691,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/mux_quic.c:3694,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3706,1
    - Dst: qfctl_sblocked
      Src: /src/haproxy/src/mux_quic.c:3711,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3712,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_quic.c:3713,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3714,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_quic.c:3715,1
    - Dst: qfctl_sblocked
      Src: /src/haproxy/src/mux_quic.c:3721,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_quic.c:3722,1
    - Dst: struct qcs*::qcc::app_ops::nego_ff
      Src: /src/haproxy/src/mux_quic.c:3730,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:3735,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:3738,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:3739,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_quic.c:3740,1
    - Dst: b_xfer
      Src: /src/haproxy/src/mux_quic.c:3741,1
    - Dst: b_sub
      Src: /src/haproxy/src/mux_quic.c:3742,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_quic.c:3745,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3753,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 4
    argNames:
    - sc
    - input
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3755
      start: 3679
    functionDepth: 3
    functionLinenumber: 3679
    functionLinenumberEnd: 3755
    functionName: qmux_strm_nego_ff
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - __sc_mux_strm
    - qcs_is_close_local
    - TRACE_ENTER
    - LIST_APPEND
    - b_add
    - struct qcs*::qcc::app_ops::nego_ff
    - qfctl_sblocked
    - TRACE_DEVEL
    - BUG_ON_HOT
    - b_data
    - b_sub
    - LIST_INLIST
    - BUG_ON
    - b_xfer
    linkageType: ''
    returnType: size_t
    signature: "qmux_strm_nego_ff(struct stconn *sc, struct buffer *input,\n                                size_t
      count, unsigned int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_quic.c:3759,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:3764,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:3767,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:3772,1
    - Dst: qcc_release_stream_txbuf
      Src: /src/haproxy/src/mux_quic.c:3778,1
    - Dst: struct qcs*::qcc::app_ops::done_ff
      Src: /src/haproxy/src/mux_quic.c:3783,1
    - Dst: qcc_send_stream
      Src: /src/haproxy/src/mux_quic.c:3785,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:3793,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3796,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 3798
      start: 3757
    functionDepth: 4
    functionLinenumber: 3757
    functionLinenumberEnd: 3798
    functionName: qmux_strm_done_ff
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - struct qcs*::qcc::app_ops::done_ff
    - qcc_send_stream
    - TRACE_LEAVE
    - __sc_mux_strm
    - qcc_release_stream_txbuf
    - TRACE_ENTER
    - tasklet_wakeup
    - TRACE_STATE
    linkageType: ''
    returnType: size_t
    signature: qmux_strm_done_ff(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - flags
    argTypes:
    - struct stconn*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3803
      start: 3800
    functionDepth: 0
    functionLinenumber: 3800
    functionLinenumberEnd: 3803
    functionName: qmux_strm_resume_ff
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: qmux_strm_resume_ff(struct stconn *sc, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qcs_subscribe
      Src: /src/haproxy/src/mux_quic.c:3813,1
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_quic.c:3813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sc
    - event_type
    - es
    argTypes:
    - struct stconn*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 3814
      start: 3810
    functionDepth: 1
    functionLinenumber: 3810
    functionLinenumberEnd: 3814
    functionName: qmux_strm_subscribe
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qcs_subscribe
    - __sc_mux_strm
    linkageType: ''
    returnType: int
    signature: "qmux_strm_subscribe(struct stconn *sc, int event_type,\n                               struct
      wait_event *es)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_quic.c:3822,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:3824,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_quic.c:3825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sc
    - event_type
    - es
    argTypes:
    - struct stconn*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 3832
      start: 3820
    functionDepth: 1
    functionLinenumber: 3820
    functionLinenumberEnd: 3832
    functionName: qmux_strm_unsubscribe
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - __sc_mux_strm
    linkageType: ''
    returnType: int
    signature: qmux_strm_unsubscribe(struct stconn *sc, int event_type, struct wait_event
      *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:3838,1
    - Dst: qcc_io_process
      Src: /src/haproxy/src/mux_quic.c:3840,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:3841,1
    - Dst: qcc_wake_some_streams
      Src: /src/haproxy/src/mux_quic.c:3845,1
    - Dst: qcc_refresh_timeout
      Src: /src/haproxy/src/mux_quic.c:3847,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3849,1
    - Dst: qcc_shutdown
      Src: /src/haproxy/src/mux_quic.c:3853,1
    - Dst: qcc_release
      Src: /src/haproxy/src/mux_quic.c:3854,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 3857
      start: 3834
    functionDepth: 11
    functionLinenumber: 3834
    functionLinenumberEnd: 3857
    functionName: qmux_wake
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qcc_wake_some_streams
    - qcc_refresh_timeout
    - TRACE_LEAVE
    - TRACE_ENTER
    - qcc_shutdown
    - TRACE_STATE
    - qcc_io_process
    - qcc_release
    linkageType: ''
    returnType: int
    signature: qmux_wake(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_quic.c:3861,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_quic.c:3867,1
    - Dst: qcs_is_close_local
      Src: /src/haproxy/src/mux_quic.c:3870,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_quic.c:3880,1
    - Dst: qcc_send_stream
      Src: /src/haproxy/src/mux_quic.c:3883,1
    - Dst: qcc_reset_stream
      Src: /src/haproxy/src/mux_quic.c:3888,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_quic.c:3891,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_quic.c:3895,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - sc
    - mode
    - reason
    argTypes:
    - struct stconn*
    - unsigned int
    - struct se_abort_info*
    constantsTouched: []
    func_position:
      end: 3896
      start: 3859
    functionDepth: 4
    functionLinenumber: 3859
    functionLinenumberEnd: 3896
    functionName: qmux_strm_shut
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qcc_send_stream
    - qcc_reset_stream
    - __sc_mux_strm
    - TRACE_LEAVE
    - qcs_is_close_local
    - TRACE_ENTER
    - tasklet_wakeup
    - TRACE_STATE
    linkageType: ''
    returnType: void
    signature: qmux_strm_shut(struct stconn *sc, unsigned int mode, struct se_abort_info
      *reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mux_quic.c:3913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - conn
    - mux_ctl
    - output
    argTypes:
    - struct connection*
    - enum mux_ctl_type
    - void*
    constantsTouched: []
    func_position:
      end: 3924
      start: 3898
    functionDepth: 0
    functionLinenumber: 3898
    functionLinenumberEnd: 3924
    functionName: qmux_ctl
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: int
    signature: qmux_ctl(struct connection *conn, enum mux_ctl_type mux_ctl, void *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_quic.c:3929,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/mux_quic.c:3942,1
    - Dst: qmux_dump_qcs_info
      Src: /src/haproxy/src/mux_quic.c:3945,1
    - Dst: qmux_dump_qcc_info
      Src: /src/haproxy/src/mux_quic.c:3948,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_quic.c:3951,1
    - Dst: struct qcc*::conn::xprt::dump_info
      Src: /src/haproxy/src/mux_quic.c:3954,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - sc
    - mux_sctl
    - output
    argTypes:
    - struct stconn*
    - enum mux_sctl_type
    - void*
    constantsTouched: []
    func_position:
      end: 3962
      start: 3926
    functionDepth: 2
    functionLinenumber: 3926
    functionLinenumberEnd: 3962
    functionName: qmux_sctl
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - __sc_mux_strm
    - chunk_appendf
    - get_trash_chunk
    - struct qcc*::conn::xprt::dump_info
    - qmux_dump_qcc_info
    - qmux_dump_qcs_info
    linkageType: ''
    returnType: int
    signature: qmux_sctl(struct stconn *sc, enum mux_sctl_type mux_sctl, void *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_quic.c:3978,1
    - Dst: qcs_st_to_str
      Src: /src/haproxy/src/mux_quic.c:3979,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_quic.c:3982,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_quic.c:3985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - msg
    - sd
    - pfx
    argTypes:
    - struct buffer*
    - struct sedesc*
    - char*
    constantsTouched: []
    func_position:
      end: 3988
      start: 3969
    functionDepth: 1
    functionLinenumber: 3969
    functionLinenumberEnd: 3988
    functionName: qmux_strm_show_sd
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 0
    functionsReached:
    - qcs_st_to_str
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: qmux_strm_show_sd(struct buffer *msg, struct sedesc *sd, const char
      *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_quic.c:4016,1
    - Dst: qcc_is_pacing_active
      Src: /src/haproxy/src/mux_quic.c:4020,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_quic.c:4021,1
    - Dst: eb64_first
      Src: /src/haproxy/src/mux_quic.c:4026,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/mux_quic.c:4028,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_quic.c:4029,1
    - Dst: qcs_st_to_str
      Src: /src/haproxy/src/mux_quic.c:4031,1
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/src/mux_quic.c:4032,1
    - Dst: quic_stream_is_local
      Src: /src/haproxy/src/mux_quic.c:4032,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_quic.c:4033,1
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/src/mux_quic.c:4034,1
    - Dst: quic_stream_is_remote
      Src: /src/haproxy/src/mux_quic.c:4034,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_quic.c:4035,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_quic.c:4039,1
    - Dst: eb64_next
      Src: /src/haproxy/src/mux_quic.c:4040,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 4042
      start: 4011
    functionDepth: 1
    functionLinenumber: 4011
    functionLinenumberEnd: 4042
    functionName: qcc_show_quic
    functionSourceFile: /src/haproxy/src/mux_quic.c
    functionUses: 1
    functionsReached:
    - quic_stream_is_local
    - eb64_first
    - chunk_appendf
    - eb64_entry
    - qcs_st_to_str
    - quic_stream_is_uni
    - qcc_is_pacing_active
    - quic_stream_is_remote
    - eb64_next
    linkageType: ''
    returnType: void
    signature: qcc_show_quic(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb64_lookup
      Src: /src/haproxy/src/lru.c:42,1
    - Dst: container_of
      Src: /src/haproxy/src/lru.c:43,1
    - Dst: typeof
      Src: /src/haproxy/src/lru.c:43,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/lru.c:49,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/lru.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - key
    - lru
    - domain
    - revision
    argTypes:
    - unsigned long long
    - struct lru64_head*
    - void*
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 55
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 55
    functionName: lru64_lookup
    functionSourceFile: /src/haproxy/src/lru.c
    functionUses: 1
    functionsReached:
    - container_of
    - __eb64_lookup
    - LIST_DELETE
    - typeof
    - LIST_INSERT
    linkageType: ''
    returnType: struct lru64
    signature: "*lru64_lookup(unsigned long long key, struct lru64_head *lru,\n\t\t\t
      \  void *domain, unsigned long long revision)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/lru.c:74,1
    - Dst: __eb64_insert
      Src: /src/haproxy/src/lru.c:82,1
    - Dst: container_of
      Src: /src/haproxy/src/lru.c:83,1
    - Dst: typeof
      Src: /src/haproxy/src/lru.c:83,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/lru.c:90,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/lru.c:91,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/lru.c:99,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/lru.c:110,1
    - Dst: container_of
      Src: /src/haproxy/src/lru.c:116,1
    - Dst: typeof
      Src: /src/haproxy/src/lru.c:116,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/lru.c:119,1
    - Dst: __eb64_delete
      Src: /src/haproxy/src/lru.c:120,1
    - Dst: struct lru64*::free
      Src: /src/haproxy/src/lru.c:122,1
    - Dst: free
      Src: /src/haproxy/src/lru.c:126,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - key
    - lru
    - domain
    - revision
    argTypes:
    - unsigned long long
    - struct lru64_head*
    - void*
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 132
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 132
    functionName: lru64_get
    functionSourceFile: /src/haproxy/src/lru.c
    functionUses: 8
    functionsReached:
    - malloc
    - container_of
    - LIST_DELETE
    - __eb64_delete
    - free
    - typeof
    - LIST_INSERT
    - struct lru64*::free
    - __eb64_insert
    linkageType: ''
    returnType: struct lru64
    signature: "*lru64_get(unsigned long long key, struct lru64_head *lru,\n\t\t\tvoid
      *domain, unsigned long long revision)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - elem
    - data
    - domain
    - revision
    argTypes:
    - struct lru64*
    - void*
    - void*
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: lru64_commit
    functionSourceFile: /src/haproxy/src/lru.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "lru64_commit(struct lru64 *elem, void *data, void *domain,\n\t\t  unsigned
      long long revision, void (*free)(void *))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/lru.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: lru64_new
    functionSourceFile: /src/haproxy/src/lru.c
    functionUses: 2
    functionsReached:
    - malloc
    linkageType: ''
    returnType: struct lru64_head
    signature: '*lru64_new(int size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/lru.c:179,1
    - Dst: typeof
      Src: /src/haproxy/src/lru.c:179,1
    - Dst: container_of
      Src: /src/haproxy/src/lru.c:181,1
    - Dst: typeof
      Src: /src/haproxy/src/lru.c:181,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/lru.c:184,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/lru.c:185,1
    - Dst: struct lru64*::free
      Src: /src/haproxy/src/lru.c:187,1
    - Dst: free
      Src: /src/haproxy/src/lru.c:188,1
    - Dst: free
      Src: /src/haproxy/src/lru.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lru
    argTypes:
    - struct lru64_head*
    constantsTouched: []
    func_position:
      end: 200
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 200
    functionName: lru64_destroy
    functionSourceFile: /src/haproxy/src/lru.c
    functionUses: 2
    functionsReached:
    - container_of
    - LIST_DELETE
    - free
    - typeof
    - eb64_delete
    - struct lru64*::free
    linkageType: ''
    returnType: int
    signature: lru64_destroy(struct lru64_head *lru)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/lru.c:207,1
    - Dst: typeof
      Src: /src/haproxy/src/lru.c:207,1
    - Dst: container_of
      Src: /src/haproxy/src/lru.c:210,1
    - Dst: typeof
      Src: /src/haproxy/src/lru.c:210,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/lru.c:214,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/lru.c:215,1
    - Dst: struct lru64*::free
      Src: /src/haproxy/src/lru.c:217,1
    - Dst: free
      Src: /src/haproxy/src/lru.c:221,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - lru
    - nb
    argTypes:
    - struct lru64_head*
    - unsigned long int
    constantsTouched: []
    func_position:
      end: 225
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 225
    functionName: lru64_kill_oldest
    functionSourceFile: /src/haproxy/src/lru.c
    functionUses: 0
    functionsReached:
    - container_of
    - LIST_DELETE
    - free
    - typeof
    - eb64_delete
    - struct lru64*::free
    linkageType: ''
    returnType: void
    signature: lru64_kill_oldest(struct lru64_head *lru, unsigned long int nb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sum
      Src: /src/haproxy/src/lru.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: sum
    functionSourceFile: /src/haproxy/src/lru.c
    functionUses: 1
    functionsReached:
    - sum
    linkageType: ''
    returnType: unsigned long long
    signature: sum(unsigned long long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lru64_get
      Src: /src/haproxy/src/lru.c:253,1
    - Dst: sum
      Src: /src/haproxy/src/lru.c:259,1
    - Dst: lru64_commit
      Src: /src/haproxy/src/lru.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - lru
    - a
    argTypes:
    - struct lru64_head*
    - long
    constantsTouched: []
    func_position:
      end: 263
      start: 248
    functionDepth: 4
    functionLinenumber: 248
    functionLinenumberEnd: 263
    functionName: get_value
    functionSourceFile: /src/haproxy/src/lru.c
    functionUses: 0
    functionsReached:
    - sum
    - lru64_get
    - lru64_commit
    linkageType: ''
    returnType: long
    signature: get_value(struct lru64_head *lru, long a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: statistical_prng
    functionSourceFile: /src/haproxy/src/lru.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: statistical_prng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/src/lru.c:284,1
    - Dst: exit
      Src: /src/haproxy/src/lru.c:285,1
    - Dst: atoi
      Src: /src/haproxy/src/lru.c:288,1
    - Dst: lru64_new
      Src: /src/haproxy/src/lru.c:291,1
    - Dst: atoi
      Src: /src/haproxy/src/lru.c:291,1
    - Dst: get_value
      Src: /src/haproxy/src/lru.c:295,1
    - Dst: statistical_prng
      Src: /src/haproxy/src/lru.c:295,1
    - Dst: printf
      Src: /src/haproxy/src/lru.c:298,1
    - Dst: lru64_destroy
      Src: /src/haproxy/src/lru.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 303
      start: 277
    functionDepth: 5
    functionLinenumber: 277
    functionLinenumberEnd: 303
    functionName: main
    functionSourceFile: /src/haproxy/src/lru.c
    functionUses: 16
    functionsReached:
    - lru64_destroy
    - atoi
    - printf
    - lru64_new
    - get_value
    - statistical_prng
    - exit
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_contig_data
      Src: /src/haproxy/src/check.c:152,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/check.c:158,1
    - Dst: dump_text_line
      Src: /src/haproxy/src/check.c:163,1
    - Dst: b_orig
      Src: /src/haproxy/src/check.c:163,1
    - Dst: b_size
      Src: /src/haproxy/src/check.c:163,1
    - Dst: dump_text_line
      Src: /src/haproxy/src/check.c:171,1
    - Dst: b_orig
      Src: /src/haproxy/src/check.c:171,1
    - Dst: b_size
      Src: /src/haproxy/src/check.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - ofs
    - len
    argTypes:
    - struct buffer*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 176
    functionName: check_trace_buf
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - dump_text_line
    - b_contig_data
    - b_size
    - b_orig
    - b_peek_ofs
    linkageType: ''
    returnType: void
    signature: check_trace_buf(const struct buffer *buf, size_t ofs, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:193,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:197,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:203,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:216,1
    - Dst: get_check_status_info
      Src: /src/haproxy/src/check.c:217,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:222,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:224,1
    - Dst: sc_conn
      Src: /src/haproxy/src/check.c:231,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:233,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:234,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:254,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/check.c:254,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:256,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:263,1
    - Dst: b_data
      Src: /src/haproxy/src/check.c:264,1
    - Dst: b_orig
      Src: /src/haproxy/src/check.c:264,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/check.c:265,1
    - Dst: b_size
      Src: /src/haproxy/src/check.c:265,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:266,1
    - Dst: b_data
      Src: /src/haproxy/src/check.c:267,1
    - Dst: b_orig
      Src: /src/haproxy/src/check.c:267,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/check.c:268,1
    - Dst: b_size
      Src: /src/haproxy/src/check.c:268,1
    - Dst: b_is_null
      Src: /src/haproxy/src/check.c:271,1
    - Dst: b_is_null
      Src: /src/haproxy/src/check.c:273,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/check.c:279,1
    - Dst: htx_dump
      Src: /src/haproxy/src/check.c:280,1
    - Dst: htxbuf
      Src: /src/haproxy/src/check.c:280,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/check.c:285,1
    - Dst: b_data
      Src: /src/haproxy/src/check.c:286,1
    - Dst: check_trace_buf
      Src: /src/haproxy/src/check.c:287,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/check.c:288,1
    - Dst: check_trace_buf
      Src: /src/haproxy/src/check.c:291,1
    - Dst: b_data
      Src: /src/haproxy/src/check.c:291,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 98
    argCount: 9
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - struct ist
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 297
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 297
    functionName: check_trace
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - check_trace_buf
    - chunk_memcat
    - b_is_null
    - htx_dump
    - htxbuf
    - chunk_appendf
    - b_data
    - b_head_ofs
    - b_size
    - get_check_status_info
    - tcpcheck_get_step_id
    - b_orig
    - sc_conn
    linkageType: ''
    returnType: void
    signature: "check_trace(enum trace_level level, uint64_t mask,\n\t\t\tconst struct
      trace_source *src,\n\t\t\tconst struct ist where, const struct ist func,\n\t\t\tconst
      void *a1, const void *a2, const void *a3, const void *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: unclean_errno
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: unclean_errno(int err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - check_status
    argTypes:
    - short
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: get_check_status_result
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: short
    signature: get_check_status_result(short check_status)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - check_status
    argTypes:
    - short
    constantsTouched: []
    func_position:
      end: 397
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 397
    functionName: get_check_status_description
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*get_check_status_description(short check_status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - check_status
    argTypes:
    - short
    constantsTouched: []
    func_position:
      end: 413
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 413
    functionName: get_check_status_info
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*get_check_status_info(short check_status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - analyze_status
    argTypes:
    - short
    constantsTouched: []
    func_position:
      end: 429
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 429
    functionName: get_analyze_status
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*get_analyze_status(short analyze_status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:436,1
    - Dst: get_check_status_description
      Src: /src/haproxy/src/check.c:436,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:439,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:444,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/check.c:446,1
    - Dst: strlen
      Src: /src/haproxy/src/check.c:446,1
    - Dst: chunk_asciiencode
      Src: /src/haproxy/src/check.c:447,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:449,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - check
    argTypes:
    - struct buffer*
    - struct check*
    constantsTouched: []
    func_position:
      end: 454
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 454
    functionName: check_append_info
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 1
    functionsReached:
    - get_check_status_description
    - strlen
    - chunk_appendf
    - chunk_initlen
    - chunk_asciiencode
    linkageType: ''
    returnType: void
    signature: check_append_info(struct buffer *msg, struct check *check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/check.c:469,1
    - Dst: strncpy
      Src: /src/haproxy/src/check.c:482,1
    - Dst: ns_to_ms
      Src: /src/haproxy/src/check.c:495,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/check.c:517,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/check.c:537,1
    - Dst: srv_event_hdl_publish_check
      Src: /src/haproxy/src/check.c:545,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/check.c:548,1
    - Dst: check_append_info
      Src: /src/haproxy/src/check.c:556,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:558,1
    - Dst: ha_warning
      Src: /src/haproxy/src/check.c:563,1
    - Dst: send_log
      Src: /src/haproxy/src/check.c:564,1
    - Dst: send_email_alert
      Src: /src/haproxy/src/check.c:565,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 3
    argNames:
    - check
    - status
    - desc
    argTypes:
    - struct check*
    - short
    - char*
    constantsTouched: []
    func_position:
      end: 567
      start: 463
    functionDepth: 10
    functionLinenumber: 463
    functionLinenumberEnd: 567
    functionName: set_server_check_status
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 12
    functionsReached:
    - send_log
    - TRACE_POINT
    - ha_warning
    - strncpy
    - _HA_ATOMIC_INC
    - send_email_alert
    - chunk_printf
    - chunk_appendf
    - check_append_info
    - ns_to_ms
    - srv_event_hdl_publish_check
    - HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: set_server_check_status(struct check *check, short status, const char
      *desc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - check
    argTypes:
    - struct check*
    constantsTouched: []
    func_position:
      end: 577
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 577
    functionName: check_notify_cause
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum srv_op_st_chg_cause
    signature: check_notify_cause(struct check *check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/check.c:598,1
    - Dst: srv_set_stopped
      Src: /src/haproxy/src/check.c:599,1
    - Dst: check_notify_cause
      Src: /src/haproxy/src/check.c:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - check
    argTypes:
    - struct check*
    constantsTouched: []
    func_position:
      end: 600
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 600
    functionName: check_notify_failure
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 1
    functionsReached:
    - TRACE_STATE
    - srv_set_stopped
    - check_notify_cause
    linkageType: ''
    returnType: void
    signature: check_notify_failure(struct check *check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/check.c:632,1
    - Dst: srv_set_running
      Src: /src/haproxy/src/check.c:633,1
    - Dst: check_notify_cause
      Src: /src/haproxy/src/check.c:633,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - check
    argTypes:
    - struct check*
    constantsTouched: []
    func_position:
      end: 634
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 634
    functionName: check_notify_success
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 1
    functionsReached:
    - TRACE_STATE
    - check_notify_cause
    - srv_set_running
    linkageType: ''
    returnType: void
    signature: check_notify_success(struct check *check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/check.c:661,1
    - Dst: srv_set_stopping
      Src: /src/haproxy/src/check.c:662,1
    - Dst: check_notify_cause
      Src: /src/haproxy/src/check.c:662,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - check
    argTypes:
    - struct check*
    constantsTouched: []
    func_position:
      end: 663
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 663
    functionName: check_notify_stopping
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 1
    functionsReached:
    - srv_set_stopping
    - TRACE_STATE
    - check_notify_cause
    linkageType: ''
    returnType: void
    signature: check_notify_stopping(struct check *check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/check.c:693,1
    - Dst: HA_ATOMIC_ADD_FETCH
      Src: /src/haproxy/src/check.c:697,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/check.c:700,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/check.c:701,1
    - Dst: get_analyze_status
      Src: /src/haproxy/src/check.c:701,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/check.c:703,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/check.c:724,1
    - Dst: check_notify_failure
      Src: /src/haproxy/src/check.c:726,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/check.c:732,1
    - Dst: check_notify_failure
      Src: /src/haproxy/src/check.c:734,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/check.c:742,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/check.c:744,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/check.c:745,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/check.c:752,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - s
    - status
    argTypes:
    - struct server*
    - short
    constantsTouched: []
    func_position:
      end: 754
      start: 668
    functionDepth: 11
    functionLinenumber: 668
    functionLinenumberEnd: 754
    functionName: __health_adjust
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_INC
    - task_wakeup
    - HA_SPIN_UNLOCK
    - chunk_printf
    - HA_SPIN_LOCK
    - get_analyze_status
    - HA_ATOMIC_LOAD
    - check_notify_failure
    - set_server_check_status
    - HA_ATOMIC_STORE
    - HA_ATOMIC_ADD_FETCH
    linkageType: ''
    returnType: void
    signature: __health_adjust(struct server *s, short status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unclean_errno
      Src: /src/haproxy/src/check.c:770,1
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/check.c:773,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/check.c:776,1
    - Dst: getsockopt
      Src: /src/haproxy/src/check.c:778,1
    - Dst: unclean_errno
      Src: /src/haproxy/src/check.c:781,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 796
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 796
    functionName: retrieve_errno_from_socket
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - conn_ctrl_ready
    - unclean_errno
    - BUG_ON
    - getsockopt
    linkageType: ''
    returnType: int
    signature: retrieve_errno_from_socket(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/src/check.c:813,1
    - Dst: unclean_errno
      Src: /src/haproxy/src/check.c:822,1
    - Dst: retrieve_errno_from_socket
      Src: /src/haproxy/src/check.c:824,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/check.c:826,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/check.c:829,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/check.c:836,1
    - Dst: tcpcheck_get_step_id
      Src: /src/haproxy/src/check.c:840,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/check.c:842,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/check.c:843,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/check.c:846,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:850,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:852,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/check.c:853,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:860,1
    - Dst: istlen
      Src: /src/haproxy/src/check.c:860,1
    - Dst: istptr
      Src: /src/haproxy/src/check.c:860,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:863,1
    - Dst: dump_binary
      Src: /src/haproxy/src/check.c:864,1
    - Dst: istptr
      Src: /src/haproxy/src/check.c:864,1
    - Dst: istlen
      Src: /src/haproxy/src/check.c:864,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:865,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:868,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:871,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:874,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:877,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:880,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:883,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:886,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:889,1
    - Dst: istlen
      Src: /src/haproxy/src/check.c:889,1
    - Dst: istptr
      Src: /src/haproxy/src/check.c:889,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:892,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:895,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:898,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:901,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/check.c:904,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:907,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/check.c:908,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:912,1
    - Dst: unclean_errno
      Src: /src/haproxy/src/check.c:917,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/check.c:918,1
    - Dst: conn_err_code_str
      Src: /src/haproxy/src/check.c:918,1
    - Dst: strerror
      Src: /src/haproxy/src/check.c:918,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/check.c:921,1
    - Dst: conn_err_code_str
      Src: /src/haproxy/src/check.c:921,1
    - Dst: unclean_errno
      Src: /src/haproxy/src/check.c:926,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/check.c:927,1
    - Dst: strerror
      Src: /src/haproxy/src/check.c:927,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/check.c:938,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/check.c:943,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/check.c:947,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/check.c:948,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/check.c:950,1
    - Dst: resolv_trigger_resolution
      Src: /src/haproxy/src/check.c:957,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/check.c:962,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/check.c:963,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/check.c:965,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/check.c:967,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/check.c:969,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/check.c:978,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/check.c:981,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 124
    argCount: 3
    argNames:
    - check
    - errno_bck
    - expired
    argTypes:
    - struct check*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 983
      start: 810
    functionDepth: 11
    functionLinenumber: 810
    functionLinenumberEnd: 983
    functionName: chk_report_conn_err
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 2
    functionsReached:
    - unclean_errno
    - strerror
    - dump_binary
    - TRACE_LEAVE
    - TRACE_ENTER
    - istlen
    - retrieve_errno_from_socket
    - chunk_printf
    - chunk_appendf
    - get_trash_chunk
    - istptr
    - resolv_trigger_resolution
    - conn_err_code_str
    - TRACE_DEVEL
    - sc_ep_test
    - set_server_check_status
    - tcpcheck_get_step_id
    - sc_conn
    linkageType: ''
    returnType: void
    signature: chk_report_conn_err(struct check *check, int errno_bck, int expired)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:1015,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/check.c:1019,1
    - Dst: snprintf
      Src: /src/haproxy/src/check.c:1021,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:1025,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/check.c:1034,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/check.c:1035,1
    - Dst: MAX
      Src: /src/haproxy/src/check.c:1036,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/check.c:1036,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/check.c:1037,1
    - Dst: b_data
      Src: /src/haproxy/src/check.c:1040,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - s
    - buf
    argTypes:
    - struct server*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1041
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1041
    functionName: httpchk_build_status_header
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 1
    functionsReached:
    - ns_to_sec
    - snprintf
    - addr_to_str
    - MAX
    - chunk_appendf
    - b_data
    linkageType: ''
    returnType: int
    signature: httpchk_build_status_header(struct server *s, struct buffer *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_check
      Src: /src/haproxy/src/check.c:1054,1
    - Dst: container_of
      Src: /src/haproxy/src/check.c:1055,1
    - Dst: typeof
      Src: /src/haproxy/src/check.c:1055,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/check.c:1058,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/check.c:1063,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/check.c:1065,1
    - Dst: tcpcheck_main
      Src: /src/haproxy/src/check.c:1068,1
    - Dst: sc_conn
      Src: /src/haproxy/src/check.c:1071,1
    - Dst: unlikely
      Src: /src/haproxy/src/check.c:1073,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/check.c:1073,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/check.c:1080,1
    - Dst: chk_report_conn_err
      Src: /src/haproxy/src/check.c:1081,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/check.c:1082,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/check.c:1089,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/check.c:1093,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/check.c:1095,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/check.c:1098,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1100
      start: 1051
    functionDepth: 12
    functionLinenumber: 1051
    functionLinenumberEnd: 1100
    functionName: wake_srv_chk
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - container_of
    - TRACE_ENTER
    - task_wakeup
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - typeof
    - tcpcheck_main
    - __sc_check
    - sc_ep_test
    - TRACE_ERROR
    - unlikely
    - chk_report_conn_err
    - sc_conn
    linkageType: ''
    returnType: int
    signature: wake_srv_chk(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wake_srv_chk
      Src: /src/haproxy/src/check.c:1107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1109
      start: 1103
    functionDepth: 13
    functionLinenumber: 1103
    functionLinenumberEnd: 1109
    functionName: srv_chk_io_cb
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - wake_srv_chk
    linkageType: ''
    returnType: struct task
    signature: '*srv_chk_io_cb(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/check.c:1118,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/check.c:1119,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/check.c:1120,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/check.c:1121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - thr1
    - thr2
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1141
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1141
    functionName: check_thread_cmp_load
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: int
    signature: check_thread_cmp_load(int thr1, int thr2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/check.c:1151,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/check.c:1152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - thr1
    - thr2
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1159
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1159
    functionName: check_thread_cmp_active
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: int
    signature: check_thread_cmp_active(int thr1, int thr2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/check.c:1177,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/check.c:1191,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/check.c:1192,1
    - Dst: MIN
      Src: /src/haproxy/src/check.c:1193,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/check.c:1210,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/check.c:1211,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/check.c:1212,1
    - Dst: ALREADY_CHECKED
      Src: /src/haproxy/src/check.c:1217,1
    - Dst: check_thread_cmp_active
      Src: /src/haproxy/src/check.c:1219,1
    - Dst: check_thread_cmp_load
      Src: /src/haproxy/src/check.c:1221,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/check.c:1229,1
    - Dst: task_unlink_wq
      Src: /src/haproxy/src/check.c:1230,1
    - Dst: task_set_thread
      Src: /src/haproxy/src/check.c:1232,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/check.c:1233,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/check.c:1234,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/check.c:1239,1
    - Dst: task_set_thread
      Src: /src/haproxy/src/check.c:1243,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/check.c:1251,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/check.c:1253,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/check.c:1254,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/check.c:1256,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/check.c:1268,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/check.c:1274,1
    - Dst: tick_isset
      Src: /src/haproxy/src/check.c:1281,1
    - Dst: tick_add
      Src: /src/haproxy/src/check.c:1282,1
    - Dst: unlikely
      Src: /src/haproxy/src/check.c:1287,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/check.c:1288,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/check.c:1296,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/check.c:1300,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/check.c:1301,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/check.c:1306,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/check.c:1316,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/check.c:1321,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/check.c:1324,1
    - Dst: sc_new_from_check
      Src: /src/haproxy/src/check.c:1328,1
    - Dst: set_server_check_status
      Src: /src/haproxy/src/check.c:1330,1
    - Dst: tcpcheck_main
      Src: /src/haproxy/src/check.c:1333,1
    - Dst: likely
      Src: /src/haproxy/src/check.c:1341,1
    - Dst: sc_conn
      Src: /src/haproxy/src/check.c:1343,1
    - Dst: sc_ep_test
      Src: /src/haproxy/src/check.c:1348,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/check.c:1349,1
    - Dst: chk_report_conn_err
      Src: /src/haproxy/src/check.c:1350,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/check.c:1354,1
    - Dst: sc_reset_endp
      Src: /src/haproxy/src/check.c:1356,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/src/check.c:1360,1
    - Dst: tcpcheck_main
      Src: /src/haproxy/src/check.c:1362,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/check.c:1365,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/check.c:1372,1
    - Dst: sc_conn
      Src: /src/haproxy/src/check.c:1377,1
    - Dst: se_shutdown
      Src: /src/haproxy/src/check.c:1385,1
    - Dst: sc_destroy
      Src: /src/haproxy/src/check.c:1389,1
    - Dst: vars_prune
      Src: /src/haproxy/src/check.c:1394,1
    - Dst: session_free
      Src: /src/haproxy/src/check.c:1395,1
    - Dst: likely
      Src: /src/haproxy/src/check.c:1400,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/check.c:1403,1
    - Dst: check_notify_failure
      Src: /src/haproxy/src/check.c:1404,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/check.c:1408,1
    - Dst: check_notify_stopping
      Src: /src/haproxy/src/check.c:1409,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/check.c:1413,1
    - Dst: check_notify_success
      Src: /src/haproxy/src/check.c:1414,1
    - Dst: b_dequeue
      Src: /src/haproxy/src/check.c:1418,1
    - Dst: check_release_buf
      Src: /src/haproxy/src/check.c:1420,1
    - Dst: check_release_buf
      Src: /src/haproxy/src/check.c:1421,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/check.c:1422,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/check.c:1423,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/check.c:1433,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/check.c:1434,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/check.c:1435,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/check.c:1438,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/check.c:1441,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/check.c:1444,1
    - Dst: srv_getinter
      Src: /src/haproxy/src/check.c:1451,1
    - Dst: statistical_prng
      Src: /src/haproxy/src/check.c:1452,1
    - Dst: tick_add
      Src: /src/haproxy/src/check.c:1454,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/check.c:1454,1
    - Dst: srv_getinter
      Src: /src/haproxy/src/check.c:1454,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/check.c:1465,1
    - Dst: tick_add
      Src: /src/haproxy/src/check.c:1466,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/check.c:1466,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/check.c:1471,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/check.c:1474,1
    - Dst: unlikely
      Src: /src/haproxy/src/check.c:1480,1
    - Dst: free_check
      Src: /src/haproxy/src/check.c:1481,1
    - Dst: srv_drop
      Src: /src/haproxy/src/check.c:1483,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 182
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1489
      start: 1168
    functionDepth: 12
    functionLinenumber: 1168
    functionLinenumberEnd: 1489
    functionName: process_chk_conn
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - check_notify_stopping
    - statistical_prng_range
    - ALREADY_CHECKED
    - HA_ATOMIC_INC
    - TRACE_ENTER
    - likely
    - HA_ATOMIC_LOAD
    - sc_ep_test
    - srv_getinter
    - se_shutdown
    - sc_reset_endp
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - task_unlink_wq
    - task_wakeup
    - task_set_thread
    - LIST_DEL_INIT
    - check_notify_failure
    - statistical_prng
    - set_server_check_status
    - chk_report_conn_err
    - tick_is_expired
    - _HA_ATOMIC_INC
    - session_free
    - HA_SPIN_UNLOCK
    - check_notify_success
    - free_check
    - HA_SPIN_LOCK
    - tcpcheck_main
    - check_thread_cmp_active
    - TRACE_DEVEL
    - MS_TO_TICKS
    - _HA_ATOMIC_LOAD
    - check_release_buf
    - srv_drop
    - check_thread_cmp_load
    - b_dequeue
    - sc_conn
    - LIST_ELEM
    - sc_ep_clr
    - tick_add
    - _HA_ATOMIC_DEC
    - LIST_APPEND
    - sc_destroy
    - vars_prune
    - TRACE_ERROR
    - tick_isset
    - TRACE_STATE
    - unlikely
    - MIN
    - sc_new_from_check
    linkageType: ''
    returnType: struct task
    signature: '*process_chk_conn(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/check.c:1505,1
    - Dst: b_alloc
      Src: /src/haproxy/src/check.c:1507,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/check.c:1508,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/check.c:1510,1
    - Dst: b_alloc
      Src: /src/haproxy/src/check.c:1513,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/check.c:1514,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/check.c:1516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - target
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1521
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1521
    functionName: check_buf_available
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - BUG_ON
    - tasklet_wakeup
    - b_alloc
    linkageType: ''
    returnType: int
    signature: check_buf_available(void *target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/check.c:1530,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/check.c:1530,1
    - Dst: unlikely
      Src: /src/haproxy/src/check.c:1531,1
    - Dst: b_alloc
      Src: /src/haproxy/src/check.c:1531,1
    - Dst: b_queue
      Src: /src/haproxy/src/check.c:1532,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - check
    - bptr
    argTypes:
    - struct check*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1535
      start: 1526
    functionDepth: 1
    functionLinenumber: 1526
    functionLinenumberEnd: 1535
    functionName: check_get_buf
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 2
    functionsReached:
    - b_queue
    - likely
    - LIST_INLIST
    - unlikely
    - b_alloc
    linkageType: ''
    returnType: struct buffer
    signature: '*check_get_buf(struct check *check, struct buffer *bptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_free
      Src: /src/haproxy/src/check.c:1544,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/check.c:1545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - check
    - bptr
    argTypes:
    - struct check*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1547
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1547
    functionName: check_release_buf
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 5
    functionsReached:
    - offer_buffers
    - b_free
    linkageType: ''
    returnType: void
    signature: check_release_buf(struct check *check, struct buffer *bptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/check.c:1555,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/check.c:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - check
    - type
    argTypes:
    - struct check*
    - int
    constantsTouched: []
    func_position:
      end: 1558
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1558
    functionName: init_check
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 1
    functionsReached:
    - LIST_INIT
    linkageType: ''
    returnType: char
    signature: '*init_check(struct check *check, int type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/check.c:1571,1
    - Dst: ha_free
      Src: /src/haproxy/src/check.c:1572,1
    - Dst: ha_free
      Src: /src/haproxy/src/check.c:1575,1
    - Dst: task_destroy
      Src: /src/haproxy/src/check.c:1577,1
    - Dst: check_release_buf
      Src: /src/haproxy/src/check.c:1579,1
    - Dst: check_release_buf
      Src: /src/haproxy/src/check.c:1580,1
    - Dst: sc_destroy
      Src: /src/haproxy/src/check.c:1582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - check
    argTypes:
    - struct check*
    constantsTouched: []
    func_position:
      end: 1585
      start: 1564
    functionDepth: 7
    functionLinenumber: 1564
    functionLinenumberEnd: 1585
    functionName: free_check
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 4
    functionsReached:
    - ha_free
    - sc_destroy
    - task_destroy
    - check_release_buf
    - free_tcpcheck_vars
    linkageType: ''
    returnType: void
    signature: free_check(struct check *check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_wakeup
      Src: /src/haproxy/src/check.c:1596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - check
    argTypes:
    - struct check*
    constantsTouched: []
    func_position:
      end: 1597
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1597
    functionName: check_purge
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 1
    functionsReached:
    - task_wakeup
    linkageType: ''
    returnType: void
    signature: check_purge(struct check *check)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: process_chk_proc
      Src: /src/haproxy/src/check.c:1607,1
    - Dst: process_chk_conn
      Src: /src/haproxy/src/check.c:1608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1610
      start: 1602
    functionDepth: 13
    functionLinenumber: 1602
    functionLinenumberEnd: 1610
    functionName: process_chk
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 1
    functionsReached:
    - process_chk_conn
    - process_chk_proc
    linkageType: ''
    returnType: struct task
    signature: '*process_chk(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_new_on
      Src: /src/haproxy/src/check.c:1620,1
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/check.c:1622,1
    - Dst: srv_getinter
      Src: /src/haproxy/src/check.c:1631,1
    - Dst: srv_getinter
      Src: /src/haproxy/src/check.c:1632,1
    - Dst: srv_getinter
      Src: /src/haproxy/src/check.c:1637,1
    - Dst: ha_random32
      Src: /src/haproxy/src/check.c:1638,1
    - Dst: tick_add
      Src: /src/haproxy/src/check.c:1646,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/check.c:1646,1
    - Dst: task_queue
      Src: /src/haproxy/src/check.c:1648,1
    - Dst: ha_alert
      Src: /src/haproxy/src/check.c:1653,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - check
    - mininter
    - nbcheck
    - srvpos
    argTypes:
    - struct check*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1656
      start: 1613
    functionDepth: 9
    functionLinenumber: 1613
    functionLinenumberEnd: 1656
    functionName: start_check_task
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - task_new_on
    - tick_add
    - task_queue
    - task_new_anywhere
    - MS_TO_TICKS
    - srv_getinter
    - ha_random32
    linkageType: ''
    returnType: int
    signature: "start_check_task(struct check *check, int mininter,\n\t\t\t    int
      nbcheck, int srvpos)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setup_new_proxy
      Src: /src/haproxy/src/check.c:1671,1
    - Dst: ha_alert
      Src: /src/haproxy/src/check.c:1672,1
    - Dst: ha_free
      Src: /src/haproxy/src/check.c:1673,1
    - Dst: srv_getinter
      Src: /src/haproxy/src/check.c:1693,1
    - Dst: srv_getinter
      Src: /src/haproxy/src/check.c:1694,1
    - Dst: srv_getinter
      Src: /src/haproxy/src/check.c:1695,1
    - Dst: srv_getinter
      Src: /src/haproxy/src/check.c:1700,1
    - Dst: srv_getinter
      Src: /src/haproxy/src/check.c:1701,1
    - Dst: srv_getinter
      Src: /src/haproxy/src/check.c:1702,1
    - Dst: srand
      Src: /src/haproxy/src/check.c:1710,1
    - Dst: time
      Src: /src/haproxy/src/check.c:1710,1
    - Dst: init_pid_list
      Src: /src/haproxy/src/check.c:1719,1
    - Dst: ha_alert
      Src: /src/haproxy/src/check.c:1720,1
    - Dst: prepare_external_check
      Src: /src/haproxy/src/check.c:1729,1
    - Dst: start_check_task
      Src: /src/haproxy/src/check.c:1732,1
    - Dst: start_check_task
      Src: /src/haproxy/src/check.c:1739,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1662
    functionDepth: 10
    functionLinenumber: 1662
    functionLinenumberEnd: 1747
    functionName: start_checks
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - prepare_external_check
    - time
    - ha_free
    - init_pid_list
    - start_check_task
    - srand
    - setup_new_proxy
    - srv_getinter
    linkageType: ''
    returnType: int
    signature: start_checks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deinit_proxy
      Src: /src/haproxy/src/check.c:1753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1750
    functionDepth: 1
    functionLinenumber: 1750
    functionLinenumberEnd: 1754
    functionName: clear_checks
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - deinit_proxy
    linkageType: ''
    returnType: void
    signature: clear_checks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_host_port
      Src: /src/haproxy/src/check.c:1773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - chk
    argTypes:
    - struct check*
    constantsTouched: []
    func_position:
      end: 1790
      start: 1761
    functionDepth: 1
    functionLinenumber: 1761
    functionLinenumberEnd: 1790
    functionName: srv_check_healthcheck_port
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - get_host_port
    linkageType: ''
    returnType: int
    signature: srv_check_healthcheck_port(struct check *chk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_addr
      Src: /src/haproxy/src/check.c:1814,1
    - Dst: xprt_get
      Src: /src/haproxy/src/check.c:1820,1
    - Dst: xprt_get
      Src: /src/haproxy/src/check.c:1824,1
    - Dst: xprt_get
      Src: /src/haproxy/src/check.c:1832,1
    - Dst: ha_alert
      Src: /src/haproxy/src/check.c:1849,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/check.c:1850,1
    - Dst: srv_check_healthcheck_port
      Src: /src/haproxy/src/check.c:1860,1
    - Dst: is_inet_addr
      Src: /src/haproxy/src/check.c:1861,1
    - Dst: is_addr
      Src: /src/haproxy/src/check.c:1861,1
    - Dst: is_inet_addr
      Src: /src/haproxy/src/check.c:1861,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/check.c:1864,1
    - Dst: ha_alert
      Src: /src/haproxy/src/check.c:1865,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/check.c:1866,1
    - Dst: get_first_tcpcheck_rule
      Src: /src/haproxy/src/check.c:1872,1
    - Dst: get_host_port
      Src: /src/haproxy/src/check.c:1873,1
    - Dst: ha_alert
      Src: /src/haproxy/src/check.c:1874,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/check.c:1876,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/check.c:1882,1
    - Dst: get_host_port
      Src: /src/haproxy/src/check.c:1883,1
    - Dst: ha_alert
      Src: /src/haproxy/src/check.c:1884,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/check.c:1886,1
    - Dst: init_check
      Src: /src/haproxy/src/check.c:1893,1
    - Dst: ha_alert
      Src: /src/haproxy/src/check.c:1895,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/check.c:1896,1
    - Dst: srv_take
      Src: /src/haproxy/src/check.c:1901,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 70
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 1912
      start: 1795
    functionDepth: 9
    functionLinenumber: 1795
    functionLinenumberEnd: 1912
    functionName: init_srv_check
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - init_check
    - LIST_ISEMPTY
    - is_addr
    - list_for_each_entry
    - is_inet_addr
    - proxy_type_str
    - srv_take
    - get_first_tcpcheck_rule
    - get_host_port
    - srv_check_healthcheck_port
    - xprt_get
    linkageType: ''
    returnType: int
    signature: init_srv_check(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_first_tcpcheck_rule
      Src: /src/haproxy/src/check.c:1929,1
    - Dst: calloc
      Src: /src/haproxy/src/check.c:1931,1
    - Dst: ha_alert
      Src: /src/haproxy/src/check.c:1933,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/check.c:1935,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/check.c:1941,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/check.c:1948,1
    - Dst: init_check
      Src: /src/haproxy/src/check.c:1952,1
    - Dst: ha_alert
      Src: /src/haproxy/src/check.c:1954,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/check.c:1955,1
    - Dst: srv_take
      Src: /src/haproxy/src/check.c:1964,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 1975
      start: 1917
    functionDepth: 9
    functionLinenumber: 1917
    functionLinenumberEnd: 1975
    functionName: init_srv_agent_check
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - init_check
    - LIST_ISEMPTY
    - calloc
    - proxy_type_str
    - srv_take
    - get_first_tcpcheck_rule
    - LIST_INSERT
    linkageType: ''
    returnType: int
    signature: init_srv_agent_check(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_check
      Src: /src/haproxy/src/check.c:1980,1
    - Dst: srv_drop
      Src: /src/haproxy/src/check.c:1982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 1986
      start: 1977
    functionDepth: 8
    functionLinenumber: 1977
    functionLinenumberEnd: 1986
    functionName: deinit_srv_check
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - srv_drop
    - free_check
    linkageType: ''
    returnType: void
    signature: deinit_srv_check(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free_check
      Src: /src/haproxy/src/check.c:1992,1
    - Dst: srv_drop
      Src: /src/haproxy/src/check.c:1994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 1999
      start: 1989
    functionDepth: 8
    functionLinenumber: 1989
    functionLinenumberEnd: 1999
    functionName: deinit_srv_agent_check
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - srv_drop
    - free_check
    linkageType: ''
    returnType: void
    signature: deinit_srv_agent_check(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/check.c:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2016
    functionName: init_checks
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: init_checks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2043,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/check.c:2047,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2050,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2065
      start: 2035
    functionDepth: 5
    functionLinenumber: 2035
    functionLinenumberEnd: 2065
    functionName: srv_parse_addr
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - str2sa_range
    linkageType: ''
    returnType: int
    signature: "srv_parse_addr(char **args, int *cur_arg, struct proxy *curpx, struct
      server *srv,\n\t\t\t  char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2075,1
    - Dst: memset
      Src: /src/haproxy/src/check.c:2078,1
    - Dst: str2ip
      Src: /src/haproxy/src/check.c:2079,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2080,1
    - Dst: set_srv_agent_addr
      Src: /src/haproxy/src/check.c:2083,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2091
      start: 2068
    functionDepth: 5
    functionLinenumber: 2068
    functionLinenumberEnd: 2091
    functionName: srv_parse_agent_addr
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - memset
    - set_srv_agent_addr
    - str2ip
    linkageType: ''
    returnType: int
    signature: "srv_parse_agent_addr(char **args, int *cur_arg, struct proxy *curpx,
      struct server *srv,\n\t\t\t\tchar **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2106,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/check.c:2107,1
    - Dst: calloc
      Src: /src/haproxy/src/check.c:2112,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2114,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/check.c:2117,1
    - Dst: find_tcpcheck_ruleset
      Src: /src/haproxy/src/check.c:2123,1
    - Dst: create_tcpcheck_ruleset
      Src: /src/haproxy/src/check.c:2127,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2129,1
    - Dst: parse_tcpcheck_send
      Src: /src/haproxy/src/check.c:2133,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2136,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/check.c:2140,1
    - Dst: parse_tcpcheck_expect
      Src: /src/haproxy/src/check.c:2142,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2146,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/check.c:2151,1
    - Dst: deinit_srv_agent_check
      Src: /src/haproxy/src/check.c:2163,1
    - Dst: free_tcpcheck_ruleset
      Src: /src/haproxy/src/check.c:2164,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2167
      start: 2094
    functionDepth: 9
    functionLinenumber: 2094
    functionLinenumberEnd: 2167
    functionName: srv_parse_agent_check
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - find_tcpcheck_ruleset
    - create_tcpcheck_ruleset
    - calloc
    - LIST_APPEND
    - free_tcpcheck_ruleset
    - parse_tcpcheck_send
    - deinit_srv_agent_check
    - proxy_type_str
    - LIST_INIT
    - parse_tcpcheck_expect
    linkageType: ''
    returnType: int
    signature: "srv_parse_agent_check(char **args, int *cur_arg, struct proxy *curpx,
      struct server *srv,\n\t\t\t\t char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2178,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/check.c:2182,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2184,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2189,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2194,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2199,1
    - Dst: warn_if_lower
      Src: /src/haproxy/src/check.c:2205,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2206,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2217
      start: 2170
    functionDepth: 5
    functionLinenumber: 2170
    functionLinenumberEnd: 2217
    functionName: srv_parse_agent_inter
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_time_err
    - warn_if_lower
    linkageType: ''
    returnType: int
    signature: "srv_parse_agent_inter(char **args, int *cur_arg, struct proxy *curpx,
      struct server *srv,\n\t\t\t\t char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2226,1
    - Dst: set_srv_agent_port
      Src: /src/haproxy/src/check.c:2237,1
    - Dst: atol
      Src: /src/haproxy/src/check.c:2237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2245
      start: 2220
    functionDepth: 5
    functionLinenumber: 2220
    functionLinenumberEnd: 2245
    functionName: srv_parse_agent_port
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    - set_srv_agent_port
    linkageType: ''
    returnType: int
    signature: "srv_parse_agent_port(char **args, int *cur_arg, struct proxy *curpx,
      struct server *srv,\n\t\t\t\tchar **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/haproxy/src/check.c:2253,1
    - Dst: create_tcpcheck_var
      Src: /src/haproxy/src/check.c:2254,1
    - Dst: ist
      Src: /src/haproxy/src/check.c:2254,1
    - Dst: free_tcpcheck_vars
      Src: /src/haproxy/src/check.c:2258,1
    - Dst: strlen
      Src: /src/haproxy/src/check.c:2262,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/check.c:2263,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/check.c:2264,1
    - Dst: free
      Src: /src/haproxy/src/check.c:2269,1
    - Dst: free
      Src: /src/haproxy/src/check.c:2270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - srv
    - send
    argTypes:
    - struct server*
    - char*
    constantsTouched: []
    func_position:
      end: 2272
      start: 2247
    functionDepth: 5
    functionLinenumber: 2247
    functionLinenumberEnd: 2272
    functionName: set_srv_agent_send
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 1
    functionsReached:
    - strlen
    - LIST_APPEND
    - ist
    - strdup
    - free
    - create_tcpcheck_var
    - LIST_INIT
    - free_tcpcheck_vars
    linkageType: ''
    returnType: int
    signature: set_srv_agent_send(struct server *srv, const char *send)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2282,1
    - Dst: calloc
      Src: /src/haproxy/src/check.c:2287,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2289,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/check.c:2292,1
    - Dst: set_srv_agent_send
      Src: /src/haproxy/src/check.c:2296,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2297,1
    - Dst: deinit_srv_agent_check
      Src: /src/haproxy/src/check.c:2305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2308
      start: 2275
    functionDepth: 9
    functionLinenumber: 2275
    functionLinenumberEnd: 2308
    functionName: srv_parse_agent_send
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    - set_srv_agent_send
    - deinit_srv_agent_check
    - LIST_INIT
    linkageType: ''
    returnType: int
    signature: "srv_parse_agent_send(char **args, int *cur_arg, struct proxy *curpx,
      struct server *srv,\n\t\t\t\tchar **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deinit_srv_agent_check
      Src: /src/haproxy/src/check.c:2314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2316
      start: 2311
    functionDepth: 9
    functionLinenumber: 2311
    functionLinenumberEnd: 2316
    functionName: srv_parse_no_agent_check
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - deinit_srv_agent_check
    linkageType: ''
    returnType: int
    signature: "srv_parse_no_agent_check(char **args, int *cur_arg, struct proxy *curpx,
      struct server *srv,\n\t\t\t\t    char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2323,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/check.c:2324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2330
      start: 2319
    functionDepth: 5
    functionLinenumber: 2319
    functionLinenumberEnd: 2330
    functionName: srv_parse_check
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - proxy_type_str
    linkageType: ''
    returnType: int
    signature: "srv_parse_check(char **args, int *cur_arg, struct proxy *curpx, struct
      server *srv,\n\t\t\t   char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2338
      start: 2333
    functionDepth: 0
    functionLinenumber: 2333
    functionLinenumberEnd: 2338
    functionName: srv_parse_check_send_proxy
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "srv_parse_check_send_proxy(char **args, int *cur_arg, struct proxy
      *curpx, struct server *srv,\n\t\t\t\t      char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2346
      start: 2341
    functionDepth: 0
    functionLinenumber: 2341
    functionLinenumberEnd: 2346
    functionName: srv_parse_check_via_socks4
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "srv_parse_check_via_socks4(char **args, int *cur_arg, struct proxy
      *curpx, struct server *srv,\n\t\t\t\t      char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deinit_srv_check
      Src: /src/haproxy/src/check.c:2352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2354
      start: 2349
    functionDepth: 9
    functionLinenumber: 2349
    functionLinenumberEnd: 2354
    functionName: srv_parse_no_check
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - deinit_srv_check
    linkageType: ''
    returnType: int
    signature: "srv_parse_no_check(char **args, int *cur_arg, struct proxy *curpx,
      struct server *srv,\n\t\t\t      char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2363
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2363
    functionName: srv_parse_no_check_reuse_pool
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "srv_parse_no_check_reuse_pool(char **args, int *cur_arg,\n                                         struct
      proxy *curpx, struct server *srv,\n                                         char
      **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2371
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2371
    functionName: srv_parse_no_check_send_proxy
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "srv_parse_no_check_send_proxy(char **args, int *cur_arg, struct proxy
      *curpx, struct server *srv,\n\t\t\t\t\t char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2381,1
    - Dst: ha_free
      Src: /src/haproxy/src/check.c:2385,1
    - Dst: strdup
      Src: /src/haproxy/src/check.c:2386,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2398
      start: 2374
    functionDepth: 5
    functionLinenumber: 2374
    functionLinenumberEnd: 2398
    functionName: srv_parse_check_pool_conn_name
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_free
    - strdup
    linkageType: ''
    returnType: int
    signature: "srv_parse_check_pool_conn_name(char **args, int *cur_arg,\n                                          struct
      proxy *px,\n                                          struct server *newsrv,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2408,1
    - Dst: get_mux_proto
      Src: /src/haproxy/src/check.c:2411,1
    - Dst: ist
      Src: /src/haproxy/src/check.c:2411,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2423
      start: 2402
    functionDepth: 5
    functionLinenumber: 2402
    functionLinenumberEnd: 2423
    functionName: srv_parse_check_proto
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - get_mux_proto
    - ist
    linkageType: ''
    returnType: int
    signature: "srv_parse_check_proto(char **args, int *cur_arg,\n\t\t\t\t struct
      proxy *px, struct server *newsrv, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2432
      start: 2426
    functionDepth: 0
    functionLinenumber: 2426
    functionLinenumberEnd: 2432
    functionName: srv_parse_check_reuse_pool
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "srv_parse_check_reuse_pool(char **args, int *cur_arg,\n                                      struct
      proxy *curpx, struct server *srv,\n                                      char
      **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2442,1
    - Dst: atol
      Src: /src/haproxy/src/check.c:2446,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2448,1
    - Dst: deinit_srv_agent_check
      Src: /src/haproxy/src/check.c:2459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2462
      start: 2436
    functionDepth: 9
    functionLinenumber: 2436
    functionLinenumberEnd: 2462
    functionName: srv_parse_check_rise
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    - deinit_srv_agent_check
    linkageType: ''
    returnType: int
    signature: "srv_parse_check_rise(char **args, int *cur_arg, struct proxy *curpx,
      struct server *srv,\n\t\t\t\tchar **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2471,1
    - Dst: atol
      Src: /src/haproxy/src/check.c:2475,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2477,1
    - Dst: deinit_srv_agent_check
      Src: /src/haproxy/src/check.c:2485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2488
      start: 2465
    functionDepth: 9
    functionLinenumber: 2465
    functionLinenumberEnd: 2488
    functionName: srv_parse_check_fall
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    - deinit_srv_agent_check
    linkageType: ''
    returnType: int
    signature: "srv_parse_check_fall(char **args, int *cur_arg, struct proxy *curpx,
      struct server *srv,\n\t\t\t\tchar **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2499,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/check.c:2503,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2505,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2510,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2515,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2520,1
    - Dst: warn_if_lower
      Src: /src/haproxy/src/check.c:2526,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2527,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2538
      start: 2491
    functionDepth: 5
    functionLinenumber: 2491
    functionLinenumberEnd: 2538
    functionName: srv_parse_check_inter
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_time_err
    - warn_if_lower
    linkageType: ''
    returnType: int
    signature: "srv_parse_check_inter(char **args, int *cur_arg, struct proxy *curpx,
      struct server *srv,\n\t\t\t\t char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2550,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/check.c:2554,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2556,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2561,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2566,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2571,1
    - Dst: warn_if_lower
      Src: /src/haproxy/src/check.c:2577,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2578,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2589
      start: 2542
    functionDepth: 5
    functionLinenumber: 2542
    functionLinenumberEnd: 2589
    functionName: srv_parse_check_fastinter
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_time_err
    - warn_if_lower
    linkageType: ''
    returnType: int
    signature: "srv_parse_check_fastinter(char **args, int *cur_arg, struct proxy
      *curpx, struct server *srv,\n\t\t\t\t     char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2601,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/check.c:2605,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2607,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2612,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2617,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2622,1
    - Dst: warn_if_lower
      Src: /src/haproxy/src/check.c:2628,1
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2629,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2640
      start: 2593
    functionDepth: 5
    functionLinenumber: 2593
    functionLinenumberEnd: 2640
    functionName: srv_parse_check_downinter
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_time_err
    - warn_if_lower
    linkageType: ''
    returnType: int
    signature: "srv_parse_check_downinter(char **args, int *cur_arg, struct proxy
      *curpx, struct server *srv,\n\t\t\t\t     char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/check.c:2649,1
    - Dst: atol
      Src: /src/haproxy/src/check.c:2660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - args
    - cur_arg
    - curpx
    - srv
    - errmsg
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2671
      start: 2643
    functionDepth: 5
    functionLinenumber: 2643
    functionLinenumberEnd: 2671
    functionName: srv_parse_check_port
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    linkageType: ''
    returnType: int
    signature: "srv_parse_check_port(char **args, int *cur_arg, struct proxy *curpx,
      struct server *srv,\n\t\t\t\tchar **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/check.c:2678,1
    - Dst: atoi
      Src: /src/haproxy/src/check.c:2680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2682
      start: 2674
    functionDepth: 7
    functionLinenumber: 2674
    functionLinenumberEnd: 2682
    functionName: check_parse_global_max_checks
    functionSourceFile: /src/haproxy/src/check.c
    functionUses: 0
    functionsReached:
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "check_parse_global_max_checks(char **args, int section_type, struct
      proxy *curpx,\n                                       const struct proxy *defpx,
      const char *file, int line,\n                                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_lookup
      Src: /src/haproxy/src/quic_retransmit.c:26,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_retransmit.c:27,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_retransmit.c:32,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_retransmit.c:37,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_retransmit.c:45,1
    - Dst: qc_stream_frm_mv_fwd
      Src: /src/haproxy/src/quic_retransmit.c:46,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - qc
    - f
    argTypes:
    - struct quic_conn*
    - struct quic_frame*
    constantsTouched: []
    func_position:
      end: 50
      start: 20
    functionDepth: 2
    functionLinenumber: 20
    functionLinenumberEnd: 50
    functionName: qc_stream_frm_is_acked
    functionSourceFile: /src/haproxy/src/quic_retransmit.c
    functionUses: 1
    functionsReached:
    - qc_stream_frm_mv_fwd
    - eb64_lookup
    - BUG_ON
    - TRACE_DEVEL
    linkageType: ''
    returnType: int
    signature: qc_stream_frm_is_acked(struct quic_conn *qc, struct quic_frame *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_retransmit.c:61,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_retransmit.c:63,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_retransmit.c:69,1
    - Dst: qc_stream_frm_is_acked
      Src: /src/haproxy/src/quic_retransmit.c:77,1
    - Dst: qc_frm_dup
      Src: /src/haproxy/src/quic_retransmit.c:92,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_retransmit.c:94,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_retransmit.c:98,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_retransmit.c:100,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_retransmit.c:105,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_retransmit.c:108,1
    - Dst: LIST_SPLICE
      Src: /src/haproxy/src/quic_retransmit.c:111,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_retransmit.c:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - qc
    - pkt_frm_list
    - out_frm_list
    argTypes:
    - struct quic_conn*
    - struct list*
    - struct list*
    constantsTouched: []
    func_position:
      end: 114
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 114
    functionName: qc_dup_pkt_frms
    functionSourceFile: /src/haproxy/src/quic_retransmit.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - qc_stream_frm_is_acked
    - LIST_HEAD_INIT
    - TRACE_ENTER
    - LIST_APPEND
    - qc_frm_dup
    - LIST_SPLICE
    - TRACE_DEVEL
    - TRACE_ERROR
    linkageType: ''
    returnType: void
    signature: "qc_dup_pkt_frms(struct quic_conn *qc,\n                            struct
      list *pkt_frm_list, struct list *out_frm_list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/quic_retransmit.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - struct quic_tx_packet*
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: qc_pkt_with_only_acked_frms
    functionSourceFile: /src/haproxy/src/quic_retransmit.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: int
    signature: qc_pkt_with_only_acked_frms(struct quic_tx_packet *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_retransmit.c:140,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_retransmit.c:142,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_retransmit.c:145,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_retransmit.c:150,1
    - Dst: eb64_next
      Src: /src/haproxy/src/quic_retransmit.c:151,1
    - Dst: TRACE_PRINTF
      Src: /src/haproxy/src/quic_retransmit.c:153,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_retransmit.c:155,1
    - Dst: qc_pkt_with_only_acked_frms
      Src: /src/haproxy/src/quic_retransmit.c:156,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_retransmit.c:157,1
    - Dst: qc_pkt_with_only_acked_frms
      Src: /src/haproxy/src/quic_retransmit.c:157,1
    - Dst: quic_peer_validated_addr
      Src: /src/haproxy/src/quic_retransmit.c:169,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_retransmit.c:169,1
    - Dst: quic_may_send_bytes
      Src: /src/haproxy/src/quic_retransmit.c:170,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_retransmit.c:172,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_retransmit.c:176,1
    - Dst: qc_dup_pkt_frms
      Src: /src/haproxy/src/quic_retransmit.c:177,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_retransmit.c:183,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - qc
    - pktns
    - frms1
    - frms2
    argTypes:
    - struct quic_conn*
    - struct quic_pktns*
    - struct list*
    - struct list*
    constantsTouched: []
    func_position:
      end: 184
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 184
    functionName: qc_prep_fast_retrans
    functionSourceFile: /src/haproxy/src/quic_retransmit.c
    functionUses: 1
    functionsReached:
    - TRACE_PRINTF
    - qc_pkt_with_only_acked_frms
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - TRACE_ENTER
    - quic_peer_validated_addr
    - TRACE_PROTO
    - eb64_first
    - eb64_entry
    - eb64_next
    - qc_dup_pkt_frms
    - BUG_ON
    - qc_is_listener
    - quic_may_send_bytes
    linkageType: ''
    returnType: void
    signature: "qc_prep_fast_retrans(struct quic_conn *qc,\n                          struct
      quic_pktns *pktns,\n                          struct list *frms1, struct list
      *frms2)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_retransmit.c:194,1
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_retransmit.c:195,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_retransmit.c:205,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_retransmit.c:209,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_retransmit.c:214,1
    - Dst: TRACE_PRINTF
      Src: /src/haproxy/src/quic_retransmit.c:215,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_retransmit.c:217,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_retransmit.c:218,1
    - Dst: qc_pkt_with_only_acked_frms
      Src: /src/haproxy/src/quic_retransmit.c:219,1
    - Dst: eb64_next
      Src: /src/haproxy/src/quic_retransmit.c:224,1
    - Dst: quic_peer_validated_addr
      Src: /src/haproxy/src/quic_retransmit.c:233,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_retransmit.c:233,1
    - Dst: quic_may_send_bytes
      Src: /src/haproxy/src/quic_retransmit.c:237,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_retransmit.c:241,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_retransmit.c:243,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_retransmit.c:245,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_retransmit.c:255,1
    - Dst: qc_dup_pkt_frms
      Src: /src/haproxy/src/quic_retransmit.c:256,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_retransmit.c:262,1
    - Dst: LIST_SPLICE
      Src: /src/haproxy/src/quic_retransmit.c:268,1
    - Dst: LIST_SPLICE
      Src: /src/haproxy/src/quic_retransmit.c:269,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_retransmit.c:271,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 3
    argNames:
    - qc
    - ifrms
    - hfrms
    argTypes:
    - struct quic_conn*
    - struct list*
    - struct list*
    constantsTouched: []
    func_position:
      end: 272
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 272
    functionName: qc_prep_hdshk_fast_retrans
    functionSourceFile: /src/haproxy/src/quic_retransmit.c
    functionUses: 1
    functionsReached:
    - TRACE_PRINTF
    - qc_pkt_with_only_acked_frms
    - TRACE_LEAVE
    - LIST_HEAD_INIT
    - LIST_ISEMPTY
    - TRACE_ENTER
    - quic_peer_validated_addr
    - TRACE_PROTO
    - eb64_first
    - eb64_entry
    - LIST_SPLICE
    - TRACE_DEVEL
    - eb64_next
    - qc_dup_pkt_frms
    - qc_is_listener
    - quic_may_send_bytes
    linkageType: ''
    returnType: void
    signature: "qc_prep_hdshk_fast_retrans(struct quic_conn *qc,\n                                struct
      list *ifrms, struct list *hfrms)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_pool
      Src: /src/haproxy/src/dynbuf.c:35,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dynbuf.c:40,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dynbuf.c:41,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dynbuf.c:42,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dynbuf.c:43,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/dynbuf.c:44,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/dynbuf.c:48,1
    - Dst: MAX
      Src: /src/haproxy/src/dynbuf.c:60,1
    - Dst: pool_alloc_nocache
      Src: /src/haproxy/src/dynbuf.c:65,1
    - Dst: pool_free
      Src: /src/haproxy/src/dynbuf.c:68,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 28
    functionDepth: 4
    functionLinenumber: 28
    functionLinenumberEnd: 71
    functionName: init_buffer
    functionSourceFile: /src/haproxy/src/dynbuf.c
    functionUses: 1
    functionsReached:
    - MAX
    - create_pool
    - pool_free
    - LIST_INIT
    - pool_alloc_nocache
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: init_buffer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/dynbuf.c:78,1
    - Dst: fprintf
      Src: /src/haproxy/src/dynbuf.c:79,1
    - Dst: b_orig
      Src: /src/haproxy/src/dynbuf.c:80,1
    - Dst: b_size
      Src: /src/haproxy/src/dynbuf.c:80,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/dynbuf.c:80,1
    - Dst: b_tail_ofs
      Src: /src/haproxy/src/dynbuf.c:80,1
    - Dst: b_data
      Src: /src/haproxy/src/dynbuf.c:80,1
    - Dst: fprintf
      Src: /src/haproxy/src/dynbuf.c:82,1
    - Dst: fprintf
      Src: /src/haproxy/src/dynbuf.c:83,1
    - Dst: fprintf
      Src: /src/haproxy/src/dynbuf.c:88,1
    - Dst: fprintf
      Src: /src/haproxy/src/dynbuf.c:90,1
    - Dst: b_orig
      Src: /src/haproxy/src/dynbuf.c:90,1
    - Dst: fprintf
      Src: /src/haproxy/src/dynbuf.c:92,1
    - Dst: fprintf
      Src: /src/haproxy/src/dynbuf.c:98,1
    - Dst: fprintf
      Src: /src/haproxy/src/dynbuf.c:100,1
    - Dst: fprintf
      Src: /src/haproxy/src/dynbuf.c:102,1
    - Dst: fprintf
      Src: /src/haproxy/src/dynbuf.c:104,1
    - Dst: isprint
      Src: /src/haproxy/src/dynbuf.c:104,1
    - Dst: b_orig
      Src: /src/haproxy/src/dynbuf.c:104,1
    - Dst: b_orig
      Src: /src/haproxy/src/dynbuf.c:104,1
    - Dst: fprintf
      Src: /src/haproxy/src/dynbuf.c:106,1
    - Dst: fprintf
      Src: /src/haproxy/src/dynbuf.c:110,1
    - Dst: fflush
      Src: /src/haproxy/src/dynbuf.c:111,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - o
    - b
    - from
    - to
    argTypes:
    - FILE*
    - struct buffer*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 112
    functionName: buffer_dump
    functionSourceFile: /src/haproxy/src/dynbuf.c
    functionUses: 0
    functionsReached:
    - isprint
    - fflush
    - b_data
    - b_size
    - fprintf
    - b_head_ofs
    - b_orig
    - b_tail_ofs
    linkageType: ''
    returnType: void
    signature: buffer_dump(FILE *o, struct buffer *b, int from, int to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/dynbuf.c:129,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/dynbuf.c:129,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/dynbuf.c:131,1
    - Dst: struct buffer_wait*::wakeup_cb
      Src: /src/haproxy/src/dynbuf.c:135,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/dynbuf.c:138,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/dynbuf.c:141,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - from
    - count
    argTypes:
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 144
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 144
    functionName: __offer_buffers
    functionSourceFile: /src/haproxy/src/dynbuf.c
    functionUses: 0
    functionsReached:
    - LIST_ISEMPTY
    - list_for_each_entry_safe
    - LIST_DEL_INIT
    - struct buffer_wait*::wakeup_cb
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: __offer_buffers(void *from, unsigned int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/dynbuf.c:153,1
    - Dst: atoi
      Src: /src/haproxy/src/dynbuf.c:156,1
    - Dst: memprintf
      Src: /src/haproxy/src/dynbuf.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 169
      start: 147
    functionDepth: 7
    functionLinenumber: 147
    functionLinenumberEnd: 169
    functionName: cfg_parse_tune_buffers_limit
    functionSourceFile: /src/haproxy/src/dynbuf.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "cfg_parse_tune_buffers_limit(char **args, int section_type, struct
      proxy *curpx,\n                                        const struct proxy *defpx,
      const char *file, int line,\n                                        char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/dynbuf.c:178,1
    - Dst: atoi
      Src: /src/haproxy/src/dynbuf.c:181,1
    - Dst: memprintf
      Src: /src/haproxy/src/dynbuf.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 189
      start: 172
    functionDepth: 7
    functionLinenumber: 172
    functionLinenumberEnd: 189
    functionName: cfg_parse_tune_buffers_reserve
    functionSourceFile: /src/haproxy/src/dynbuf.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "cfg_parse_tune_buffers_reserve(char **args, int section_type, struct
      proxy *curpx,\n                                          const struct proxy
      *defpx, const char *file, int line,\n                                          char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/dynbuf.c:199,1
    - Dst: memprintf
      Src: /src/haproxy/src/dynbuf.c:203,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/dynbuf.c:207,1
    - Dst: memprintf
      Src: /src/haproxy/src/dynbuf.c:209,1
    - Dst: memprintf
      Src: /src/haproxy/src/dynbuf.c:214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 223
      start: 192
    functionDepth: 7
    functionLinenumber: 192
    functionLinenumberEnd: 223
    functionName: cfg_parse_tune_bufsize_small
    functionSourceFile: /src/haproxy/src/dynbuf.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_size_err
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_tune_bufsize_small(char **args, int section_type,\n                                        struct
      proxy *curpx, const struct proxy *defpx,\n                                        const
      char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/dynbuf.c:231,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/dynbuf.c:237,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/dynbuf.c:238,1
    - Dst: pool_alloc_flag
      Src: /src/haproxy/src/dynbuf.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 245
    functionName: alloc_emergency_buffers_per_thread
    functionSourceFile: /src/haproxy/src/dynbuf.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_LOAD
    - calloc
    - _HA_ATOMIC_INC
    - pool_alloc_flag
    linkageType: ''
    returnType: int
    signature: alloc_emergency_buffers_per_thread(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free
      Src: /src/haproxy/src/dynbuf.c:254,1
    - Dst: ha_free
      Src: /src/haproxy/src/dynbuf.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 258
    functionName: free_emergency_buffers_per_thread
    functionSourceFile: /src/haproxy/src/dynbuf.c
    functionUses: 0
    functionsReached:
    - ha_free
    - pool_free
    linkageType: ''
    returnType: void
    signature: free_emergency_buffers_per_thread(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - largest_pn
    - truncated_pn
    - pn_nbits
    argTypes:
    - uint64_t
    - uint32_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 66
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 66
    functionName: decode_packet_number
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: "decode_packet_number(uint64_t largest_pn,\n                                     uint32_t
      truncated_pn, unsigned int pn_nbits)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:85,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:91,1
    - Dst: quic_tls_hp_decrypt
      Src: /src/haproxy/src/quic_rx.c:97,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:98,1
    - Dst: decode_packet_number
      Src: /src/haproxy/src/quic_rx.c:109,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 6
    argNames:
    - qc
    - pkt
    - tls_ctx
    - largest_pn
    - pn
    - byte0
    argTypes:
    - struct quic_conn*
    - struct quic_rx_packet*
    - struct quic_tls_ctx*
    - int64_t
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 118
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 118
    functionName: qc_do_rm_hp
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - decode_packet_number
    - TRACE_ENTER
    - TRACE_PROTO
    - quic_tls_hp_decrypt
    - TRACE_ERROR
    linkageType: ''
    returnType: int
    signature: "qc_do_rm_hp(struct quic_conn *qc,\n                       struct quic_rx_packet
      *pkt, struct quic_tls_ctx *tls_ctx,\n                       int64_t largest_pn,
      unsigned char *pn, unsigned char *byte0)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_select_tls_ctx
      Src: /src/haproxy/src/quic_rx.c:131,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:137,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:154,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:164,1
    - Dst: quic_aead_iv_build
      Src: /src/haproxy/src/quic_rx.c:173,1
    - Dst: quic_tls_decrypt
      Src: /src/haproxy/src/quic_rx.c:175,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:179,1
    - Dst: quic_tls_rotate_keys
      Src: /src/haproxy/src/quic_rx.c:185,1
    - Dst: quic_tls_key_update
      Src: /src/haproxy/src/quic_rx.c:191,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:192,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:201,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 3
    argNames:
    - qc
    - qel
    - pkt
    argTypes:
    - struct quic_conn*
    - struct quic_enc_level*
    - struct quic_rx_packet*
    constantsTouched: []
    func_position:
      end: 203
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 203
    functionName: qc_pkt_decrypt
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - quic_tls_rotate_keys
    - quic_tls_decrypt
    - quic_aead_iv_build
    - TRACE_ENTER
    - TRACE_PROTO
    - TRACE_ERROR
    - quic_tls_key_update
    - qc_select_tls_ctx
    linkageType: ''
    returnType: int
    signature: "qc_pkt_decrypt(struct quic_conn *qc, struct quic_enc_level *qel,\n
      \                         struct quic_rx_packet *pkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:214,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:215,1
    - Dst: eb64_lookup
      Src: /src/haproxy/src/quic_rx.c:232,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:234,1
    - Dst: qc_release_frm
      Src: /src/haproxy/src/quic_rx.c:235,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_rx.c:239,1
    - Dst: qc_stream_desc_ack
      Src: /src/haproxy/src/quic_rx.c:241,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:245,1
    - Dst: qc_stream_desc_done
      Src: /src/haproxy/src/quic_rx.c:248,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:250,1
    - Dst: qc_check_close_on_released_mux
      Src: /src/haproxy/src/quic_rx.c:251,1
    - Dst: qc_release_frm
      Src: /src/haproxy/src/quic_rx.c:254,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:257,1
    - Dst: qc_release_frm
      Src: /src/haproxy/src/quic_rx.c:259,1
    - Dst: qc_release_frm
      Src: /src/haproxy/src/quic_rx.c:269,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - qc
    - frm
    argTypes:
    - struct quic_conn*
    - struct quic_frame*
    constantsTouched: []
    func_position:
      end: 276
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 276
    functionName: qc_handle_newly_acked_frm
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - TRACE_PROTO
    - qc_stream_desc_ack
    - qc_release_frm
    - eb64_entry
    - eb64_lookup
    - qc_check_close_on_released_mux
    - TRACE_DEVEL
    - qc_stream_desc_done
    linkageType: ''
    returnType: int
    signature: qc_handle_newly_acked_frm(struct quic_conn *qc, struct quic_frame *frm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:291,1
    - Dst: eb64_lookup_ge
      Src: /src/haproxy/src/quic_rx.c:293,1
    - Dst: eb64_lookup_le
      Src: /src/haproxy/src/quic_rx.c:297,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_rx.c:302,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_rx.c:303,1
    - Dst: eb64_next
      Src: /src/haproxy/src/quic_rx.c:304,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_rx.c:305,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 6
    argNames:
    - qc
    - pkts
    - newly_acked_pkts
    - largest_node
    - largest
    - smallest
    argTypes:
    - struct quic_conn*
    - struct eb_root*
    - struct list*
    - struct eb64_node*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 310
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 310
    functionName: qc_newly_acked_pkts
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - LIST_APPEND
    - eb64_entry
    - eb64_lookup_le
    - eb64_lookup_ge
    - eb64_next
    - eb64_delete
    linkageType: ''
    returnType: void
    signature: "qc_newly_acked_pkts(struct quic_conn *qc, struct eb_root *pkts,\n
      \                               struct list *newly_acked_pkts,\n                                struct
      eb64_node *largest_node,\n                                uint64_t largest,
      uint64_t smallest)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:322,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:328,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_rx.c:329,1
    - Dst: qc_handle_newly_acked_frm
      Src: /src/haproxy/src/quic_rx.c:330,1
    - Dst: quic_tx_packet_dgram_detach
      Src: /src/haproxy/src/quic_rx.c:336,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_rx.c:337,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - qc
    - pkt_flags
    - newly_acked_pkts
    argTypes:
    - struct quic_conn*
    - unsigned int*
    - struct list*
    constantsTouched: []
    func_position:
      end: 344
      start: 316
    functionDepth: 6
    functionLinenumber: 316
    functionLinenumberEnd: 344
    functionName: qc_handle_newly_acked_pkts
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - list_for_each_entry_safe
    - TRACE_ENTER
    - TRACE_DEVEL
    - quic_tx_packet_dgram_detach
    - eb64_delete
    - qc_handle_newly_acked_frm
    linkageType: ''
    returnType: int
    signature: "qc_handle_newly_acked_pkts(struct quic_conn *qc,\n                                      unsigned
      int *pkt_flags, struct list *newly_acked_pkts)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:362,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_rx.c:366,1
    - Dst: quic_tx_packet_refdec
      Src: /src/haproxy/src/quic_rx.c:367,1
    - Dst: qc_frm_unref
      Src: /src/haproxy/src/quic_rx.c:371,1
    - Dst: qc_stream_frm_is_acked
      Src: /src/haproxy/src/quic_rx.c:375,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_rx.c:376,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:388,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_rx.c:391,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_rx.c:392,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:397,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:398,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_rx.c:400,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:404,1
    - Dst: quic_set_connection_close
      Src: /src/haproxy/src/quic_rx.c:405,1
    - Dst: quic_err_transport
      Src: /src/haproxy/src/quic_rx.c:405,1
    - Dst: qc_notify_err
      Src: /src/haproxy/src/quic_rx.c:406,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_rx.c:410,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:411,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:416,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - qc
    - pkt
    - pktns_frm_list
    argTypes:
    - struct quic_conn*
    - struct quic_tx_packet*
    - struct list*
    constantsTouched: []
    func_position:
      end: 418
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 418
    functionName: qc_handle_frms_of_lost_pkt
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 1
    functionsReached:
    - quic_err_transport
    - qc_frm_unref
    - TRACE_LEAVE
    - qc_stream_frm_is_acked
    - TRACE_ENTER
    - qc_frm_free
    - LIST_APPEND
    - quic_set_connection_close
    - LIST_DEL_INIT
    - TRACE_DEVEL
    - TRACE_ERROR
    - qc_notify_err
    - quic_tx_packet_refdec
    linkageType: ''
    returnType: int
    signature: "qc_handle_frms_of_lost_pkt(struct quic_conn *qc,\n                               struct
      quic_tx_packet *pkt,\n                               struct list *pktns_frm_list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct quic_cc_path*::cc::algo::get_drs
      Src: /src/haproxy/src/quic_rx.c:433,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:437,1
    - Dst: qc_treat_ack_of_ack
      Src: /src/haproxy/src/quic_rx.c:449,1
    - Dst: quic_cc_event
      Src: /src/haproxy/src/quic_rx.c:456,1
    - Dst: quic_cc_drs_update_rate_sample
      Src: /src/haproxy/src/quic_rx.c:459,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_rx.c:460,1
    - Dst: quic_tx_packet_refdec
      Src: /src/haproxy/src/quic_rx.c:461,1
    - Dst: quic_cc_drs_on_ack_recv
      Src: /src/haproxy/src/quic_rx.c:465,1
    - Dst: struct quic_cc_path*::cc::algo::on_ack_rcvd
      Src: /src/haproxy/src/quic_rx.c:469,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:472,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - qc
    - newly_acked_pkts
    - bytes_lost
    - rtt
    argTypes:
    - struct quic_conn*
    - struct list*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 474
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 474
    functionName: qc_notify_cc_of_newly_acked_pkts
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - quic_cc_drs_update_rate_sample
    - quic_cc_drs_on_ack_recv
    - TRACE_LEAVE
    - TRACE_ENTER
    - LIST_DEL_INIT
    - struct quic_cc_path*::cc::algo::on_ack_rcvd
    - qc_treat_ack_of_ack
    - struct quic_cc_path*::cc::algo::get_drs
    - quic_cc_event
    - quic_tx_packet_refdec
    linkageType: ''
    returnType: void
    signature: "qc_notify_cc_of_newly_acked_pkts(struct quic_conn *qc,\n                                             struct
      list *newly_acked_pkts,\n                                             unsigned
      int bytes_lost,\n                                             unsigned int rtt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_rx.c:493,1
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_rx.c:494,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:498,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:502,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:508,1
    - Dst: eb64_lookup
      Src: /src/haproxy/src/quic_rx.c:520,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:522,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_rx.c:526,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:532,1
    - Dst: qc_newly_acked_pkts
      Src: /src/haproxy/src/quic_rx.c:537,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_rx.c:542,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:543,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:548,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_rx.c:554,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:555,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:560,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:570,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_rx.c:574,1
    - Dst: qc_handle_newly_acked_pkts
      Src: /src/haproxy/src/quic_rx.c:577,1
    - Dst: tick_remain
      Src: /src/haproxy/src/quic_rx.c:581,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/quic_rx.c:585,1
    - Dst: qc_packet_loss_lookup
      Src: /src/haproxy/src/quic_rx.c:586,1
    - Dst: qc_release_lost_pkts
      Src: /src/haproxy/src/quic_rx.c:587,1
    - Dst: qc_notify_cc_of_newly_acked_pkts
      Src: /src/haproxy/src/quic_rx.c:591,1
    - Dst: quic_peer_validated_addr
      Src: /src/haproxy/src/quic_rx.c:593,1
    - Dst: qc_set_timer
      Src: /src/haproxy/src/quic_rx.c:595,1
    - Dst: qc_notify_send
      Src: /src/haproxy/src/quic_rx.c:596,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:601,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_rx.c:606,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_rx.c:607,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/quic_rx.c:608,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 90
    argCount: 6
    argNames:
    - qc
    - frm
    - qel
    - rtt_sample
    - pos
    - end
    argTypes:
    - struct quic_conn*
    - struct quic_frame*
    - struct quic_enc_level*
    - unsigned int*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 611
      start: 482
    functionDepth: 7
    functionLinenumber: 482
    functionLinenumberEnd: 611
    functionName: qc_parse_ack_frm
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - LIST_HEAD_INIT
    - eb64_insert
    - TRACE_ENTER
    - quic_peer_validated_addr
    - eb_is_empty
    - qc_notify_send
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - tick_remain
    - eb64_lookup
    - LIST_DEL_INIT
    - qc_packet_loss_lookup
    - qc_release_lost_pkts
    - qc_handle_newly_acked_pkts
    - TRACE_DEVEL
    - qc_notify_cc_of_newly_acked_pkts
    - quic_dec_int
    - list_for_each_entry_safe
    - TRACE_PROTO
    - eb64_entry
    - TRACE_ERROR
    - qc_newly_acked_pkts
    - qc_set_timer
    linkageType: ''
    returnType: int
    signature: "qc_parse_ack_frm(struct quic_conn *qc,\n                            struct
      quic_frame *frm,\n                            struct quic_enc_level *qel,\n
      \                           unsigned int *rtt_sample,\n                            const
      unsigned char **pos, const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:633,1
    - Dst: qcc_recv
      Src: /src/haproxy/src/quic_rx.c:635,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pkt
    - strm_frm
    - qc
    - fin
    argTypes:
    - struct quic_rx_packet*
    - struct qf_stream*
    - struct quic_conn*
    - char
    constantsTouched: []
    func_position:
      end: 641
      start: 619
    functionDepth: 9
    functionLinenumber: 619
    functionLinenumberEnd: 641
    functionName: qc_handle_strm_frm
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - qcc_recv
    - TRACE_LEAVE
    linkageType: ''
    returnType: int
    signature: "qc_handle_strm_frm(struct quic_rx_packet *pkt,\n                              struct
      qf_stream *strm_frm,\n                              struct quic_conn *qc, char
      fin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:668,1
    - Dst: unlikely
      Src: /src/haproxy/src/quic_rx.c:670,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:675,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:681,1
    - Dst: quic_get_ncbuf
      Src: /src/haproxy/src/quic_rx.c:690,1
    - Dst: ncb_is_null
      Src: /src/haproxy/src/quic_rx.c:690,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:691,1
    - Dst: ncb_size
      Src: /src/haproxy/src/quic_rx.c:706,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:707,1
    - Dst: quic_set_connection_close
      Src: /src/haproxy/src/quic_rx.c:708,1
    - Dst: quic_err_transport
      Src: /src/haproxy/src/quic_rx.c:708,1
    - Dst: ncb_add
      Src: /src/haproxy/src/quic_rx.c:712,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:716,1
    - Dst: quic_set_connection_close
      Src: /src/haproxy/src/quic_rx.c:717,1
    - Dst: quic_err_transport
      Src: /src/haproxy/src/quic_rx.c:717,1
    - Dst: qc_notify_err
      Src: /src/haproxy/src/quic_rx.c:718,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/quic_rx.c:722,1
    - Dst: ncb_data
      Src: /src/haproxy/src/quic_rx.c:730,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/quic_rx.c:731,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_rx.c:732,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:736,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:740,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 4
    argNames:
    - qc
    - crypto_frm
    - pkt
    - qel
    argTypes:
    - struct quic_conn*
    - struct qf_crypto*
    - struct quic_rx_packet*
    - struct quic_enc_level*
    constantsTouched: []
    func_position:
      end: 742
      start: 652
    functionDepth: 5
    functionLinenumber: 652
    functionLinenumberEnd: 742
    functionName: qc_handle_crypto_frm
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - quic_err_transport
    - quic_get_ncbuf
    - TRACE_DATA
    - TRACE_LEAVE
    - TRACE_ENTER
    - ncb_is_null
    - TRACE_PROTO
    - ncb_data
    - tasklet_wakeup
    - quic_set_connection_close
    - TRACE_ERROR
    - TRACE_DEVEL
    - ncb_add
    - unlikely
    - qc_notify_err
    - HA_ATOMIC_OR
    - ncb_size
    linkageType: ''
    returnType: enum quic_rx_ret_frm
    signature: "qc_handle_crypto_frm(struct quic_conn *qc,\n                                                 struct
      qf_crypto *crypto_frm,\n                                                 struct
      quic_rx_packet *pkt,\n                                                 struct
      quic_enc_level *qel)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:758,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:766,1
    - Dst: eb64_lookup
      Src: /src/haproxy/src/quic_rx.c:775,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:777,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_rx.c:781,1
    - Dst: memcmp
      Src: /src/haproxy/src/quic_rx.c:785,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:786,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:794,1
    - Dst: quic_set_connection_close
      Src: /src/haproxy/src/quic_rx.c:797,1
    - Dst: quic_err_transport
      Src: /src/haproxy/src/quic_rx.c:797,1
    - Dst: qc_notify_err
      Src: /src/haproxy/src/quic_rx.c:798,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - qc
    - frm
    - dcid
    - to_retire
    argTypes:
    - struct quic_conn*
    - struct quic_frame*
    - struct quic_cid*
    - struct quic_connection_id**
    constantsTouched: []
    func_position:
      end: 800
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 800
    functionName: qc_handle_retire_connection_id_frm
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - quic_err_transport
    - TRACE_LEAVE
    - TRACE_ENTER
    - TRACE_PROTO
    - quic_set_connection_close
    - eb64_entry
    - eb64_lookup
    - memcmp
    - qc_notify_err
    linkageType: ''
    returnType: int
    signature: "qc_handle_retire_connection_id_frm(struct quic_conn *qc,\n                                              struct
      quic_frame *frm,\n                                              struct quic_cid
      *dcid,\n                                              struct quic_connection_id
      **to_retire)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ack_frm
    - conn
    argTypes:
    - struct qf_ack*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 810
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 810
    functionName: quic_ack_delay_ms
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "quic_ack_delay_ms(struct qf_ack *ack_frm,\n                                             struct
      quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_HEAD_INIT
      Src: /src/haproxy/src/quic_rx.c:819,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:827,1
    - Dst: quic_set_connection_close
      Src: /src/haproxy/src/quic_rx.c:842,1
    - Dst: quic_err_transport
      Src: /src/haproxy/src/quic_rx.c:842,1
    - Dst: qc_frm_alloc
      Src: /src/haproxy/src/quic_rx.c:847,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:848,1
    - Dst: qc_parse_frm
      Src: /src/haproxy/src/quic_rx.c:852,1
    - Dst: qc_parse_ack_frm
      Src: /src/haproxy/src/quic_rx.c:868,1
    - Dst: quic_application_pktns
      Src: /src/haproxy/src/quic_rx.c:876,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/quic_rx.c:878,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/src/quic_rx.c:878,1
    - Dst: quic_ack_delay_ms
      Src: /src/haproxy/src/quic_rx.c:878,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/quic_rx.c:879,1
    - Dst: quic_ack_delay_ms
      Src: /src/haproxy/src/quic_rx.c:879,1
    - Dst: quic_loss_srtt_update
      Src: /src/haproxy/src/quic_rx.c:880,1
    - Dst: qcc_recv_reset_stream
      Src: /src/haproxy/src/quic_rx.c:887,1
    - Dst: qcc_recv_stop_sending
      Src: /src/haproxy/src/quic_rx.c:894,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:896,1
    - Dst: qc_handle_crypto_frm
      Src: /src/haproxy/src/quic_rx.c:903,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_rx.c:910,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_rx.c:914,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_rx.c:919,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_rx.c:927,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_rx.c:935,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:936,1
    - Dst: quic_set_connection_close
      Src: /src/haproxy/src/quic_rx.c:944,1
    - Dst: quic_err_transport
      Src: /src/haproxy/src/quic_rx.c:944,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/quic_rx.c:960,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:963,1
    - Dst: qc_h3_request_reject
      Src: /src/haproxy/src/quic_rx.c:965,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:966,1
    - Dst: qc_handle_strm_frm
      Src: /src/haproxy/src/quic_rx.c:980,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:981,1
    - Dst: qcc_recv_max_data
      Src: /src/haproxy/src/quic_rx.c:990,1
    - Dst: qcc_recv_max_stream_data
      Src: /src/haproxy/src/quic_rx.c:996,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:998,1
    - Dst: qc_handle_retire_connection_id_frm
      Src: /src/haproxy/src/quic_rx.c:1025,1
    - Dst: quic_cid_delete
      Src: /src/haproxy/src/quic_rx.c:1031,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_rx.c:1032,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_rx.c:1033,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1034,1
    - Dst: new_quic_cid
      Src: /src/haproxy/src/quic_rx.c:1036,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1038,1
    - Dst: _quic_cid_insert
      Src: /src/haproxy/src/quic_rx.c:1041,1
    - Dst: qc_build_new_connection_id_frm
      Src: /src/haproxy/src/quic_rx.c:1042,1
    - Dst: quic_conn_closed_err_count_inc
      Src: /src/haproxy/src/quic_rx.c:1053,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_rx.c:1055,1
    - Dst: qc_detach_th_ctx_list
      Src: /src/haproxy/src/quic_rx.c:1066,1
    - Dst: qc_idle_timer_do_rearm
      Src: /src/haproxy/src/quic_rx.c:1067,1
    - Dst: qc_notify_err
      Src: /src/haproxy/src/quic_rx.c:1068,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_rx.c:1072,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1073,1
    - Dst: quic_set_connection_close
      Src: /src/haproxy/src/quic_rx.c:1082,1
    - Dst: quic_err_transport
      Src: /src/haproxy/src/quic_rx.c:1082,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/quic_rx.c:1090,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_rx.c:1095,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_rx.c:1097,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1099,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1104,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_rx.c:1110,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_rx.c:1112,1
    - Dst: qc_handle_crypto_frm
      Src: /src/haproxy/src/quic_rx.c:1113,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_rx.c:1120,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1126,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_rx.c:1129,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_rx.c:1134,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_rx.c:1147,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_rx.c:1147,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1153,1
    - Dst: qc_prep_hdshk_fast_retrans
      Src: /src/haproxy/src/quic_rx.c:1154,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_rx.c:1162,1
    - Dst: quic_tls_pktns_is_dcd
      Src: /src/haproxy/src/quic_rx.c:1164,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1166,1
    - Dst: quic_pktns_discard
      Src: /src/haproxy/src/quic_rx.c:1167,1
    - Dst: qc_set_timer
      Src: /src/haproxy/src/quic_rx.c:1168,1
    - Dst: qc_el_rx_pkts_del
      Src: /src/haproxy/src/quic_rx.c:1169,1
    - Dst: qc_release_pktns_frms
      Src: /src/haproxy/src/quic_rx.c:1170,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:1177,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_rx.c:1182,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_rx.c:1183,1
    - Dst: qc_frm_free
      Src: /src/haproxy/src/quic_rx.c:1184,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:1187,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 262
    argCount: 3
    argNames:
    - qc
    - pkt
    - qel
    argTypes:
    - struct quic_conn*
    - struct quic_rx_packet*
    - struct quic_enc_level*
    constantsTouched: []
    func_position:
      end: 1189
      start: 816
    functionDepth: 10
    functionLinenumber: 816
    functionLinenumberEnd: 1189
    functionName: qc_parse_pkt_frms
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - qcc_recv_stop_sending
    - TRACE_DATA
    - ABORT_NOW
    - LIST_HEAD_INIT
    - TRACE_ENTER
    - qc_release_pktns_frms
    - _quic_cid_insert
    - qcc_recv_max_stream_data
    - qcc_recv_reset_stream
    - qc_handle_strm_frm
    - BUG_ON
    - quic_loss_srtt_update
    - qc_parse_frm
    - qc_frm_alloc
    - TRACE_LEAVE
    - new_quic_cid
    - LIST_ISEMPTY
    - qc_frm_free
    - quic_tls_pktns_is_dcd
    - quic_set_connection_close
    - qcc_recv_max_data
    - qc_h3_request_reject
    - quic_conn_closed_err_count_inc
    - quic_ack_delay_ms
    - qc_notify_err
    - qc_build_new_connection_id_frm
    - qc_prep_hdshk_fast_retrans
    - qc_detach_th_ctx_list
    - pool_free
    - qc_handle_crypto_frm
    - TRACE_DEVEL
    - qc_handle_retire_connection_id_frm
    - MS_TO_TICKS
    - eb64_delete
    - qc_el_rx_pkts_del
    - qc_idle_timer_do_rearm
    - quic_err_transport
    - list_for_each_entry_safe
    - LIST_APPEND
    - TRACE_PROTO
    - QUIC_MIN
    - quic_cid_delete
    - qc_parse_ack_frm
    - TRACE_ERROR
    - quic_pktns_discard
    - quic_application_pktns
    - TRACE_STATE
    - qc_set_timer
    - qc_is_listener
    linkageType: ''
    returnType: int
    signature: "qc_parse_pkt_frms(struct quic_conn *qc, struct quic_rx_packet *pkt,\n
      \                            struct quic_enc_level *qel)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_rx.c:1201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - qc
    - pkt
    - qel
    argTypes:
    - struct quic_conn*
    - struct quic_rx_packet*
    - struct quic_enc_level*
    constantsTouched: []
    func_position:
      end: 1213
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1213
    functionName: qc_handle_spin_bit
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - qc_is_listener
    linkageType: ''
    returnType: void
    signature: "qc_handle_spin_bit(struct quic_conn *qc, struct quic_rx_packet *pkt,\n
      \                                     struct quic_enc_level *qel)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:1222,1
    - Dst: qc_is_listener
      Src: /src/haproxy/src/quic_rx.c:1224,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1225,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_rx.c:1230,1
    - Dst: qc_select_tls_ctx
      Src: /src/haproxy/src/quic_rx.c:1233,1
    - Dst: qc_do_rm_hp
      Src: /src/haproxy/src/quic_rx.c:1234,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1236,1
    - Dst: qc_handle_spin_bit
      Src: /src/haproxy/src/quic_rx.c:1239,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/quic_rx.c:1244,1
    - Dst: quic_rx_packet_refinc
      Src: /src/haproxy/src/quic_rx.c:1245,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1246,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/quic_rx.c:1248,1
    - Dst: quic_rx_packet_refdec
      Src: /src/haproxy/src/quic_rx.c:1249,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:1253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - qc
    - el
    argTypes:
    - struct quic_conn*
    - struct quic_enc_level*
    constantsTouched: []
    func_position:
      end: 1254
      start: 1218
    functionDepth: 2
    functionLinenumber: 1218
    functionLinenumberEnd: 1254
    functionName: qc_rm_hp_pkts
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - qc_handle_spin_bit
    - TRACE_LEAVE
    - list_for_each_entry_safe
    - eb64_insert
    - TRACE_ENTER
    - quic_rx_packet_refdec
    - TRACE_PROTO
    - qc_do_rm_hp
    - TRACE_ERROR
    - LIST_DEL_INIT
    - qc_select_tls_ctx
    - qc_is_listener
    - quic_rx_packet_refinc
    linkageType: ''
    returnType: void
    signature: qc_rm_hp_pkts(struct quic_conn *qc, struct quic_enc_level *el)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:1265,1
    - Dst: quic_tls_has_rx_sec
      Src: /src/haproxy/src/quic_rx.c:1270,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1271,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1276,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1283,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:1289,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - qc
    - qel
    argTypes:
    - struct quic_conn*
    - struct quic_enc_level*
    constantsTouched: []
    func_position:
      end: 1291
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1291
    functionName: qc_qel_may_rm_hp
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - quic_tls_has_rx_sec
    - TRACE_PROTO
    - TRACE_LEAVE
    linkageType: ''
    returnType: int
    signature: qc_qel_may_rm_hp(struct quic_conn *qc, struct quic_enc_level *qel)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:1304,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_rx.c:1306,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/quic_rx.c:1308,1
    - Dst: qc_qel_may_rm_hp
      Src: /src/haproxy/src/quic_rx.c:1308,1
    - Dst: qc_rm_hp_pkts
      Src: /src/haproxy/src/quic_rx.c:1309,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_rx.c:1311,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_rx.c:1315,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/quic_rx.c:1316,1
    - Dst: qc_pkt_decrypt
      Src: /src/haproxy/src/quic_rx.c:1318,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1320,1
    - Dst: qc_parse_pkt_frms
      Src: /src/haproxy/src/quic_rx.c:1324,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1326,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_rx.c:1342,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_rx.c:1345,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/src/quic_rx.c:1346,1
    - Dst: quic_update_ack_ranges_list
      Src: /src/haproxy/src/quic_rx.c:1350,1
    - Dst: qc_idle_timer_rearm
      Src: /src/haproxy/src/quic_rx.c:1358,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1367,1
    - Dst: eb64_next
      Src: /src/haproxy/src/quic_rx.c:1372,1
    - Dst: eb64_delete
      Src: /src/haproxy/src/quic_rx.c:1373,1
    - Dst: quic_rx_packet_refdec
      Src: /src/haproxy/src/quic_rx.c:1374,1
    - Dst: qc_enc_level_free
      Src: /src/haproxy/src/quic_rx.c:1387,1
    - Dst: quic_pktns_release
      Src: /src/haproxy/src/quic_rx.c:1388,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:1397,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1399
      start: 1296
    functionDepth: 11
    functionLinenumber: 1296
    functionLinenumberEnd: 1399
    functionName: qc_treat_rx_pkts
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 2
    functionsReached:
    - TRACE_DATA
    - TRACE_ENTER
    - qc_qel_may_rm_hp
    - BUG_ON
    - qc_rm_hp_pkts
    - TRACE_LEAVE
    - LIST_ISEMPTY
    - HA_ATOMIC_DEC
    - qc_enc_level_free
    - quic_pktns_release
    - quic_rx_packet_refdec
    - qc_parse_pkt_frms
    - eb64_first
    - qc_idle_timer_rearm
    - eb64_delete
    - list_for_each_entry_safe
    - qc_pkt_decrypt
    - quic_update_ack_ranges_list
    - eb64_entry
    - TRACE_ERROR
    - eb64_next
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: qc_treat_rx_pkts(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:1410,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1413,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1421,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1433,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_rx.c:1437,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1446,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_rx.c:1451,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:1457,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - pos
    - end
    - pkt
    argTypes:
    - unsigned char**
    - unsigned char*
    - struct quic_rx_packet*
    constantsTouched: []
    func_position:
      end: 1459
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1459
    functionName: quic_packet_read_long_header
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - memcpy
    - TRACE_ERROR
    linkageType: ''
    returnType: int
    signature: "quic_packet_read_long_header(unsigned char **pos, const unsigned char
      *end,\n                                               struct quic_rx_packet
      *pkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:1484,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_rx.c:1485,1
    - Dst: quic_packet_type_enc_level
      Src: /src/haproxy/src/quic_rx.c:1493,1
    - Dst: qc_quic_enc_level
      Src: /src/haproxy/src/quic_rx.c:1494,1
    - Dst: qel_to_qel_addr
      Src: /src/haproxy/src/quic_rx.c:1496,1
    - Dst: qel_to_quic_pktns
      Src: /src/haproxy/src/quic_rx.c:1497,1
    - Dst: qc_enc_level_alloc
      Src: /src/haproxy/src/quic_rx.c:1499,1
    - Dst: quic_to_ssl_enc_level
      Src: /src/haproxy/src/quic_rx.c:1499,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1500,1
    - Dst: qc_qel_may_rm_hp
      Src: /src/haproxy/src/quic_rx.c:1507,1
    - Dst: qc_select_tls_ctx
      Src: /src/haproxy/src/quic_rx.c:1509,1
    - Dst: qc_do_rm_hp
      Src: /src/haproxy/src/quic_rx.c:1515,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1517,1
    - Dst: qc_handle_spin_bit
      Src: /src/haproxy/src/quic_rx.c:1521,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1525,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1529,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1532,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_rx.c:1533,1
    - Dst: quic_rx_packet_refinc
      Src: /src/haproxy/src/quic_rx.c:1534,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/quic_rx.c:1539,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_rx.c:1540,1
    - Dst: b_tail
      Src: /src/haproxy/src/quic_rx.c:1540,1
    - Dst: b_tail
      Src: /src/haproxy/src/quic_rx.c:1541,1
    - Dst: b_add
      Src: /src/haproxy/src/quic_rx.c:1542,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:1546,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 4
    argNames:
    - qc
    - pkt
    - beg
    - el
    argTypes:
    - struct quic_conn*
    - struct quic_rx_packet*
    - unsigned char*
    - struct quic_enc_level**
    constantsTouched: []
    func_position:
      end: 1548
      start: 1475
    functionDepth: 5
    functionLinenumber: 1475
    functionLinenumberEnd: 1548
    functionName: qc_try_rm_hp
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - qc_qel_may_rm_hp
    - qc_do_rm_hp
    - qc_select_tls_ctx
    - BUG_ON
    - quic_packet_type_enc_level
    - TRACE_LEAVE
    - b_tail
    - qel_to_qel_addr
    - qc_quic_enc_level
    - qel_to_quic_pktns
    - qc_enc_level_alloc
    - qc_handle_spin_bit
    - LIST_APPEND
    - TRACE_PROTO
    - b_add
    - quic_to_ssl_enc_level
    - memcpy
    - quic_rx_packet_refinc
    linkageType: ''
    returnType: int
    signature: "qc_try_rm_hp(struct quic_conn *qc, struct quic_rx_packet *pkt,\n                        unsigned
      char *beg, struct quic_enc_level **el)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/haproxy/src/quic_rx.c:1562,1
    - Dst: read_u32
      Src: /src/haproxy/src/quic_rx.c:1562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - val
    - buf
    - end
    argTypes:
    - uint32_t*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1566
      start: 1555
    functionDepth: 1
    functionLinenumber: 1555
    functionLinenumberEnd: 1566
    functionName: quic_read_uint32
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - read_u32
    - ntohl
    linkageType: ''
    returnType: int
    signature: "quic_read_uint32(uint32_t *val,\n                                   const
      unsigned char **buf,\n                                   const unsigned char
      *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:1582,1
    - Dst: quic_read_uint32
      Src: /src/haproxy/src/quic_rx.c:1592,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1593,1
    - Dst: qc_supported_version
      Src: /src/haproxy/src/quic_rx.c:1597,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:1628,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - pkt
    - pos
    - end
    argTypes:
    - struct quic_rx_packet*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1630
      start: 1575
    functionDepth: 2
    functionLinenumber: 1575
    functionLinenumberEnd: 1630
    functionName: qc_parse_hd_form
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 1
    functionsReached:
    - qc_supported_version
    - TRACE_LEAVE
    - TRACE_ENTER
    - quic_read_uint32
    - TRACE_ERROR
    linkageType: ''
    returnType: int
    signature: "qc_parse_hd_form(struct quic_rx_packet *pkt,\n                     unsigned
      char **pos, const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pos
    - end
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 1644
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1644
    functionName: quic_padding_check
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "quic_padding_check(const unsigned char *pos,\n                                     const
      unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:1657,1
    - Dst: quic_retry_token_check
      Src: /src/haproxy/src/quic_rx.c:1661,1
    - Dst: quic_token_check
      Src: /src/haproxy/src/quic_rx.c:1664,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1671,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:1680,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:1683,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - pkt
    - dgram
    - l
    - qc
    - odcid
    argTypes:
    - struct quic_rx_packet*
    - struct quic_dgram*
    - struct listener*
    - struct quic_conn*
    - struct quic_cid*
    constantsTouched: []
    func_position:
      end: 1685
      start: 1650
    functionDepth: 3
    functionLinenumber: 1650
    functionLinenumberEnd: 1685
    functionName: quic_token_validate
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - TRACE_PROTO
    - quic_token_check
    - TRACE_DEVEL
    - quic_retry_token_check
    linkageType: ''
    returnType: int
    signature: "quic_token_validate(struct quic_rx_packet *pkt,\n                                      struct
      quic_dgram *dgram,\n                                      struct listener *l,
      struct quic_conn *qc,\n                                      struct quic_cid
      *odcid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:1707,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/quic_rx.c:1712,1
    - Dst: retrieve_qc_conn_from_cid
      Src: /src/haproxy/src/quic_rx.c:1714,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/quic_rx.c:1717,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_rx.c:1724,1
    - Dst: unlikely
      Src: /src/haproxy/src/quic_rx.c:1731,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_rx.c:1731,1
    - Dst: quic_listener_max_handshake
      Src: /src/haproxy/src/quic_rx.c:1732,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/quic_rx.c:1733,1
    - Dst: unlikely
      Src: /src/haproxy/src/quic_rx.c:1738,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_rx.c:1738,1
    - Dst: quic_listener_max_accept
      Src: /src/haproxy/src/quic_rx.c:1739,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/quic_rx.c:1740,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1746,1
    - Dst: quic_token_validate
      Src: /src/haproxy/src/quic_rx.c:1748,1
    - Dst: send_retry
      Src: /src/haproxy/src/quic_rx.c:1750,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1751,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_rx.c:1755,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1764,1
    - Dst: quic_init_exec_rules
      Src: /src/haproxy/src/quic_rx.c:1767,1
    - Dst: TRACE_USER
      Src: /src/haproxy/src/quic_rx.c:1768,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/quic_rx.c:1775,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1778,1
    - Dst: send_retry
      Src: /src/haproxy/src/quic_rx.c:1780,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1781,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_rx.c:1786,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1798,1
    - Dst: new_quic_cid
      Src: /src/haproxy/src/quic_rx.c:1812,1
    - Dst: qc_new_conn
      Src: /src/haproxy/src/quic_rx.c:1816,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_rx.c:1820,1
    - Dst: quic_hash64_from_cid
      Src: /src/haproxy/src/quic_rx.c:1826,1
    - Dst: quic_cid_insert
      Src: /src/haproxy/src/quic_rx.c:1829,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_rx.c:1830,1
    - Dst: quic_conn_release
      Src: /src/haproxy/src/quic_rx.c:1831,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/quic_rx.c:1839,1
    - Dst: quic_set_connection_close
      Src: /src/haproxy/src/quic_rx.c:1844,1
    - Dst: quic_err_transport
      Src: /src/haproxy/src/quic_rx.c:1844,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1855,1
    - Dst: send_stateless_reset
      Src: /src/haproxy/src/quic_rx.c:1856,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1857,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:1862,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_rx.c:1866,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:1868,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 108
    argCount: 4
    argNames:
    - pkt
    - dgram
    - l
    - new_tid
    argTypes:
    - struct quic_rx_packet*
    - struct quic_dgram*
    - struct listener*
    - int*
    constantsTouched: []
    func_position:
      end: 1870
      start: 1697
    functionDepth: 7
    functionLinenumber: 1697
    functionLinenumberEnd: 1870
    functionName: quic_rx_pkt_retrieve_conn
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - qc_new_conn
    - TRACE_DATA
    - eb64_insert
    - quic_listener_max_accept
    - TRACE_ENTER
    - HA_ATOMIC_INC
    - EXTRA_COUNTERS_GET
    - HA_ATOMIC_LOAD
    - BUG_ON
    - quic_cid_insert
    - TRACE_LEAVE
    - new_quic_cid
    - quic_set_connection_close
    - BUG_ON_HOT
    - retrieve_qc_conn_from_cid
    - send_stateless_reset
    - send_retry
    - quic_init_exec_rules
    - pool_free
    - quic_listener_max_handshake
    - quic_err_transport
    - TRACE_USER
    - quic_token_validate
    - TRACE_PROTO
    - quic_hash64_from_cid
    - quic_conn_release
    - TRACE_ERROR
    - unlikely
    linkageType: ''
    returnType: struct quic_conn
    signature: "*quic_rx_pkt_retrieve_conn(struct quic_rx_packet *pkt,\n                                                   struct
      quic_dgram *dgram,\n                                                   struct
      listener *l,\n                                                   int *new_tid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:1890,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/quic_rx.c:1893,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1896,1
    - Dst: quic_padding_check
      Src: /src/haproxy/src/quic_rx.c:1903,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1913,1
    - Dst: qc_parse_hd_form
      Src: /src/haproxy/src/quic_rx.c:1918,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1919,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1925,1
    - Dst: quic_packet_read_long_header
      Src: /src/haproxy/src/quic_rx.c:1927,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1928,1
    - Dst: memcmp
      Src: /src/haproxy/src/quic_rx.c:1937,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1938,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1945,1
    - Dst: send_version_negotiation
      Src: /src/haproxy/src/quic_rx.c:1952,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:1953,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1957,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_rx.c:1967,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1969,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1980,1
    - Dst: quic_dec_int
      Src: /src/haproxy/src/quic_rx.c:1986,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:1988,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2007,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_rx.c:2008,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2017,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2022,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2024,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_rx.c:2028,1
    - Dst: memcmp
      Src: /src/haproxy/src/quic_rx.c:2036,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2037,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2048,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:2049,1
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/quic_rx.c:2053,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2057,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:2058,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 117
    argCount: 5
    argNames:
    - pkt
    - pos
    - end
    - dgram
    - l
    argTypes:
    - struct quic_rx_packet*
    - unsigned char*
    - unsigned char*
    - struct quic_dgram*
    - struct listener*
    constantsTouched: []
    func_position:
      end: 2060
      start: 1882
    functionDepth: 3
    functionLinenumber: 1882
    functionLinenumberEnd: 2060
    functionName: quic_rx_pkt_parse
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - quic_dec_int
    - quic_padding_check
    - TRACE_ENTER
    - HA_ATOMIC_INC
    - TRACE_PROTO
    - qc_parse_hd_form
    - EXTRA_COUNTERS_GET
    - send_version_negotiation
    - TRACE_ERROR
    - memcpy
    - memcmp
    - quic_packet_read_long_header
    linkageType: ''
    returnType: int
    signature: "quic_rx_pkt_parse(struct quic_rx_packet *pkt,\n                             unsigned
      char *pos, const unsigned char *end,\n                             struct quic_dgram
      *dgram, struct listener *l)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/quic_rx.c:2076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - qc
    - pkt
    argTypes:
    - struct quic_conn*
    - struct quic_rx_packet*
    constantsTouched: []
    func_position:
      end: 2086
      start: 2070
    functionDepth: 0
    functionLinenumber: 2070
    functionLinenumberEnd: 2086
    functionName: qc_rx_check_closing
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: "qc_rx_check_closing(struct quic_conn *qc,\n                               struct
      quic_rx_packet *pkt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/quic_rx.c:2097,1
    - Dst: TRACE_PRINTF
      Src: /src/haproxy/src/quic_rx.c:2098,1
    - Dst: b_head
      Src: /src/haproxy/src/quic_rx.c:2102,1
    - Dst: b_head
      Src: /src/haproxy/src/quic_rx.c:2103,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/quic_rx.c:2106,1
    - Dst: TRACE_PRINTF
      Src: /src/haproxy/src/quic_rx.c:2107,1
    - Dst: b_head
      Src: /src/haproxy/src/quic_rx.c:2108,1
    - Dst: b_head
      Src: /src/haproxy/src/quic_rx.c:2109,1
    - Dst: b_del
      Src: /src/haproxy/src/quic_rx.c:2111,1
    - Dst: b_del
      Src: /src/haproxy/src/quic_rx.c:2119,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/quic_rx.c:2120,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_rx.c:2121,1
    - Dst: b_realign_if_empty
      Src: /src/haproxy/src/quic_rx.c:2125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 2126
      start: 2093
    functionDepth: 1
    functionLinenumber: 2093
    functionLinenumberEnd: 2126
    functionName: quic_rx_pkts_del
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - TRACE_PRINTF
    - list_for_each_entry_safe
    - LIST_DELETE
    - pool_free
    - b_head
    - b_contig_data
    - b_del
    - b_realign_if_empty
    linkageType: ''
    returnType: void
    signature: quic_rx_pkts_del(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:2150,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2151,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2155,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/quic_rx.c:2157,1
    - Dst: qc_set_timer
      Src: /src/haproxy/src/quic_rx.c:2163,1
    - Dst: tick_isset
      Src: /src/haproxy/src/quic_rx.c:2164,1
    - Dst: tick_is_lt
      Src: /src/haproxy/src/quic_rx.c:2164,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/quic_rx.c:2165,1
    - Dst: quic_tls_pkt_type_pktns_dcd
      Src: /src/haproxy/src/quic_rx.c:2169,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2170,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2175,1
    - Dst: quic_rx_pkts_del
      Src: /src/haproxy/src/quic_rx.c:2181,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/quic_rx.c:2182,1
    - Dst: TRACE_PRINTF
      Src: /src/haproxy/src/quic_rx.c:2184,1
    - Dst: b_tail
      Src: /src/haproxy/src/quic_rx.c:2187,1
    - Dst: b_wrap
      Src: /src/haproxy/src/quic_rx.c:2187,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2188,1
    - Dst: b_putchr
      Src: /src/haproxy/src/quic_rx.c:2196,1
    - Dst: b_add
      Src: /src/haproxy/src/quic_rx.c:2199,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/quic_rx.c:2200,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2201,1
    - Dst: qc_try_rm_hp
      Src: /src/haproxy/src/quic_rx.c:2208,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2209,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/quic_rx.c:2213,1
    - Dst: quic_rx_packet_refinc
      Src: /src/haproxy/src/quic_rx.c:2217,1
    - Dst: eb64_insert
      Src: /src/haproxy/src/quic_rx.c:2218,1
    - Dst: tasklet_wakeup_after
      Src: /src/haproxy/src/quic_rx.c:2221,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2225,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:2226,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/quic_rx.c:2231,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:2232,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 5
    argNames:
    - qc
    - pkt
    - dgram
    - beg
    - tasklist_head
    argTypes:
    - struct quic_conn*
    - struct quic_rx_packet*
    - struct quic_dgram*
    - unsigned char*
    - struct list**
    constantsTouched: []
    func_position:
      end: 2233
      start: 2142
    functionDepth: 6
    functionLinenumber: 2142
    functionLinenumberEnd: 2233
    functionName: qc_rx_pkt_handle
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 0
    functionsReached:
    - TRACE_DATA
    - eb64_insert
    - TRACE_ENTER
    - tick_is_lt
    - qc_try_rm_hp
    - quic_tls_pkt_type_pktns_dcd
    - b_contig_space
    - TRACE_LEAVE
    - b_wrap
    - task_wakeup
    - b_tail
    - TRACE_PRINTF
    - quic_rx_pkts_del
    - TRACE_DEVEL
    - tasklet_wakeup_after
    - b_putchr
    - TRACE_PROTO
    - b_add
    - tick_isset
    - qc_set_timer
    - quic_rx_packet_refinc
    linkageType: ''
    returnType: void
    signature: "qc_rx_pkt_handle(struct quic_conn *qc, struct quic_rx_packet *pkt,\n
      \                            struct quic_dgram *dgram, unsigned char *beg,\n
      \                            struct list **tasklist_head)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_rx.c:2259,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/quic_rx.c:2264,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:2266,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/quic_rx.c:2270,1
    - Dst: quic_rx_packet_refinc
      Src: /src/haproxy/src/quic_rx.c:2289,1
    - Dst: quic_rx_pkt_parse
      Src: /src/haproxy/src/quic_rx.c:2290,1
    - Dst: quic_rx_pkt_retrieve_conn
      Src: /src/haproxy/src/quic_rx.c:2300,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/quic_rx.c:2306,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/quic_rx.c:2308,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_rx.c:2309,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/quic_rx.c:2322,1
    - Dst: eb64_entry
      Src: /src/haproxy/src/quic_rx.c:2323,1
    - Dst: eb64_first
      Src: /src/haproxy/src/quic_rx.c:2323,1
    - Dst: qc_finalize_tid_rebind
      Src: /src/haproxy/src/quic_rx.c:2327,1
    - Dst: qc_rx_check_closing
      Src: /src/haproxy/src/quic_rx.c:2329,1
    - Dst: ipcmp
      Src: /src/haproxy/src/quic_rx.c:2336,1
    - Dst: qc_handle_conn_migration
      Src: /src/haproxy/src/quic_rx.c:2337,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/quic_rx.c:2339,1
    - Dst: qc_rx_pkt_handle
      Src: /src/haproxy/src/quic_rx.c:2345,1
    - Dst: quic_rx_packet_refdec
      Src: /src/haproxy/src/quic_rx.c:2349,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_rx.c:2353,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/quic_rx.c:2353,1
    - Dst: pool_free
      Src: /src/haproxy/src/quic_rx.c:2354,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_rx.c:2365,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/quic_rx.c:2366,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/quic_rx.c:2368,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:2371,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/quic_rx.c:2376,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_rx.c:2377,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 87
    argCount: 3
    argNames:
    - dgram
    - from_qc
    - li
    argTypes:
    - struct quic_dgram*
    - struct quic_conn*
    - struct listener*
    constantsTouched: []
    func_position:
      end: 2379
      start: 2251
    functionDepth: 8
    functionLinenumber: 2251
    functionLinenumberEnd: 2379
    functionName: quic_dgram_parse
    functionSourceFile: /src/haproxy/src/quic_rx.c
    functionUses: 2
    functionsReached:
    - TRACE_ENTER
    - pool_alloc
    - quic_rx_pkt_retrieve_conn
    - quic_rx_pkt_parse
    - MT_LIST_APPEND
    - qc_rx_pkt_handle
    - qc_handle_conn_migration
    - BUG_ON
    - HA_ATOMIC_STORE
    - TRACE_LEAVE
    - qc_finalize_tid_rebind
    - BUG_ON_HOT
    - LIST_INLIST
    - quic_rx_packet_refdec
    - tasklet_wakeup
    - eb64_first
    - pool_free
    - LIST_INIT
    - qc_rx_check_closing
    - ipcmp
    - eb64_entry
    - TRACE_ERROR
    - quic_rx_packet_refinc
    linkageType: ''
    returnType: int
    signature: "quic_dgram_parse(struct quic_dgram *dgram, struct quic_conn *from_qc,\n
      \                    struct listener *li)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/haproxy/src/linuxcap.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - datap
    argTypes:
    - cap_user_header_t
    - cap_user_data_t
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: capset
    functionSourceFile: /src/haproxy/src/linuxcap.c
    functionUses: 0
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: capset(cap_user_header_t hdrp, const cap_user_data_t datap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: capget
      Src: /src/haproxy/src/linuxcap.c:105,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/linuxcap.c:107,1
    - Dst: strerror
      Src: /src/haproxy/src/linuxcap.c:109,1
    - Dst: capset
      Src: /src/haproxy/src/linuxcap.c:130,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/linuxcap.c:136,1
    - Dst: strerror
      Src: /src/haproxy/src/linuxcap.c:138,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - from_uid
    - to_uid
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 143
      start: 83
    functionDepth: 10
    functionLinenumber: 83
    functionLinenumberEnd: 143
    functionName: prepare_caps_from_permitted_set
    functionSourceFile: /src/haproxy/src/linuxcap.c
    functionUses: 1
    functionsReached:
    - capget
    - strerror
    - ha_diag_warning
    - capset
    linkageType: ''
    returnType: int
    signature: prepare_caps_from_permitted_set(int from_uid, int to_uid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/haproxy/src/linuxcap.c:176,1
    - Dst: ha_alert
      Src: /src/haproxy/src/linuxcap.c:177,1
    - Dst: strerror
      Src: /src/haproxy/src/linuxcap.c:177,1
    - Dst: capset
      Src: /src/haproxy/src/linuxcap.c:182,1
    - Dst: ha_alert
      Src: /src/haproxy/src/linuxcap.c:183,1
    - Dst: strerror
      Src: /src/haproxy/src/linuxcap.c:183,1
    - Dst: seteuid
      Src: /src/haproxy/src/linuxcap.c:187,1
    - Dst: ha_alert
      Src: /src/haproxy/src/linuxcap.c:188,1
    - Dst: strerror
      Src: /src/haproxy/src/linuxcap.c:188,1
    - Dst: capset
      Src: /src/haproxy/src/linuxcap.c:193,1
    - Dst: ha_alert
      Src: /src/haproxy/src/linuxcap.c:194,1
    - Dst: strerror
      Src: /src/haproxy/src/linuxcap.c:194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - from_uid
    - to_uid
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 206
      start: 158
    functionDepth: 9
    functionLinenumber: 158
    functionLinenumberEnd: 206
    functionName: prepare_caps_for_setuid
    functionSourceFile: /src/haproxy/src/linuxcap.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - strerror
    - prctl
    - seteuid
    - capset
    linkageType: ''
    returnType: int
    signature: prepare_caps_for_setuid(int from_uid, int to_uid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: capset
      Src: /src/haproxy/src/linuxcap.c:226,1
    - Dst: ha_alert
      Src: /src/haproxy/src/linuxcap.c:227,1
    - Dst: strerror
      Src: /src/haproxy/src/linuxcap.c:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - from_uid
    - to_uid
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 233
      start: 212
    functionDepth: 9
    functionLinenumber: 212
    functionLinenumberEnd: 233
    functionName: finalize_caps_after_setuid
    functionSourceFile: /src/haproxy/src/linuxcap.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - strerror
    - capset
    linkageType: ''
    returnType: int
    signature: finalize_caps_after_setuid(int from_uid, int to_uid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/linuxcap.c:246,1
    - Dst: strchr
      Src: /src/haproxy/src/linuxcap.c:251,1
    - Dst: strcmp
      Src: /src/haproxy/src/linuxcap.c:256,1
    - Dst: memprintf
      Src: /src/haproxy/src/linuxcap.c:263,1
    - Dst: memprintf
      Src: /src/haproxy/src/linuxcap.c:274,1
    - Dst: memprintf
      Src: /src/haproxy/src/linuxcap.c:277,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 281
      start: 236
    functionDepth: 5
    functionLinenumber: 236
    functionLinenumberEnd: 281
    functionName: cfg_parse_global_setcap
    functionSourceFile: /src/haproxy/src/linuxcap.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - strchr
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_setcap(char **args, int section_type,\n                                   struct
      proxy *curpx, const struct proxy *defpx,\n                                   const
      char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:184,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:187,1
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/src/h3.c:187,1
    - Dst: b_quic_dec_int
      Src: /src/haproxy/src/h3.c:189,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/h3.c:192,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:199,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/h3.c:200,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:201,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:215,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/h3.c:216,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:217,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:227,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/h3.c:228,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:229,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/h3.c:243,1
    - Dst: qcc_abort_stream_read
      Src: /src/haproxy/src/h3.c:244,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:251,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/h3.c:255,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 3
    argNames:
    - h3c
    - qcs
    - b
    argTypes:
    - struct h3c*
    - struct qcs*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 257
      start: 176
    functionDepth: 4
    functionLinenumber: 176
    functionLinenumberEnd: 257
    functionName: h3_init_uni_stream
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - qcc_abort_stream_read
    - TRACE_DATA
    - TRACE_LEAVE
    - TRACE_ENTER
    - quic_stream_is_uni
    - qcc_report_glitch
    - TRACE_ERROR
    - TRACE_DEVEL
    - TRACE_STATE
    - b_quic_dec_int
    - BUG_ON
    - qcc_set_error
    linkageType: ''
    returnType: ssize_t
    signature: "h3_init_uni_stream(struct h3c *h3c, struct qcs *qcs,\n                                  struct
      buffer *b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:270,1
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/src/h3.c:270,1
    - Dst: qpack_decode_dec
      Src: /src/haproxy/src/h3.c:274,1
    - Dst: qpack_decode_enc
      Src: /src/haproxy/src/h3.c:278,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/h3.c:284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - qcs
    - b
    - fin
    argTypes:
    - struct qcs*
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 289
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 289
    functionName: h3_parse_uni_stream_no_h3
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - ABORT_NOW
    - qpack_decode_enc
    - quic_stream_is_uni
    - qpack_decode_dec
    - BUG_ON
    linkageType: ''
    returnType: ssize_t
    signature: h3_parse_uni_stream_no_h3(struct qcs *qcs, struct buffer *b, int fin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_quic_dec_int
      Src: /src/haproxy/src/h3.c:303,1
    - Dst: b_quic_dec_int
      Src: /src/haproxy/src/h3.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ftype
    - flen
    - b
    argTypes:
    - uint64_t*
    - uint64_t*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 309
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 309
    functionName: h3_decode_frm_header
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - b_quic_dec_int
    linkageType: ''
    returnType: size_t
    signature: "h3_decode_frm_header(uint64_t *ftype, uint64_t *flen,\n                                          struct
      buffer *b)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:321,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 3
    argNames:
    - h3c
    - qcs
    - ftype
    argTypes:
    - struct h3c*
    - struct qcs*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 433
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 433
    functionName: h3_check_frame_valid
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: h3_check_frame_valid(struct h3c *h3c, struct qcs *qcs, uint64_t ftype)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:448,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:451,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:468,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:470,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - qcs
    - fin
    argTypes:
    - struct qcs*
    - int
    constantsTouched: []
    func_position:
      end: 476
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 476
    functionName: h3_check_body_size
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - qcc_report_glitch
    - TRACE_ERROR
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: h3_check_body_size(struct qcs *qcs, int fin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isttest
      Src: /src/haproxy/src/h3.c:496,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:496,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:497,1
    - Dst: istlen
      Src: /src/haproxy/src/h3.c:502,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - qcs
    - auth
    - value
    argTypes:
    - struct qcs*
    - struct ist*
    - struct ist
    constantsTouched: []
    func_position:
      end: 509
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 509
    functionName: h3_set_authority
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - istlen
    - isttest
    - isteq
    - TRACE_ERROR
    linkageType: ''
    returnType: int
    signature: h3_set_authority(struct qcs *qcs, struct ist *auth, const struct ist
      value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/h3.c:525,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:558,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:563,1
    - Dst: b_head
      Src: /src/haproxy/src/h3.c:563,1
    - Dst: b_wrap
      Src: /src/haproxy/src/h3.c:563,1
    - Dst: qpack_decode_fs
      Src: /src/haproxy/src/h3.c:564,1
    - Dst: b_head
      Src: /src/haproxy/src/h3.c:564,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:567,1
    - Dst: qpack_err_decode
      Src: /src/haproxy/src/h3.c:568,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:570,1
    - Dst: b_alloc
      Src: /src/haproxy/src/h3.c:576,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:577,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:581,1
    - Dst: b_size
      Src: /src/haproxy/src/h3.c:581,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/h3.c:582,1
    - Dst: istmatch
      Src: /src/haproxy/src/h3.c:599,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:599,1
    - Dst: ist_find_ctl
      Src: /src/haproxy/src/h3.c:613,1
    - Dst: unlikely
      Src: /src/haproxy/src/h3.c:614,1
    - Dst: http_header_has_forbidden_char
      Src: /src/haproxy/src/h3.c:614,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:615,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:617,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:625,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:625,1
    - Dst: isttest
      Src: /src/haproxy/src/h3.c:626,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:627,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:629,1
    - Dst: istlen
      Src: /src/haproxy/src/h3.c:634,1
    - Dst: http_method_has_forbidden_char
      Src: /src/haproxy/src/h3.c:634,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:635,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:637,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:644,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:644,1
    - Dst: isttest
      Src: /src/haproxy/src/h3.c:645,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:646,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:648,1
    - Dst: ist_find_range
      Src: /src/haproxy/src/h3.c:657,1
    - Dst: unlikely
      Src: /src/haproxy/src/h3.c:658,1
    - Dst: http_path_has_forbidden_char
      Src: /src/haproxy/src/h3.c:658,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:659,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:661,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:669,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:669,1
    - Dst: isttest
      Src: /src/haproxy/src/h3.c:670,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:672,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:674,1
    - Dst: http_validate_scheme
      Src: /src/haproxy/src/h3.c:679,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:680,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:682,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:689,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:689,1
    - Dst: isttest
      Src: /src/haproxy/src/h3.c:690,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:691,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:693,1
    - Dst: h3_set_authority
      Src: /src/haproxy/src/h3.c:698,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:700,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:706,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:708,1
    - Dst: istmatch
      Src: /src/haproxy/src/h3.c:716,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:716,1
    - Dst: isttest
      Src: /src/haproxy/src/h3.c:723,1
    - Dst: isttest
      Src: /src/haproxy/src/h3.c:723,1
    - Dst: isttest
      Src: /src/haproxy/src/h3.c:723,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:724,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:726,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/h3.c:735,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:735,1
    - Dst: find_http_meth
      Src: /src/haproxy/src/h3.c:744,1
    - Dst: isttest
      Src: /src/haproxy/src/h3.c:746,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/h3.c:747,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:747,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:755,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:755,1
    - Dst: istmatch
      Src: /src/haproxy/src/h3.c:758,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:758,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:759,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:761,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/h3.c:768,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:769,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:771,1
    - Dst: ist_find_ctl
      Src: /src/haproxy/src/h3.c:789,1
    - Dst: unlikely
      Src: /src/haproxy/src/h3.c:790,1
    - Dst: http_header_has_forbidden_char
      Src: /src/haproxy/src/h3.c:790,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:791,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:793,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:798,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:798,1
    - Dst: h3_set_authority
      Src: /src/haproxy/src/h3.c:799,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:801,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:806,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:806,1
    - Dst: http_cookie_register
      Src: /src/haproxy/src/h3.c:807,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:811,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:811,1
    - Dst: http_parse_cont_len_header
      Src: /src/haproxy/src/h3.c:812,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:816,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:818,1
    - Dst: h3_check_body_size
      Src: /src/haproxy/src/h3.c:833,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:838,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:838,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:839,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:839,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:840,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:840,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:841,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:841,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:851,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:853,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:857,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:857,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:858,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:858,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:865,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:867,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/h3.c:872,1
    - Dst: isttest
      Src: /src/haproxy/src/h3.c:886,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:887,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:889,1
    - Dst: http_cookie_merge
      Src: /src/haproxy/src/h3.c:895,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/h3.c:902,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/h3.c:907,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/h3.c:915,1
    - Dst: qcs_attach_sc
      Src: /src/haproxy/src/h3.c:918,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/h3.c:939,1
    - Dst: b_size
      Src: /src/haproxy/src/h3.c:944,1
    - Dst: b_free
      Src: /src/haproxy/src/h3.c:945,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/h3.c:946,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:949,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 284
    argCount: 4
    argNames:
    - qcs
    - buf
    - len
    - fin
    argTypes:
    - struct qcs*
    - struct buffer*
    - uint64_t
    - char
    constantsTouched: []
    func_position:
      end: 951
      start: 519
    functionDepth: 6
    functionLinenumber: 519
    functionLinenumberEnd: 951
    functionName: h3_headers_to_htx
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - http_cookie_merge
    - TRACE_ENTER
    - isttest
    - htx_add_endof
    - ist
    - qpack_err_decode
    - b_head
    - ist_find_range
    - htx_to_buf
    - BUG_ON
    - b_alloc
    - htx_add_stline
    - TRACE_LEAVE
    - b_free
    - b_wrap
    - htx_from_buf
    - istlen
    - http_method_has_forbidden_char
    - isteq
    - http_parse_cont_len_header
    - htx_nbblks
    - qcs_attach_sc
    - get_trash_chunk
    - offer_buffers
    - qcc_report_glitch
    - b_size
    - http_header_has_forbidden_char
    - h3_check_body_size
    - istmatch
    - qpack_decode_fs
    - ist_find_ctl
    - http_path_has_forbidden_char
    - http_cookie_register
    - HTTP_IS_TOKEN
    - htx_add_header
    - http_validate_scheme
    - find_http_meth
    - TRACE_ERROR
    - h3_set_authority
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: "h3_headers_to_htx(struct qcs *qcs, const struct buffer *buf,\n                                 uint64_t
      len, char fin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/h3.c:967,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:977,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:980,1
    - Dst: b_head
      Src: /src/haproxy/src/h3.c:980,1
    - Dst: b_wrap
      Src: /src/haproxy/src/h3.c:980,1
    - Dst: qpack_decode_fs
      Src: /src/haproxy/src/h3.c:981,1
    - Dst: b_head
      Src: /src/haproxy/src/h3.c:981,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:984,1
    - Dst: qpack_err_decode
      Src: /src/haproxy/src/h3.c:985,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:987,1
    - Dst: qcc_get_stream_rxbuf
      Src: /src/haproxy/src/h3.c:993,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:994,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:998,1
    - Dst: b_size
      Src: /src/haproxy/src/h3.c:998,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/h3.c:999,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/h3.c:1009,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1013,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1018,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1018,1
    - Dst: istmatch
      Src: /src/haproxy/src/h3.c:1026,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1026,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1027,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:1029,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/h3.c:1036,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1037,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:1039,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1046,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1046,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1047,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1047,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1048,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1048,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1049,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1049,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1050,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1050,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1051,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1051,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1052,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1052,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1053,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:1055,1
    - Dst: ist_find_ctl
      Src: /src/haproxy/src/h3.c:1071,1
    - Dst: unlikely
      Src: /src/haproxy/src/h3.c:1072,1
    - Dst: http_header_has_forbidden_char
      Src: /src/haproxy/src/h3.c:1072,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1073,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:1075,1
    - Dst: htx_add_trailer
      Src: /src/haproxy/src/h3.c:1080,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1081,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/h3.c:1090,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/h3.c:1095,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1096,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/h3.c:1107,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:1109,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 94
    argCount: 4
    argNames:
    - qcs
    - buf
    - len
    - fin
    argTypes:
    - struct qcs*
    - struct buffer*
    - uint64_t
    - char
    constantsTouched: []
    func_position:
      end: 1111
      start: 962
    functionDepth: 3
    functionLinenumber: 962
    functionLinenumberEnd: 1111
    functionName: h3_trailers_to_htx
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - htx_add_endof
    - ist
    - qpack_err_decode
    - b_head
    - http_get_stline
    - htx_to_buf
    - BUG_ON
    - TRACE_LEAVE
    - b_wrap
    - htx_from_buf
    - isteq
    - htx_nbblks
    - get_trash_chunk
    - qcc_report_glitch
    - b_size
    - http_header_has_forbidden_char
    - istmatch
    - qpack_decode_fs
    - ist_find_ctl
    - htx_add_trailer
    - qcc_get_stream_rxbuf
    - HTTP_IS_TOKEN
    - TRACE_ERROR
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: "h3_trailers_to_htx(struct qcs *qcs, const struct buffer *buf,\n                                  uint64_t
      len, char fin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:1128,1
    - Dst: qcc_get_stream_rxbuf
      Src: /src/haproxy/src/h3.c:1130,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1131,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/h3.c:1135,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1137,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1138,1
    - Dst: b_head
      Src: /src/haproxy/src/h3.c:1142,1
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/h3.c:1144,1
    - Dst: b_wrap
      Src: /src/haproxy/src/h3.c:1155,1
    - Dst: htx_add_data
      Src: /src/haproxy/src/h3.c:1157,1
    - Dst: ist2
      Src: /src/haproxy/src/h3.c:1157,1
    - Dst: b_head
      Src: /src/haproxy/src/h3.c:1157,1
    - Dst: b_orig
      Src: /src/haproxy/src/h3.c:1164,1
    - Dst: htx_add_data
      Src: /src/haproxy/src/h3.c:1168,1
    - Dst: ist2
      Src: /src/haproxy/src/h3.c:1168,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/h3.c:1179,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:1181,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/h3.c:1185,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 4
    argNames:
    - qcs
    - buf
    - len
    - fin
    argTypes:
    - struct qcs*
    - struct buffer*
    - uint64_t
    - char
    constantsTouched: []
    func_position:
      end: 1187
      start: 1119
    functionDepth: 1
    functionLinenumber: 1119
    functionLinenumberEnd: 1187
    functionName: h3_data_to_htx
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - htx_to_buf
    - TRACE_LEAVE
    - htx_free_data_space
    - htx_from_buf
    - b_wrap
    - TRACE_ENTER
    - ist2
    - b_head
    - b_orig
    - b_data
    - TRACE_ERROR
    - TRACE_DEVEL
    - qcc_get_stream_rxbuf
    - htx_add_data
    linkageType: ''
    returnType: ssize_t
    signature: "h3_data_to_htx(struct qcs *qcs, const struct buffer *buf,\n                              uint64_t
      len, char fin)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:1201,1
    - Dst: b_make
      Src: /src/haproxy/src/h3.c:1204,1
    - Dst: b_orig
      Src: /src/haproxy/src/h3.c:1204,1
    - Dst: b_size
      Src: /src/haproxy/src/h3.c:1204,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/h3.c:1204,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1206,1
    - Dst: b_quic_dec_int
      Src: /src/haproxy/src/h3.c:1207,1
    - Dst: b_quic_dec_int
      Src: /src/haproxy/src/h3.c:1207,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:1209,1
    - Dst: h3_debug_printf
      Src: /src/haproxy/src/h3.c:1213,1
    - Dst: ha_bit_test
      Src: /src/haproxy/src/h3.c:1225,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:1227,1
    - Dst: ha_bit_set
      Src: /src/haproxy/src/h3.c:1230,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:1258,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:1266,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - h3c
    - buf
    - len
    argTypes:
    - struct h3c*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 1268
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1268
    functionName: h3_parse_settings_frm
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - b_make
    - TRACE_ENTER
    - h3_debug_printf
    - ha_bit_test
    - qcc_report_glitch
    - b_data
    - b_size
    - b_head_ofs
    - b_quic_dec_int
    - b_orig
    - ha_bit_set
    linkageType: ''
    returnType: ssize_t
    signature: "h3_parse_settings_frm(struct h3c *h3c, const struct buffer *buf,\n
      \                                    size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:1283,1
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/src/h3.c:1285,1
    - Dst: h3_init_uni_stream
      Src: /src/haproxy/src/h3.c:1286,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1288,1
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/src/h3.c:1299,1
    - Dst: h3_parse_uni_stream_no_h3
      Src: /src/haproxy/src/h3.c:1301,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1302,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1318,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/h3.c:1319,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:1320,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1324,1
    - Dst: quic_stream_is_bidi
      Src: /src/haproxy/src/h3.c:1324,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/h3.c:1325,1
    - Dst: qcs_http_handle_standalone_fin
      Src: /src/haproxy/src/h3.c:1326,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1327,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/h3.c:1328,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1335,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/h3.c:1343,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/h3.c:1350,1
    - Dst: h3_check_body_size
      Src: /src/haproxy/src/h3.c:1355,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1355,1
    - Dst: h3_check_frame_valid
      Src: /src/haproxy/src/h3.c:1359,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1360,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/h3.c:1361,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:1362,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1366,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1376,1
    - Dst: qmux_stream_rx_bufsz
      Src: /src/haproxy/src/h3.c:1383,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1384,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/h3.c:1385,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:1386,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1392,1
    - Dst: h3_check_body_size
      Src: /src/haproxy/src/h3.c:1395,1
    - Dst: h3_inc_frame_type_cnt
      Src: /src/haproxy/src/h3.c:1398,1
    - Dst: h3_data_to_htx
      Src: /src/haproxy/src/h3.c:1401,1
    - Dst: h3_headers_to_htx
      Src: /src/haproxy/src/h3.c:1406,1
    - Dst: h3_trailers_to_htx
      Src: /src/haproxy/src/h3.c:1410,1
    - Dst: h3_parse_settings_frm
      Src: /src/haproxy/src/h3.c:1422,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1424,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/h3.c:1425,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:1441,1
    - Dst: b_del
      Src: /src/haproxy/src/h3.c:1443,1
    - Dst: qcc_abort_stream_read
      Src: /src/haproxy/src/h3.c:1454,1
    - Dst: qcc_reset_stream
      Src: /src/haproxy/src/h3.c:1455,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1456,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/h3.c:1459,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1460,1
    - Dst: unlikely
      Src: /src/haproxy/src/h3.c:1462,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/h3.c:1463,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:1472,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/h3.c:1476,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 149
    argCount: 3
    argNames:
    - qcs
    - b
    - fin
    argTypes:
    - struct qcs*
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 1478
      start: 1277
    functionDepth: 7
    functionLinenumber: 1277
    functionLinenumberEnd: 1478
    functionName: h3_rcv_buf
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - qcc_abort_stream_read
    - qcc_reset_stream
    - TRACE_ENTER
    - h3_parse_settings_frm
    - BUG_ON
    - qcc_set_error
    - h3_headers_to_htx
    - TRACE_LEAVE
    - quic_stream_is_uni
    - qcc_report_glitch
    - quic_stream_is_bidi
    - h3_check_body_size
    - qmux_stream_rx_bufsz
    - h3_inc_frame_type_cnt
    - b_data
    - TRACE_DEVEL
    - h3_parse_uni_stream_no_h3
    - h3_check_frame_valid
    - h3_init_uni_stream
    - h3_trailers_to_htx
    - TRACE_PROTO
    - b_del
    - h3_data_to_htx
    - TRACE_ERROR
    - unlikely
    - qcs_http_handle_standalone_fin
    linkageType: ''
    returnType: ssize_t
    signature: h3_rcv_buf(struct qcs *qcs, struct buffer *b, int fin)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:1494,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/src/h3.c:1496,1
    - Dst: b_make
      Src: /src/haproxy/src/h3.c:1499,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/h3.c:1501,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/h3.c:1502,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/h3.c:1503,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/h3.c:1504,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/h3.c:1506,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/h3.c:1507,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:1510,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:1512,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:1513,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:1514,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:1515,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:1516,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:1517,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:1519,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:1520,1
    - Dst: qcc_get_stream_txbuf
      Src: /src/haproxy/src/h3.c:1523,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1525,1
    - Dst: b_room
      Src: /src/haproxy/src/h3.c:1529,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1529,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/h3.c:1532,1
    - Dst: b_force_xfer
      Src: /src/haproxy/src/h3.c:1535,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1535,1
    - Dst: qcc_send_stream
      Src: /src/haproxy/src/h3.c:1538,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:1542,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/h3.c:1546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 2
    argNames:
    - qcs
    - ctx
    argTypes:
    - struct qcs*
    - void*
    constantsTouched: []
    func_position:
      end: 1548
      start: 1485
    functionDepth: 4
    functionLinenumber: 1485
    functionLinenumberEnd: 1548
    functionName: h3_control_send
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - b_quic_enc_int
    - b_room
    - ABORT_NOW
    - qcc_send_stream
    - b_force_xfer
    - b_make
    - TRACE_LEAVE
    - quic_int_getsize
    - TRACE_ENTER
    - TRACE_ERROR
    - BUG_ON_HOT
    - b_data
    - TRACE_DEVEL
    - qcc_get_stream_txbuf
    linkageType: ''
    returnType: int
    signature: h3_control_send(struct qcs *qcs, void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:1566,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/h3.c:1570,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/h3.c:1570,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/h3.c:1571,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:1581,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/h3.c:1582,1
    - Dst: unlikely
      Src: /src/haproxy/src/h3.c:1587,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1588,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/h3.c:1591,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/h3.c:1592,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/h3.c:1597,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:1602,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1604,1
    - Dst: qcc_get_stream_txbuf
      Src: /src/haproxy/src/h3.c:1607,1
    - Dst: qcc_realloc_stream_txbuf
      Src: /src/haproxy/src/h3.c:1608,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1611,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/h3.c:1615,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:1620,1
    - Dst: b_room
      Src: /src/haproxy/src/h3.c:1620,1
    - Dst: b_reset
      Src: /src/haproxy/src/h3.c:1622,1
    - Dst: b_make
      Src: /src/haproxy/src/h3.c:1623,1
    - Dst: b_tail
      Src: /src/haproxy/src/h3.c:1623,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/h3.c:1623,1
    - Dst: b_make
      Src: /src/haproxy/src/h3.c:1625,1
    - Dst: b_head
      Src: /src/haproxy/src/h3.c:1625,1
    - Dst: b_size
      Src: /src/haproxy/src/h3.c:1625,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/h3.c:1627,1
    - Dst: qpack_encode_field_section_line
      Src: /src/haproxy/src/h3.c:1629,1
    - Dst: qpack_encode_int_status
      Src: /src/haproxy/src/h3.c:1631,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1633,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1638,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1638,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1648,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1648,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1649,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1649,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1650,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1650,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1651,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1651,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1654,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1654,1
    - Dst: istist
      Src: /src/haproxy/src/h3.c:1658,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1658,1
    - Dst: isttest
      Src: /src/haproxy/src/h3.c:1659,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1661,1
    - Dst: qpack_encode_header
      Src: /src/haproxy/src/h3.c:1664,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/src/h3.c:1671,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1671,1
    - Dst: b_putchr
      Src: /src/haproxy/src/h3.c:1673,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:1674,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1674,1
    - Dst: b_add
      Src: /src/haproxy/src/h3.c:1675,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1675,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/h3.c:1678,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/h3.c:1680,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/h3.c:1681,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/h3.c:1682,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:1688,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/h3.c:1693,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/h3.c:1698,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 103
    argCount: 2
    argNames:
    - qcs
    - htx
    argTypes:
    - struct qcs*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1550
    functionDepth: 4
    functionLinenumber: 1550
    functionLinenumberEnd: 1700
    functionName: h3_resp_headers_send
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - qcc_realloc_stream_txbuf
    - ABORT_NOW
    - b_room
    - TRACE_DATA
    - htx_get_blk_ptr
    - TRACE_ENTER
    - isttest
    - ist
    - b_head
    - qpack_encode_int_status
    - htx_get_blk_value
    - b_contig_space
    - BUG_ON
    - htx_get_next_blk
    - TRACE_LEAVE
    - qpack_encode_field_section_line
    - isteq
    - istist
    - b_tail
    - b_reset
    - b_size
    - b_quic_enc_int
    - htx_get_blksz
    - htx_get_head_blk
    - quic_int_getsize
    - htx_get_blk_type
    - b_data
    - TRACE_DEVEL
    - qpack_encode_header
    - qcc_get_stream_txbuf
    - htx_get_blk_name
    - b_make
    - b_putchr
    - b_add
    - TRACE_ERROR
    - TRACE_STATE
    - unlikely
    - htx_remove_blk
    linkageType: ''
    returnType: int
    signature: h3_resp_headers_send(struct qcs *qcs, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:1725,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/h3.c:1728,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/h3.c:1728,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/h3.c:1729,1
    - Dst: unlikely
      Src: /src/haproxy/src/h3.c:1738,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1739,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/h3.c:1742,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/h3.c:1743,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1747,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/h3.c:1756,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/h3.c:1759,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/h3.c:1761,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/h3.c:1762,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/h3.c:1763,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1770,1
    - Dst: qcc_get_stream_txbuf
      Src: /src/haproxy/src/h3.c:1773,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1775,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/h3.c:1779,1
    - Dst: b_room
      Src: /src/haproxy/src/h3.c:1784,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/h3.c:1785,1
    - Dst: qcc_release_stream_txbuf
      Src: /src/haproxy/src/h3.c:1786,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/h3.c:1794,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/h3.c:1795,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1795,1
    - Dst: b_make
      Src: /src/haproxy/src/h3.c:1797,1
    - Dst: b_peek
      Src: /src/haproxy/src/h3.c:1797,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1797,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/h3.c:1797,1
    - Dst: qpack_encode_field_section_line
      Src: /src/haproxy/src/h3.c:1799,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/h3.c:1800,1
    - Dst: qcc_release_stream_txbuf
      Src: /src/haproxy/src/h3.c:1801,1
    - Dst: b_tail
      Src: /src/haproxy/src/h3.c:1808,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1810,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1810,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1814,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1814,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1815,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1815,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1816,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1816,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1817,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1817,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1818,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1818,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1819,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1819,1
    - Dst: isteq
      Src: /src/haproxy/src/h3.c:1820,1
    - Dst: ist
      Src: /src/haproxy/src/h3.c:1820,1
    - Dst: qpack_encode_header
      Src: /src/haproxy/src/h3.c:1824,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/h3.c:1825,1
    - Dst: qcc_release_stream_txbuf
      Src: /src/haproxy/src/h3.c:1826,1
    - Dst: b_tail
      Src: /src/haproxy/src/h3.c:1835,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/h3.c:1839,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/h3.c:1845,1
    - Dst: b_putchr
      Src: /src/haproxy/src/h3.c:1847,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:1848,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1848,1
    - Dst: b_add
      Src: /src/haproxy/src/h3.c:1849,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1849,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/h3.c:1853,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/h3.c:1855,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/h3.c:1856,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/h3.c:1857,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:1863,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/h3.c:1867,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 109
    argCount: 2
    argNames:
    - qcs
    - htx
    argTypes:
    - struct qcs*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1869
      start: 1713
    functionDepth: 4
    functionLinenumber: 1713
    functionLinenumberEnd: 1869
    functionName: h3_resp_trailers_send
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - b_room
    - TRACE_DATA
    - qcc_release_stream_txbuf
    - TRACE_ENTER
    - ist
    - htx_get_blk_value
    - b_contig_space
    - htx_get_next_blk
    - TRACE_LEAVE
    - b_peek
    - qpack_encode_field_section_line
    - isteq
    - b_tail
    - b_quic_enc_int
    - htx_get_blksz
    - htx_get_head_blk
    - htx_get_blk_type
    - b_slow_realign
    - b_data
    - TRACE_DEVEL
    - qpack_encode_header
    - qcc_get_stream_txbuf
    - b_space_wraps
    - htx_get_blk_name
    - b_make
    - b_putchr
    - b_add
    - TRACE_ERROR
    - TRACE_STATE
    - unlikely
    - htx_remove_blk
    linkageType: ''
    returnType: int
    signature: h3_resp_trailers_send(struct qcs *qcs, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:1891,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/h3.c:1894,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/h3.c:1897,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/h3.c:1898,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/h3.c:1899,1
    - Dst: qcc_get_stream_txbuf
      Src: /src/haproxy/src/h3.c:1907,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:1909,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/h3.c:1913,1
    - Dst: unlikely
      Src: /src/haproxy/src/h3.c:1921,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1922,1
    - Dst: htx_nbblks
      Src: /src/haproxy/src/h3.c:1923,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/h3.c:1926,1
    - Dst: b_make
      Src: /src/haproxy/src/h3.c:1930,1
    - Dst: b_putchr
      Src: /src/haproxy/src/h3.c:1934,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:1935,1
    - Dst: b_add
      Src: /src/haproxy/src/h3.c:1936,1
    - Dst: b_reset
      Src: /src/haproxy/src/h3.c:1950,1
    - Dst: b_make
      Src: /src/haproxy/src/h3.c:1951,1
    - Dst: b_tail
      Src: /src/haproxy/src/h3.c:1951,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/h3.c:1951,1
    - Dst: b_size
      Src: /src/haproxy/src/h3.c:1952,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/h3.c:1952,1
    - Dst: qcc_realign_stream_txbuf
      Src: /src/haproxy/src/h3.c:1954,1
    - Dst: b_size
      Src: /src/haproxy/src/h3.c:1962,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/h3.c:1963,1
    - Dst: qcc_release_stream_txbuf
      Src: /src/haproxy/src/h3.c:1964,1
    - Dst: b_size
      Src: /src/haproxy/src/h3.c:1971,1
    - Dst: b_size
      Src: /src/haproxy/src/h3.c:1972,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:1973,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/h3.c:1975,1
    - Dst: b_putchr
      Src: /src/haproxy/src/h3.c:1977,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:1978,1
    - Dst: b_putblk
      Src: /src/haproxy/src/h3.c:1980,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/h3.c:1980,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/h3.c:1985,1
    - Dst: htx_cut_data_blk
      Src: /src/haproxy/src/h3.c:1987,1
    - Dst: b_add
      Src: /src/haproxy/src/h3.c:1990,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:1990,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:1994,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:1998,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/h3.c:1999,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 4
    argNames:
    - qcs
    - htx
    - buf
    - count
    argTypes:
    - struct qcs*
    - struct htx*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 2001
      start: 1880
    functionDepth: 4
    functionLinenumber: 1880
    functionLinenumberEnd: 2001
    functionName: h3_resp_data_send
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - TRACE_DATA
    - htx_get_blk_ptr
    - qcc_release_stream_txbuf
    - TRACE_ENTER
    - b_contig_space
    - BUG_ON
    - TRACE_LEAVE
    - htx_nbblks
    - b_tail
    - b_reset
    - htx_is_empty
    - b_size
    - qcc_realign_stream_txbuf
    - htx_cut_data_blk
    - b_quic_enc_int
    - htx_get_blksz
    - htx_get_head_blk
    - htx_get_blk_type
    - b_data
    - TRACE_DEVEL
    - qcc_get_stream_txbuf
    - b_space_wraps
    - b_putblk
    - b_make
    - b_putchr
    - b_add
    - TRACE_ERROR
    - TRACE_STATE
    - unlikely
    - htx_remove_blk
    linkageType: ''
    returnType: int
    signature: "h3_resp_data_send(struct qcs *qcs, struct htx *htx,\n                             struct
      buffer *buf, size_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:2013,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/h3.c:2015,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/h3.c:2017,1
    - Dst: qcc_stream_can_send
      Src: /src/haproxy/src/h3.c:2017,1
    - Dst: htx_get_head
      Src: /src/haproxy/src/h3.c:2018,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/h3.c:2019,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/h3.c:2020,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/h3.c:2021,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:2024,1
    - Dst: h3_resp_headers_send
      Src: /src/haproxy/src/h3.c:2029,1
    - Dst: h3_resp_data_send
      Src: /src/haproxy/src/h3.c:2039,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/h3.c:2042,1
    - Dst: h3_resp_trailers_send
      Src: /src/haproxy/src/h3.c:2053,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/h3.c:2063,1
    - Dst: unlikely
      Src: /src/haproxy/src/h3.c:2071,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/h3.c:2072,1
    - Dst: unlikely
      Src: /src/haproxy/src/h3.c:2098,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/h3.c:2098,1
    - Dst: qcs_is_close_remote
      Src: /src/haproxy/src/h3.c:2099,1
    - Dst: qcc_abort_stream_read
      Src: /src/haproxy/src/h3.c:2104,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/h3.c:2109,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:2111,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 3
    argNames:
    - qcs
    - buf
    - count
    argTypes:
    - struct qcs*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 2113
      start: 2003
    functionDepth: 5
    functionLinenumber: 2003
    functionLinenumberEnd: 2113
    functionName: h3_snd_buf
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - htx_get_head
    - qcc_abort_stream_read
    - TRACE_ENTER
    - htx_to_buf
    - BUG_ON
    - qcc_set_error
    - TRACE_LEAVE
    - htx_from_buf
    - h3_resp_trailers_send
    - htx_get_blk
    - htx_is_empty
    - qcc_stream_can_send
    - h3_resp_data_send
    - htx_get_blksz
    - h3_resp_headers_send
    - htx_get_blk_type
    - qcs_is_close_remote
    - unlikely
    - htx_remove_blk
    linkageType: ''
    returnType: size_t
    signature: h3_snd_buf(struct qcs *qcs, struct buffer *buf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:2122,1
    - Dst: qcc_get_stream_txbuf
      Src: /src/haproxy/src/h3.c:2125,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/h3.c:2138,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/h3.c:2138,1
    - Dst: qcc_realign_stream_txbuf
      Src: /src/haproxy/src/h3.c:2140,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/h3.c:2148,1
    - Dst: qcc_release_stream_txbuf
      Src: /src/haproxy/src/h3.c:2149,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/h3.c:2159,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:2169,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - qcs
    - count
    argTypes:
    - struct qcs*
    - size_t
    constantsTouched: []
    func_position:
      end: 2171
      start: 2115
    functionDepth: 4
    functionLinenumber: 2115
    functionLinenumberEnd: 2171
    functionName: h3_nego_ff
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - qcc_release_stream_txbuf
    - TRACE_ENTER
    - qcc_realign_stream_txbuf
    - b_contig_space
    - qcc_get_stream_txbuf
    - b_space_wraps
    linkageType: ''
    returnType: size_t
    signature: h3_nego_ff(struct qcs *qcs, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:2181,1
    - Dst: h3_debug_printf
      Src: /src/haproxy/src/h3.c:2183,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/h3.c:2186,1
    - Dst: b_sub
      Src: /src/haproxy/src/h3.c:2189,1
    - Dst: b_putchr
      Src: /src/haproxy/src/h3.c:2190,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:2191,1
    - Dst: b_add
      Src: /src/haproxy/src/h3.c:2192,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:2197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 2199
      start: 2178
    functionDepth: 1
    functionLinenumber: 2178
    functionLinenumberEnd: 2199
    functionName: h3_done_ff
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - b_quic_enc_int
    - TRACE_DATA
    - TRACE_LEAVE
    - b_putchr
    - TRACE_ENTER
    - h3_debug_printf
    - b_add
    - b_sub
    linkageType: ''
    returnType: size_t
    signature: h3_done_ff(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:2227,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/h3.c:2228,1
    - Dst: qcc_report_glitch
      Src: /src/haproxy/src/h3.c:2229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - qcs
    - side
    argTypes:
    - struct qcs*
    - enum qcc_app_ops_close_side
    constantsTouched: []
    func_position:
      end: 2234
      start: 2213
    functionDepth: 2
    functionLinenumber: 2213
    functionLinenumberEnd: 2234
    functionName: h3_close
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - qcc_report_glitch
    - TRACE_ERROR
    - qcc_set_error
    linkageType: ''
    returnType: int
    signature: h3_close(struct qcs *qcs, enum qcc_app_ops_close_side side)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:2246,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/h3.c:2248,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:2250,1
    - Dst: quic_stream_is_bidi
      Src: /src/haproxy/src/h3.c:2264,1
    - Dst: qcs_wait_http_req
      Src: /src/haproxy/src/h3.c:2267,1
    - Dst: quic_stream_is_bidi
      Src: /src/haproxy/src/h3.c:2285,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/h3.c:2286,1
    - Dst: qcc_abort_stream_read
      Src: /src/haproxy/src/h3.c:2287,1
    - Dst: qcc_reset_stream
      Src: /src/haproxy/src/h3.c:2288,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:2293,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/h3.c:2297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - qcs
    - conn_ctx
    argTypes:
    - struct qcs*
    - void*
    constantsTouched: []
    func_position:
      end: 2299
      start: 2241
    functionDepth: 4
    functionLinenumber: 2241
    functionLinenumberEnd: 2299
    functionName: h3_attach
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - qcc_abort_stream_read
    - qcc_reset_stream
    - TRACE_LEAVE
    - TRACE_ENTER
    - pool_alloc
    - TRACE_ERROR
    - TRACE_DEVEL
    - TRACE_STATE
    - quic_stream_is_bidi
    - qcs_wait_http_req
    linkageType: ''
    returnType: int
    signature: h3_attach(struct qcs *qcs, void *conn_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:2305,1
    - Dst: pool_free
      Src: /src/haproxy/src/h3.c:2307,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:2310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 2311
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2311
    functionName: h3_detach
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - pool_free
    linkageType: ''
    returnType: void
    signature: h3_detach(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:2326,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:2329,1
    - Dst: b_make
      Src: /src/haproxy/src/h3.c:2333,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:2335,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:2336,1
    - Dst: b_quic_enc_int
      Src: /src/haproxy/src/h3.c:2337,1
    - Dst: qcc_get_stream_txbuf
      Src: /src/haproxy/src/h3.c:2339,1
    - Dst: b_room
      Src: /src/haproxy/src/h3.c:2340,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:2340,1
    - Dst: qfctl_sblocked
      Src: /src/haproxy/src/h3.c:2341,1
    - Dst: qfctl_sblocked
      Src: /src/haproxy/src/h3.c:2341,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:2343,1
    - Dst: b_force_xfer
      Src: /src/haproxy/src/h3.c:2347,1
    - Dst: b_data
      Src: /src/haproxy/src/h3.c:2347,1
    - Dst: qcc_send_stream
      Src: /src/haproxy/src/h3.c:2348,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:2351,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/h3.c:2359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - h3c
    argTypes:
    - struct h3c*
    constantsTouched: []
    func_position:
      end: 2361
      start: 2317
    functionDepth: 4
    functionLinenumber: 2317
    functionLinenumberEnd: 2361
    functionName: h3_send_goaway
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - b_quic_enc_int
    - b_room
    - qcc_send_stream
    - TRACE_LEAVE
    - b_force_xfer
    - b_make
    - TRACE_ENTER
    - qfctl_sblocked
    - TRACE_ERROR
    - b_data
    - TRACE_DEVEL
    - qcc_get_stream_txbuf
    linkageType: ''
    returnType: int
    signature: h3_send_goaway(struct h3c *h3c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_listener
      Src: /src/haproxy/src/h3.c:2369,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:2371,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/h3.c:2373,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:2375,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/h3.c:2387,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/h3.c:2389,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:2391,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/h3.c:2395,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/h3.c:2396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - qcc
    argTypes:
    - struct qcc*
    constantsTouched: []
    func_position:
      end: 2398
      start: 2366
    functionDepth: 2
    functionLinenumber: 2366
    functionLinenumberEnd: 2398
    functionName: h3_init
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - pool_alloc
    - EXTRA_COUNTERS_GET
    - LIST_INIT
    - TRACE_ERROR
    - TRACE_DEVEL
    - qcc_set_error
    - __objt_listener
    linkageType: ''
    returnType: int
    signature: h3_init(struct qcc *qcc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:2413,1
    - Dst: qcc_init_stream_local
      Src: /src/haproxy/src/h3.c:2416,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/h3.c:2419,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/h3.c:2420,1
    - Dst: qcs_send_metadata
      Src: /src/haproxy/src/h3.c:2424,1
    - Dst: qfctl_sblocked
      Src: /src/haproxy/src/h3.c:2428,1
    - Dst: qfctl_sblocked
      Src: /src/haproxy/src/h3.c:2428,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/h3.c:2429,1
    - Dst: h3_control_send
      Src: /src/haproxy/src/h3.c:2440,1
    - Dst: qcc_set_error
      Src: /src/haproxy/src/h3.c:2441,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:2445,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/h3.c:2449,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/h3.c:2453,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2455
      start: 2407
    functionDepth: 6
    functionLinenumber: 2407
    functionLinenumberEnd: 2455
    functionName: h3_finalize
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - TRACE_LEAVE
    - TRACE_ENTER
    - qcs_send_metadata
    - h3_control_send
    - qfctl_sblocked
    - TRACE_ERROR
    - TRACE_DEVEL
    - qcc_init_stream_local
    - BUG_ON
    - qcc_set_error
    linkageType: ''
    returnType: int
    signature: h3_finalize(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/h3.c:2462,1
    - Dst: h3_send_goaway
      Src: /src/haproxy/src/h3.c:2471,1
    - Dst: quic_err_app
      Src: /src/haproxy/src/h3.c:2479,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/h3.c:2481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2482
      start: 2458
    functionDepth: 5
    functionLinenumber: 2458
    functionLinenumberEnd: 2482
    functionName: h3_shutdown
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - quic_err_app
    - h3_send_goaway
    linkageType: ''
    returnType: void
    signature: h3_shutdown(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free
      Src: /src/haproxy/src/h3.c:2487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2488
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2488
    functionName: h3_release
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - pool_free
    linkageType: ''
    returnType: void
    signature: h3_release(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h3_inc_err_cnt
      Src: /src/haproxy/src/h3.c:2495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - err_code
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 2496
      start: 2491
    functionDepth: 1
    functionLinenumber: 2491
    functionLinenumberEnd: 2496
    functionName: h3_stats_inc_err_cnt
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - h3_inc_err_cnt
    linkageType: ''
    returnType: void
    signature: h3_stats_inc_err_cnt(void *ctx, int err_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_err_app
      Src: /src/haproxy/src/h3.c:2501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2502
      start: 2498
    functionDepth: 1
    functionLinenumber: 2498
    functionLinenumberEnd: 2502
    functionName: h3_report_susp
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - quic_err_app
    linkageType: ''
    returnType: void
    signature: h3_report_susp(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2516
      start: 2504
    functionDepth: 0
    functionLinenumber: 2504
    functionLinenumberEnd: 2516
    functionName: h3_ft_str
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*h3_ft_str(uint64_t type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/h3.c:2533,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/h3.c:2535,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/h3.c:2538,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/h3.c:2541,1
    - Dst: h3_ft_str
      Src: /src/haproxy/src/h3.c:2542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 9
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - struct ist
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2545
      start: 2519
    functionDepth: 1
    functionLinenumber: 2519
    functionLinenumberEnd: 2545
    functionName: h3_trace
    functionSourceFile: /src/haproxy/src/h3.c
    functionUses: 0
    functionsReached:
    - h3_ft_str
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "h3_trace(enum trace_level level, uint64_t mask,\n                     const
      struct trace_source *src,\n                     const struct ist where, const
      struct ist func,\n                     const void *a1, const void *a2, const
      void *a3, const void *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tv
    - from
    - ms
    argTypes:
    - struct timeval*
    - struct timeval*
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: _tv_ms_add
    functionSourceFile: /src/haproxy/src/time.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct timeval
    signature: '*_tv_ms_add(struct timeval *tv, const struct timeval *from, int ms)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __tv_ms_cmp
      Src: /src/haproxy/src/time.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: _tv_ms_cmp
    functionSourceFile: /src/haproxy/src/time.c
    functionUses: 1
    functionsReached:
    - __tv_ms_cmp
    linkageType: ''
    returnType: int
    signature: _tv_ms_cmp(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __tv_ms_cmp2
      Src: /src/haproxy/src/time.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: _tv_ms_cmp2
    functionSourceFile: /src/haproxy/src/time.c
    functionUses: 1
    functionsReached:
    - __tv_ms_cmp2
    linkageType: ''
    returnType: int
    signature: _tv_ms_cmp2(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __tv_ms_le2
      Src: /src/haproxy/src/time.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: _tv_ms_le2
    functionSourceFile: /src/haproxy/src/time.c
    functionUses: 1
    functionsReached:
    - __tv_ms_le2
    linkageType: ''
    returnType: int
    signature: _tv_ms_le2(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __tv_ms_remain
      Src: /src/haproxy/src/time.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: _tv_ms_remain
    functionSourceFile: /src/haproxy/src/time.c
    functionUses: 1
    functionsReached:
    - __tv_ms_remain
    linkageType: ''
    returnType: unsigned long
    signature: _tv_ms_remain(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tv_iseternity
      Src: /src/haproxy/src/time.c:79,1
    - Dst: __tv_ms_remain
      Src: /src/haproxy/src/time.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: _tv_ms_remain2
    functionSourceFile: /src/haproxy/src/time.c
    functionUses: 0
    functionsReached:
    - tv_iseternity
    - __tv_ms_remain
    linkageType: ''
    returnType: unsigned long
    signature: _tv_ms_remain2(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __tv_ms_elapsed
      Src: /src/haproxy/src/time.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: _tv_ms_elapsed
    functionSourceFile: /src/haproxy/src/time.c
    functionUses: 2
    functionsReached:
    - __tv_ms_elapsed
    linkageType: ''
    returnType: unsigned long
    signature: _tv_ms_elapsed(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __tv_add
      Src: /src/haproxy/src/time.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tv
    - from
    - inc
    argTypes:
    - struct timeval*
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: _tv_add
    functionSourceFile: /src/haproxy/src/time.c
    functionUses: 1
    functionsReached:
    - __tv_add
    linkageType: ''
    returnType: struct timeval
    signature: '*_tv_add(struct timeval *tv, const struct timeval *from, const struct
      timeval *inc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __tv_add_ifset
      Src: /src/haproxy/src/time.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tv
    - from
    - inc
    argTypes:
    - struct timeval*
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: _tv_add_ifset
    functionSourceFile: /src/haproxy/src/time.c
    functionUses: 1
    functionsReached:
    - __tv_add_ifset
    linkageType: ''
    returnType: int
    signature: _tv_add_ifset(struct timeval *tv, const struct timeval *from, const
      struct timeval *inc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __tv_remain
      Src: /src/haproxy/src/time.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tv1
    - tv2
    - tv
    argTypes:
    - struct timeval*
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: _tv_remain
    functionSourceFile: /src/haproxy/src/time.c
    functionUses: 1
    functionsReached:
    - __tv_remain
    linkageType: ''
    returnType: struct timeval
    signature: '*_tv_remain(const struct timeval *tv1, const struct timeval *tv2,
      struct timeval *tv)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __tv_remain2
      Src: /src/haproxy/src/time.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tv1
    - tv2
    - tv
    argTypes:
    - struct timeval*
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: _tv_remain2
    functionSourceFile: /src/haproxy/src/time.c
    functionUses: 1
    functionsReached:
    - __tv_remain2
    linkageType: ''
    returnType: struct timeval
    signature: '*_tv_remain2(const struct timeval *tv1, const struct timeval *tv2,
      struct timeval *tv)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __tv_isle
      Src: /src/haproxy/src/time.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: _tv_isle
    functionSourceFile: /src/haproxy/src/time.c
    functionUses: 1
    functionsReached:
    - __tv_isle
    linkageType: ''
    returnType: int
    signature: _tv_isle(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __tv_isgt
      Src: /src/haproxy/src/time.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: _tv_isgt
    functionSourceFile: /src/haproxy/src/time.c
    functionUses: 1
    functionsReached:
    - __tv_isgt
    linkageType: ''
    returnType: int
    signature: _tv_isgt(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_insert
      Src: /src/haproxy/src/cebu64_tree.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu64_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_insert
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu64, _insert, struct ceb_node **,
      root, ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_first
      Src: /src/haproxy/src/cebu64_tree.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebu64_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_first
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebu64, _first, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_last
      Src: /src/haproxy/src/cebu64_tree.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebu64_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_last
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebu64, _last, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup
      Src: /src/haproxy/src/cebu64_tree.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu64_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu64, _lookup, struct ceb_node **,
      root, ptrdiff_t, kofs, uint64_t, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_le
      Src: /src/haproxy/src/cebu64_tree.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu64_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_le
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu64, _lookup_le, struct ceb_node **,
      root, ptrdiff_t, kofs, uint64_t, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_lt
      Src: /src/haproxy/src/cebu64_tree.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu64_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_lt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu64, _lookup_lt, struct ceb_node **,
      root, ptrdiff_t, kofs, uint64_t, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_ge
      Src: /src/haproxy/src/cebu64_tree.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu64_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_ge
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu64, _lookup_ge, struct ceb_node **,
      root, ptrdiff_t, kofs, uint64_t, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_gt
      Src: /src/haproxy/src/cebu64_tree.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu64_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_gt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu64, _lookup_gt, struct ceb_node **,
      root, ptrdiff_t, kofs, uint64_t, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_next
      Src: /src/haproxy/src/cebu64_tree.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu64_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_next
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu64, _next, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_prev
      Src: /src/haproxy/src/cebu64_tree.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu64_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_prev
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu64, _prev, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebu64_tree.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu64_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu64, _delete, struct ceb_node **,
      root, ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebu64_tree.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebu64_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebu64, _pick, struct ceb_node **, root,
      ptrdiff_t, kofs, uint64_t, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/src/cebu64_tree.c:150,1
    - Dst: printf
      Src: /src/haproxy/src/cebu64_tree.c:156,1
    - Dst: cebu_default_dump_tree
      Src: /src/haproxy/src/cebu64_tree.c:159,1
    - Dst: printf
      Src: /src/haproxy/src/cebu64_tree.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebu64_tree.c
    functionUses: 0
    functionsReached:
    - printf
    - cebu_default_dump_tree
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(void, cebu64, _default_dump, struct ceb_node **, root, ptrdiff_t,
      kofs, const char *, label, const void *, ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - spop_strm
    argTypes:
    - struct spop_strm*
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: spop_strm_sc
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: '*spop_strm_sc(const struct spop_strm *spop_strm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_opposite
      Src: /src/haproxy/src/mux_spop.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - spop_strm
    argTypes:
    - struct spop_strm*
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: spop_strm_opposite_sd
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - se_opposite
    linkageType: ''
    returnType: struct sedesc
    signature: '*spop_strm_opposite_sd(struct spop_strm *spop_strm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_contig_data
      Src: /src/haproxy/src/mux_spop.c:312,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/mux_spop.c:318,1
    - Dst: dump_text_line
      Src: /src/haproxy/src/mux_spop.c:323,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:323,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:323,1
    - Dst: dump_text_line
      Src: /src/haproxy/src/mux_spop.c:331,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:331,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - ofs
    - len
    argTypes:
    - struct buffer*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 336
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 336
    functionName: spop_trace_buf
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - dump_text_line
    - b_contig_data
    - b_size
    - b_orig
    - b_peek_ofs
    linkageType: ''
    returnType: void
    signature: spop_trace_buf(const struct buffer *buf, size_t ofs, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:363,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:366,1
    - Dst: spop_conn_st_to_str
      Src: /src/haproxy/src/mux_spop.c:366,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:368,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:370,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:374,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:376,1
    - Dst: spop_strm_st_to_str
      Src: /src/haproxy/src/mux_spop.c:376,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:378,1
    - Dst: se_fl_get
      Src: /src/haproxy/src/mux_spop.c:378,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:379,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:380,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:380,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:380,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:383,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:393,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:394,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:394,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_spop.c:395,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:395,1
    - Dst: br_head
      Src: /src/haproxy/src/mux_spop.c:398,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_spop.c:399,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:401,1
    - Dst: br_head_idx
      Src: /src/haproxy/src/mux_spop.c:402,1
    - Dst: br_tail_idx
      Src: /src/haproxy/src/mux_spop.c:402,1
    - Dst: br_size
      Src: /src/haproxy/src/mux_spop.c:402,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:403,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:403,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_spop.c:404,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:404,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:405,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:405,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_spop.c:406,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:406,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:411,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:412,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:412,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_spop.c:413,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:413,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:431,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:432,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:432,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_spop.c:433,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:433,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:435,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_spop.c:436,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:437,1
    - Dst: spop_trace_buf
      Src: /src/haproxy/src/mux_spop.c:438,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:438,1
    - Dst: spop_trace_buf
      Src: /src/haproxy/src/mux_spop.c:440,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/mux_spop.c:441,1
    - Dst: spop_trace_buf
      Src: /src/haproxy/src/mux_spop.c:442,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:442,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 60
    argCount: 9
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - struct ist
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 446
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 446
    functionName: spop_trace
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - spop_strm_sc
    - br_head
    - spop_trace_buf
    - br_tail
    - se_fl_get
    - br_head_idx
    - br_size
    - chunk_memcat
    - chunk_appendf
    - spop_conn_st_to_str
    - spop_strm_st_to_str
    - b_data
    - b_head_ofs
    - b_size
    - br_tail_idx
    - b_orig
    linkageType: ''
    returnType: void
    signature: "spop_trace(enum trace_level level, uint64_t mask, const struct trace_source
      *src,\n\t\t       const struct ist where, const struct ist func,\n\t\t       const
      void *a1, const void *a2, const void *a3, const void *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_spop.c:462,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:463,1
    - Dst: spop_conn_restart_reading
      Src: /src/haproxy/src/mux_spop.c:465,1
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_spop.c:469,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_spop.c:469,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:470,1
    - Dst: spop_conn_restart_reading
      Src: /src/haproxy/src/mux_spop.c:474,1
    - Dst: spop_conn_st_by_id
      Src: /src/haproxy/src/mux_spop.c:480,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:480,1
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_spop.c:481,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:482,1
    - Dst: spop_conn_restart_reading
      Src: /src/haproxy/src/mux_spop.c:484,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - target
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 489
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 489
    functionName: spop_buf_available
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - spop_strm_sc
    - spop_conn_st_by_id
    - br_tail
    - spop_conn_restart_reading
    - TRACE_STATE
    - b_alloc
    linkageType: ''
    returnType: int
    signature: spop_buf_available(void *target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/mux_spop.c:495,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_spop.c:495,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_spop.c:496,1
    - Dst: b_alloc
      Src: /src/haproxy/src/mux_spop.c:496,1
    - Dst: b_queue
      Src: /src/haproxy/src/mux_spop.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - spop_conn
    - bptr
    argTypes:
    - struct spop_conn*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 500
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 500
    functionName: spop_get_buf
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - b_queue
    - likely
    - LIST_INLIST
    - unlikely
    - b_alloc
    linkageType: ''
    returnType: struct buffer
    signature: '*spop_get_buf(struct spop_conn *spop_conn, struct buffer *bptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_free
      Src: /src/haproxy/src/mux_spop.c:505,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_spop.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - spop_conn
    - bptr
    argTypes:
    - struct spop_conn*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: spop_release_buf
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - offer_buffers
    - b_free
    linkageType: ''
    returnType: void
    signature: spop_release_buf(struct spop_conn *spop_conn, struct buffer *bptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:515,1
    - Dst: br_head_pick
      Src: /src/haproxy/src/mux_spop.c:515,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_spop.c:516,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_spop.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 524
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 524
    functionName: spop_release_mbuf
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - offer_buffers
    - br_head_pick
    - b_free
    - b_size
    linkageType: ''
    returnType: void
    signature: spop_release_mbuf(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 556
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 556
    functionName: spop_recv_allowed
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - b_data
    linkageType: ''
    returnType: int
    signature: spop_recv_allowed(const struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tevt_report_event
      Src: /src/haproxy/src/mux_spop.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - spop_conn
    - type
    argTypes:
    - struct spop_conn*
    - enum muxc_term_event_type
    constantsTouched: []
    func_position:
      end: 563
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 563
    functionName: spop_conn_report_term_evt
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - tevt_report_event
    linkageType: ''
    returnType: void
    signature: spop_conn_report_term_evt(struct spop_conn *spop_conn, enum muxc_term_event_type
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spop_recv_allowed
      Src: /src/haproxy/src/mux_spop.c:568,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:570,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_spop.c:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - spop_conn
    - consider_buffer
    argTypes:
    - struct spop_conn*
    - int
    constantsTouched: []
    func_position:
      end: 574
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 574
    functionName: spop_conn_restart_reading
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 1
    functionsReached:
    - spop_recv_allowed
    - tasklet_wakeup
    - b_data
    linkageType: ''
    returnType: void
    signature: spop_conn_restart_reading(const struct spop_conn *spop_conn, int consider_buffer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 587
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 587
    functionName: spop_streams_left
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: spop_streams_left(const struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 598
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 598
    functionName: spop_used_streams
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: spop_used_streams(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/src/mux_spop.c:603,1
    - Dst: spop_streams_left
      Src: /src/haproxy/src/mux_spop.c:615,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_spop.c:616,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_spop.c:619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 622
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 622
    functionName: spop_avail_streams
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - objt_server
    - MIN
    - spop_streams_left
    linkageType: ''
    returnType: int
    signature: spop_avail_streams(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:638,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/mux_spop.c:640,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:642,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_spop.c:647,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_spop.c:654,1
    - Dst: task_new_here
      Src: /src/haproxy/src/mux_spop.c:655,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:657,1
    - Dst: tick_add
      Src: /src/haproxy/src/mux_spop.c:664,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/mux_spop.c:667,1
    - Dst: br_init
      Src: /src/haproxy/src/mux_spop.c:690,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_spop.c:692,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_spop.c:693,1
    - Dst: task_queue
      Src: /src/haproxy/src/mux_spop.c:698,1
    - Dst: spop_stconn_new
      Src: /src/haproxy/src/mux_spop.c:705,1
    - Dst: spop_strm_opposite_sd
      Src: /src/haproxy/src/mux_spop.c:712,1
    - Dst: spoe_appctx_agent
      Src: /src/haproxy/src/mux_spop.c:714,1
    - Dst: sc_appctx
      Src: /src/haproxy/src/mux_spop.c:714,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_spop.c:718,1
    - Dst: spop_conn_restart_reading
      Src: /src/haproxy/src/mux_spop.c:722,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:723,1
    - Dst: task_destroy
      Src: /src/haproxy/src/mux_spop.c:727,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_spop.c:728,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_spop.c:729,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:732,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 79
    argCount: 4
    argNames:
    - conn
    - px
    - sess
    - input
    argTypes:
    - struct connection*
    - struct proxy*
    - struct session*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 734
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 734
    functionName: spop_init
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - spop_conn_restart_reading
    - pool_alloc
    - sc_appctx
    - tasklet_new
    - task_new_here
    - BUG_ON
    - TRACE_LEAVE
    - task_queue
    - spop_strm_opposite_sd
    - tasklet_free
    - pool_free
    - LIST_INIT
    - TRACE_DEVEL
    - tick_add
    - spoe_appctx_agent
    - br_init
    - spop_stconn_new
    - TRACE_ERROR
    - task_destroy
    - tick_isset
    linkageType: ''
    returnType: int
    signature: "spop_init(struct connection *conn, struct proxy *px, struct session
      *sess,\n\t\t     struct buffer *input)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_spop.c:743,1
    - Dst: b_dequeue
      Src: /src/haproxy/src/mux_spop.c:745,1
    - Dst: spop_release_buf
      Src: /src/haproxy/src/mux_spop.c:747,1
    - Dst: spop_release_mbuf
      Src: /src/haproxy/src/mux_spop.c:748,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/mux_spop.c:752,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_spop.c:755,1
    - Dst: struct connection*::xprt::unsubscribe
      Src: /src/haproxy/src/mux_spop.c:758,1
    - Dst: spop_conn_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:760,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_spop.c:763,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:768,1
    - Dst: conn_stop_tracking
      Src: /src/haproxy/src/mux_spop.c:770,1
    - Dst: conn_full_close
      Src: /src/haproxy/src/mux_spop.c:771,1
    - Dst: struct connection*::destroy_cb
      Src: /src/haproxy/src/mux_spop.c:773,1
    - Dst: conn_free
      Src: /src/haproxy/src/mux_spop.c:774,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 776
      start: 739
    functionDepth: 3
    functionLinenumber: 739
    functionLinenumberEnd: 776
    functionName: spop_release
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - conn_full_close
    - TRACE_POINT
    - spop_release_buf
    - tasklet_free
    - spop_conn_report_term_evt
    - conn_free
    - struct connection*::destroy_cb
    - spop_release_mbuf
    - task_wakeup
    - pool_free
    - conn_stop_tracking
    - TRACE_DEVEL
    - struct connection*::xprt::unsubscribe
    - b_dequeue
    linkageType: ''
    returnType: void
    signature: spop_release(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 789
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 789
    functionName: spop_conn_get_next_sid
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: spop_conn_get_next_sid(const struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup
      Src: /src/haproxy/src/mux_spop.c:802,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_spop.c:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - spop_conn
    - id
    argTypes:
    - struct spop_conn*
    - int
    constantsTouched: []
    func_position:
      end: 806
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 806
    functionName: spop_conn_st_by_id
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 1
    functionsReached:
    - container_of
    - eb32_lookup
    linkageType: ''
    returnType: struct spop_strm
    signature: '*spop_conn_st_by_id(struct spop_conn *spop_conn, int id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 817
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 817
    functionName: spop_conn_read0_pending
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: spop_conn_read0_pending(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 828
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 828
    functionName: spop_conn_may_expire
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: spop_conn_may_expire(const struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_spop.c:835,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_spop.c:840,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 844
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 844
    functionName: spop_conn_is_dead
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - br_data
    - eb_is_empty
    linkageType: ''
    returnType: int
    signature: spop_conn_is_dead(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:854,1
    - Dst: spop_conn_may_expire
      Src: /src/haproxy/src/mux_spop.c:856,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_spop.c:858,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_spop.c:860,1
    - Dst: tick_first
      Src: /src/haproxy/src/mux_spop.c:867,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_spop.c:872,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/src/mux_spop.c:873,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_spop.c:877,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_spop.c:890,1
    - Dst: tick_is_le
      Src: /src/haproxy/src/mux_spop.c:891,1
    - Dst: tick_add
      Src: /src/haproxy/src/mux_spop.c:895,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/mux_spop.c:895,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/mux_spop.c:902,1
    - Dst: task_queue
      Src: /src/haproxy/src/mux_spop.c:908,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:909,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 912
      start: 847
    functionDepth: 1
    functionLinenumber: 847
    functionLinenumberEnd: 912
    functionName: spop_conn_update_timeout
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - statistical_prng_range
    - br_data
    - TRACE_ENTER
    - tick_add
    - tick_is_le
    - spop_conn_may_expire
    - task_wakeup
    - task_queue
    - tick_first
    - tick_add_ifset
    - tick_isset
    linkageType: ''
    returnType: void
    signature: spop_conn_update_timeout(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_spop.c:922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - spop_conn
    - err
    argTypes:
    - struct spop_conn*
    - enum spop_error
    constantsTouched: []
    func_position:
      end: 927
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 927
    functionName: spop_conn_error
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    linkageType: ''
    returnType: void
    signature: spop_conn_error(struct spop_conn *spop_conn, enum spop_error err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_spop.c:933,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:937,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_spop.c:939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - spop_strm
    - err
    argTypes:
    - struct spop_strm*
    - enum spop_error
    constantsTouched: []
    func_position:
      end: 945
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 945
    functionName: spop_strm_error
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_STATE
    - TRACE_POINT
    - se_fl_set_error
    linkageType: ''
    returnType: void
    signature: spop_strm_error(struct spop_strm *spop_strm, enum spop_error err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_spop.c:951,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_spop.c:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - spop_strm
    argTypes:
    - struct spop_strm*
    constantsTouched: []
    func_position:
      end: 957
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 957
    functionName: spop_strm_notify_recv
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - tasklet_wakeup
    linkageType: ''
    returnType: void
    signature: spop_strm_notify_recv(struct spop_strm *spop_strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_spop.c:963,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_spop.c:965,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - spop_strm
    argTypes:
    - struct spop_strm*
    constantsTouched: []
    func_position:
      end: 970
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 970
    functionName: spop_strm_notify_send
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - tasklet_wakeup
    linkageType: ''
    returnType: void
    signature: spop_strm_notify_send(struct spop_strm *spop_strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_spop.c:983,1
    - Dst: spop_strm_notify_recv
      Src: /src/haproxy/src/mux_spop.c:985,1
    - Dst: spop_strm_notify_send
      Src: /src/haproxy/src/mux_spop.c:986,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:988,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:988,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_spop.c:989,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:990,1
    - Dst: wake
      Src: /src/haproxy/src/mux_spop.c:990,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - spop_strm
    argTypes:
    - struct spop_strm*
    constantsTouched: []
    func_position:
      end: 992
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 992
    functionName: spop_strm_alert
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - spop_strm_sc
    - TRACE_POINT
    - wake
    - spop_strm_notify_recv
    - spop_strm_notify_send
    linkageType: ''
    returnType: void
    signature: spop_strm_alert(struct spop_strm *spop_strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_n32
      Src: /src/haproxy/src/mux_spop.c:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - frame
    - len
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 998
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 998
    functionName: spop_set_frame_size
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - write_n32
    linkageType: ''
    returnType: void
    signature: spop_set_frame_size(void *frame, uint32_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readv_bytes
      Src: /src/haproxy/src/mux_spop.c:1009,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_spop.c:1009,1
    - Dst: b_wrap
      Src: /src/haproxy/src/mux_spop.c:1009,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_spop.c:1009,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dst
    - bytes
    - b
    - o
    argTypes:
    - void*
    - size_t
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: spop_get_buf_bytes
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - b_peek
    - b_orig
    - readv_bytes
    - b_wrap
    linkageType: ''
    returnType: __maybe_unused
    signature: "spop_get_buf_bytes(void *dst, size_t bytes,\n                                    const
      struct buffer *b, int o)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readv_n16
      Src: /src/haproxy/src/mux_spop.c:1014,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_spop.c:1014,1
    - Dst: b_wrap
      Src: /src/haproxy/src/mux_spop.c:1014,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_spop.c:1014,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - o
    argTypes:
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 1015
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1015
    functionName: spop_get_n16
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - b_peek
    - readv_n16
    - b_orig
    - b_wrap
    linkageType: ''
    returnType: __maybe_unused
    signature: spop_get_n16(const struct buffer *b, int o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readv_n32
      Src: /src/haproxy/src/mux_spop.c:1019,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_spop.c:1019,1
    - Dst: b_wrap
      Src: /src/haproxy/src/mux_spop.c:1019,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_spop.c:1019,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - o
    argTypes:
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 1020
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1020
    functionName: spop_get_n32
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - b_peek
    - readv_n32
    - b_orig
    - b_wrap
    linkageType: ''
    returnType: __maybe_unused
    signature: spop_get_n32(const struct buffer *b, int o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readv_n64
      Src: /src/haproxy/src/mux_spop.c:1024,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_spop.c:1024,1
    - Dst: b_wrap
      Src: /src/haproxy/src/mux_spop.c:1024,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_spop.c:1024,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:1024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - o
    argTypes:
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 1025
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1025
    functionName: spop_get_n64
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - b_peek
    - readv_n64
    - b_orig
    - b_wrap
    linkageType: ''
    returnType: __maybe_unused
    signature: spop_get_n64(const struct buffer *b, int o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:1033,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_spop.c:1036,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:1043,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_spop.c:1045,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - b
    - o
    - i
    argTypes:
    - struct buffer*
    - int
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 1051
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1051
    functionName: spop_get_varint
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - b_peek
    - b_data
    linkageType: ''
    returnType: __maybe_unused
    signature: spop_get_varint(const struct buffer *b, int o, uint64_t *i)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:1061,1
    - Dst: spop_get_n32
      Src: /src/haproxy/src/mux_spop.c:1065,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_spop.c:1067,1
    - Dst: spop_get_n32
      Src: /src/haproxy/src/mux_spop.c:1068,1
    - Dst: spop_get_varint
      Src: /src/haproxy/src/mux_spop.c:1072,1
    - Dst: spop_get_varint
      Src: /src/haproxy/src/mux_spop.c:1076,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - b
    - o
    - hdr
    argTypes:
    - struct buffer*
    - int
    - struct spop_frame_header*
    constantsTouched: []
    func_position:
      end: 1084
      start: 1057
    functionDepth: 2
    functionLinenumber: 1057
    functionLinenumberEnd: 1084
    functionName: spop_peek_frame_hdr
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - spop_get_n32
    - b_peek
    - b_data
    - spop_get_varint
    linkageType: ''
    returnType: int
    signature: spop_peek_frame_hdr(const struct buffer *b, int o, struct spop_frame_header
      *hdr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_del
      Src: /src/haproxy/src/mux_spop.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - o
    argTypes:
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 1092
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1092
    functionName: spop_skip_frame_hdr
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - b_del
    linkageType: ''
    returnType: void
    signature: spop_skip_frame_hdr(struct buffer *b, size_t o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spop_peek_frame_hdr
      Src: /src/haproxy/src/mux_spop.c:1099,1
    - Dst: spop_skip_frame_hdr
      Src: /src/haproxy/src/mux_spop.c:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - hdr
    argTypes:
    - struct buffer*
    - struct spop_frame_header*
    constantsTouched: []
    func_position:
      end: 1103
      start: 1095
    functionDepth: 3
    functionLinenumber: 1095
    functionLinenumberEnd: 1103
    functionName: spop_get_frame_hdr
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - spop_peek_frame_hdr
    - spop_skip_frame_hdr
    linkageType: ''
    returnType: int
    signature: spop_get_frame_hdr(struct buffer *b, struct spop_frame_header *hdr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:1113,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:1117,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_spop.c:1118,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:1118,1
    - Dst: spop_strm_notify_recv
      Src: /src/haproxy/src/mux_spop.c:1119,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:1122,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:1123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - spop_strm
    argTypes:
    - struct spop_strm*
    constantsTouched: []
    func_position:
      end: 1125
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1125
    functionName: spop_strm_close
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - spop_strm_sc
    - TRACE_LEAVE
    - se_fl_test
    - TRACE_ENTER
    - b_data
    - TRACE_STATE
    - spop_strm_notify_recv
    linkageType: ''
    returnType: void
    signature: spop_strm_close(struct spop_strm *spop_strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_spop.c:1133,1
    - Dst: spop_conn_read0_pending
      Src: /src/haproxy/src/mux_spop.c:1135,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_spop.c:1136,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_spop.c:1137,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_spop.c:1138,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:1139,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:1142,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_spop.c:1144,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_spop.c:1145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - spop_conn
    - spop_strm
    argTypes:
    - struct spop_conn*
    - struct spop_strm*
    constantsTouched: []
    func_position:
      end: 1146
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1146
    functionName: spop_strm_propagate_term_flags
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - se_report_term_evt
    - se_fl_set
    - spop_conn_read0_pending
    - se_fl_test
    linkageType: ''
    returnType: void
    signature: spop_strm_propagate_term_flags(struct spop_conn *spop_conn, struct
      spop_strm *spop_strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:1156,1
    - Dst: spop_strm_close
      Src: /src/haproxy/src/mux_spop.c:1158,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/mux_spop.c:1159,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:1160,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_spop.c:1161,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_spop.c:1162,1
    - Dst: spop_remove_from_list
      Src: /src/haproxy/src/mux_spop.c:1171,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_spop.c:1173,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_spop.c:1173,1
    - Dst: sedesc_free
      Src: /src/haproxy/src/mux_spop.c:1174,1
    - Dst: pool_free
      Src: /src/haproxy/src/mux_spop.c:1175,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:1177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - spop_strm
    argTypes:
    - struct spop_strm*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1152
    functionDepth: 3
    functionLinenumber: 1152
    functionLinenumberEnd: 1178
    functionName: spop_strm_destroy
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - eb32_delete
    - b_free
    - se_fl_test
    - TRACE_ENTER
    - spop_strm_close
    - pool_free
    - offer_buffers
    - sedesc_free
    - spop_remove_from_list
    - b_size
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: spop_strm_destroy(struct spop_strm *spop_strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:1190,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/mux_spop.c:1192,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:1194,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/mux_spop.c:1199,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/mux_spop.c:1215,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:1219,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 2
    argNames:
    - spop_conn
    - id
    argTypes:
    - struct spop_conn*
    - int
    constantsTouched: []
    func_position:
      end: 1225
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1225
    functionName: spop_strm_new
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - eb32_insert
    - TRACE_ENTER
    - pool_alloc
    - LIST_INIT
    - TRACE_ERROR
    - TRACE_DEVEL
    linkageType: ''
    returnType: struct spop_strm
    signature: '*spop_strm_new(struct spop_conn *spop_conn, int id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:1236,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:1238,1
    - Dst: spop_streams_left
      Src: /src/haproxy/src/mux_spop.c:1242,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:1243,1
    - Dst: spop_strm_new
      Src: /src/haproxy/src/mux_spop.c:1248,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:1250,1
    - Dst: sc_attach_mux
      Src: /src/haproxy/src/mux_spop.c:1253,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:1258,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:1262,1
    - Dst: spop_strm_destroy
      Src: /src/haproxy/src/mux_spop.c:1263,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - spop_conn
    - sc
    - sess
    argTypes:
    - struct spop_conn*
    - struct stconn*
    - struct session*
    constantsTouched: []
    func_position:
      end: 1265
      start: 1231
    functionDepth: 4
    functionLinenumber: 1231
    functionLinenumberEnd: 1265
    functionName: spop_stconn_new
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 1
    functionsReached:
    - spop_strm_destroy
    - TRACE_LEAVE
    - sc_attach_mux
    - TRACE_ENTER
    - spop_strm_new
    - spop_streams_left
    - TRACE_ERROR
    - TRACE_DEVEL
    linkageType: ''
    returnType: struct spop_strm
    signature: "*spop_stconn_new(struct spop_conn *spop_conn, struct stconn *sc,\n\t\t\t\t\t
      struct session *sess)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:1276,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:1278,1
    - Dst: spop_strm_destroy
      Src: /src/haproxy/src/mux_spop.c:1280,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:1281,1
    - Dst: spop_conn_read0_pending
      Src: /src/haproxy/src/mux_spop.c:1285,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:1288,1
    - Dst: spop_strm_close
      Src: /src/haproxy/src/mux_spop.c:1291,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_spop.c:1295,1
    - Dst: spop_strm_propagate_term_flags
      Src: /src/haproxy/src/mux_spop.c:1296,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:1304,1
    - Dst: spop_strm_alert
      Src: /src/haproxy/src/mux_spop.c:1308,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:1310,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - spop_strm
    argTypes:
    - struct spop_strm*
    constantsTouched: []
    func_position:
      end: 1311
      start: 1272
    functionDepth: 4
    functionLinenumber: 1272
    functionLinenumberEnd: 1311
    functionName: spop_strm_wake_one_stream
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - spop_strm_sc
    - spop_strm_destroy
    - TRACE_LEAVE
    - se_fl_set_error
    - TRACE_ENTER
    - spop_strm_close
    - spop_strm_propagate_term_flags
    - TRACE_DEVEL
    - spop_conn_read0_pending
    - TRACE_STATE
    - spop_strm_alert
    linkageType: ''
    returnType: void
    signature: spop_strm_wake_one_stream(struct spop_strm *spop_strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup
      Src: /src/haproxy/src/mux_spop.c:1319,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_spop.c:1321,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_spop.c:1324,1
    - Dst: spop_strm_wake_one_stream
      Src: /src/haproxy/src/mux_spop.c:1325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 1327
      start: 1314
    functionDepth: 5
    functionLinenumber: 1314
    functionLinenumberEnd: 1327
    functionName: spop_wake_unassigned_streams
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - eb32_next
    - container_of
    - spop_strm_wake_one_stream
    - eb32_lookup
    linkageType: ''
    returnType: void
    signature: spop_wake_unassigned_streams(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:1337,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/mux_spop.c:1340,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_spop.c:1342,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_spop.c:1343,1
    - Dst: spop_strm_wake_one_stream
      Src: /src/haproxy/src/mux_spop.c:1344,1
    - Dst: spop_wake_unassigned_streams
      Src: /src/haproxy/src/mux_spop.c:1346,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - spop_conn
    - last
    argTypes:
    - struct spop_conn*
    - int
    constantsTouched: []
    func_position:
      end: 1349
      start: 1332
    functionDepth: 6
    functionLinenumber: 1332
    functionLinenumberEnd: 1349
    functionName: spop_wake_some_streams
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - container_of
    - spop_strm_wake_one_stream
    - spop_wake_unassigned_streams
    - TRACE_ENTER
    - eb32_next
    - eb32_lookup_ge
    linkageType: ''
    returnType: void
    signature: spop_wake_some_streams(struct spop_conn *spop_conn, int last)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:1365,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_spop.c:1367,1
    - Dst: spop_get_buf
      Src: /src/haproxy/src/mux_spop.c:1369,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:1372,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_spop.c:1378,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_spop.c:1378,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_spop.c:1378,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_spop.c:1379,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_spop.c:1382,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:1382,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_spop.c:1390,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_spop.c:1393,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:1394,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:1394,1
    - Dst: SPOP_SLEN
      Src: /src/haproxy/src/mux_spop.c:1397,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/src/mux_spop.c:1398,1
    - Dst: SPOP_SLEN
      Src: /src/haproxy/src/mux_spop.c:1402,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/src/mux_spop.c:1403,1
    - Dst: SPOP_SLEN
      Src: /src/haproxy/src/mux_spop.c:1407,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/src/mux_spop.c:1408,1
    - Dst: encode_varint
      Src: /src/haproxy/src/mux_spop.c:1412,1
    - Dst: SPOP_SLEN
      Src: /src/haproxy/src/mux_spop.c:1416,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/src/mux_spop.c:1417,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/mux_spop.c:1421,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_spop.c:1423,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/src/mux_spop.c:1426,1
    - Dst: SPOP_SLEN
      Src: /src/haproxy/src/mux_spop.c:1431,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/src/mux_spop.c:1432,1
    - Dst: strlen
      Src: /src/haproxy/src/mux_spop.c:1436,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/src/mux_spop.c:1437,1
    - Dst: SPOP_SLEN
      Src: /src/haproxy/src/mux_spop.c:1445,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/src/mux_spop.c:1446,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_spop.c:1451,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_spop.c:1454,1
    - Dst: spop_set_frame_size
      Src: /src/haproxy/src/mux_spop.c:1455,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_spop.c:1456,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:1460,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:1464,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:1465,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_spop.c:1469,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:1473,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:1478,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:1479,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 107
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 1481
      start: 1356
    functionDepth: 2
    functionLinenumber: 1356
    functionLinenumberEnd: 1481
    functionName: spop_conn_send_hello
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - spop_get_buf
    - spoe_encode_buffer
    - b_contig_space
    - b_orig
    - TRACE_LEAVE
    - br_tail_add
    - get_trash_chunk
    - b_tail
    - b_size
    - encode_varint
    - SPOP_SLEN
    - strlen
    - spop_set_frame_size
    - b_slow_realign
    - b_data
    - TRACE_DEVEL
    - b_space_wraps
    - br_tail
    - b_make
    - TRACE_PROTO
    - b_add
    - TRACE_ERROR
    - TRACE_STATE
    - memcpy
    linkageType: ''
    returnType: int
    signature: spop_conn_send_hello(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:1496,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_spop.c:1498,1
    - Dst: spop_get_buf
      Src: /src/haproxy/src/mux_spop.c:1500,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:1503,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_spop.c:1509,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_spop.c:1509,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_spop.c:1509,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_spop.c:1510,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_spop.c:1513,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:1513,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_spop.c:1521,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_spop.c:1524,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:1525,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:1525,1
    - Dst: SPOP_SLEN
      Src: /src/haproxy/src/mux_spop.c:1528,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/src/mux_spop.c:1529,1
    - Dst: encode_varint
      Src: /src/haproxy/src/mux_spop.c:1533,1
    - Dst: SPOP_SLEN
      Src: /src/haproxy/src/mux_spop.c:1537,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/src/mux_spop.c:1538,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/src/mux_spop.c:1545,1
    - Dst: istptr
      Src: /src/haproxy/src/mux_spop.c:1545,1
    - Dst: istlen
      Src: /src/haproxy/src/mux_spop.c:1545,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_spop.c:1548,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_spop.c:1551,1
    - Dst: spop_set_frame_size
      Src: /src/haproxy/src/mux_spop.c:1552,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_spop.c:1553,1
    - Dst: spop_conn_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:1559,1
    - Dst: spop_conn_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:1563,1
    - Dst: spop_conn_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:1567,1
    - Dst: spop_conn_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:1580,1
    - Dst: spop_conn_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:1585,1
    - Dst: spop_conn_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:1589,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:1595,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:1599,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:1600,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_spop.c:1604,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:1608,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:1613,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:1614,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 107
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 1616
      start: 1487
    functionDepth: 2
    functionLinenumber: 1487
    functionLinenumberEnd: 1616
    functionName: spop_conn_send_disconnect
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - spop_get_buf
    - spoe_encode_buffer
    - b_contig_space
    - b_orig
    - TRACE_LEAVE
    - br_tail_add
    - istlen
    - b_tail
    - b_size
    - encode_varint
    - SPOP_SLEN
    - spop_set_frame_size
    - b_slow_realign
    - b_data
    - TRACE_DEVEL
    - b_space_wraps
    - br_tail
    - b_make
    - spop_conn_report_term_evt
    - TRACE_PROTO
    - b_add
    - istptr
    - TRACE_ERROR
    - TRACE_STATE
    - memcpy
    linkageType: ''
    returnType: int
    signature: spop_conn_send_disconnect(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:1630,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:1635,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:1639,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:1640,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_spop.c:1644,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/mux_spop.c:1644,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_spop.c:1644,1
    - Dst: b_slow_realign_ofs
      Src: /src/haproxy/src/mux_spop.c:1649,1
    - Dst: b_head
      Src: /src/haproxy/src/mux_spop.c:1652,1
    - Dst: spoe_decode_buffer
      Src: /src/haproxy/src/mux_spop.c:1667,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1669,1
    - Dst: strlen
      Src: /src/haproxy/src/mux_spop.c:1674,1
    - Dst: memcmp
      Src: /src/haproxy/src/mux_spop.c:1674,1
    - Dst: strlen
      Src: /src/haproxy/src/mux_spop.c:1674,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1679,1
    - Dst: spoe_decode_buffer
      Src: /src/haproxy/src/mux_spop.c:1682,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1683,1
    - Dst: spoe_str_to_vsn
      Src: /src/haproxy/src/mux_spop.c:1687,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1689,1
    - Dst: spoe_check_vsn
      Src: /src/haproxy/src/mux_spop.c:1692,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1693,1
    - Dst: strlen
      Src: /src/haproxy/src/mux_spop.c:1698,1
    - Dst: memcmp
      Src: /src/haproxy/src/mux_spop.c:1698,1
    - Dst: SPOP_SLEN
      Src: /src/haproxy/src/mux_spop.c:1698,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1706,1
    - Dst: decode_varint
      Src: /src/haproxy/src/mux_spop.c:1709,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1710,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1714,1
    - Dst: strlen
      Src: /src/haproxy/src/mux_spop.c:1720,1
    - Dst: memcmp
      Src: /src/haproxy/src/mux_spop.c:1720,1
    - Dst: SPOP_SLEN
      Src: /src/haproxy/src/mux_spop.c:1720,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1725,1
    - Dst: spoe_decode_buffer
      Src: /src/haproxy/src/mux_spop.c:1728,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1729,1
    - Dst: isspace
      Src: /src/haproxy/src/mux_spop.c:1737,1
    - Dst: strncmp
      Src: /src/haproxy/src/mux_spop.c:1739,1
    - Dst: isspace
      Src: /src/haproxy/src/mux_spop.c:1741,1
    - Dst: memchr
      Src: /src/haproxy/src/mux_spop.c:1746,1
    - Dst: spoe_skip_data
      Src: /src/haproxy/src/mux_spop.c:1755,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1756,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1764,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1768,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_spop.c:1777,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_spop.c:1778,1
    - Dst: spop_wake_unassigned_streams
      Src: /src/haproxy/src/mux_spop.c:1780,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:1781,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:1785,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:1786,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 124
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 1788
      start: 1623
    functionDepth: 6
    functionLinenumber: 1623
    functionLinenumberEnd: 1788
    functionName: spop_conn_handle_hello
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - strncmp
    - TRACE_ENTER
    - spoe_str_to_vsn
    - b_head
    - memchr
    - TRACE_LEAVE
    - b_size
    - spoe_skip_data
    - decode_varint
    - b_slow_realign_ofs
    - spoe_check_vsn
    - SPOP_SLEN
    - strlen
    - b_contig_data
    - TRACE_DEVEL
    - b_data
    - spop_conn_error
    - isspace
    - spop_wake_unassigned_streams
    - TRACE_PROTO
    - b_del
    - b_head_ofs
    - TRACE_STATE
    - unlikely
    - memcmp
    - spoe_decode_buffer
    linkageType: ''
    returnType: int
    signature: spop_conn_handle_hello(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:1802,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:1807,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:1811,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:1812,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_spop.c:1816,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/mux_spop.c:1816,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_spop.c:1816,1
    - Dst: b_slow_realign_ofs
      Src: /src/haproxy/src/mux_spop.c:1821,1
    - Dst: b_head
      Src: /src/haproxy/src/mux_spop.c:1824,1
    - Dst: spoe_decode_buffer
      Src: /src/haproxy/src/mux_spop.c:1837,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1839,1
    - Dst: strlen
      Src: /src/haproxy/src/mux_spop.c:1844,1
    - Dst: memcmp
      Src: /src/haproxy/src/mux_spop.c:1844,1
    - Dst: strlen
      Src: /src/haproxy/src/mux_spop.c:1844,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1852,1
    - Dst: decode_varint
      Src: /src/haproxy/src/mux_spop.c:1855,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1856,1
    - Dst: spoe_skip_data
      Src: /src/haproxy/src/mux_spop.c:1880,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1881,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_spop.c:1887,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_spop.c:1888,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:1890,1
    - Dst: spop_wake_some_streams
      Src: /src/haproxy/src/mux_spop.c:1892,1
    - Dst: spop_conn_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:1893,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:1894,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:1898,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:1899,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 1901
      start: 1795
    functionDepth: 7
    functionLinenumber: 1795
    functionLinenumberEnd: 1901
    functionName: spop_conn_handle_disconnect
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - b_head
    - TRACE_LEAVE
    - b_size
    - spop_wake_some_streams
    - spoe_skip_data
    - decode_varint
    - b_slow_realign_ofs
    - strlen
    - b_contig_data
    - TRACE_DEVEL
    - b_data
    - spop_conn_error
    - spop_conn_report_term_evt
    - TRACE_PROTO
    - b_del
    - b_head_ofs
    - TRACE_STATE
    - unlikely
    - memcmp
    - spoe_decode_buffer
    linkageType: ''
    returnType: int
    signature: spop_conn_handle_disconnect(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:1913,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:1918,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:1922,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:1923,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_spop.c:1927,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/mux_spop.c:1927,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_spop.c:1927,1
    - Dst: b_slow_realign_ofs
      Src: /src/haproxy/src/mux_spop.c:1932,1
    - Dst: spop_get_buf
      Src: /src/haproxy/src/mux_spop.c:1936,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:1939,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_spop.c:1945,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:1947,1
    - Dst: b_putchr
      Src: /src/haproxy/src/mux_spop.c:1950,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_spop.c:1963,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:1965,1
    - Dst: b_xfer
      Src: /src/haproxy/src/mux_spop.c:1969,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_spop.c:1970,1
    - Dst: spop_strm_close
      Src: /src/haproxy/src/mux_spop.c:1978,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_spop.c:1981,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:1983,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:1987,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 2
    argNames:
    - spop_conn
    - spop_strm
    argTypes:
    - struct spop_conn*
    - struct spop_strm*
    constantsTouched: []
    func_position:
      end: 1989
      start: 1908
    functionDepth: 3
    functionLinenumber: 1908
    functionLinenumberEnd: 1989
    functionName: spop_conn_handle_ack
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - b_room
    - TRACE_LEAVE
    - b_putchr
    - TRACE_ENTER
    - spop_strm_close
    - TRACE_PROTO
    - b_contig_data
    - spop_get_buf
    - TRACE_DEVEL
    - b_data
    - b_size
    - b_head_ofs
    - TRACE_STATE
    - unlikely
    - BUG_ON
    - b_slow_realign_ofs
    - b_xfer
    linkageType: ''
    returnType: int
    signature: spop_conn_handle_ack(struct spop_conn *spop_conn, struct spop_strm
      *spop_strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:1996,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_spop.c:2012,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_spop.c:2018,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:2025,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - spop_conn
    - head
    argTypes:
    - struct spop_conn*
    - struct list*
    constantsTouched: []
    func_position:
      end: 2026
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 2026
    functionName: spop_resume_each_sending_spop_strm
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - tasklet_wakeup
    - LIST_DEL_INIT
    linkageType: ''
    returnType: void
    signature: spop_resume_each_sending_spop_strm(struct spop_conn *spop_conn, struct
      list *head)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_spop.c:2041,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_spop.c:2044,1
    - Dst: spop_resume_each_sending_spop_strm
      Src: /src/haproxy/src/mux_spop.c:2047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - spop_strm
    argTypes:
    - struct spop_strm*
    constantsTouched: []
    func_position:
      end: 2049
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2049
    functionName: spop_remove_from_list
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 1
    functionsReached:
    - LIST_INLIST
    - spop_resume_each_sending_spop_strm
    - LIST_DEL_INIT
    linkageType: ''
    returnType: void
    signature: spop_remove_from_list(struct spop_strm *spop_strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:2058,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_spop.c:2063,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2065,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2070,1
    - Dst: spop_get_frame_hdr
      Src: /src/haproxy/src/mux_spop.c:2071,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:2073,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:2078,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:2080,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2081,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:2086,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:2088,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2089,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2101,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2102,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2108,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_spop.c:2113,1
    - Dst: spop_get_frame_hdr
      Src: /src/haproxy/src/mux_spop.c:2114,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:2120,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:2121,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2122,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2133,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:2137,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:2138,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2139,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:2143,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:2144,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2145,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:2149,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:2150,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2151,1
    - Dst: spop_conn_st_by_id
      Src: /src/haproxy/src/mux_spop.c:2157,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:2158,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2159,1
    - Dst: spop_conn_read0_pending
      Src: /src/haproxy/src/mux_spop.c:2160,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_spop.c:2163,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2165,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_spop.c:2166,1
    - Dst: spop_strm_notify_recv
      Src: /src/haproxy/src/mux_spop.c:2167,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:2174,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:2175,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2176,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:2186,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:2187,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2188,1
    - Dst: spop_conn_error
      Src: /src/haproxy/src/mux_spop.c:2197,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:2198,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2199,1
    - Dst: spop_conn_handle_hello
      Src: /src/haproxy/src/mux_spop.c:2211,1
    - Dst: spop_conn_handle_disconnect
      Src: /src/haproxy/src/mux_spop.c:2215,1
    - Dst: spop_conn_handle_ack
      Src: /src/haproxy/src/mux_spop.c:2219,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_spop.c:2223,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_spop.c:2225,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2225,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_spop.c:2226,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_spop.c:2235,1
    - Dst: spop_conn_send_disconnect
      Src: /src/haproxy/src/mux_spop.c:2236,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2245,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_spop.c:2246,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2246,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_spop.c:2247,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2251,1
    - Dst: spop_conn_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:2264,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_spop.c:2264,1
    - Dst: spop_conn_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:2268,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_spop.c:2268,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:2272,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2273,1
    - Dst: spop_conn_read0_pending
      Src: /src/haproxy/src/mux_spop.c:2274,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_spop.c:2277,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2279,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_spop.c:2280,1
    - Dst: spop_strm_notify_recv
      Src: /src/haproxy/src/mux_spop.c:2281,1
    - Dst: spop_conn_restart_reading
      Src: /src/haproxy/src/mux_spop.c:2284,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:2286,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 189
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 2288
      start: 2053
    functionDepth: 8
    functionLinenumber: 2053
    functionLinenumberEnd: 2288
    functionName: spop_process_demux
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - spop_conn_restart_reading
    - eb_is_empty
    - spop_conn_handle_hello
    - spop_conn_read0_pending
    - spop_conn_st_by_id
    - TRACE_LEAVE
    - se_fl_test
    - spop_get_frame_hdr
    - b_data
    - TRACE_DEVEL
    - spop_conn_error
    - spop_conn_handle_disconnect
    - spop_strm_sc
    - spop_conn_report_term_evt
    - TRACE_PROTO
    - spop_conn_handle_ack
    - b_del
    - spop_conn_send_disconnect
    - se_fl_set
    - TRACE_ERROR
    - TRACE_STATE
    - unlikely
    - MIN
    - spop_strm_notify_recv
    linkageType: ''
    returnType: void
    signature: spop_process_demux(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:2296,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_spop.c:2298,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_spop.c:2299,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_spop.c:2300,1
    - Dst: unlikely
      Src: /src/haproxy/src/mux_spop.c:2301,1
    - Dst: spop_conn_send_hello
      Src: /src/haproxy/src/mux_spop.c:2301,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2304,1
    - Dst: spop_resume_each_sending_spop_strm
      Src: /src/haproxy/src/mux_spop.c:2312,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:2318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 2320
      start: 2294
    functionDepth: 3
    functionLinenumber: 2294
    functionLinenumberEnd: 2320
    functionName: spop_process_mux
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - TRACE_PROTO
    - spop_resume_each_sending_spop_strm
    - TRACE_STATE
    - unlikely
    - spop_conn_send_hello
    linkageType: ''
    returnType: int
    signature: spop_process_mux(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:2332,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2335,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2336,1
    - Dst: spop_recv_allowed
      Src: /src/haproxy/src/mux_spop.c:2339,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2340,1
    - Dst: spop_get_buf
      Src: /src/haproxy/src/mux_spop.c:2344,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2346,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_spop.c:2351,1
    - Dst: struct connection*::xprt::rcv_buf
      Src: /src/haproxy/src/mux_spop.c:2352,1
    - Dst: spop_recv_allowed
      Src: /src/haproxy/src/mux_spop.c:2354,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_spop.c:2355,1
    - Dst: struct connection*::xprt::subscribe
      Src: /src/haproxy/src/mux_spop.c:2356,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_spop.c:2359,1
    - Dst: conn_xprt_read0_pending
      Src: /src/haproxy/src/mux_spop.c:2361,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_spop.c:2362,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_spop.c:2366,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2370,1
    - Dst: spop_release_buf
      Src: /src/haproxy/src/mux_spop.c:2371,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2376,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:2381,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 2383
      start: 2325
    functionDepth: 2
    functionLinenumber: 2325
    functionLinenumberEnd: 2383
    functionName: spop_recv
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - b_room
    - TRACE_DATA
    - spop_release_buf
    - TRACE_LEAVE
    - conn_xprt_read0_pending
    - TRACE_ENTER
    - struct connection*::xprt::subscribe
    - spop_get_buf
    - b_data
    - TRACE_DEVEL
    - struct connection*::xprt::rcv_buf
    - spop_recv_allowed
    linkageType: ''
    returnType: int
    signature: spop_recv(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:2394,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2397,1
    - Dst: b_reset
      Src: /src/haproxy/src/mux_spop.c:2400,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_spop.c:2400,1
    - Dst: spop_process_mux
      Src: /src/haproxy/src/mux_spop.c:2437,1
    - Dst: br_head
      Src: /src/haproxy/src/mux_spop.c:2448,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:2448,1
    - Dst: br_del_head
      Src: /src/haproxy/src/mux_spop.c:2448,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2449,1
    - Dst: struct connection*::xprt::snd_buf
      Src: /src/haproxy/src/mux_spop.c:2452,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2452,1
    - Dst: TRACE_DATA
      Src: /src/haproxy/src/mux_spop.c:2458,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_spop.c:2459,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2460,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_spop.c:2465,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_spop.c:2470,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2474,1
    - Dst: spop_conn_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:2480,1
    - Dst: b_reset
      Src: /src/haproxy/src/mux_spop.c:2483,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_spop.c:2483,1
    - Dst: spop_resume_each_sending_spop_strm
      Src: /src/haproxy/src/mux_spop.c:2491,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_spop.c:2495,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2496,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:2501,1
    - Dst: struct connection*::xprt::subscribe
      Src: /src/haproxy/src/mux_spop.c:2502,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2505,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 2508
      start: 2388
    functionDepth: 4
    functionLinenumber: 2388
    functionLinenumberEnd: 2508
    functionName: spop_send
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_DATA
    - TRACE_ENTER
    - struct connection*::xprt::subscribe
    - br_del_head
    - b_free
    - spop_process_mux
    - offer_buffers
    - struct connection*::xprt::snd_buf
    - b_reset
    - b_size
    - br_data
    - TRACE_DEVEL
    - b_data
    - br_head
    - br_tail
    - spop_conn_report_term_evt
    - b_del
    - spop_resume_each_sending_spop_strm
    - TRACE_STATE
    linkageType: ''
    returnType: int
    signature: spop_send(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_spop.c:2524,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_spop.c:2530,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_spop.c:2531,1
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_spop.c:2535,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/mux_spop.c:2539,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_spop.c:2541,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:2545,1
    - Dst: spop_send
      Src: /src/haproxy/src/mux_spop.c:2550,1
    - Dst: spop_recv
      Src: /src/haproxy/src/mux_spop.c:2552,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2553,1
    - Dst: spop_process
      Src: /src/haproxy/src/mux_spop.c:2554,1
    - Dst: __objt_server
      Src: /src/haproxy/src/mux_spop.c:2565,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_spop.c:2567,1
    - Dst: _srv_add_idle
      Src: /src/haproxy/src/mux_spop.c:2568,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_spop.c:2569,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - t
    - ctx
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2572
      start: 2512
    functionDepth: 5
    functionLinenumber: 2512
    functionLinenumberEnd: 2572
    functionName: spop_io_cb
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_POINT
    - tasklet_free
    - TRACE_ENTER
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - __objt_server
    - spop_recv
    - spop_process
    - b_data
    - _srv_add_idle
    - spop_send
    - conn_delete_from_tree
    linkageType: ''
    returnType: struct task
    signature: '*spop_io_cb(struct task *t, void *ctx, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_spop.c:2582,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2585,1
    - Dst: spop_process_demux
      Src: /src/haproxy/src/mux_spop.c:2586,1
    - Dst: b_reset
      Src: /src/haproxy/src/mux_spop.c:2589,1
    - Dst: b_room
      Src: /src/haproxy/src/mux_spop.c:2591,1
    - Dst: spop_send
      Src: /src/haproxy/src/mux_spop.c:2594,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/mux_spop.c:2606,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_spop.c:2609,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:2610,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_spop.c:2610,1
    - Dst: spop_strm_notify_recv
      Src: /src/haproxy/src/mux_spop.c:2611,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_spop.c:2612,1
    - Dst: spop_conn_read0_pending
      Src: /src/haproxy/src/mux_spop.c:2616,1
    - Dst: spop_wake_some_streams
      Src: /src/haproxy/src/mux_spop.c:2618,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_spop.c:2620,1
    - Dst: spop_release
      Src: /src/haproxy/src/mux_spop.c:2622,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2623,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_spop.c:2629,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/mux_spop.c:2630,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_spop.c:2631,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2635,1
    - Dst: spop_release_buf
      Src: /src/haproxy/src/mux_spop.c:2636,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_spop.c:2639,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_spop.c:2639,1
    - Dst: spop_release_mbuf
      Src: /src/haproxy/src/mux_spop.c:2640,1
    - Dst: spop_conn_update_timeout
      Src: /src/haproxy/src/mux_spop.c:2642,1
    - Dst: spop_send
      Src: /src/haproxy/src/mux_spop.c:2643,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:2644,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 1
    argNames:
    - spop_conn
    argTypes:
    - struct spop_conn*
    constantsTouched: []
    func_position:
      end: 2646
      start: 2578
    functionDepth: 9
    functionLinenumber: 2578
    functionLinenumberEnd: 2646
    functionName: spop_process
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 1
    functionsReached:
    - b_room
    - eb_is_empty
    - eb32_next
    - spop_conn_read0_pending
    - TRACE_LEAVE
    - se_fl_test
    - LIST_ISEMPTY
    - spop_release_mbuf
    - spop_conn_update_timeout
    - spop_process_demux
    - b_reset
    - spop_wake_some_streams
    - spop_send
    - TRACE_POINT
    - spop_release_buf
    - br_data
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - eb32_lookup_ge
    - b_data
    - TRACE_DEVEL
    - conn_delete_from_tree
    - spop_strm_sc
    - container_of
    - spop_release
    - spop_strm_notify_recv
    linkageType: ''
    returnType: int
    signature: spop_process(struct spop_conn *spop_conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_spop.c:2653,1
    - Dst: spop_process
      Src: /src/haproxy/src/mux_spop.c:2654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 2655
      start: 2649
    functionDepth: 10
    functionLinenumber: 2649
    functionLinenumberEnd: 2655
    functionName: spop_wake
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - spop_process
    - TRACE_POINT
    linkageType: ''
    returnType: int
    signature: spop_wake(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - conn
    - mux_ctl
    - output
    argTypes:
    - struct connection*
    - enum mux_ctl_type
    - void*
    constantsTouched: []
    func_position:
      end: 2678
      start: 2657
    functionDepth: 0
    functionLinenumber: 2657
    functionLinenumberEnd: 2678
    functionName: spop_ctl
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: spop_ctl(struct connection *conn, enum mux_ctl_type mux_ctl, void *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_spop.c:2683,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/mux_spop.c:2694,1
    - Dst: spop_dump_spop_strm_info
      Src: /src/haproxy/src/mux_spop.c:2697,1
    - Dst: spop_dump_spop_conn_info
      Src: /src/haproxy/src/mux_spop.c:2700,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:2703,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_spop.c:2705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - sc
    - mux_sctl
    - output
    argTypes:
    - struct stconn*
    - enum mux_sctl_type
    - void*
    constantsTouched: []
    func_position:
      end: 2715
      start: 2680
    functionDepth: 2
    functionLinenumber: 2680
    functionLinenumberEnd: 2715
    functionName: spop_sctl
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - tevt_evts2str
    - __sc_mux_strm
    - chunk_appendf
    - get_trash_chunk
    - spop_dump_spop_strm_info
    - spop_dump_spop_conn_info
    linkageType: ''
    returnType: int
    signature: spop_sctl(struct stconn *sc, enum mux_sctl_type mux_sctl, void *output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:2728,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/mux_spop.c:2731,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_spop.c:2737,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_spop.c:2743,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2744,1
    - Dst: conn_delete_from_tree
      Src: /src/haproxy/src/mux_spop.c:2752,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/mux_spop.c:2754,1
    - Dst: spop_conn_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:2756,1
    - Dst: task_destroy
      Src: /src/haproxy/src/mux_spop.c:2760,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2764,1
    - Dst: spop_wake_some_streams
      Src: /src/haproxy/src/mux_spop.c:2770,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_spop.c:2772,1
    - Dst: spop_conn_send_disconnect
      Src: /src/haproxy/src/mux_spop.c:2779,1
    - Dst: br_data
      Src: /src/haproxy/src/mux_spop.c:2782,1
    - Dst: conn_xprt_ready
      Src: /src/haproxy/src/mux_spop.c:2783,1
    - Dst: br_head
      Src: /src/haproxy/src/mux_spop.c:2787,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:2787,1
    - Dst: br_del_head
      Src: /src/haproxy/src/mux_spop.c:2787,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2788,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_spop.c:2793,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:2794,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_spop.c:2796,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_spop.c:2802,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_spop.c:2809,1
    - Dst: spop_release
      Src: /src/haproxy/src/mux_spop.c:2810,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:2812,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2814
      start: 2723
    functionDepth: 7
    functionLinenumber: 2723
    functionLinenumberEnd: 2814
    functionName: spop_timeout_task
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - eb_is_empty
    - br_del_head
    - TRACE_LEAVE
    - b_free
    - offer_buffers
    - b_size
    - spop_wake_some_streams
    - conn_xprt_ready
    - br_data
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - TRACE_DEVEL
    - b_data
    - conn_delete_from_tree
    - br_head
    - spop_conn_report_term_evt
    - spop_release
    - b_del
    - spop_conn_send_disconnect
    - task_destroy
    linkageType: ''
    returnType: struct task
    signature: '*spop_timeout_task(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - out
    - es
    argTypes:
    - struct buffer*
    - struct error_snapshot*
    constantsTouched: []
    func_position:
      end: 2829
      start: 2825
    functionDepth: 0
    functionLinenumber: 2825
    functionLinenumberEnd: 2829
    functionName: spop_show_error_snapshot
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __maybe_unused
    signature: spop_show_error_snapshot(struct buffer *out, const struct error_snapshot
      *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - spop_conn
    - spop_strm
    - buf
    argTypes:
    - struct spop_conn*
    - struct spop_strm*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 2842
      start: 2838
    functionDepth: 0
    functionLinenumber: 2838
    functionLinenumberEnd: 2842
    functionName: spop_strm_capture_bad_message
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: __maybe_unused
    signature: "spop_strm_capture_bad_message(struct spop_conn *spop_conn, struct
      spop_strm *spop_strm,\n\t\t\t\t\t\t\t struct buffer *buf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:2856,1
    - Dst: spop_stconn_new
      Src: /src/haproxy/src/mux_spop.c:2857,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/mux_spop.c:2862,1
    - Dst: xprt_set_used
      Src: /src/haproxy/src/mux_spop.c:2863,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:2865,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - conn
    - sd
    - sess
    argTypes:
    - struct connection*
    - struct sedesc*
    - struct session*
    constantsTouched: []
    func_position:
      end: 2871
      start: 2851
    functionDepth: 5
    functionLinenumber: 2851
    functionLinenumberEnd: 2871
    functionName: spop_attach
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - HA_ATOMIC_AND
    - TRACE_ENTER
    - spop_stconn_new
    - xprt_set_used
    - TRACE_DEVEL
    linkageType: ''
    returnType: int
    signature: spop_attach(struct connection *conn, struct sedesc *sd, struct session
      *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_first
      Src: /src/haproxy/src/mux_spop.c:2884,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_spop.c:2886,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:2887,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:2888,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_spop.c:2889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 2892
      start: 2878
    functionDepth: 1
    functionLinenumber: 2878
    functionLinenumberEnd: 2892
    functionName: spop_get_first_sc
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - spop_strm_sc
    - eb32_next
    - container_of
    - eb32_first
    linkageType: ''
    returnType: struct stconn
    signature: '*spop_get_first_sc(const struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_POINT
      Src: /src/haproxy/src/mux_spop.c:2901,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_spop.c:2902,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_spop.c:2903,1
    - Dst: spop_release
      Src: /src/haproxy/src/mux_spop.c:2904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2906
      start: 2897
    functionDepth: 4
    functionLinenumber: 2897
    functionLinenumberEnd: 2906
    functionName: spop_destroy
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - spop_release
    - TRACE_POINT
    - BUG_ON
    - eb_is_empty
    linkageType: ''
    returnType: void
    signature: spop_destroy(void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:2917,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:2920,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2938,1
    - Dst: tick_isset
      Src: /src/haproxy/src/mux_spop.c:2942,1
    - Dst: spop_conn_update_timeout
      Src: /src/haproxy/src/mux_spop.c:2943,1
    - Dst: spop_conn_restart_reading
      Src: /src/haproxy/src/mux_spop.c:2951,1
    - Dst: spop_strm_destroy
      Src: /src/haproxy/src/mux_spop.c:2954,1
    - Dst: session_add_conn
      Src: /src/haproxy/src/mux_spop.c:2959,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_spop.c:2961,1
    - Dst: struct spop_conn*::conn::mux::destroy
      Src: /src/haproxy/src/mux_spop.c:2962,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2963,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_spop.c:2967,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/mux_spop.c:2971,1
    - Dst: session_check_idle_conn
      Src: /src/haproxy/src/mux_spop.c:2972,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2974,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/mux_spop.c:2980,1
    - Dst: session_unown_conn
      Src: /src/haproxy/src/mux_spop.c:2985,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/mux_spop.c:2992,1
    - Dst: xprt_set_idle
      Src: /src/haproxy/src/mux_spop.c:2993,1
    - Dst: srv_add_to_idle_list
      Src: /src/haproxy/src/mux_spop.c:2995,1
    - Dst: objt_server
      Src: /src/haproxy/src/mux_spop.c:2995,1
    - Dst: struct spop_conn*::conn::mux::destroy
      Src: /src/haproxy/src/mux_spop.c:2997,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:2998,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3005,1
    - Dst: spop_avail_streams
      Src: /src/haproxy/src/mux_spop.c:3009,1
    - Dst: objt_server
      Src: /src/haproxy/src/mux_spop.c:3009,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_spop.c:3010,1
    - Dst: srv_add_to_avail_list
      Src: /src/haproxy/src/mux_spop.c:3011,1
    - Dst: __objt_server
      Src: /src/haproxy/src/mux_spop.c:3011,1
    - Dst: spop_conn_is_dead
      Src: /src/haproxy/src/mux_spop.c:3019,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3021,1
    - Dst: spop_release
      Src: /src/haproxy/src/mux_spop.c:3022,1
    - Dst: spop_conn_update_timeout
      Src: /src/haproxy/src/mux_spop.c:3025,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3026,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3029,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 1
    argNames:
    - sd
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 3030
      start: 2911
    functionDepth: 4
    functionLinenumber: 2911
    functionLinenumberEnd: 3030
    functionName: spop_detach
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - srv_add_to_avail_list
    - session_unown_conn
    - TRACE_ENTER
    - spop_conn_restart_reading
    - eb_is_empty
    - TRACE_LEAVE
    - spop_conn_update_timeout
    - __objt_server
    - LIST_INLIST
    - xprt_set_idle
    - objt_server
    - session_add_conn
    - TRACE_DEVEL
    - struct spop_conn*::conn::mux::destroy
    - spop_strm_destroy
    - spop_release
    - spop_avail_streams
    - tick_isset
    - srv_add_to_idle_list
    - session_check_idle_conn
    - HA_ATOMIC_OR
    - spop_conn_is_dead
    linkageType: ''
    returnType: void
    signature: spop_detach(struct sedesc *sd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:3037,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_spop.c:3046,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:3048,1
    - Dst: spop_strm_close
      Src: /src/haproxy/src/mux_spop.c:3052,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_spop.c:3055,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:3057,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - spop_strm
    argTypes:
    - struct spop_strm*
    constantsTouched: []
    func_position:
      end: 3059
      start: 3033
    functionDepth: 2
    functionLinenumber: 3033
    functionLinenumberEnd: 3059
    functionName: spop_do_shutr
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - se_fl_test
    - TRACE_ENTER
    - spop_strm_close
    - tasklet_wakeup
    - TRACE_STATE
    linkageType: ''
    returnType: void
    signature: spop_do_shutr(struct spop_strm *spop_strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:3066,1
    - Dst: spop_strm_close
      Src: /src/haproxy/src/mux_spop.c:3074,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_spop.c:3080,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:3081,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_spop.c:3087,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:3089,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - spop_strm
    argTypes:
    - struct spop_strm*
    constantsTouched: []
    func_position:
      end: 3091
      start: 3062
    functionDepth: 2
    functionLinenumber: 3062
    functionLinenumberEnd: 3091
    functionName: spop_do_shutw
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - se_fl_test
    - TRACE_ENTER
    - spop_strm_close
    - tasklet_wakeup
    - TRACE_STATE
    linkageType: ''
    returnType: void
    signature: spop_do_shutw(struct spop_strm *spop_strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_spop.c:3096,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:3098,1
    - Dst: spop_do_shutw
      Src: /src/haproxy/src/mux_spop.c:3100,1
    - Dst: spop_do_shutr
      Src: /src/haproxy/src/mux_spop.c:3102,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:3103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sc
    - mode
    - reason
    argTypes:
    - struct stconn*
    - enum se_shut_mode
    - struct se_abort_info*
    constantsTouched: []
    func_position:
      end: 3104
      start: 3094
    functionDepth: 3
    functionLinenumber: 3094
    functionLinenumberEnd: 3104
    functionName: spop_shut
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - __sc_mux_strm
    - TRACE_ENTER
    - spop_do_shutw
    - spop_do_shutr
    linkageType: ''
    returnType: void
    signature: spop_shut(struct stconn *sc, enum se_shut_mode mode, struct se_abort_info
      *reason)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_spop.c:3113,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_spop.c:3116,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_spop.c:3117,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3123,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3126,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_spop.c:3127,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/mux_spop.c:3128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - sc
    - event_type
    - es
    argTypes:
    - struct stconn*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 3131
      start: 3111
    functionDepth: 1
    functionLinenumber: 3111
    functionLinenumberEnd: 3131
    functionName: spop_subscribe
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - __sc_mux_strm
    - LIST_APPEND
    - TRACE_DEVEL
    - LIST_INLIST
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: spop_subscribe(struct stconn *sc, int event_type, struct wait_event
      *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_spop.c:3139,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_spop.c:3142,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_spop.c:3143,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3150,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3153,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/mux_spop.c:3155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - sc
    - event_type
    - es
    argTypes:
    - struct stconn*
    - int
    - struct wait_event*
    constantsTouched: []
    func_position:
      end: 3158
      start: 3137
    functionDepth: 1
    functionLinenumber: 3137
    functionLinenumberEnd: 3158
    functionName: spop_unsubscribe
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_DEVEL
    - BUG_ON
    - __sc_mux_strm
    - LIST_DEL_INIT
    linkageType: ''
    returnType: int
    signature: spop_unsubscribe(struct stconn *sc, int event_type, struct wait_event
      *es)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:3175,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_spop.c:3177,1
    - Dst: spop_get_buf
      Src: /src/haproxy/src/mux_spop.c:3179,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:3182,1
    - Dst: b_make
      Src: /src/haproxy/src/mux_spop.c:3188,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_spop.c:3188,1
    - Dst: b_contig_space
      Src: /src/haproxy/src/mux_spop.c:3188,1
    - Dst: b_space_wraps
      Src: /src/haproxy/src/mux_spop.c:3189,1
    - Dst: b_slow_realign
      Src: /src/haproxy/src/mux_spop.c:3192,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:3192,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_spop.c:3199,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_spop.c:3202,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:3203,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:3203,1
    - Dst: encode_varint
      Src: /src/haproxy/src/mux_spop.c:3205,1
    - Dst: encode_varint
      Src: /src/haproxy/src/mux_spop.c:3207,1
    - Dst: memcpy
      Src: /src/haproxy/src/mux_spop.c:3213,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_spop.c:3213,1
    - Dst: b_tail
      Src: /src/haproxy/src/mux_spop.c:3216,1
    - Dst: TRACE_PROTO
      Src: /src/haproxy/src/mux_spop.c:3219,1
    - Dst: spop_set_frame_size
      Src: /src/haproxy/src/mux_spop.c:3220,1
    - Dst: b_add
      Src: /src/haproxy/src/mux_spop.c:3222,1
    - Dst: b_del
      Src: /src/haproxy/src/mux_spop.c:3223,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:3227,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:3231,1
    - Dst: TRACE_ERROR
      Src: /src/haproxy/src/mux_spop.c:3232,1
    - Dst: spop_strm_error
      Src: /src/haproxy/src/mux_spop.c:3233,1
    - Dst: br_tail_add
      Src: /src/haproxy/src/mux_spop.c:3237,1
    - Dst: TRACE_STATE
      Src: /src/haproxy/src/mux_spop.c:3241,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3245,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 72
    argCount: 3
    argNames:
    - spop_strm
    - buf
    - count
    argTypes:
    - struct spop_strm*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 3247
      start: 3166
    functionDepth: 2
    functionLinenumber: 3166
    functionLinenumberEnd: 3247
    functionName: spop_strm_send_notify
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - spop_get_buf
    - b_contig_space
    - b_orig
    - TRACE_LEAVE
    - br_tail_add
    - b_peek
    - b_tail
    - b_size
    - encode_varint
    - spop_strm_error
    - spop_set_frame_size
    - b_slow_realign
    - b_data
    - TRACE_DEVEL
    - b_space_wraps
    - br_tail
    - b_make
    - TRACE_PROTO
    - b_add
    - b_del
    - TRACE_ERROR
    - TRACE_STATE
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: spop_strm_send_notify(struct spop_strm *spop_strm, struct buffer *buf,
      size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_spop.c:3263,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:3267,1
    - Dst: b_xfer
      Src: /src/haproxy/src/mux_spop.c:3269,1
    - Dst: MIN
      Src: /src/haproxy/src/mux_spop.c:3269,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:3269,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:3270,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_spop.c:3271,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/mux_spop.c:3273,1
    - Dst: spop_strm_propagate_term_flags
      Src: /src/haproxy/src/mux_spop.c:3274,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:3275,1
    - Dst: b_free
      Src: /src/haproxy/src/mux_spop.c:3276,1
    - Dst: offer_buffers
      Src: /src/haproxy/src/mux_spop.c:3277,1
    - Dst: spop_conn_restart_reading
      Src: /src/haproxy/src/mux_spop.c:3284,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:3287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - sc
    - buf
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 3289
      start: 3261
    functionDepth: 3
    functionLinenumber: 3261
    functionLinenumberEnd: 3289
    functionName: spop_rcv_buf
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - b_free
    - __sc_mux_strm
    - TRACE_ENTER
    - se_fl_clr
    - spop_conn_restart_reading
    - spop_strm_propagate_term_flags
    - offer_buffers
    - se_fl_set
    - b_data
    - b_size
    - MIN
    - b_xfer
    linkageType: ''
    returnType: size_t
    signature: spop_rcv_buf(struct stconn *sc, struct buffer *buf, size_t count, int
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_mux_strm
      Src: /src/haproxy/src/mux_spop.c:3298,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/mux_spop.c:3303,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/mux_spop.c:3309,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_spop.c:3310,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3311,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3313,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3322,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_spop.c:3327,1
    - Dst: se_report_term_evt
      Src: /src/haproxy/src/mux_spop.c:3328,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3329,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/mux_spop.c:3338,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3339,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/mux_spop.c:3344,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/mux_spop.c:3349,1
    - Dst: b_peek
      Src: /src/haproxy/src/mux_spop.c:3353,1
    - Dst: spop_strm_send_notify
      Src: /src/haproxy/src/mux_spop.c:3357,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3364,1
    - Dst: spop_strm_error
      Src: /src/haproxy/src/mux_spop.c:3366,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3378,1
    - Dst: se_fl_set_error
      Src: /src/haproxy/src/mux_spop.c:3379,1
    - Dst: spop_strm_close
      Src: /src/haproxy/src/mux_spop.c:3380,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3385,1
    - Dst: spop_send
      Src: /src/haproxy/src/mux_spop.c:3386,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/mux_spop.c:3387,1
    - Dst: spop_remove_from_list
      Src: /src/haproxy/src/mux_spop.c:3394,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/src/mux_spop.c:3395,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/mux_spop.c:3398,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 4
    argNames:
    - sc
    - buf
    - count
    - flags
    argTypes:
    - struct stconn*
    - struct buffer*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 3400
      start: 3296
    functionDepth: 5
    functionLinenumber: 3296
    functionLinenumberEnd: 3400
    functionName: spop_snd_buf
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - eb32_delete
    - __sc_mux_strm
    - LIST_ISEMPTY
    - se_fl_set_error
    - TRACE_ENTER
    - eb32_insert
    - b_peek
    - spop_strm_error
    - spop_strm_close
    - tasklet_wakeup
    - spop_strm_send_notify
    - se_fl_set
    - TRACE_DEVEL
    - spop_remove_from_list
    - se_report_term_evt
    - LIST_INLIST
    - spop_send
    linkageType: ''
    returnType: size_t
    signature: spop_snd_buf(struct stconn *sc, struct buffer *buf, size_t count, int
      flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3414,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:3416,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:3416,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_spop.c:3417,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:3417,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:3418,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3421,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3423,1
    - Dst: se_fl_get
      Src: /src/haproxy/src/mux_spop.c:3423,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_spop.c:3423,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/mux_spop.c:3424,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3425,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:3426,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:3426,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_spop.c:3426,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:3426,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3429,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3431,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3433,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3434,1
    - Dst: resolve_sym_name
      Src: /src/haproxy/src/mux_spop.c:3439,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3440,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - msg
    - spop_strm
    - pfx
    argTypes:
    - struct buffer*
    - struct spop_strm*
    - char*
    constantsTouched: []
    func_position:
      end: 3443
      start: 3407
    functionDepth: 6
    functionLinenumber: 3407
    functionLinenumberEnd: 3443
    functionName: spop_dump_spop_strm_info
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 1
    functionsReached:
    - spop_strm_sc
    - tevt_evts2str
    - se_fl_test
    - se_fl_get
    - chunk_appendf
    - b_data
    - b_size
    - b_head_ofs
    - b_orig
    - resolve_sym_name
    linkageType: ''
    returnType: int
    signature: spop_dump_spop_strm_info(struct buffer *msg, const struct spop_strm
      *spop_strm, const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/mux_spop.c:3463,1
    - Dst: eb32_first
      Src: /src/haproxy/src/mux_spop.c:3467,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_spop.c:3469,1
    - Dst: spop_strm_sc
      Src: /src/haproxy/src/mux_spop.c:3471,1
    - Dst: eb32_next
      Src: /src/haproxy/src/mux_spop.c:3473,1
    - Dst: br_head
      Src: /src/haproxy/src/mux_spop.c:3476,1
    - Dst: br_tail
      Src: /src/haproxy/src/mux_spop.c:3477,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3478,1
    - Dst: tevt_evts2str
      Src: /src/haproxy/src/mux_spop.c:3481,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3484,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3486,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:3488,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:3488,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_spop.c:3489,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:3489,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3493,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3495,1
    - Dst: br_head_idx
      Src: /src/haproxy/src/mux_spop.c:3496,1
    - Dst: br_tail_idx
      Src: /src/haproxy/src/mux_spop.c:3496,1
    - Dst: br_size
      Src: /src/haproxy/src/mux_spop.c:3496,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:3497,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:3497,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_spop.c:3498,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:3498,1
    - Dst: b_data
      Src: /src/haproxy/src/mux_spop.c:3499,1
    - Dst: b_orig
      Src: /src/haproxy/src/mux_spop.c:3499,1
    - Dst: b_head_ofs
      Src: /src/haproxy/src/mux_spop.c:3500,1
    - Dst: b_size
      Src: /src/haproxy/src/mux_spop.c:3500,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3502,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3504,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/mux_spop.c:3505,1
    - Dst: human_time
      Src: /src/haproxy/src/mux_spop.c:3506,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/mux_spop.c:3506,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/mux_spop.c:3506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - msg
    - spop_conn
    - pfx
    argTypes:
    - struct buffer*
    - struct spop_conn*
    - char*
    constantsTouched: []
    func_position:
      end: 3510
      start: 3450
    functionDepth: 1
    functionLinenumber: 3450
    functionLinenumberEnd: 3510
    functionName: spop_dump_spop_conn_info
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 1
    functionsReached:
    - TICKS_TO_MS
    - eb32_next
    - human_time
    - b_orig
    - list_for_each_entry
    - chunk_appendf
    - b_size
    - br_tail_idx
    - tevt_evts2str
    - tick_is_expired
    - br_head_idx
    - b_data
    - spop_strm_sc
    - container_of
    - br_head
    - br_tail
    - br_size
    - b_head_ofs
    - eb32_first
    linkageType: ''
    returnType: int
    signature: spop_dump_spop_conn_info(struct buffer *msg, struct spop_conn *spop_conn,
      const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: spop_dump_spop_conn_info
      Src: /src/haproxy/src/mux_spop.c:3523,1
    - Dst: eb32_first
      Src: /src/haproxy/src/mux_spop.c:3525,1
    - Dst: container_of
      Src: /src/haproxy/src/mux_spop.c:3527,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3528,1
    - Dst: spop_dump_spop_strm_info
      Src: /src/haproxy/src/mux_spop.c:3529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - msg
    - conn
    argTypes:
    - struct buffer*
    - struct connection*
    constantsTouched: []
    func_position:
      end: 3533
      start: 3513
    functionDepth: 7
    functionLinenumber: 3513
    functionLinenumberEnd: 3533
    functionName: spop_show_fd
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - container_of
    - chunk_appendf
    - spop_dump_spop_strm_info
    - eb32_first
    - spop_dump_spop_conn_info
    linkageType: ''
    returnType: int
    signature: spop_show_fd(struct buffer *msg, struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3548,1
    - Dst: spop_dump_spop_strm_info
      Src: /src/haproxy/src/mux_spop.c:3549,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3551,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/mux_spop.c:3552,1
    - Dst: spop_dump_spop_conn_info
      Src: /src/haproxy/src/mux_spop.c:3553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - msg
    - sd
    - pfx
    argTypes:
    - struct buffer*
    - struct sedesc*
    - char*
    constantsTouched: []
    func_position:
      end: 3555
      start: 3540
    functionDepth: 7
    functionLinenumber: 3540
    functionLinenumberEnd: 3555
    functionName: spop_show_sd
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - spop_dump_spop_conn_info
    - spop_dump_spop_strm_info
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: spop_show_sd(struct buffer *msg, struct sedesc *sd, const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_spop.c:3577,1
    - Dst: task_new_here
      Src: /src/haproxy/src/mux_spop.c:3580,1
    - Dst: tasklet_new
      Src: /src/haproxy/src/mux_spop.c:3581,1
    - Dst: fd_takeover
      Src: /src/haproxy/src/mux_spop.c:3586,1
    - Dst: struct connection*::xprt::takeover
      Src: /src/haproxy/src/mux_spop.c:3589,1
    - Dst: tasklet_wakeup_on
      Src: /src/haproxy/src/mux_spop.c:3596,1
    - Dst: struct spop_conn*::conn::xprt::unsubscribe
      Src: /src/haproxy/src/mux_spop.c:3601,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/mux_spop.c:3611,1
    - Dst: task_kill
      Src: /src/haproxy/src/mux_spop.c:3612,1
    - Dst: tasklet_wakeup_on
      Src: /src/haproxy/src/mux_spop.c:3626,1
    - Dst: struct spop_conn*::conn::xprt::subscribe
      Src: /src/haproxy/src/mux_spop.c:3632,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/mux_spop.c:3645,1
    - Dst: thread_isolated
      Src: /src/haproxy/src/mux_spop.c:3645,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/mux_spop.c:3646,1
    - Dst: _b_dequeue
      Src: /src/haproxy/src/mux_spop.c:3647,1
    - Dst: __task_free
      Src: /src/haproxy/src/mux_spop.c:3651,1
    - Dst: __task_free
      Src: /src/haproxy/src/mux_spop.c:3655,1
    - Dst: tasklet_free
      Src: /src/haproxy/src/mux_spop.c:3656,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - conn
    - orig_tid
    - release
    argTypes:
    - struct connection*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3658
      start: 3561
    functionDepth: 2
    functionLinenumber: 3561
    functionLinenumberEnd: 3658
    functionName: spop_takeover
    functionSourceFile: /src/haproxy/src/mux_spop.c
    functionUses: 0
    functionsReached:
    - fd_takeover
    - _b_dequeue
    - tasklet_free
    - tasklet_wakeup_on
    - __ha_barrier_store
    - struct connection*::xprt::takeover
    - thread_isolated
    - task_kill
    - struct spop_conn*::conn::xprt::unsubscribe
    - tasklet_new
    - __task_free
    - LIST_INLIST
    - task_new_here
    - BUG_ON
    - struct spop_conn*::conn::xprt::subscribe
    linkageType: ''
    returnType: int
    signature: spop_takeover(struct connection *conn, int orig_tid, int release)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_proxy
      Src: /src/haproxy/src/stats-file.c:38,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/stats-file.c:42,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stats-file.c:47,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/stats-file.c:51,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-file.c:59,1
    - Dst: field_format
      Src: /src/haproxy/src/stats-file.c:65,1
    - Dst: stats_emit_raw_data_field
      Src: /src/haproxy/src/stats-file.c:68,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-file.c:70,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-file.c:74,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - out
    - line
    - stats_count
    - ctx
    argTypes:
    - struct buffer*
    - struct field*
    - size_t
    - struct show_stat_ctx*
    constantsTouched: []
    func_position:
      end: 76
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 76
    functionName: stats_dump_fields_file
    functionSourceFile: /src/haproxy/src/stats-file.c
    functionUses: 1
    functionsReached:
    - stats_emit_raw_data_field
    - ABORT_NOW
    - field_format
    - __objt_proxy
    - chunk_strcat
    - chunk_appendf
    - __objt_server
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: "stats_dump_fields_file(struct buffer *out,\n                           const
      struct field *line, size_t stats_count,\n                           struct show_stat_ctx
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/stats-file.c:84,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-file.c:87,1
    - Dst: stcol_is_generic
      Src: /src/haproxy/src/stats-file.c:90,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-file.c:92,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-file.c:97,1
    - Dst: stcol_is_generic
      Src: /src/haproxy/src/stats-file.c:100,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-file.c:102,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-file.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - type
    - out
    argTypes:
    - int
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 108
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 108
    functionName: stats_dump_file_header
    functionSourceFile: /src/haproxy/src/stats-file.c
    functionUses: 1
    functionsReached:
    - stcol_is_generic
    - chunk_strcat
    - BUG_ON
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: stats_dump_file_header(int type, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iststrip
      Src: /src/haproxy/src/stats-file.c:129,1
    - Dst: istptr
      Src: /src/haproxy/src/stats-file.c:130,1
    - Dst: istlen
      Src: /src/haproxy/src/stats-file.c:130,1
    - Dst: istsplit
      Src: /src/haproxy/src/stats-file.c:131,1
    - Dst: istlen
      Src: /src/haproxy/src/stats-file.c:137,1
    - Dst: istlen
      Src: /src/haproxy/src/stats-file.c:137,1
    - Dst: isteq
      Src: /src/haproxy/src/stats-file.c:140,1
    - Dst: ist
      Src: /src/haproxy/src/stats-file.c:140,1
    - Dst: isteq
      Src: /src/haproxy/src/stats-file.c:142,1
    - Dst: ist
      Src: /src/haproxy/src/stats-file.c:142,1
    - Dst: istsplit
      Src: /src/haproxy/src/stats-file.c:146,1
    - Dst: isteq
      Src: /src/haproxy/src/stats-file.c:147,1
    - Dst: ist
      Src: /src/haproxy/src/stats-file.c:147,1
    - Dst: memset
      Src: /src/haproxy/src/stats-file.c:158,1
    - Dst: istlen
      Src: /src/haproxy/src/stats-file.c:161,1
    - Dst: istsplit
      Src: /src/haproxy/src/stats-file.c:167,1
    - Dst: ebst_lookup
      Src: /src/haproxy/src/stats-file.c:168,1
    - Dst: ist0
      Src: /src/haproxy/src/stats-file.c:168,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/stats-file.c:174,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 4
    argNames:
    - header
    - st_tree
    - domain
    - cols
    argTypes:
    - struct ist
    - struct eb_root*
    - enum stfile_domain*
    - struct stat_col*[]
    constantsTouched: []
    func_position:
      end: 196
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 196
    functionName: parse_header_line
    functionSourceFile: /src/haproxy/src/stats-file.c
    functionUses: 0
    functionsReached:
    - istsplit
    - istlen
    - isteq
    - iststrip
    - ist
    - istptr
    - ebmb_entry
    - ebst_lookup
    - memset
    - ist0
    linkageType: ''
    returnType: int
    signature: "parse_header_line(struct ist header, struct eb_root *st_tree,\n                             enum
      stfile_domain *domain,\n                             const struct stat_col *cols[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stcol_nature
      Src: /src/haproxy/src/stats-file.c:206,1
    - Dst: stcol_format
      Src: /src/haproxy/src/stats-file.c:207,1
    - Dst: read_uint64
      Src: /src/haproxy/src/stats-file.c:213,1
    - Dst: istend
      Src: /src/haproxy/src/stats-file.c:213,1
    - Dst: read_uint
      Src: /src/haproxy/src/stats-file.c:218,1
    - Dst: istend
      Src: /src/haproxy/src/stats-file.c:218,1
    - Dst: istend
      Src: /src/haproxy/src/stats-file.c:227,1
    - Dst: preload_freq_ctr
      Src: /src/haproxy/src/stats-file.c:234,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/stats-file.c:237,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - col
    - token
    - counter
    argTypes:
    - struct stat_col*
    - struct ist
    - void*
    constantsTouched: []
    func_position:
      end: 245
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 245
    functionName: load_ctr
    functionSourceFile: /src/haproxy/src/stats-file.c
    functionUses: 0
    functionsReached:
    - ns_to_sec
    - istend
    - stcol_format
    - preload_freq_ctr
    - read_uint64
    - read_uint
    - stcol_nature
    linkageType: ''
    returnType: int
    signature: "load_ctr(const struct stat_col *col, const struct ist token,\n                    void*
      counter)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istsplit
      Src: /src/haproxy/src/stats-file.c:265,1
    - Dst: ist0
      Src: /src/haproxy/src/stats-file.c:266,1
    - Dst: guid_is_valid_fmt
      Src: /src/haproxy/src/stats-file.c:267,1
    - Dst: guid_lookup
      Src: /src/haproxy/src/stats-file.c:270,1
    - Dst: obj_type
      Src: /src/haproxy/src/stats-file.c:276,1
    - Dst: __objt_proxy
      Src: /src/haproxy/src/stats-file.c:278,1
    - Dst: __objt_listener
      Src: /src/haproxy/src/stats-file.c:302,1
    - Dst: __objt_server
      Src: /src/haproxy/src/stats-file.c:315,1
    - Dst: istlen
      Src: /src/haproxy/src/stats-file.c:325,1
    - Dst: istsplit
      Src: /src/haproxy/src/stats-file.c:328,1
    - Dst: istlen
      Src: /src/haproxy/src/stats-file.c:329,1
    - Dst: load_ctr
      Src: /src/haproxy/src/stats-file.c:335,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 64
    argCount: 3
    argNames:
    - line
    - domain
    - cols
    argTypes:
    - struct ist
    - enum stfile_domain
    - struct stat_col*[]
    constantsTouched: []
    func_position:
      end: 342
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 342
    functionName: parse_stat_line
    functionSourceFile: /src/haproxy/src/stats-file.c
    functionUses: 0
    functionsReached:
    - istsplit
    - load_ctr
    - istlen
    - __objt_proxy
    - __objt_server
    - obj_type
    - guid_lookup
    - guid_is_valid_fmt
    - ist0
    - __objt_listener
    linkageType: ''
    returnType: int
    signature: "parse_stat_line(struct ist line,\n                           enum
      stfile_domain domain,\n                           const struct stat_col *cols[])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/haproxy/src/stats-file.c:359,1
    - Dst: ha_warning
      Src: /src/haproxy/src/stats-file.c:361,1
    - Dst: generate_stat_tree
      Src: /src/haproxy/src/stats-file.c:366,1
    - Dst: ha_warning
      Src: /src/haproxy/src/stats-file.c:367,1
    - Dst: malloc
      Src: /src/haproxy/src/stats-file.c:371,1
    - Dst: ha_warning
      Src: /src/haproxy/src/stats-file.c:373,1
    - Dst: fgets
      Src: /src/haproxy/src/stats-file.c:380,1
    - Dst: iststrip
      Src: /src/haproxy/src/stats-file.c:384,1
    - Dst: ist
      Src: /src/haproxy/src/stats-file.c:384,1
    - Dst: istlen
      Src: /src/haproxy/src/stats-file.c:385,1
    - Dst: istmatch
      Src: /src/haproxy/src/stats-file.c:389,1
    - Dst: ist
      Src: /src/haproxy/src/stats-file.c:389,1
    - Dst: istptr
      Src: /src/haproxy/src/stats-file.c:392,1
    - Dst: parse_header_line
      Src: /src/haproxy/src/stats-file.c:393,1
    - Dst: ha_warning
      Src: /src/haproxy/src/stats-file.c:395,1
    - Dst: ha_warning
      Src: /src/haproxy/src/stats-file.c:399,1
    - Dst: parse_stat_line
      Src: /src/haproxy/src/stats-file.c:405,1
    - Dst: ha_warning
      Src: /src/haproxy/src/stats-file.c:406,1
    - Dst: ha_warning
      Src: /src/haproxy/src/stats-file.c:413,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/stats-file.c:420,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/stats-file.c:421,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/stats-file.c:422,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/stats-file.c:424,1
    - Dst: ha_free
      Src: /src/haproxy/src/stats-file.c:425,1
    - Dst: ha_free
      Src: /src/haproxy/src/stats-file.c:428,1
    - Dst: fclose
      Src: /src/haproxy/src/stats-file.c:429,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 345
    functionDepth: 9
    functionLinenumber: 345
    functionLinenumberEnd: 430
    functionName: apply_stats_file
    functionSourceFile: /src/haproxy/src/stats-file.c
    functionUses: 1
    functionsReached:
    - malloc
    - istmatch
    - ebmb_delete
    - ha_free
    - ha_warning
    - istlen
    - parse_header_line
    - iststrip
    - ist
    - istptr
    - eb_is_empty
    - ebmb_entry
    - ebmb_first
    - parse_stat_line
    - generate_stat_tree
    - fopen
    - fclose
    - fgets
    linkageType: ''
    returnType: void
    signature: apply_stats_file(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mkf_str
      Src: /src/haproxy/src/resolvers.c:131,1
    - Dst: mkf_str
      Src: /src/haproxy/src/resolvers.c:134,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:137,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:140,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:143,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:146,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:149,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:152,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:155,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:158,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:161,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:164,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:167,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:170,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:173,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:176,1
    - Dst: mkf_u64
      Src: /src/haproxy/src/resolvers.c:179,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 3
    argNames:
    - d
    - stats
    - selected_field
    argTypes:
    - void*
    - struct field*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 194
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 194
    functionName: resolv_fill_stats
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - mkf_str
    - mkf_u64
    linkageType: ''
    returnType: int
    signature: resolv_fill_stats(void *d, struct field *stats, unsigned int *selected_field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:223,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 228
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 228
    functionName: find_resolvers_by_id
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    - strcmp
    linkageType: ''
    returnType: struct resolvers
    signature: '*find_resolvers_by_id(const char *id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - parent
    - id
    argTypes:
    - struct resolvers*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: find_nameserver_by_resolvers_and_id
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: struct dns_nameserver
    signature: '*find_nameserver_by_resolvers_and_id(struct resolvers *parent, unsigned
      int id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:251,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - px
    argTypes:
    - char*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 256
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 256
    functionName: find_srvrq_by_name
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    - strcmp
    linkageType: ''
    returnType: struct resolv_srvrq
    signature: '*find_srvrq_by_name(const char *name, struct proxy *px)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/resolvers.c:266,1
    - Dst: resolv_str_to_dn_label
      Src: /src/haproxy/src/resolvers.c:267,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:270,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/resolvers.c:271,1
    - Dst: calloc
      Src: /src/haproxy/src/resolvers.c:275,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:276,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/resolvers.c:277,1
    - Dst: strdup
      Src: /src/haproxy/src/resolvers.c:282,1
    - Dst: strdup
      Src: /src/haproxy/src/resolvers.c:283,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:286,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/resolvers.c:287,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/resolvers.c:290,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:292,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:297,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:298,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:299,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - srv
    - fqdn
    argTypes:
    - struct server*
    - char*
    constantsTouched: []
    func_position:
      end: 302
      start: 260
    functionDepth: 9
    functionLinenumber: 260
    functionLinenumberEnd: 302
    functionName: new_resolv_srvrq
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - strlen
    - calloc
    - LIST_APPEND
    - strdup
    - free
    - proxy_type_str
    - LIST_INIT
    - resolv_str_to_dn_label
    linkageType: ''
    returnType: struct resolv_srvrq
    signature: '*new_resolv_srvrq(struct server *srv, char *fqdn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/src/resolvers.c:318,1
    - Dst: eb32_first
      Src: /src/haproxy/src/resolvers.c:328,1
    - Dst: eb32_next
      Src: /src/haproxy/src/resolvers.c:328,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/resolvers.c:329,1
    - Dst: typeof
      Src: /src/haproxy/src/resolvers.c:329,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - requester
    argTypes:
    - struct resolv_requester*
    constantsTouched: []
    func_position:
      end: 337
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 337
    functionName: find_srvrq_answer_record
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - objt_server
    - eb32_first
    - typeof
    - eb32_next
    - eb32_entry
    - memcmp
    linkageType: ''
    returnType: struct resolv_answer_item
    signature: '*find_srvrq_answer_record(const struct resolv_requester *requester)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: resolv_rnd16
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: resolv_rnd16(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct resolv_resolution*
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: resolv_resolution_timeout
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: resolv_resolution_timeout(struct resolv_resolution *res)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/resolvers.c:362,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/resolvers.c:363,1
    - Dst: tick_add
      Src: /src/haproxy/src/resolvers.c:364,1
    - Dst: tick_first
      Src: /src/haproxy/src/resolvers.c:365,1
    - Dst: tick_add
      Src: /src/haproxy/src/resolvers.c:365,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:368,1
    - Dst: tick_first
      Src: /src/haproxy/src/resolvers.c:369,1
    - Dst: tick_add
      Src: /src/haproxy/src/resolvers.c:369,1
    - Dst: resolv_resolution_timeout
      Src: /src/haproxy/src/resolvers.c:369,1
    - Dst: task_queue
      Src: /src/haproxy/src/resolvers.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - resolvers
    argTypes:
    - struct resolvers*
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: resolv_update_resolvers_timeout
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - LIST_NEXT
    - LIST_ISEMPTY
    - tick_add
    - list_for_each_entry
    - task_queue
    - tick_first
    - resolv_resolution_timeout
    linkageType: ''
    returnType: void
    signature: resolv_update_resolvers_timeout(struct resolvers *resolvers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/resolvers.c:396,1
    - Dst: htons
      Src: /src/haproxy/src/resolvers.c:399,1
    - Dst: htons
      Src: /src/haproxy/src/resolvers.c:400,1
    - Dst: htons
      Src: /src/haproxy/src/resolvers.c:401,1
    - Dst: htons
      Src: /src/haproxy/src/resolvers.c:404,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:405,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:409,1
    - Dst: htons
      Src: /src/haproxy/src/resolvers.c:414,1
    - Dst: htons
      Src: /src/haproxy/src/resolvers.c:415,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:416,1
    - Dst: htons
      Src: /src/haproxy/src/resolvers.c:421,1
    - Dst: htons
      Src: /src/haproxy/src/resolvers.c:422,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 7
    argNames:
    - query_id
    - query_type
    - accepted_payload_size
    - hostname_dn
    - hostname_dn_len
    - buf
    - bufsize
    argTypes:
    - int
    - int
    - unsigned int
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 429
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 429
    functionName: resolv_build_query
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - memset
    - htons
    - memcpy
    linkageType: ''
    returnType: int
    signature: "resolv_build_query(int query_id, int query_type, unsigned int accepted_payload_size,\n
      \                             char *hostname_dn, int hostname_dn_len, char *buf,
      int bufsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resolv_build_query
      Src: /src/haproxy/src/resolvers.c:445,1
    - Dst: send_log
      Src: /src/haproxy/src/resolvers.c:450,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:456,1
    - Dst: dns_send_nameserver
      Src: /src/haproxy/src/resolvers.c:457,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:462,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - resolution
    argTypes:
    - struct resolv_resolution*
    constantsTouched: []
    func_position:
      end: 465
      start: 434
    functionDepth: 12
    functionLinenumber: 434
    functionLinenumberEnd: 465
    functionName: resolv_send_query
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - send_log
    - list_for_each_entry
    - LIST_APPEND
    - LIST_DEL_INIT
    - resolv_build_query
    - dns_send_nameserver
    linkageType: ''
    returnType: int
    signature: resolv_send_query(struct resolv_resolution *resolution)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resolv_rnd16
      Src: /src/haproxy/src/resolvers.c:490,1
    - Dst: eb32_lookup
      Src: /src/haproxy/src/resolvers.c:491,1
    - Dst: send_log
      Src: /src/haproxy/src/resolvers.c:496,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/resolvers.c:508,1
    - Dst: resolv_send_query
      Src: /src/haproxy/src/resolvers.c:512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - resolution
    argTypes:
    - struct resolv_resolution*
    constantsTouched: []
    func_position:
      end: 514
      start: 470
    functionDepth: 13
    functionLinenumber: 470
    functionLinenumberEnd: 514
    functionName: resolv_run_resolution
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - send_log
    - eb32_insert
    - resolv_send_query
    - eb32_lookup
    - resolv_rnd16
    linkageType: ''
    returnType: int
    signature: resolv_run_resolution(struct resolv_resolution *resolution)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enter_resolver_code
      Src: /src/haproxy/src/resolvers.c:528,1
    - Dst: tick_add
      Src: /src/haproxy/src/resolvers.c:532,1
    - Dst: tick_isset
      Src: /src/haproxy/src/resolvers.c:533,1
    - Dst: tick_isset
      Src: /src/haproxy/src/resolvers.c:534,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/resolvers.c:534,1
    - Dst: obj_type
      Src: /src/haproxy/src/resolvers.c:540,1
    - Dst: obj_type
      Src: /src/haproxy/src/resolvers.c:541,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/resolvers.c:543,1
    - Dst: leave_resolver_code
      Src: /src/haproxy/src/resolvers.c:546,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - req
    argTypes:
    - struct resolv_requester*
    constantsTouched: []
    func_position:
      end: 547
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 547
    functionName: resolv_trigger_resolution
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - enter_resolver_code
    - tick_is_expired
    - tick_add
    - task_wakeup
    - obj_type
    - tick_isset
    - leave_resolver_code
    linkageType: ''
    returnType: void
    signature: resolv_trigger_resolution(struct resolv_requester *req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_delete
      Src: /src/haproxy/src/resolvers.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - resolution
    argTypes:
    - struct resolv_resolution*
    constantsTouched: []
    func_position:
      end: 567
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 567
    functionName: resolv_reset_resolution
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - eb32_delete
    linkageType: ''
    returnType: void
    signature: resolv_reset_resolution(struct resolv_resolution *resolution)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resp
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 573
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 573
    functionName: resolv_response_get_query_id
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: resolv_response_get_query_id(unsigned char *resp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resolv_read_name
      Src: /src/haproxy/src/resolvers.c:608,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:632,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 7
    argNames:
    - buffer
    - bufend
    - name
    - destination
    - dest_len
    - offset
    - depth
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - char*
    - int
    - int*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 661
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 661
    functionName: resolv_read_name
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - resolv_read_name
    - memcpy
    linkageType: ''
    returnType: int
    signature: "resolv_read_name(unsigned char *buffer, unsigned char *bufend,\n\t\t
      \    unsigned char *name, char *destination, int dest_len,\n\t\t     int *offset,
      unsigned int depth)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/src/resolvers.c:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 672
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 672
    functionName: enter_resolver_code
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: enter_resolver_code()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_delete
      Src: /src/haproxy/src/resolvers.c:678,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:682,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct resolv_resolution*
    constantsTouched: []
    func_position:
      end: 684
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 684
    functionName: abort_resolution
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    - eb32_delete
    - LIST_DEL_INIT
    linkageType: ''
    returnType: void
    signature: abort_resolution(struct resolv_resolution *res)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/resolvers.c:701,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/resolvers.c:702,1
    - Dst: resolv_free_resolution
      Src: /src/haproxy/src/resolvers.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 708
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 708
    functionName: leave_resolver_code
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - resolv_free_resolution
    - LIST_NEXT
    - LIST_ISEMPTY
    linkageType: ''
    returnType: void
    signature: leave_resolver_code()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _resolv_unlink_resolution
      Src: /src/haproxy/src/resolvers.c:721,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/resolvers.c:722,1
    - Dst: srvrq_set_srv_down
      Src: /src/haproxy/src/resolvers.c:723,1
    - Dst: ha_free
      Src: /src/haproxy/src/resolvers.c:724,1
    - Dst: ha_free
      Src: /src/haproxy/src/resolvers.c:725,1
    - Dst: memset
      Src: /src/haproxy/src/resolvers.c:727,1
    - Dst: server_set_inetaddr
      Src: /src/haproxy/src/resolvers.c:729,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/resolvers.c:732,1
    - Dst: ha_free
      Src: /src/haproxy/src/resolvers.c:733,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/resolvers.c:735,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:736,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 740
      start: 717
    functionDepth: 3
    functionLinenumber: 717
    functionLinenumberEnd: 740
    functionName: resolv_srvrq_cleanup_srv
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - ha_free
    - _resolv_unlink_resolution
    - LIST_APPEND
    - HA_SPIN_UNLOCK
    - srvrq_set_srv_down
    - HA_SPIN_LOCK
    - server_set_inetaddr
    - LIST_DEL_INIT
    - memset
    - ebpt_delete
    linkageType: ''
    returnType: void
    signature: resolv_srvrq_cleanup_srv(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_is_expired
      Src: /src/haproxy/src/resolvers.c:749,1
    - Dst: enter_resolver_code
      Src: /src/haproxy/src/resolvers.c:752,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/resolvers.c:753,1
    - Dst: resolv_srvrq_cleanup_srv
      Src: /src/haproxy/src/resolvers.c:754,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/resolvers.c:755,1
    - Dst: leave_resolver_code
      Src: /src/haproxy/src/resolvers.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 760
      start: 745
    functionDepth: 4
    functionLinenumber: 745
    functionLinenumberEnd: 760
    functionName: resolv_srvrq_expire_task
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - enter_resolver_code
    - tick_is_expired
    - resolv_srvrq_cleanup_srv
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - leave_resolver_code
    linkageType: ''
    returnType: struct task
    signature: '*resolv_srvrq_expire_task(struct task *t, void *context, unsigned
      int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_first
      Src: /src/haproxy/src/resolvers.c:773,1
    - Dst: eb32_next
      Src: /src/haproxy/src/resolvers.c:773,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/resolvers.c:774,1
    - Dst: typeof
      Src: /src/haproxy/src/resolvers.c:774,1
    - Dst: tick_is_lt
      Src: /src/haproxy/src/resolvers.c:778,1
    - Dst: tick_add
      Src: /src/haproxy/src/resolvers.c:778,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:782,1
    - Dst: tick_is_lt
      Src: /src/haproxy/src/resolvers.c:787,1
    - Dst: tick_add
      Src: /src/haproxy/src/resolvers.c:787,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/resolvers.c:790,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:791,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/resolvers.c:796,1
    - Dst: resolv_srvrq_cleanup_srv
      Src: /src/haproxy/src/resolvers.c:797,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/resolvers.c:800,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:802,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:805,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:813,1
    - Dst: objt_resolv_srvrq
      Src: /src/haproxy/src/resolvers.c:818,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:823,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/resolvers.c:825,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/resolvers.c:834,1
    - Dst: tolower
      Src: /src/haproxy/src/resolvers.c:839,1
    - Dst: ebis_lookup
      Src: /src/haproxy/src/resolvers.c:842,1
    - Dst: ebpt_entry
      Src: /src/haproxy/src/resolvers.c:844,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/resolvers.c:845,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/resolvers.c:855,1
    - Dst: ha_free
      Src: /src/haproxy/src/resolvers.c:856,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/resolvers.c:860,1
    - Dst: ebpt_next
      Src: /src/haproxy/src/resolvers.c:862,1
    - Dst: ebpt_entry
      Src: /src/haproxy/src/resolvers.c:866,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/resolvers.c:867,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:870,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/resolvers.c:871,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:882,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:883,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/resolvers.c:884,1
    - Dst: server_get_inetaddr
      Src: /src/haproxy/src/resolvers.c:899,1
    - Dst: _resolv_unlink_resolution
      Src: /src/haproxy/src/resolvers.c:928,1
    - Dst: server_set_inetaddr_warn
      Src: /src/haproxy/src/resolvers.c:934,1
    - Dst: server_set_inetaddr
      Src: /src/haproxy/src/resolvers.c:936,1
    - Dst: resolv_dn_label_to_str
      Src: /src/haproxy/src/resolvers.c:942,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/resolvers.c:944,1
    - Dst: srv_update_fqdn
      Src: /src/haproxy/src/resolvers.c:947,1
    - Dst: send_log
      Src: /src/haproxy/src/resolvers.c:949,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/resolvers.c:952,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:953,1
    - Dst: resolv_link_resolution
      Src: /src/haproxy/src/resolvers.c:960,1
    - Dst: snprintf
      Src: /src/haproxy/src/resolvers.c:974,1
    - Dst: server_parse_weight_change_request
      Src: /src/haproxy/src/resolvers.c:975,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/resolvers.c:977,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 124
    argCount: 1
    argNames:
    - res
    argTypes:
    - struct resolv_resolution*
    constantsTouched: []
    func_position:
      end: 981
      start: 765
    functionDepth: 10
    functionLinenumber: 765
    functionLinenumberEnd: 981
    functionName: resolv_check_response
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - send_log
    - ha_free
    - tick_is_lt
    - eb_is_empty
    - srv_update_fqdn
    - eb32_next
    - resolv_link_resolution
    - resolv_srvrq_cleanup_srv
    - list_for_each_entry
    - objt_resolv_srvrq
    - server_parse_weight_change_request
    - typeof
    - LIST_DEL_INIT
    - LIST_INLIST
    - server_get_inetaddr
    - ebpt_entry
    - eb32_delete
    - tolower
    - ebis_lookup
    - snprintf
    - HA_SPIN_UNLOCK
    - server_set_inetaddr_warn
    - pool_free
    - HA_SPIN_LOCK
    - server_set_inetaddr
    - eb32_entry
    - ebpt_delete
    - resolv_dn_label_to_str
    - list_for_each_entry_safe
    - tick_add
    - _resolv_unlink_resolution
    - LIST_APPEND
    - eb32_first
    - memcmp
    - ebpt_next
    linkageType: ''
    returnType: void
    signature: resolv_check_response(struct resolv_resolution *res)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resolv_read_name
      Src: /src/haproxy/src/resolvers.c:1104,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:1111,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/resolvers.c:1145,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/resolvers.c:1152,1
    - Dst: resolv_read_name
      Src: /src/haproxy/src/resolvers.c:1156,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:1163,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:1180,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:1229,1
    - Dst: XXH32
      Src: /src/haproxy/src/resolvers.c:1230,1
    - Dst: resolv_read_name
      Src: /src/haproxy/src/resolvers.c:1248,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:1252,1
    - Dst: XXH32
      Src: /src/haproxy/src/resolvers.c:1254,1
    - Dst: read_n16
      Src: /src/haproxy/src/resolvers.c:1269,1
    - Dst: read_n16
      Src: /src/haproxy/src/resolvers.c:1271,1
    - Dst: read_n16
      Src: /src/haproxy/src/resolvers.c:1273,1
    - Dst: resolv_read_name
      Src: /src/haproxy/src/resolvers.c:1276,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:1281,1
    - Dst: XXH32
      Src: /src/haproxy/src/resolvers.c:1283,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:1285,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:1296,1
    - Dst: XXH32
      Src: /src/haproxy/src/resolvers.c:1297,1
    - Dst: eb32_lookup
      Src: /src/haproxy/src/resolvers.c:1315,1
    - Dst: eb32_next
      Src: /src/haproxy/src/resolvers.c:1315,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/resolvers.c:1316,1
    - Dst: typeof
      Src: /src/haproxy/src/resolvers.c:1316,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:1322,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:1329,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:1337,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:1354,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/resolvers.c:1361,1
    - Dst: resolv_read_name
      Src: /src/haproxy/src/resolvers.c:1376,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/resolvers.c:1406,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/resolvers.c:1410,1
    - Dst: resolv_read_name
      Src: /src/haproxy/src/resolvers.c:1413,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:1416,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:1421,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:1470,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:1479,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:1483,1
    - Dst: eb32_first
      Src: /src/haproxy/src/resolvers.c:1500,1
    - Dst: eb32_next
      Src: /src/haproxy/src/resolvers.c:1500,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/resolvers.c:1503,1
    - Dst: typeof
      Src: /src/haproxy/src/resolvers.c:1503,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:1510,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:1515,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:1522,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:1538,1
    - Dst: eb32_first
      Src: /src/haproxy/src/resolvers.c:1546,1
    - Dst: eb32_next
      Src: /src/haproxy/src/resolvers.c:1546,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/resolvers.c:1547,1
    - Dst: typeof
      Src: /src/haproxy/src/resolvers.c:1547,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:1551,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:1553,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:1560,1
    - Dst: resolv_check_response
      Src: /src/haproxy/src/resolvers.c:1570,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:1577,1
    CyclomaticComplexity: 156
    EdgeCount: 156
    ICount: 401
    argCount: 4
    argNames:
    - resp
    - bufend
    - resolution
    - max_answer_records
    argTypes:
    - unsigned char*
    - unsigned char*
    - struct resolv_resolution*
    - int
    constantsTouched: []
    func_position:
      end: 1579
      start: 992
    functionDepth: 11
    functionLinenumber: 992
    functionLinenumberEnd: 1579
    functionName: resolv_validate_dns_response
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - read_n16
    - eb32_insert
    - resolv_read_name
    - XXH32
    - eb32_first
    - eb32_lookup
    - pool_alloc
    - pool_free
    - typeof
    - eb32_next
    - LIST_INIT
    - eb32_entry
    - resolv_check_response
    - memcmp
    - memcpy
    linkageType: ''
    returnType: int
    signature: "resolv_validate_dns_response(unsigned char *resp, unsigned char *bufend,\n
      \                                       struct resolv_resolution *resolution,
      int max_answer_records)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/resolvers.c:1606,1
    - Dst: eb32_first
      Src: /src/haproxy/src/resolvers.c:1630,1
    - Dst: eb32_next
      Src: /src/haproxy/src/resolvers.c:1630,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/resolvers.c:1634,1
    - Dst: typeof
      Src: /src/haproxy/src/resolvers.c:1634,1
    - Dst: in_net_ipv4
      Src: /src/haproxy/src/resolvers.c:1659,1
    - Dst: in_net_ipv6
      Src: /src/haproxy/src/resolvers.c:1663,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:1678,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:1701,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:1703,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:1725,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:1772,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:1773,1
    - Dst: eb32_first
      Src: /src/haproxy/src/resolvers.c:1776,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/resolvers.c:1781,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/resolvers.c:1782,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 111
    argCount: 7
    argNames:
    - r_res
    - resolv_opts
    - currentip
    - currentip_sin_family
    - newip
    - newip_sin_family
    - owner
    argTypes:
    - struct resolv_response*
    - struct resolv_options*
    - void*
    - short
    - void**
    - short*
    - struct server*
    constantsTouched: []
    func_position:
      end: 1786
      start: 1589
    functionDepth: 1
    functionLinenumber: 1589
    functionLinenumberEnd: 1786
    functionName: resolv_get_ip_from_response
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - eb32_delete
    - in_net_ipv6
    - list_for_each_entry
    - in_net_ipv4
    - eb32_first
    - LIST_APPEND
    - eb32_insert
    - typeof
    - eb32_next
    - LIST_DEL_INIT
    - eb32_entry
    - LIST_INLIST
    - memcmp
    linkageType: ''
    returnType: int
    signature: "resolv_get_ip_from_response(struct resolv_response *r_res,\n                             struct
      resolv_options *resolv_opts, void *currentip,\n                             short
      currentip_sin_family,\n                             void **newip, short *newip_sin_family,\n
      \                            struct server *owner)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/haproxy/src/resolvers.c:1813,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - dn
    - dn_len
    - str
    - str_len
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1817
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1817
    functionName: resolv_dn_label_to_str
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: resolv_dn_label_to_str(const char *dn, int dn_len, char *str, int str_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/haproxy/src/resolvers.c:1853,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - str
    - str_len
    - dn
    - dn_len
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1858
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1858
    functionName: resolv_str_to_dn_label
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 3
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: resolv_str_to_dn_label(const char *str, int str_len, char *dn, int
      dn_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/resolvers.c:1871,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 27
    argCount: 2
    argNames:
    - string
    - err
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1904
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1904
    functionName: resolv_hostname_validation
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: resolv_hostname_validation(const char *string, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:1924,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:1929,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:1934,1
    - Dst: memcmp
      Src: /src/haproxy/src/resolvers.c:1939,1
    - Dst: pool_zalloc
      Src: /src/haproxy/src/resolvers.c:1945,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/resolvers.c:1953,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:1964,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - resolvers
    - hostname_dn
    - hostname_dn_len
    - query_type
    argTypes:
    - struct resolvers*
    - char**
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1967
      start: 1914
    functionDepth: 0
    functionLinenumber: 1914
    functionLinenumberEnd: 1967
    functionName: resolv_pick_resolution
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - pool_zalloc
    - LIST_APPEND
    - LIST_INIT
    - memcmp
    linkageType: ''
    returnType: struct resolv_resolution
    signature: "*resolv_pick_resolution(struct resolvers *resolvers,\n\t\t\t\t\t\t\tchar
      **hostname_dn, int hostname_dn_len,\n\t\t\t\t\t\t\tint query_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_first
      Src: /src/haproxy/src/resolvers.c:1975,1
    - Dst: eb32_next
      Src: /src/haproxy/src/resolvers.c:1976,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/resolvers.c:1978,1
    - Dst: typeof
      Src: /src/haproxy/src/resolvers.c:1978,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/resolvers.c:1979,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:1980,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:1981,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - resolution
    argTypes:
    - struct resolv_resolution*
    constantsTouched: []
    func_position:
      end: 1983
      start: 1970
    functionDepth: 1
    functionLinenumber: 1970
    functionLinenumberEnd: 1983
    functionName: resolv_purge_resolution_answer_records
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - eb32_delete
    - eb32_first
    - pool_free
    - typeof
    - eb32_next
    - eb32_entry
    linkageType: ''
    returnType: void
    signature: resolv_purge_resolution_answer_records(struct resolv_resolution *resolution)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: resolv_reset_resolution
      Src: /src/haproxy/src/resolvers.c:1991,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/resolvers.c:1995,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:1996,1
    - Dst: resolv_purge_resolution_answer_records
      Src: /src/haproxy/src/resolvers.c:1999,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:2001,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:2002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - resolution
    argTypes:
    - struct resolv_resolution*
    constantsTouched: []
    func_position:
      end: 2003
      start: 1986
    functionDepth: 2
    functionLinenumber: 1986
    functionLinenumberEnd: 2003
    functionName: resolv_free_resolution
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry_safe
    - resolv_reset_resolution
    - pool_free
    - LIST_DEL_INIT
    - resolv_purge_resolution_answer_records
    linkageType: ''
    returnType: void
    signature: resolv_free_resolution(struct resolv_resolution *resolution)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/resolvers.c:2020,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/resolvers.c:2024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - req
    - owner
    argTypes:
    - struct resolv_requester**
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 2032
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2032
    functionName: resolv_get_requester
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - LIST_INIT
    - pool_alloc
    linkageType: ''
    returnType: struct resolv_requester
    signature: "*\nresolv_get_requester(struct resolv_requester **req, enum obj_type
      *owner,\n                     int (*cb)(struct resolv_requester *, struct dns_counters
      *),\n                     int (*err_cb)(struct resolv_requester *, int))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enter_resolver_code
      Src: /src/haproxy/src/resolvers.c:2048,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/resolvers.c:2054,1
    - Dst: resolv_get_requester
      Src: /src/haproxy/src/resolvers.c:2056,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/resolvers.c:2062,1
    - Dst: resolv_get_requester
      Src: /src/haproxy/src/resolvers.c:2078,1
    - Dst: resolv_get_requester
      Src: /src/haproxy/src/resolvers.c:2094,1
    - Dst: resolv_pick_resolution
      Src: /src/haproxy/src/resolvers.c:2113,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:2118,1
    - Dst: leave_resolver_code
      Src: /src/haproxy/src/resolvers.c:2119,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/resolvers.c:2123,1
    - Dst: resolv_free_resolution
      Src: /src/haproxy/src/resolvers.c:2124,1
    - Dst: leave_resolver_code
      Src: /src/haproxy/src/resolvers.c:2125,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 3
    argNames:
    - requester
    - requester_type
    - requester_locked
    argTypes:
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2127
      start: 2037
    functionDepth: 3
    functionLinenumber: 2037
    functionLinenumberEnd: 2127
    functionName: resolv_link_resolution
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 2
    functionsReached:
    - enter_resolver_code
    - resolv_pick_resolution
    - LIST_ISEMPTY
    - resolv_get_requester
    - LIST_APPEND
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - resolv_free_resolution
    - leave_resolver_code
    linkageType: ''
    returnType: int
    signature: resolv_link_resolution(void *requester, int requester_type, int requester_locked)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enter_resolver_code
      Src: /src/haproxy/src/resolvers.c:2137,1
    - Dst: objt_server
      Src: /src/haproxy/src/resolvers.c:2138,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:2139,1
    - Dst: objt_resolv_srvrq
      Src: /src/haproxy/src/resolvers.c:2141,1
    - Dst: eb32_first
      Src: /src/haproxy/src/resolvers.c:2142,1
    - Dst: eb32_next
      Src: /src/haproxy/src/resolvers.c:2143,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/resolvers.c:2145,1
    - Dst: typeof
      Src: /src/haproxy/src/resolvers.c:2145,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/resolvers.c:2147,1
    - Dst: resolv_srvrq_cleanup_srv
      Src: /src/haproxy/src/resolvers.c:2149,1
    - Dst: leave_resolver_code
      Src: /src/haproxy/src/resolvers.c:2154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - res
    - req
    argTypes:
    - struct resolv_resolution*
    - struct resolv_requester*
    constantsTouched: []
    func_position:
      end: 2155
      start: 2130
    functionDepth: 4
    functionLinenumber: 2130
    functionLinenumberEnd: 2155
    functionName: resolv_detach_from_resolution_answer_items
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 2
    functionsReached:
    - eb32_entry
    - enter_resolver_code
    - list_for_each_entry_safe
    - objt_server
    - objt_resolv_srvrq
    - resolv_srvrq_cleanup_srv
    - typeof
    - eb32_next
    - LIST_DEL_INIT
    - eb32_first
    - leave_resolver_code
    linkageType: ''
    returnType: void
    signature: resolv_detach_from_resolution_answer_items(struct resolv_resolution
      *res,  struct resolv_requester *req)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:2171,1
    - Dst: resolv_detach_from_resolution_answer_items
      Src: /src/haproxy/src/resolvers.c:2175,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/resolvers.c:2178,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/resolvers.c:2179,1
    - Dst: abort_resolution
      Src: /src/haproxy/src/resolvers.c:2181,1
    - Dst: obj_type
      Src: /src/haproxy/src/resolvers.c:2186,1
    - Dst: __objt_server
      Src: /src/haproxy/src/resolvers.c:2188,1
    - Dst: __objt_server
      Src: /src/haproxy/src/resolvers.c:2189,1
    - Dst: __objt_resolv_srvrq
      Src: /src/haproxy/src/resolvers.c:2192,1
    - Dst: __objt_resolv_srvrq
      Src: /src/haproxy/src/resolvers.c:2193,1
    - Dst: __objt_stream
      Src: /src/haproxy/src/resolvers.c:2196,1
    - Dst: __objt_stream
      Src: /src/haproxy/src/resolvers.c:2197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - requester
    argTypes:
    - struct resolv_requester*
    constantsTouched: []
    func_position:
      end: 2204
      start: 2160
    functionDepth: 5
    functionLinenumber: 2160
    functionLinenumberEnd: 2204
    functionName: _resolv_unlink_resolution
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 2
    functionsReached:
    - LIST_NEXT
    - LIST_ISEMPTY
    - resolv_detach_from_resolution_answer_items
    - __objt_resolv_srvrq
    - __objt_server
    - obj_type
    - __objt_stream
    - LIST_DEL_INIT
    - abort_resolution
    linkageType: ''
    returnType: void
    signature: _resolv_unlink_resolution(struct resolv_requester *requester)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enter_resolver_code
      Src: /src/haproxy/src/resolvers.c:2209,1
    - Dst: _resolv_unlink_resolution
      Src: /src/haproxy/src/resolvers.c:2210,1
    - Dst: leave_resolver_code
      Src: /src/haproxy/src/resolvers.c:2211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - requester
    argTypes:
    - struct resolv_requester*
    constantsTouched: []
    func_position:
      end: 2212
      start: 2207
    functionDepth: 6
    functionLinenumber: 2207
    functionLinenumberEnd: 2212
    functionName: resolv_unlink_resolution
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 5
    functionsReached:
    - leave_resolver_code
    - _resolv_unlink_resolution
    - enter_resolver_code
    linkageType: ''
    returnType: void
    signature: resolv_unlink_resolution(struct resolv_requester *requester)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enter_resolver_code
      Src: /src/haproxy/src/resolvers.c:2236,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/resolvers.c:2237,1
    - Dst: memset
      Src: /src/haproxy/src/resolvers.c:2242,1
    - Dst: dns_recv_nameserver
      Src: /src/haproxy/src/resolvers.c:2243,1
    - Dst: resolv_response_get_query_id
      Src: /src/haproxy/src/resolvers.c:2261,1
    - Dst: eb32_lookup
      Src: /src/haproxy/src/resolvers.c:2264,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/resolvers.c:2272,1
    - Dst: resolv_validate_dns_response
      Src: /src/haproxy/src/resolvers.c:2277,1
    - Dst: resolv_send_query
      Src: /src/haproxy/src/resolvers.c:2342,1
    - Dst: resolv_send_query
      Src: /src/haproxy/src/resolvers.c:2346,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:2360,1
    - Dst: struct resolv_requester*::requester_error_cb
      Src: /src/haproxy/src/resolvers.c:2361,1
    - Dst: resolv_purge_resolution_answer_records
      Src: /src/haproxy/src/resolvers.c:2363,1
    - Dst: resolv_reset_resolution
      Src: /src/haproxy/src/resolvers.c:2364,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:2365,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:2366,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:2373,1
    - Dst: objt_server
      Src: /src/haproxy/src/resolvers.c:2374,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/resolvers.c:2377,1
    - Dst: struct resolv_requester*::requester_cb
      Src: /src/haproxy/src/resolvers.c:2378,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/resolvers.c:2380,1
    - Dst: resolv_reset_resolution
      Src: /src/haproxy/src/resolvers.c:2384,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:2385,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:2386,1
    - Dst: resolv_update_resolvers_timeout
      Src: /src/haproxy/src/resolvers.c:2389,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/resolvers.c:2390,1
    - Dst: leave_resolver_code
      Src: /src/haproxy/src/resolvers.c:2391,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 119
    argCount: 1
    argNames:
    - ns
    argTypes:
    - struct dns_nameserver*
    constantsTouched: []
    func_position:
      end: 2393
      start: 2221
    functionDepth: 13
    functionLinenumber: 2221
    functionLinenumberEnd: 2393
    functionName: resolv_process_responses
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - resolv_reset_resolution
    - struct resolv_requester*::requester_error_cb
    - memset
    - leave_resolver_code
    - enter_resolver_code
    - list_for_each_entry
    - struct resolv_requester*::requester_cb
    - dns_recv_nameserver
    - eb32_lookup
    - LIST_DEL_INIT
    - resolv_update_resolvers_timeout
    - resolv_response_get_query_id
    - objt_server
    - resolv_send_query
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - eb32_entry
    - resolv_purge_resolution_answer_records
    - resolv_validate_dns_response
    - LIST_APPEND
    linkageType: ''
    returnType: int
    signature: resolv_process_responses(struct dns_nameserver *ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enter_resolver_code
      Src: /src/haproxy/src/resolvers.c:2405,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/resolvers.c:2406,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/resolvers.c:2413,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/resolvers.c:2415,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/resolvers.c:2417,1
    - Dst: abort_resolution
      Src: /src/haproxy/src/resolvers.c:2418,1
    - Dst: tick_add
      Src: /src/haproxy/src/resolvers.c:2425,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/resolvers.c:2426,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:2439,1
    - Dst: struct resolv_requester*::requester_error_cb
      Src: /src/haproxy/src/resolvers.c:2440,1
    - Dst: resolv_purge_resolution_answer_records
      Src: /src/haproxy/src/resolvers.c:2442,1
    - Dst: resolv_reset_resolution
      Src: /src/haproxy/src/resolvers.c:2446,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/resolvers.c:2449,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:2450,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:2451,1
    - Dst: resolv_send_query
      Src: /src/haproxy/src/resolvers.c:2472,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/resolvers.c:2473,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/resolvers.c:2479,1
    - Dst: unlikely
      Src: /src/haproxy/src/resolvers.c:2481,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:2490,1
    - Dst: obj_type
      Src: /src/haproxy/src/resolvers.c:2493,1
    - Dst: __objt_server
      Src: /src/haproxy/src/resolvers.c:2495,1
    - Dst: __objt_resolv_srvrq
      Src: /src/haproxy/src/resolvers.c:2498,1
    - Dst: resolv_reset_resolution
      Src: /src/haproxy/src/resolvers.c:2517,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/resolvers.c:2522,1
    - Dst: abort_resolution
      Src: /src/haproxy/src/resolvers.c:2523,1
    - Dst: tick_add
      Src: /src/haproxy/src/resolvers.c:2527,1
    - Dst: resolv_resolution_timeout
      Src: /src/haproxy/src/resolvers.c:2527,1
    - Dst: tick_isset
      Src: /src/haproxy/src/resolvers.c:2528,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/resolvers.c:2528,1
    - Dst: resolv_run_resolution
      Src: /src/haproxy/src/resolvers.c:2531,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:2533,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/resolvers.c:2534,1
    - Dst: resolv_update_resolvers_timeout
      Src: /src/haproxy/src/resolvers.c:2538,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/resolvers.c:2539,1
    - Dst: unlikely
      Src: /src/haproxy/src/resolvers.c:2541,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/resolvers.c:2544,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:2547,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/resolvers.c:2549,1
    - Dst: leave_resolver_code
      Src: /src/haproxy/src/resolvers.c:2554,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 93
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2556
      start: 2399
    functionDepth: 14
    functionLinenumber: 2399
    functionLinenumberEnd: 2556
    functionName: process_resolvers
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - resolv_reset_resolution
    - struct resolv_requester*::requester_error_cb
    - leave_resolver_code
    - enter_resolver_code
    - LIST_ISEMPTY
    - list_for_each_entry
    - task_wakeup
    - __objt_resolv_srvrq
    - __objt_server
    - LIST_DEL_INIT
    - abort_resolution
    - resolv_update_resolvers_timeout
    - tick_is_expired
    - resolv_send_query
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - obj_type
    - resolv_run_resolution
    - resolv_resolution_timeout
    - LIST_INSERT
    - resolv_purge_resolution_answer_records
    - LIST_NEXT
    - list_for_each_entry_safe
    - tick_add
    - LIST_APPEND
    - tick_isset
    - unlikely
    linkageType: ''
    returnType: struct task
    signature: '*process_resolvers(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/resolvers.c:2566,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:2567,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:2568,1
    - Dst: fd_delete
      Src: /src/haproxy/src/resolvers.c:2571,1
    - Dst: close
      Src: /src/haproxy/src/resolvers.c:2572,1
    - Dst: dns_ring_free
      Src: /src/haproxy/src/resolvers.c:2574,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:2575,1
    - Dst: dns_ring_free
      Src: /src/haproxy/src/resolvers.c:2578,1
    - Dst: task_destroy
      Src: /src/haproxy/src/resolvers.c:2579,1
    - Dst: task_destroy
      Src: /src/haproxy/src/resolvers.c:2580,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:2581,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:2583,1
    - Dst: EXTRA_COUNTERS_FREE
      Src: /src/haproxy/src/resolvers.c:2584,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:2585,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/resolvers.c:2588,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/resolvers.c:2589,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:2590,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:2591,1
    - Dst: resolv_free_resolution
      Src: /src/haproxy/src/resolvers.c:2593,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/resolvers.c:2596,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/resolvers.c:2597,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:2598,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:2599,1
    - Dst: resolv_free_resolution
      Src: /src/haproxy/src/resolvers.c:2601,1
    - Dst: free_proxy
      Src: /src/haproxy/src/resolvers.c:2604,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:2605,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:2606,1
    - Dst: task_destroy
      Src: /src/haproxy/src/resolvers.c:2607,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:2608,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:2609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 1
    argNames:
    - resolvers
    argTypes:
    - struct resolvers*
    constantsTouched: []
    func_position:
      end: 2610
      start: 2560
    functionDepth: 4
    functionLinenumber: 2560
    functionLinenumberEnd: 2610
    functionName: resolvers_destroy
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - free_proxy
    - dns_ring_free
    - fd_delete
    - list_for_each_entry_safe
    - pool_free
    - free
    - EXTRA_COUNTERS_FREE
    - LIST_DEL_INIT
    - task_destroy
    - resolv_free_resolution
    - close
    linkageType: ''
    returnType: void
    signature: resolvers_destroy(struct resolvers *resolvers)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/resolvers.c:2618,1
    - Dst: resolvers_destroy
      Src: /src/haproxy/src/resolvers.c:2619,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/resolvers.c:2622,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:2623,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:2624,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/resolvers.c:2625,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:2626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2628
      start: 2613
    functionDepth: 5
    functionLinenumber: 2613
    functionLinenumberEnd: 2628
    functionName: resolvers_deinit
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - free
    - resolvers_destroy
    - LIST_DEL_INIT
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: resolvers_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enter_resolver_code
      Src: /src/haproxy/src/resolvers.c:2641,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:2644,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:2649,1
    - Dst: protocol_lookup
      Src: /src/haproxy/src/resolvers.c:2654,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/resolvers.c:2655,1
    - Dst: socket
      Src: /src/haproxy/src/resolvers.c:2656,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:2658,1
    - Dst: connect
      Src: /src/haproxy/src/resolvers.c:2664,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/resolvers.c:2664,1
    - Dst: ha_warning
      Src: /src/haproxy/src/resolvers.c:2666,1
    - Dst: close
      Src: /src/haproxy/src/resolvers.c:2669,1
    - Dst: close
      Src: /src/haproxy/src/resolvers.c:2673,1
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/resolvers.c:2678,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:2679,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/resolvers.c:2688,1
    - Dst: find_resolvers_by_id
      Src: /src/haproxy/src/resolvers.c:2707,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:2708,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/resolvers.c:2709,1
    - Dst: resolv_link_resolution
      Src: /src/haproxy/src/resolvers.c:2718,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:2719,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/resolvers.c:2720,1
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/resolvers.c:2726,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:2728,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/resolvers.c:2729,1
    - Dst: resolv_link_resolution
      Src: /src/haproxy/src/resolvers.c:2737,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:2738,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/resolvers.c:2739,1
    - Dst: leave_resolver_code
      Src: /src/haproxy/src/resolvers.c:2751,1
    - Dst: leave_resolver_code
      Src: /src/haproxy/src/resolvers.c:2754,1
    - Dst: resolvers_deinit
      Src: /src/haproxy/src/resolvers.c:2755,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2758
      start: 2634
    functionDepth: 9
    functionLinenumber: 2634
    functionLinenumberEnd: 2758
    functionName: resolvers_finalize_config
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - leave_resolver_code
    - enter_resolver_code
    - list_for_each_entry
    - ha_warning
    - task_wakeup
    - resolvers_deinit
    - connect
    - task_new_anywhere
    - proxy_type_str
    - resolv_link_resolution
    - protocol_lookup
    - socket
    - BUG_ON
    - close
    - find_resolvers_by_id
    - get_addr_len
    linkageType: ''
    returnType: int
    signature: resolvers_finalize_config(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/resolvers.c:2765,1
    - Dst: memset
      Src: /src/haproxy/src/resolvers.c:2769,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/resolvers.c:2772,1
    - Dst: struct stats_module*::fill_stats
      Src: /src/haproxy/src/resolvers.c:2774,1
    - Dst: stats_dump_one_line
      Src: /src/haproxy/src/resolvers.c:2779,1
    - Dst: stats_putchk
      Src: /src/haproxy/src/resolvers.c:2782,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - sc
    - ns
    - stats
    - stats_count
    - stat_modules
    argTypes:
    - struct stconn*
    - struct dns_nameserver*
    - struct field*
    - size_t
    - struct list*
    constantsTouched: []
    func_position:
      end: 2789
      start: 2760
    functionDepth: 4
    functionLinenumber: 2760
    functionLinenumberEnd: 2789
    functionName: stats_dump_resolv_to_buffer
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - __sc_appctx
    - stats_dump_one_line
    - struct stats_module*::fill_stats
    - stats_putchk
    - EXTRA_COUNTERS_GET
    - memset
    linkageType: ''
    returnType: int
    signature: "stats_dump_resolv_to_buffer(struct stconn *sc,\n                                    struct
      dns_nameserver *ns,\n                                    struct field *stats,
      size_t stats_count,\n                                    struct list *stat_modules)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_appctx
      Src: /src/haproxy/src/resolvers.c:2798,1
    - Dst: sc_ic
      Src: /src/haproxy/src/resolvers.c:2800,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/resolvers.c:2805,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/resolvers.c:2808,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/resolvers.c:2813,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/resolvers.c:2815,1
    - Dst: buffer_almost_full
      Src: /src/haproxy/src/resolvers.c:2818,1
    - Dst: sc_need_room
      Src: /src/haproxy/src/resolvers.c:2819,1
    - Dst: b_size
      Src: /src/haproxy/src/resolvers.c:2819,1
    - Dst: stats_dump_resolv_to_buffer
      Src: /src/haproxy/src/resolvers.c:2823,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - sc
    - stats
    - stats_count
    - stat_modules
    argTypes:
    - struct stconn*
    - struct field*
    - size_t
    - struct list*
    constantsTouched: []
    func_position:
      end: 2837
      start: 2794
    functionDepth: 5
    functionLinenumber: 2794
    functionLinenumberEnd: 2837
    functionName: stats_dump_resolvers
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - __sc_appctx
    - LIST_NEXT
    - sc_ic
    - stats_dump_resolv_to_buffer
    - buffer_almost_full
    - b_size
    - list_for_each_entry_from
    - sc_need_room
    linkageType: ''
    returnType: int
    signature: "stats_dump_resolvers(struct stconn *sc,\n                         struct
      field *stats, size_t stats_count,\n                         struct list *stat_modules)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:2850,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:2851,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/src/resolvers.c:2852,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:2853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - clrall
    - stat_modules
    argTypes:
    - int
    - struct list*
    constantsTouched: []
    func_position:
      end: 2858
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2858
    functionName: resolv_stats_clear_counters
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    - EXTRA_COUNTERS_GET
    - memcpy
    linkageType: ''
    returnType: void
    signature: resolv_stats_clear_counters(int clrall, struct list *stat_modules)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:2866,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:2867,1
    - Dst: EXTRA_COUNTERS_REGISTER
      Src: /src/haproxy/src/resolvers.c:2868,1
    - Dst: EXTRA_COUNTERS_ADD
      Src: /src/haproxy/src/resolvers.c:2872,1
    - Dst: EXTRA_COUNTERS_ALLOC
      Src: /src/haproxy/src/resolvers.c:2878,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:2881,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:2885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - stat_modules
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 2899
      start: 2860
    functionDepth: 0
    functionLinenumber: 2860
    functionLinenumberEnd: 2899
    functionName: resolv_allocate_counters
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - EXTRA_COUNTERS_ALLOC
    - list_for_each_entry
    - strcmp
    - EXTRA_COUNTERS_ADD
    - EXTRA_COUNTERS_REGISTER
    - memcpy
    linkageType: ''
    returnType: int
    signature: resolv_allocate_counters(struct list *stat_modules)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/resolvers.c:2906,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:2910,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:2911,1
    - Dst: cli_err
      Src: /src/haproxy/src/resolvers.c:2917,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 2920
      start: 2904
    functionDepth: 1
    functionLinenumber: 2904
    functionLinenumberEnd: 2920
    functionName: cli_parse_stat_resolvers
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strcmp
    - cli_err
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_stat_resolvers(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/resolvers.c:2934,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/resolvers.c:2936,1
    - Dst: applet_putstr
      Src: /src/haproxy/src/resolvers.c:2937,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/resolvers.c:2942,1
    - Dst: typeof
      Src: /src/haproxy/src/resolvers.c:2942,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/resolvers.c:2944,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/resolvers.c:2952,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/resolvers.c:2953,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/resolvers.c:2956,1
    - Dst: typeof
      Src: /src/haproxy/src/resolvers.c:2956,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/resolvers.c:2960,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/resolvers.c:2961,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2962,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2963,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2964,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2965,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2966,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2967,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2968,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2969,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2970,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2971,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2972,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2973,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2974,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2975,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2976,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/resolvers.c:2977,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/resolvers.c:2978,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2996
      start: 2928
    functionDepth: 1
    functionLinenumber: 2928
    functionLinenumberEnd: 2996
    functionName: cli_io_handler_dump_resolvers_to_buffer
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - LIST_ISEMPTY
    - applet_putstr
    - chunk_printf
    - applet_putchk
    - typeof
    - chunk_appendf
    - list_for_each_entry_from
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: cli_io_handler_dump_resolvers_to_buffer(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/resolvers.c:3017,1
    - Dst: resolv_str_to_dn_label
      Src: /src/haproxy/src/resolvers.c:3023,1
    - Dst: strdup
      Src: /src/haproxy/src/resolvers.c:3029,1
    - Dst: ha_free
      Src: /src/haproxy/src/resolvers.c:3037,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - stream
    - hostname
    - hostname_len
    argTypes:
    - struct stream*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 3040
      start: 3013
    functionDepth: 3
    functionLinenumber: 3013
    functionLinenumberEnd: 3040
    functionName: action_prepare_for_resolution
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - ha_free
    - resolv_str_to_dn_label
    - strdup
    linkageType: ''
    returnType: int
    signature: action_prepare_for_resolution(struct stream *stream, const char *hostname,
      int hostname_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: enter_resolver_code
      Src: /src/haproxy/src/resolvers.c:3059,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/resolvers.c:3066,1
    - Dst: resolv_get_ip_from_response
      Src: /src/haproxy/src/resolvers.c:3084,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:3090,1
    - Dst: memcpy
      Src: /src/haproxy/src/resolvers.c:3094,1
    - Dst: vars_set_by_name
      Src: /src/haproxy/src/resolvers.c:3105,1
    - Dst: strlen
      Src: /src/haproxy/src/resolvers.c:3105,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/resolvers.c:3114,1
    - Dst: action_prepare_for_resolution
      Src: /src/haproxy/src/resolvers.c:3118,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/resolvers.c:3123,1
    - Dst: resolv_link_resolution
      Src: /src/haproxy/src/resolvers.c:3126,1
    - Dst: tick_add
      Src: /src/haproxy/src/resolvers.c:3134,1
    - Dst: tick_isset
      Src: /src/haproxy/src/resolvers.c:3135,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/resolvers.c:3136,1
    - Dst: resolv_trigger_resolution
      Src: /src/haproxy/src/resolvers.c:3140,1
    - Dst: leave_resolver_code
      Src: /src/haproxy/src/resolvers.c:3148,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/resolvers.c:3150,1
    - Dst: ha_free
      Src: /src/haproxy/src/resolvers.c:3154,1
    - Dst: _resolv_unlink_resolution
      Src: /src/haproxy/src/resolvers.c:3157,1
    - Dst: pool_free
      Src: /src/haproxy/src/resolvers.c:3158,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 88
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 3162
      start: 3046
    functionDepth: 6
    functionLinenumber: 3046
    functionLinenumberEnd: 3162
    functionName: resolv_action_do_resolve
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - enter_resolver_code
    - tick_is_expired
    - ha_free
    - tick_add
    - strlen
    - vars_set_by_name
    - _resolv_unlink_resolution
    - resolv_trigger_resolution
    - HA_SPIN_UNLOCK
    - pool_free
    - HA_SPIN_LOCK
    - sample_fetch_as_type
    - resolv_get_ip_from_response
    - resolv_link_resolution
    - tick_isset
    - leave_resolver_code
    - action_prepare_for_resolution
    - memcpy
    linkageType: ''
    returnType: enum act_return
    signature: "resolv_action_do_resolve(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t
      \     struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: release_sample_expr
      Src: /src/haproxy/src/resolvers.c:3166,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:3167,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:3168,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:3169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 3170
      start: 3164
    functionDepth: 5
    functionLinenumber: 3164
    functionLinenumberEnd: 3170
    functionName: release_resolv_action
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - free
    - release_sample_expr
    linkageType: ''
    returnType: void
    signature: release_resolv_action(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/resolvers.c:3196,1
    - Dst: strchr
      Src: /src/haproxy/src/resolvers.c:3200,1
    - Dst: my_strndup
      Src: /src/haproxy/src/resolvers.c:3203,1
    - Dst: strchr
      Src: /src/haproxy/src/resolvers.c:3213,1
    - Dst: strchr
      Src: /src/haproxy/src/resolvers.c:3215,1
    - Dst: my_strndup
      Src: /src/haproxy/src/resolvers.c:3218,1
    - Dst: calloc
      Src: /src/haproxy/src/resolvers.c:3223,1
    - Dst: strchr
      Src: /src/haproxy/src/resolvers.c:3235,1
    - Dst: strchr
      Src: /src/haproxy/src/resolvers.c:3237,1
    - Dst: strncmp
      Src: /src/haproxy/src/resolvers.c:3241,1
    - Dst: strncmp
      Src: /src/haproxy/src/resolvers.c:3244,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/resolvers.c:3254,1
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3266,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/resolvers.c:3268,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:3269,1
    - Dst: ha_free
      Src: /src/haproxy/src/resolvers.c:3283,1
    - Dst: ha_free
      Src: /src/haproxy/src/resolvers.c:3284,1
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3285,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 3288
      start: 3185
    functionDepth: 7
    functionLinenumber: 3185
    functionLinenumberEnd: 3288
    functionName: resolv_parse_do_resolve
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strncmp
    - ha_free
    - calloc
    - sample_parse_expr
    - free
    - sample_src_names
    - strchr
    - my_strndup
    linkageType: ''
    returnType: enum act_parse_ret
    signature: resolv_parse_do_resolve(const char **args, int *orig_arg, struct proxy
      *px, struct act_rule *rule, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3314,1
    - Dst: find_resolvers_by_id
      Src: /src/haproxy/src/resolvers.c:3318,1
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - rule
    - px
    - err
    argTypes:
    - struct act_rule*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 3326
      start: 3309
    functionDepth: 5
    functionLinenumber: 3309
    functionLinenumberEnd: 3326
    functionName: check_action_do_resolve
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - memprintf
    - find_resolvers_by_id
    linkageType: ''
    returnType: int
    signature: check_action_do_resolve(struct act_rule *rule, struct proxy *px, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 3337
      start: 3328
    functionDepth: 0
    functionLinenumber: 3328
    functionLinenumberEnd: 3337
    functionName: resolvers_setup_proxy
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: resolvers_setup_proxy(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/src/resolvers.c:3352,1
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3353,1
    - Dst: fopen
      Src: /src/haproxy/src/resolvers.c:3358,1
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3360,1
    - Dst: calloc
      Src: /src/haproxy/src/resolvers.c:3365,1
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3368,1
    - Dst: fgets
      Src: /src/haproxy/src/resolvers.c:3373,1
    - Dst: strncmp
      Src: /src/haproxy/src/resolvers.c:3375,1
    - Dst: strtok
      Src: /src/haproxy/src/resolvers.c:3378,1
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3384,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:3391,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3392,1
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3394,1
    - Dst: memset
      Src: /src/haproxy/src/resolvers.c:3404,1
    - Dst: str2ip2
      Src: /src/haproxy/src/resolvers.c:3405,1
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3407,1
    - Dst: set_host_port
      Src: /src/haproxy/src/resolvers.c:3413,1
    - Dst: protocol_lookup
      Src: /src/haproxy/src/resolvers.c:3415,1
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3418,1
    - Dst: calloc
      Src: /src/haproxy/src/resolvers.c:3424,1
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3426,1
    - Dst: dns_dgram_init
      Src: /src/haproxy/src/resolvers.c:3431,1
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3433,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:3435,1
    - Dst: strdup
      Src: /src/haproxy/src/resolvers.c:3439,1
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3442,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:3444,1
    - Dst: strdup
      Src: /src/haproxy/src/resolvers.c:3448,1
    - Dst: memprintf
      Src: /src/haproxy/src/resolvers.c:3451,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:3453,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:3454,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:3462,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:3467,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:3468,1
    - Dst: fclose
      Src: /src/haproxy/src/resolvers.c:3470,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 109
    argCount: 2
    argNames:
    - errmsg
    - warnmsg
    argTypes:
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 3473
      start: 3339
    functionDepth: 5
    functionLinenumber: 3339
    functionLinenumberEnd: 3473
    functionName: parse_resolve_conf
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - malloc
    - memprintf
    - strncmp
    - set_host_port
    - list_for_each_entry
    - calloc
    - strcmp
    - memset
    - LIST_APPEND
    - str2ip2
    - free
    - strdup
    - protocol_lookup
    - strtok
    - dns_dgram_init
    - fopen
    - fclose
    - fgets
    linkageType: ''
    returnType: int
    signature: parse_resolve_conf(char **errmsg, char **warnmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/resolvers.c:3482,1
    - Dst: alloc_new_proxy
      Src: /src/haproxy/src/resolvers.c:3488,1
    - Dst: ha_free
      Src: /src/haproxy/src/resolvers.c:3490,1
    - Dst: resolvers_setup_proxy
      Src: /src/haproxy/src/resolvers.c:3495,1
    - Dst: copy_file_name
      Src: /src/haproxy/src/resolvers.c:3497,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:3502,1
    - Dst: strdup
      Src: /src/haproxy/src/resolvers.c:3503,1
    - Dst: strdup
      Src: /src/haproxy/src/resolvers.c:3509,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/resolvers.c:3529,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/resolvers.c:3530,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/resolvers.c:3531,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/resolvers.c:3532,1
    - Dst: ha_free
      Src: /src/haproxy/src/resolvers.c:3541,1
    - Dst: free_proxy
      Src: /src/haproxy/src/resolvers.c:3543,1
    - Dst: ha_free
      Src: /src/haproxy/src/resolvers.c:3545,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 62
    argCount: 4
    argNames:
    - resolvers
    - id
    - file
    - linenum
    argTypes:
    - struct resolvers**
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 3547
      start: 3475
    functionDepth: 4
    functionLinenumber: 3475
    functionLinenumberEnd: 3547
    functionName: resolvers_new
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - free_proxy
    - resolvers_setup_proxy
    - ha_free
    - calloc
    - LIST_APPEND
    - HA_SPIN_INIT
    - strdup
    - LIST_INIT
    - copy_file_name
    - alloc_new_proxy
    linkageType: ''
    returnType: int
    signature: resolvers_new(struct resolvers **resolvers, const char *id, const char
      *file, int linenum)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3567,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3569,1
    - Dst: invalid_char
      Src: /src/haproxy/src/resolvers.c:3574,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3576,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:3582,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3584,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3585,1
    - Dst: resolvers_new
      Src: /src/haproxy/src/resolvers.c:3591,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3593,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3598,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3605,1
    - Dst: invalid_char
      Src: /src/haproxy/src/resolvers.c:3611,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3613,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:3619,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3621,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3622,1
    - Dst: str2sa_range
      Src: /src/haproxy/src/resolvers.c:3628,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3632,1
    - Dst: calloc
      Src: /src/haproxy/src/resolvers.c:3637,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3638,1
    - Dst: parse_server
      Src: /src/haproxy/src/resolvers.c:3644,1
    - Dst: dns_stream_init
      Src: /src/haproxy/src/resolvers.c:3651,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3652,1
    - Dst: dns_dgram_init
      Src: /src/haproxy/src/resolvers.c:3657,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3658,1
    - Dst: strdup
      Src: /src/haproxy/src/resolvers.c:3663,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3664,1
    - Dst: strdup
      Src: /src/haproxy/src/resolvers.c:3669,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3670,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/resolvers.c:3680,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3683,1
    - Dst: parse_resolve_conf
      Src: /src/haproxy/src/resolvers.c:3684,1
    - Dst: indent_msg
      Src: /src/haproxy/src/resolvers.c:3686,1
    - Dst: ha_warning
      Src: /src/haproxy/src/resolvers.c:3687,1
    - Dst: ha_free
      Src: /src/haproxy/src/resolvers.c:3688,1
    - Dst: indent_msg
      Src: /src/haproxy/src/resolvers.c:3691,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3692,1
    - Dst: ha_free
      Src: /src/haproxy/src/resolvers.c:3693,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3697,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3702,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3704,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/resolvers.c:3708,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3710,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3716,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3722,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3727,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3729,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3731,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3733,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3735,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3737,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3740,1
    - Dst: warn_if_lower
      Src: /src/haproxy/src/resolvers.c:3746,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3747,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3753,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3757,1
    - Dst: atoi
      Src: /src/haproxy/src/resolvers.c:3763,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3765,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3773,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3774,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3779,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3781,1
    - Dst: atoi
      Src: /src/haproxy/src/resolvers.c:3786,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3788,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3790,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3795,1
    - Dst: strcmp
      Src: /src/haproxy/src/resolvers.c:3796,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3801,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/resolvers.c:3806,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3808,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3814,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3820,1
    - Dst: warn_if_lower
      Src: /src/haproxy/src/resolvers.c:3832,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3833,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3840,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3847,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:3853,1
    - Dst: free
      Src: /src/haproxy/src/resolvers.c:3854,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 255
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 3856
      start: 3560
    functionDepth: 9
    functionLinenumber: 3560
    functionLinenumberEnd: 3856
    functionName: cfg_parse_resolvers
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ha_free
    - atoi
    - ha_warning
    - dns_dgram_init
    - list_for_each_entry
    - strcmp
    - parse_resolve_conf
    - free
    - indent_msg
    - str2sa_range
    - resolvers_new
    - strdup
    - parse_server
    - warn_if_lower
    - dns_stream_init
    - calloc
    - LIST_APPEND
    - invalid_char
    - parse_time_err
    linkageType: ''
    returnType: int
    signature: cfg_parse_resolvers(const char *file, int linenum, char **args, int
      kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_resolvers_by_id
      Src: /src/haproxy/src/resolvers.c:3871,1
    - Dst: resolvers_new
      Src: /src/haproxy/src/resolvers.c:3875,1
    - Dst: parse_resolve_conf
      Src: /src/haproxy/src/resolvers.c:3881,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/resolvers.c:3885,1
    - Dst: resolvers_destroy
      Src: /src/haproxy/src/resolvers.c:3892,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3899
      start: 3862
    functionDepth: 6
    functionLinenumber: 3862
    functionLinenumberEnd: 3899
    functionName: resolvers_create_default
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 1
    functionsReached:
    - LIST_ISEMPTY
    - resolvers_destroy
    - parse_resolve_conf
    - resolvers_new
    - find_resolvers_by_id
    linkageType: ''
    returnType: int
    signature: resolvers_create_default()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xprt_get
      Src: /src/haproxy/src/resolvers.c:3913,1
    - Dst: xprt_get
      Src: /src/haproxy/src/resolvers.c:3913,1
    - Dst: xprt_get
      Src: /src/haproxy/src/resolvers.c:3914,1
    - Dst: ha_alert
      Src: /src/haproxy/src/resolvers.c:3915,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3926
      start: 3901
    functionDepth: 9
    functionLinenumber: 3901
    functionLinenumberEnd: 3926
    functionName: cfg_post_parse_resolvers
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - xprt_get
    linkageType: ''
    returnType: int
    signature: cfg_post_parse_resolvers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/src/resolvers.c:3942,1
    - Dst: ist
      Src: /src/haproxy/src/resolvers.c:3943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - id
    - metric
    - desc
    argTypes:
    - unsigned int
    - struct promex_metric*
    - struct ist*
    constantsTouched: []
    func_position:
      end: 3945
      start: 3935
    functionDepth: 0
    functionLinenumber: 3935
    functionLinenumberEnd: 3945
    functionName: rslv_promex_metric_info
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - ist
    linkageType: ''
    returnType: int
    signature: rslv_promex_metric_info(unsigned int id, struct promex_metric *metric,
      struct ist *desc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/resolvers.c:3951,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/resolvers.c:3955,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/resolvers.c:3956,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/resolvers.c:3958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - unused
    - id
    argTypes:
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3961
      start: 3947
    functionDepth: 0
    functionLinenumber: 3947
    functionLinenumberEnd: 3961
    functionName: rslv_promex_start_ts
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - LIST_NEXT
    - LIST_ISEMPTY
    linkageType: ''
    returnType: void
    signature: '*rslv_promex_start_ts(void *unused, unsigned int id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/resolvers.c:3968,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/resolvers.c:3971,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/resolvers.c:3972,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/resolvers.c:3973,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/resolvers.c:3975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - unused
    - metric_ctx
    - id
    argTypes:
    - void*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 3980
      start: 3963
    functionDepth: 0
    functionLinenumber: 3963
    functionLinenumberEnd: 3980
    functionName: rslv_promex_next_ts
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_from
    - LIST_NEXT
    - LIST_ISEMPTY
    linkageType: ''
    returnType: void
    signature: '*rslv_promex_next_ts(void *unused, void *metric_ctx, unsigned int
      id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/src/resolvers.c:3989,1
    - Dst: ist
      Src: /src/haproxy/src/resolvers.c:3990,1
    - Dst: ist
      Src: /src/haproxy/src/resolvers.c:3991,1
    - Dst: ist
      Src: /src/haproxy/src/resolvers.c:3992,1
    - Dst: resolv_fill_stats
      Src: /src/haproxy/src/resolvers.c:3994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - unused
    - metric_ctx
    - id
    - labels
    - field
    argTypes:
    - void*
    - void*
    - unsigned int
    - struct promex_label*
    - struct field*
    constantsTouched: []
    func_position:
      end: 3998
      start: 3982
    functionDepth: 2
    functionLinenumber: 3982
    functionLinenumberEnd: 3998
    functionName: rslv_promex_fill_ts
    functionSourceFile: /src/haproxy/src/resolvers.c
    functionUses: 0
    functionsReached:
    - ist
    - resolv_fill_stats
    linkageType: ''
    returnType: int
    signature: rslv_promex_fill_ts(void *unused, void *metric_ctx, unsigned int id,
      struct promex_label *labels, struct field *field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/auth.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: auth_find_userlist
    functionSourceFile: /src/haproxy/src/auth.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct userlist
    signature: '*

      auth_find_userlist(char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/auth.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ul
    - name
    argTypes:
    - struct userlist*
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: check_group
    functionSourceFile: /src/haproxy/src/auth.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: check_group(struct userlist *ul, char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/auth.c:98,1
    - Dst: free
      Src: /src/haproxy/src/auth.c:103,1
    - Dst: free
      Src: /src/haproxy/src/auth.c:104,1
    - Dst: free
      Src: /src/haproxy/src/auth.c:105,1
    - Dst: free
      Src: /src/haproxy/src/auth.c:113,1
    - Dst: free
      Src: /src/haproxy/src/auth.c:114,1
    - Dst: free
      Src: /src/haproxy/src/auth.c:119,1
    - Dst: free
      Src: /src/haproxy/src/auth.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - ul
    argTypes:
    - struct userlist*
    constantsTouched: []
    func_position:
      end: 122
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 122
    functionName: userlist_free
    functionSourceFile: /src/haproxy/src/auth.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: userlist_free(struct userlist *ul)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtok
      Src: /src/haproxy/src/auth.c:141,1
    - Dst: strcmp
      Src: /src/haproxy/src/auth.c:143,1
    - Dst: ha_alert
      Src: /src/haproxy/src/auth.c:148,1
    - Dst: free
      Src: /src/haproxy/src/auth.c:153,1
    - Dst: calloc
      Src: /src/haproxy/src/auth.c:159,1
    - Dst: ha_alert
      Src: /src/haproxy/src/auth.c:161,1
    - Dst: free
      Src: /src/haproxy/src/auth.c:166,1
    - Dst: free
      Src: /src/haproxy/src/auth.c:176,1
    - Dst: strtok
      Src: /src/haproxy/src/auth.c:186,1
    - Dst: strcmp
      Src: /src/haproxy/src/auth.c:188,1
    - Dst: ha_alert
      Src: /src/haproxy/src/auth.c:193,1
    - Dst: calloc
      Src: /src/haproxy/src/auth.c:199,1
    - Dst: ha_alert
      Src: /src/haproxy/src/auth.c:201,1
    - Dst: ha_free
      Src: /src/haproxy/src/auth.c:211,1
    - Dst: fprintf
      Src: /src/haproxy/src/auth.c:218,1
    - Dst: fprintf
      Src: /src/haproxy/src/auth.c:222,1
    - Dst: fprintf
      Src: /src/haproxy/src/auth.c:225,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 124
    functionDepth: 9
    functionLinenumber: 124
    functionLinenumberEnd: 231
    functionName: userlist_postinit
    functionSourceFile: /src/haproxy/src/auth.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - ha_free
    - strcmp
    - calloc
    - free
    - fprintf
    - strtok
    linkageType: ''
    returnType: int
    signature: userlist_postinit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/auth.c:247,1
    - Dst: strcmp
      Src: /src/haproxy/src/auth.c:252,1
    - Dst: fprintf
      Src: /src/haproxy/src/auth.c:259,1
    - Dst: fprintf
      Src: /src/haproxy/src/auth.c:262,1
    - Dst: crypt_r
      Src: /src/haproxy/src/auth.c:268,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/auth.c:270,1
    - Dst: crypt
      Src: /src/haproxy/src/auth.c:271,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/auth.c:272,1
    - Dst: fprintf
      Src: /src/haproxy/src/auth.c:281,1
    - Dst: strcmp
      Src: /src/haproxy/src/auth.c:284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - ul
    - user
    - pass
    argTypes:
    - struct userlist*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 288
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 288
    functionName: check_user
    functionSourceFile: /src/haproxy/src/auth.c
    functionUses: 2
    functionsReached:
    - strcmp
    - HA_SPIN_UNLOCK
    - crypt
    - HA_SPIN_LOCK
    - fprintf
    - crypt_r
    linkageType: ''
    returnType: int
    signature: check_user(struct userlist *ul, const char *user, const char *pass)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/auth.c:305,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/auth.c:312,1
    - Dst: strcmp
      Src: /src/haproxy/src/auth.c:317,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - smp
    - expr
    - fill
    argTypes:
    - struct sample*
    - struct pattern_expr*
    - int
    constantsTouched: []
    func_position:
      end: 322
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 322
    functionName: pat_match_auth
    functionSourceFile: /src/haproxy/src/auth.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strcmp
    linkageType: ''
    returnType: struct pattern
    signature: '*

      pat_match_auth(struct sample *smp, struct pattern_expr *expr, int fill)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:67,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:69,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:76,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:77,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:82,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:83,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:88,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:89,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:96,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:97,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:104,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:105,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:112,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:113,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:120,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:121,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:128,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:129,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:133,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:134,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:138,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:139,1
    - Dst: protocol_clrf_all
      Src: /src/haproxy/src/cfgparse-global.c:141,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:144,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:148,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:151,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:156,1
    - Dst: blk_SHA1_Init
      Src: /src/haproxy/src/cfgparse-global.c:161,1
    - Dst: blk_SHA1_Update
      Src: /src/haproxy/src/cfgparse-global.c:162,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-global.c:162,1
    - Dst: blk_SHA1_Final
      Src: /src/haproxy/src/cfgparse-global.c:163,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cfgparse-global.c:164,1
    - Dst: memcpy
      Src: /src/haproxy/src/cfgparse-global.c:165,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:168,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:169,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:172,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:177,1
    - Dst: strl2irc
      Src: /src/haproxy/src/cfgparse-global.c:181,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-global.c:181,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-global.c:182,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:188,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:189,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:192,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:197,1
    - Dst: strl2irc
      Src: /src/haproxy/src/cfgparse-global.c:201,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-global.c:201,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-global.c:202,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:207,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:208,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:211,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:214,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:220,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:222,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:225,1
    - Dst: getpwnam
      Src: /src/haproxy/src/cfgparse-global.c:230,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:235,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse-global.c:235,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:239,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:241,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:244,1
    - Dst: getgrnam
      Src: /src/haproxy/src/cfgparse-global.c:249,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:254,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse-global.c:254,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:259,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:262,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:265,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:270,1
    - Dst: strtol
      Src: /src/haproxy/src/cfgparse-global.c:274,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:276,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:282,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:288,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:289,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:292,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:296,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:298,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:301,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:306,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:307,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:310,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:315,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:319,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:321,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:322,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:325,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:330,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:334,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:336,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:337,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:340,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:345,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:349,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:351,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:352,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:355,1
    - Dst: atoi
      Src: /src/haproxy/src/cfgparse-global.c:359,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:361,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:362,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:365,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:370,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:374,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:376,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:377,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:380,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:384,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:386,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:387,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:390,1
    - Dst: atoi
      Src: /src/haproxy/src/cfgparse-global.c:394,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:396,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:401,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:402,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:405,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:410,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:414,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:416,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:417,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:420,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:425,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:429,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:431,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:436,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-global.c:443,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-global.c:446,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-global.c:448,1
    - Dst: snprintf
      Src: /src/haproxy/src/cfgparse-global.c:450,1
    - Dst: snprintf
      Src: /src/haproxy/src/cfgparse-global.c:452,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:454,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:458,1
    - Dst: isupper
      Src: /src/haproxy/src/cfgparse-global.c:463,1
    - Dst: islower
      Src: /src/haproxy/src/cfgparse-global.c:463,1
    - Dst: isdigit
      Src: /src/haproxy/src/cfgparse-global.c:464,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:469,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-global.c:477,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-global.c:479,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:481,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:484,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:486,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:493,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-global.c:497,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:502,1
    - Dst: strtol
      Src: /src/haproxy/src/cfgparse-global.c:504,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:509,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:511,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:516,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:518,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:523,1
    - Dst: getpwnam
      Src: /src/haproxy/src/cfgparse-global.c:526,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:528,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:539,1
    - Dst: getgrnam
      Src: /src/haproxy/src/cfgparse-global.c:542,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:544,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:555,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:561,1
    - Dst: parse_logger
      Src: /src/haproxy/src/cfgparse-global.c:562,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:563,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:568,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:572,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-global.c:582,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-global.c:583,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:585,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:587,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:593,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-global.c:598,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:600,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:602,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:608,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-global.c:613,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:615,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:617,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:623,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-global.c:628,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:630,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:631,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:634,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/cfgparse-global.c:638,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/cfgparse-global.c:639,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-global.c:639,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-global.c:639,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-global.c:639,1
    - Dst: b_orig
      Src: /src/haproxy/src/cfgparse-global.c:640,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/cfgparse-global.c:641,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:642,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:647,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:648,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:651,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:656,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:660,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:662,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:666,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:670,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:673,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/cfgparse-global.c:678,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:680,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:685,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:690,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:695,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:704,1
    - Dst: strchr
      Src: /src/haproxy/src/cfgparse-global.c:712,1
    - Dst: parse_process_number
      Src: /src/haproxy/src/cfgparse-global.c:719,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:720,1
    - Dst: parse_process_number
      Src: /src/haproxy/src/cfgparse-global.c:726,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:727,1
    - Dst: parse_cpu_set
      Src: /src/haproxy/src/cfgparse-global.c:737,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:738,1
    - Dst: my_popcountl
      Src: /src/haproxy/src/cfgparse-global.c:744,1
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/cfgparse-global.c:744,1
    - Dst: my_popcountl
      Src: /src/haproxy/src/cfgparse-global.c:745,1
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/cfgparse-global.c:745,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:746,1
    - Dst: ha_cpuset_assign
      Src: /src/haproxy/src/cfgparse-global.c:764,1
    - Dst: ha_cpuset_assign
      Src: /src/haproxy/src/cfgparse-global.c:775,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cfgparse-global.c:777,1
    - Dst: ha_cpuset_ffs
      Src: /src/haproxy/src/cfgparse-global.c:778,1
    - Dst: ha_cpuset_clr
      Src: /src/haproxy/src/cfgparse-global.c:779,1
    - Dst: ha_cpuset_set
      Src: /src/haproxy/src/cfgparse-global.c:780,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:785,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:791,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:792,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:796,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:797,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:802,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:805,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:809,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/cfgparse-global.c:815,1
    - Dst: atoll
      Src: /src/haproxy/src/cfgparse-global.c:816,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:818,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/cfgparse-global.c:824,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse-global.c:833,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:837,1
    - Dst: check_kw_experimental
      Src: /src/haproxy/src/cfgparse-global.c:843,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:844,1
    - Dst: parse
      Src: /src/haproxy/src/cfgparse-global.c:849,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:851,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-global.c:855,1
    - Dst: cfg_find_best_match
      Src: /src/haproxy/src/cfgparse-global.c:866,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:868,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-global.c:870,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-global.c:875,1
    CyclomaticComplexity: 304
    EdgeCount: 304
    ICount: 767
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 877
      start: 62
    functionDepth: 9
    functionLinenumber: 62
    functionLinenumberEnd: 877
    functionName: cfg_parse_global
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - chunk_destroy
    - strl2irc
    - ha_cpuset_ffs
    - atoi
    - ha_warning
    - islower
    - atoll
    - parse_process_number
    - check_kw_experimental
    - HA_ATOMIC_LOAD
    - HA_ATOMIC_STORE
    - BUG_ON
    - b_orig
    - ha_cpuset_assign
    - strerror
    - protocol_clrf_all
    - list_for_each_entry
    - strcmp
    - cfg_find_best_match
    - free
    - alertif_too_many_args
    - getpwnam
    - blk_SHA1_Update
    - strtol
    - ha_cpuset_count
    - ha_cpuset_set
    - atol
    - chunk_initlen
    - parse
    - blk_SHA1_Final
    - strlen
    - snprintf
    - strdup
    - blk_SHA1_Init
    - strchr
    - isupper
    - ha_cpuset_clr
    - getgrnam
    - parse_logger
    - my_popcountl
    - calloc
    - ha_cpuset_zero
    - parse_cpu_set
    - parse_time_err
    - memcpy
    - isdigit
    linkageType: ''
    returnType: int
    signature: cfg_parse_global(const char *file, int linenum, char **args, int kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 889
      start: 879
    functionDepth: 7
    functionLinenumber: 879
    functionLinenumberEnd: 889
    functionName: cfg_parse_prealloc_fd
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_prealloc_fd(char **args, int section_type, struct proxy
      *curpx,\n                            const struct proxy *defpx, const char *file,
      int line,\n                            char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:901,1
    - Dst: ist
      Src: /src/haproxy/src/cfgparse-global.c:905,1
    - Dst: istlen
      Src: /src/haproxy/src/cfgparse-global.c:906,1
    - Dst: istfind
      Src: /src/haproxy/src/cfgparse-global.c:906,1
    - Dst: istadv
      Src: /src/haproxy/src/cfgparse-global.c:907,1
    - Dst: istfind
      Src: /src/haproxy/src/cfgparse-global.c:907,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:909,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:912,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:916,1
    - Dst: istmatch
      Src: /src/haproxy/src/cfgparse-global.c:920,1
    - Dst: ist
      Src: /src/haproxy/src/cfgparse-global.c:920,1
    - Dst: istmatch
      Src: /src/haproxy/src/cfgparse-global.c:926,1
    - Dst: ist
      Src: /src/haproxy/src/cfgparse-global.c:926,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:933,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 938
      start: 892
    functionDepth: 5
    functionLinenumber: 892
    functionLinenumberEnd: 938
    functionName: cfg_parse_reject_privileged_ports
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - memprintf
    - istmatch
    - istlen
    - strcmp
    - istfind
    - ist
    - istadv
    linkageType: ''
    returnType: int
    signature: "cfg_parse_reject_privileged_ports(char **args, int section_type,\n
      \                                            struct proxy *curpx,\n                                             const
      struct proxy *defpx,\n                                             const char
      *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:948,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:952,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:955,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 963
      start: 941
    functionDepth: 7
    functionLinenumber: 941
    functionLinenumberEnd: 963
    functionName: cfg_parse_global_master_worker
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_master_worker(char **args, int section_type,\n\t\t\t\t\t
      \ struct proxy *curpx, const struct proxy *defpx,\n\t\t\t\t\t  const char *file,
      int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:973,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:976,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:979,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:982,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cfgparse-global.c:986,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 991
      start: 966
    functionDepth: 7
    functionLinenumber: 966
    functionLinenumberEnd: 991
    functionName: cfg_parse_global_mode
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - strcmp
    - BUG_ON
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_mode(char **args, int section_type,\n\t\t\t\t struct
      proxy *curpx, const struct proxy *defpx,\n\t\t\t\t const char *file, int line,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:1001,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1004,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1007,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1010,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1013,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cfgparse-global.c:1017,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1022
      start: 994
    functionDepth: 7
    functionLinenumber: 994
    functionLinenumberEnd: 1022
    functionName: cfg_parse_global_disable_poller
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - strcmp
    - BUG_ON
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_disable_poller(char **args, int section_type,\n\t\t\t\t\t
      \  struct proxy *curpx, const struct proxy *defpx,\n\t\t\t\t\t   const char
      *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:1031,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1034,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1036,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1040,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-global.c:1043,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cfgparse-global.c:1045,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1050
      start: 1024
    functionDepth: 7
    functionLinenumber: 1024
    functionLinenumberEnd: 1050
    functionName: cfg_parse_global_pidfile
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - strdup
    - BUG_ON
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_pidfile(char **args, int section_type,\n\t\t\t\t
      \   struct proxy *curpx, const struct proxy *defpx,\n\t\t\t\t    const char
      *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:1057,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1060,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1062,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cfgparse-global.c:1065,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1070
      start: 1052
    functionDepth: 7
    functionLinenumber: 1052
    functionLinenumberEnd: 1070
    functionName: cfg_parse_global_non_std_directives
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - strcmp
    - BUG_ON
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_non_std_directives(char **args, int section_type,\n\t\t\t\t\t
      \      struct proxy *curpx, const struct proxy *defpx,\n\t\t\t\t\t       const
      char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:1078,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1082,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1084,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1088,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:1091,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1096,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1098,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1102,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:1105,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1109,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1111,1
    - Dst: atoi
      Src: /src/haproxy/src/cfgparse-global.c:1114,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1116,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1120,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1124,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1128,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:1131,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1133,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1140,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1142,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/cfgparse-global.c:1145,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1150,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1156,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1158,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/cfgparse-global.c:1161,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1166,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1174,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1180,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1182,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:1185,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1187,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1193,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1197,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/cfgparse-global.c:1201,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1203,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1208,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1213,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1218,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1225,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1227,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1231,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/cfgparse-global.c:1234,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1240,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1242,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1246,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/cfgparse-global.c:1249,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1255,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1257,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1261,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/cfgparse-global.c:1264,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1270,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1272,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1276,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/cfgparse-global.c:1279,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1285,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1287,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/cfgparse-global.c:1290,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1296,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1298,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:1301,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1305,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1307,1
    - Dst: atol
      Src: /src/haproxy/src/cfgparse-global.c:1310,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1314,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1316,1
    - Dst: atoi
      Src: /src/haproxy/src/cfgparse-global.c:1319,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1321,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1327,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1329,1
    - Dst: atoi
      Src: /src/haproxy/src/cfgparse-global.c:1332,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1334,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1340,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1342,1
    - Dst: atoi
      Src: /src/haproxy/src/cfgparse-global.c:1345,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1347,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1351,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1353,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1356,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1358,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1360,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1363,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cfgparse-global.c:1368,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1375,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 272
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1378
      start: 1072
    functionDepth: 7
    functionLinenumber: 1072
    functionLinenumberEnd: 1378
    functionName: cfg_parse_global_tune_opts
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    - strcmp
    - parse_size_err
    - atol
    - parse_time_err
    - BUG_ON
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_tune_opts(char **args, int section_type,\n\t\t\t\t
      \     struct proxy *curpx, const struct proxy *defpx,\n\t\t\t\t      const char
      *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:1385,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1388,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1390,1
    - Dst: mark_tainted
      Src: /src/haproxy/src/cfgparse-global.c:1394,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1397,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cfgparse-global.c:1401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1407
      start: 1380
    functionDepth: 7
    functionLinenumber: 1380
    functionLinenumberEnd: 1407
    functionName: cfg_parse_global_tune_forward_opts
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - mark_tainted
    - BUG_ON
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_tune_forward_opts(char **args, int section_type,\n\t\t\t\t\t
      \     struct proxy *curpx, const struct proxy *defpx,\n\t\t\t\t\t      const
      char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1413,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1414,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1417,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1418,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cfgparse-global.c:1421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1425
      start: 1409
    functionDepth: 5
    functionLinenumber: 1409
    functionLinenumberEnd: 1425
    functionName: cfg_parse_global_unsupported_opts
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_unsupported_opts(char **args, int section_type,\n\t\t\t\t\t
      \    struct proxy *curpx, const struct proxy *defpx,\n\t\t\t\t\t     const char
      *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1432,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1432,1
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:1433,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1437,1
    - Dst: setenv
      Src: /src/haproxy/src/cfgparse-global.c:1443,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1444,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse-global.c:1445,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1449,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1453,1
    - Dst: unsetenv
      Src: /src/haproxy/src/cfgparse-global.c:1458,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1459,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse-global.c:1460,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-global.c:1465,1
    - Dst: strncmp
      Src: /src/haproxy/src/cfgparse-global.c:1475,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-global.c:1475,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-global.c:1476,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1485,1
    - Dst: memcpy
      Src: /src/haproxy/src/cfgparse-global.c:1490,1
    - Dst: unsetenv
      Src: /src/haproxy/src/cfgparse-global.c:1493,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1494,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse-global.c:1495,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cfgparse-global.c:1504,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1509
      start: 1427
    functionDepth: 7
    functionLinenumber: 1427
    functionLinenumberEnd: 1509
    functionName: cfg_parse_global_env_opts
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - memprintf
    - unsetenv
    - strerror
    - strncmp
    - BUG_ON
    - strcmp
    - strlen
    - setenv
    - memcpy
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_env_opts(char **args, int section_type,\n\t\t\t\t
      \    struct proxy *curpx, const struct proxy *defpx,\n\t\t\t\t     const char
      *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1519,1
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:1523,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/cfgparse-global.c:1527,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1529,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1534,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1539,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1544,1
    - Dst: usleep
      Src: /src/haproxy/src/cfgparse-global.c:1548,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1551
      start: 1511
    functionDepth: 7
    functionLinenumber: 1511
    functionLinenumberEnd: 1551
    functionName: cfg_parse_global_parser_pause
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - memprintf
    - usleep
    - parse_time_err
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_parser_pause(char **args, int section_type,\n                                         struct
      proxy *curpx, const struct proxy *defpx,\n                                         const
      char *file, int line, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:1563,1
    - Dst: strtol
      Src: /src/haproxy/src/cfgparse-global.c:1566,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1568,1
    - Dst: setpriority
      Src: /src/haproxy/src/cfgparse-global.c:1581,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-global.c:1582,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse-global.c:1582,1
    - Dst: getpriority
      Src: /src/haproxy/src/cfgparse-global.c:1585,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-global.c:1587,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse-global.c:1587,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cfgparse-global.c:1595,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1599
      start: 1556
    functionDepth: 9
    functionLinenumber: 1556
    functionLinenumberEnd: 1599
    functionName: cfg_parse_tune_renice
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strerror
    - ha_warning
    - strtol
    - setpriority
    - getpriority
    - BUG_ON
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_tune_renice(char **args, int section_type, struct proxy
      *curpx,\n                                const struct proxy *defpx, const char
      *file, int line,\n                                char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:1607,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1611,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1615,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-global.c:1618,1
    - Dst: stat
      Src: /src/haproxy/src/cfgparse-global.c:1623,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/cfgparse-global.c:1625,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse-global.c:1626,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/cfgparse-global.c:1628,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse-global.c:1630,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/cfgparse-global.c:1632,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse-global.c:1633,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/cfgparse-global.c:1635,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1640
      start: 1601
    functionDepth: 10
    functionLinenumber: 1601
    functionLinenumberEnd: 1640
    functionName: cfg_parse_global_chroot
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strerror
    - stat
    - strdup
    - too_many_args
    - ha_diag_warning
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_chroot(char **args, int section_type, struct proxy
      *curpx,\n\t\t\t\t   const struct proxy *defpx, const char *file, int line,\n\t\t\t\t
      \  char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:1649,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1653,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1658,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-global.c:1663,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-global.c:1664,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1671
      start: 1642
    functionDepth: 7
    functionLinenumber: 1642
    functionLinenumberEnd: 1671
    functionName: cfg_parse_global_localpeer
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - too_many_args
    - strdup
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_localpeer(char **args, int section_type, struct proxy
      *curpx,\n\t\t\t\t      const struct proxy *defpx, const char *file, int line,\n\t\t\t\t
      \     char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-global.c:1680,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1684,1
    - Dst: strtol
      Src: /src/haproxy/src/cfgparse-global.c:1688,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-global.c:1690,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1697
      start: 1673
    functionDepth: 7
    functionLinenumber: 1673
    functionLinenumberEnd: 1697
    functionName: cfg_parse_global_stress_level
    functionSourceFile: /src/haproxy/src/cfgparse-global.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strtol
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_global_stress_level(char **args, int section_type, struct
      proxy *curpx,\n                                         const struct proxy *defpx,
      const char *file, int line,\n                                         char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ebst_lookup
      Src: /src/haproxy/src/ebsttree.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - char*
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: ebst_lookup
    functionSourceFile: /src/haproxy/src/ebsttree.c
    functionUses: 16
    functionsReached:
    - __ebst_lookup
    linkageType: ''
    returnType: struct ebmb_node
    signature: '*ebst_lookup(struct eb_root *root, const char *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ebst_insert
      Src: /src/haproxy/src/ebsttree.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct ebmb_node*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ebst_insert
    functionSourceFile: /src/haproxy/src/ebsttree.c
    functionUses: 7
    functionsReached:
    - __ebst_insert
    linkageType: ''
    returnType: struct ebmb_node
    signature: '*ebst_insert(struct eb_root *root, struct ebmb_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sockaddr_alloc
      Src: /src/haproxy/src/sock.c:75,1
    - Dst: unlikely
      Src: /src/haproxy/src/sock.c:90,1
    - Dst: accept4
      Src: /src/haproxy/src/sock.c:91,1
    - Dst: accept
      Src: /src/haproxy/src/sock.c:98,1
    - Dst: fd_set_nonblock
      Src: /src/haproxy/src/sock.c:99,1
    - Dst: fd_set_cloexec
      Src: /src/haproxy/src/sock.c:101,1
    - Dst: likely
      Src: /src/haproxy/src/sock.c:105,1
    - Dst: unlikely
      Src: /src/haproxy/src/sock.c:106,1
    - Dst: send_log
      Src: /src/haproxy/src/sock.c:107,1
    - Dst: unlikely
      Src: /src/haproxy/src/sock.c:113,1
    - Dst: port_is_restricted
      Src: /src/haproxy/src/sock.c:113,1
    - Dst: conn_new
      Src: /src/haproxy/src/sock.c:117,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/sock.c:128,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/sock.c:142,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/sock.c:145,1
    - Dst: send_log
      Src: /src/haproxy/src/sock.c:160,1
    - Dst: send_log
      Src: /src/haproxy/src/sock.c:168,1
    - Dst: send_log
      Src: /src/haproxy/src/sock.c:177,1
    - Dst: sockaddr_free
      Src: /src/haproxy/src/sock.c:193,1
    - Dst: close
      Src: /src/haproxy/src/sock.c:196,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 83
    argCount: 2
    argNames:
    - l
    - status
    argTypes:
    - struct listener*
    - int*
    constantsTouched: []
    func_position:
      end: 200
      start: 63
    functionDepth: 10
    functionLinenumber: 63
    functionLinenumberEnd: 200
    functionName: sock_accept_conn
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - accept4
    - sockaddr_free
    - send_log
    - sockaddr_alloc
    - _HA_ATOMIC_AND
    - fd_set_nonblock
    - conn_new
    - accept
    - likely
    - port_is_restricted
    - fd_set_cloexec
    - unlikely
    - fd_cant_recv
    - close
    linkageType: ''
    returnType: struct connection
    signature: '*sock_accept_conn(struct listener *l, int *status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qfprintf
      Src: /src/haproxy/src/sock.c:207,1
    - Dst: send_log
      Src: /src/haproxy/src/sock.c:215,1
    - Dst: send_log
      Src: /src/haproxy/src/sock.c:223,1
    - Dst: send_log
      Src: /src/haproxy/src/sock.c:232,1
    - Dst: send_log
      Src: /src/haproxy/src/sock.c:245,1
    - Dst: send_log
      Src: /src/haproxy/src/sock.c:252,1
    - Dst: strerror
      Src: /src/haproxy/src/sock.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 2
    argNames:
    - conn
    - be
    argTypes:
    - struct connection*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 258
      start: 205
    functionDepth: 10
    functionLinenumber: 205
    functionLinenumberEnd: 258
    functionName: sock_handle_system_err
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - send_log
    - strerror
    - qfprintf
    linkageType: ''
    returnType: int
    signature: sock_handle_system_err(struct connection *conn, struct proxy *be)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/src/sock.c:275,1
    - Dst: __objt_server
      Src: /src/haproxy/src/sock.c:276,1
    - Dst: __objt_server
      Src: /src/haproxy/src/sock.c:279,1
    - Dst: protocol_lookup
      Src: /src/haproxy/src/sock.c:282,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/sock.c:283,1
    - Dst: my_socketat
      Src: /src/haproxy/src/sock.c:284,1
    - Dst: sock_handle_system_err
      Src: /src/haproxy/src/sock.c:288,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sock.c:298,1
    - Dst: send_log
      Src: /src/haproxy/src/sock.c:299,1
    - Dst: close
      Src: /src/haproxy/src/sock.c:300,1
    - Dst: fd_set_nonblock
      Src: /src/haproxy/src/sock.c:308,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock.c:310,1
    - Dst: qfprintf
      Src: /src/haproxy/src/sock.c:311,1
    - Dst: send_log
      Src: /src/haproxy/src/sock.c:312,1
    - Dst: close
      Src: /src/haproxy/src/sock.c:313,1
    - Dst: fd_set_cloexec
      Src: /src/haproxy/src/sock.c:321,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sock.c:322,1
    - Dst: send_log
      Src: /src/haproxy/src/sock.c:323,1
    - Dst: close
      Src: /src/haproxy/src/sock.c:324,1
    - Dst: sock_set_mark
      Src: /src/haproxy/src/sock.c:333,1
    - Dst: sock_set_tos
      Src: /src/haproxy/src/sock.c:335,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - conn
    - be
    - stream_err
    argTypes:
    - struct connection*
    - struct proxy*
    - int*
    constantsTouched: []
    func_position:
      end: 339
      start: 268
    functionDepth: 11
    functionLinenumber: 268
    functionLinenumberEnd: 339
    functionName: sock_create_server_socket
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 3
    functionsReached:
    - ha_alert
    - sock_set_tos
    - send_log
    - setsockopt
    - objt_server
    - protocol_lookup
    - fd_set_nonblock
    - sock_set_mark
    - qfprintf
    - __objt_server
    - fd_set_cloexec
    - my_socketat
    - sock_handle_system_err
    - BUG_ON
    - close
    linkageType: ''
    returnType: int
    signature: sock_create_server_socket(struct connection *conn, struct proxy *be,
      int *stream_err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_want_recv_safe
      Src: /src/haproxy/src/sock.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: sock_enable
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - fd_want_recv_safe
    linkageType: ''
    returnType: void
    signature: sock_enable(struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/sock.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: sock_disable
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - fd_stop_recv
    linkageType: ''
    returnType: void
    signature: sock_disable(struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct receiver*::proto::rx_disable
      Src: /src/haproxy/src/sock.c:370,1
    - Dst: fd_delete
      Src: /src/haproxy/src/sock.c:384,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 386
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 386
    functionName: sock_unbind
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - struct receiver*::proto::rx_disable
    - fd_delete
    linkageType: ''
    returnType: void
    signature: sock_unbind(struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/sock.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - un
    - socklen
    argTypes:
    - struct sockaddr_un*
    - socklen_t
    constantsTouched: []
    func_position:
      end: 408
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 408
    functionName: sock_restore_unix_family
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: sock_restore_unix_family(struct sockaddr_un *un, socklen_t socklen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getsockname
      Src: /src/haproxy/src/sock.c:421,1
    - Dst: getpeername
      Src: /src/haproxy/src/sock.c:423,1
    - Dst: sock_restore_unix_family
      Src: /src/haproxy/src/sock.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - fd
    - sa
    - salen
    - dir
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t
    - int
    constantsTouched: []
    func_position:
      end: 431
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 431
    functionName: sock_get_src
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - getsockname
    - sock_restore_unix_family
    - getpeername
    linkageType: ''
    returnType: int
    signature: sock_get_src(int fd, struct sockaddr *sa, socklen_t salen, int dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getpeername
      Src: /src/haproxy/src/sock.c:444,1
    - Dst: getsockname
      Src: /src/haproxy/src/sock.c:446,1
    - Dst: sock_restore_unix_family
      Src: /src/haproxy/src/sock.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - fd
    - sa
    - salen
    - dir
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t
    - int
    constantsTouched: []
    func_position:
      end: 454
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 454
    functionName: sock_get_dst
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - getsockname
    - sock_restore_unix_family
    - getpeername
    linkageType: ''
    returnType: int
    signature: sock_get_dst(int fd, struct sockaddr *sa, socklen_t salen, int dir)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/haproxy/src/sock.c:478,1
    - Dst: strlen
      Src: /src/haproxy/src/sock.c:478,1
    - Dst: strtoll
      Src: /src/haproxy/src/sock.c:494,1
    - Dst: strlen
      Src: /src/haproxy/src/sock.c:494,1
    - Dst: socketpair
      Src: /src/haproxy/src/sock.c:496,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:497,1
    - Dst: send_fd_uxst
      Src: /src/haproxy/src/sock.c:500,1
    - Dst: ha_alert
      Src: /src/haproxy/src/sock.c:501,1
    - Dst: close
      Src: /src/haproxy/src/sock.c:502,1
    - Dst: close
      Src: /src/haproxy/src/sock.c:503,1
    - Dst: close
      Src: /src/haproxy/src/sock.c:507,1
    - Dst: socket
      Src: /src/haproxy/src/sock.c:513,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:515,1
    - Dst: strncpy
      Src: /src/haproxy/src/sock.c:519,1
    - Dst: connect
      Src: /src/haproxy/src/sock.c:523,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:525,1
    - Dst: memset
      Src: /src/haproxy/src/sock.c:530,1
    - Dst: malloc
      Src: /src/haproxy/src/sock.c:531,1
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/sock.c:531,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:533,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock.c:537,1
    - Dst: send
      Src: /src/haproxy/src/sock.c:543,1
    - Dst: strlen
      Src: /src/haproxy/src/sock.c:543,1
    - Dst: strlen
      Src: /src/haproxy/src/sock.c:543,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:544,1
    - Dst: recvmsg
      Src: /src/haproxy/src/sock.c:549,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:550,1
    - Dst: malloc
      Src: /src/haproxy/src/sock.c:559,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:561,1
    - Dst: malloc
      Src: /src/haproxy/src/sock.c:565,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:567,1
    - Dst: CMSG_SPACE
      Src: /src/haproxy/src/sock.c:572,1
    - Dst: recvmsg
      Src: /src/haproxy/src/sock.c:580,1
    - Dst: send
      Src: /src/haproxy/src/sock.c:592,1
    - Dst: CMSG_FIRSTHDR
      Src: /src/haproxy/src/sock.c:595,1
    - Dst: CMSG_NXTHDR
      Src: /src/haproxy/src/sock.c:595,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:600,1
    - Dst: memcpy
      Src: /src/haproxy/src/sock.c:608,1
    - Dst: CMSG_DATA
      Src: /src/haproxy/src/sock.c:608,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:616,1
    - Dst: calloc
      Src: /src/haproxy/src/sock.c:630,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:632,1
    - Dst: getsockname
      Src: /src/haproxy/src/sock.c:638,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:639,1
    - Dst: ha_free
      Src: /src/haproxy/src/sock.c:640,1
    - Dst: sock_restore_unix_family
      Src: /src/haproxy/src/sock.c:647,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:652,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:660,1
    - Dst: malloc
      Src: /src/haproxy/src/sock.c:663,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:665,1
    - Dst: memcpy
      Src: /src/haproxy/src/sock.c:668,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:675,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:683,1
    - Dst: malloc
      Src: /src/haproxy/src/sock.c:686,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:688,1
    - Dst: memcpy
      Src: /src/haproxy/src/sock.c:691,1
    - Dst: ha_warning
      Src: /src/haproxy/src/sock.c:698,1
    - Dst: sock_inet_is_foreign
      Src: /src/haproxy/src/sock.c:708,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock.c:712,1
    - Dst: getsockopt
      Src: /src/haproxy/src/sock.c:721,1
    - Dst: close
      Src: /src/haproxy/src/sock.c:741,1
    - Dst: free
      Src: /src/haproxy/src/sock.c:745,1
    - Dst: free
      Src: /src/haproxy/src/sock.c:746,1
    - Dst: free
      Src: /src/haproxy/src/sock.c:747,1
    - Dst: close
      Src: /src/haproxy/src/sock.c:750,1
    - Dst: free
      Src: /src/haproxy/src/sock.c:753,1
    - Dst: free
      Src: /src/haproxy/src/sock.c:754,1
    - Dst: close
      Src: /src/haproxy/src/sock.c:756,1
    - Dst: free
      Src: /src/haproxy/src/sock.c:757,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 209
    argCount: 1
    argNames:
    - unixsocket
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 760
      start: 460
    functionDepth: 9
    functionLinenumber: 460
    functionLinenumberEnd: 760
    functionName: sock_get_old_sockets
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - strncmp
    - ha_free
    - ha_warning
    - getsockname
    - connect
    - memset
    - close
    - strtoll
    - CMSG_DATA
    - CMSG_NXTHDR
    - free
    - CMSG_SPACE
    - socket
    - send
    - socketpair
    - CMSG_FIRSTHDR
    - setsockopt
    - strlen
    - send_fd_uxst
    - strncpy
    - recvmsg
    - sock_inet_is_foreign
    - malloc
    - getsockopt
    - calloc
    - sock_restore_unix_family
    - memcpy
    linkageType: ''
    returnType: int
    signature: sock_get_old_sockets(const char *unixsocket)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/sock.c:798,1
    - Dst: strcmp
      Src: /src/haproxy/src/sock.c:808,1
    - Dst: USE_NS
      Src: /src/haproxy/src/sock.c:809,1
    - Dst: strcmp
      Src: /src/haproxy/src/sock.c:810,1
    - Dst: struct receiver*::proto::fam::addrcmp
      Src: /src/haproxy/src/sock.c:812,1
    - Dst: free
      Src: /src/haproxy/src/sock.c:825,1
    - Dst: free
      Src: /src/haproxy/src/sock.c:826,1
    - Dst: free
      Src: /src/haproxy/src/sock.c:827,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 33
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 830
      start: 770
    functionDepth: 3
    functionLinenumber: 770
    functionLinenumberEnd: 830
    functionName: sock_find_compatible_fd
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 2
    functionsReached:
    - struct receiver*::proto::fam::addrcmp
    - strlen
    - USE_NS
    - strcmp
    - free
    linkageType: ''
    returnType: int
    signature: sock_find_compatible_fd(const struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/haproxy/src/sock.c:842,1
    - Dst: free
      Src: /src/haproxy/src/sock.c:843,1
    - Dst: free
      Src: /src/haproxy/src/sock.c:844,1
    - Dst: free
      Src: /src/haproxy/src/sock.c:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 848
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 848
    functionName: sock_drop_unused_old_sockets
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 2
    functionsReached:
    - free
    - close
    linkageType: ''
    returnType: void
    signature: sock_drop_unused_old_sockets()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/haproxy/src/sock.c:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rx
    argTypes:
    - struct receiver*
    constantsTouched: []
    func_position:
      end: 864
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 864
    functionName: sock_accepting_conn
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 3
    functionsReached:
    - getsockopt
    linkageType: ''
    returnType: int
    signature: sock_accepting_conn(const struct receiver *rx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/sock.c:878,1
    - Dst: listener_accept
      Src: /src/haproxy/src/sock.c:879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 880
      start: 871
    functionDepth: 5
    functionLinenumber: 871
    functionLinenumberEnd: 880
    functionName: sock_accept_iocb
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - listener_accept
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: sock_accept_iocb(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/sock.c:888,1
    - Dst: fd_insert
      Src: /src/haproxy/src/sock.c:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 890
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 890
    functionName: sock_conn_ctrl_init
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - fd_insert
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: sock_conn_ctrl_init(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/sock.c:898,1
    - Dst: fd_delete
      Src: /src/haproxy/src/sock.c:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 901
      start: 896
    functionDepth: 4
    functionLinenumber: 896
    functionLinenumberEnd: 901
    functionName: sock_conn_ctrl_close
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - fd_delete
    linkageType: ''
    returnType: void
    signature: sock_conn_ctrl_close(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/sock.c:918,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/sock.c:924,1
    - Dst: fd_send_ready
      Src: /src/haproxy/src/sock.c:926,1
    - Dst: unlikely
      Src: /src/haproxy/src/sock.c:968,1
    - Dst: COUNT_IF
      Src: /src/haproxy/src/sock.c:969,1
    - Dst: obj_type
      Src: /src/haproxy/src/sock.c:984,1
    - Dst: objt_server
      Src: /src/haproxy/src/sock.c:985,1
    - Dst: connect
      Src: /src/haproxy/src/sock.c:987,1
    - Dst: get_addr_len
      Src: /src/haproxy/src/sock.c:987,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/sock.c:992,1
    - Dst: fd_may_send
      Src: /src/haproxy/src/sock.c:1003,1
    - Dst: fd_cond_recv
      Src: /src/haproxy/src/sock.c:1004,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/sock.c:1013,1
    - Dst: fd_stop_both
      Src: /src/haproxy/src/sock.c:1014,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/sock.c:1023,1
    - Dst: fd_cant_send
      Src: /src/haproxy/src/sock.c:1027,1
    - Dst: fd_want_send
      Src: /src/haproxy/src/sock.c:1028,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 1030
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 1030
    functionName: sock_conn_check
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - fd_may_send
    - objt_server
    - HA_ATOMIC_AND
    - COUNT_IF
    - fd_cant_send
    - conn_ctrl_ready
    - obj_type
    - conn_report_term_evt
    - fd_send_ready
    - fd_cond_recv
    - fd_stop_both
    - connect
    - fd_want_send
    - unlikely
    - BUG_ON
    - get_addr_len
    linkageType: ''
    returnType: int
    signature: sock_conn_check(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/sock.c:1042,1
    - Dst: unlikely
      Src: /src/haproxy/src/sock.c:1049,1
    - Dst: fd_send_ready
      Src: /src/haproxy/src/sock.c:1050,1
    - Dst: fd_send_active
      Src: /src/haproxy/src/sock.c:1050,1
    - Dst: fd_recv_ready
      Src: /src/haproxy/src/sock.c:1051,1
    - Dst: fd_recv_active
      Src: /src/haproxy/src/sock.c:1051,1
    - Dst: sock_conn_check
      Src: /src/haproxy/src/sock.c:1056,1
    - Dst: fd_send_ready
      Src: /src/haproxy/src/sock.c:1061,1
    - Dst: fd_send_active
      Src: /src/haproxy/src/sock.c:1061,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/sock.c:1073,1
    - Dst: fd_stop_send
      Src: /src/haproxy/src/sock.c:1075,1
    - Dst: fd_recv_ready
      Src: /src/haproxy/src/sock.c:1082,1
    - Dst: fd_recv_active
      Src: /src/haproxy/src/sock.c:1082,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/sock.c:1094,1
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/sock.c:1096,1
    - Dst: conn_notify_mux
      Src: /src/haproxy/src/sock.c:1104,1
    - Dst: unlikely
      Src: /src/haproxy/src/sock.c:1113,1
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/src/sock.c:1114,1
    - Dst: fd_stop_both
      Src: /src/haproxy/src/sock.c:1115,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/sock.c:1122,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1125
      start: 1035
    functionDepth: 3
    functionLinenumber: 1035
    functionLinenumberEnd: 1125
    functionName: sock_conn_iocb
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - fd_recv_ready
    - fd_stop_recv
    - tasklet_wakeup
    - fd_recv_active
    - fd_send_active
    - conn_ctrl_ready
    - fd_stop_both
    - fd_send_ready
    - fd_stop_send
    - conn_notify_mux
    - sock_conn_check
    - unlikely
    linkageType: ''
    returnType: void
    signature: sock_conn_iocb(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/sock.c:1138,1
    - Dst: fd_recv_ready
      Src: /src/haproxy/src/sock.c:1143,1
    - Dst: recv
      Src: /src/haproxy/src/sock.c:1150,1
    - Dst: recv
      Src: /src/haproxy/src/sock.c:1153,1
    - Dst: fd_cant_recv
      Src: /src/haproxy/src/sock.c:1161,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/sock.c:1178,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 1180
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1180
    functionName: sock_drain
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - fd_recv_ready
    - HA_ATOMIC_AND
    - recv
    - fd_cant_recv
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: sock_drain(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/sock.c:1192,1
    - Dst: fd_recv_ready
      Src: /src/haproxy/src/sock.c:1195,1
    - Dst: fd_want_recv
      Src: /src/haproxy/src/sock.c:1198,1
    - Dst: fd_send_ready
      Src: /src/haproxy/src/sock.c:1202,1
    - Dst: fd_want_send
      Src: /src/haproxy/src/sock.c:1205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - conn
    - event_type
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 1209
      start: 1188
    functionDepth: 1
    functionLinenumber: 1188
    functionLinenumberEnd: 1209
    functionName: sock_check_events
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - fd_recv_ready
    - fd_want_recv
    - fd_send_ready
    - fd_want_send
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: sock_check_events(struct connection *conn, int event_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/sock.c:1216,1
    - Dst: fd_stop_recv
      Src: /src/haproxy/src/sock.c:1219,1
    - Dst: fd_stop_send
      Src: /src/haproxy/src/sock.c:1222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - conn
    - event_type
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 1223
      start: 1214
    functionDepth: 1
    functionLinenumber: 1214
    functionLinenumberEnd: 1223
    functionName: sock_ignore_events
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 0
    functionsReached:
    - fd_stop_send
    - BUG_ON
    - fd_stop_recv
    linkageType: ''
    returnType: void
    signature: sock_ignore_events(struct connection *conn, int event_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: real_family
      Src: /src/haproxy/src/sock.c:1241,1
    - Dst: socket
      Src: /src/haproxy/src/sock.c:1244,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock.c:1248,1
    - Dst: memset
      Src: /src/haproxy/src/sock.c:1252,1
    - Dst: real_family
      Src: /src/haproxy/src/sock.c:1253,1
    - Dst: bind
      Src: /src/haproxy/src/sock.c:1254,1
    - Dst: getsockname
      Src: /src/haproxy/src/sock.c:1257,1
    - Dst: socket
      Src: /src/haproxy/src/sock.c:1260,1
    - Dst: setsockopt
      Src: /src/haproxy/src/sock.c:1264,1
    - Dst: bind
      Src: /src/haproxy/src/sock.c:1267,1
    - Dst: close
      Src: /src/haproxy/src/sock.c:1277,1
    - Dst: close
      Src: /src/haproxy/src/sock.c:1279,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 3
    argNames:
    - fam
    - type
    - protocol
    argTypes:
    - struct proto_fam*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1282
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1282
    functionName: _sock_supports_reuseport
    functionSourceFile: /src/haproxy/src/sock.c
    functionUses: 1
    functionsReached:
    - real_family
    - setsockopt
    - getsockname
    - memset
    - socket
    - close
    - bind
    linkageType: ''
    returnType: int
    signature: _sock_supports_reuseport(const struct proto_fam *fam, int type, int
      protocol)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/jws.c:27,1
    - Dst: BN_num_bytes
      Src: /src/haproxy/src/jws.c:30,1
    - Dst: BN_bn2bin
      Src: /src/haproxy/src/jws.c:34,1
    - Dst: a2base64url
      Src: /src/haproxy/src/jws.c:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - bn
    - dst
    - dsize
    argTypes:
    - BIGNUM*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 2
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: bn2base64url
    functionSourceFile: /src/haproxy/src/jws.c
    functionUses: 0
    functionsReached:
    - get_trash_chunk
    - a2base64url
    - BN_bn2bin
    - BN_num_bytes
    linkageType: ''
    returnType: int
    signature: bn2base64url(const BIGNUM *bn, char *dst, size_t dsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/haproxy/src/jws.c:60,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/haproxy/src/jws.c:61,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/haproxy/src/jws.c:63,1
    - Dst: curves2nid
      Src: /src/haproxy/src/jws.c:69,1
    - Dst: nid2nist
      Src: /src/haproxy/src/jws.c:71,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/haproxy/src/jws.c:81,1
    - Dst: EC_KEY_get0_group
      Src: /src/haproxy/src/jws.c:83,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/haproxy/src/jws.c:85,1
    - Dst: BN_new
      Src: /src/haproxy/src/jws.c:89,1
    - Dst: BN_new
      Src: /src/haproxy/src/jws.c:91,1
    - Dst: EC_POINT_get_affine_coordinates
      Src: /src/haproxy/src/jws.c:93,1
    - Dst: EC_curve_nid2nist
      Src: /src/haproxy/src/jws.c:95,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/haproxy/src/jws.c:95,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/jws.c:100,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/jws.c:102,1
    - Dst: bn2base64url
      Src: /src/haproxy/src/jws.c:106,1
    - Dst: bn2base64url
      Src: /src/haproxy/src/jws.c:107,1
    - Dst: snprintf
      Src: /src/haproxy/src/jws.c:111,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/jws.c:122,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/jws.c:123,1
    - Dst: BN_free
      Src: /src/haproxy/src/jws.c:125,1
    - Dst: BN_free
      Src: /src/haproxy/src/jws.c:126,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 55
    argCount: 3
    argNames:
    - pkey
    - dst
    - dsize
    argTypes:
    - EVP_PKEY*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 48
    functionDepth: 3
    functionLinenumber: 48
    functionLinenumberEnd: 129
    functionName: EVP_PKEY_EC_to_pub_jwk
    functionSourceFile: /src/haproxy/src/jws.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - EC_curve_nid2nist
    - EC_POINT_get_affine_coordinates
    - curves2nid
    - snprintf
    - BN_free
    - EC_KEY_get0_public_key
    - EVP_PKEY_get_utf8_string_param
    - bn2base64url
    - EC_GROUP_get_curve_name
    - BN_new
    - free_trash_chunk
    - EVP_PKEY_get_bn_param
    - nid2nist
    - EC_KEY_get0_group
    - EVP_PKEY_get0_EC_KEY
    linkageType: ''
    returnType: int
    signature: EVP_PKEY_EC_to_pub_jwk(EVP_PKEY *pkey, char *dst, size_t dsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/haproxy/src/jws.c:145,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/haproxy/src/jws.c:147,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/haproxy/src/jws.c:152,1
    - Dst: BN_dup
      Src: /src/haproxy/src/jws.c:154,1
    - Dst: RSA_get0_n
      Src: /src/haproxy/src/jws.c:154,1
    - Dst: BN_dup
      Src: /src/haproxy/src/jws.c:156,1
    - Dst: RSA_get0_e
      Src: /src/haproxy/src/jws.c:156,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/jws.c:161,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/jws.c:163,1
    - Dst: bn2base64url
      Src: /src/haproxy/src/jws.c:167,1
    - Dst: bn2base64url
      Src: /src/haproxy/src/jws.c:168,1
    - Dst: snprintf
      Src: /src/haproxy/src/jws.c:172,1
    - Dst: BN_free
      Src: /src/haproxy/src/jws.c:182,1
    - Dst: BN_free
      Src: /src/haproxy/src/jws.c:183,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/jws.c:184,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/jws.c:185,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 3
    argNames:
    - pkey
    - dst
    - dsize
    argTypes:
    - EVP_PKEY*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 188
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 188
    functionName: EVP_PKEY_RSA_to_pub_jwk
    functionSourceFile: /src/haproxy/src/jws.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - snprintf
    - BN_free
    - bn2base64url
    - RSA_get0_e
    - RSA_get0_n
    - free_trash_chunk
    - EVP_PKEY_get_bn_param
    - EVP_PKEY_get0_RSA
    - BN_dup
    linkageType: ''
    returnType: int
    signature: EVP_PKEY_RSA_to_pub_jwk(EVP_PKEY *pkey, char *dst, size_t dsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_base_id
      Src: /src/haproxy/src/jws.c:199,1
    - Dst: EVP_PKEY_RSA_to_pub_jwk
      Src: /src/haproxy/src/jws.c:201,1
    - Dst: EVP_PKEY_EC_to_pub_jwk
      Src: /src/haproxy/src/jws.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pkey
    - dst
    - dsize
    argTypes:
    - EVP_PKEY*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 210
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 210
    functionName: EVP_PKEY_to_pub_jwk
    functionSourceFile: /src/haproxy/src/jws.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_base_id
    - EVP_PKEY_EC_to_pub_jwk
    - EVP_PKEY_RSA_to_pub_jwk
    linkageType: ''
    returnType: int
    signature: EVP_PKEY_to_pub_jwk(EVP_PKEY *pkey, char *dst, size_t dsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/jws.c:240,1
    - Dst: snprintf
      Src: /src/haproxy/src/jws.c:247,1
    - Dst: a2base64url
      Src: /src/haproxy/src/jws.c:262,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/jws.c:264,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 7
    argNames:
    - alg
    - kid
    - jwk
    - nonce
    - url
    - dst
    - dsize
    argTypes:
    - enum jwt_alg
    - char*
    - char*
    - char*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 266
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 266
    functionName: jws_b64_protected
    functionSourceFile: /src/haproxy/src/jws.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - snprintf
    - free_trash_chunk
    - a2base64url
    linkageType: ''
    returnType: int
    signature: "jws_b64_protected(enum jwt_alg alg, char *kid, char *jwk, char *nonce,
      char *url,\n                      char *dst, size_t dsize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: a2base64url
      Src: /src/haproxy/src/jws.c:278,1
    - Dst: strlen
      Src: /src/haproxy/src/jws.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - payload
    - dst
    - dsize
    argTypes:
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: jws_b64_payload
    functionSourceFile: /src/haproxy/src/jws.c
    functionUses: 0
    functionsReached:
    - strlen
    - a2base64url
    linkageType: ''
    returnType: int
    signature: jws_b64_payload(char *payload, char *dst, size_t dsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_base_id
      Src: /src/haproxy/src/jws.c:290,1
    - Dst: EVP_PKEY_get_utf8_string_param
      Src: /src/haproxy/src/jws.c:296,1
    - Dst: curves2nid
      Src: /src/haproxy/src/jws.c:299,1
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/haproxy/src/jws.c:306,1
    - Dst: EC_KEY_get0_group
      Src: /src/haproxy/src/jws.c:308,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/haproxy/src/jws.c:311,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 336
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 336
    functionName: EVP_PKEY_to_jws_alg
    functionSourceFile: /src/haproxy/src/jws.c
    functionUses: 0
    functionsReached:
    - curves2nid
    - EVP_PKEY_get_utf8_string_param
    - EC_GROUP_get_curve_name
    - EVP_PKEY_base_id
    - EC_KEY_get0_group
    - EVP_PKEY_get0_EC_KEY
    linkageType: ''
    returnType: enum jwt_alg
    signature: EVP_PKEY_to_jws_alg(EVP_PKEY *pkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_sha256
      Src: /src/haproxy/src/jws.c:358,1
    - Dst: EVP_sha384
      Src: /src/haproxy/src/jws.c:363,1
    - Dst: EVP_sha512
      Src: /src/haproxy/src/jws.c:368,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/jws.c:379,1
    - Dst: EVP_MD_CTX_new
      Src: /src/haproxy/src/jws.c:382,1
    - Dst: EVP_DigestSignInit
      Src: /src/haproxy/src/jws.c:385,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/haproxy/src/jws.c:388,1
    - Dst: strlen
      Src: /src/haproxy/src/jws.c:388,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/haproxy/src/jws.c:391,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/haproxy/src/jws.c:394,1
    - Dst: strlen
      Src: /src/haproxy/src/jws.c:394,1
    - Dst: EVP_DigestSignFinal
      Src: /src/haproxy/src/jws.c:397,1
    - Dst: EVP_DigestSignFinal
      Src: /src/haproxy/src/jws.c:403,1
    - Dst: EVP_PKEY_base_id
      Src: /src/haproxy/src/jws.c:409,1
    - Dst: EVP_PKEY_bits
      Src: /src/haproxy/src/jws.c:418,1
    - Dst: d2i_ECDSA_SIG
      Src: /src/haproxy/src/jws.c:420,1
    - Dst: ECDSA_SIG_get0_r
      Src: /src/haproxy/src/jws.c:423,1
    - Dst: ECDSA_SIG_get0_s
      Src: /src/haproxy/src/jws.c:426,1
    - Dst: BN_bn2binpad
      Src: /src/haproxy/src/jws.c:429,1
    - Dst: BN_bn2binpad
      Src: /src/haproxy/src/jws.c:432,1
    - Dst: a2base64url
      Src: /src/haproxy/src/jws.c:440,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/jws.c:443,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 73
    argCount: 6
    argNames:
    - pkey
    - alg
    - b64protected
    - b64payload
    - dst
    - dsize
    argTypes:
    - EVP_PKEY*
    - enum jwt_alg
    - char*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 447
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 447
    functionName: jws_b64_signature
    functionSourceFile: /src/haproxy/src/jws.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - EVP_sha384
    - ECDSA_SIG_get0_s
    - a2base64url
    - strlen
    - d2i_ECDSA_SIG
    - EVP_sha512
    - ECDSA_SIG_get0_r
    - EVP_MD_CTX_new
    - EVP_PKEY_bits
    - free_trash_chunk
    - BN_bn2binpad
    - EVP_DigestSignFinal
    - EVP_sha256
    - EVP_PKEY_base_id
    - EVP_DigestSignUpdate
    - EVP_DigestSignInit
    linkageType: ''
    returnType: int
    signature: jws_b64_signature(EVP_PKEY *pkey, enum jwt_alg alg, char *b64protected,
      char *b64payload, char *dst, size_t dsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/jws.c:461,1
    - Dst: EVP_PKEY_base_id
      Src: /src/haproxy/src/jws.c:464,1
    - Dst: EVP_PKEY_RSA_to_pub_jwk
      Src: /src/haproxy/src/jws.c:466,1
    - Dst: EVP_PKEY_EC_to_pub_jwk
      Src: /src/haproxy/src/jws.c:469,1
    - Dst: EVP_Digest
      Src: /src/haproxy/src/jws.c:476,1
    - Dst: EVP_sha256
      Src: /src/haproxy/src/jws.c:476,1
    - Dst: a2base64url
      Src: /src/haproxy/src/jws.c:479,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/jws.c:482,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - pkey
    - dst
    - dsize
    argTypes:
    - EVP_PKEY*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 484
      start: 454
    functionDepth: 4
    functionLinenumber: 454
    functionLinenumberEnd: 484
    functionName: jws_thumbprint
    functionSourceFile: /src/haproxy/src/jws.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - a2base64url
    - EVP_Digest
    - free_trash_chunk
    - EVP_sha256
    - EVP_PKEY_base_id
    - EVP_PKEY_EC_to_pub_jwk
    - EVP_PKEY_RSA_to_pub_jwk
    linkageType: ''
    returnType: int
    signature: jws_thumbprint(EVP_PKEY *pkey, char *dst, size_t dsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/src/jws.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - protected
    - payload
    - signature
    - dst
    - dsize
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 501
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 501
    functionName: jws_flattened
    functionSourceFile: /src/haproxy/src/jws.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int
    signature: jws_flattened(char *protected, char *payload, char *signature, char
      *dst, size_t dsize)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/jws.c:524,1
    - Dst: fopen
      Src: /src/haproxy/src/jws.c:533,1
    - Dst: fprintf
      Src: /src/haproxy/src/jws.c:534,1
    - Dst: PEM_read_PrivateKey
      Src: /src/haproxy/src/jws.c:537,1
    - Dst: fprintf
      Src: /src/haproxy/src/jws.c:538,1
    - Dst: EVP_PKEY_to_pub_jwk
      Src: /src/haproxy/src/jws.c:542,1
    - Dst: fprintf
      Src: /src/haproxy/src/jws.c:544,1
    - Dst: EVP_PKEY_to_jws_alg
      Src: /src/haproxy/src/jws.c:546,1
    - Dst: jws_b64_protected
      Src: /src/haproxy/src/jws.c:547,1
    - Dst: jws_b64_payload
      Src: /src/haproxy/src/jws.c:548,1
    - Dst: jws_b64_signature
      Src: /src/haproxy/src/jws.c:549,1
    - Dst: jws_flattened
      Src: /src/haproxy/src/jws.c:550,1
    - Dst: fprintf
      Src: /src/haproxy/src/jws.c:552,1
    - Dst: EVP_PKEY_free
      Src: /src/haproxy/src/jws.c:554,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 558
      start: 504
    functionDepth: 5
    functionLinenumber: 504
    functionLinenumberEnd: 558
    functionName: jws_debug
    functionSourceFile: /src/haproxy/src/jws.c
    functionUses: 0
    functionsReached:
    - jws_b64_payload
    - jws_b64_signature
    - EVP_PKEY_to_jws_alg
    - jws_flattened
    - PEM_read_PrivateKey
    - jws_b64_protected
    - EVP_PKEY_free
    - EVP_PKEY_to_pub_jwk
    - fprintf
    - fopen
    linkageType: ''
    returnType: int
    signature: jws_debug(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/haproxy/src/jws.c:574,1
    - Dst: fprintf
      Src: /src/haproxy/src/jws.c:575,1
    - Dst: PEM_read_PrivateKey
      Src: /src/haproxy/src/jws.c:578,1
    - Dst: fprintf
      Src: /src/haproxy/src/jws.c:579,1
    - Dst: EVP_PKEY_to_pub_jwk
      Src: /src/haproxy/src/jws.c:583,1
    - Dst: fprintf
      Src: /src/haproxy/src/jws.c:584,1
    - Dst: EVP_PKEY_free
      Src: /src/haproxy/src/jws.c:586,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 590
      start: 561
    functionDepth: 5
    functionLinenumber: 561
    functionLinenumberEnd: 590
    functionName: jwk_debug
    functionSourceFile: /src/haproxy/src/jws.c
    functionUses: 0
    functionsReached:
    - PEM_read_PrivateKey
    - EVP_PKEY_free
    - EVP_PKEY_to_pub_jwk
    - fprintf
    - fopen
    linkageType: ''
    returnType: int
    signature: jwk_debug(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hap_register_unittest
      Src: /src/haproxy/src/jws.c:594,1
    - Dst: hap_register_unittest
      Src: /src/haproxy/src/jws.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 4
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: __jws_init
    functionSourceFile: /src/haproxy/src/jws.c
    functionUses: 0
    functionsReached:
    - hap_register_unittest
    linkageType: ''
    returnType: void
    signature: __jws_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/lb_fwlc.c:45,1
    - Dst: _HA_ATOMIC_DWCAS
      Src: /src/haproxy/src/lb_fwlc.c:47,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/lb_fwlc.c:49,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/lb_fwlc.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - lbprm
    - current
    - seq
    - smallest
    argTypes:
    - struct lbprm*
    - uint64_t
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 59
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 59
    functionName: fwlc_set_seq_and_smallest
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - _HA_ATOMIC_CAS
    - _HA_ATOMIC_DWCAS
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: int
    signature: fwlc_set_seq_and_smallest(struct lbprm *lbprm, uint64_t current, unsigned
      int seq, unsigned int smallest)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: fwlc_remove_from_tree
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fwlc_remove_from_tree(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/lb_fwlc.c:79,1
    - Dst: pool_free
      Src: /src/haproxy/src/lb_fwlc.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: fwlc_proxy_deinit
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached:
    - MT_LIST_POP
    - pool_free
    linkageType: ''
    returnType: void
    signature: fwlc_proxy_deinit(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free
      Src: /src/haproxy/src/lb_fwlc.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: fwlc_server_deinit
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached:
    - pool_free
    linkageType: ''
    returnType: void
    signature: fwlc_server_deinit(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/src/lb_fwlc.c:104,1
    - Dst: _HA_ATOMIC_FETCH_SUB
      Src: /src/haproxy/src/lb_fwlc.c:106,1
    - Dst: FWLC_LBPRM_SMALLEST
      Src: /src/haproxy/src/lb_fwlc.c:109,1
    - Dst: fwlc_set_seq_and_smallest
      Src: /src/haproxy/src/lb_fwlc.c:119,1
    - Dst: FWLC_LBPRM_SEQ
      Src: /src/haproxy/src/lb_fwlc.c:119,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/lb_fwlc.c:119,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/lb_fwlc.c:122,1
    - Dst: pool_free
      Src: /src/haproxy/src/lb_fwlc.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 130
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 130
    functionName: fwlc_dequeue_srv
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached:
    - fwlc_set_seq_and_smallest
    - eb32_delete
    - MT_LIST_DELETE
    - pool_free
    - FWLC_LBPRM_SEQ
    - __ha_cpu_relax
    - FWLC_LBPRM_SMALLEST
    - _HA_ATOMIC_FETCH_SUB
    linkageType: ''
    returnType: void
    signature: fwlc_dequeue_srv(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/lb_fwlc.c:143,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/lb_fwlc.c:144,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/lb_fwlc.c:146,1
    - Dst: MT_LIST_POP
      Src: /src/haproxy/src/lb_fwlc.c:150,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/lb_fwlc.c:156,1
    - Dst: pool_free
      Src: /src/haproxy/src/lb_fwlc.c:157,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/lb_fwlc.c:160,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/lb_fwlc.c:170,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/lb_fwlc.c:175,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/lb_fwlc.c:177,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/lb_fwlc.c:178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - p
    - allocated_elt
    argTypes:
    - struct proxy*
    - struct fwlc_tree_elt*
    constantsTouched: []
    func_position:
      end: 182
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 182
    functionName: fwlc_alloc_tree_elt
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached:
    - eb32_delete
    - pool_alloc
    - pool_free
    - MT_LIST_APPEND
    - MT_LIST_INIT
    - MT_LIST_POP
    linkageType: ''
    returnType: struct fwlc_tree_elt
    signature: '*fwlc_alloc_tree_elt(struct proxy *p, struct fwlc_tree_elt *allocated_elt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup
      Src: /src/haproxy/src/lb_fwlc.c:193,1
    - Dst: container_of
      Src: /src/haproxy/src/lb_fwlc.c:195,1
    - Dst: fwlc_alloc_tree_elt
      Src: /src/haproxy/src/lb_fwlc.c:198,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/lb_fwlc.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - s
    - key
    argTypes:
    - struct server*
    - u32
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: fwlc_get_tree_elt
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached:
    - eb32_insert
    - container_of
    - eb32_lookup
    - fwlc_alloc_tree_elt
    linkageType: ''
    returnType: struct fwlc_tree_elt
    signature: '*fwlc_get_tree_elt(struct server *s, u32 key)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fwlc_get_tree_elt
      Src: /src/haproxy/src/lb_fwlc.c:231,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/lb_fwlc.c:232,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/src/lb_fwlc.c:233,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/lb_fwlc.c:235,1
    - Dst: FWLC_LBPRM_SMALLEST
      Src: /src/haproxy/src/lb_fwlc.c:236,1
    - Dst: fwlc_set_seq_and_smallest
      Src: /src/haproxy/src/lb_fwlc.c:242,1
    - Dst: FWLC_LBPRM_SEQ
      Src: /src/haproxy/src/lb_fwlc.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - s
    - eweight
    argTypes:
    - struct server*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: fwlc_queue_srv
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached:
    - fwlc_set_seq_and_smallest
    - statistical_prng_range
    - _HA_ATOMIC_INC
    - fwlc_get_tree_elt
    - FWLC_LBPRM_SEQ
    - MT_LIST_APPEND
    - FWLC_LBPRM_SMALLEST
    linkageType: ''
    returnType: void
    signature: fwlc_queue_srv(struct server *s, unsigned int eweight)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/lb_fwlc.c:256,1
    - Dst: mt_list_try_lock_prev
      Src: /src/haproxy/src/lb_fwlc.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - tree_elt
    argTypes:
    - struct fwlc_tree_elt*
    constantsTouched: []
    func_position:
      end: 266
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 266
    functionName: fwlc_lock_target_list
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached:
    - statistical_prng_range
    - mt_list_try_lock_prev
    linkageType: ''
    returnType: struct mt_list
    signature: fwlc_lock_target_list(struct fwlc_tree_elt *tree_elt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/lb_fwlc.c:277,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/lb_fwlc.c:277,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/lb_fwlc.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: fwlc_get_key
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: unsigned int
    signature: fwlc_get_key(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/lb_fwlc.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - s
    - expected
    argTypes:
    - struct server*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 296
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 296
    functionName: fwlc_check_srv_key
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached:
    - tasklet_wakeup
    linkageType: ''
    returnType: void
    signature: fwlc_check_srv_key(struct server *s, unsigned int expected)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/lb_fwlc.c:315,1
    - Dst: fwlc_get_key
      Src: /src/haproxy/src/lb_fwlc.c:316,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/lb_fwlc.c:322,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/src/lb_fwlc.c:326,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/lb_fwlc.c:329,1
    - Dst: unlikely
      Src: /src/haproxy/src/lb_fwlc.c:337,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/lb_fwlc.c:338,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/lb_fwlc.c:339,1
    - Dst: eb32_lookup
      Src: /src/haproxy/src/lb_fwlc.c:342,1
    - Dst: container_of
      Src: /src/haproxy/src/lb_fwlc.c:344,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/lb_fwlc.c:352,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/lb_fwlc.c:353,1
    - Dst: fwlc_check_srv_key
      Src: /src/haproxy/src/lb_fwlc.c:354,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/lb_fwlc.c:373,1
    - Dst: HA_RWLOCK_TRYRDTOWR
      Src: /src/haproxy/src/lb_fwlc.c:374,1
    - Dst: tasklet_wakeup
      Src: /src/haproxy/src/lb_fwlc.c:382,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/lb_fwlc.c:383,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/lb_fwlc.c:385,1
    - Dst: fwlc_get_key
      Src: /src/haproxy/src/lb_fwlc.c:395,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_fwlc.c:401,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/lb_fwlc.c:403,1
    - Dst: fwlc_check_srv_key
      Src: /src/haproxy/src/lb_fwlc.c:404,1
    - Dst: eb32_lookup
      Src: /src/haproxy/src/lb_fwlc.c:407,1
    - Dst: container_of
      Src: /src/haproxy/src/lb_fwlc.c:409,1
    - Dst: HA_RWLOCK_WRTORD
      Src: /src/haproxy/src/lb_fwlc.c:410,1
    - Dst: fwlc_alloc_tree_elt
      Src: /src/haproxy/src/lb_fwlc.c:432,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/lb_fwlc.c:437,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/lb_fwlc.c:439,1
    - Dst: HA_RWLOCK_WRTORD
      Src: /src/haproxy/src/lb_fwlc.c:440,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/lb_fwlc.c:442,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/lb_fwlc.c:445,1
    - Dst: FWLC_LBPRM_SEQ
      Src: /src/haproxy/src/lb_fwlc.c:459,1
    - Dst: FWLC_LBPRM_SEQ
      Src: /src/haproxy/src/lb_fwlc.c:460,1
    - Dst: FWLC_LBPRM_SMALLEST
      Src: /src/haproxy/src/lb_fwlc.c:460,1
    - Dst: FWLC_LBPRM_SMALLEST
      Src: /src/haproxy/src/lb_fwlc.c:464,1
    - Dst: fwlc_set_seq_and_smallest
      Src: /src/haproxy/src/lb_fwlc.c:470,1
    - Dst: FWLC_LBPRM_SEQ
      Src: /src/haproxy/src/lb_fwlc.c:470,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/lb_fwlc.c:470,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/lb_fwlc.c:472,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/src/lb_fwlc.c:474,1
    - Dst: mt_list_lock_full
      Src: /src/haproxy/src/lb_fwlc.c:482,1
    - Dst: fwlc_lock_target_list
      Src: /src/haproxy/src/lb_fwlc.c:483,1
    - Dst: fwlc_lock_target_list
      Src: /src/haproxy/src/lb_fwlc.c:485,1
    - Dst: mt_list_lock_full
      Src: /src/haproxy/src/lb_fwlc.c:486,1
    - Dst: mt_list_unlock_link
      Src: /src/haproxy/src/lb_fwlc.c:493,1
    - Dst: mt_list_unlock_full
      Src: /src/haproxy/src/lb_fwlc.c:498,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/lb_fwlc.c:500,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/lb_fwlc.c:507,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/src/lb_fwlc.c:508,1
    - Dst: fwlc_check_srv_key
      Src: /src/haproxy/src/lb_fwlc.c:510,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 100
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 511
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 511
    functionName: fwlc_srv_reposition
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached:
    - pool_alloc
    - fwlc_lock_target_list
    - fwlc_set_seq_and_smallest
    - mt_list_lock_full
    - eb32_insert
    - eb32_lookup
    - fwlc_check_srv_key
    - fwlc_alloc_tree_elt
    - __ha_barrier_store
    - mt_list_unlock_full
    - _HA_ATOMIC_INC
    - tasklet_wakeup
    - HA_RWLOCK_RDLOCK
    - mt_list_unlock_link
    - HA_RWLOCK_WRUNLOCK
    - FWLC_LBPRM_SEQ
    - __ha_cpu_relax
    - HA_ATOMIC_XCHG
    - container_of
    - _HA_ATOMIC_DEC
    - HA_RWLOCK_WRTORD
    - fwlc_get_key
    - HA_RWLOCK_TRYRDTOWR
    - unlikely
    - HA_RWLOCK_RDUNLOCK
    - FWLC_LBPRM_SMALLEST
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: fwlc_srv_reposition(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_fwlc.c:525,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_fwlc.c:528,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_fwlc.c:530,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_fwlc.c:533,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_fwlc.c:550,1
    - Dst: fwlc_dequeue_srv
      Src: /src/haproxy/src/lb_fwlc.c:558,1
    - Dst: fwlc_remove_from_tree
      Src: /src/haproxy/src/lb_fwlc.c:559,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_fwlc.c:563,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_fwlc.c:564,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fwlc.c:567,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 568
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 568
    functionName: fwlc_set_server_status_down
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached:
    - fwlc_remove_from_tree
    - fwlc_dequeue_srv
    - srv_lb_status_changed
    - srv_currently_usable
    - update_backend_weight
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    linkageType: ''
    returnType: void
    signature: fwlc_set_server_status_down(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_fwlc.c:583,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_fwlc.c:586,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_fwlc.c:589,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_fwlc.c:591,1
    - Dst: fwlc_queue_srv
      Src: /src/haproxy/src/lb_fwlc.c:623,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_fwlc.c:627,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_fwlc.c:628,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fwlc.c:631,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 632
      start: 579
    functionDepth: 4
    functionLinenumber: 579
    functionLinenumberEnd: 632
    functionName: fwlc_set_server_status_up
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached:
    - fwlc_queue_srv
    - srv_lb_status_changed
    - srv_currently_usable
    - update_backend_weight
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    linkageType: ''
    returnType: void
    signature: fwlc_set_server_status_up(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_status_changed
      Src: /src/haproxy/src/lb_fwlc.c:644,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_fwlc.c:655,1
    - Dst: srv_willbe_usable
      Src: /src/haproxy/src/lb_fwlc.c:656,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fwlc.c:659,1
    - Dst: fwlc_set_server_status_up
      Src: /src/haproxy/src/lb_fwlc.c:663,1
    - Dst: fwlc_set_server_status_down
      Src: /src/haproxy/src/lb_fwlc.c:667,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/lb_fwlc.c:671,1
    - Dst: fwlc_dequeue_srv
      Src: /src/haproxy/src/lb_fwlc.c:674,1
    - Dst: fwlc_queue_srv
      Src: /src/haproxy/src/lb_fwlc.c:684,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_fwlc.c:686,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/lb_fwlc.c:687,1
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fwlc.c:689,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 690
      start: 639
    functionDepth: 5
    functionLinenumber: 639
    functionLinenumberEnd: 690
    functionName: fwlc_update_server_weight
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 0
    functionsReached:
    - fwlc_dequeue_srv
    - fwlc_queue_srv
    - fwlc_set_server_status_up
    - srv_lb_status_changed
    - srv_currently_usable
    - update_backend_weight
    - HA_RWLOCK_WRUNLOCK
    - srv_lb_commit_status
    - fwlc_set_server_status_down
    - HA_RWLOCK_WRLOCK
    - srv_willbe_usable
    linkageType: ''
    returnType: void
    signature: fwlc_update_server_weight(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_lb_commit_status
      Src: /src/haproxy/src/lb_fwlc.c:713,1
    - Dst: recount_servers
      Src: /src/haproxy/src/lb_fwlc.c:718,1
    - Dst: update_backend_weight
      Src: /src/haproxy/src/lb_fwlc.c:719,1
    - Dst: srv_currently_usable
      Src: /src/haproxy/src/lb_fwlc.c:726,1
    - Dst: fwlc_queue_srv
      Src: /src/haproxy/src/lb_fwlc.c:729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 731
      start: 696
    functionDepth: 4
    functionLinenumber: 696
    functionLinenumberEnd: 731
    functionName: fwlc_init_server_tree
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 1
    functionsReached:
    - fwlc_queue_srv
    - update_backend_weight
    - srv_currently_usable
    - srv_lb_commit_status
    - recount_servers
    linkageType: ''
    returnType: void
    signature: fwlc_init_server_tree(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/lb_fwlc.c:747,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/lb_fwlc.c:748,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/lb_fwlc.c:751,1
    - Dst: FWLC_LBPRM_SMALLEST
      Src: /src/haproxy/src/lb_fwlc.c:751,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/lb_fwlc.c:757,1
    - Dst: FWLC_LBPRM_SMALLEST
      Src: /src/haproxy/src/lb_fwlc.c:757,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/lb_fwlc.c:769,1
    - Dst: statistical_prng_range
      Src: /src/haproxy/src/lb_fwlc.c:770,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/lb_fwlc.c:772,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/lb_fwlc.c:774,1
    - Dst: container_of
      Src: /src/haproxy/src/lb_fwlc.c:779,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/lb_fwlc.c:780,1
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/src/lb_fwlc.c:783,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/lb_fwlc.c:784,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/lb_fwlc.c:784,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/lb_fwlc.c:792,1
    - Dst: fwlc_srv_reposition
      Src: /src/haproxy/src/lb_fwlc.c:793,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/lb_fwlc.c:794,1
    - Dst: eb32_next
      Src: /src/haproxy/src/lb_fwlc.c:819,1
    - Dst: FWLC_LBPRM_SMALLEST
      Src: /src/haproxy/src/lb_fwlc.c:820,1
    - Dst: likely
      Src: /src/haproxy/src/lb_fwlc.c:829,1
    - Dst: FWLC_LBPRM_SMALLEST
      Src: /src/haproxy/src/lb_fwlc.c:829,1
    - Dst: fwlc_set_seq_and_smallest
      Src: /src/haproxy/src/lb_fwlc.c:830,1
    - Dst: FWLC_LBPRM_SEQ
      Src: /src/haproxy/src/lb_fwlc.c:830,1
    - Dst: FWLC_LBPRM_SEQ
      Src: /src/haproxy/src/lb_fwlc.c:831,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/src/lb_fwlc.c:832,1
    - Dst: unlikely
      Src: /src/haproxy/src/lb_fwlc.c:840,1
    - Dst: FWLC_LBPRM_SMALLEST
      Src: /src/haproxy/src/lb_fwlc.c:840,1
    - Dst: FWLC_LBPRM_SEQ
      Src: /src/haproxy/src/lb_fwlc.c:840,1
    - Dst: FWLC_LBPRM_SEQ
      Src: /src/haproxy/src/lb_fwlc.c:840,1
    - Dst: FWLC_LBPRM_SEQ
      Src: /src/haproxy/src/lb_fwlc.c:852,1
    - Dst: FWLC_LBPRM_SEQ
      Src: /src/haproxy/src/lb_fwlc.c:852,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/lb_fwlc.c:862,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 88
    argCount: 2
    argNames:
    - p
    - srvtoavoid
    argTypes:
    - struct proxy*
    - struct server*
    constantsTouched: []
    func_position:
      end: 865
      start: 738
    functionDepth: 3
    functionLinenumber: 738
    functionLinenumberEnd: 865
    functionName: fwlc_get_next_server
    functionSourceFile: /src/haproxy/src/lb_fwlc.c
    functionUses: 1
    functionsReached:
    - fwlc_set_seq_and_smallest
    - srv_dynamic_maxconn
    - statistical_prng_range
    - container_of
    - __ha_barrier_store
    - HA_RWLOCK_RDLOCK
    - eb32_next
    - likely
    - eb32_lookup_ge
    - fwlc_srv_reposition
    - FWLC_LBPRM_SEQ
    - eb32_entry
    - _HA_ATOMIC_LOAD
    - unlikely
    - HA_RWLOCK_RDUNLOCK
    - FWLC_LBPRM_SMALLEST
    linkageType: ''
    returnType: struct server
    signature: '*fwlc_get_next_server(struct proxy *p, struct server *srvtoavoid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istfree
      Src: /src/haproxy/src/http_act.c:49,1
    - Dst: regex_free
      Src: /src/haproxy/src/http_act.c:51,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/http_act.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: release_http_action
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - regex_free
    - istfree
    - lf_expr_deinit
    linkageType: ''
    returnType: void
    signature: release_http_action(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: release_http_reply
      Src: /src/haproxy/src/http_act.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: release_act_http_reply
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - release_http_reply
    linkageType: ''
    returnType: void
    signature: release_act_http_reply(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_check_http_reply
      Src: /src/haproxy/src/http_act.c:72,1
    - Dst: release_act_http_reply
      Src: /src/haproxy/src/http_act.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rule
    - px
    - err
    argTypes:
    - struct act_rule*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 5
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: check_act_http_reply
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - release_act_http_reply
    - http_check_http_reply
    linkageType: ''
    returnType: int
    signature: check_act_http_reply(struct act_rule *rule, struct proxy *px, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/http_act.c:94,1
    - Dst: build_logline
      Src: /src/haproxy/src/http_act.c:101,1
    - Dst: http_req_replace_stline
      Src: /src/haproxy/src/http_act.c:105,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/http_act.c:109,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:119,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:121,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:123,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_act.c:124,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:125,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_act.c:125,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 133
      start: 88
    functionDepth: 6
    functionLinenumber: 88
    functionLinenumberEnd: 133
    functionName: http_action_set_req_line
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - objt_server
    - _HA_ATOMIC_INC
    - __objt_server
    - free_trash_chunk
    - http_req_replace_stline
    - build_logline
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_set_req_line(struct act_rule *rule, struct proxy *px,\n
      \                                               struct session *sess, struct
      stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:170,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_act.c:175,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:178,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:178,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:179,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/http_act.c:188,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 194
      start: 147
    functionDepth: 9
    functionLinenumber: 147
    functionLinenumberEnd: 194
    functionName: parse_set_req_line
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - parse_logformat_string
    - lf_expr_init
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_set_req_line(const char **args, int *orig_arg, struct proxy
      *px,\n                                             struct act_rule *rule, char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_act.c:207,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_act.c:208,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_act.c:208,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/http_act.c:209,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_act.c:217,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_act.c:218,1
    - Dst: ist2
      Src: /src/haproxy/src/http_act.c:219,1
    - Dst: isttest
      Src: /src/haproxy/src/http_act.c:221,1
    - Dst: uri_normalizer_path_merge_slashes
      Src: /src/haproxy/src/http_act.c:224,1
    - Dst: iststop
      Src: /src/haproxy/src/http_act.c:224,1
    - Dst: http_replace_req_path
      Src: /src/haproxy/src/http_act.c:229,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_act.c:235,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_act.c:236,1
    - Dst: ist2
      Src: /src/haproxy/src/http_act.c:237,1
    - Dst: isttest
      Src: /src/haproxy/src/http_act.c:239,1
    - Dst: uri_normalizer_path_dot
      Src: /src/haproxy/src/http_act.c:242,1
    - Dst: iststop
      Src: /src/haproxy/src/http_act.c:242,1
    - Dst: http_replace_req_path
      Src: /src/haproxy/src/http_act.c:247,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_act.c:254,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_act.c:255,1
    - Dst: ist2
      Src: /src/haproxy/src/http_act.c:256,1
    - Dst: isttest
      Src: /src/haproxy/src/http_act.c:258,1
    - Dst: uri_normalizer_path_dotdot
      Src: /src/haproxy/src/http_act.c:261,1
    - Dst: iststop
      Src: /src/haproxy/src/http_act.c:261,1
    - Dst: http_replace_req_path
      Src: /src/haproxy/src/http_act.c:266,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_act.c:272,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_act.c:273,1
    - Dst: ist2
      Src: /src/haproxy/src/http_act.c:274,1
    - Dst: isttest
      Src: /src/haproxy/src/http_act.c:276,1
    - Dst: uri_normalizer_query_sort
      Src: /src/haproxy/src/http_act.c:279,1
    - Dst: istfind
      Src: /src/haproxy/src/http_act.c:279,1
    - Dst: http_replace_req_query
      Src: /src/haproxy/src/http_act.c:284,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_act.c:291,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_act.c:292,1
    - Dst: ist2
      Src: /src/haproxy/src/http_act.c:293,1
    - Dst: isttest
      Src: /src/haproxy/src/http_act.c:295,1
    - Dst: uri_normalizer_percent_upper
      Src: /src/haproxy/src/http_act.c:298,1
    - Dst: http_replace_req_path
      Src: /src/haproxy/src/http_act.c:303,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_act.c:310,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_act.c:311,1
    - Dst: ist2
      Src: /src/haproxy/src/http_act.c:312,1
    - Dst: isttest
      Src: /src/haproxy/src/http_act.c:314,1
    - Dst: uri_normalizer_percent_decode_unreserved
      Src: /src/haproxy/src/http_act.c:317,1
    - Dst: http_replace_req_path
      Src: /src/haproxy/src/http_act.c:322,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_act.c:328,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_act.c:329,1
    - Dst: ist2
      Src: /src/haproxy/src/http_act.c:330,1
    - Dst: isttest
      Src: /src/haproxy/src/http_act.c:332,1
    - Dst: uri_normalizer_fragment_strip
      Src: /src/haproxy/src/http_act.c:335,1
    - Dst: http_replace_req_path
      Src: /src/haproxy/src/http_act.c:340,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_act.c:346,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_act.c:347,1
    - Dst: ist2
      Src: /src/haproxy/src/http_act.c:348,1
    - Dst: isttest
      Src: /src/haproxy/src/http_act.c:350,1
    - Dst: uri_normalizer_fragment_encode
      Src: /src/haproxy/src/http_act.c:353,1
    - Dst: http_replace_req_path
      Src: /src/haproxy/src/http_act.c:358,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/http_act.c:379,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/http_act.c:389,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/http_act.c:391,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/http_act.c:393,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_act.c:394,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/src/http_act.c:395,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_act.c:395,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 145
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 403
      start: 203
    functionDepth: 5
    functionLinenumber: 203
    functionLinenumberEnd: 403
    functionName: http_action_normalize_uri
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - uri_normalizer_percent_upper
    - isttest
    - istfind
    - free_trash_chunk
    - http_get_stline
    - uri_normalizer_query_sort
    - alloc_trash_chunk
    - htx_sl_req_uri
    - ist2
    - uri_normalizer_path_dot
    - __objt_server
    - uri_normalizer_path_dotdot
    - uri_normalizer_percent_decode_unreserved
    - http_parse_path
    - uri_normalizer_fragment_encode
    - objt_server
    - htxbuf
    - http_replace_req_query
    - http_uri_parser_init
    - uri_normalizer_path_merge_slashes
    - _HA_ATOMIC_ADD
    - uri_normalizer_fragment_strip
    - http_replace_req_path
    - iststop
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_normalize_uri(struct act_rule *rule, struct proxy *px,\n
      \                                                struct session *sess, struct
      stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:419,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:423,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:428,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:433,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:436,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:443,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:443,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:444,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:448,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:453,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:456,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:463,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:463,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:464,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:468,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:471,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:478,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:478,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:479,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:483,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:488,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:494,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 500
      start: 410
    functionDepth: 5
    functionLinenumber: 410
    functionLinenumberEnd: 500
    functionName: parse_http_normalize_uri
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_normalize_uri(const char **args, int *orig_arg, struct
      proxy *px,\n                                                   struct act_rule
      *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/http_act.c:520,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/http_act.c:521,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/http_act.c:524,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/http_act.c:524,1
    - Dst: htxbuf
      Src: /src/haproxy/src/http_act.c:524,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_act.c:527,1
    - Dst: iststop
      Src: /src/haproxy/src/http_act.c:528,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_act.c:528,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/src/http_act.c:531,1
    - Dst: http_parse_path
      Src: /src/haproxy/src/http_act.c:532,1
    - Dst: istlen
      Src: /src/haproxy/src/http_act.c:535,1
    - Dst: regex_exec_match2
      Src: /src/haproxy/src/http_act.c:538,1
    - Dst: build_logline
      Src: /src/haproxy/src/http_act.c:541,1
    - Dst: exp_replace
      Src: /src/haproxy/src/http_act.c:546,1
    - Dst: http_req_replace_stline
      Src: /src/haproxy/src/http_act.c:550,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/http_act.c:554,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/http_act.c:555,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:565,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:567,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:569,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_act.c:570,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:571,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_act.c:571,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 579
      start: 512
    functionDepth: 6
    functionLinenumber: 512
    functionLinenumberEnd: 579
    functionName: http_action_replace_uri
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - htx_sl_req_uri
    - regex_exec_match2
    - objt_server
    - istlen
    - _HA_ATOMIC_INC
    - build_logline
    - htxbuf
    - __objt_server
    - free_trash_chunk
    - iststop
    - http_uri_parser_init
    - http_get_stline
    - http_req_replace_stline
    - exp_replace
    - http_parse_path
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_replace_uri(struct act_rule *rule, struct proxy *px,\n
      \                                              struct session *sess, struct
      stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:606,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_act.c:612,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:615,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:615,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:616,1
    - Dst: regex_comp
      Src: /src/haproxy/src/http_act.c:620,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:621,1
    - Dst: free
      Src: /src/haproxy/src/http_act.c:622,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/http_act.c:631,1
    - Dst: regex_free
      Src: /src/haproxy/src/http_act.c:632,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 638
      start: 588
    functionDepth: 9
    functionLinenumber: 588
    functionLinenumberEnd: 638
    functionName: parse_replace_uri
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - lf_expr_init
    - strcmp
    - free
    - regex_comp
    - regex_free
    - parse_logformat_string
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_replace_uri(const char **args, int *orig_arg, struct proxy *px,\n
      \                                           struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_res_set_status
      Src: /src/haproxy/src/http_act.c:644,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:645,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:647,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:649,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_act.c:650,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:651,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_act.c:651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 661
      start: 641
    functionDepth: 4
    functionLinenumber: 641
    functionLinenumberEnd: 661
    functionName: action_http_set_status
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - http_res_set_status
    - _HA_ATOMIC_INC
    - __objt_server
    - objt_server
    linkageType: ''
    returnType: enum act_return
    signature: "action_http_set_status(struct act_rule *rule, struct proxy *px,\n
      \                                             struct session *sess, struct stream
      *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_act.c:676,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:680,1
    - Dst: strtol
      Src: /src/haproxy/src/http_act.c:685,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:687,1
    - Dst: ist
      Src: /src/haproxy/src/http_act.c:694,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:695,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:696,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:696,1
    - Dst: ist
      Src: /src/haproxy/src/http_act.c:698,1
    - Dst: strdup
      Src: /src/haproxy/src/http_act.c:698,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 703
      start: 668
    functionDepth: 5
    functionLinenumber: 668
    functionLinenumberEnd: 703
    functionName: parse_http_set_status
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - lf_expr_init
    - strcmp
    - ist
    - strdup
    - strtol
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_set_status(const char **args, int *orig_arg, struct proxy
      *px,\n                                                struct act_rule *rule,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_must_kill_conn
      Src: /src/haproxy/src/http_act.c:715,1
    - Dst: stream_abort
      Src: /src/haproxy/src/http_act.c:716,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:720,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:721,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 731
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 731
    functionName: http_action_reject
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_INC
    - stream_abort
    - sc_must_kill_conn
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_reject(struct act_rule *rule, struct proxy *px,\n                                          struct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 743
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 743
    functionName: parse_http_action_reject
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_action_reject(const char **args, int *orig_arg, struct
      proxy *px,\n                                                   struct act_rule
      *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 760
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 760
    functionName: http_req_disable_l7_retry
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum act_return
    signature: "http_req_disable_l7_retry(struct act_rule *rule, struct proxy *px,\n
      \                                         struct session *sess, struct stream
      *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - args
    - orig_args
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 773
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 773
    functionName: parse_http_req_disable_l7_retry
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_req_disable_l7_retry(const char **args,\n\t\t\t\t\t\t\t
      \ int *orig_args, struct proxy *px,\n\t\t\t\t\t\t\t  struct act_rule *rule,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/http_act.c:788,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/http_act.c:793,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_act.c:802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 805
      start: 780
    functionDepth: 3
    functionLinenumber: 780
    functionLinenumberEnd: 805
    functionName: http_action_req_capture
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - sample_fetch_as_type
    - memcpy
    - pool_alloc
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_req_capture(struct act_rule *rule, struct proxy *px,\n
      \                                              struct session *sess, struct
      stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_fe
      Src: /src/haproxy/src/http_act.c:818,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/http_act.c:829,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/http_act.c:834,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_act.c:843,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 846
      start: 812
    functionDepth: 3
    functionLinenumber: 812
    functionLinenumberEnd: 846
    functionName: http_action_req_capture_by_id
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - sample_fetch_as_type
    - strm_fe
    - memcpy
    - pool_alloc
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_req_capture_by_id(struct act_rule *rule, struct proxy
      *px,\n                                                     struct session *sess,
      struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:862,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - rule
    - px
    - err
    argTypes:
    - struct act_rule*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 868
      start: 853
    functionDepth: 5
    functionLinenumber: 853
    functionLinenumberEnd: 868
    functionName: check_http_req_capture
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: check_http_req_capture(struct act_rule *rule, struct proxy *px, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:874,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 877
      start: 871
    functionDepth: 5
    functionLinenumber: 871
    functionLinenumberEnd: 877
    functionName: release_http_capture
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - release_sample_expr
    linkageType: ''
    returnType: void
    signature: release_http_capture(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:893,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:894,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:898,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/http_act.c:903,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:908,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/http_act.c:910,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:911,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:916,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:917,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:921,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:925,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:926,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:933,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:934,1
    - Dst: atoi
      Src: /src/haproxy/src/http_act.c:938,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:940,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:941,1
    - Dst: calloc
      Src: /src/haproxy/src/http_act.c:946,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:948,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:949,1
    - Dst: create_pool
      Src: /src/haproxy/src/http_act.c:956,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:969,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:976,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:977,1
    - Dst: strtol
      Src: /src/haproxy/src/http_act.c:981,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:983,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:984,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1000,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:1001,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 90
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 1007
      start: 884
    functionDepth: 7
    functionLinenumber: 884
    functionLinenumberEnd: 1007
    functionName: parse_http_req_capture
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    - strcmp
    - calloc
    - sample_parse_expr
    - create_pool
    - strtol
    - sample_src_names
    - release_sample_expr
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_req_capture(const char **args, int *orig_arg, struct proxy
      *px,\n                                                 struct act_rule *rule,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_fe
      Src: /src/haproxy/src/http_act.c:1020,1
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/http_act.c:1031,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/http_act.c:1036,1
    - Dst: memcpy
      Src: /src/haproxy/src/http_act.c:1045,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 1048
      start: 1014
    functionDepth: 3
    functionLinenumber: 1014
    functionLinenumberEnd: 1048
    functionName: http_action_res_capture_by_id
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - sample_fetch_as_type
    - strm_fe
    - memcpy
    - pool_alloc
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_res_capture_by_id(struct act_rule *rule, struct proxy
      *px,\n                                                     struct session *sess,
      struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1064,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - rule
    - px
    - err
    argTypes:
    - struct act_rule*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 1070
      start: 1055
    functionDepth: 5
    functionLinenumber: 1055
    functionLinenumberEnd: 1070
    functionName: check_http_res_capture
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: check_http_res_capture(struct act_rule *rule, struct proxy *px, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:1086,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:1087,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1091,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/http_act.c:1096,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1101,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/http_act.c:1103,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:1104,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1109,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:1110,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:1114,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1115,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:1116,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1123,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:1124,1
    - Dst: strtol
      Src: /src/haproxy/src/http_act.c:1128,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1130,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:1131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 1147
      start: 1077
    functionDepth: 7
    functionLinenumber: 1077
    functionLinenumberEnd: 1147
    functionName: parse_http_res_capture
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - sample_parse_expr
    - strtol
    - sample_src_names
    - release_sample_expr
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_res_capture(const char **args, int *orig_arg, struct proxy
      *px,\n                                                 struct act_rule *rule,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 1158
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1158
    functionName: parse_http_allow
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_allow(const char **args, int *orig_arg, struct proxy *px,\n\t\t\t\t\t
      \  struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:1173,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:1195,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:1195,1
    - Dst: http_parse_http_reply
      Src: /src/haproxy/src/http_act.c:1196,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:1200,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:1201,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:1201,1
    - Dst: http_parse_http_reply
      Src: /src/haproxy/src/http_act.c:1202,1
    - Dst: http_parse_http_reply
      Src: /src/haproxy/src/http_act.c:1210,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 1220
      start: 1165
    functionDepth: 7
    functionLinenumber: 1165
    functionLinenumberEnd: 1220
    functionName: parse_http_deny
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - strcmp
    - http_parse_http_reply
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_deny(const char **args, int *orig_arg, struct proxy *px,\n\t\t\t\t\t
      \ struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_from_buf
      Src: /src/haproxy/src/http_act.c:1232,1
    - Dst: ist
      Src: /src/haproxy/src/http_act.c:1249,1
    - Dst: ist
      Src: /src/haproxy/src/http_act.c:1253,1
    - Dst: http_error_message
      Src: /src/haproxy/src/http_act.c:1255,1
    - Dst: channel_htx_truncate
      Src: /src/haproxy/src/http_act.c:1256,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/http_act.c:1258,1
    - Dst: http_reply_to_htx
      Src: /src/haproxy/src/http_act.c:1262,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_act.c:1267,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/http_act.c:1268,1
    - Dst: http_add_header
      Src: /src/haproxy/src/http_act.c:1271,1
    - Dst: ist2
      Src: /src/haproxy/src/http_act.c:1271,1
    - Dst: b_orig
      Src: /src/haproxy/src/http_act.c:1271,1
    - Dst: b_data
      Src: /src/haproxy/src/http_act.c:1271,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/http_act.c:1275,1
    - Dst: http_forward_proxy_resp
      Src: /src/haproxy/src/http_act.c:1276,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:1284,1
    - Dst: stream_inc_http_err_ctr
      Src: /src/haproxy/src/http_act.c:1291,1
    - Dst: channel_htx_truncate
      Src: /src/haproxy/src/http_act.c:1297,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 1299
      start: 1227
    functionDepth: 13
    functionLinenumber: 1227
    functionLinenumberEnd: 1299
    functionName: http_action_auth
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - stream_inc_http_err_ctr
    - channel_htx_truncate
    - http_add_header
    - http_forward_proxy_resp
    - htx_from_buf
    - ist2
    - http_reply_to_htx
    - _HA_ATOMIC_INC
    - ist
    - chunk_printf
    - b_data
    - htx_to_buf
    - http_remove_header
    - b_orig
    - http_find_header
    - http_error_message
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_auth(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\tstruct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_act.c:1313,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:1316,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1319,1
    - Dst: ist
      Src: /src/haproxy/src/http_act.c:1322,1
    - Dst: strdup
      Src: /src/haproxy/src/http_act.c:1322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 1328
      start: 1304
    functionDepth: 5
    functionLinenumber: 1304
    functionLinenumberEnd: 1328
    functionName: parse_http_auth
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - lf_expr_init
    - strcmp
    - ist
    - strdup
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_auth(const char **args, int *orig_arg, struct proxy *px,\n\t\t\t\t\t
      \ struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_from_buf
      Src: /src/haproxy/src/http_act.c:1345,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/http_act.c:1346,1
    - Dst: htx_add_stline
      Src: /src/haproxy/src/http_act.c:1366,1
    - Dst: ist
      Src: /src/haproxy/src/http_act.c:1367,1
    - Dst: ist
      Src: /src/haproxy/src/http_act.c:1367,1
    - Dst: ist
      Src: /src/haproxy/src/http_act.c:1367,1
    - Dst: build_logline
      Src: /src/haproxy/src/http_act.c:1375,1
    - Dst: b_tail
      Src: /src/haproxy/src/http_act.c:1375,1
    - Dst: b_room
      Src: /src/haproxy/src/http_act.c:1375,1
    - Dst: htx_add_header
      Src: /src/haproxy/src/http_act.c:1376,1
    - Dst: ist2
      Src: /src/haproxy/src/http_act.c:1376,1
    - Dst: b_head
      Src: /src/haproxy/src/http_act.c:1376,1
    - Dst: b_data
      Src: /src/haproxy/src/http_act.c:1376,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/http_act.c:1382,1
    - Dst: typeof
      Src: /src/haproxy/src/http_act.c:1382,1
    - Dst: htx_add_endof
      Src: /src/haproxy/src/http_act.c:1384,1
    - Dst: http_forward_proxy_resp
      Src: /src/haproxy/src/http_act.c:1386,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/http_act.c:1392,1
    - Dst: channel_htx_truncate
      Src: /src/haproxy/src/http_act.c:1398,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 1402
      start: 1340
    functionDepth: 13
    functionLinenumber: 1340
    functionLinenumberEnd: 1402
    functionName: http_action_early_hint
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - b_room
    - htx_add_header
    - channel_htx_truncate
    - LIST_NEXT
    - http_forward_proxy_resp
    - htx_from_buf
    - ist2
    - htx_add_endof
    - ist
    - b_head
    - b_tail
    - typeof
    - free_trash_chunk
    - b_data
    - htx_add_stline
    - build_logline
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_early_hint(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t
      \     struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_act.c:1416,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/http_act.c:1422,1
    - Dst: build_logline
      Src: /src/haproxy/src/http_act.c:1426,1
    - Dst: ist2
      Src: /src/haproxy/src/http_act.c:1428,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_act.c:1433,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/http_act.c:1434,1
    - Dst: http_add_header
      Src: /src/haproxy/src/http_act.c:1438,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/http_act.c:1442,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:1452,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:1454,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:1456,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_act.c:1457,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:1458,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_act.c:1458,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 1466
      start: 1412
    functionDepth: 3
    functionLinenumber: 1412
    functionLinenumberEnd: 1466
    functionName: http_action_set_header
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - http_add_header
    - objt_server
    - ist2
    - _HA_ATOMIC_INC
    - htxbuf
    - __objt_server
    - free_trash_chunk
    - http_remove_header
    - http_find_header
    - build_logline
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_set_header(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t
      \     struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_act.c:1493,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1497,1
    - Dst: ist
      Src: /src/haproxy/src/http_act.c:1502,1
    - Dst: strdup
      Src: /src/haproxy/src/http_act.c:1502,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/http_act.c:1520,1
    - Dst: istfree
      Src: /src/haproxy/src/http_act.c:1521,1
    - Dst: istptr
      Src: /src/haproxy/src/http_act.c:1532,1
    - Dst: istend
      Src: /src/haproxy/src/http_act.c:1532,1
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/src/http_act.c:1533,1
    - Dst: istptr
      Src: /src/haproxy/src/http_act.c:1535,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1538,1
    - Dst: istptr
      Src: /src/haproxy/src/http_act.c:1538,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 1544
      start: 1475
    functionDepth: 9
    functionLinenumber: 1475
    functionLinenumberEnd: 1544
    functionName: parse_http_set_header
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - istfree
    - lf_expr_init
    - istend
    - ist
    - istptr
    - strdup
    - parse_logformat_string
    - HTTP_IS_TOKEN
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_set_header(const char **args, int *orig_arg, struct proxy
      *px,\n\t\t\t\t\t\t   struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_act.c:1558,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/http_act.c:1563,1
    - Dst: build_logline
      Src: /src/haproxy/src/http_act.c:1567,1
    - Dst: http_replace_hdrs
      Src: /src/haproxy/src/http_act.c:1569,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/http_act.c:1574,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:1584,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:1586,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:1588,1
    - Dst: objt_server
      Src: /src/haproxy/src/http_act.c:1589,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:1590,1
    - Dst: __objt_server
      Src: /src/haproxy/src/http_act.c:1590,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 1598
      start: 1554
    functionDepth: 5
    functionLinenumber: 1554
    functionLinenumberEnd: 1598
    functionName: http_action_replace_header
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - objt_server
    - http_replace_hdrs
    - _HA_ATOMIC_INC
    - htxbuf
    - __objt_server
    - free_trash_chunk
    - build_logline
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_replace_header(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t\t
      \ struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_act.c:1615,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1619,1
    - Dst: ist
      Src: /src/haproxy/src/http_act.c:1623,1
    - Dst: strdup
      Src: /src/haproxy/src/http_act.c:1623,1
    - Dst: regex_comp
      Src: /src/haproxy/src/http_act.c:1626,1
    - Dst: istfree
      Src: /src/haproxy/src/http_act.c:1627,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/http_act.c:1647,1
    - Dst: istfree
      Src: /src/haproxy/src/http_act.c:1648,1
    - Dst: regex_free
      Src: /src/haproxy/src/http_act.c:1649,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 1655
      start: 1604
    functionDepth: 9
    functionLinenumber: 1604
    functionLinenumberEnd: 1655
    functionName: parse_http_replace_header
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - istfree
    - lf_expr_init
    - ist
    - strdup
    - regex_comp
    - regex_free
    - parse_logformat_string
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_replace_header(const char **args, int *orig_arg, struct
      proxy *px,\n\t\t\t\t\t\t    struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/http_act.c:1667,1
    - Dst: http_find_header
      Src: /src/haproxy/src/http_act.c:1674,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/http_act.c:1675,1
    - Dst: http_find_pfx_header
      Src: /src/haproxy/src/http_act.c:1678,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/http_act.c:1679,1
    - Dst: http_find_sfx_header
      Src: /src/haproxy/src/http_act.c:1682,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/http_act.c:1683,1
    - Dst: http_find_sub_header
      Src: /src/haproxy/src/http_act.c:1686,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/http_act.c:1687,1
    - Dst: http_match_header
      Src: /src/haproxy/src/http_act.c:1690,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/http_act.c:1691,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 1697
      start: 1662
    functionDepth: 3
    functionLinenumber: 1662
    functionLinenumberEnd: 1697
    functionName: http_action_del_header
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - http_find_pfx_header
    - http_find_sub_header
    - http_find_sfx_header
    - htxbuf
    - http_match_header
    - http_remove_header
    - http_find_header
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_del_header(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t\t
      \ struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_act.c:1714,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1718,1
    - Dst: ist
      Src: /src/haproxy/src/http_act.c:1722,1
    - Dst: strdup
      Src: /src/haproxy/src/http_act.c:1722,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:1725,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1728,1
    - Dst: pat_find_match_name
      Src: /src/haproxy/src/http_act.c:1733,1
    - Dst: regex_comp
      Src: /src/haproxy/src/http_act.c:1736,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 1753
      start: 1704
    functionDepth: 5
    functionLinenumber: 1704
    functionLinenumberEnd: 1753
    functionName: parse_http_del_header
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - lf_expr_init
    - strcmp
    - ist
    - strdup
    - regex_comp
    - pat_find_match_name
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_del_header(const char **args, int *orig_arg, struct proxy
      *px,\n\t\t\t\t\t\tstruct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/http_act.c:1764,1
    - Dst: http_free_redirect_rule
      Src: /src/haproxy/src/http_act.c:1765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 1766
      start: 1756
    functionDepth: 4
    functionLinenumber: 1756
    functionLinenumberEnd: 1766
    functionName: release_http_redir
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - LIST_DELETE
    - http_free_redirect_rule
    linkageType: ''
    returnType: void
    signature: release_http_redir(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_parse_redirect_rule
      Src: /src/haproxy/src/http_act.c:1783,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 1799
      start: 1771
    functionDepth: 7
    functionLinenumber: 1771
    functionLinenumberEnd: 1799
    functionName: parse_http_redirect
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - http_parse_redirect_rule
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_redirect(const char **args, int *orig_arg, struct proxy
      *px,\n\t\t\t\t\t      struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pat_ref_lookup
      Src: /src/haproxy/src/http_act.c:1812,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/http_act.c:1817,1
    - Dst: build_logline
      Src: /src/haproxy/src/http_act.c:1822,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/http_act.c:1828,1
    - Dst: pat_ref_find_elt
      Src: /src/haproxy/src/http_act.c:1829,1
    - Dst: pat_ref_add
      Src: /src/haproxy/src/http_act.c:1830,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/http_act.c:1831,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/http_act.c:1839,1
    - Dst: build_logline
      Src: /src/haproxy/src/http_act.c:1844,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/http_act.c:1847,1
    - Dst: pat_ref_find_elt
      Src: /src/haproxy/src/http_act.c:1848,1
    - Dst: pat_ref_set_elt_duplicate
      Src: /src/haproxy/src/http_act.c:1851,1
    - Dst: pat_ref_add
      Src: /src/haproxy/src/http_act.c:1855,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/http_act.c:1857,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/http_act.c:1864,1
    - Dst: pat_ref_delete
      Src: /src/haproxy/src/http_act.c:1865,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/http_act.c:1866,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/http_act.c:1875,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/http_act.c:1876,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 1884
      start: 1804
    functionDepth: 6
    functionLinenumber: 1804
    functionLinenumberEnd: 1884
    functionName: http_action_set_map
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - pat_ref_find_elt
    - pat_ref_lookup
    - pat_ref_add
    - HA_RWLOCK_WRUNLOCK
    - pat_ref_delete
    - free_trash_chunk
    - HA_RWLOCK_WRLOCK
    - pat_ref_set_elt_duplicate
    - build_logline
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_set_map(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t
      \  struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/http_act.c:1889,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/http_act.c:1890,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/http_act.c:1892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 1893
      start: 1887
    functionDepth: 4
    functionLinenumber: 1887
    functionLinenumberEnd: 1893
    functionName: release_http_map
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - free
    - lf_expr_deinit
    linkageType: ''
    returnType: void
    signature: release_http_map(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1914,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1923,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:1928,1
    - Dst: my_strndup
      Src: /src/haproxy/src/http_act.c:1936,1
    - Dst: strlen
      Src: /src/haproxy/src/http_act.c:1936,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_act.c:1954,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/http_act.c:1955,1
    - Dst: free
      Src: /src/haproxy/src/http_act.c:1956,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/http_act.c:1963,1
    - Dst: parse_logformat_string
      Src: /src/haproxy/src/http_act.c:1964,1
    - Dst: free
      Src: /src/haproxy/src/http_act.c:1965,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 1972
      start: 1900
    functionDepth: 9
    functionLinenumber: 1900
    functionLinenumberEnd: 1972
    functionName: parse_http_set_map
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - lf_expr_init
    - strlen
    - free
    - parse_logformat_string
    - my_strndup
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_set_map(const char **args, int *orig_arg, struct proxy
      *px,\n\t\t\t\t\t     struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/http_act.c:1991,1
    - Dst: stktable_fetch_key
      Src: /src/haproxy/src/http_act.c:1994,1
    - Dst: stktable_get_entry
      Src: /src/haproxy/src/http_act.c:1998,1
    - Dst: stream_track_stkctr
      Src: /src/haproxy/src/http_act.c:2002,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/http_act.c:2005,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/http_act.c:2006,1
    - Dst: http_status_matches
      Src: /src/haproxy/src/http_act.c:2016,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/http_act.c:2017,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/http_act.c:2018,1
    - Dst: http_status_matches
      Src: /src/haproxy/src/http_act.c:2022,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/http_act.c:2023,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/src/http_act.c:2024,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/http_act.c:2028,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/http_act.c:2031,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/src/http_act.c:2033,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/http_act.c:2033,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/http_act.c:2036,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/src/http_act.c:2038,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/http_act.c:2038,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/http_act.c:2041,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/src/http_act.c:2043,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/src/http_act.c:2043,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/http_act.c:2046,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/src/http_act.c:2049,1
    - Dst: stkctr_set_flags
      Src: /src/haproxy/src/http_act.c:2052,1
    - Dst: stkctr_set_flags
      Src: /src/haproxy/src/http_act.c:2054,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2058
      start: 1977
    functionDepth: 5
    functionLinenumber: 1977
    functionLinenumberEnd: 2058
    functionName: http_action_track_sc
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - update_freq_ctr_period
    - stktable_touch_local
    - stktable_get_entry
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - stream_track_stkctr
    - HA_RWLOCK_WRLOCK
    - HA_RWLOCK_WRUNLOCK
    - stkctr_set_flags
    - stktable_fetch_key
    - http_status_matches
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_track_sc(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t
      \   struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:2062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 2063
      start: 2060
    functionDepth: 5
    functionLinenumber: 2060
    functionLinenumberEnd: 2063
    functionName: release_http_track_sc
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - release_sample_expr
    linkageType: ''
    returnType: void
    signature: release_http_track_sc(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_track_sc_num
      Src: /src/haproxy/src/http_act.c:2078,1
    - Dst: strlen
      Src: /src/haproxy/src/http_act.c:2078,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/http_act.c:2082,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:2094,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/http_act.c:2095,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:2096,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:2100,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:2103,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/http_act.c:2104,1
    - Dst: strdup
      Src: /src/haproxy/src/http_act.c:2109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 2121
      start: 2068
    functionDepth: 7
    functionLinenumber: 2068
    functionLinenumberEnd: 2121
    functionName: parse_http_track_sc
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strlen
    - strcmp
    - sample_parse_expr
    - strdup
    - sample_src_names
    - release_sample_expr
    - cfg_parse_track_sc_num
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_track_sc(const char **args, int *orig_arg, struct proxy
      *px,\n\t\t\t\t\t\t struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/http_act.c:2132,1
    - Dst: stream_set_timeout
      Src: /src/haproxy/src/http_act.c:2136,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/http_act.c:2136,1
    - Dst: stream_set_timeout
      Src: /src/haproxy/src/http_act.c:2139,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/http_act.c:2139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2143
      start: 2123
    functionDepth: 3
    functionLinenumber: 2123
    functionLinenumberEnd: 2143
    functionName: action_timeout_set_stream_timeout
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - sample_fetch_as_type
    - MS_TO_TICKS
    - stream_set_timeout
    linkageType: ''
    returnType: enum act_return
    signature: "action_timeout_set_stream_timeout(struct act_rule *rule,\n                                                         struct
      proxy *px,\n                                                         struct
      session *sess,\n                                                         struct
      stream *s,\n                                                         int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:2160,1
    - Dst: cfg_parse_rule_set_timeout
      Src: /src/haproxy/src/http_act.c:2164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 2171
      start: 2147
    functionDepth: 5
    functionLinenumber: 2147
    functionLinenumberEnd: 2171
    functionName: parse_http_set_timeout
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cfg_parse_rule_set_timeout
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_set_timeout(const char **args,\n                                                 int
      *orig_arg,\n                                                 struct proxy *px,\n
      \                                                struct act_rule *rule, char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2186
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2186
    functionName: http_action_strict_mode
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_strict_mode(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t
      \      struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:2198,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/http_act.c:2202,1
    - Dst: strcasecmp
      Src: /src/haproxy/src/http_act.c:2204,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:2207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 2214
      start: 2191
    functionDepth: 5
    functionLinenumber: 2191
    functionLinenumberEnd: 2214
    functionName: parse_http_strict_mode
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcasecmp
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_strict_mode(const char **args, int *orig_arg, struct proxy
      *px,\n\t\t\t\t\t\t struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_reply_message
      Src: /src/haproxy/src/http_act.c:2233,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/http_act.c:2242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2246
      start: 2221
    functionDepth: 14
    functionLinenumber: 2221
    functionLinenumberEnd: 2246
    functionName: http_action_return
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - http_reply_message
    - _HA_ATOMIC_INC
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_return(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t
      \ struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_parse_http_reply
      Src: /src/haproxy/src/http_act.c:2257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 2267
      start: 2252
    functionDepth: 7
    functionLinenumber: 2252
    functionLinenumberEnd: 2267
    functionName: parse_http_return
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - http_parse_http_reply
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_return(const char **args, int *orig_arg, struct proxy *px,\n\t\t\t\t\t
      \   struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_wait_for_msg_body
      Src: /src/haproxy/src/http_act.c:2287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2301
      start: 2280
    functionDepth: 2
    functionLinenumber: 2280
    functionLinenumberEnd: 2301
    functionName: http_action_wait_for_body
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - http_wait_for_msg_body
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_wait_for_body(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t\t
      struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:2315,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:2322,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:2324,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/http_act.c:2327,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:2329,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:2333,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:2337,1
    - Dst: strcmp
      Src: /src/haproxy/src/http_act.c:2342,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:2344,1
    - Dst: parse_size_err
      Src: /src/haproxy/src/http_act.c:2347,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:2349,1
    - Dst: memprintf
      Src: /src/haproxy/src/http_act.c:2360,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 2372
      start: 2306
    functionDepth: 5
    functionLinenumber: 2306
    functionLinenumberEnd: 2372
    functionName: parse_http_wait_for_body
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - parse_size_err
    - parse_time_err
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_wait_for_body(const char **args, int *orig_arg, struct
      proxy *px,\n\t\t\t\t\t\t   struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: log_orig_register
      Src: /src/haproxy/src/http_act.c:2380,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/http_act.c:2381,1
    - Dst: log_orig_register
      Src: /src/haproxy/src/http_act.c:2382,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/http_act.c:2383,1
    - Dst: log_orig_register
      Src: /src/haproxy/src/http_act.c:2384,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/http_act.c:2385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2378
    functionDepth: 4
    functionLinenumber: 2378
    functionLinenumberEnd: 2386
    functionName: init_do_log
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - BUG_ON
    - log_orig_register
    linkageType: ''
    returnType: void
    signature: init_do_log(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_log_parse_act
      Src: /src/haproxy/src/http_act.c:2393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 2394
      start: 2390
    functionDepth: 1
    functionLinenumber: 2390
    functionLinenumberEnd: 2394
    functionName: parse_http_req_do_log
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - do_log_parse_act
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_req_do_log(const char **args, int *orig_arg, struct proxy
      *px,\n                                                struct act_rule *rule,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_log_parse_act
      Src: /src/haproxy/src/http_act.c:2399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 2400
      start: 2396
    functionDepth: 1
    functionLinenumber: 2396
    functionLinenumberEnd: 2400
    functionName: parse_http_res_do_log
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - do_log_parse_act
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_res_do_log(const char **args, int *orig_arg, struct proxy
      *px,\n                                                struct act_rule *rule,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: do_log_parse_act
      Src: /src/haproxy/src/http_act.c:2405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - orig_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 2406
      start: 2402
    functionDepth: 1
    functionLinenumber: 2402
    functionLinenumberEnd: 2406
    functionName: parse_http_after_res_do_log
    functionSourceFile: /src/haproxy/src/http_act.c
    functionUses: 0
    functionsReached:
    - do_log_parse_act
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_http_after_res_do_log(const char **args, int *orig_arg, struct
      proxy *px,\n                                                      struct act_rule
      *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb32_insert
      Src: /src/haproxy/src/eb32tree.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct eb32_node*
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: eb32_insert
    functionSourceFile: /src/haproxy/src/eb32tree.c
    functionUses: 39
    functionsReached:
    - __eb32_insert
    linkageType: ''
    returnType: struct eb32_node
    signature: '*eb32_insert(struct eb_root *root, struct eb32_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb32i_insert
      Src: /src/haproxy/src/eb32tree.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct eb32_node*
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: eb32i_insert
    functionSourceFile: /src/haproxy/src/eb32tree.c
    functionUses: 1
    functionsReached:
    - __eb32i_insert
    linkageType: ''
    returnType: struct eb32_node
    signature: '*eb32i_insert(struct eb_root *root, struct eb32_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb32_lookup
      Src: /src/haproxy/src/eb32tree.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - u32
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: eb32_lookup
    functionSourceFile: /src/haproxy/src/eb32tree.c
    functionUses: 21
    functionsReached:
    - __eb32_lookup
    linkageType: ''
    returnType: struct eb32_node
    signature: '*eb32_lookup(struct eb_root *root, u32 x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb32i_lookup
      Src: /src/haproxy/src/eb32tree.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - s32
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: eb32i_lookup
    functionSourceFile: /src/haproxy/src/eb32tree.c
    functionUses: 1
    functionsReached:
    - __eb32i_lookup
    linkageType: ''
    returnType: struct eb32_node
    signature: '*eb32i_lookup(struct eb_root *root, s32 x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/eb32tree.c:55,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32tree.c:59,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32tree.c:64,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32tree.c:64,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32tree.c:72,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32tree.c:72,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32tree.c:86,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32tree.c:87,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32tree.c:88,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32tree.c:88,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/eb32tree.c:103,1
    - Dst: eb_walk_down
      Src: /src/haproxy/src/eb32tree.c:103,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32tree.c:119,1
    - Dst: unlikely
      Src: /src/haproxy/src/eb32tree.c:123,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/eb32tree.c:123,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32tree.c:123,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/eb32tree.c:125,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32tree.c:125,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32tree.c:128,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/eb32tree.c:129,1
    - Dst: eb_walk_down
      Src: /src/haproxy/src/eb32tree.c:129,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - u32
    constantsTouched: []
    func_position:
      end: 131
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 131
    functionName: eb32_lookup_le
    functionSourceFile: /src/haproxy/src/eb32tree.c
    functionUses: 0
    functionsReached:
    - container_of
    - eb_walk_down
    - eb_clrtag
    - eb_gettag
    - eb_untag
    - eb32_entry
    - unlikely
    - eb_root_to_node
    linkageType: ''
    returnType: struct eb32_node
    signature: '*eb32_lookup_le(struct eb_root *root, u32 x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/eb32tree.c:143,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32tree.c:147,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32tree.c:152,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32tree.c:152,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32tree.c:160,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32tree.c:160,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32tree.c:174,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32tree.c:175,1
    - Dst: container_of
      Src: /src/haproxy/src/eb32tree.c:176,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32tree.c:176,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/eb32tree.c:191,1
    - Dst: eb_walk_down
      Src: /src/haproxy/src/eb32tree.c:191,1
    - Dst: eb_gettag
      Src: /src/haproxy/src/eb32tree.c:207,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/src/eb32tree.c:209,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32tree.c:209,1
    - Dst: eb_untag
      Src: /src/haproxy/src/eb32tree.c:212,1
    - Dst: eb_clrtag
      Src: /src/haproxy/src/eb32tree.c:213,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/eb32tree.c:216,1
    - Dst: eb_walk_down
      Src: /src/haproxy/src/eb32tree.c:216,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - u32
    constantsTouched: []
    func_position:
      end: 218
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 218
    functionName: eb32_lookup_ge
    functionSourceFile: /src/haproxy/src/eb32tree.c
    functionUses: 20
    functionsReached:
    - container_of
    - eb_walk_down
    - eb_clrtag
    - eb_gettag
    - eb_untag
    - eb32_entry
    - unlikely
    - eb_root_to_node
    linkageType: ''
    returnType: struct eb32_node
    signature: '*eb32_lookup_ge(struct eb_root *root, u32 x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_init
      Src: /src/haproxy/src/trace.c:43,1
    - Dst: my_realloc2
      Src: /src/haproxy/src/trace.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: alloc_trace_buffers_per_thread
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - my_realloc2
    - chunk_init
    linkageType: ''
    returnType: int
    signature: alloc_trace_buffers_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_destroy
      Src: /src/haproxy/src/trace.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: free_trace_buffers_per_thread
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - chunk_destroy
    linkageType: ''
    returnType: void
    signature: free_trace_buffers_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 5
    argNames:
    - arg_def
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - uint32_t
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: trace_pick_arg
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '*trace_pick_arg(uint32_t arg_def, const void *a1, const void *a2,
      const void *a3, const void *a4)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/trace.c:99,1
    - Dst: likely
      Src: /src/haproxy/src/trace.c:102,1
    - Dst: trace_pick_arg
      Src: /src/haproxy/src/trace.c:114,1
    - Dst: trace_pick_arg
      Src: /src/haproxy/src/trace.c:117,1
    - Dst: trace_pick_arg
      Src: /src/haproxy/src/trace.c:120,1
    - Dst: trace_pick_arg
      Src: /src/haproxy/src/trace.c:123,1
    - Dst: trace_pick_arg
      Src: /src/haproxy/src/trace.c:126,1
    - Dst: trace_pick_arg
      Src: /src/haproxy/src/trace.c:129,1
    - Dst: struct trace_source*::fill_ctx
      Src: /src/haproxy/src/trace.c:132,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/trace.c:140,1
    - Dst: objt_listener
      Src: /src/haproxy/src/trace.c:153,1
    - Dst: objt_server
      Src: /src/haproxy/src/trace.c:168,1
    - Dst: objt_proxy
      Src: /src/haproxy/src/trace.c:174,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:184,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 173
    argCount: 10
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    - plockptr
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - char*
    - void*
    - void*
    - void*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 251
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 251
    functionName: __trace_enabled
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - objt_server
    - trace_pick_arg
    - objt_listener
    - objt_proxy
    - likely
    - HA_ATOMIC_LOAD
    - LIST_INLIST
    - HA_ATOMIC_STORE
    - struct trace_source*::fill_ctx
    linkageType: ''
    returnType: int
    signature: "__trace_enabled(enum trace_level level, uint64_t mask, struct trace_source
      *src,\n\t\t    const struct ist where, const char *func,\n\t\t    const void
      *a1, const void *a2, const void *a3, const void *a4,\n\t\t    const void **plockptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/src/trace.c:263,1
    - Dst: __trace_enabled
      Src: /src/haproxy/src/trace.c:270,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:272,1
    - Dst: ist
      Src: /src/haproxy/src/trace.c:283,1
    - Dst: ist
      Src: /src/haproxy/src/trace.c:288,1
    - Dst: ist
      Src: /src/haproxy/src/trace.c:290,1
    - Dst: ist2
      Src: /src/haproxy/src/trace.c:291,1
    - Dst: ist
      Src: /src/haproxy/src/trace.c:292,1
    - Dst: ist
      Src: /src/haproxy/src/trace.c:299,1
    - Dst: isttest
      Src: /src/haproxy/src/trace.c:301,1
    - Dst: ist
      Src: /src/haproxy/src/trace.c:303,1
    - Dst: b_reset
      Src: /src/haproxy/src/trace.c:314,1
    - Dst: b_istput
      Src: /src/haproxy/src/trace.c:315,1
    - Dst: cb
      Src: /src/haproxy/src/trace.c:316,1
    - Dst: ist2
      Src: /src/haproxy/src/trace.c:317,1
    - Dst: sink_write
      Src: /src/haproxy/src/trace.c:330,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:335,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:336,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:339,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:340,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 10
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    - msg
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - char*
    - void*
    - void*
    - void*
    - void*
    - struct ist
    constantsTouched: []
    func_position:
      end: 342
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 342
    functionName: __trace
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - b_istput
    - cb
    - sink_write
    - ist2
    - isttest
    - ist
    - b_reset
    - __trace_enabled
    - HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: "__trace(enum trace_level level, uint64_t mask, struct trace_source
      *src,\n             const struct ist where, const char *func,\n             const
      void *a1, const void *a2, const void *a3, const void *a4,\n             void
      (*cb)(enum trace_level level, uint64_t mask, const struct trace_source *src,\n
      \                       const struct ist where, const struct ist func,\n                        const
      void *a1, const void *a2, const void *a3, const void *a4),\n             const
      struct ist msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 9
    argNames:
    - level
    - mask
    - src
    - where
    - func
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - enum trace_level
    - uint64_t
    - struct trace_source*
    - struct ist
    - struct ist
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: trace_no_cb
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "trace_no_cb(enum trace_level level, uint64_t mask, const struct trace_source
      *src,\n\t\t const struct ist where, const struct ist func,\n\t\t const void
      *a1, const void *a2, const void *a3, const void *a4)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - source
    argTypes:
    - struct trace_source*
    constantsTouched: []
    func_position:
      end: 361
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 361
    functionName: trace_source_reset
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: trace_source_reset(struct trace_source *source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trace_source_reset
      Src: /src/haproxy/src/trace.c:369,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/trace.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - source
    argTypes:
    - struct trace_source*
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: trace_register_source
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - trace_source_reset
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: trace_register_source(struct trace_source *source)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/src/trace.c:376,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/trace.c:378,1
    - Dst: isteq
      Src: /src/haproxy/src/trace.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: trace_find_source
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - isteq
    - ist
    linkageType: ''
    returnType: struct trace_source
    signature: '*trace_find_source(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ev
    - name
    argTypes:
    - struct trace_event*
    - char*
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: trace_find_event
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct trace_event
    signature: '*trace_find_event(const struct trace_event *ev, const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:398,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:400,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:402,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:404,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:406,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:408,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - level
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 412
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 412
    functionName: trace_parse_level
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: trace_parse_level(const char *level)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:424,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:433,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:440,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - src
    - verbosity
    argTypes:
    - struct trace_source*
    - char*
    constantsTouched: []
    func_position:
      end: 451
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 451
    functionName: trace_source_parse_verbosity
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "trace_source_parse_verbosity(struct trace_source *src,\n                                        const
      char *verbosity)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sink_find_early
      Src: /src/haproxy/src/trace.c:467,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:469,1
    - Dst: sink_find
      Src: /src/haproxy/src/trace.c:474,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - name
    - msg
    - file
    - line
    argTypes:
    - char*
    - char**
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 481
      start: 460
    functionDepth: 5
    functionLinenumber: 460
    functionLinenumberEnd: 481
    functionName: _trace_get_sink
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - memprintf
    - sink_find
    - sink_find_early
    linkageType: ''
    returnType: struct sink
    signature: "*_trace_get_sink(const char *name, char **msg,\n                                    const
      char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct trace_source*
    constantsTouched: []
    func_position:
      end: 490
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 490
    functionName: trace_enforce_origin_priority
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: trace_enforce_origin_priority(const struct trace_source *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_printf
      Src: /src/haproxy/src/trace.c:511,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/trace.c:517,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:518,1
    - Dst: trace_state_char
      Src: /src/haproxy/src/trace.c:518,1
    - Dst: strdup
      Src: /src/haproxy/src/trace.c:521,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:525,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/trace.c:527,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:528,1
    - Dst: strdup
      Src: /src/haproxy/src/trace.c:529,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:533,1
    - Dst: trace_find_source
      Src: /src/haproxy/src/trace.c:537,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:539,1
    - Dst: strdup
      Src: /src/haproxy/src/trace.c:557,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:567,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:568,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:569,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:570,1
    - Dst: trace_enforce_origin_priority
      Src: /src/haproxy/src/trace.c:574,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:577,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/trace.c:578,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/trace.c:583,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/trace.c:585,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/trace.c:587,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:589,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/trace.c:594,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:595,1
    - Dst: trace_state_char
      Src: /src/haproxy/src/trace.c:595,1
    - Dst: strdup
      Src: /src/haproxy/src/trace.c:598,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:603,1
    - Dst: trace_find_source
      Src: /src/haproxy/src/trace.c:604,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:606,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:612,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/trace.c:615,1
    - Dst: trace_enforce_origin_priority
      Src: /src/haproxy/src/trace.c:616,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:617,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:623,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:624,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:625,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:626,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/trace.c:644,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:646,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:647,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:648,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:650,1
    - Dst: trace_event_char
      Src: /src/haproxy/src/trace.c:651,1
    - Dst: strdup
      Src: /src/haproxy/src/trace.c:655,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:666,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:667,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:669,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:670,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:673,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:676,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:677,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:680,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:681,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:682,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:685,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/trace.c:687,1
    - Dst: trace_find_event
      Src: /src/haproxy/src/trace.c:692,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:694,1
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/src/trace.c:699,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/src/trace.c:701,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/trace.c:703,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/src/trace.c:704,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:710,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/trace.c:715,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:716,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/trace.c:717,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:718,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:723,1
    - Dst: strdup
      Src: /src/haproxy/src/trace.c:725,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:729,1
    - Dst: _trace_get_sink
      Src: /src/haproxy/src/trace.c:732,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:738,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/trace.c:741,1
    - Dst: trace_enforce_origin_priority
      Src: /src/haproxy/src/trace.c:742,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:743,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:750,1
    - Dst: trace_parse_level
      Src: /src/haproxy/src/trace.c:755,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/trace.c:758,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:760,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:761,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:762,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:764,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:766,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:768,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:770,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:772,1
    - Dst: strdup
      Src: /src/haproxy/src/trace.c:775,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:780,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/trace.c:783,1
    - Dst: trace_enforce_origin_priority
      Src: /src/haproxy/src/trace.c:784,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:785,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:792,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/trace.c:796,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:798,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:802,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:806,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:810,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:814,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:817,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:821,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:825,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:829,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:833,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:837,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:840,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:844,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:849,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:854,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:859,1
    - Dst: strdup
      Src: /src/haproxy/src/trace.c:864,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:867,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:868,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:869,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:871,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:872,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:873,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:875,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:876,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:877,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:879,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:880,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:881,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:883,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:884,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:885,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:887,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:888,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:889,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:891,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:892,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:893,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:895,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:896,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:897,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:899,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:900,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:901,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:903,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:904,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:905,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:907,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:908,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:909,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:911,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:912,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:913,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:915,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:916,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:917,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:919,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:920,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:921,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:923,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:924,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:925,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:927,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:928,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:929,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:932,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:939,1
    - Dst: trace_source_parse_verbosity
      Src: /src/haproxy/src/trace.c:945,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/trace.c:948,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:950,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:951,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:952,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:955,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:959,1
    - Dst: strdup
      Src: /src/haproxy/src/trace.c:964,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/src/trace.c:968,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:974,1
    CyclomaticComplexity: 141
    EdgeCount: 141
    ICount: 335
    argCount: 4
    argNames:
    - args
    - msg
    - file
    - line
    argTypes:
    - char**
    - char**
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 981
      start: 500
    functionDepth: 6
    functionLinenumber: 500
    functionLinenumberEnd: 981
    functionName: _trace_parse_statement
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_reset
    - HA_ATOMIC_AND
    - trace_event_char
    - HA_ATOMIC_LOAD
    - trace_parse_level
    - HA_ATOMIC_STORE
    - list_for_each_entry
    - strcmp
    - chunk_appendf
    - trace_enforce_origin_priority
    - _trace_get_sink
    - chunk_printf
    - strdup
    - trace_find_event
    - trace_state_char
    - HA_ATOMIC_CAS
    - trace_find_source
    - trace_source_parse_verbosity
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: int
    signature: _trace_parse_statement(char **args, char **msg, const char *file, int
      line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _trace_parse_statement
      Src: /src/haproxy/src/trace.c:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - args
    - msg
    argTypes:
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 989
      start: 986
    functionDepth: 7
    functionLinenumber: 986
    functionLinenumberEnd: 989
    functionName: trace_parse_statement
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 1
    functionsReached:
    - _trace_parse_statement
    linkageType: ''
    returnType: int
    signature: trace_parse_statement(char **args, char **msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: trace_source_reset
      Src: /src/haproxy/src/trace.c:993,1
    - Dst: sink_find
      Src: /src/haproxy/src/trace.c:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - src
    - level
    - verbosity
    argTypes:
    - struct trace_source*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 999
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 999
    functionName: _trace_parse_cmd
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - trace_source_reset
    - sink_find
    linkageType: ''
    returnType: void
    signature: _trace_parse_cmd(struct trace_source *src, int level, int verbosity)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:1012,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:1013,1
    - Dst: strdup
      Src: /src/haproxy/src/trace.c:1031,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:1033,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/trace.c:1042,1
    - Dst: _trace_parse_cmd
      Src: /src/haproxy/src/trace.c:1043,1
    - Dst: strtok_r
      Src: /src/haproxy/src/trace.c:1047,1
    - Dst: strchr
      Src: /src/haproxy/src/trace.c:1055,1
    - Dst: strlen
      Src: /src/haproxy/src/trace.c:1064,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:1064,1
    - Dst: trace_find_source
      Src: /src/haproxy/src/trace.c:1065,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:1067,1
    - Dst: ha_free
      Src: /src/haproxy/src/trace.c:1068,1
    - Dst: strlen
      Src: /src/haproxy/src/trace.c:1073,1
    - Dst: strchr
      Src: /src/haproxy/src/trace.c:1078,1
    - Dst: strlen
      Src: /src/haproxy/src/trace.c:1087,1
    - Dst: trace_parse_level
      Src: /src/haproxy/src/trace.c:1088,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:1090,1
    - Dst: ha_free
      Src: /src/haproxy/src/trace.c:1091,1
    - Dst: strlen
      Src: /src/haproxy/src/trace.c:1096,1
    - Dst: strchr
      Src: /src/haproxy/src/trace.c:1101,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:1102,1
    - Dst: ha_free
      Src: /src/haproxy/src/trace.c:1103,1
    - Dst: trace_source_parse_verbosity
      Src: /src/haproxy/src/trace.c:1107,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:1112,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:1115,1
    - Dst: memprintf
      Src: /src/haproxy/src/trace.c:1117,1
    - Dst: ha_free
      Src: /src/haproxy/src/trace.c:1120,1
    - Dst: _trace_parse_cmd
      Src: /src/haproxy/src/trace.c:1126,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/trace.c:1129,1
    - Dst: _trace_parse_cmd
      Src: /src/haproxy/src/trace.c:1130,1
    - Dst: ha_free
      Src: /src/haproxy/src/trace.c:1136,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 86
    argCount: 2
    argNames:
    - arg_src
    - errmsg
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1138
      start: 1005
    functionDepth: 5
    functionLinenumber: 1005
    functionLinenumberEnd: 1138
    functionName: trace_parse_cmd
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 2
    functionsReached:
    - memprintf
    - trace_find_source
    - ha_free
    - _trace_parse_cmd
    - list_for_each_entry
    - strcmp
    - strlen
    - strdup
    - trace_source_parse_verbosity
    - strchr
    - trace_parse_level
    - strtok_r
    linkageType: ''
    returnType: int
    signature: trace_parse_cmd(const char *arg_src, char **errmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _trace_parse_statement
      Src: /src/haproxy/src/trace.c:1148,1
    - Dst: ha_notice
      Src: /src/haproxy/src/trace.c:1151,1
    - Dst: ha_warning
      Src: /src/haproxy/src/trace.c:1153,1
    - Dst: ha_free
      Src: /src/haproxy/src/trace.c:1159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1163
      start: 1141
    functionDepth: 9
    functionLinenumber: 1141
    functionLinenumberEnd: 1163
    functionName: cfg_parse_trace
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - _trace_parse_statement
    - ha_notice
    - ha_free
    linkageType: ''
    returnType: int
    signature: "cfg_parse_trace(char **args, int section_type, struct proxy *curpx,\n\t\t\t
      \  const struct proxy *defpx, const char *file, int line,\n\t\t\t   char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:1180,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/trace.c:1182,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/trace.c:1191,1
    - Dst: strcmp
      Src: /src/haproxy/src/trace.c:1195,1
    - Dst: check_kw_experimental
      Src: /src/haproxy/src/trace.c:1196,1
    - Dst: ha_alert
      Src: /src/haproxy/src/trace.c:1197,1
    - Dst: parse
      Src: /src/haproxy/src/trace.c:1202,1
    - Dst: ha_alert
      Src: /src/haproxy/src/trace.c:1204,1
    - Dst: ha_warning
      Src: /src/haproxy/src/trace.c:1208,1
    - Dst: cfg_find_best_match
      Src: /src/haproxy/src/trace.c:1216,1
    - Dst: ha_alert
      Src: /src/haproxy/src/trace.c:1218,1
    - Dst: ha_alert
      Src: /src/haproxy/src/trace.c:1220,1
    - Dst: free
      Src: /src/haproxy/src/trace.c:1225,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - inv
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 1227
      start: 1175
    functionDepth: 9
    functionLinenumber: 1175
    functionLinenumberEnd: 1227
    functionName: cfg_parse_traces
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - parse
    - list_for_each_entry
    - strcmp
    - ha_warning
    - cfg_find_best_match
    - free
    - alertif_too_many_args
    - check_kw_experimental
    linkageType: ''
    returnType: int
    signature: cfg_parse_traces(const char *file, int linenum, char **args, int inv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/trace.c:1235,1
    - Dst: trace_parse_statement
      Src: /src/haproxy/src/trace.c:1238,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/trace.c:1240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1244
      start: 1230
    functionDepth: 8
    functionLinenumber: 1230
    functionLinenumberEnd: 1244
    functionName: cli_parse_trace
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - cli_dynmsg
    - trace_parse_statement
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_trace(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_printf
      Src: /src/haproxy/src/trace.c:1257,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/trace.c:1261,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:1263,1
    - Dst: trace_state_char
      Src: /src/haproxy/src/trace.c:1264,1
    - Dst: cli_msg
      Src: /src/haproxy/src/trace.c:1271,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/trace.c:1274,1
    - Dst: trace_find_source
      Src: /src/haproxy/src/trace.c:1277,1
    - Dst: cli_err
      Src: /src/haproxy/src/trace.c:1279,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/trace.c:1282,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:1283,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:1286,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/trace.c:1288,1
    - Dst: trace_event_char
      Src: /src/haproxy/src/trace.c:1290,1
    - Dst: trace_event_char
      Src: /src/haproxy/src/trace.c:1291,1
    - Dst: trace_event_char
      Src: /src/haproxy/src/trace.c:1292,1
    - Dst: trace_event_char
      Src: /src/haproxy/src/trace.c:1293,1
    - Dst: cli_msg
      Src: /src/haproxy/src/trace.c:1297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1298
      start: 1247
    functionDepth: 2
    functionLinenumber: 1247
    functionLinenumberEnd: 1298
    functionName: cli_parse_show_trace
    functionSourceFile: /src/haproxy/src/trace.c
    functionUses: 0
    functionsReached:
    - trace_find_source
    - list_for_each_entry
    - cli_err
    - trace_event_char
    - chunk_printf
    - cli_msg
    - chunk_appendf
    - cli_has_level
    - trace_state_char
    linkageType: ''
    returnType: int
    signature: cli_parse_show_trace(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/src/htx.c:24,1
    - Dst: write_u64
      Src: /src/haproxy/src/htx.c:25,1
    - Dst: read_u64
      Src: /src/haproxy/src/htx.c:25,1
    - Dst: memcpy
      Src: /src/haproxy/src/htx.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - len
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: htx_memcpy
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 0
    functionsReached:
    - read_u64
    - likely
    - memcpy
    - write_u64
    linkageType: ''
    returnType: void
    signature: htx_memcpy(void *dst, void *src, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/htx.c:41,1
    - Dst: htxbuf
      Src: /src/haproxy/src/htx.c:42,1
    - Dst: htx_get_head
      Src: /src/haproxy/src/htx.c:59,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/htx.c:59,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/htx.c:60,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/htx.c:61,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/htx.c:64,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:65,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/htx.c:65,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/htx.c:71,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/htx.c:82,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:95,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/htx.c:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - htx
    - blk
    - blkinfo
    argTypes:
    - struct htx*
    - struct htx_blk*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 98
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 98
    functionName: htx_defrag
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 2
    functionsReached:
    - htx_get_head
    - htx_get_blksz
    - htx_get_blk_ptr
    - htxbuf
    - htx_get_blk
    - get_trash_chunk
    - htx_get_blk_type
    - htx_memcpy
    - htx_get_next
    linkageType: ''
    returnType: struct htx_blk
    signature: '*htx_defrag(struct htx *htx, struct htx_blk *blk, uint32_t blkinfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_head
      Src: /src/haproxy/src/htx.c:109,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/htx.c:109,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/htx.c:117,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/htx.c:118,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/htx.c:123,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: htx_defrag_blks
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 0
    functionsReached:
    - htx_get_head
    - htx_get_blk
    - htx_get_blk_type
    - BUG_ON
    - htx_get_next
    linkageType: ''
    returnType: void
    signature: htx_defrag_blks(struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/htx.c:143,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/htx.c:149,1
    - Dst: htx_pos_to_addr
      Src: /src/haproxy/src/htx.c:163,1
    - Dst: htx_defrag_blks
      Src: /src/haproxy/src/htx.c:166,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:168,1
    - Dst: htx_pos_to_addr
      Src: /src/haproxy/src/htx.c:168,1
    - Dst: htx_pos_to_addr
      Src: /src/haproxy/src/htx.c:183,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:184,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:185,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/htx.c:188,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/htx.c:193,1
    - Dst: htx_defrag
      Src: /src/haproxy/src/htx.c:200,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/htx.c:202,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:213,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:214,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:215,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:216,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 2
    argNames:
    - htx
    - blksz
    argTypes:
    - struct htx*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 219
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 219
    functionName: htx_reserve_nxblk
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 0
    functionsReached:
    - htx_free_data_space
    - htx_get_blk
    - htx_pos_to_addr
    - htx_defrag
    - htx_defrag_blks
    - BUG_ON
    linkageType: ''
    returnType: struct htx_blk
    signature: '*htx_reserve_nxblk(struct htx *htx, uint32_t blksz)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:244,1
    - Dst: htx_pos_to_addr
      Src: /src/haproxy/src/htx.c:247,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:248,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:249,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/htx.c:251,1
    - Dst: htx_free_space
      Src: /src/haproxy/src/htx.c:260,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:318,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:319,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:320,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:321,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 3
    argNames:
    - htx
    - blk
    - delta
    argTypes:
    - struct htx*
    - struct htx_blk*
    - int32_t
    constantsTouched: []
    func_position:
      end: 323
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 323
    functionName: htx_prepare_blk_expansion
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 0
    functionsReached:
    - htx_pos_to_addr
    - BUG_ON
    - htx_free_space
    - htx_get_blksz
    linkageType: ''
    returnType: int
    signature: htx_prepare_blk_expansion(struct htx *htx, struct htx_blk *blk, int32_t
      delta)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:332,1
    - Dst: htx_reserve_nxblk
      Src: /src/haproxy/src/htx.c:333,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - htx
    - type
    - blksz
    argTypes:
    - struct htx*
    - enum htx_blk_type
    - uint32_t
    constantsTouched: []
    func_position:
      end: 340
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 340
    functionName: htx_add_blk
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 1
    functionsReached:
    - htx_reserve_nxblk
    - BUG_ON
    linkageType: ''
    returnType: struct htx_blk
    signature: '*htx_add_blk(struct htx *htx, enum htx_blk_type type, uint32_t blksz)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:351,1
    - Dst: htx_reset
      Src: /src/haproxy/src/htx.c:357,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/htx.c:362,1
    - Dst: htx_get_blk_pos
      Src: /src/haproxy/src/htx.c:363,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/htx.c:364,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/htx.c:368,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/htx.c:387,1
    - Dst: htx_get_blk_pos
      Src: /src/haproxy/src/htx.c:391,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/htx.c:396,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:417,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:418,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:419,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:420,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 2
    argNames:
    - htx
    - blk
    argTypes:
    - struct htx*
    - struct htx_blk*
    constantsTouched: []
    func_position:
      end: 422
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 422
    functionName: htx_remove_blk
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 29
    functionsReached:
    - htx_get_blk_pos
    - htx_get_blksz
    - htx_get_blk
    - htx_get_blk_type
    - htx_reset
    - BUG_ON
    linkageType: ''
    returnType: struct htx_blk
    signature: '*htx_remove_blk(struct htx *htx, struct htx_blk *blk)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/htx.c:437,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/htx.c:437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - htx
    - offset
    argTypes:
    - struct htx*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 447
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 447
    functionName: htx_find_offset
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 4
    functionsReached:
    - htx_get_head_blk
    - htx_get_next_blk
    linkageType: ''
    returnType: struct htx_ret
    signature: htx_find_offset(struct htx *htx, uint32_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_find_offset
      Src: /src/haproxy/src/htx.c:455,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/htx.c:458,1
    - Dst: htx_change_blk_value_len
      Src: /src/haproxy/src/htx.c:459,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/htx.c:460,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/htx.c:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - htx
    - offset
    argTypes:
    - struct htx*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 464
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 464
    functionName: htx_truncate
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 10
    functionsReached:
    - htx_find_offset
    - htx_get_blk_type
    - htx_get_next_blk
    - htx_remove_blk
    - htx_change_blk_value_len
    linkageType: ''
    returnType: void
    signature: htx_truncate(struct htx *htx, uint32_t offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_reset
      Src: /src/haproxy/src/htx.c:480,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/htx.c:486,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/htx.c:489,1
    - Dst: htx_cut_data_blk
      Src: /src/haproxy/src/htx.c:497,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/htx.c:505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - htx
    - count
    argTypes:
    - struct htx*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 510
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 510
    functionName: htx_drain
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 0
    functionsReached:
    - htx_get_head_blk
    - htx_get_blk_type
    - htx_reset
    - htx_cut_data_blk
    - htx_remove_blk
    linkageType: ''
    returnType: struct htx_ret
    signature: htx_drain(struct htx *htx, uint32_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/htx.c:529,1
    - Dst: htx_get_tail_blk
      Src: /src/haproxy/src/htx.c:533,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/htx.c:536,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/htx.c:540,1
    - Dst: htx_pos_to_addr
      Src: /src/haproxy/src/htx.c:547,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:548,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:549,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/htx.c:567,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:568,1
    - Dst: htx_change_blk_value_len
      Src: /src/haproxy/src/htx.c:569,1
    - Dst: istadv
      Src: /src/haproxy/src/htx.c:575,1
    - Dst: htx_add_blk
      Src: /src/haproxy/src/htx.c:578,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:583,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/htx.c:583,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:586,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:587,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:588,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:589,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - htx
    - data
    argTypes:
    - struct htx*
    - struct ist
    constantsTouched: []
    func_position:
      end: 591
      start: 519
    functionDepth: 5
    functionLinenumber: 519
    functionLinenumberEnd: 591
    functionName: htx_add_data_atonce
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 5
    functionsReached:
    - htx_get_blksz
    - htx_free_data_space
    - htx_get_blk_ptr
    - htx_add_blk
    - htx_get_blk_type
    - htx_pos_to_addr
    - htx_memcpy
    - istadv
    - htx_get_tail_blk
    - BUG_ON
    - htx_change_blk_value_len
    linkageType: ''
    returnType: struct htx_blk
    signature: '*htx_add_data_atonce(struct htx *htx, struct ist data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/htx.c:605,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/htx.c:606,1
    - Dst: len::len
      Src: /src/haproxy/src/htx.c:607,1
    - Dst: htx_prepare_blk_expansion
      Src: /src/haproxy/src/htx.c:608,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:615,1
    - Dst: ptr::ptr
      Src: /src/haproxy/src/htx.c:615,1
    - Dst: len::len
      Src: /src/haproxy/src/htx.c:615,1
    - Dst: memmove
      Src: /src/haproxy/src/htx.c:616,1
    - Dst: len::len
      Src: /src/haproxy/src/htx.c:616,1
    - Dst: istend
      Src: /src/haproxy/src/htx.c:616,1
    - Dst: istend
      Src: /src/haproxy/src/htx.c:617,1
    - Dst: istend
      Src: /src/haproxy/src/htx.c:617,1
    - Dst: memmove
      Src: /src/haproxy/src/htx.c:621,1
    - Dst: len::len
      Src: /src/haproxy/src/htx.c:621,1
    - Dst: istend
      Src: /src/haproxy/src/htx.c:621,1
    - Dst: istend
      Src: /src/haproxy/src/htx.c:622,1
    - Dst: istend
      Src: /src/haproxy/src/htx.c:622,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:623,1
    - Dst: ptr::ptr
      Src: /src/haproxy/src/htx.c:623,1
    - Dst: len::len
      Src: /src/haproxy/src/htx.c:623,1
    - Dst: htx_set_blk_value_len
      Src: /src/haproxy/src/htx.c:627,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:634,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:638,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:642,1
    - Dst: ptr::ptr
      Src: /src/haproxy/src/htx.c:642,1
    - Dst: len::len
      Src: /src/haproxy/src/htx.c:642,1
    - Dst: len::len
      Src: /src/haproxy/src/htx.c:643,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:646,1
    - Dst: istend
      Src: /src/haproxy/src/htx.c:646,1
    - Dst: istend
      Src: /src/haproxy/src/htx.c:646,1
    - Dst: istend
      Src: /src/haproxy/src/htx.c:646,1
    - Dst: htx_set_blk_value_len
      Src: /src/haproxy/src/htx.c:649,1
    - Dst: htx_set_blk_value_len
      Src: /src/haproxy/src/htx.c:661,1
    - Dst: htx_defrag
      Src: /src/haproxy/src/htx.c:664,1
    - Dst: memmove
      Src: /src/haproxy/src/htx.c:671,1
    - Dst: len::len
      Src: /src/haproxy/src/htx.c:671,1
    - Dst: istend
      Src: /src/haproxy/src/htx.c:672,1
    - Dst: istend
      Src: /src/haproxy/src/htx.c:672,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:673,1
    - Dst: ptr::ptr
      Src: /src/haproxy/src/htx.c:673,1
    - Dst: len::len
      Src: /src/haproxy/src/htx.c:673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 4
    argNames:
    - htx
    - blk
    - old
    - new
    argTypes:
    - struct htx*
    - struct htx_blk*
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 676
      start: 598
    functionDepth: 3
    functionLinenumber: 598
    functionLinenumberEnd: 676
    functionName: htx_replace_blk_value
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 6
    functionsReached:
    - htx_get_blk_name
    - istend
    - htx_set_blk_value_len
    - htx_memcpy
    - memmove
    - htx_defrag
    - htx_get_blk_value
    - htx_prepare_blk_expansion
    - ptr::ptr
    - len::len
    linkageType: ''
    returnType: struct htx_blk
    signature: "*htx_replace_blk_value(struct htx *htx, struct htx_blk *blk,\n\t\t\t\t
      \     const struct ist old, const struct ist new)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_used_space
      Src: /src/haproxy/src/htx.c:691,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/htx.c:697,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/htx.c:697,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/htx.c:698,1
    - Dst: htx_get_max_blksz
      Src: /src/haproxy/src/htx.c:705,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/htx.c:709,1
    - Dst: htx_reserve_nxblk
      Src: /src/haproxy/src/htx.c:719,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:723,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/htx.c:723,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/htx.c:723,1
    - Dst: htx_cut_data_blk
      Src: /src/haproxy/src/htx.c:729,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/htx.c:748,1
    - Dst: unlikely
      Src: /src/haproxy/src/htx.c:753,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/htx.c:759,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/htx.c:761,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/htx.c:766,1
    - Dst: htx_drain
      Src: /src/haproxy/src/htx.c:773,1
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/htx.c:778,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/src/htx.c:778,1
    - Dst: htx_used_space
      Src: /src/haproxy/src/htx.c:782,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 58
    argCount: 4
    argNames:
    - dst
    - src
    - count
    - mark
    argTypes:
    - struct htx*
    - struct htx*
    - uint32_t
    - enum htx_blk_type
    constantsTouched: []
    func_position:
      end: 784
      start: 683
    functionDepth: 4
    functionLinenumber: 683
    functionLinenumberEnd: 784
    functionName: htx_xfer_blks
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 5
    functionsReached:
    - htx_used_space
    - htx_get_blksz
    - htx_get_head_blk
    - htx_get_blk_ptr
    - htx_drain
    - htx_get_max_blksz
    - unlikely
    - htx_get_blk_type
    - htx_memcpy
    - htx_remove_blk
    - htx_is_empty
    - htx_reserve_nxblk
    - htx_cut_data_blk
    - htx_get_next_blk
    linkageType: ''
    returnType: struct htx_ret
    signature: "htx_xfer_blks(struct htx *dst, struct htx *src, uint32_t count,\n\t\t\t
      \    enum htx_blk_type mark)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/htx.c:798,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/htx.c:802,1
    - Dst: htx_prepare_blk_expansion
      Src: /src/haproxy/src/htx.c:803,1
    - Dst: htx_defrag
      Src: /src/haproxy/src/htx.c:812,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/htx.c:820,1
    - Dst: ist2bin_lc
      Src: /src/haproxy/src/htx.c:821,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - htx
    - blk
    - name
    - value
    argTypes:
    - struct htx*
    - struct htx_blk*
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 824
      start: 790
    functionDepth: 3
    functionLinenumber: 790
    functionLinenumberEnd: 824
    functionName: htx_replace_header
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 1
    functionsReached:
    - htx_get_blksz
    - htx_get_blk_ptr
    - htx_get_blk_type
    - htx_memcpy
    - htx_defrag
    - htx_prepare_blk_expansion
    - ist2bin_lc
    linkageType: ''
    returnType: struct htx_blk
    signature: "*htx_replace_header(struct htx *htx, struct htx_blk *blk,\n\t\t\t\t
      \  const struct ist name, const struct ist value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/htx.c:840,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/htx.c:845,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/htx.c:849,1
    - Dst: htx_prepare_blk_expansion
      Src: /src/haproxy/src/htx.c:851,1
    - Dst: htx_defrag
      Src: /src/haproxy/src/htx.c:858,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/htx.c:867,1
    - Dst: HTX_SL_P1_LEN
      Src: /src/haproxy/src/htx.c:871,1
    - Dst: HTX_SL_P2_LEN
      Src: /src/haproxy/src/htx.c:872,1
    - Dst: HTX_SL_P3_LEN
      Src: /src/haproxy/src/htx.c:873,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:875,1
    - Dst: HTX_SL_P1_PTR
      Src: /src/haproxy/src/htx.c:875,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:876,1
    - Dst: HTX_SL_P2_PTR
      Src: /src/haproxy/src/htx.c:876,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:877,1
    - Dst: HTX_SL_P3_PTR
      Src: /src/haproxy/src/htx.c:877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 5
    argNames:
    - htx
    - blk
    - p1
    - p2
    - p3
    argTypes:
    - struct htx*
    - struct htx_blk*
    - struct ist
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 880
      start: 830
    functionDepth: 3
    functionLinenumber: 830
    functionLinenumberEnd: 880
    functionName: htx_replace_stline
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 1
    functionsReached:
    - HTX_SL_P2_PTR
    - htx_get_blksz
    - HTX_SL_P1_LEN
    - HTX_SL_P2_LEN
    - htx_get_blk_ptr
    - HTX_SL_P3_LEN
    - htx_get_blk_type
    - htx_memcpy
    - htx_defrag
    - htx_prepare_blk_expansion
    - HTX_SL_P3_PTR
    - HTX_SL_P1_PTR
    linkageType: ''
    returnType: struct htx_sl
    signature: "*htx_replace_stline(struct htx *htx, struct htx_blk *blk, const struct
      ist p1,\n\t\t\t\t  const struct ist p2, const struct ist p3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_tail_blk
      Src: /src/haproxy/src/htx.c:901,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/htx.c:904,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/htx.c:908,1
    - Dst: htx_pos_to_addr
      Src: /src/haproxy/src/htx.c:917,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:924,1
    - Dst: htx_change_blk_value_len
      Src: /src/haproxy/src/htx.c:929,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:931,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:932,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:933,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:934,1
    - Dst: htx_add_blk
      Src: /src/haproxy/src/htx.c:938,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 943
      start: 888
    functionDepth: 5
    functionLinenumber: 888
    functionLinenumberEnd: 943
    functionName: htx_reserve_max_data
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 1
    functionsReached:
    - htx_get_blksz
    - htx_add_blk
    - htx_get_blk_type
    - htx_pos_to_addr
    - htx_get_tail_blk
    - BUG_ON
    - htx_change_blk_value_len
    linkageType: ''
    returnType: struct htx_ret
    signature: htx_reserve_max_data(struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/htx.c:957,1
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/htx.c:958,1
    - Dst: htx_get_tail_blk
      Src: /src/haproxy/src/htx.c:967,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/htx.c:970,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/htx.c:974,1
    - Dst: htx_pos_to_addr
      Src: /src/haproxy/src/htx.c:983,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:990,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/htx.c:996,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:997,1
    - Dst: htx_change_blk_value_len
      Src: /src/haproxy/src/htx.c:998,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:1000,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:1001,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:1002,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/htx.c:1003,1
    - Dst: htx_add_blk
      Src: /src/haproxy/src/htx.c:1007,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:1012,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/htx.c:1012,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - htx
    - data
    argTypes:
    - struct htx*
    - struct ist
    constantsTouched: []
    func_position:
      end: 1014
      start: 949
    functionDepth: 5
    functionLinenumber: 949
    functionLinenumberEnd: 1014
    functionName: htx_add_data
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 5
    functionsReached:
    - htx_get_blksz
    - htx_free_data_space
    - htx_get_blk_ptr
    - htx_add_blk
    - htx_get_blk_type
    - htx_pos_to_addr
    - htx_memcpy
    - htx_get_tail_blk
    - BUG_ON
    - htx_change_blk_value_len
    linkageType: ''
    returnType: size_t
    signature: htx_add_data(struct htx *htx, const struct ist data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_add_data_atonce
      Src: /src/haproxy/src/htx.c:1027,1
    - Dst: htx_get_prev_blk
      Src: /src/haproxy/src/htx.c:1031,1
    - Dst: htx_get_prev_blk
      Src: /src/haproxy/src/htx.c:1031,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/htx.c:1032,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/htx.c:1040,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - htx
    - data
    argTypes:
    - struct htx*
    - struct ist
    constantsTouched: []
    func_position:
      end: 1045
      start: 1023
    functionDepth: 6
    functionLinenumber: 1023
    functionLinenumberEnd: 1045
    functionName: htx_add_last_data
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 2
    functionsReached:
    - htx_get_prev_blk
    - htx_get_blk_type
    - htx_get_blksz
    - htx_add_data_atonce
    linkageType: ''
    returnType: struct htx_blk
    signature: '*htx_add_last_data(struct htx *htx, struct ist data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_prev_blk
      Src: /src/haproxy/src/htx.c:1055,1
    - Dst: htx_get_prev_blk
      Src: /src/haproxy/src/htx.c:1055,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/htx.c:1061,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - htx
    - blk
    - ref
    argTypes:
    - struct htx*
    - struct htx_blk**
    - struct htx_blk**
    constantsTouched: []
    func_position:
      end: 1068
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1068
    functionName: htx_move_blk_before
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 0
    functionsReached:
    - htx_get_blksz
    - htx_get_prev_blk
    linkageType: ''
    returnType: void
    signature: htx_move_blk_before(struct htx *htx, struct htx_blk **blk, struct htx_blk
      **ref)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_head_blk
      Src: /src/haproxy/src/htx.c:1080,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/htx.c:1080,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/htx.c:1081,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/htx.c:1086,1
    - Dst: htx_add_blk
      Src: /src/haproxy/src/htx.c:1087,1
    - Dst: htx_memcpy
      Src: /src/haproxy/src/htx.c:1091,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/htx.c:1091,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/htx.c:1091,1
    - Dst: htx_truncate
      Src: /src/haproxy/src/htx.c:1097,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct htx*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1099
      start: 1074
    functionDepth: 5
    functionLinenumber: 1074
    functionLinenumberEnd: 1099
    functionName: htx_append_msg
    functionSourceFile: /src/haproxy/src/htx.c
    functionUses: 0
    functionsReached:
    - htx_get_blksz
    - htx_get_head_blk
    - htx_get_blk_ptr
    - htx_add_blk
    - htx_get_blk_type
    - htx_memcpy
    - htx_truncate
    - htx_get_next_blk
    linkageType: ''
    returnType: int
    signature: htx_append_msg(struct htx *dst, const struct htx *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - guid
    argTypes:
    - struct guid_node*
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: guid_init
    functionSourceFile: /src/haproxy/src/guid.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: guid_init(struct guid_node *guid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: guid_is_valid_fmt
      Src: /src/haproxy/src/guid.c:36,1
    - Dst: obj_type
      Src: /src/haproxy/src/guid.c:39,1
    - Dst: __objt_proxy
      Src: /src/haproxy/src/guid.c:41,1
    - Dst: __objt_listener
      Src: /src/haproxy/src/guid.c:45,1
    - Dst: __objt_server
      Src: /src/haproxy/src/guid.c:49,1
    - Dst: ABORT_NOW
      Src: /src/haproxy/src/guid.c:54,1
    - Dst: strdup
      Src: /src/haproxy/src/guid.c:58,1
    - Dst: memprintf
      Src: /src/haproxy/src/guid.c:60,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/guid.c:66,1
    - Dst: ebis_insert
      Src: /src/haproxy/src/guid.c:67,1
    - Dst: ebpt_entry
      Src: /src/haproxy/src/guid.c:69,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/guid.c:70,1
    - Dst: guid_name
      Src: /src/haproxy/src/guid.c:71,1
    - Dst: memprintf
      Src: /src/haproxy/src/guid.c:72,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/guid.c:75,1
    - Dst: ha_free
      Src: /src/haproxy/src/guid.c:81,1
    - Dst: ha_free
      Src: /src/haproxy/src/guid.c:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - objt
    - uid
    - errmsg
    argTypes:
    - enum obj_type*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 84
      start: 28
    functionDepth: 5
    functionLinenumber: 28
    functionLinenumberEnd: 84
    functionName: guid_insert
    functionSourceFile: /src/haproxy/src/guid.c
    functionUses: 2
    functionsReached:
    - memprintf
    - ABORT_NOW
    - ha_free
    - __objt_proxy
    - guid_name
    - ebis_insert
    - strdup
    - __objt_server
    - HA_RWLOCK_WRUNLOCK
    - obj_type
    - ebpt_entry
    - HA_RWLOCK_WRLOCK
    - guid_is_valid_fmt
    - __objt_listener
    linkageType: ''
    returnType: int
    signature: guid_insert(enum obj_type *objt, const char *uid, char **errmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/guid.c:91,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/guid.c:92,1
    - Dst: ha_free
      Src: /src/haproxy/src/guid.c:93,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/guid.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - guid
    argTypes:
    - struct guid_node*
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: guid_remove
    functionSourceFile: /src/haproxy/src/guid.c
    functionUses: 1
    functionsReached:
    - HA_RWLOCK_WRLOCK
    - ebpt_delete
    - HA_RWLOCK_WRUNLOCK
    - ha_free
    linkageType: ''
    returnType: void
    signature: guid_remove(struct guid_node *guid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/guid.c:110,1
    - Dst: ebis_lookup
      Src: /src/haproxy/src/guid.c:112,1
    - Dst: ebpt_entry
      Src: /src/haproxy/src/guid.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - uid
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 117
    functionName: guid_lookup
    functionSourceFile: /src/haproxy/src/guid.c
    functionUses: 1
    functionsReached:
    - ebis_lookup
    - BUG_ON
    - ebpt_entry
    linkageType: ''
    returnType: struct guid_node
    signature: '*guid_lookup(const char *uid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/guid.c:129,1
    - Dst: invalid_char
      Src: /src/haproxy/src/guid.c:133,1
    - Dst: memprintf
      Src: /src/haproxy/src/guid.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - uid
    - errmsg
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 5
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: guid_is_valid_fmt
    functionSourceFile: /src/haproxy/src/guid.c
    functionUses: 2
    functionsReached:
    - memprintf
    - invalid_char
    linkageType: ''
    returnType: int
    signature: guid_is_valid_fmt(const char *uid, char **errmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/src/guid.c:155,1
    - Dst: __objt_proxy
      Src: /src/haproxy/src/guid.c:157,1
    - Dst: memprintf
      Src: /src/haproxy/src/guid.c:158,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/guid.c:158,1
    - Dst: __objt_listener
      Src: /src/haproxy/src/guid.c:161,1
    - Dst: memprintf
      Src: /src/haproxy/src/guid.c:162,1
    - Dst: __objt_server
      Src: /src/haproxy/src/guid.c:167,1
    - Dst: memprintf
      Src: /src/haproxy/src/guid.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - guid
    argTypes:
    - struct guid_node*
    constantsTouched: []
    func_position:
      end: 175
      start: 148
    functionDepth: 5
    functionLinenumber: 148
    functionLinenumberEnd: 175
    functionName: guid_name
    functionSourceFile: /src/haproxy/src/guid.c
    functionUses: 1
    functionsReached:
    - memprintf
    - __objt_proxy
    - __objt_server
    - obj_type
    - proxy_cap_str
    - __objt_listener
    linkageType: ''
    returnType: char
    signature: '*guid_name(const struct guid_node *guid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:81,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/cpu_topo.c:84,1
    - Dst: parse_cpu_set
      Src: /src/haproxy/src/cpu_topo.c:87,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:88,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:97,1
    - Dst: sysctlbyname
      Src: /src/haproxy/src/cpu_topo.c:100,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cpu_topo.c:101,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:104,1
    - Dst: cpuset_getaffinity
      Src: /src/haproxy/src/cpu_topo.c:106,1
    - Dst: ha_cpuset_or
      Src: /src/haproxy/src/cpu_topo.c:110,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:116,1
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/cpu_topo.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct hap_cpuset*
    constantsTouched: []
    func_position:
      end: 120
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 120
    functionName: ha_cpuset_detect_online
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - read_line_to_trash
    - sysctlbyname
    - ha_cpuset_zero
    - cpuset_getaffinity
    - parse_cpu_set
    - ha_cpuset_or
    - ha_cpuset_count
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: ha_cpuset_detect_online(struct hap_cpuset *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_detect_bound
      Src: /src/haproxy/src/cpu_topo.c:138,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:142,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:148,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:149,1
    - Dst: ha_cpuset_detect_online
      Src: /src/haproxy/src/cpu_topo.c:159,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 131
    functionDepth: 4
    functionLinenumber: 131
    functionLinenumberEnd: 172
    functionName: cpu_detect_usable
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 1
    functionsReached:
    - ha_cpuset_isset
    - ha_cpuset_detect_bound
    - ha_cpuset_detect_online
    linkageType: ''
    returnType: int
    signature: cpu_detect_usable(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:179,1
    - Dst: sched_getaffinity
      Src: /src/haproxy/src/cpu_topo.c:184,1
    - Dst: cpuset_getaffinity
      Src: /src/haproxy/src/cpu_topo.c:186,1
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/cpu_topo.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - set
    argTypes:
    - struct hap_cpuset*
    constantsTouched: []
    func_position:
      end: 196
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 196
    functionName: ha_cpuset_detect_bound
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 3
    functionsReached:
    - cpuset_getaffinity
    - ha_cpuset_zero
    - sched_getaffinity
    - ha_cpuset_count
    linkageType: ''
    returnType: int
    signature: ha_cpuset_detect_bound(struct hap_cpuset *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/cpu_topo.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: cpu_map_configured
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 1
    functionsReached:
    - ha_cpuset_count
    linkageType: ''
    returnType: int
    signature: cpu_map_configured(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/src/cpu_topo.c:233,1
    - Dst: printf
      Src: /src/haproxy/src/cpu_topo.c:245,1
    - Dst: printf
      Src: /src/haproxy/src/cpu_topo.c:248,1
    - Dst: printf
      Src: /src/haproxy/src/cpu_topo.c:254,1
    - Dst: printf
      Src: /src/haproxy/src/cpu_topo.c:258,1
    - Dst: putchar
      Src: /src/haproxy/src/cpu_topo.c:261,1
    - Dst: printf
      Src: /src/haproxy/src/cpu_topo.c:264,1
    - Dst: printf
      Src: /src/haproxy/src/cpu_topo.c:268,1
    - Dst: printf
      Src: /src/haproxy/src/cpu_topo.c:274,1
    - Dst: ha_cpuset_isequal
      Src: /src/haproxy/src/cpu_topo.c:288,1
    - Dst: snprintf
      Src: /src/haproxy/src/cpu_topo.c:299,1
    - Dst: snprintf
      Src: /src/haproxy/src/cpu_topo.c:301,1
    - Dst: snprintf
      Src: /src/haproxy/src/cpu_topo.c:310,1
    - Dst: snprintf
      Src: /src/haproxy/src/cpu_topo.c:312,1
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/cpu_topo.c:320,1
    - Dst: snprintf
      Src: /src/haproxy/src/cpu_topo.c:321,1
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/cpu_topo.c:321,1
    - Dst: print_cpu_set
      Src: /src/haproxy/src/cpu_topo.c:323,1
    - Dst: snprintf
      Src: /src/haproxy/src/cpu_topo.c:325,1
    - Dst: snprintf
      Src: /src/haproxy/src/cpu_topo.c:327,1
    - Dst: printf
      Src: /src/haproxy/src/cpu_topo.c:329,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 1
    argNames:
    - topo
    argTypes:
    - struct ha_cpu_topo*
    constantsTouched: []
    func_position:
      end: 334
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 334
    functionName: cpu_dump_topology
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 1
    functionsReached:
    - putchar
    - printf
    - snprintf
    - ha_cpuset_isequal
    - print_cpu_set
    - ha_cpuset_count
    linkageType: ''
    returnType: void
    signature: cpu_dump_topology(const struct ha_cpu_topo *topo)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 352
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 352
    functionName: _cmp_cpu_index
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: _cmp_cpu_index(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 46
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 435
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 435
    functionName: _cmp_cpu_locality
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: _cmp_cpu_locality(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 50
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 524
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 524
    functionName: _cmp_cpu_cluster_capa
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: _cmp_cpu_cluster_capa(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 30
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 580
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 580
    functionName: _cmp_cpu_cluster
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: _cmp_cpu_cluster(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/haproxy/src/cpu_topo.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - topo
    - entries
    argTypes:
    - struct ha_cpu_topo*
    - int
    constantsTouched: []
    func_position:
      end: 588
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 588
    functionName: cpu_reorder_by_index
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 1
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: cpu_reorder_by_index(struct ha_cpu_topo *topo, int entries)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/haproxy/src/cpu_topo.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - topo
    - entries
    argTypes:
    - struct ha_cpu_topo*
    - int
    constantsTouched: []
    func_position:
      end: 594
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 594
    functionName: cpu_reorder_by_locality
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: cpu_reorder_by_locality(struct ha_cpu_topo *topo, int entries)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/haproxy/src/cpu_topo.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - topo
    - entries
    argTypes:
    - struct ha_cpu_topo*
    - int
    constantsTouched: []
    func_position:
      end: 600
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 600
    functionName: cpu_reorder_by_cluster
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: cpu_reorder_by_cluster(struct ha_cpu_topo *topo, int entries)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/haproxy/src/cpu_topo.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - topo
    - entries
    argTypes:
    - struct ha_cpu_topo*
    - int
    constantsTouched: []
    func_position:
      end: 606
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 606
    functionName: cpu_reorder_by_cluster_capa
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: cpu_reorder_by_cluster_capa(struct ha_cpu_topo *topo, int entries)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 616
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 616
    functionName: _cmp_cluster_index
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: _cmp_cluster_index(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 624
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 624
    functionName: _cmp_cluster_capa
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: _cmp_cluster_capa(const void *a, const void *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/haproxy/src/cpu_topo.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - clusters
    - entries
    argTypes:
    - struct ha_cpu_cluster*
    - int
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 630
    functionName: cpu_cluster_reorder_by_index
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: cpu_cluster_reorder_by_index(struct ha_cpu_cluster *clusters, int entries)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/haproxy/src/cpu_topo.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - clusters
    - entries
    argTypes:
    - struct ha_cpu_cluster*
    - int
    constantsTouched: []
    func_position:
      end: 636
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 636
    functionName: cpu_cluster_reorder_by_capa
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: cpu_cluster_reorder_by_capa(struct ha_cpu_cluster *clusters, int entries)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 653
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 653
    functionName: cpu_topo_get_maxcpus
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: cpu_topo_get_maxcpus(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:673,1
    - Dst: ha_cpuset_set
      Src: /src/haproxy/src/cpu_topo.c:675,1
    - Dst: ha_cpuset_clr
      Src: /src/haproxy/src/cpu_topo.c:681,1
    - Dst: ha_cpuset_ffs
      Src: /src/haproxy/src/cpu_topo.c:685,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:694,1
    - Dst: ha_cpuset_set
      Src: /src/haproxy/src/cpu_topo.c:696,1
    - Dst: ha_cpuset_clr
      Src: /src/haproxy/src/cpu_topo.c:702,1
    - Dst: ha_cpuset_ffs
      Src: /src/haproxy/src/cpu_topo.c:706,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:715,1
    - Dst: ha_cpuset_set
      Src: /src/haproxy/src/cpu_topo.c:717,1
    - Dst: ha_cpuset_clr
      Src: /src/haproxy/src/cpu_topo.c:723,1
    - Dst: ha_cpuset_ffs
      Src: /src/haproxy/src/cpu_topo.c:727,1
    - Dst: cpu_reorder_by_cluster
      Src: /src/haproxy/src/cpu_topo.c:743,1
    - Dst: cpu_reorder_by_index
      Src: /src/haproxy/src/cpu_topo.c:800,1
    - Dst: cpu_reorder_by_locality
      Src: /src/haproxy/src/cpu_topo.c:819,1
    - Dst: cpu_reorder_by_index
      Src: /src/haproxy/src/cpu_topo.c:884,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 130
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 885
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 885
    functionName: cpu_fixup_topology
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 1
    functionsReached:
    - ha_cpuset_ffs
    - cpu_reorder_by_cluster
    - cpu_reorder_by_index
    - cpu_reorder_by_locality
    - ha_cpuset_zero
    - ha_cpuset_clr
    - ha_cpuset_set
    linkageType: ''
    returnType: void
    signature: cpu_fixup_topology(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_reorder_by_cluster_capa
      Src: /src/haproxy/src/cpu_topo.c:901,1
    - Dst: cpu_reorder_by_index
      Src: /src/haproxy/src/cpu_topo.c:956,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 957
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 957
    functionName: cpu_compose_clusters
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 1
    functionsReached:
    - cpu_reorder_by_cluster_capa
    - cpu_reorder_by_index
    linkageType: ''
    returnType: void
    signature: cpu_compose_clusters(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:966,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:967,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:973,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:974,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:980,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:981,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:987,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:988,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 991
      start: 960
    functionDepth: 2
    functionLinenumber: 960
    functionLinenumberEnd: 991
    functionName: cpu_refine_cpusets
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 1
    functionsReached:
    - ha_cpuset_isset
    linkageType: ''
    returnType: void
    signature: cpu_refine_cpusets(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:1041,1
    - Dst: ha_cpuset_set
      Src: /src/haproxy/src/cpu_topo.c:1046,1
    - Dst: ha_cpuset_assign
      Src: /src/haproxy/src/cpu_topo.c:1054,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/cpu_topo.c:1059,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 6
    argNames:
    - policy
    - tmin
    - tmax
    - gmin
    - gmax
    - err
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1065
      start: 1000
    functionDepth: 10
    functionLinenumber: 1000
    functionLinenumberEnd: 1065
    functionName: cpu_policy_first_usable_node
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - ha_cpuset_set
    - ha_cpuset_zero
    - ha_cpuset_assign
    - ha_diag_warning
    linkageType: ''
    returnType: int
    signature: cpu_policy_first_usable_node(int policy, int tmin, int tmax, int gmin,
      int gmax, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:1100,1
    - Dst: ha_cpuset_set
      Src: /src/haproxy/src/cpu_topo.c:1118,1
    - Dst: ha_cpuset_assign
      Src: /src/haproxy/src/cpu_topo.c:1157,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/cpu_topo.c:1171,1
    - Dst: ha_diag_warning
      Src: /src/haproxy/src/cpu_topo.c:1173,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 6
    argNames:
    - policy
    - tmin
    - tmax
    - gmin
    - gmax
    - err
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1176
      start: 1075
    functionDepth: 10
    functionLinenumber: 1075
    functionLinenumberEnd: 1176
    functionName: cpu_policy_group_by_cluster
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - ha_cpuset_set
    - ha_cpuset_zero
    - ha_cpuset_assign
    - ha_diag_warning
    linkageType: ''
    returnType: int
    signature: cpu_policy_group_by_cluster(int policy, int tmin, int tmax, int gmin,
      int gmax, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_cluster_reorder_by_capa
      Src: /src/haproxy/src/cpu_topo.c:1194,1
    - Dst: cpu_cluster_reorder_by_index
      Src: /src/haproxy/src/cpu_topo.c:1211,1
    - Dst: cpu_policy_group_by_cluster
      Src: /src/haproxy/src/cpu_topo.c:1214,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 6
    argNames:
    - policy
    - tmin
    - tmax
    - gmin
    - gmax
    - err
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1215
      start: 1185
    functionDepth: 11
    functionLinenumber: 1185
    functionLinenumberEnd: 1215
    functionName: cpu_policy_performance
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - cpu_cluster_reorder_by_capa
    - cpu_cluster_reorder_by_index
    - cpu_policy_group_by_cluster
    linkageType: ''
    returnType: int
    signature: cpu_policy_performance(int policy, int tmin, int tmax, int gmin, int
      gmax, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_cluster_reorder_by_capa
      Src: /src/haproxy/src/cpu_topo.c:1233,1
    - Dst: cpu_cluster_reorder_by_index
      Src: /src/haproxy/src/cpu_topo.c:1250,1
    - Dst: cpu_policy_group_by_cluster
      Src: /src/haproxy/src/cpu_topo.c:1253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 6
    argNames:
    - policy
    - tmin
    - tmax
    - gmin
    - gmax
    - err
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1254
      start: 1224
    functionDepth: 11
    functionLinenumber: 1224
    functionLinenumberEnd: 1254
    functionName: cpu_policy_efficiency
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - cpu_cluster_reorder_by_capa
    - cpu_cluster_reorder_by_index
    - cpu_policy_group_by_cluster
    linkageType: ''
    returnType: int
    signature: cpu_policy_efficiency(int policy, int tmin, int tmax, int gmin, int
      gmax, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_cluster_reorder_by_capa
      Src: /src/haproxy/src/cpu_topo.c:1270,1
    - Dst: cpu_cluster_reorder_by_index
      Src: /src/haproxy/src/cpu_topo.c:1287,1
    - Dst: cpu_policy_group_by_cluster
      Src: /src/haproxy/src/cpu_topo.c:1290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 6
    argNames:
    - policy
    - tmin
    - tmax
    - gmin
    - gmax
    - err
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1291
      start: 1261
    functionDepth: 11
    functionLinenumber: 1261
    functionLinenumberEnd: 1291
    functionName: cpu_policy_resource
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - cpu_cluster_reorder_by_capa
    - cpu_cluster_reorder_by_index
    - cpu_policy_group_by_cluster
    linkageType: ''
    returnType: int
    signature: cpu_policy_resource(int policy, int tmin, int tmax, int gmin, int gmax,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_map_configured
      Src: /src/haproxy/src/cpu_topo.c:1300,1
    - Dst: fct
      Src: /src/haproxy/src/cpu_topo.c:1310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - tmin
    - tmax
    - gmin
    - gmax
    - err
    argTypes:
    - int
    - int
    - int
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1314
      start: 1296
    functionDepth: 3
    functionLinenumber: 1296
    functionLinenumberEnd: 1314
    functionName: cpu_apply_policy
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 1
    functionsReached:
    - cpu_map_configured
    - fct
    linkageType: ''
    returnType: int
    signature: cpu_apply_policy(int tmin, int tmax, int gmin, int gmax, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_dir_present
      Src: /src/haproxy/src/cpu_topo.c:1340,1
    - Dst: is_dir_present
      Src: /src/haproxy/src/cpu_topo.c:1355,1
    - Dst: is_dir_present
      Src: /src/haproxy/src/cpu_topo.c:1369,1
    - Dst: is_dir_present
      Src: /src/haproxy/src/cpu_topo.c:1375,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/cpu_topo.c:1378,1
    - Dst: strcmp
      Src: /src/haproxy/src/cpu_topo.c:1380,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/cpu_topo.c:1384,1
    - Dst: atoi
      Src: /src/haproxy/src/cpu_topo.c:1386,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/cpu_topo.c:1396,1
    - Dst: parse_cpu_set
      Src: /src/haproxy/src/cpu_topo.c:1400,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:1402,1
    - Dst: is_dir_present
      Src: /src/haproxy/src/cpu_topo.c:1412,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/cpu_topo.c:1431,1
    - Dst: parse_cpu_set
      Src: /src/haproxy/src/cpu_topo.c:1434,1
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/cpu_topo.c:1437,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:1439,1
    - Dst: is_file_present
      Src: /src/haproxy/src/cpu_topo.c:1460,1
    - Dst: is_file_present
      Src: /src/haproxy/src/cpu_topo.c:1461,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/cpu_topo.c:1465,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/cpu_topo.c:1466,1
    - Dst: parse_cpu_set
      Src: /src/haproxy/src/cpu_topo.c:1469,1
    - Dst: ha_cpuset_count
      Src: /src/haproxy/src/cpu_topo.c:1469,1
    - Dst: memcmp
      Src: /src/haproxy/src/cpu_topo.c:1470,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:1472,1
    - Dst: is_file_present
      Src: /src/haproxy/src/cpu_topo.c:1491,1
    - Dst: is_file_present
      Src: /src/haproxy/src/cpu_topo.c:1492,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/cpu_topo.c:1496,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/cpu_topo.c:1497,1
    - Dst: parse_cpu_set
      Src: /src/haproxy/src/cpu_topo.c:1500,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:1502,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/cpu_topo.c:1510,1
    - Dst: str2uic
      Src: /src/haproxy/src/cpu_topo.c:1512,1
    - Dst: is_file_present
      Src: /src/haproxy/src/cpu_topo.c:1517,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/cpu_topo.c:1524,1
    - Dst: str2uic
      Src: /src/haproxy/src/cpu_topo.c:1526,1
    - Dst: is_dir_present
      Src: /src/haproxy/src/cpu_topo.c:1548,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/cpu_topo.c:1551,1
    - Dst: str2uic
      Src: /src/haproxy/src/cpu_topo.c:1554,1
    - Dst: is_dir_present
      Src: /src/haproxy/src/cpu_topo.c:1561,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/cpu_topo.c:1564,1
    - Dst: str2uic
      Src: /src/haproxy/src/cpu_topo.c:1566,1
    - Dst: opendir
      Src: /src/haproxy/src/cpu_topo.c:1573,1
    - Dst: readdir
      Src: /src/haproxy/src/cpu_topo.c:1575,1
    - Dst: strncmp
      Src: /src/haproxy/src/cpu_topo.c:1580,1
    - Dst: strtol
      Src: /src/haproxy/src/cpu_topo.c:1588,1
    - Dst: read_line_to_trash
      Src: /src/haproxy/src/cpu_topo.c:1593,1
    - Dst: parse_cpu_set
      Src: /src/haproxy/src/cpu_topo.c:1596,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:1598,1
    - Dst: closedir
      Src: /src/haproxy/src/cpu_topo.c:1604,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 147
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1321
    functionDepth: 3
    functionLinenumber: 1321
    functionLinenumberEnd: 1607
    functionName: cpu_detect_topology
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 1
    functionsReached:
    - ha_cpuset_isset
    - opendir
    - strncmp
    - read_line_to_trash
    - atoi
    - closedir
    - strcmp
    - str2uic
    - parse_cpu_set
    - strtol
    - is_file_present
    - ha_cpuset_count
    - readdir
    - is_dir_present
    - memcmp
    linkageType: ''
    returnType: int
    signature: cpu_detect_topology(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sysctlbyname
      Src: /src/haproxy/src/cpu_topo.c:1618,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cpu_topo.c:1619,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:1625,1
    - Dst: cpuset_getaffinity
      Src: /src/haproxy/src/cpu_topo.c:1627,1
    - Dst: ha_cpuset_isset
      Src: /src/haproxy/src/cpu_topo.c:1632,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1611
    functionDepth: 2
    functionLinenumber: 1611
    functionLinenumberEnd: 1637
    functionName: cpu_detect_topology
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 1
    functionsReached:
    - ha_cpuset_isset
    - ha_cpuset_zero
    - sysctlbyname
    - cpuset_getaffinity
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: cpu_detect_topology(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1644
    functionName: cpu_detect_topology
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: cpu_detect_topology(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cpu_topo.c:1660,1
    - Dst: strcmp
      Src: /src/haproxy/src/cpu_topo.c:1665,1
    - Dst: strcmp
      Src: /src/haproxy/src/cpu_topo.c:1665,1
    - Dst: memprintf
      Src: /src/haproxy/src/cpu_topo.c:1667,1
    - Dst: parse_cpu_set
      Src: /src/haproxy/src/cpu_topo.c:1672,1
    - Dst: ha_cpuset_or
      Src: /src/haproxy/src/cpu_topo.c:1676,1
    - Dst: ha_cpuset_and
      Src: /src/haproxy/src/cpu_topo.c:1678,1
    - Dst: strcmp
      Src: /src/haproxy/src/cpu_topo.c:1681,1
    - Dst: strcmp
      Src: /src/haproxy/src/cpu_topo.c:1681,1
    - Dst: memprintf
      Src: /src/haproxy/src/cpu_topo.c:1683,1
    - Dst: parse_cpu_set
      Src: /src/haproxy/src/cpu_topo.c:1688,1
    - Dst: ha_cpuset_or
      Src: /src/haproxy/src/cpu_topo.c:1692,1
    - Dst: ha_cpuset_and
      Src: /src/haproxy/src/cpu_topo.c:1694,1
    - Dst: strcmp
      Src: /src/haproxy/src/cpu_topo.c:1697,1
    - Dst: strcmp
      Src: /src/haproxy/src/cpu_topo.c:1697,1
    - Dst: memprintf
      Src: /src/haproxy/src/cpu_topo.c:1699,1
    - Dst: parse_cpu_set
      Src: /src/haproxy/src/cpu_topo.c:1704,1
    - Dst: ha_cpuset_or
      Src: /src/haproxy/src/cpu_topo.c:1708,1
    - Dst: ha_cpuset_and
      Src: /src/haproxy/src/cpu_topo.c:1710,1
    - Dst: strcmp
      Src: /src/haproxy/src/cpu_topo.c:1713,1
    - Dst: strcmp
      Src: /src/haproxy/src/cpu_topo.c:1713,1
    - Dst: memprintf
      Src: /src/haproxy/src/cpu_topo.c:1715,1
    - Dst: parse_cpu_set
      Src: /src/haproxy/src/cpu_topo.c:1720,1
    - Dst: ha_cpuset_or
      Src: /src/haproxy/src/cpu_topo.c:1724,1
    - Dst: ha_cpuset_and
      Src: /src/haproxy/src/cpu_topo.c:1726,1
    - Dst: strcmp
      Src: /src/haproxy/src/cpu_topo.c:1729,1
    - Dst: strcmp
      Src: /src/haproxy/src/cpu_topo.c:1729,1
    - Dst: memprintf
      Src: /src/haproxy/src/cpu_topo.c:1731,1
    - Dst: parse_cpu_set
      Src: /src/haproxy/src/cpu_topo.c:1736,1
    - Dst: ha_cpuset_or
      Src: /src/haproxy/src/cpu_topo.c:1740,1
    - Dst: ha_cpuset_and
      Src: /src/haproxy/src/cpu_topo.c:1742,1
    - Dst: memprintf
      Src: /src/haproxy/src/cpu_topo.c:1747,1
    - Dst: memprintf
      Src: /src/haproxy/src/cpu_topo.c:1753,1
    - Dst: memprintf
      Src: /src/haproxy/src/cpu_topo.c:1764,1
    - Dst: memprintf
      Src: /src/haproxy/src/cpu_topo.c:1769,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 103
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1772
      start: 1651
    functionDepth: 5
    functionLinenumber: 1651
    functionLinenumberEnd: 1772
    functionName: cfg_parse_cpu_set
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - parse_cpu_set
    - ha_cpuset_or
    - ha_cpuset_and
    linkageType: ''
    returnType: int
    signature: "cfg_parse_cpu_set(char **args, int section_type, struct proxy *curpx,\n
      \                                  const struct proxy *defpx, const char *file,
      int line,\n                                   char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cpu_topo.c:1783,1
    - Dst: strcmp
      Src: /src/haproxy/src/cpu_topo.c:1787,1
    - Dst: memprintf
      Src: /src/haproxy/src/cpu_topo.c:1793,1
    - Dst: memprintf
      Src: /src/haproxy/src/cpu_topo.c:1795,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1802
      start: 1777
    functionDepth: 7
    functionLinenumber: 1777
    functionLinenumberEnd: 1802
    functionName: cfg_parse_cpu_policy
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "cfg_parse_cpu_policy(char **args, int section_type, struct proxy *curpx,\n\t\t\t\tconst
      struct proxy *defpx, const char *file, int line,\n\t\t\t\tchar **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cpu_topo_get_maxcpus
      Src: /src/haproxy/src/cpu_topo.c:1811,1
    - Dst: calloc
      Src: /src/haproxy/src/cpu_topo.c:1814,1
    - Dst: malloc
      Src: /src/haproxy/src/cpu_topo.c:1819,1
    - Dst: malloc
      Src: /src/haproxy/src/cpu_topo.c:1824,1
    - Dst: memset
      Src: /src/haproxy/src/cpu_topo.c:1833,1
    - Dst: memset
      Src: /src/haproxy/src/cpu_topo.c:1837,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:1842,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:1843,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:1844,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:1845,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:1846,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:1847,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:1848,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:1849,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:1850,1
    - Dst: ha_cpuset_zero
      Src: /src/haproxy/src/cpu_topo.c:1851,1
    - Dst: ha_cpuset_set
      Src: /src/haproxy/src/cpu_topo.c:1855,1
    - Dst: ha_cpuset_set
      Src: /src/haproxy/src/cpu_topo.c:1856,1
    - Dst: ha_cpuset_set
      Src: /src/haproxy/src/cpu_topo.c:1857,1
    - Dst: ha_cpuset_set
      Src: /src/haproxy/src/cpu_topo.c:1858,1
    - Dst: ha_cpuset_set
      Src: /src/haproxy/src/cpu_topo.c:1859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1807
    functionDepth: 3
    functionLinenumber: 1807
    functionLinenumberEnd: 1863
    functionName: cpu_topo_alloc
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - malloc
    - cpu_topo_get_maxcpus
    - calloc
    - ha_cpuset_zero
    - memset
    - ha_cpuset_set
    linkageType: ''
    returnType: int
    signature: cpu_topo_alloc(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/cpu_topo.c:1867,1
    - Dst: ha_free
      Src: /src/haproxy/src/cpu_topo.c:1868,1
    - Dst: ha_free
      Src: /src/haproxy/src/cpu_topo.c:1869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1870
    functionName: cpu_topo_deinit
    functionSourceFile: /src/haproxy/src/cpu_topo.c
    functionUses: 0
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: void
    signature: cpu_topo_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: channel_label
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*

      channel_label(const struct channel *chn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_fe
      Src: /src/haproxy/src/flt_trace.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: proxy_mode
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 2
    functionsReached:
    - strm_fe
    linkageType: ''
    returnType: char
    signature: '*

      proxy_mode(const struct stream *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: stream_pos
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*

      stream_pos(const struct stream *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct filter*
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: filter_type
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*

      filter_type(const struct filter *f)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/src/flt_trace.c:95,1
    - Dst: fprintf
      Src: /src/haproxy/src/flt_trace.c:97,1
    - Dst: fprintf
      Src: /src/haproxy/src/flt_trace.c:100,1
    - Dst: fprintf
      Src: /src/haproxy/src/flt_trace.c:102,1
    - Dst: fprintf
      Src: /src/haproxy/src/flt_trace.c:106,1
    - Dst: fprintf
      Src: /src/haproxy/src/flt_trace.c:108,1
    - Dst: isprint
      Src: /src/haproxy/src/flt_trace.c:108,1
    - Dst: fprintf
      Src: /src/haproxy/src/flt_trace.c:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 112
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 112
    functionName: trace_hexdump
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - isprint
    - fprintf
    linkageType: ''
    returnType: void
    signature: trace_hexdump(struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_contig_data
      Src: /src/haproxy/src/flt_trace.c:121,1
    - Dst: b_contig_data
      Src: /src/haproxy/src/flt_trace.c:122,1
    - Dst: memcpy
      Src: /src/haproxy/src/flt_trace.c:125,1
    - Dst: b_peek
      Src: /src/haproxy/src/flt_trace.c:125,1
    - Dst: memcpy
      Src: /src/haproxy/src/flt_trace.c:126,1
    - Dst: b_orig
      Src: /src/haproxy/src/flt_trace.c:126,1
    - Dst: trace_hexdump
      Src: /src/haproxy/src/flt_trace.c:127,1
    - Dst: ist2
      Src: /src/haproxy/src/flt_trace.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - offset
    - len
    argTypes:
    - struct buffer*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: trace_raw_hexdump
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - trace_hexdump
    - b_peek
    - ist2
    - b_contig_data
    - memcpy
    - b_orig
    linkageType: ''
    returnType: void
    signature: trace_raw_hexdump(struct buffer *buf, unsigned int offset, unsigned
      int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_first_blk
      Src: /src/haproxy/src/flt_trace.c:135,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/flt_trace.c:135,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/flt_trace.c:136,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/flt_trace.c:145,1
    - Dst: istadv
      Src: /src/haproxy/src/flt_trace.c:146,1
    - Dst: isttrim
      Src: /src/haproxy/src/flt_trace.c:149,1
    - Dst: trace_hexdump
      Src: /src/haproxy/src/flt_trace.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - htx
    - offset
    - len
    argTypes:
    - struct htx*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 154
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 154
    functionName: trace_htx_hexdump
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - trace_hexdump
    - htx_get_first_blk
    - isttrim
    - htx_get_blk_type
    - istadv
    - htx_get_blk_value
    - htx_get_next_blk
    linkageType: ''
    returnType: void
    signature: trace_htx_hexdump(struct htx *htx, unsigned int offset, unsigned int
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_find_offset
      Src: /src/haproxy/src/flt_trace.c:160,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/flt_trace.c:164,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/flt_trace.c:166,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/flt_trace.c:169,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/flt_trace.c:171,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/src/flt_trace.c:173,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/flt_trace.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - htx
    - offset
    - len
    argTypes:
    - struct htx*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 178
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 178
    functionName: trace_get_htx_datalen
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_type
    - htx_find_offset
    - htx_get_next_blk
    - htx_get_blksz
    linkageType: ''
    returnType: unsigned int
    signature: trace_get_htx_datalen(struct htx *htx, unsigned int offset, unsigned
      int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/flt_trace.c:190,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_trace.c:192,1
    - Dst: FLT_TRACE
      Src: /src/haproxy/src/flt_trace.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 202
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 202
    functionName: trace_init
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - memprintf
    - FLT_TRACE
    linkageType: ''
    returnType: int
    signature: trace_init(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_TRACE
      Src: /src/haproxy/src/flt_trace.c:211,1
    - Dst: free
      Src: /src/haproxy/src/flt_trace.c:212,1
    - Dst: free
      Src: /src/haproxy/src/flt_trace.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: trace_deinit
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - free
    - FLT_TRACE
    linkageType: ''
    returnType: void
    signature: trace_deinit(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: trace_check
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: trace_check(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_TRACE
      Src: /src/haproxy/src/flt_trace.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: trace_init_per_thread
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - FLT_TRACE
    linkageType: ''
    returnType: int
    signature: trace_init_per_thread(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_TRACE
      Src: /src/haproxy/src/flt_trace.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: trace_deinit_per_thread
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - FLT_TRACE
    linkageType: ''
    returnType: void
    signature: trace_deinit_per_thread(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:253,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:255,1
    - Dst: filter_type
      Src: /src/haproxy/src/flt_trace.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: trace_attach
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - filter_type
    - FLT_STRM_TRACE
    - FLT_CONF
    linkageType: ''
    returnType: int
    signature: trace_attach(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:266,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:268,1
    - Dst: filter_type
      Src: /src/haproxy/src/flt_trace.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: trace_detach
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - filter_type
    - FLT_STRM_TRACE
    - FLT_CONF
    linkageType: ''
    returnType: void
    signature: trace_detach(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:276,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: trace_stream_start
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - FLT_STRM_TRACE
    - FLT_CONF
    linkageType: ''
    returnType: int
    signature: trace_stream_start(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:289,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - filter
    - be
    argTypes:
    - struct stream*
    - struct filter*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: trace_stream_set_backend
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - FLT_STRM_TRACE
    - FLT_CONF
    linkageType: ''
    returnType: int
    signature: "trace_stream_set_backend(struct stream *s, struct filter *filter,\n\t\t\t
      struct proxy *be)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:300,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: trace_stream_stop
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - FLT_STRM_TRACE
    - FLT_CONF
    linkageType: ''
    returnType: void
    signature: trace_stream_stop(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:310,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: trace_check_timeouts
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - FLT_STRM_TRACE
    - FLT_CONF
    linkageType: ''
    returnType: void
    signature: trace_check_timeouts(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:324,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:326,1
    - Dst: channel_label
      Src: /src/haproxy/src/flt_trace.c:328,1
    - Dst: proxy_mode
      Src: /src/haproxy/src/flt_trace.c:328,1
    - Dst: stream_pos
      Src: /src/haproxy/src/flt_trace.c:328,1
    - Dst: register_data_filter
      Src: /src/haproxy/src/flt_trace.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - s
    - filter
    - chn
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 333
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 333
    functionName: trace_chn_start_analyze
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - FLT_CONF
    - stream_pos
    - proxy_mode
    - register_data_filter
    - channel_label
    - FLT_STRM_TRACE
    linkageType: ''
    returnType: int
    signature: "trace_chn_start_analyze(struct stream *s, struct filter *filter,\n\t\t\tstruct
      channel *chn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:340,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:402,1
    - Dst: channel_label
      Src: /src/haproxy/src/flt_trace.c:405,1
    - Dst: proxy_mode
      Src: /src/haproxy/src/flt_trace.c:405,1
    - Dst: stream_pos
      Src: /src/haproxy/src/flt_trace.c:405,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 4
    argNames:
    - s
    - filter
    - chn
    - an_bit
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    - unsigned
    constantsTouched: []
    func_position:
      end: 408
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 408
    functionName: trace_chn_analyze
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - FLT_CONF
    - stream_pos
    - proxy_mode
    - channel_label
    - FLT_STRM_TRACE
    linkageType: ''
    returnType: int
    signature: "trace_chn_analyze(struct stream *s, struct filter *filter,\n\t\t  struct
      channel *chn, unsigned an_bit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:415,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:417,1
    - Dst: channel_label
      Src: /src/haproxy/src/flt_trace.c:419,1
    - Dst: proxy_mode
      Src: /src/haproxy/src/flt_trace.c:419,1
    - Dst: stream_pos
      Src: /src/haproxy/src/flt_trace.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - filter
    - chn
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 421
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 421
    functionName: trace_chn_end_analyze
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - FLT_CONF
    - stream_pos
    - proxy_mode
    - channel_label
    - FLT_STRM_TRACE
    linkageType: ''
    returnType: int
    signature: "trace_chn_end_analyze(struct stream *s, struct filter *filter,\n\t\t
      \     struct channel *chn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:430,1
    - Dst: htxbuf
      Src: /src/haproxy/src/flt_trace.c:431,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/flt_trace.c:432,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:435,1
    - Dst: channel_label
      Src: /src/haproxy/src/flt_trace.c:437,1
    - Dst: proxy_mode
      Src: /src/haproxy/src/flt_trace.c:437,1
    - Dst: stream_pos
      Src: /src/haproxy/src/flt_trace.c:437,1
    - Dst: HTX_SL_P1_LEN
      Src: /src/haproxy/src/flt_trace.c:438,1
    - Dst: HTX_SL_P1_PTR
      Src: /src/haproxy/src/flt_trace.c:438,1
    - Dst: HTX_SL_P2_LEN
      Src: /src/haproxy/src/flt_trace.c:439,1
    - Dst: HTX_SL_P2_PTR
      Src: /src/haproxy/src/flt_trace.c:439,1
    - Dst: HTX_SL_P3_LEN
      Src: /src/haproxy/src/flt_trace.c:440,1
    - Dst: HTX_SL_P3_PTR
      Src: /src/haproxy/src/flt_trace.c:440,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/flt_trace.c:442,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/flt_trace.c:442,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/flt_trace.c:443,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/flt_trace.c:444,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/flt_trace.c:452,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/flt_trace.c:453,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:454,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - s
    - filter
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 458
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 458
    functionName: trace_http_headers
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - FLT_CONF
    - stream_pos
    - htx_get_blk_value
    - channel_label
    - http_get_stline
    - HTX_SL_P3_PTR
    - htx_get_first
    - HTX_SL_P2_PTR
    - HTX_SL_P2_LEN
    - HTX_SL_P3_LEN
    - htx_get_blk
    - FLT_STRM_TRACE
    - HTX_SL_P1_LEN
    - htxbuf
    - htx_get_blk_type
    - HTX_SL_P1_PTR
    - htx_get_blk_name
    - proxy_mode
    - htx_get_next
    linkageType: ''
    returnType: int
    signature: "trace_http_headers(struct stream *s, struct filter *filter,\n\t\t
      \  struct http_msg *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:464,1
    - Dst: ha_random
      Src: /src/haproxy/src/flt_trace.c:471,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:477,1
    - Dst: channel_label
      Src: /src/haproxy/src/flt_trace.c:480,1
    - Dst: proxy_mode
      Src: /src/haproxy/src/flt_trace.c:480,1
    - Dst: stream_pos
      Src: /src/haproxy/src/flt_trace.c:480,1
    - Dst: trace_htx_hexdump
      Src: /src/haproxy/src/flt_trace.c:484,1
    - Dst: htxbuf
      Src: /src/haproxy/src/flt_trace.c:484,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/flt_trace.c:487,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - s
    - filter
    - msg
    - offset
    - len
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 489
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 489
    functionName: trace_http_payload
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - ha_random
    - trace_htx_hexdump
    - FLT_CONF
    - task_wakeup
    - stream_pos
    - htxbuf
    - proxy_mode
    - channel_label
    - FLT_STRM_TRACE
    linkageType: ''
    returnType: int
    signature: "trace_http_payload(struct stream *s, struct filter *filter, struct
      http_msg *msg,\n\t\t   unsigned int offset, unsigned int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:495,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:497,1
    - Dst: channel_label
      Src: /src/haproxy/src/flt_trace.c:499,1
    - Dst: proxy_mode
      Src: /src/haproxy/src/flt_trace.c:499,1
    - Dst: stream_pos
      Src: /src/haproxy/src/flt_trace.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - filter
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 501
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 501
    functionName: trace_http_end
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - FLT_CONF
    - stream_pos
    - proxy_mode
    - channel_label
    - FLT_STRM_TRACE
    linkageType: ''
    returnType: int
    signature: "trace_http_end(struct stream *s, struct filter *filter,\n\t       struct
      http_msg *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:507,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:509,1
    - Dst: channel_label
      Src: /src/haproxy/src/flt_trace.c:511,1
    - Dst: proxy_mode
      Src: /src/haproxy/src/flt_trace.c:511,1
    - Dst: stream_pos
      Src: /src/haproxy/src/flt_trace.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - filter
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 512
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 512
    functionName: trace_http_reset
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - FLT_CONF
    - stream_pos
    - proxy_mode
    - channel_label
    - FLT_STRM_TRACE
    linkageType: ''
    returnType: void
    signature: "trace_http_reset(struct stream *s, struct filter *filter,\n\t\t struct
      http_msg *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:518,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:520,1
    - Dst: proxy_mode
      Src: /src/haproxy/src/flt_trace.c:521,1
    - Dst: stream_pos
      Src: /src/haproxy/src/flt_trace.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - filter
    - status
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - short
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 522
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 522
    functionName: trace_http_reply
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - FLT_STRM_TRACE
    - stream_pos
    - FLT_CONF
    - proxy_mode
    linkageType: ''
    returnType: void
    signature: "trace_http_reply(struct stream *s, struct filter *filter, short status,\n\t\t
      const struct buffer *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/flt_trace.c:531,1
    - Dst: ha_random
      Src: /src/haproxy/src/flt_trace.c:539,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:545,1
    - Dst: channel_label
      Src: /src/haproxy/src/flt_trace.c:548,1
    - Dst: proxy_mode
      Src: /src/haproxy/src/flt_trace.c:548,1
    - Dst: stream_pos
      Src: /src/haproxy/src/flt_trace.c:548,1
    - Dst: trace_htx_hexdump
      Src: /src/haproxy/src/flt_trace.c:552,1
    - Dst: htxbuf
      Src: /src/haproxy/src/flt_trace.c:552,1
    - Dst: ha_random
      Src: /src/haproxy/src/flt_trace.c:557,1
    - Dst: FLT_STRM_TRACE
      Src: /src/haproxy/src/flt_trace.c:559,1
    - Dst: channel_label
      Src: /src/haproxy/src/flt_trace.c:562,1
    - Dst: proxy_mode
      Src: /src/haproxy/src/flt_trace.c:562,1
    - Dst: stream_pos
      Src: /src/haproxy/src/flt_trace.c:562,1
    - Dst: trace_raw_hexdump
      Src: /src/haproxy/src/flt_trace.c:566,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/flt_trace.c:570,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 5
    argNames:
    - s
    - filter
    - chn
    - offset
    - len
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 572
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 572
    functionName: trace_tcp_payload
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - ha_random
    - trace_htx_hexdump
    - FLT_CONF
    - task_wakeup
    - stream_pos
    - htxbuf
    - proxy_mode
    - channel_label
    - FLT_STRM_TRACE
    - trace_raw_hexdump
    linkageType: ''
    returnType: int
    signature: "trace_tcp_payload(struct stream *s, struct filter *filter, struct
      channel *chn,\n\t\t  unsigned int offset, unsigned int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/flt_trace.c:617,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_trace.c:619,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_trace.c:624,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_trace.c:628,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_trace.c:630,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_trace.c:635,1
    - Dst: strdup
      Src: /src/haproxy/src/flt_trace.c:639,1
    - Dst: memprintf
      Src: /src/haproxy/src/flt_trace.c:641,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_trace.c:646,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_trace.c:648,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_trace.c:650,1
    - Dst: strcmp
      Src: /src/haproxy/src/flt_trace.c:652,1
    - Dst: free
      Src: /src/haproxy/src/flt_trace.c:668,1
    - Dst: free
      Src: /src/haproxy/src/flt_trace.c:669,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - fconf
    - err
    - private
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct flt_conf*
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 671
      start: 610
    functionDepth: 5
    functionLinenumber: 610
    functionLinenumberEnd: 671
    functionName: parse_trace_flt
    functionSourceFile: /src/haproxy/src/flt_trace.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    - strcmp
    - strdup
    - free
    linkageType: ''
    returnType: int
    signature: "parse_trace_flt(char **args, int *cur_arg, struct proxy *px,\n                struct
      flt_conf *fconf, char **err, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_origin
      Src: /src/haproxy/src/stats-json.c:18,1
    - Dst: field_nature
      Src: /src/haproxy/src/stats-json.c:27,1
    - Dst: field_scope
      Src: /src/haproxy/src/stats-json.c:43,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-json.c:52,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - struct buffer*
    - struct field*
    constantsTouched: []
    func_position:
      end: 58
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 58
    functionName: stats_emit_json_field_tags
    functionSourceFile: /src/haproxy/src/stats-json.c
    functionUses: 0
    functionsReached:
    - field_origin
    - field_scope
    - field_nature
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: stats_emit_json_field_tags(struct buffer *out, const struct field *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_format
      Src: /src/haproxy/src/stats-json.c:75,1
    - Dst: snprintf
      Src: /src/haproxy/src/stats-json.c:78,1
    - Dst: snprintf
      Src: /src/haproxy/src/stats-json.c:81,1
    - Dst: snprintf
      Src: /src/haproxy/src/stats-json.c:87,1
    - Dst: snprintf
      Src: /src/haproxy/src/stats-json.c:92,1
    - Dst: flt_trim
      Src: /src/haproxy/src/stats-json.c:96,1
    - Dst: snprintf
      Src: /src/haproxy/src/stats-json.c:96,1
    - Dst: field_str
      Src: /src/haproxy/src/stats-json.c:99,1
    - Dst: snprintf
      Src: /src/haproxy/src/stats-json.c:102,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-json.c:110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 2
    argNames:
    - out
    - f
    argTypes:
    - struct buffer*
    - struct field*
    constantsTouched: []
    func_position:
      end: 113
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 113
    functionName: stats_emit_json_data_field
    functionSourceFile: /src/haproxy/src/stats-json.c
    functionUses: 0
    functionsReached:
    - flt_trim
    - field_str
    - field_format
    - snprintf
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: stats_emit_json_data_field(struct buffer *out, const struct field *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-json.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 8
    argNames:
    - out
    - stat
    - name
    - pos
    - field_type
    - iid
    - sid
    - pid
    argTypes:
    - struct buffer*
    - struct field*
    - char*
    - int
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: stats_print_proxy_field_json
    functionSourceFile: /src/haproxy/src/stats-json.c
    functionUses: 0
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "stats_print_proxy_field_json(struct buffer *out,\n                                         const
      struct field *stat,\n                                         const char *name,\n
      \                                        int pos,\n                                         uint32_t
      field_type,\n                                         uint32_t iid,\n                                         uint32_t
      sid,\n                                         uint32_t pid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-json.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - out
    - stat
    - name
    - pos
    argTypes:
    - struct buffer*
    - struct field*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: stats_print_rslv_field_json
    functionSourceFile: /src/haproxy/src/stats-json.c
    functionUses: 0
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "stats_print_rslv_field_json(struct buffer *out,\n                                        const
      struct field *stat,\n                                        const char *name,\n
      \                                       int pos)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-json.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: stats_dump_json_header
    functionSourceFile: /src/haproxy/src/stats-json.c
    functionUses: 1
    functionsReached:
    - chunk_strcat
    linkageType: ''
    returnType: void
    signature: stats_dump_json_header(struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-json.c:173,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-json.c:175,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-json.c:185,1
    - Dst: stats_print_proxy_field_json
      Src: /src/haproxy/src/stats-json.c:191,1
    - Dst: stats_print_rslv_field_json
      Src: /src/haproxy/src/stats-json.c:199,1
    - Dst: stats_emit_json_field_tags
      Src: /src/haproxy/src/stats-json.c:207,1
    - Dst: stats_emit_json_data_field
      Src: /src/haproxy/src/stats-json.c:210,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-json.c:213,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-json.c:218,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stats-json.c:227,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-json.c:229,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-json.c:230,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 4
    argNames:
    - out
    - line
    - stats_count
    - ctx
    argTypes:
    - struct buffer*
    - struct field*
    - size_t
    - struct show_stat_ctx*
    constantsTouched: []
    func_position:
      end: 236
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 236
    functionName: stats_dump_fields_json
    functionSourceFile: /src/haproxy/src/stats-json.c
    functionUses: 1
    functionsReached:
    - chunk_reset
    - stats_emit_json_field_tags
    - chunk_strcat
    - stats_print_rslv_field_json
    - chunk_appendf
    - stats_print_proxy_field_json
    - stats_emit_json_data_field
    linkageType: ''
    returnType: int
    signature: "stats_dump_fields_json(struct buffer *out,\n                           const
      struct field *line, size_t stats_count,\n                           struct show_stat_ctx
      *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-json.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: stats_dump_json_end
    functionSourceFile: /src/haproxy/src/stats-json.c
    functionUses: 1
    functionsReached:
    - chunk_strcat
    linkageType: ''
    returnType: void
    signature: stats_dump_json_end(struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-json.c:254,1
    - Dst: field_format
      Src: /src/haproxy/src/stats-json.c:261,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-json.c:264,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-json.c:269,1
    - Dst: stats_emit_json_field_tags
      Src: /src/haproxy/src/stats-json.c:277,1
    - Dst: stats_emit_json_data_field
      Src: /src/haproxy/src/stats-json.c:280,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-json.c:283,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-json.c:288,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stats-json.c:296,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-json.c:297,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 3
    argNames:
    - out
    - info
    - ctx
    argTypes:
    - struct buffer*
    - struct field*
    - struct show_stat_ctx*
    constantsTouched: []
    func_position:
      end: 303
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 303
    functionName: stats_dump_json_info_fields
    functionSourceFile: /src/haproxy/src/stats-json.c
    functionUses: 1
    functionsReached:
    - chunk_reset
    - stats_emit_json_field_tags
    - chunk_strcat
    - field_format
    - chunk_appendf
    - stats_emit_json_data_field
    linkageType: ''
    returnType: int
    signature: "stats_dump_json_info_fields(struct buffer *out,\n                                const
      struct field *info,\n                                struct show_stat_ctx *ctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_strcat
      Src: /src/haproxy/src/stats-json.c:317,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/stats-json.c:509,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-json.c:510,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/stats-json.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - out
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 514
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 514
    functionName: stats_dump_json_schema
    functionSourceFile: /src/haproxy/src/stats-json.c
    functionUses: 1
    functionsReached:
    - chunk_strcat
    - chunk_reset
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: stats_dump_json_schema(struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/stats-json.c:525,1
    - Dst: stats_dump_json_schema
      Src: /src/haproxy/src/stats-json.c:527,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/stats-json.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 533
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 533
    functionName: stats_dump_json_schema_to_buffer
    functionSourceFile: /src/haproxy/src/stats-json.c
    functionUses: 1
    functionsReached:
    - applet_putchk
    - stats_dump_json_schema
    - chunk_reset
    linkageType: ''
    returnType: int
    signature: stats_dump_json_schema_to_buffer(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-ssl.c:63,1
    - Dst: stat
      Src: /src/haproxy/src/cfgparse-ssl.c:67,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:68,1
    - Dst: S_ISDIR
      Src: /src/haproxy/src/cfgparse-ssl.c:72,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:73,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-ssl.c:79,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:82,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:85,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:86,1
    - Dst: ssl_free_global_issuers
      Src: /src/haproxy/src/cfgparse-ssl.c:87,1
    - Dst: scandir
      Src: /src/haproxy/src/cfgparse-ssl.c:89,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:91,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse-ssl.c:92,1
    - Dst: snprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:100,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:101,1
    - Dst: stat
      Src: /src/haproxy/src/cfgparse-ssl.c:102,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-ssl.c:103,1
    - Dst: strerror
      Src: /src/haproxy/src/cfgparse-ssl.c:103,1
    - Dst: S_ISREG
      Src: /src/haproxy/src/cfgparse-ssl.c:106,1
    - Dst: BIO_new
      Src: /src/haproxy/src/cfgparse-ssl.c:109,1
    - Dst: BIO_s_file
      Src: /src/haproxy/src/cfgparse-ssl.c:109,1
    - Dst: BIO_read_filename
      Src: /src/haproxy/src/cfgparse-ssl.c:112,1
    - Dst: ssl_load_global_issuer_from_BIO
      Src: /src/haproxy/src/cfgparse-ssl.c:114,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-ssl.c:116,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-ssl.c:117,1
    - Dst: BIO_free
      Src: /src/haproxy/src/cfgparse-ssl.c:121,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:123,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 126
      start: 52
    functionDepth: 9
    functionLinenumber: 52
    functionLinenumberEnd: 126
    functionName: ssl_load_global_issuers_from_path
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_free
    - ha_warning
    - BIO_new
    - BIO_s_file
    - strerror
    - stat
    - strcmp
    - free
    - S_ISREG
    - S_ISDIR
    - ssl_load_global_issuer_from_BIO
    - BIO_read_filename
    - BIO_free
    - scandir
    - strlen
    - snprintf
    - strdup
    - ssl_free_global_issuers
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "ssl_load_global_issuers_from_path(char **args, int section_type, struct
      proxy *curpx,\n\t\t\t\t\t      const struct proxy *defpx, const char *file,
      int line,\n\t\t\t\t\t      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 5
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: ssl_parse_global_ssl_async
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_ssl_async(char **args, int section_type, struct proxy
      *curpx,\n                                       const struct proxy *defpx, const
      char *file, int line,\n                                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:157,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:163,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:168,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:169,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:174,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:177,1
    - Dst: ssl_init_single_engine
      Src: /src/haproxy/src/cfgparse-ssl.c:180,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 186
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 186
    functionName: ssl_parse_global_ssl_engine
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - strdup
    - free
    - ssl_init_single_engine
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_ssl_engine(char **args, int section_type, struct
      proxy *curpx,\n                                       const struct proxy *defpx,
      const char *file, int line,\n                                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:200,1
    - Dst: EVP_set_default_properties
      Src: /src/haproxy/src/cfgparse-ssl.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 208
      start: 193
    functionDepth: 5
    functionLinenumber: 193
    functionLinenumberEnd: 208
    functionName: ssl_parse_global_ssl_propquery
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - EVP_set_default_properties
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_ssl_propquery(char **args, int section_type, struct
      proxy *curpx,\n\t\t\t\t\t  const struct proxy *defpx, const char *file, int
      line,\n\t\t\t\t\t  char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:220,1
    - Dst: ssl_init_provider
      Src: /src/haproxy/src/cfgparse-ssl.c:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 228
      start: 213
    functionDepth: 5
    functionLinenumber: 213
    functionLinenumberEnd: 228
    functionName: ssl_parse_global_ssl_provider
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_init_provider
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_ssl_provider(char **args, int section_type, struct
      proxy *curpx,\n\t\t\t\t\t const struct proxy *defpx, const char *file, int line,\n\t\t\t\t\t
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:238,1
    - Dst: OSSL_PROVIDER_set_default_search_path
      Src: /src/haproxy/src/cfgparse-ssl.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 5
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: ssl_parse_global_ssl_provider_path
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - OSSL_PROVIDER_set_default_search_path
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_ssl_provider_path(char **args, int section_type,
      struct proxy *curpx,\n\t\t\t\t\t      const struct proxy *defpx, const char
      *file, int line,\n\t\t\t\t\t      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-ssl.c:259,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:263,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:267,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 270
      start: 251
    functionDepth: 7
    functionLinenumber: 251
    functionLinenumberEnd: 270
    functionName: ssl_parse_global_ciphers
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - too_many_args
    - strdup
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_ciphers(char **args, int section_type, struct proxy
      *curpx,\n                                    const struct proxy *defpx, const
      char *file, int line,\n                                    char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-ssl.c:284,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:288,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:292,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:293,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 300
      start: 275
    functionDepth: 7
    functionLinenumber: 275
    functionLinenumberEnd: 300
    functionName: ssl_parse_global_ciphersuites
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - too_many_args
    - strdup
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_ciphersuites(char **args, int section_type, struct
      proxy *curpx,\n                                    const struct proxy *defpx,
      const char *file, int line,\n                                    char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-ssl.c:314,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:318,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:322,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 325
      start: 307
    functionDepth: 7
    functionLinenumber: 307
    functionLinenumberEnd: 325
    functionName: ssl_parse_global_curves
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - too_many_args
    - strdup
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_curves(char **args, int section_type, struct proxy
      *curpx,\n                                   const struct proxy *defpx, const
      char *file, int line,\n\t\t\t\t   char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-ssl.c:341,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:345,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:349,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 352
      start: 333
    functionDepth: 7
    functionLinenumber: 333
    functionLinenumberEnd: 352
    functionName: ssl_parse_global_sigalgs
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - too_many_args
    - strdup
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_sigalgs(char **args, int section_type, struct proxy
      *curpx,\n                                   const struct proxy *defpx, const
      char *file, int line,\n\t\t\t\t   char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-ssl.c:368,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:372,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:376,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 379
      start: 360
    functionDepth: 7
    functionLinenumber: 360
    functionLinenumberEnd: 379
    functionName: ssl_parse_global_client_sigalgs
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - too_many_args
    - strdup
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_client_sigalgs(char **args, int section_type, struct
      proxy *curpx,\n                                   const struct proxy *defpx,
      const char *file, int line,\n\t\t\t\t   char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:391,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:393,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:395,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:397,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:399,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:401,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:403,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-ssl.c:405,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:409,1
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-ssl.c:413,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:417,1
    - Dst: atoi
      Src: /src/haproxy/src/cfgparse-ssl.c:421,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 427
      start: 385
    functionDepth: 9
    functionLinenumber: 385
    functionLinenumberEnd: 427
    functionName: ssl_parse_global_int
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    - ha_warning
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_int(char **args, int section_type, struct proxy *curpx,\n
      \                               const struct proxy *defpx, const char *file,
      int line,\n                                char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_parse_global_int
      Src: /src/haproxy/src/cfgparse-ssl.c:435,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:440,1
    - Dst: create_pool
      Src: /src/haproxy/src/cfgparse-ssl.c:444,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 450
      start: 429
    functionDepth: 10
    functionLinenumber: 429
    functionLinenumberEnd: 450
    functionName: ssl_parse_global_capture_buffer
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_parse_global_int
    - create_pool
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_capture_buffer(char **args, int section_type, struct
      proxy *curpx,\n                                           const struct proxy
      *defpx, const char *file, int line,\n                                           char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-ssl.c:459,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:462,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:464,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:467,1
    - Dst: create_pool
      Src: /src/haproxy/src/cfgparse-ssl.c:474,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:476,1
    - Dst: create_pool
      Src: /src/haproxy/src/cfgparse-ssl.c:480,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 487
      start: 454
    functionDepth: 7
    functionLinenumber: 454
    functionLinenumberEnd: 487
    functionName: ssl_parse_global_keylog
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    - create_pool
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_keylog(char **args, int section_type, struct proxy
      *curpx,\n                                       const struct proxy *defpx, const
      char *file, int line,\n                                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 495
      start: 489
    functionDepth: 5
    functionLinenumber: 489
    functionLinenumberEnd: 495
    functionName: ssl_parse_global_keylog
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_keylog(char **args, int section_type, struct proxy
      *curpx,\n                                       const struct proxy *defpx, const
      char *file, int line,\n                                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-ssl.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 510
      start: 501
    functionDepth: 7
    functionLinenumber: 501
    functionLinenumberEnd: 510
    functionName: ssl_parse_global_private_cache
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_private_cache(char **args, int section_type, struct
      proxy *curpx,\n                                          const struct proxy
      *defpx, const char *file, int line,\n                                          char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-ssl.c:521,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:525,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/cfgparse-ssl.c:529,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:531,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:536,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 545
      start: 515
    functionDepth: 7
    functionLinenumber: 515
    functionLinenumberEnd: 545
    functionName: ssl_parse_global_lifetime
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_time_err
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_lifetime(char **args, int section_type, struct proxy
      *curpx,\n                                     const struct proxy *defpx, const
      char *file, int line,\n                                     char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-ssl.c:555,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:559,1
    - Dst: ssl_sock_load_global_dh_param_from_file
      Src: /src/haproxy/src/cfgparse-ssl.c:563,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 568
      start: 551
    functionDepth: 7
    functionLinenumber: 551
    functionLinenumberEnd: 568
    functionName: ssl_parse_global_dh_param_file
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_sock_load_global_dh_param_from_file
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_dh_param_file(char **args, int section_type, struct
      proxy *curpx,\n                                       const struct proxy *defpx,
      const char *file, int line,\n                                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-ssl.c:581,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:585,1
    - Dst: atoi
      Src: /src/haproxy/src/cfgparse-ssl.c:589,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:591,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:596,1
    - Dst: OpenSSL_version
      Src: /src/haproxy/src/cfgparse-ssl.c:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 600
      start: 575
    functionDepth: 7
    functionLinenumber: 575
    functionLinenumberEnd: 600
    functionName: ssl_parse_global_default_dh
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - OpenSSL_version
    - too_many_args
    - atoi
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_default_dh(char **args, int section_type, struct
      proxy *curpx,\n                                       const struct proxy *defpx,
      const char *file, int line,\n                                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:619,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:622,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:625,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:628,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:631,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:634,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:641,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:660,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:664,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 666
      start: 607
    functionDepth: 5
    functionLinenumber: 607
    functionLinenumberEnd: 666
    functionName: ssl_parse_global_extra_files
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_extra_files(char **args, int section_type, struct
      proxy *curpx,\n                                       const struct proxy *defpx,
      const char *file, int line,\n                                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 676
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 676
    functionName: ssl_parse_global_extra_noext
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_extra_noext(char **args, int section_type, struct
      proxy *curpx,\n                                       const struct proxy *defpx,
      const char *file, int line,\n                                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:685,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:690,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:692,1
    - Dst: ssl_store_load_locations_file
      Src: /src/haproxy/src/cfgparse-ssl.c:694,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:695,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - args
    - cur_arg
    - ca_file_p
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - char**
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 699
      start: 682
    functionDepth: 5
    functionLinenumber: 682
    functionLinenumberEnd: 699
    functionName: ssl_bind_parse_ca_file_common
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_store_load_locations_file
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_ca_file_common(char **args, int cur_arg, char **ca_file_p,
      int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_ca_file_common
      Src: /src/haproxy/src/cfgparse-ssl.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 705
      start: 702
    functionDepth: 6
    functionLinenumber: 702
    functionLinenumberEnd: 705
    functionName: ssl_bind_parse_ca_file
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - ssl_bind_parse_ca_file_common
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_ca_file(char **args, int cur_arg, struct proxy *px,
      struct ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_ca_file
      Src: /src/haproxy/src/cfgparse-ssl.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 709
      start: 706
    functionDepth: 7
    functionLinenumber: 706
    functionLinenumberEnd: 709
    functionName: bind_parse_ca_file
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 1
    functionsReached:
    - ssl_bind_parse_ca_file
    linkageType: ''
    returnType: int
    signature: bind_parse_ca_file(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_ca_file_common
      Src: /src/haproxy/src/cfgparse-ssl.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 715
      start: 712
    functionDepth: 6
    functionLinenumber: 712
    functionLinenumberEnd: 715
    functionName: ssl_bind_parse_ca_verify_file
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - ssl_bind_parse_ca_file_common
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_ca_verify_file(char **args, int cur_arg, struct proxy
      *px, struct ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_ca_verify_file
      Src: /src/haproxy/src/cfgparse-ssl.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 7
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: bind_parse_ca_verify_file
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 1
    functionsReached:
    - ssl_bind_parse_ca_verify_file
    linkageType: ''
    returnType: int
    signature: bind_parse_ca_verify_file(char **args, int cur_arg, struct proxy *px,
      struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:725,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:730,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 735
      start: 722
    functionDepth: 5
    functionLinenumber: 722
    functionLinenumberEnd: 735
    functionName: bind_parse_ca_sign_file
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: bind_parse_ca_sign_file(char **args, int cur_arg, struct proxy *px,
      struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:741,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 746
      start: 738
    functionDepth: 5
    functionLinenumber: 738
    functionLinenumberEnd: 746
    functionName: bind_parse_ca_sign_pass
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: bind_parse_ca_sign_pass(char **args, int cur_arg, struct proxy *px,
      struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:752,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:756,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 759
      start: 749
    functionDepth: 5
    functionLinenumber: 749
    functionLinenumberEnd: 759
    functionName: ssl_bind_parse_ciphers
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_ciphers(char **args, int cur_arg, struct proxy *px,
      struct ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_ciphers
      Src: /src/haproxy/src/cfgparse-ssl.c:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 6
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: bind_parse_ciphers
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 1
    functionsReached:
    - ssl_bind_parse_ciphers
    linkageType: ''
    returnType: int
    signature: bind_parse_ciphers(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:770,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:774,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:775,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 781
      start: 766
    functionDepth: 5
    functionLinenumber: 766
    functionLinenumberEnd: 781
    functionName: ssl_bind_parse_ciphersuites
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_ciphersuites(char **args, int cur_arg, struct proxy
      *px, struct ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_ciphersuites
      Src: /src/haproxy/src/cfgparse-ssl.c:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 786
      start: 783
    functionDepth: 6
    functionLinenumber: 783
    functionLinenumberEnd: 786
    functionName: bind_parse_ciphersuites
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 1
    functionsReached:
    - ssl_bind_parse_ciphersuites
    linkageType: ''
    returnType: int
    signature: bind_parse_ciphersuites(char **args, int cur_arg, struct proxy *px,
      struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:795,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-ssl.c:800,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-ssl.c:800,1
    - Dst: snprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:801,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:802,1
    - Dst: ssl_sock_load_cert
      Src: /src/haproxy/src/cfgparse-ssl.c:805,1
    - Dst: ssl_sock_load_cert
      Src: /src/haproxy/src/cfgparse-ssl.c:808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 809
      start: 789
    functionDepth: 11
    functionLinenumber: 789
    functionLinenumberEnd: 809
    functionName: bind_parse_crt
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strlen
    - ssl_sock_load_cert
    - snprintf
    linkageType: ''
    returnType: int
    signature: bind_parse_crt(char **args, int cur_arg, struct proxy *px, struct bind_conf
      *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:817,1
    - Dst: ssl_sock_load_cert_list_file
      Src: /src/haproxy/src/cfgparse-ssl.c:821,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 826
      start: 812
    functionDepth: 10
    functionLinenumber: 812
    functionLinenumberEnd: 826
    functionName: bind_parse_crt_list
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_sock_load_cert_list_file
    linkageType: ''
    returnType: int
    signature: bind_parse_crt_list(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:832,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:836,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:841,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:843,1
    - Dst: ssl_store_load_locations_file
      Src: /src/haproxy/src/cfgparse-ssl.c:845,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:846,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 851
      start: 829
    functionDepth: 5
    functionLinenumber: 829
    functionLinenumberEnd: 851
    functionName: ssl_bind_parse_crl_file
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_store_load_locations_file
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_crl_file(char **args, int cur_arg, struct proxy *px,
      struct ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_crl_file
      Src: /src/haproxy/src/cfgparse-ssl.c:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 855
      start: 852
    functionDepth: 6
    functionLinenumber: 852
    functionLinenumberEnd: 855
    functionName: bind_parse_crl_file
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 1
    functionsReached:
    - ssl_bind_parse_crl_file
    linkageType: ''
    returnType: int
    signature: bind_parse_crl_file(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:862,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:865,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 871
      start: 858
    functionDepth: 5
    functionLinenumber: 858
    functionLinenumberEnd: 871
    functionName: ssl_bind_parse_curves
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strdup
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_curves(char **args, int cur_arg, struct proxy *px, struct
      ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_curves
      Src: /src/haproxy/src/cfgparse-ssl.c:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 875
      start: 872
    functionDepth: 6
    functionLinenumber: 872
    functionLinenumberEnd: 875
    functionName: bind_parse_curves
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 1
    functionsReached:
    - ssl_bind_parse_curves
    linkageType: ''
    returnType: int
    signature: bind_parse_curves(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:882,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:885,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 891
      start: 878
    functionDepth: 5
    functionLinenumber: 878
    functionLinenumberEnd: 891
    functionName: ssl_bind_parse_sigalgs
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strdup
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_sigalgs(char **args, int cur_arg, struct proxy *px,
      struct ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_sigalgs
      Src: /src/haproxy/src/cfgparse-ssl.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 895
      start: 892
    functionDepth: 6
    functionLinenumber: 892
    functionLinenumberEnd: 895
    functionName: bind_parse_sigalgs
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 1
    functionsReached:
    - ssl_bind_parse_sigalgs
    linkageType: ''
    returnType: int
    signature: bind_parse_sigalgs(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:902,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:905,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 911
      start: 898
    functionDepth: 5
    functionLinenumber: 898
    functionLinenumberEnd: 911
    functionName: ssl_bind_parse_client_sigalgs
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strdup
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_client_sigalgs(char **args, int cur_arg, struct proxy
      *px, struct ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_client_sigalgs
      Src: /src/haproxy/src/cfgparse-ssl.c:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 915
      start: 912
    functionDepth: 6
    functionLinenumber: 912
    functionLinenumberEnd: 915
    functionName: bind_parse_client_sigalgs
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 1
    functionsReached:
    - ssl_bind_parse_client_sigalgs
    linkageType: ''
    returnType: int
    signature: bind_parse_client_sigalgs(char **args, int cur_arg, struct proxy *px,
      struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:922,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:925,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:929,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 937
      start: 919
    functionDepth: 5
    functionLinenumber: 919
    functionLinenumberEnd: 937
    functionName: ssl_bind_parse_ecdhe
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strdup
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_ecdhe(char **args, int cur_arg, struct proxy *px, struct
      ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_ecdhe
      Src: /src/haproxy/src/cfgparse-ssl.c:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 941
      start: 938
    functionDepth: 6
    functionLinenumber: 938
    functionLinenumberEnd: 941
    functionName: bind_parse_ecdhe
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 1
    functionsReached:
    - ssl_bind_parse_ecdhe
    linkageType: ''
    returnType: int
    signature: bind_parse_ecdhe(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:954,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:958,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:961,1
    - Dst: cert_ignerr_bitfield_set_all
      Src: /src/haproxy/src/cfgparse-ssl.c:962,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:968,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:970,1
    - Dst: strtok_r
      Src: /src/haproxy/src/cfgparse-ssl.c:975,1
    - Dst: isdigit
      Src: /src/haproxy/src/cfgparse-ssl.c:977,1
    - Dst: atoi
      Src: /src/haproxy/src/cfgparse-ssl.c:978,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:980,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:982,1
    - Dst: x509_v_err_str_to_int
      Src: /src/haproxy/src/cfgparse-ssl.c:986,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:988,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:990,1
    - Dst: cert_ignerr_bitfield_set
      Src: /src/haproxy/src/cfgparse-ssl.c:994,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:997,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 999
      start: 944
    functionDepth: 5
    functionLinenumber: 944
    functionLinenumberEnd: 999
    functionName: bind_parse_ignore_err
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    - strcmp
    - cert_ignerr_bitfield_set
    - strdup
    - free
    - x509_v_err_str_to_int
    - cert_ignerr_bitfield_set_all
    - strtok_r
    - isdigit
    linkageType: ''
    returnType: int
    signature: bind_parse_ignore_err(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/haproxy/src/cfgparse-ssl.c:1006,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1010,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1012,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1014,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1016,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1018,1
    - Dst: strncmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1022,1
    - Dst: strncmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1024,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1030,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - arg
    - methods
    - err
    argTypes:
    - char*
    - struct tls_version_filter*
    - char**
    constantsTouched: []
    func_position:
      end: 1032
      start: 1002
    functionDepth: 5
    functionLinenumber: 1002
    functionLinenumberEnd: 1032
    functionName: parse_tls_method_options
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - strncmp
    - strchr
    linkageType: ''
    returnType: int
    signature: parse_tls_method_options(char *arg, struct tls_version_filter *methods,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_tls_method_options
      Src: /src/haproxy/src/cfgparse-ssl.c:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 6
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: bind_parse_tls_method_options
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - parse_tls_method_options
    linkageType: ''
    returnType: int
    signature: bind_parse_tls_method_options(char **args, int cur_arg, struct proxy
      *px, struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_tls_method_options
      Src: /src/haproxy/src/cfgparse-ssl.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1042
      start: 1039
    functionDepth: 6
    functionLinenumber: 1039
    functionLinenumberEnd: 1042
    functionName: srv_parse_tls_method_options
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - parse_tls_method_options
    linkageType: ''
    returnType: int
    signature: srv_parse_tls_method_options(char **args, int *cur_arg, struct proxy
      *px, struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1050,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1054,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1057,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1060,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1062,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1065,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - args
    - cur_arg
    - methods
    - err
    argTypes:
    - char**
    - int
    - struct tls_version_filter*
    - char**
    constantsTouched: []
    func_position:
      end: 1069
      start: 1045
    functionDepth: 5
    functionLinenumber: 1045
    functionLinenumberEnd: 1069
    functionName: parse_tls_method_minmax
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: parse_tls_method_minmax(char **args, int cur_arg, struct tls_version_filter
      *methods, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/cfgparse-ssl.c:1076,1
    - Dst: parse_tls_method_minmax
      Src: /src/haproxy/src/cfgparse-ssl.c:1078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1086
      start: 1071
    functionDepth: 9
    functionLinenumber: 1071
    functionLinenumberEnd: 1086
    functionName: ssl_bind_parse_tls_method_minmax
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - parse_tls_method_minmax
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_tls_method_minmax(char **args, int cur_arg, struct proxy
      *px, struct ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_tls_method_minmax
      Src: /src/haproxy/src/cfgparse-ssl.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1090
      start: 1087
    functionDepth: 6
    functionLinenumber: 1087
    functionLinenumberEnd: 1090
    functionName: bind_parse_tls_method_minmax
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - parse_tls_method_minmax
    linkageType: ''
    returnType: int
    signature: bind_parse_tls_method_minmax(char **args, int cur_arg, struct proxy
      *px, struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_tls_method_minmax
      Src: /src/haproxy/src/cfgparse-ssl.c:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1095
      start: 1092
    functionDepth: 6
    functionLinenumber: 1092
    functionLinenumberEnd: 1095
    functionName: srv_parse_tls_method_minmax
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - parse_tls_method_minmax
    linkageType: ''
    returnType: int
    signature: srv_parse_tls_method_minmax(char **args, int *cur_arg, struct proxy
      *px, struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1102
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1102
    functionName: bind_parse_no_tls_tickets
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bind_parse_no_tls_tickets(char **args, int cur_arg, struct proxy *px,
      struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1109
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1109
    functionName: ssl_bind_parse_allow_0rtt
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_allow_0rtt(char **args, int cur_arg, struct proxy *px,
      struct ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1115
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1115
    functionName: bind_parse_allow_0rtt
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bind_parse_allow_0rtt(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1124,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:1128,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-ssl.c:1134,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-ssl.c:1135,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1137,1
    - Dst: memcpy
      Src: /src/haproxy/src/cfgparse-ssl.c:1141,1
    - Dst: memchr
      Src: /src/haproxy/src/cfgparse-ssl.c:1147,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-ssl.c:1149,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1153,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1170
      start: 1118
    functionDepth: 5
    functionLinenumber: 1118
    functionLinenumberEnd: 1170
    functionName: ssl_bind_parse_npn
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - memchr
    - strlen
    - calloc
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_npn(char **args, int cur_arg, struct proxy *px, struct
      ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_npn
      Src: /src/haproxy/src/cfgparse-ssl.c:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1175
      start: 1172
    functionDepth: 6
    functionLinenumber: 1172
    functionLinenumberEnd: 1175
    functionName: bind_parse_npn
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 1
    functionsReached:
    - ssl_bind_parse_npn
    linkageType: ''
    returnType: int
    signature: bind_parse_npn(char **args, int cur_arg, struct proxy *px, struct bind_conf
      *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1188,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-ssl.c:1196,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-ssl.c:1197,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1199,1
    - Dst: memcpy
      Src: /src/haproxy/src/cfgparse-ssl.c:1202,1
    - Dst: memchr
      Src: /src/haproxy/src/cfgparse-ssl.c:1208,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-ssl.c:1210,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1214,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:1234,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 4
    argNames:
    - arg
    - alpn_str
    - alpn_len
    - err
    argTypes:
    - char*
    - char**
    - int*
    - char**
    constantsTouched: []
    func_position:
      end: 1237
      start: 1179
    functionDepth: 5
    functionLinenumber: 1179
    functionLinenumberEnd: 1237
    functionName: ssl_sock_parse_alpn
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 2
    functionsReached:
    - memprintf
    - memchr
    - strlen
    - calloc
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: ssl_sock_parse_alpn(char *arg, char **alpn_str, int *alpn_len, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:1245,1
    - Dst: ssl_sock_parse_alpn
      Src: /src/haproxy/src/cfgparse-ssl.c:1247,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1249,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1255
      start: 1240
    functionDepth: 6
    functionLinenumber: 1240
    functionLinenumberEnd: 1255
    functionName: ssl_bind_parse_alpn
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - free
    - memprintf
    - ssl_sock_parse_alpn
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_alpn(char **args, int cur_arg, struct proxy *px, struct
      ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_alpn
      Src: /src/haproxy/src/cfgparse-ssl.c:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1260
      start: 1257
    functionDepth: 7
    functionLinenumber: 1257
    functionLinenumberEnd: 1260
    functionName: bind_parse_alpn
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 1
    functionsReached:
    - ssl_bind_parse_alpn
    linkageType: ''
    returnType: int
    signature: bind_parse_alpn(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1268,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1271,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1275,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1279,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1289
      start: 1263
    functionDepth: 3
    functionLinenumber: 1263
    functionLinenumberEnd: 1289
    functionName: bind_parse_ssl
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - strdup
    linkageType: ''
    returnType: int
    signature: bind_parse_ssl(char **args, int cur_arg, struct proxy *px, struct bind_conf
      *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1296
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1296
    functionName: bind_parse_pcc
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bind_parse_pcc(char **args, int cur_arg, struct proxy *px, struct bind_conf
      *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1308
      start: 1299
    functionDepth: 5
    functionLinenumber: 1299
    functionLinenumberEnd: 1308
    functionName: bind_parse_generate_certs
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: bind_parse_generate_certs(char **args, int cur_arg, struct proxy *px,
      struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1315
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1315
    functionName: bind_parse_strict_sni
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: bind_parse_strict_sni(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1327,1
    - Dst: tlskeys_ref_lookup
      Src: /src/haproxy/src/cfgparse-ssl.c:1331,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-ssl.c:1338,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1340,1
    - Dst: malloc
      Src: /src/haproxy/src/cfgparse-ssl.c:1344,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1346,1
    - Dst: fopen
      Src: /src/haproxy/src/cfgparse-ssl.c:1350,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1351,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1355,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1357,1
    - Dst: fgets
      Src: /src/haproxy/src/cfgparse-ssl.c:1362,1
    - Dst: base64dec
      Src: /src/haproxy/src/cfgparse-ssl.c:1373,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1375,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1387,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1394,1
    - Dst: fclose
      Src: /src/haproxy/src/cfgparse-ssl.c:1398,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/cfgparse-ssl.c:1405,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/cfgparse-ssl.c:1408,1
    - Dst: fclose
      Src: /src/haproxy/src/cfgparse-ssl.c:1414,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:1416,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:1417,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:1418,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1423,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 86
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1426
      start: 1318
    functionDepth: 5
    functionLinenumber: 1318
    functionLinenumberEnd: 1426
    functionName: bind_parse_tls_ticket_keys
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - malloc
    - tlskeys_ref_lookup
    - LIST_INSERT
    - calloc
    - strdup
    - free
    - base64dec
    - HA_RWLOCK_INIT
    - fopen
    - fclose
    - fgets
    linkageType: ''
    returnType: int
    signature: bind_parse_tls_ticket_keys(char **args, int cur_arg, struct proxy *px,
      struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1432,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1436,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1438,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1440,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1449
      start: 1429
    functionDepth: 5
    functionLinenumber: 1429
    functionLinenumberEnd: 1449
    functionName: ssl_bind_parse_verify
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_verify(char **args, int cur_arg, struct proxy *px, struct
      ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_verify
      Src: /src/haproxy/src/cfgparse-ssl.c:1452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1453
      start: 1450
    functionDepth: 6
    functionLinenumber: 1450
    functionLinenumberEnd: 1453
    functionName: bind_parse_verify
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 1
    functionsReached:
    - ssl_bind_parse_verify
    linkageType: ''
    returnType: int
    signature: bind_parse_verify(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:1458,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1460,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1467
      start: 1456
    functionDepth: 5
    functionLinenumber: 1456
    functionLinenumberEnd: 1467
    functionName: ssl_bind_parse_no_alpn
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - free
    - memprintf
    - strdup
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_no_alpn(char **args, int cur_arg, struct proxy *px,
      struct ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_no_alpn
      Src: /src/haproxy/src/cfgparse-ssl.c:1472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1473
      start: 1470
    functionDepth: 6
    functionLinenumber: 1470
    functionLinenumberEnd: 1473
    functionName: bind_parse_no_alpn
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 1
    functionsReached:
    - ssl_bind_parse_no_alpn
    linkageType: ''
    returnType: int
    signature: bind_parse_no_alpn(char **args, int cur_arg, struct proxy *px, struct
      bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - from_cli
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct ssl_bind_conf*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1481
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1481
    functionName: ssl_bind_parse_no_ca_names
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ssl_bind_parse_no_ca_names(char **args, int cur_arg, struct proxy *px,
      struct ssl_bind_conf *conf, int from_cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_bind_parse_no_ca_names
      Src: /src/haproxy/src/cfgparse-ssl.c:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - conf
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct bind_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1486
      start: 1483
    functionDepth: 1
    functionLinenumber: 1483
    functionLinenumberEnd: 1486
    functionName: bind_parse_no_ca_names
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 1
    functionsReached:
    - ssl_bind_parse_no_ca_names
    linkageType: ''
    returnType: int
    signature: bind_parse_no_ca_names(char **args, int cur_arg, struct proxy *px,
      struct bind_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1497,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:1501,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-ssl.c:1507,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-ssl.c:1508,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1510,1
    - Dst: memcpy
      Src: /src/haproxy/src/cfgparse-ssl.c:1514,1
    - Dst: memchr
      Src: /src/haproxy/src/cfgparse-ssl.c:1521,1
    - Dst: strlen
      Src: /src/haproxy/src/cfgparse-ssl.c:1524,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1528,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1545
      start: 1491
    functionDepth: 5
    functionLinenumber: 1491
    functionLinenumberEnd: 1545
    functionName: srv_parse_npn
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - memchr
    - strlen
    - calloc
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: srv_parse_npn(char **args, int *cur_arg, struct proxy *px, struct server
      *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:1550,1
    - Dst: ssl_sock_parse_alpn
      Src: /src/haproxy/src/cfgparse-ssl.c:1551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - alpn
    - out_alpn_str
    - out_alpn_len
    - err
    argTypes:
    - char*
    - char**
    - int*
    - char**
    constantsTouched: []
    func_position:
      end: 1552
      start: 1548
    functionDepth: 6
    functionLinenumber: 1548
    functionLinenumberEnd: 1552
    functionName: parse_alpn
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 5
    functionsReached:
    - free
    - ssl_sock_parse_alpn
    linkageType: ''
    returnType: int
    signature: parse_alpn(char *alpn, char **out_alpn_str, int *out_alpn_len, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1563,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1569
      start: 1556
    functionDepth: 5
    functionLinenumber: 1556
    functionLinenumberEnd: 1569
    functionName: srv_parse_alpn
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: srv_parse_alpn(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1579,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1585
      start: 1572
    functionDepth: 5
    functionLinenumber: 1572
    functionLinenumberEnd: 1585
    functionName: srv_parse_check_alpn
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: srv_parse_check_alpn(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1593,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1598,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1600,1
    - Dst: ssl_store_load_locations_file
      Src: /src/haproxy/src/cfgparse-ssl.c:1602,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1608
      start: 1588
    functionDepth: 5
    functionLinenumber: 1588
    functionLinenumberEnd: 1608
    functionName: srv_parse_ca_file
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_store_load_locations_file
    linkageType: ''
    returnType: int
    signature: srv_parse_ca_file(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1614,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1618,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1625
      start: 1611
    functionDepth: 5
    functionLinenumber: 1611
    functionLinenumberEnd: 1625
    functionName: srv_parse_check_sni
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strdup
    linkageType: ''
    returnType: int
    signature: srv_parse_check_sni(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1631,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1634,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1650,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1658,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1666,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 1673
      start: 1628
    functionDepth: 3
    functionLinenumber: 1628
    functionLinenumberEnd: 1673
    functionName: ssl_sock_init_srv
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - strdup
    linkageType: ''
    returnType: int
    signature: ssl_sock_init_srv(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_init_srv
      Src: /src/haproxy/src/cfgparse-ssl.c:1679,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1685
      start: 1676
    functionDepth: 5
    functionLinenumber: 1676
    functionLinenumberEnd: 1685
    functionName: srv_parse_check_ssl
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_sock_init_srv
    linkageType: ''
    returnType: int
    signature: srv_parse_check_ssl(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1691,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:1695,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1696,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1704
      start: 1688
    functionDepth: 5
    functionLinenumber: 1688
    functionLinenumberEnd: 1704
    functionName: srv_parse_ciphers
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: srv_parse_ciphers(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1711,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:1715,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1716,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1719,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1725,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1729
      start: 1707
    functionDepth: 5
    functionLinenumber: 1707
    functionLinenumberEnd: 1729
    functionName: srv_parse_ciphersuites
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: srv_parse_ciphersuites(char **args, int *cur_arg, struct proxy *px,
      struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1735,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1742,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1745,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1752
      start: 1732
    functionDepth: 5
    functionLinenumber: 1732
    functionLinenumberEnd: 1752
    functionName: srv_parse_client_sigalgs
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strdup
    linkageType: ''
    returnType: int
    signature: srv_parse_client_sigalgs(char **args, int *cur_arg, struct proxy *px,
      struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1759,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1765,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1770,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1772,1
    - Dst: ssl_store_load_locations_file
      Src: /src/haproxy/src/cfgparse-ssl.c:1774,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1780
      start: 1756
    functionDepth: 5
    functionLinenumber: 1756
    functionLinenumberEnd: 1780
    functionName: srv_parse_crl_file
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_store_load_locations_file
    linkageType: ''
    returnType: int
    signature: srv_parse_crl_file(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1786,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1793,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1796,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1803
      start: 1783
    functionDepth: 5
    functionLinenumber: 1783
    functionLinenumberEnd: 1803
    functionName: srv_parse_curves
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strdup
    linkageType: ''
    returnType: int
    signature: srv_parse_curves(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1810,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1815,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1817,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1820
      start: 1806
    functionDepth: 5
    functionLinenumber: 1806
    functionLinenumberEnd: 1820
    functionName: srv_parse_crt
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: srv_parse_crt(char **args, int *cur_arg, struct proxy *px, struct server
      *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-ssl.c:1826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1829
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1829
    functionName: srv_parse_no_check_ssl
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: int
    signature: srv_parse_no_check_ssl(char **args, int *cur_arg, struct proxy *px,
      struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1837
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1837
    functionName: srv_parse_no_send_proxy_ssl
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_parse_no_send_proxy_ssl(char **args, int *cur_arg, struct proxy
      *px, struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1846
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1846
    functionName: srv_parse_no_send_proxy_cn
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_parse_no_send_proxy_cn(char **args, int *cur_arg, struct proxy
      *px, struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_init_srv
      Src: /src/haproxy/src/cfgparse-ssl.c:1853,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1854,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-ssl.c:1859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1863
      start: 1849
    functionDepth: 5
    functionLinenumber: 1849
    functionLinenumberEnd: 1863
    functionName: srv_parse_no_ssl
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_free
    - ssl_sock_init_srv
    linkageType: ''
    returnType: int
    signature: srv_parse_no_ssl(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1870
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1870
    functionName: srv_parse_allow_0rtt
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_parse_allow_0rtt(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1877
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1877
    functionName: srv_parse_no_ssl_reuse
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_parse_no_ssl_reuse(char **args, int *cur_arg, struct proxy *px,
      struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1884
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1884
    functionName: srv_parse_no_tls_tickets
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_parse_no_tls_tickets(char **args, int *cur_arg, struct proxy *px,
      struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1891
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1891
    functionName: srv_parse_send_proxy_ssl
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_parse_send_proxy_ssl(char **args, int *cur_arg, struct proxy *px,
      struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1900
      start: 1894
    functionDepth: 0
    functionLinenumber: 1894
    functionLinenumberEnd: 1900
    functionName: srv_parse_send_proxy_cn
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_parse_send_proxy_cn(char **args, int *cur_arg, struct proxy *px,
      struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1906,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1913,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1916,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1923
      start: 1903
    functionDepth: 5
    functionLinenumber: 1903
    functionLinenumberEnd: 1923
    functionName: srv_parse_sigalgs
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strdup
    linkageType: ''
    returnType: int
    signature: srv_parse_sigalgs(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1929,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1936,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:1940,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:1941,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1949
      start: 1926
    functionDepth: 5
    functionLinenumber: 1926
    functionLinenumberEnd: 1949
    functionName: srv_parse_sni
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: srv_parse_sni(char **args, int *cur_arg, struct proxy *px, struct server
      *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_init_srv
      Src: /src/haproxy/src/cfgparse-ssl.c:1955,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1956,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1961
      start: 1952
    functionDepth: 5
    functionLinenumber: 1952
    functionLinenumberEnd: 1961
    functionName: srv_parse_ssl
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ssl_sock_init_srv
    linkageType: ''
    returnType: int
    signature: srv_parse_ssl(char **args, int *cur_arg, struct proxy *px, struct server
      *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1968
      start: 1964
    functionDepth: 0
    functionLinenumber: 1964
    functionLinenumberEnd: 1968
    functionName: srv_parse_ssl_reuse
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_parse_ssl_reuse(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1975
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1975
    functionName: srv_parse_tls_tickets
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_parse_tls_tickets(char **args, int *cur_arg, struct proxy *px,
      struct server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1981,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1985,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:1987,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:1990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 1996
      start: 1978
    functionDepth: 5
    functionLinenumber: 1978
    functionLinenumberEnd: 1996
    functionName: srv_parse_verify
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: srv_parse_verify(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2002,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:2006,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:2007,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - newsrv
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct server*
    - char**
    constantsTouched: []
    func_position:
      end: 2015
      start: 1999
    functionDepth: 5
    functionLinenumber: 1999
    functionLinenumberEnd: 2015
    functionName: srv_parse_verifyhost
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: srv_parse_verifyhost(char **args, int *cur_arg, struct proxy *px, struct
      server *newsrv, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2024,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:2028,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:2030,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:2032,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:2032,1
    - Dst: parse_tls_method_minmax
      Src: /src/haproxy/src/cfgparse-ssl.c:2033,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2036,1
    - Dst: parse_tls_method_options
      Src: /src/haproxy/src/cfgparse-ssl.c:2040,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2041,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2047
      start: 2018
    functionDepth: 6
    functionLinenumber: 2018
    functionLinenumberEnd: 2047
    functionName: ssl_parse_default_bind_options
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - parse_tls_method_minmax
    - parse_tls_method_options
    linkageType: ''
    returnType: int
    signature: "ssl_parse_default_bind_options(char **args, int section_type, struct
      proxy *curpx,\n                                          const struct proxy
      *defpx, const char *file, int line,\n                                          char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2056,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:2060,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:2062,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:2062,1
    - Dst: parse_tls_method_minmax
      Src: /src/haproxy/src/cfgparse-ssl.c:2063,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2066,1
    - Dst: parse_tls_method_options
      Src: /src/haproxy/src/cfgparse-ssl.c:2070,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2071,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2077
      start: 2050
    functionDepth: 6
    functionLinenumber: 2050
    functionLinenumberEnd: 2077
    functionName: ssl_parse_default_server_options
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - parse_tls_method_minmax
    - parse_tls_method_options
    linkageType: ''
    returnType: int
    signature: "ssl_parse_default_server_options(char **args, int section_type, struct
      proxy *curpx,\n                                            const struct proxy
      *defpx, const char *file, int line,\n                                            char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/src/cfgparse-ssl.c:2097,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2101,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2106,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:2109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2111
      start: 2082
    functionDepth: 7
    functionLinenumber: 2082
    functionLinenumberEnd: 2111
    functionName: ssl_parse_global_path_base
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - too_many_args
    - strdup
    linkageType: ''
    returnType: int
    signature: "ssl_parse_global_path_base(char **args, int section_type, struct proxy
      *curpx,\n                                        const struct proxy *defpx,
      const char *file, int line,\n                                        char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2119,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-ssl.c:2125,1
    - Dst: strtol
      Src: /src/haproxy/src/cfgparse-ssl.c:2129,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-ssl.c:2131,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-ssl.c:2137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - linenum
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2144
      start: 2114
    functionDepth: 9
    functionLinenumber: 2114
    functionLinenumberEnd: 2144
    functionName: ssl_parse_security_level
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strtol
    - ha_alert
    linkageType: ''
    returnType: int
    signature: "ssl_parse_security_level(char **args, int section_type, struct proxy
      *curpx,\n\t\t\t\t\t const struct proxy *defpx, const char *file, int linenum,\n\t\t\t\t\t
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2158
      start: 2147
    functionDepth: 5
    functionLinenumber: 2147
    functionLinenumberEnd: 2158
    functionName: ssl_parse_skip_self_issued_ca
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: "ssl_parse_skip_self_issued_ca(char **args, int section_type, struct
      proxy *curpx,\n\t\t\t\t\t const struct proxy *defpx, const char *file, int line,\n\t\t\t\t\t
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-ssl.c:2184,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2186,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-ssl.c:2190,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2192,1
    - Dst: strdup
      Src: /src/haproxy/src/cfgparse-ssl.c:2196,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2198,1
    - Dst: strcmp
      Src: /src/haproxy/src/cfgparse-ssl.c:2207,1
    - Dst: calloc
      Src: /src/haproxy/src/cfgparse-ssl.c:2210,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2212,1
    - Dst: parse
      Src: /src/haproxy/src/cfgparse-ssl.c:2216,1
    - Dst: ckch_conf_parse
      Src: /src/haproxy/src/cfgparse-ssl.c:2226,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2237,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/cfgparse-ssl.c:2244,1
    - Dst: ckch_conf_clean
      Src: /src/haproxy/src/cfgparse-ssl.c:2248,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-ssl.c:2249,1
    - Dst: ssl_sock_free_ssl_conf
      Src: /src/haproxy/src/cfgparse-ssl.c:2250,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-ssl.c:2251,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-ssl.c:2252,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - linenum
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2254
      start: 2173
    functionDepth: 5
    functionLinenumber: 2173
    functionLinenumberEnd: 2254
    functionName: proxy_parse_ssl_f_use
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse
    - ckch_conf_clean
    - ha_free
    - ckch_conf_parse
    - calloc
    - strcmp
    - ssl_sock_free_ssl_conf
    - strdup
    - LIST_INSERT
    linkageType: ''
    returnType: int
    signature: "proxy_parse_ssl_f_use(char **args, int section_type, struct proxy
      *curpx,\n                                 const struct proxy *defpx, const char
      *file, int linenum,\n                                 char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/cfgparse-ssl.c:2271,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2275,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2277,1
    - Dst: crtlist_new
      Src: /src/haproxy/src/cfgparse-ssl.c:2283,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2285,1
    - Dst: crtlist_entry_new
      Src: /src/haproxy/src/cfgparse-ssl.c:2290,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2292,1
    - Dst: crtlist_load_crt
      Src: /src/haproxy/src/cfgparse-ssl.c:2300,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/cfgparse-ssl.c:2304,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:2306,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:2307,1
    - Dst: ebst_insert
      Src: /src/haproxy/src/cfgparse-ssl.c:2312,1
    - Dst: memprintf
      Src: /src/haproxy/src/cfgparse-ssl.c:2313,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cfgparse-ssl.c:2319,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/cfgparse-ssl.c:2321,1
    - Dst: eb_is_empty
      Src: /src/haproxy/src/cfgparse-ssl.c:2321,1
    - Dst: ssl_sock_load_cert_list_file
      Src: /src/haproxy/src/cfgparse-ssl.c:2322,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cfgparse-ssl.c:2334,1
    - Dst: free
      Src: /src/haproxy/src/cfgparse-ssl.c:2335,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/cfgparse-ssl.c:2337,1
    - Dst: ckch_conf_clean
      Src: /src/haproxy/src/cfgparse-ssl.c:2338,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-ssl.c:2339,1
    - Dst: ssl_sock_free_ssl_conf
      Src: /src/haproxy/src/cfgparse-ssl.c:2340,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-ssl.c:2341,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/cfgparse-ssl.c:2342,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-ssl.c:2343,1
    - Dst: ha_free
      Src: /src/haproxy/src/cfgparse-ssl.c:2346,1
    - Dst: crtlist_entry_free
      Src: /src/haproxy/src/cfgparse-ssl.c:2347,1
    - Dst: crtlist_free
      Src: /src/haproxy/src/cfgparse-ssl.c:2348,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2261
    functionDepth: 10
    functionLinenumber: 2261
    functionLinenumberEnd: 2350
    functionName: post_section_frontend_crt_init
    functionSourceFile: /src/haproxy/src/cfgparse-ssl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_alert
    - crtlist_entry_free
    - ckch_conf_clean
    - list_for_each_entry_safe
    - ha_free
    - crtlist_new
    - list_for_each_entry
    - ssl_sock_free_ssl_conf
    - LIST_DELETE
    - ssl_sock_load_cert_list_file
    - eb_is_empty
    - free
    - crtlist_free
    - ebst_insert
    - crtlist_load_crt
    - crtlist_entry_new
    linkageType: ''
    returnType: int
    signature: post_section_frontend_crt_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/src/signal.c:42,1
    - Dst: signal
      Src: /src/haproxy/src/signal.c:46,1
    - Dst: qfprintf
      Src: /src/haproxy/src/signal.c:47,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/signal.c:48,1
    - Dst: qfprintf
      Src: /src/haproxy/src/signal.c:57,1
    - Dst: signal
      Src: /src/haproxy/src/signal.c:62,1
    - Dst: wake_thread
      Src: /src/haproxy/src/signal.c:65,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/src/signal.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 67
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 67
    functionName: signal_handler
    functionSourceFile: /src/haproxy/src/signal.c
    functionUses: 0
    functionsReached:
    - wake_thread
    - _HA_ATOMIC_OR
    - _HA_ATOMIC_AND
    - signal
    - qfprintf
    linkageType: ''
    returnType: void
    signature: signal_handler(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_sigmask
      Src: /src/haproxy/src/signal.c:82,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/signal.c:94,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/signal.c:98,1
    - Dst: ha_sigmask
      Src: /src/haproxy/src/signal.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: __signal_process_queue
    functionSourceFile: /src/haproxy/src/signal.c
    functionUses: 0
    functionsReached:
    - ha_sigmask
    - task_wakeup
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: __signal_process_queue()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/haproxy/src/signal.c:120,1
    - Dst: memset
      Src: /src/haproxy/src/signal.c:122,1
    - Dst: memset
      Src: /src/haproxy/src/signal.c:123,1
    - Dst: sigfillset
      Src: /src/haproxy/src/signal.c:125,1
    - Dst: sigdelset
      Src: /src/haproxy/src/signal.c:126,1
    - Dst: sigdelset
      Src: /src/haproxy/src/signal.c:133,1
    - Dst: sigdelset
      Src: /src/haproxy/src/signal.c:134,1
    - Dst: sigdelset
      Src: /src/haproxy/src/signal.c:135,1
    - Dst: sigdelset
      Src: /src/haproxy/src/signal.c:136,1
    - Dst: sigdelset
      Src: /src/haproxy/src/signal.c:138,1
    - Dst: sigdelset
      Src: /src/haproxy/src/signal.c:141,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/signal.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 145
    functionName: signal_init
    functionSourceFile: /src/haproxy/src/signal.c
    functionUses: 0
    functionsReached:
    - sigfillset
    - LIST_INIT
    - signal
    - memset
    - sigdelset
    linkageType: ''
    returnType: void
    signature: signal_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sigemptyset
      Src: /src/haproxy/src/signal.c:158,1
    - Dst: ha_sigmask
      Src: /src/haproxy/src/signal.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: haproxy_unblock_signals
    functionSourceFile: /src/haproxy/src/signal.c
    functionUses: 3
    functionsReached:
    - ha_sigmask
    - sigemptyset
    linkageType: ''
    returnType: void
    signature: haproxy_unblock_signals()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/haproxy/src/signal.c:170,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/signal.c:171,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/signal.c:172,1
    - Dst: pool_free
      Src: /src/haproxy/src/signal.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 176
    functionName: deinit_signals
    functionSourceFile: /src/haproxy/src/signal.c
    functionUses: 1
    functionsReached:
    - LIST_DELETE
    - signal
    - list_for_each_entry_safe
    - pool_free
    linkageType: ''
    returnType: void
    signature: deinit_signals()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/haproxy/src/signal.c:194,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/signal.c:199,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/signal.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - sig
    - arg
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 208
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 208
    functionName: signal_register_fct
    functionSourceFile: /src/haproxy/src/signal.c
    functionUses: 6
    functionsReached:
    - LIST_APPEND
    - signal
    - pool_alloc
    linkageType: ''
    returnType: struct sig_handler
    signature: '*signal_register_fct(int sig, void (*fct)(struct sig_handler *), int
      arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: signal
      Src: /src/haproxy/src/signal.c:226,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/signal.c:231,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/signal.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - sig
    - task
    - reason
    argTypes:
    - int
    - struct task*
    - int
    constantsTouched: []
    func_position:
      end: 240
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 240
    functionName: signal_register_task
    functionSourceFile: /src/haproxy/src/signal.c
    functionUses: 2
    functionsReached:
    - LIST_APPEND
    - signal
    - pool_alloc
    linkageType: ''
    returnType: struct sig_handler
    signature: '*signal_register_task(int sig, struct task *task, int reason)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/signal.c:247,1
    - Dst: pool_free
      Src: /src/haproxy/src/signal.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handler
    argTypes:
    - struct sig_handler*
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: signal_unregister_handler
    functionSourceFile: /src/haproxy/src/signal.c
    functionUses: 2
    functionsReached:
    - LIST_DELETE
    - pool_free
    linkageType: ''
    returnType: void
    signature: signal_unregister_handler(struct sig_handler *handler)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/signal.c:267,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/signal.c:269,1
    - Dst: pool_free
      Src: /src/haproxy/src/signal.c:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - sig
    - target
    argTypes:
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 274
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 274
    functionName: signal_unregister_target
    functionSourceFile: /src/haproxy/src/signal.c
    functionUses: 0
    functionsReached:
    - LIST_DELETE
    - list_for_each_entry_safe
    - pool_free
    linkageType: ''
    returnType: void
    signature: signal_unregister_target(int sig, void *target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/signal.c:288,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/signal.c:289,1
    - Dst: pool_free
      Src: /src/haproxy/src/signal.c:290,1
    - Dst: signal
      Src: /src/haproxy/src/signal.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 294
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 294
    functionName: signal_unregister
    functionSourceFile: /src/haproxy/src/signal.c
    functionUses: 1
    functionsReached:
    - LIST_DELETE
    - signal
    - list_for_each_entry_safe
    - pool_free
    linkageType: ''
    returnType: void
    signature: signal_unregister(int sig)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/cache.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct cache_tree*
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: cache_rdlock
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_RDLOCK
    linkageType: ''
    returnType: void
    signature: cache_rdlock(struct cache_tree *cache)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/cache.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct cache_tree*
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: cache_rdunlock
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: void
    signature: cache_rdunlock(struct cache_tree *cache)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/cache.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct cache_tree*
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: cache_wrlock
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: void
    signature: cache_wrlock(struct cache_tree *cache)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/cache.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct cache_tree*
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: cache_wrunlock
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_WRUNLOCK
    linkageType: ''
    returnType: void
    signature: cache_wrunlock(struct cache_tree *cache)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup
      Src: /src/haproxy/src/cache.c:255,1
    - Dst: read_u32
      Src: /src/haproxy/src/cache.c:255,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/cache.c:259,1
    - Dst: memcmp
      Src: /src/haproxy/src/cache.c:262,1
    - Dst: release_entry_locked
      Src: /src/haproxy/src/cache.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - cache_tree
    - hash
    - delete_expired
    argTypes:
    - struct cache_tree*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: get_entry
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 9
    functionsReached:
    - read_u32
    - eb32_lookup
    - eb32_entry
    - memcmp
    - release_entry_locked
    linkageType: ''
    returnType: struct cache_entry
    signature: '*get_entry(struct cache_tree *cache_tree, char *hash, int delete_expired)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_INC
      Src: /src/haproxy/src/cache.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct cache_entry*
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: retain_entry
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_INC
    linkageType: ''
    returnType: void
    signature: retain_entry(struct cache_entry *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_SUB_FETCH
      Src: /src/haproxy/src/cache.c:293,1
    - Dst: cache_wrlock
      Src: /src/haproxy/src/cache.c:295,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/src/cache.c:300,1
    - Dst: cache_wrunlock
      Src: /src/haproxy/src/cache.c:301,1
    - Dst: delete_entry
      Src: /src/haproxy/src/cache.c:305,1
    - Dst: cache_wrunlock
      Src: /src/haproxy/src/cache.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - cache
    - entry
    - needs_locking
    argTypes:
    - struct cache_tree*
    - struct cache_entry*
    - int
    constantsTouched: []
    func_position:
      end: 310
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 310
    functionName: release_entry
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_SUB_FETCH
    - cache_wrlock
    - HA_ATOMIC_LOAD
    - cache_wrunlock
    - delete_entry
    linkageType: ''
    returnType: void
    signature: release_entry(struct cache_tree *cache, struct cache_entry *entry,
      int needs_locking)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: release_entry
      Src: /src/haproxy/src/cache.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cache
    - entry
    argTypes:
    - struct cache_tree*
    - struct cache_entry*
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: release_entry_locked
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 1
    functionsReached:
    - release_entry
    linkageType: ''
    returnType: void
    signature: release_entry_locked(struct cache_tree *cache, struct cache_entry *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: release_entry
      Src: /src/haproxy/src/cache.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cache
    - entry
    argTypes:
    - struct cache_tree*
    - struct cache_entry*
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: release_entry_unlocked
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - release_entry
    linkageType: ''
    returnType: void
    signature: release_entry_unlocked(struct cache_tree *cache, struct cache_entry
      *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct vary_hashing_information*::cmp_fn
      Src: /src/haproxy/src/cache.c:352,1
    - Dst: memcmp
      Src: /src/haproxy/src/cache.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ref_key
    - new_key
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 360
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 360
    functionName: secondary_key_cmp
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - memcmp
    - struct vary_hashing_information*::cmp_fn
    linkageType: ''
    returnType: int
    signature: secondary_key_cmp(const char *ref_key, const char *new_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: secondary_key_cmp
      Src: /src/haproxy/src/cache.c:383,1
    - Dst: eb32_next_dup
      Src: /src/haproxy/src/cache.c:384,1
    - Dst: release_entry_locked
      Src: /src/haproxy/src/cache.c:391,1
    - Dst: eb32_entry
      Src: /src/haproxy/src/cache.c:394,1
    - Dst: release_entry_locked
      Src: /src/haproxy/src/cache.c:400,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - cache
    - entry
    - secondary_key
    - delete_expired
    argTypes:
    - struct cache_tree*
    - struct cache_entry*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 406
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 406
    functionName: get_secondary_entry
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - eb32_entry
    - release_entry_locked
    - eb32_next_dup
    - secondary_key_cmp
    linkageType: ''
    returnType: struct cache_entry
    signature: "*get_secondary_entry(struct cache_tree *cache, struct cache_entry
      *entry,\n                                        const char *secondary_key,
      int delete_expired)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cache
    - hash
    argTypes:
    - struct cache*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 414
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 414
    functionName: get_cache_tree_from_hash
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct cache_tree
    signature: '*get_cache_tree_from_hash(struct cache *cache, unsigned int hash)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/src/cache.c:432,1
    - Dst: eb32_prev_dup
      Src: /src/haproxy/src/cache.c:433,1
    - Dst: release_entry_locked
      Src: /src/haproxy/src/cache.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - cache
    - dup_tail
    argTypes:
    - struct cache_tree*
    - struct eb32_node**
    constantsTouched: []
    func_position:
      end: 447
      start: 424
    functionDepth: 3
    functionLinenumber: 424
    functionLinenumberEnd: 447
    functionName: clear_expired_duplicates
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - eb32_prev_dup
    - container_of
    - release_entry_locked
    linkageType: ''
    returnType: unsigned int
    signature: clear_expired_duplicates(struct cache_tree *cache, struct eb32_node
      **dup_tail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_insert
      Src: /src/haproxy/src/cache.c:469,1
    - Dst: eb32_prev_dup
      Src: /src/haproxy/src/cache.c:478,1
    - Dst: container_of
      Src: /src/haproxy/src/cache.c:482,1
    - Dst: release_entry_locked
      Src: /src/haproxy/src/cache.c:495,1
    - Dst: clear_expired_duplicates
      Src: /src/haproxy/src/cache.c:499,1
    - Dst: container_of
      Src: /src/haproxy/src/cache.c:503,1
    - Dst: release_entry_locked
      Src: /src/haproxy/src/cache.c:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - cache
    - tree
    - new_entry
    argTypes:
    - struct cache*
    - struct cache_tree*
    - struct cache_entry*
    constantsTouched: []
    func_position:
      end: 515
      start: 462
    functionDepth: 4
    functionLinenumber: 462
    functionLinenumberEnd: 515
    functionName: insert_entry
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - container_of
    - eb32_insert
    - eb32_prev_dup
    - clear_expired_duplicates
    - release_entry_locked
    linkageType: ''
    returnType: struct eb32_node
    signature: '*insert_entry(struct cache *cache, struct cache_tree *tree, struct
      cache_entry *new_entry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_next_dup
      Src: /src/haproxy/src/cache.c:537,1
    - Dst: container_of
      Src: /src/haproxy/src/cache.c:542,1
    - Dst: eb32_prev_dup
      Src: /src/haproxy/src/cache.c:548,1
    - Dst: container_of
      Src: /src/haproxy/src/cache.c:550,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/cache.c:555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - del_entry
    argTypes:
    - struct cache_entry*
    constantsTouched: []
    func_position:
      end: 557
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 557
    functionName: delete_entry
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 1
    functionsReached:
    - eb32_prev_dup
    - eb32_delete
    - container_of
    - eb32_next_dup
    linkageType: ''
    returnType: void
    signature: delete_entry(struct cache_entry *del_entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - struct cache*
    constantsTouched: []
    func_position:
      end: 563
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 563
    functionName: shctx_ptr
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct shared_context
    signature: '*shctx_ptr(struct cache *cache)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct cache_entry*
    constantsTouched: []
    func_position:
      end: 568
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 568
    functionName: block_ptr
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct shared_block
    signature: '*block_ptr(struct cache_entry *entry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 577
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 577
    functionName: cache_store_init
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: cache_store_init(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/cache.c:585,1
    - Dst: free
      Src: /src/haproxy/src/cache.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 587
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 587
    functionName: cache_store_deinit
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: cache_store_deinit(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cache.c:602,1
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:603,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cache.c:607,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cache.c:608,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cache.c:619,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cache.c:623,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cache.c:624,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cache.c:636,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/cache.c:637,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - px
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 643
      start: 589
    functionDepth: 9
    functionLinenumber: 589
    functionLinenumberEnd: 643
    functionName: cache_store_check
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry
    - strcmp
    - proxy_type_str
    - ha_alert
    linkageType: ''
    returnType: int
    signature: cache_store_check(struct proxy *px, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/src/cache.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 660
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 660
    functionName: cache_store_strm_init
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - pool_alloc
    linkageType: ''
    returnType: int
    signature: cache_store_strm_init(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/cache.c:666,1
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:668,1
    - Dst: release_entry_unlocked
      Src: /src/haproxy/src/cache.c:680,1
    - Dst: shctx_wrlock
      Src: /src/haproxy/src/cache.c:682,1
    - Dst: shctx_row_reattach
      Src: /src/haproxy/src/cache.c:683,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/cache.c:684,1
    - Dst: pool_free
      Src: /src/haproxy/src/cache.c:687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - s
    - filter
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 690
      start: 662
    functionDepth: 3
    functionLinenumber: 662
    functionLinenumberEnd: 690
    functionName: cache_store_strm_deinit
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - shctx_row_reattach
    - shctx_wrunlock
    - FLT_CONF
    - pool_free
    - shctx_wrlock
    - shctx_ptr
    - release_entry_unlocked
    linkageType: ''
    returnType: void
    signature: cache_store_strm_deinit(struct stream *s, struct filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free
      Src: /src/haproxy/src/cache.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - s
    - filter
    - chn
    - an_bit
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    - unsigned
    constantsTouched: []
    func_position:
      end: 716
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 716
    functionName: cache_store_post_analyze
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - pool_free
    linkageType: ''
    returnType: int
    signature: "cache_store_post_analyze(struct stream *s, struct filter *filter,
      struct channel *chn,\n\t\t\t unsigned an_bit)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: register_data_filter
      Src: /src/haproxy/src/cache.c:727,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s
    - filter
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 729
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 729
    functionName: cache_store_http_headers
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - register_data_filter
    linkageType: ''
    returnType: int
    signature: cache_store_http_headers(struct stream *s, struct filter *filter, struct
      http_msg *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: release_entry_unlocked
      Src: /src/haproxy/src/cache.c:739,1
    - Dst: shctx_wrlock
      Src: /src/haproxy/src/cache.c:740,1
    - Dst: shctx_row_reattach
      Src: /src/haproxy/src/cache.c:741,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/cache.c:742,1
    - Dst: pool_free
      Src: /src/haproxy/src/cache.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - st
    - filter
    - shctx
    argTypes:
    - struct cache_st*
    - struct filter*
    - struct shared_context*
    constantsTouched: []
    func_position:
      end: 744
      start: 731
    functionDepth: 3
    functionLinenumber: 731
    functionLinenumberEnd: 744
    functionName: disable_cache_entry
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - shctx_row_reattach
    - shctx_wrunlock
    - pool_free
    - shctx_wrlock
    - release_entry_unlocked
    linkageType: ''
    returnType: void
    signature: "disable_cache_entry(struct cache_st *st,\n                                       struct
      filter *filter, struct shared_context *shctx)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/cache.c:750,1
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:751,1
    - Dst: htxbuf
      Src: /src/haproxy/src/cache.c:753,1
    - Dst: unregister_data_filter
      Src: /src/haproxy/src/cache.c:765,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/cache.c:769,1
    - Dst: htx_find_offset
      Src: /src/haproxy/src/cache.c:773,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/src/cache.c:776,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/cache.c:777,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/src/cache.c:786,1
    - Dst: istadv
      Src: /src/haproxy/src/cache.c:787,1
    - Dst: isttrim
      Src: /src/haproxy/src/cache.c:788,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/cache.c:791,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/cache.c:792,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/cache.c:806,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/cache.c:807,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/cache.c:807,1
    - Dst: shctx_row_reserve_hot
      Src: /src/haproxy/src/cache.c:818,1
    - Dst: ASSUME_NONNULL
      Src: /src/haproxy/src/cache.c:823,1
    - Dst: shctx_row_data_append
      Src: /src/haproxy/src/cache.c:824,1
    - Dst: b_head
      Src: /src/haproxy/src/cache.c:825,1
    - Dst: b_data
      Src: /src/haproxy/src/cache.c:825,1
    - Dst: disable_cache_entry
      Src: /src/haproxy/src/cache.c:832,1
    - Dst: unregister_data_filter
      Src: /src/haproxy/src/cache.c:833,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 5
    argNames:
    - s
    - filter
    - msg
    - offset
    - len
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 835
      start: 746
    functionDepth: 4
    functionLinenumber: 746
    functionLinenumberEnd: 835
    functionName: cache_store_http_payload
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - FLT_CONF
    - htx_get_blk_ptr
    - chunk_memcat
    - b_head
    - istadv
    - htx_get_blk_value
    - ASSUME_NONNULL
    - shctx_row_reserve_hot
    - htx_get_next_blk
    - unregister_data_filter
    - shctx_ptr
    - htx_find_offset
    - htxbuf
    - htx_get_blk_type
    - b_data
    - disable_cache_entry
    - chunk_istcat
    - shctx_row_data_append
    - isttrim
    linkageType: ''
    returnType: int
    signature: "cache_store_http_payload(struct stream *s, struct filter *filter,
      struct http_msg *msg,\n\t\t\t unsigned int offset, unsigned int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CONF
      Src: /src/haproxy/src/cache.c:842,1
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:844,1
    - Dst: shctx_wrlock
      Src: /src/haproxy/src/cache.c:854,1
    - Dst: shctx_row_reattach
      Src: /src/haproxy/src/cache.c:858,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/cache.c:859,1
    - Dst: pool_free
      Src: /src/haproxy/src/cache.c:863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - s
    - filter
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 868
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 868
    functionName: cache_store_http_end
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - shctx_row_reattach
    - shctx_wrunlock
    - FLT_CONF
    - pool_free
    - shctx_wrlock
    - shctx_ptr
    linkageType: ''
    returnType: int
    signature: "cache_store_http_end(struct stream *s, struct filter *filter,\n                     struct
      http_msg *msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - sample
    - slen
    - word
    - wlen
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 906
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 906
    functionName: directive_value
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*directive_value(const char *sample, int slen, const char *word, int
      wlen)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/cache.c:924,1
    - Dst: http_find_header
      Src: /src/haproxy/src/cache.c:938,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:938,1
    - Dst: directive_value
      Src: /src/haproxy/src/cache.c:941,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/cache.c:943,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/cache.c:945,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/cache.c:946,1
    - Dst: strtol
      Src: /src/haproxy/src/cache.c:948,1
    - Dst: unlikely
      Src: /src/haproxy/src/cache.c:949,1
    - Dst: directive_value
      Src: /src/haproxy/src/cache.c:953,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/cache.c:955,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/cache.c:957,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/cache.c:958,1
    - Dst: strtol
      Src: /src/haproxy/src/cache.c:960,1
    - Dst: unlikely
      Src: /src/haproxy/src/cache.c:961,1
    - Dst: http_find_header
      Src: /src/haproxy/src/cache.c:970,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:970,1
    - Dst: parse_http_date
      Src: /src/haproxy/src/cache.c:971,1
    - Dst: istptr
      Src: /src/haproxy/src/cache.c:971,1
    - Dst: istlen
      Src: /src/haproxy/src/cache.c:971,1
    - Dst: my_timegm
      Src: /src/haproxy/src/cache.c:972,1
    - Dst: MIN
      Src: /src/haproxy/src/cache.c:993,1
    - Dst: MIN
      Src: /src/haproxy/src/cache.c:999,1
    - Dst: MIN
      Src: /src/haproxy/src/cache.c:1005,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - s
    - cache
    - true_maxage
    argTypes:
    - struct stream*
    - struct cache*
    - int*
    constantsTouched: []
    func_position:
      end: 1010
      start: 922
    functionDepth: 5
    functionLinenumber: 922
    functionLinenumberEnd: 1010
    functionName: http_calc_maxage
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - my_timegm
    - istlen
    - chunk_memcat
    - ist
    - htxbuf
    - istptr
    - get_trash_chunk
    - strtol
    - MIN
    - directive_value
    - unlikely
    - parse_http_date
    - http_find_header
    linkageType: ''
    returnType: int
    signature: http_calc_maxage(struct stream *s, struct cache *cache, int *true_maxage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: retain_entry
      Src: /src/haproxy/src/cache.c:1022,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/cache.c:1023,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/cache.c:1024,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/cache.c:1025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - first
    - data
    argTypes:
    - struct shared_block*
    - void*
    constantsTouched: []
    func_position:
      end: 1027
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1027
    functionName: cache_free_blocks
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - LIST_INSERT
    - HA_SPIN_UNLOCK
    - retain_entry
    linkageType: ''
    returnType: void
    signature: cache_free_blocks(struct shared_block *first, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cache_wrlock
      Src: /src/haproxy/src/cache.c:1039,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/cache.c:1040,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/cache.c:1042,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/cache.c:1043,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cache.c:1056,1
    - Dst: delete_entry
      Src: /src/haproxy/src/cache.c:1057,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/cache.c:1060,1
    - Dst: cache_wrunlock
      Src: /src/haproxy/src/cache.c:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - shctx
    argTypes:
    - struct shared_context*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1063
    functionName: cache_reserve_finish
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - list_for_each_entry_safe
    - LIST_DELETE
    - delete_entry
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - cache_wrunlock
    - cache_wrlock
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: cache_reserve_finish(struct shared_context *shctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_find_header
      Src: /src/haproxy/src/cache.c:1076,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:1076,1
    - Dst: parse_http_date
      Src: /src/haproxy/src/cache.c:1077,1
    - Dst: istptr
      Src: /src/haproxy/src/cache.c:1077,1
    - Dst: istlen
      Src: /src/haproxy/src/cache.c:1077,1
    - Dst: my_timegm
      Src: /src/haproxy/src/cache.c:1078,1
    - Dst: http_find_header
      Src: /src/haproxy/src/cache.c:1084,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:1084,1
    - Dst: parse_http_date
      Src: /src/haproxy/src/cache.c:1085,1
    - Dst: istptr
      Src: /src/haproxy/src/cache.c:1085,1
    - Dst: istlen
      Src: /src/haproxy/src/cache.c:1085,1
    - Dst: my_timegm
      Src: /src/haproxy/src/cache.c:1086,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1070
    functionDepth: 5
    functionLinenumber: 1070
    functionLinenumberEnd: 1097
    functionName: get_last_modified_time
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - my_timegm
    - istlen
    - ist
    - istptr
    - parse_http_date
    - http_find_header
    linkageType: ''
    returnType: time_t
    signature: get_last_modified_time(struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_find_header
      Src: /src/haproxy/src/cache.c:1117,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:1117,1
    - Dst: isteqi
      Src: /src/haproxy/src/cache.c:1120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - htx
    - vary_signature
    argTypes:
    - struct htx*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 1129
      start: 1105
    functionDepth: 3
    functionLinenumber: 1105
    functionLinenumberEnd: 1129
    functionName: http_check_vary_header
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - ist
    - isteqi
    - http_find_header
    linkageType: ''
    returnType: int
    signature: http_check_vary_header(struct htx *htx, unsigned int *vary_signature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_find_header
      Src: /src/haproxy/src/cache.c:1165,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:1165,1
    - Dst: parse_encoding_value
      Src: /src/haproxy/src/cache.c:1166,1
    - Dst: write_u32
      Src: /src/haproxy/src/cache.c:1176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - htx
    - vary_signature
    - secondary_key
    argTypes:
    - struct htx*
    - unsigned int
    - char*
    constantsTouched: []
    func_position:
      end: 1179
      start: 1140
    functionDepth: 3
    functionLinenumber: 1140
    functionLinenumberEnd: 1179
    functionName: set_secondary_key_encoding
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - write_u32
    - ist
    - parse_encoding_value
    - http_find_header
    linkageType: ''
    returnType: int
    signature: set_secondary_key_encoding(struct htx *htx, unsigned int vary_signature,
      char *secondary_key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:1197,1
    - Dst: obj_type
      Src: /src/haproxy/src/cache.c:1209,1
    - Dst: get_cache_tree_from_hash
      Src: /src/haproxy/src/cache.c:1218,1
    - Dst: read_u32
      Src: /src/haproxy/src/cache.c:1218,1
    - Dst: cache_wrlock
      Src: /src/haproxy/src/cache.c:1237,1
    - Dst: get_entry
      Src: /src/haproxy/src/cache.c:1239,1
    - Dst: release_entry_locked
      Src: /src/haproxy/src/cache.c:1241,1
    - Dst: cache_wrunlock
      Src: /src/haproxy/src/cache.c:1242,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cache.c:1257,1
    - Dst: FLT_ID
      Src: /src/haproxy/src/cache.c:1258,1
    - Dst: FLT_CONF
      Src: /src/haproxy/src/cache.c:1258,1
    - Dst: htxbuf
      Src: /src/haproxy/src/cache.c:1268,1
    - Dst: http_check_vary_header
      Src: /src/haproxy/src/cache.c:1281,1
    - Dst: http_request_reduce_secondary_key
      Src: /src/haproxy/src/cache.c:1288,1
    - Dst: http_find_header
      Src: /src/haproxy/src/cache.c:1291,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:1291,1
    - Dst: http_check_response_for_cacheability
      Src: /src/haproxy/src/cache.c:1295,1
    - Dst: cache_wrlock
      Src: /src/haproxy/src/cache.c:1300,1
    - Dst: get_entry
      Src: /src/haproxy/src/cache.c:1301,1
    - Dst: get_secondary_entry
      Src: /src/haproxy/src/cache.c:1304,1
    - Dst: cache_wrunlock
      Src: /src/haproxy/src/cache.c:1311,1
    - Dst: release_entry_locked
      Src: /src/haproxy/src/cache.c:1314,1
    - Dst: cache_wrunlock
      Src: /src/haproxy/src/cache.c:1317,1
    - Dst: shctx_row_reserve_hot
      Src: /src/haproxy/src/cache.c:1319,1
    - Dst: memset
      Src: /src/haproxy/src/cache.c:1328,1
    - Dst: memcpy
      Src: /src/haproxy/src/cache.c:1337,1
    - Dst: memcpy
      Src: /src/haproxy/src/cache.c:1339,1
    - Dst: cache_wrlock
      Src: /src/haproxy/src/cache.c:1341,1
    - Dst: insert_entry
      Src: /src/haproxy/src/cache.c:1343,1
    - Dst: cache_wrunlock
      Src: /src/haproxy/src/cache.c:1345,1
    - Dst: cache_wrunlock
      Src: /src/haproxy/src/cache.c:1348,1
    - Dst: http_calc_maxage
      Src: /src/haproxy/src/cache.c:1357,1
    - Dst: http_find_header
      Src: /src/haproxy/src/cache.c:1360,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:1360,1
    - Dst: strl2llrc
      Src: /src/haproxy/src/cache.c:1362,1
    - Dst: unlikely
      Src: /src/haproxy/src/cache.c:1363,1
    - Dst: unlikely
      Src: /src/haproxy/src/cache.c:1368,1
    - Dst: http_remove_header
      Src: /src/haproxy/src/cache.c:1373,1
    - Dst: get_last_modified_time
      Src: /src/haproxy/src/cache.c:1378,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/cache.c:1380,1
    - Dst: htx_get_first
      Src: /src/haproxy/src/cache.c:1381,1
    - Dst: htx_get_next
      Src: /src/haproxy/src/cache.c:1381,1
    - Dst: htx_get_blk
      Src: /src/haproxy/src/cache.c:1382,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/src/cache.c:1383,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/cache.c:1387,1
    - Dst: chunk_memcat
      Src: /src/haproxy/src/cache.c:1388,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/cache.c:1388,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/src/cache.c:1395,1
    - Dst: isteq
      Src: /src/haproxy/src/cache.c:1396,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:1396,1
    - Dst: istlen
      Src: /src/haproxy/src/cache.c:1397,1
    - Dst: b_data
      Src: /src/haproxy/src/cache.c:1398,1
    - Dst: istlen
      Src: /src/haproxy/src/cache.c:1398,1
    - Dst: set_secondary_key_encoding
      Src: /src/haproxy/src/cache.c:1416,1
    - Dst: shctx_row_reserve_hot
      Src: /src/haproxy/src/cache.c:1419,1
    - Dst: shctx_row_data_append
      Src: /src/haproxy/src/cache.c:1430,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/cache.c:1436,1
    - Dst: release_entry_unlocked
      Src: /src/haproxy/src/cache.c:1448,1
    - Dst: shctx_wrlock
      Src: /src/haproxy/src/cache.c:1450,1
    - Dst: shctx_row_reattach
      Src: /src/haproxy/src/cache.c:1451,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/cache.c:1452,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 168
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 1456
      start: 1186
    functionDepth: 6
    functionLinenumber: 1186
    functionLinenumberEnd: 1456
    functionName: http_action_store_cache
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - strl2llrc
    - chunk_reset
    - FLT_CONF
    - htx_get_blk_ptr
    - chunk_memcat
    - http_calc_maxage
    - ist
    - http_request_reduce_secondary_key
    - memset
    - shctx_row_reserve_hot
    - htx_get_first
    - shctx_wrunlock
    - insert_entry
    - get_last_modified_time
    - list_for_each_entry
    - istlen
    - isteq
    - get_cache_tree_from_hash
    - htx_get_blk
    - get_secondary_entry
    - cache_wrunlock
    - shctx_ptr
    - FLT_ID
    - release_entry_locked
    - shctx_row_reattach
    - htx_get_next
    - read_u32
    - htxbuf
    - http_remove_header
    - htx_get_blk_type
    - obj_type
    - LIST_INIT
    - b_data
    - shctx_wrlock
    - release_entry_unlocked
    - shctx_row_data_append
    - htx_get_blk_name
    - set_secondary_key_encoding
    - unlikely
    - get_entry
    - http_check_vary_header
    - http_check_response_for_cacheability
    - cache_wrlock
    - memcpy
    - http_find_header
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_store_cache(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\tstruct
      session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:1470,1
    - Dst: block_ptr
      Src: /src/haproxy/src/cache.c:1471,1
    - Dst: release_entry
      Src: /src/haproxy/src/cache.c:1473,1
    - Dst: shctx_wrlock
      Src: /src/haproxy/src/cache.c:1475,1
    - Dst: shctx_row_reattach
      Src: /src/haproxy/src/cache.c:1476,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/cache.c:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1478
      start: 1464
    functionDepth: 2
    functionLinenumber: 1464
    functionLinenumberEnd: 1478
    functionName: http_cache_applet_release
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - shctx_row_reattach
    - shctx_wrunlock
    - release_entry
    - shctx_wrlock
    - shctx_ptr
    - block_ptr
    linkageType: ''
    returnType: void
    signature: http_cache_applet_release(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:1486,1
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/cache.c:1492,1
    - Dst: htx_add_blk
      Src: /src/haproxy/src/cache.c:1501,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/src/cache.c:1507,1
    - Dst: MIN
      Src: /src/haproxy/src/cache.c:1509,1
    - Dst: memcpy
      Src: /src/haproxy/src/cache.c:1510,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/cache.c:1516,1
    - Dst: typeof
      Src: /src/haproxy/src/cache.c:1516,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - appctx
    - htx
    - type
    - info
    - shblk
    - offset
    argTypes:
    - struct appctx*
    - struct htx*
    - enum htx_blk_type
    - uint32_t
    - struct shared_block*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1524
      start: 1481
    functionDepth: 5
    functionLinenumber: 1481
    functionLinenumberEnd: 1524
    functionName: htx_cache_dump_blk
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - htx_free_data_space
    - LIST_NEXT
    - htx_get_blk_ptr
    - htx_add_blk
    - typeof
    - shctx_ptr
    - MIN
    - memcpy
    linkageType: ''
    returnType: unsigned int
    signature: "htx_cache_dump_blk(struct appctx *appctx, struct htx *htx, enum htx_blk_type
      type,\n\t\t\t\t       uint32_t info, struct shared_block *shblk, unsigned int
      offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:1531,1
    - Dst: htx_free_data_space
      Src: /src/haproxy/src/cache.c:1535,1
    - Dst: MIN
      Src: /src/haproxy/src/cache.c:1557,1
    - Dst: htx_add_data
      Src: /src/haproxy/src/cache.c:1558,1
    - Dst: ist2
      Src: /src/haproxy/src/cache.c:1558,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/cache.c:1566,1
    - Dst: typeof
      Src: /src/haproxy/src/cache.c:1566,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 5
    argNames:
    - appctx
    - htx
    - info
    - shblk
    - offset
    argTypes:
    - struct appctx*
    - struct htx*
    - uint32_t
    - struct shared_block*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1577
      start: 1526
    functionDepth: 6
    functionLinenumber: 1526
    functionLinenumberEnd: 1577
    functionName: htx_cache_dump_data_blk
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - htx_free_data_space
    - LIST_NEXT
    - ist2
    - typeof
    - shctx_ptr
    - MIN
    - htx_add_data
    linkageType: ''
    returnType: unsigned int
    signature: "htx_cache_dump_data_blk(struct appctx *appctx, struct htx *htx,\n\t\t\t\t\t
      \   uint32_t info, struct shared_block *shblk, unsigned int offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:1584,1
    - Dst: MIN
      Src: /src/haproxy/src/cache.c:1602,1
    - Dst: memcpy
      Src: /src/haproxy/src/cache.c:1603,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/cache.c:1606,1
    - Dst: typeof
      Src: /src/haproxy/src/cache.c:1606,1
    - Dst: memcpy
      Src: /src/haproxy/src/cache.c:1607,1
    - Dst: htx_cache_dump_blk
      Src: /src/haproxy/src/cache.c:1614,1
    - Dst: htx_cache_dump_data_blk
      Src: /src/haproxy/src/cache.c:1617,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - appctx
    - htx
    - len
    - mark
    argTypes:
    - struct appctx*
    - struct htx*
    - unsigned int
    - enum htx_blk_type
    constantsTouched: []
    func_position:
      end: 1630
      start: 1579
    functionDepth: 7
    functionLinenumber: 1579
    functionLinenumberEnd: 1630
    functionName: htx_cache_dump_msg
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - LIST_NEXT
    - htx_cache_dump_blk
    - typeof
    - htx_cache_dump_data_blk
    - shctx_ptr
    - MIN
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "htx_cache_dump_msg(struct appctx *appctx, struct htx *htx, unsigned
      int len,\n\t\t\t\t enum htx_blk_type mark)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:1637,1
    - Dst: MIN
      Src: /src/haproxy/src/cache.c:1658,1
    - Dst: b_putblk
      Src: /src/haproxy/src/cache.c:1659,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/cache.c:1667,1
    - Dst: typeof
      Src: /src/haproxy/src/cache.c:1667,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 6
    argNames:
    - appctx
    - buf
    - len
    - info
    - shblk
    - offset
    argTypes:
    - struct appctx*
    - struct buffer*
    - unsigned int
    - uint32_t
    - struct shared_block*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1678
      start: 1632
    functionDepth: 1
    functionLinenumber: 1632
    functionLinenumberEnd: 1678
    functionName: ff_cache_dump_data_blk
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - b_putblk
    - LIST_NEXT
    - typeof
    - shctx_ptr
    - MIN
    linkageType: ''
    returnType: unsigned int
    signature: "ff_cache_dump_data_blk(struct appctx *appctx, struct buffer *buf,
      unsigned int len,\n\t\t\t\t\t   uint32_t info, struct shared_block *shblk, unsigned
      int offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_ptr
      Src: /src/haproxy/src/cache.c:1684,1
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:1686,1
    - Dst: MIN
      Src: /src/haproxy/src/cache.c:1704,1
    - Dst: memcpy
      Src: /src/haproxy/src/cache.c:1705,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/src/cache.c:1708,1
    - Dst: typeof
      Src: /src/haproxy/src/cache.c:1708,1
    - Dst: memcpy
      Src: /src/haproxy/src/cache.c:1709,1
    - Dst: ff_cache_dump_data_blk
      Src: /src/haproxy/src/cache.c:1717,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - appctx
    - buf
    - len
    argTypes:
    - struct appctx*
    - struct buffer*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1732
      start: 1680
    functionDepth: 2
    functionLinenumber: 1680
    functionLinenumberEnd: 1732
    functionName: ff_cache_dump_msg
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - ff_cache_dump_data_blk
    - LIST_NEXT
    - typeof
    - shctx_ptr
    - MIN
    - memcpy
    - block_ptr
    linkageType: ''
    returnType: size_t
    signature: ff_cache_dump_msg(struct appctx *appctx, struct buffer *buf, unsigned
      int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/cache.c:1741,1
    - Dst: MAX
      Src: /src/haproxy/src/cache.c:1742,1
    - Dst: unlikely
      Src: /src/haproxy/src/cache.c:1743,1
    - Dst: ultoa_o
      Src: /src/haproxy/src/cache.c:1745,1
    - Dst: b_head
      Src: /src/haproxy/src/cache.c:1745,1
    - Dst: b_size
      Src: /src/haproxy/src/cache.c:1745,1
    - Dst: b_set_data
      Src: /src/haproxy/src/cache.c:1746,1
    - Dst: b_head
      Src: /src/haproxy/src/cache.c:1746,1
    - Dst: http_add_header
      Src: /src/haproxy/src/cache.c:1747,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:1747,1
    - Dst: ist2
      Src: /src/haproxy/src/cache.c:1747,1
    - Dst: b_head
      Src: /src/haproxy/src/cache.c:1747,1
    - Dst: b_data
      Src: /src/haproxy/src/cache.c:1747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - appctx
    - htx
    argTypes:
    - struct appctx*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1750
      start: 1734
    functionDepth: 3
    functionLinenumber: 1734
    functionLinenumberEnd: 1750
    functionName: htx_cache_add_age_hdr
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - http_add_header
    - chunk_reset
    - ist2
    - MAX
    - ist
    - ultoa_o
    - b_head
    - b_set_data
    - b_data
    - b_size
    - unlikely
    linkageType: ''
    returnType: int
    signature: htx_cache_add_age_hdr(struct appctx *appctx, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_ptr
      Src: /src/haproxy/src/cache.c:1756,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cache.c:1759,1
    - Dst: ff_cache_dump_msg
      Src: /src/haproxy/src/cache.c:1761,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/cache.c:1764,1
    - Dst: applet_fl_clr
      Src: /src/haproxy/src/cache.c:1765,1
    - Dst: applet_set_eoi
      Src: /src/haproxy/src/cache.c:1767,1
    - Dst: applet_set_eos
      Src: /src/haproxy/src/cache.c:1768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - appctx
    - buf
    - count
    - flags
    argTypes:
    - struct appctx*
    - struct buffer*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1773
      start: 1752
    functionDepth: 3
    functionLinenumber: 1752
    functionLinenumberEnd: 1773
    functionName: http_cache_fastfwd
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - applet_fl_clr
    - applet_set_eoi
    - se_fl_clr
    - applet_set_eos
    - ff_cache_dump_msg
    - BUG_ON
    - block_ptr
    linkageType: ''
    returnType: size_t
    signature: http_cache_fastfwd(struct appctx *appctx, struct buffer *buf, size_t
      count, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: block_ptr
      Src: /src/haproxy/src/cache.c:1779,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/cache.c:1785,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/cache.c:1788,1
    - Dst: se_fl_test
      Src: /src/haproxy/src/cache.c:1788,1
    - Dst: appctx_get_buf
      Src: /src/haproxy/src/cache.c:1792,1
    - Dst: htx_is_empty
      Src: /src/haproxy/src/cache.c:1792,1
    - Dst: htxbuf
      Src: /src/haproxy/src/cache.c:1792,1
    - Dst: block_ptr
      Src: /src/haproxy/src/cache.c:1795,1
    - Dst: appctx_get_buf
      Src: /src/haproxy/src/cache.c:1802,1
    - Dst: unlikely
      Src: /src/haproxy/src/cache.c:1806,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/cache.c:1806,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/cache.c:1810,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/cache.c:1813,1
    - Dst: unlikely
      Src: /src/haproxy/src/cache.c:1818,1
    - Dst: applet_fl_test
      Src: /src/haproxy/src/cache.c:1818,1
    - Dst: htx_cache_dump_msg
      Src: /src/haproxy/src/cache.c:1823,1
    - Dst: htx_get_tail_type
      Src: /src/haproxy/src/cache.c:1824,1
    - Dst: htx_cache_add_age_hdr
      Src: /src/haproxy/src/cache.c:1825,1
    - Dst: http_replace_res_status
      Src: /src/haproxy/src/cache.c:1831,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:1831,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:1831,1
    - Dst: htx_sl_req_meth
      Src: /src/haproxy/src/cache.c:1839,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/cache.c:1839,1
    - Dst: htxbuf
      Src: /src/haproxy/src/cache.c:1839,1
    - Dst: find_http_meth
      Src: /src/haproxy/src/cache.c:1840,1
    - Dst: istptr
      Src: /src/haproxy/src/cache.c:1840,1
    - Dst: istlen
      Src: /src/haproxy/src/cache.c:1840,1
    - Dst: se_fl_set
      Src: /src/haproxy/src/cache.c:1844,1
    - Dst: htx_cache_dump_msg
      Src: /src/haproxy/src/cache.c:1854,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/cache.c:1856,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/cache.c:1860,1
    - Dst: applet_set_eoi
      Src: /src/haproxy/src/cache.c:1867,1
    - Dst: se_fl_clr
      Src: /src/haproxy/src/cache.c:1868,1
    - Dst: applet_fl_clr
      Src: /src/haproxy/src/cache.c:1869,1
    - Dst: applet_set_eos
      Src: /src/haproxy/src/cache.c:1875,1
    - Dst: htx_to_buf
      Src: /src/haproxy/src/cache.c:1880,1
    - Dst: b_reset
      Src: /src/haproxy/src/cache.c:1884,1
    - Dst: applet_fl_clr
      Src: /src/haproxy/src/cache.c:1885,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/src/cache.c:1891,1
    - Dst: b_reset
      Src: /src/haproxy/src/cache.c:1896,1
    - Dst: b_data
      Src: /src/haproxy/src/cache.c:1898,1
    - Dst: memcpy
      Src: /src/haproxy/src/cache.c:1899,1
    - Dst: b_head
      Src: /src/haproxy/src/cache.c:1899,1
    - Dst: b_data
      Src: /src/haproxy/src/cache.c:1899,1
    - Dst: htx_from_buf
      Src: /src/haproxy/src/cache.c:1900,1
    - Dst: applet_set_eos
      Src: /src/haproxy/src/cache.c:1902,1
    - Dst: applet_set_error
      Src: /src/haproxy/src/cache.c:1903,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 102
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1906
      start: 1775
    functionDepth: 8
    functionLinenumber: 1775
    functionLinenumberEnd: 1906
    functionName: http_cache_io_handler
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - applet_fl_clr
    - applet_set_eoi
    - htx_cache_add_age_hdr
    - http_replace_res_status
    - ist
    - applet_set_eos
    - b_head
    - htx_cache_dump_msg
    - applet_need_more_data
    - appctx_get_buf
    - http_get_stline
    - htx_to_buf
    - applet_set_error
    - BUG_ON
    - se_fl_test
    - htx_from_buf
    - istlen
    - htx_get_tail_type
    - b_reset
    - htx_is_empty
    - htxbuf
    - b_data
    - applet_fl_test
    - block_ptr
    - se_fl_clr
    - htx_sl_req_meth
    - istptr
    - applet_fl_set
    - find_http_meth
    - se_fl_set
    - unlikely
    - memcpy
    linkageType: ''
    returnType: void
    signature: http_cache_io_handler(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:1914,1
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:1914,1
    - Dst: memprintf
      Src: /src/haproxy/src/cache.c:1915,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cache.c:1921,1
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:1924,1
    - Dst: calloc
      Src: /src/haproxy/src/cache.c:1932,1
    - Dst: memprintf
      Src: /src/haproxy/src/cache.c:1934,1
    - Dst: strdup
      Src: /src/haproxy/src/cache.c:1938,1
    - Dst: memprintf
      Src: /src/haproxy/src/cache.c:1940,1
    - Dst: calloc
      Src: /src/haproxy/src/cache.c:1945,1
    - Dst: memprintf
      Src: /src/haproxy/src/cache.c:1947,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cache.c:1953,1
    - Dst: free
      Src: /src/haproxy/src/cache.c:1959,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - proxy
    - name
    - rule
    - err
    argTypes:
    - struct proxy*
    - char*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 1961
      start: 1909
    functionDepth: 5
    functionLinenumber: 1909
    functionLinenumberEnd: 1961
    functionName: parse_cache_rule
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - memprintf
    - list_for_each_entry
    - strcmp
    - calloc
    - LIST_APPEND
    - strdup
    - free
    linkageType: ''
    returnType: int
    signature: parse_cache_rule(struct proxy *proxy, const char *name, struct act_rule
      *rule, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_cache_rule
      Src: /src/haproxy/src/cache.c:1969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - args
    - orig_arg
    - proxy
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 1974
      start: 1963
    functionDepth: 6
    functionLinenumber: 1963
    functionLinenumberEnd: 1974
    functionName: parse_cache_store
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - parse_cache_rule
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_cache_store(const char **args, int *orig_arg, struct proxy *proxy,\n
      \                                         struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/cache.c:1982,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/cache.c:1989,1
    - Dst: http_get_stline
      Src: /src/haproxy/src/cache.c:1992,1
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/src/cache.c:1993,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/cache.c:2010,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:2010,1
    - Dst: http_find_header
      Src: /src/haproxy/src/cache.c:2011,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:2011,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/cache.c:2013,1
    - Dst: chunk_istcat
      Src: /src/haproxy/src/cache.c:2016,1
    - Dst: blk_SHA1_Init
      Src: /src/haproxy/src/cache.c:2019,1
    - Dst: blk_SHA1_Update
      Src: /src/haproxy/src/cache.c:2020,1
    - Dst: blk_SHA1_Final
      Src: /src/haproxy/src/cache.c:2021,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2024
      start: 1979
    functionDepth: 3
    functionLinenumber: 1979
    functionLinenumberEnd: 2024
    functionName: sha1_hosturi
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - chunk_istcat
    - htx_sl_req_uri
    - blk_SHA1_Final
    - ist
    - htxbuf
    - get_trash_chunk
    - blk_SHA1_Update
    - blk_SHA1_Init
    - http_get_stline
    - http_find_header
    linkageType: ''
    returnType: int
    signature: sha1_hosturi(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_find_header
      Src: /src/haproxy/src/cache.c:2056,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:2056,1
    - Dst: isteq
      Src: /src/haproxy/src/cache.c:2060,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:2060,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/src/cache.c:2071,1
    - Dst: shctx_row_data_get
      Src: /src/haproxy/src/cache.c:2073,1
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:2073,1
    - Dst: block_ptr
      Src: /src/haproxy/src/cache.c:2073,1
    - Dst: b_orig
      Src: /src/haproxy/src/cache.c:2074,1
    - Dst: ist2
      Src: /src/haproxy/src/cache.c:2076,1
    - Dst: b_orig
      Src: /src/haproxy/src/cache.c:2076,1
    - Dst: http_compare_etags
      Src: /src/haproxy/src/cache.c:2084,1
    - Dst: http_find_header
      Src: /src/haproxy/src/cache.c:2094,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:2094,1
    - Dst: parse_http_date
      Src: /src/haproxy/src/cache.c:2095,1
    - Dst: istptr
      Src: /src/haproxy/src/cache.c:2095,1
    - Dst: istlen
      Src: /src/haproxy/src/cache.c:2095,1
    - Dst: my_timegm
      Src: /src/haproxy/src/cache.c:2096,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - cache
    - htx
    - entry
    argTypes:
    - struct cache*
    - struct htx*
    - struct cache_entry*
    constantsTouched: []
    func_position:
      end: 2108
      start: 2040
    functionDepth: 5
    functionLinenumber: 2040
    functionLinenumberEnd: 2108
    functionName: should_send_notmodified_response
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - shctx_row_data_get
    - my_timegm
    - istlen
    - ist2
    - isteq
    - ist
    - http_compare_etags
    - istptr
    - get_trash_chunk
    - shctx_ptr
    - parse_http_date
    - b_orig
    - http_find_header
    - block_ptr
    linkageType: ''
    returnType: int
    signature: "should_send_notmodified_response(struct cache *cache, struct htx *htx,\n
      \                                           struct cache_entry *entry)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:2118,1
    - Dst: http_check_request_for_cacheability
      Src: /src/haproxy/src/cache.c:2129,1
    - Dst: sha1_hosturi
      Src: /src/haproxy/src/cache.c:2135,1
    - Dst: strm_fe
      Src: /src/haproxy/src/cache.c:2141,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/cache.c:2142,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/cache.c:2144,1
    - Dst: get_cache_tree_from_hash
      Src: /src/haproxy/src/cache.c:2146,1
    - Dst: read_u32
      Src: /src/haproxy/src/cache.c:2146,1
    - Dst: cache_rdlock
      Src: /src/haproxy/src/cache.c:2151,1
    - Dst: get_entry
      Src: /src/haproxy/src/cache.c:2152,1
    - Dst: retain_entry
      Src: /src/haproxy/src/cache.c:2160,1
    - Dst: block_ptr
      Src: /src/haproxy/src/cache.c:2162,1
    - Dst: shctx_wrlock
      Src: /src/haproxy/src/cache.c:2163,1
    - Dst: shctx_row_detach
      Src: /src/haproxy/src/cache.c:2165,1
    - Dst: release_entry
      Src: /src/haproxy/src/cache.c:2168,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/cache.c:2171,1
    - Dst: cache_rdunlock
      Src: /src/haproxy/src/cache.c:2172,1
    - Dst: http_request_build_secondary_key
      Src: /src/haproxy/src/cache.c:2178,1
    - Dst: cache_rdlock
      Src: /src/haproxy/src/cache.c:2179,1
    - Dst: get_secondary_entry
      Src: /src/haproxy/src/cache.c:2180,1
    - Dst: release_entry
      Src: /src/haproxy/src/cache.c:2184,1
    - Dst: retain_entry
      Src: /src/haproxy/src/cache.c:2185,1
    - Dst: shctx_wrlock
      Src: /src/haproxy/src/cache.c:2186,1
    - Dst: shctx_row_reattach
      Src: /src/haproxy/src/cache.c:2188,1
    - Dst: block_ptr
      Src: /src/haproxy/src/cache.c:2189,1
    - Dst: shctx_row_detach
      Src: /src/haproxy/src/cache.c:2190,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/cache.c:2191,1
    - Dst: cache_rdunlock
      Src: /src/haproxy/src/cache.c:2194,1
    - Dst: release_entry
      Src: /src/haproxy/src/cache.c:2197,1
    - Dst: shctx_wrlock
      Src: /src/haproxy/src/cache.c:2200,1
    - Dst: shctx_row_reattach
      Src: /src/haproxy/src/cache.c:2201,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/cache.c:2202,1
    - Dst: release_entry
      Src: /src/haproxy/src/cache.c:2213,1
    - Dst: sc_applet_create
      Src: /src/haproxy/src/cache.c:2218,1
    - Dst: objt_applet
      Src: /src/haproxy/src/cache.c:2218,1
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/cache.c:2219,1
    - Dst: should_send_notmodified_response
      Src: /src/haproxy/src/cache.c:2228,1
    - Dst: htxbuf
      Src: /src/haproxy/src/cache.c:2228,1
    - Dst: strm_fe
      Src: /src/haproxy/src/cache.c:2230,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/cache.c:2231,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/cache.c:2233,1
    - Dst: release_entry
      Src: /src/haproxy/src/cache.c:2237,1
    - Dst: shctx_wrlock
      Src: /src/haproxy/src/cache.c:2238,1
    - Dst: shctx_row_reattach
      Src: /src/haproxy/src/cache.c:2239,1
    - Dst: shctx_wrunlock
      Src: /src/haproxy/src/cache.c:2240,1
    - Dst: cache_rdunlock
      Src: /src/haproxy/src/cache.c:2244,1
    - Dst: http_request_prebuild_full_secondary_key
      Src: /src/haproxy/src/cache.c:2251,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 87
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2254
      start: 2110
    functionDepth: 6
    functionLinenumber: 2110
    functionLinenumberEnd: 2254
    functionName: http_action_req_cache_use
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - http_request_build_secondary_key
    - release_entry
    - strm_fe
    - cache_rdunlock
    - applet_reserve_svcctx
    - shctx_wrunlock
    - get_cache_tree_from_hash
    - sha1_hosturi
    - objt_applet
    - get_secondary_entry
    - shctx_ptr
    - should_send_notmodified_response
    - shctx_row_reattach
    - read_u32
    - _HA_ATOMIC_INC
    - htxbuf
    - http_request_prebuild_full_secondary_key
    - http_check_request_for_cacheability
    - shctx_wrlock
    - retain_entry
    - block_ptr
    - sc_applet_create
    - get_entry
    - cache_rdlock
    - shctx_row_detach
    linkageType: ''
    returnType: enum act_return
    signature: "http_action_req_cache_use(struct act_rule *rule, struct proxy *px,\n
      \                                        struct session *sess, struct stream
      *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_cache_rule
      Src: /src/haproxy/src/cache.c:2263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - args
    - orig_arg
    - proxy
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 2268
      start: 2257
    functionDepth: 6
    functionLinenumber: 2257
    functionLinenumberEnd: 2268
    functionName: parse_cache_use
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - parse_cache_rule
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "parse_cache_use(const char **args, int *orig_arg, struct proxy *proxy,\n
      \                                         struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:2274,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cache.c:2277,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cache.c:2283,1
    - Dst: calloc
      Src: /src/haproxy/src/cache.c:2291,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cache.c:2293,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/cache.c:2298,1
    - Dst: strlen
      Src: /src/haproxy/src/cache.c:2299,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cache.c:2300,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cache.c:2305,1
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:2306,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cache.c:2307,1
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:2319,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cache.c:2323,1
    - Dst: strtoul
      Src: /src/haproxy/src/cache.c:2328,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cache.c:2330,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cache.c:2337,1
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:2346,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cache.c:2347,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cache.c:2353,1
    - Dst: atoi
      Src: /src/haproxy/src/cache.c:2358,1
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:2359,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cache.c:2363,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cache.c:2369,1
    - Dst: strtoul
      Src: /src/haproxy/src/cache.c:2374,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cache.c:2376,1
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:2382,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cache.c:2383,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cache.c:2389,1
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:2393,1
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:2395,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cache.c:2398,1
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:2402,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/src/cache.c:2406,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cache.c:2412,1
    - Dst: strtoul
      Src: /src/haproxy/src/cache.c:2417,1
    - Dst: ha_warning
      Src: /src/haproxy/src/cache.c:2419,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cache.c:2427,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 139
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 2433
      start: 2270
    functionDepth: 9
    functionLinenumber: 2270
    functionLinenumberEnd: 2433
    functionName: cfg_parse_cache
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strlcpy2
    - atoi
    - ha_warning
    - strcmp
    - calloc
    - strlen
    - list_for_each_entry
    - alertif_too_many_args
    - strtoul
    linkageType: ''
    returnType: int
    signature: cfg_parse_cache(const char *file, int linenum, char **args, int kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/src/cache.c:2444,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cache.c:2455,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cache.c:2463,1
    - Dst: ha_free
      Src: /src/haproxy/src/cache.c:2468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2437
    functionDepth: 9
    functionLinenumber: 2437
    functionLinenumberEnd: 2471
    functionName: cfg_post_parse_section_cache
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - LIST_APPEND
    - ha_free
    linkageType: ''
    returnType: int
    signature: cfg_post_parse_section_cache()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/cache.c:2482,1
    - Dst: shctx_init
      Src: /src/haproxy/src/cache.c:2484,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cache.c:2489,1
    - Dst: ha_alert
      Src: /src/haproxy/src/cache.c:2491,1
    - Dst: memcpy
      Src: /src/haproxy/src/cache.c:2502,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/cache.c:2504,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/cache.c:2505,1
    - Dst: free
      Src: /src/haproxy/src/cache.c:2506,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/cache.c:2509,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/cache.c:2511,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/src/cache.c:2512,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/cache.c:2522,1
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:2527,1
    - Dst: free
      Src: /src/haproxy/src/cache.c:2528,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2540
      start: 2473
    functionDepth: 9
    functionLinenumber: 2473
    functionLinenumberEnd: 2540
    functionName: post_check_cache
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - list_for_each_entry_safe
    - list_for_each_entry
    - HA_SPIN_INIT
    - LIST_APPEND
    - LIST_DELETE
    - strcmp
    - free
    - LIST_INIT
    - shctx_init
    - HA_RWLOCK_INIT
    - memcpy
    linkageType: ''
    returnType: int
    signature: post_check_cache()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/src/cache.c:2590,1
    - Dst: istnext
      Src: /src/haproxy/src/cache.c:2599,1
    - Dst: CHECK_ENCODING
      Src: /src/haproxy/src/cache.c:2600,1
    - Dst: istnext
      Src: /src/haproxy/src/cache.c:2603,1
    - Dst: CHECK_ENCODING
      Src: /src/haproxy/src/cache.c:2604,1
    - Dst: istnext
      Src: /src/haproxy/src/cache.c:2607,1
    - Dst: CHECK_ENCODING
      Src: /src/haproxy/src/cache.c:2608,1
    - Dst: istnext
      Src: /src/haproxy/src/cache.c:2611,1
    - Dst: CHECK_ENCODING
      Src: /src/haproxy/src/cache.c:2612,1
    - Dst: istnext
      Src: /src/haproxy/src/cache.c:2615,1
    - Dst: CHECK_ENCODING
      Src: /src/haproxy/src/cache.c:2616,1
    - Dst: istnext
      Src: /src/haproxy/src/cache.c:2619,1
    - Dst: CHECK_ENCODING
      Src: /src/haproxy/src/cache.c:2620,1
    - Dst: istnext
      Src: /src/haproxy/src/cache.c:2623,1
    - Dst: CHECK_ENCODING
      Src: /src/haproxy/src/cache.c:2624,1
    - Dst: istnext
      Src: /src/haproxy/src/cache.c:2627,1
    - Dst: CHECK_ENCODING
      Src: /src/haproxy/src/cache.c:2628,1
    - Dst: istnext
      Src: /src/haproxy/src/cache.c:2631,1
    - Dst: CHECK_ENCODING
      Src: /src/haproxy/src/cache.c:2632,1
    - Dst: CHECK_ENCODING
      Src: /src/haproxy/src/cache.c:2634,1
    - Dst: istnext
      Src: /src/haproxy/src/cache.c:2637,1
    - Dst: CHECK_ENCODING
      Src: /src/haproxy/src/cache.c:2638,1
    - Dst: istnext
      Src: /src/haproxy/src/cache.c:2641,1
    - Dst: http_trim_leading_spht
      Src: /src/haproxy/src/cache.c:2651,1
    - Dst: istlen
      Src: /src/haproxy/src/cache.c:2652,1
    - Dst: istnext
      Src: /src/haproxy/src/cache.c:2657,1
    - Dst: http_trim_leading_spht
      Src: /src/haproxy/src/cache.c:2659,1
    - Dst: isteq
      Src: /src/haproxy/src/cache.c:2661,1
    - Dst: ist
      Src: /src/haproxy/src/cache.c:2661,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 3
    argNames:
    - encoding
    - encoding_value
    - has_null_weight
    argTypes:
    - struct ist
    - unsigned int*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2667
      start: 2582
    functionDepth: 1
    functionLinenumber: 2582
    functionLinenumberEnd: 2667
    functionName: parse_encoding_value
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 1
    functionsReached:
    - istlen
    - isteq
    - ist
    - istnext
    - CHECK_ENCODING
    - http_trim_leading_spht
    linkageType: ''
    returnType: int
    signature: "parse_encoding_value(struct ist encoding, unsigned int *encoding_value,\n\t\t\t\tunsigned
      int *has_null_weight)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_find_header
      Src: /src/haproxy/src/cache.c:2698,1
    - Dst: istlen
      Src: /src/haproxy/src/cache.c:2709,1
    - Dst: ist2bin_lc
      Src: /src/haproxy/src/cache.c:2713,1
    - Dst: istptr
      Src: /src/haproxy/src/cache.c:2713,1
    - Dst: parse_encoding_value
      Src: /src/haproxy/src/cache.c:2716,1
    - Dst: write_u32
      Src: /src/haproxy/src/cache.c:2747,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - htx
    - hdr_name
    - buf
    - buf_len
    argTypes:
    - struct htx*
    - struct ist
    - char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2753
      start: 2682
    functionDepth: 3
    functionLinenumber: 2682
    functionLinenumberEnd: 2753
    functionName: accept_encoding_normalizer
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - istlen
    - istptr
    - parse_encoding_value
    - write_u32
    - ist2bin_lc
    - http_find_header
    linkageType: ''
    returnType: int
    signature: "accept_encoding_normalizer(struct htx *htx, struct ist hdr_name,\n\t\t\t\t
      \     char *buf, unsigned int *buf_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_find_header
      Src: /src/haproxy/src/cache.c:2770,1
    - Dst: write_u64
      Src: /src/haproxy/src/cache.c:2772,1
    - Dst: XXH3
      Src: /src/haproxy/src/cache.c:2772,1
    - Dst: istptr
      Src: /src/haproxy/src/cache.c:2772,1
    - Dst: istlen
      Src: /src/haproxy/src/cache.c:2772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - htx
    - hdr_name
    - buf
    - buf_len
    argTypes:
    - struct htx*
    - struct ist
    - char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 2777
      start: 2764
    functionDepth: 3
    functionLinenumber: 2764
    functionLinenumberEnd: 2777
    functionName: default_normalizer
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - istlen
    - write_u64
    - istptr
    - XXH3
    - http_find_header
    linkageType: ''
    returnType: int
    signature: "default_normalizer(struct htx *htx, struct ist hdr_name,\n\t\t\t      char
      *buf, unsigned int *buf_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ref
    - new
    - len
    argTypes:
    - void*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2804
      start: 2783
    functionDepth: 0
    functionLinenumber: 2783
    functionLinenumberEnd: 2804
    functionName: accept_encoding_bitmap_cmp
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: accept_encoding_bitmap_cmp(const void *ref, const void *new, unsigned
      int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: http_request_build_secondary_key
      Src: /src/haproxy/src/cache.c:2822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 2823
      start: 2818
    functionDepth: 1
    functionLinenumber: 2818
    functionLinenumberEnd: 2823
    functionName: http_request_prebuild_full_secondary_key
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 1
    functionsReached:
    - http_request_build_secondary_key
    linkageType: ''
    returnType: int
    signature: http_request_prebuild_full_secondary_key(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/src/cache.c:2839,1
    - Dst: struct vary_hashing_information*::norm_fn
      Src: /src/haproxy/src/cache.c:2854,1
    - Dst: memset
      Src: /src/haproxy/src/cache.c:2860,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - s
    - vary_signature
    argTypes:
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 2869
      start: 2836
    functionDepth: 1
    functionLinenumber: 2836
    functionLinenumberEnd: 2869
    functionName: http_request_build_secondary_key
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 2
    functionsReached:
    - memset
    - struct vary_hashing_information*::norm_fn
    - htxbuf
    linkageType: ''
    returnType: int
    signature: http_request_build_secondary_key(struct stream *s, int vary_signature)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - vary_signature
    - prebuilt_key
    argTypes:
    - unsigned int
    - char[]
    constantsTouched: []
    func_position:
      end: 2897
      start: 2876
    functionDepth: 0
    functionLinenumber: 2876
    functionLinenumberEnd: 2897
    functionName: http_request_reduce_secondary_key
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "http_request_reduce_secondary_key(unsigned int vary_signature,\n\t\t\t\t\t
      \    char prebuilt_key[HTTP_CACHE_SEC_KEY_LEN])"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/cache.c:2912,1
    - Dst: strdup
      Src: /src/haproxy/src/cache.c:2915,1
    - Dst: memprintf
      Src: /src/haproxy/src/cache.c:2917,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/cache.c:2924,1
    - Dst: strcmp
      Src: /src/haproxy/src/cache.c:2929,1
    - Dst: memprintf
      Src: /src/haproxy/src/cache.c:2936,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/cache.c:2942,1
    - Dst: free
      Src: /src/haproxy/src/cache.c:2943,1
    - Dst: free
      Src: /src/haproxy/src/cache.c:2944,1
    - Dst: calloc
      Src: /src/haproxy/src/cache.c:2950,1
    - Dst: memprintf
      Src: /src/haproxy/src/cache.c:2952,1
    - Dst: free
      Src: /src/haproxy/src/cache.c:2967,1
    - Dst: free
      Src: /src/haproxy/src/cache.c:2968,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - fconf
    - err
    - private
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct flt_conf*
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 2970
      start: 2901
    functionDepth: 5
    functionLinenumber: 2901
    functionLinenumberEnd: 2970
    functionName: parse_cache_flt
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - memprintf
    - list_for_each_entry_safe
    - strcmp
    - calloc
    - LIST_DELETE
    - strdup
    - free
    linkageType: ''
    returnType: int
    signature: "parse_cache_flt(char **args, int *cur_arg, struct proxy *px,\n\t\tstruct
      flt_conf *fconf, char **err, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/cache.c:2975,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/cache.c:2977,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/cache.c:2980,1
    - Dst: typeof
      Src: /src/haproxy/src/cache.c:2980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 2982
      start: 2973
    functionDepth: 2
    functionLinenumber: 2973
    functionLinenumberEnd: 2982
    functionName: cli_parse_show_cache
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - typeof
    - LIST_ELEM
    - applet_reserve_svcctx
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_show_cache(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/cache.c:2989,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/cache.c:2994,1
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:2999,1
    - Dst: shctx_rdlock
      Src: /src/haproxy/src/cache.c:3005,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/cache.c:3006,1
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:3006,1
    - Dst: shctx_ptr
      Src: /src/haproxy/src/cache.c:3006,1
    - Dst: shctx_rdunlock
      Src: /src/haproxy/src/cache.c:3007,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/cache.c:3008,1
    - Dst: cache_rdlock
      Src: /src/haproxy/src/cache.c:3022,1
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/src/cache.c:3025,1
    - Dst: container_of
      Src: /src/haproxy/src/cache.c:3031,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/cache.c:3035,1
    - Dst: read_u32
      Src: /src/haproxy/src/cache.c:3035,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cache.c:3037,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/cache.c:3038,1
    - Dst: block_ptr
      Src: /src/haproxy/src/cache.c:3039,1
    - Dst: block_ptr
      Src: /src/haproxy/src/cache.c:3039,1
    - Dst: block_ptr
      Src: /src/haproxy/src/cache.c:3040,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/cache.c:3045,1
    - Dst: cache_rdunlock
      Src: /src/haproxy/src/cache.c:3046,1
    - Dst: cache_rdunlock
      Src: /src/haproxy/src/cache.c:3050,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/cache.c:3054,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/cache.c:3058,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 3060
      start: 2985
    functionDepth: 2
    functionLinenumber: 2985
    functionLinenumberEnd: 3060
    functionName: cli_io_handler_show_cache
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - container_of
    - shctx_rdunlock
    - read_u32
    - chunk_printf
    - chunk_appendf
    - applet_putchk
    - free_trash_chunk
    - eb32_lookup_ge
    - cache_rdlock
    - shctx_rdlock
    - shctx_ptr
    - list_for_each_entry_from
    - block_ptr
    - cache_rdunlock
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_cache(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3074
      start: 3066
    functionDepth: 0
    functionLinenumber: 3066
    functionLinenumberEnd: 3074
    functionName: smp_fetch_res_cache_hit
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "smp_fetch_res_cache_hit(const struct arg *args, struct sample *smp,\n
      \                       const char *kw, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_appctx
      Src: /src/haproxy/src/cache.c:3092,1
    - Dst: strlen
      Src: /src/haproxy/src/cache.c:3101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 3107
      start: 3079
    functionDepth: 1
    functionLinenumber: 3079
    functionLinenumberEnd: 3107
    functionName: smp_fetch_res_cache_name
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - strlen
    - sc_appctx
    linkageType: ''
    returnType: int
    signature: "smp_fetch_res_cache_name(const struct arg *args, struct sample *smp,\n
      \                        const char *kw, void *private)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_random64
      Src: /src/haproxy/src/cache.c:3113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3114
      start: 3111
    functionDepth: 2
    functionLinenumber: 3111
    functionLinenumberEnd: 3114
    functionName: cache_init
    functionSourceFile: /src/haproxy/src/cache.c
    functionUses: 0
    functionsReached:
    - ha_random64
    linkageType: ''
    returnType: void
    signature: cache_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/frontend.c:52,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/frontend.c:57,1
    - Dst: log_orig_proxy
      Src: /src/haproxy/src/frontend.c:59,1
    - Dst: struct stream*::do_log
      Src: /src/haproxy/src/frontend.c:60,1
    - Dst: log_orig
      Src: /src/haproxy/src/frontend.c:60,1
    - Dst: likely
      Src: /src/haproxy/src/frontend.c:62,1
    - Dst: lf_expr_isempty
      Src: /src/haproxy/src/frontend.c:62,1
    - Dst: struct stream*::do_log
      Src: /src/haproxy/src/frontend.c:66,1
    - Dst: log_orig
      Src: /src/haproxy/src/frontend.c:66,1
    - Dst: sc_src
      Src: /src/haproxy/src/frontend.c:69,1
    - Dst: send_log
      Src: /src/haproxy/src/frontend.c:71,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/frontend.c:77,1
    - Dst: sc_dst
      Src: /src/haproxy/src/frontend.c:80,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/frontend.c:82,1
    - Dst: get_host_port
      Src: /src/haproxy/src/frontend.c:83,1
    - Dst: strlcpy2
      Src: /src/haproxy/src/frontend.c:85,1
    - Dst: send_log
      Src: /src/haproxy/src/frontend.c:88,1
    - Dst: get_host_port
      Src: /src/haproxy/src/frontend.c:89,1
    - Dst: send_log
      Src: /src/haproxy/src/frontend.c:97,1
    - Dst: unlikely
      Src: /src/haproxy/src/frontend.c:106,1
    - Dst: sc_conn
      Src: /src/haproxy/src/frontend.c:114,1
    - Dst: conn_get_alpn
      Src: /src/haproxy/src/frontend.c:115,1
    - Dst: memcpy
      Src: /src/haproxy/src/frontend.c:117,1
    - Dst: sc_src
      Src: /src/haproxy/src/frontend.c:122,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/frontend.c:124,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/frontend.c:128,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/frontend.c:131,1
    - Dst: get_host_port
      Src: /src/haproxy/src/frontend.c:133,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/frontend.c:139,1
    - Dst: DISGUISE
      Src: /src/haproxy/src/frontend.c:145,1
    - Dst: write
      Src: /src/haproxy/src/frontend.c:145,1
    - Dst: unlikely
      Src: /src/haproxy/src/frontend.c:151,1
    - Dst: pool_zalloc
      Src: /src/haproxy/src/frontend.c:152,1
    - Dst: unlikely
      Src: /src/haproxy/src/frontend.c:156,1
    - Dst: pool_zalloc
      Src: /src/haproxy/src/frontend.c:157,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/frontend.c:161,1
    - Dst: http_create_txn
      Src: /src/haproxy/src/frontend.c:161,1
    - Dst: pool_free
      Src: /src/haproxy/src/frontend.c:169,1
    - Dst: pool_free
      Src: /src/haproxy/src/frontend.c:171,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 86
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 174
      start: 48
    functionDepth: 10
    functionLinenumber: 48
    functionLinenumberEnd: 174
    functionName: frontend_accept
    functionSourceFile: /src/haproxy/src/frontend.c
    functionUses: 0
    functionsReached:
    - send_log
    - write
    - pool_zalloc
    - addr_to_str
    - objt_conn
    - likely
    - sc_src
    - http_create_txn
    - get_host_port
    - LIST_ISEMPTY
    - conn_get_alpn
    - log_orig_proxy
    - log_orig
    - lf_expr_isempty
    - struct stream*::do_log
    - sc_dst
    - chunk_printf
    - pool_free
    - sc_conn
    - DISGUISE
    - strlcpy2
    - IS_HTX_STRM
    - unlikely
    - memcpy
    linkageType: ''
    returnType: int
    signature: frontend_accept(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/frontend.c:189,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/src/frontend.c:197,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/src/frontend.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 201
    functionName: increment_actconn
    functionSourceFile: /src/haproxy/src/frontend.c
    functionUses: 2
    functionsReached:
    - __ha_cpu_relax
    - _HA_ATOMIC_CAS
    - unlikely
    linkageType: ''
    returnType: int
    signature: increment_actconn()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: smp_fetch_fe_id
    functionSourceFile: /src/haproxy/src/frontend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_fe_id(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/frontend.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: smp_fetch_fe_name
    functionSourceFile: /src/haproxy/src/frontend.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: smp_fetch_fe_name(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/frontend.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 245
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 245
    functionName: smp_fetch_fe_defbe
    functionSourceFile: /src/haproxy/src/frontend.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: smp_fetch_fe_defbe(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/frontend.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 265
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 265
    functionName: smp_fetch_fe_req_rate
    functionSourceFile: /src/haproxy/src/frontend.c
    functionUses: 0
    functionsReached:
    - read_freq_ctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_fe_req_rate(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_freq_ctr
      Src: /src/haproxy/src/frontend.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: smp_fetch_fe_sess_rate
    functionSourceFile: /src/haproxy/src/frontend.c
    functionUses: 0
    functionsReached:
    - read_freq_ctr
    linkageType: ''
    returnType: int
    signature: smp_fetch_fe_sess_rate(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 305
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 305
    functionName: smp_fetch_fe_conn
    functionSourceFile: /src/haproxy/src/frontend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_fe_conn(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/src/frontend.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - args
    - smp
    - km
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: smp_fetch_fe_client_timeout
    functionSourceFile: /src/haproxy/src/frontend.c
    functionUses: 0
    functionsReached:
    - TICKS_TO_MS
    linkageType: ''
    returnType: int
    signature: smp_fetch_fe_client_timeout(const struct arg *args, struct sample *smp,
      const char *km, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/quic_openssl_compat.c:43,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_openssl_compat.c:45,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_openssl_compat.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 9
    argNames:
    - ssl
    - ext_type
    - context
    - out
    - outlen
    - x
    - chainidx
    - al
    - add_arg
    argTypes:
    - SSL*
    - unsigned int
    - unsigned int
    - unsigned char**
    - size_t*
    - X509*
    - size_t
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: qc_ssl_compat_add_tps_cb
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: "qc_ssl_compat_add_tps_cb(SSL *ssl, unsigned int ext_type, unsigned
      int context,\n                                    const unsigned char **out,
      size_t *outlen,\n                                    X509 *x, size_t chainidx,
      int *al, void *add_arg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xprt_get
      Src: /src/haproxy/src/quic_openssl_compat.c:61,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/haproxy/src/quic_openssl_compat.c:68,1
    - Dst: SSL_CTX_has_client_custom_ext
      Src: /src/haproxy/src/quic_openssl_compat.c:70,1
    - Dst: SSL_CTX_add_custom_ext
      Src: /src/haproxy/src/quic_openssl_compat.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - bind_conf
    - ctx
    argTypes:
    - struct bind_conf*
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 80
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 80
    functionName: quic_tls_compat_init
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_add_custom_ext
    - SSL_CTX_set_keylog_callback
    - xprt_get
    - SSL_CTX_has_client_custom_ext
    linkageType: ''
    returnType: int
    signature: quic_tls_compat_init(struct bind_conf *bind_conf, SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_openssl_compat.c:91,1
    - Dst: tls_aead
      Src: /src/haproxy/src/quic_openssl_compat.c:97,1
    - Dst: EVP_CIPHER_key_length
      Src: /src/haproxy/src/quic_openssl_compat.c:101,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_openssl_compat.c:104,1
    - Dst: quic_hkdf_expand_label
      Src: /src/haproxy/src/quic_openssl_compat.c:108,1
    - Dst: tls_md
      Src: /src/haproxy/src/quic_openssl_compat.c:108,1
    - Dst: quic_hkdf_expand_label
      Src: /src/haproxy/src/quic_openssl_compat.c:113,1
    - Dst: tls_md
      Src: /src/haproxy/src/quic_openssl_compat.c:113,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_openssl_compat.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 6
    argNames:
    - qc
    - keys
    - level
    - cipher
    - secret
    - secret_len
    argTypes:
    - struct quic_conn*
    - struct quic_tls_compat_keys*
    - enum ssl_encryption_level_t
    - SSL_CIPHER*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 124
    functionName: quic_tls_compat_set_encryption_secret
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - EVP_CIPHER_key_length
    - tls_aead
    - quic_hkdf_expand_label
    - tls_md
    - memcpy
    linkageType: ''
    returnType: int
    signature: "quic_tls_compat_set_encryption_secret(struct quic_conn *qc,\n                                                 struct
      quic_tls_compat_keys *keys,\n                                                 enum
      ssl_encryption_level_t level,\n                                                 const
      SSL_CIPHER *cipher,\n                                                 const
      uint8_t *secret, size_t secret_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/quic_openssl_compat.c:138,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_openssl_compat.c:144,1
    - Dst: strncmp
      Src: /src/haproxy/src/quic_openssl_compat.c:151,1
    - Dst: strncmp
      Src: /src/haproxy/src/quic_openssl_compat.c:156,1
    - Dst: strncmp
      Src: /src/haproxy/src/quic_openssl_compat.c:161,1
    - Dst: strncmp
      Src: /src/haproxy/src/quic_openssl_compat.c:166,1
    - Dst: struct quic_openssl_compat*::method::set_encryption_secrets
      Src: /src/haproxy/src/quic_openssl_compat.c:212,1
    - Dst: SSL_get_current_cipher
      Src: /src/haproxy/src/quic_openssl_compat.c:218,1
    - Dst: SSL_CIPHER_get_id
      Src: /src/haproxy/src/quic_openssl_compat.c:223,1
    - Dst: quic_set_tls_alert
      Src: /src/haproxy/src/quic_openssl_compat.c:224,1
    - Dst: struct quic_openssl_compat*::method::set_encryption_secrets
      Src: /src/haproxy/src/quic_openssl_compat.c:228,1
    - Dst: quic_tls_compat_set_encryption_secret
      Src: /src/haproxy/src/quic_openssl_compat.c:231,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_openssl_compat.c:236,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 79
    argCount: 2
    argNames:
    - ssl
    - line
    argTypes:
    - SSL*
    - char*
    constantsTouched: []
    func_position:
      end: 237
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 237
    functionName: quic_tls_compat_keylog_callback
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 1
    functionsReached:
    - TRACE_LEAVE
    - strncmp
    - SSL_get_ex_data
    - TRACE_ENTER
    - SSL_get_current_cipher
    - quic_tls_compat_set_encryption_secret
    - struct quic_openssl_compat*::method::set_encryption_secrets
    - SSL_CIPHER_get_id
    - quic_set_tls_alert
    linkageType: ''
    returnType: void
    signature: quic_tls_compat_keylog_callback(const SSL *ssl, const char *line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_openssl_compat.c:246,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_openssl_compat.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - qc
    - rec
    - out
    - plain
    argTypes:
    - struct quic_conn*
    - struct quic_tls_compat_record*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 265
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 265
    functionName: quic_tls_compat_create_header
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    linkageType: ''
    returnType: size_t
    signature: "quic_tls_compat_create_header(struct quic_conn *qc,\n                                            struct
      quic_tls_compat_record *rec,\n                                            unsigned
      char *out, int plain)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - nonce
    - len
    - pn
    argTypes:
    - unsigned char*
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 277
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 277
    functionName: quic_tls_compute_nonce
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_tls_compute_nonce(unsigned char *nonce, size_t len, uint64_t pn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_openssl_compat.c:292,1
    - Dst: EVP_CIPHER_CTX_new
      Src: /src/haproxy/src/quic_openssl_compat.c:293,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/haproxy/src/quic_openssl_compat.c:301,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/haproxy/src/quic_openssl_compat.c:302,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/haproxy/src/quic_openssl_compat.c:304,1
    - Dst: EVP_EncryptInit_ex
      Src: /src/haproxy/src/quic_openssl_compat.c:305,1
    - Dst: EVP_EncryptUpdate
      Src: /src/haproxy/src/quic_openssl_compat.c:307,1
    - Dst: EVP_EncryptUpdate
      Src: /src/haproxy/src/quic_openssl_compat.c:308,1
    - Dst: EVP_EncryptUpdate
      Src: /src/haproxy/src/quic_openssl_compat.c:309,1
    - Dst: EVP_EncryptFinal_ex
      Src: /src/haproxy/src/quic_openssl_compat.c:310,1
    - Dst: EVP_CIPHER_CTX_ctrl
      Src: /src/haproxy/src/quic_openssl_compat.c:312,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/haproxy/src/quic_openssl_compat.c:320,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_openssl_compat.c:321,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 10
    argNames:
    - qc
    - cipher
    - s
    - out
    - outlen
    - nonce
    - in
    - inlen
    - ad
    - adlen
    argTypes:
    - struct quic_conn*
    - EVP_CIPHER*
    - struct quic_tls_secret*
    - unsigned char*
    - size_t*
    - unsigned char*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 323
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 323
    functionName: quic_tls_tls_seal
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 0
    functionsReached:
    - EVP_CIPHER_CTX_ctrl
    - TRACE_LEAVE
    - EVP_CIPHER_CTX_free
    - EVP_EncryptUpdate
    - TRACE_ENTER
    - EVP_CIPHER_CTX_new
    - EVP_EncryptFinal_ex
    - EVP_EncryptInit_ex
    linkageType: ''
    returnType: int
    signature: "quic_tls_tls_seal(struct quic_conn *qc,\n                             const
      EVP_CIPHER *cipher, struct quic_tls_secret *s,\n                             unsigned
      char *out, size_t *outlen, unsigned char *nonce,\n                             const
      unsigned char *in, size_t inlen,\n                             const unsigned
      char *ad, size_t adlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_openssl_compat.c:338,1
    - Dst: quic_tls_compat_create_header
      Src: /src/haproxy/src/quic_openssl_compat.c:341,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_openssl_compat.c:348,1
    - Dst: quic_tls_compute_nonce
      Src: /src/haproxy/src/quic_openssl_compat.c:349,1
    - Dst: quic_tls_tls_seal
      Src: /src/haproxy/src/quic_openssl_compat.c:351,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_openssl_compat.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - qc
    - level
    - rec
    - res
    argTypes:
    - struct quic_conn*
    - enum ssl_encryption_level_t
    - struct quic_tls_compat_record*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 359
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 359
    functionName: quic_tls_compat_create_record
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 0
    functionsReached:
    - quic_tls_compat_create_header
    - TRACE_LEAVE
    - quic_tls_tls_seal
    - TRACE_ENTER
    - quic_tls_compute_nonce
    - memcpy
    linkageType: ''
    returnType: int
    signature: "quic_tls_compat_create_record(struct quic_conn *qc,\n                                         enum
      ssl_encryption_level_t level,\n                                         struct
      quic_tls_compat_record *rec,\n                                         unsigned
      char *res)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/quic_openssl_compat.c:368,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_openssl_compat.c:374,1
    - Dst: struct quic_openssl_compat*::method::add_handshake_data
      Src: /src/haproxy/src/quic_openssl_compat.c:380,1
    - Dst: struct quic_openssl_compat*::method::send_alert
      Src: /src/haproxy/src/quic_openssl_compat.c:385,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_openssl_compat.c:391,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 7
    argNames:
    - conn
    - write_p
    - version
    - content_type
    - buf
    - len
    - ssl
    argTypes:
    - struct connection*
    - int
    - int
    - int
    - void*
    - size_t
    - SSL*
    constantsTouched: []
    func_position:
      end: 392
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 392
    functionName: quic_tls_compat_msg_callback
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 0
    functionsReached:
    - TRACE_LEAVE
    - SSL_get_ex_data
    - TRACE_ENTER
    - struct quic_openssl_compat*::method::add_handshake_data
    - struct quic_openssl_compat*::method::send_alert
    linkageType: ''
    returnType: void
    signature: "quic_tls_compat_msg_callback(struct connection *conn,\n                                  int
      write_p, int version, int content_type,\n                                  const
      void *buf, size_t len, SSL *ssl)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/quic_openssl_compat.c:398,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_openssl_compat.c:400,1
    - Dst: BIO_new
      Src: /src/haproxy/src/quic_openssl_compat.c:402,1
    - Dst: BIO_s_mem
      Src: /src/haproxy/src/quic_openssl_compat.c:402,1
    - Dst: BIO_new
      Src: /src/haproxy/src/quic_openssl_compat.c:406,1
    - Dst: BIO_s_null
      Src: /src/haproxy/src/quic_openssl_compat.c:406,1
    - Dst: SSL_set_bio
      Src: /src/haproxy/src/quic_openssl_compat.c:410,1
    - Dst: SSL_set_max_early_data
      Src: /src/haproxy/src/quic_openssl_compat.c:412,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_openssl_compat.c:422,1
    - Dst: BIO_free
      Src: /src/haproxy/src/quic_openssl_compat.c:425,1
    - Dst: BIO_free
      Src: /src/haproxy/src/quic_openssl_compat.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - ssl
    - quic_method
    argTypes:
    - SSL*
    - SSL_QUIC_METHOD*
    constantsTouched: []
    func_position:
      end: 428
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 428
    functionName: SSL_set_quic_method
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 1
    functionsReached:
    - BIO_free
    - TRACE_LEAVE
    - SSL_get_ex_data
    - SSL_set_max_early_data
    - TRACE_ENTER
    - BIO_s_mem
    - BIO_new
    - SSL_set_bio
    - BIO_s_null
    linkageType: ''
    returnType: int
    signature: SSL_set_quic_method(SSL *ssl, const SSL_QUIC_METHOD *quic_method)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/quic_openssl_compat.c:432,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_openssl_compat.c:434,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_openssl_compat.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 437
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 437
    functionName: SSL_quic_read_level
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 1
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - SSL_get_ex_data
    linkageType: ''
    returnType: enum ssl_encryption_level_t
    signature: SSL_quic_read_level(const SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/quic_openssl_compat.c:442,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_openssl_compat.c:444,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_openssl_compat.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 447
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 447
    functionName: SSL_quic_write_level
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 0
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - SSL_get_ex_data
    linkageType: ''
    returnType: enum ssl_encryption_level_t
    signature: SSL_quic_write_level(const SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/quic_openssl_compat.c:458,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_openssl_compat.c:461,1
    - Dst: SSL_get_rbio
      Src: /src/haproxy/src/quic_openssl_compat.c:463,1
    - Dst: memset
      Src: /src/haproxy/src/quic_openssl_compat.c:466,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/src/quic_openssl_compat.c:471,1
    - Dst: quic_tls_compat_create_header
      Src: /src/haproxy/src/quic_openssl_compat.c:474,1
    - Dst: BIO_write
      Src: /src/haproxy/src/quic_openssl_compat.c:475,1
    - Dst: BIO_write
      Src: /src/haproxy/src/quic_openssl_compat.c:476,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/src/quic_openssl_compat.c:482,1
    - Dst: memcpy
      Src: /src/haproxy/src/quic_openssl_compat.c:483,1
    - Dst: quic_tls_compat_create_record
      Src: /src/haproxy/src/quic_openssl_compat.c:493,1
    - Dst: BIO_write
      Src: /src/haproxy/src/quic_openssl_compat.c:497,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_openssl_compat.c:506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 4
    argNames:
    - ssl
    - level
    - data
    - len
    argTypes:
    - SSL*
    - enum ssl_encryption_level_t
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 508
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 508
    functionName: SSL_provide_quic_data
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 1
    functionsReached:
    - quic_tls_compat_create_header
    - quic_tls_compat_create_record
    - TRACE_LEAVE
    - SSL_get_ex_data
    - TRACE_ENTER
    - QUIC_MIN
    - BIO_write
    - SSL_get_rbio
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: "SSL_provide_quic_data(SSL *ssl, enum ssl_encryption_level_t level,\n
      \                         const uint8_t *data, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/quic_openssl_compat.c:512,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_openssl_compat.c:515,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_openssl_compat.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 518
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 518
    functionName: SSL_process_quic_post_handshake
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 1
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: SSL_process_quic_post_handshake(SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_ex_data
      Src: /src/haproxy/src/quic_openssl_compat.c:522,1
    - Dst: TRACE_ENTER
      Src: /src/haproxy/src/quic_openssl_compat.c:527,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/src/quic_openssl_compat.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ssl
    - params
    - params_len
    argTypes:
    - SSL*
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 530
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 530
    functionName: SSL_set_quic_transport_params
    functionSourceFile: /src/haproxy/src/quic_openssl_compat.c
    functionUses: 1
    functionsReached:
    - TRACE_ENTER
    - TRACE_LEAVE
    - SSL_get_ex_data
    linkageType: ''
    returnType: int
    signature: SSL_set_quic_transport_params(SSL *ssl, const uint8_t *params, size_t
      params_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_insert
      Src: /src/haproxy/src/cebus_tree.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebus_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_insert
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebus, _insert, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_first
      Src: /src/haproxy/src/cebus_tree.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebus_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_first
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebus, _first, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_last
      Src: /src/haproxy/src/cebus_tree.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: CEB_FDECL2
    functionSourceFile: /src/haproxy/src/cebus_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_last
    linkageType: ''
    returnType: void
    signature: CEB_FDECL2(struct ceb_node *, cebus, _last, struct ceb_node **, root,
      ptrdiff_t, kofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup
      Src: /src/haproxy/src/cebus_tree.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebus_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebus, _lookup, struct ceb_node **, root,
      ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_le
      Src: /src/haproxy/src/cebus_tree.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebus_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_le
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebus, _lookup_le, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_lt
      Src: /src/haproxy/src/cebus_tree.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebus_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_lt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebus, _lookup_lt, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_ge
      Src: /src/haproxy/src/cebus_tree.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebus_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_ge
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebus, _lookup_ge, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_lookup_gt
      Src: /src/haproxy/src/cebus_tree.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebus_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_lookup_gt
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebus, _lookup_gt, struct ceb_node **,
      root, ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_next
      Src: /src/haproxy/src/cebus_tree.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebus_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_next
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebus, _next, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_prev
      Src: /src/haproxy/src/cebus_tree.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebus_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_prev
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebus, _prev, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebus_tree.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebus_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebus, _delete, struct ceb_node **, root,
      ptrdiff_t, kofs, struct ceb_node *, node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_delete
      Src: /src/haproxy/src/cebus_tree.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: CEB_FDECL3
    functionSourceFile: /src/haproxy/src/cebus_tree.c
    functionUses: 0
    functionsReached:
    - _cebu_delete
    linkageType: ''
    returnType: void
    signature: CEB_FDECL3(struct ceb_node *, cebus, _pick, struct ceb_node **, root,
      ptrdiff_t, kofs, const void *, key)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/src/cebus_tree.c:151,1
    - Dst: printf
      Src: /src/haproxy/src/cebus_tree.c:157,1
    - Dst: cebu_default_dump_tree
      Src: /src/haproxy/src/cebus_tree.c:160,1
    - Dst: printf
      Src: /src/haproxy/src/cebus_tree.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 163
    functionName: CEB_FDECL4
    functionSourceFile: /src/haproxy/src/cebus_tree.c
    functionUses: 0
    functionsReached:
    - printf
    - cebu_default_dump_tree
    linkageType: ''
    returnType: void
    signature: CEB_FDECL4(void, cebus, _default_dump, struct ceb_node **, root, ptrdiff_t,
      kofs, const char *, label, const void *, ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stktable_find_by_name
      Src: /src/haproxy/src/proxy.c:153,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proxy.c:158,1
    - Dst: stktable_compatible_sample
      Src: /src/haproxy/src/proxy.c:162,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proxy.c:163,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:169,1
    - Dst: stktable_alloc_data_type
      Src: /src/haproxy/src/proxy.c:171,1
    - Dst: stktable_alloc_data_type
      Src: /src/haproxy/src/proxy.c:172,1
    - Dst: in_proxies_list
      Src: /src/haproxy/src/proxy.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - curproxy
    - mrule
    argTypes:
    - struct proxy*
    - struct sticking_rule*
    constantsTouched: []
    func_position:
      end: 178
      start: 148
    functionDepth: 9
    functionLinenumber: 148
    functionLinenumberEnd: 178
    functionName: resolve_stick_rule
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - in_proxies_list
    - ha_free
    - stktable_compatible_sample
    - stktable_find_by_name
    - stktable_alloc_data_type
    linkageType: ''
    returnType: int
    signature: resolve_stick_rule(struct proxy *curproxy, struct sticking_rule *mrule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/proxy.c:185,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/proxy.c:186,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/proxy.c:187,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - rules
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 5
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: free_stick_rules
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached:
    - free
    - release_sample_expr
    - LIST_DELETE
    - free_acl_cond
    linkageType: ''
    returnType: void
    signature: free_stick_rules(struct list *rules)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/proxy.c:197,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/proxy.c:198,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/proxy.c:199,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:200,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - srules
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: free_server_rules
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached:
    - free
    - LIST_DELETE
    - free_acl_cond
    - lf_expr_deinit
    linkageType: ''
    returnType: void
    signature: free_server_rules(struct list *srules)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:216,1
    - Dst: drop_file_name
      Src: /src/haproxy/src/proxy.c:217,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:218,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:219,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:220,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:221,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:222,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:223,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:224,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:225,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:226,1
    - Dst: istfree
      Src: /src/haproxy/src/proxy.c:227,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:228,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:230,1
    - Dst: istfree
      Src: /src/haproxy/src/proxy.c:232,1
    - Dst: istfree
      Src: /src/haproxy/src/proxy.c:233,1
    - Dst: http_ext_clean
      Src: /src/haproxy/src/proxy.c:235,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/proxy.c:237,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/proxy.c:238,1
    - Dst: prune_acl
      Src: /src/haproxy/src/proxy.c:239,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:240,1
    - Dst: free_act_rules
      Src: /src/haproxy/src/proxy.c:243,1
    - Dst: free_act_rules
      Src: /src/haproxy/src/proxy.c:244,1
    - Dst: free_act_rules
      Src: /src/haproxy/src/proxy.c:245,1
    - Dst: free_act_rules
      Src: /src/haproxy/src/proxy.c:246,1
    - Dst: free_act_rules
      Src: /src/haproxy/src/proxy.c:247,1
    - Dst: free_act_rules
      Src: /src/haproxy/src/proxy.c:248,1
    - Dst: free_act_rules
      Src: /src/haproxy/src/proxy.c:249,1
    - Dst: free_act_rules
      Src: /src/haproxy/src/proxy.c:251,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/proxy.c:254,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/proxy.c:255,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/proxy.c:256,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/proxy.c:257,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/proxy.c:259,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/proxy.c:260,1
    - Dst: free_logger
      Src: /src/haproxy/src/proxy.c:261,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/proxy.c:267,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/proxy.c:268,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/proxy.c:270,1
    - Dst: eb32_first
      Src: /src/haproxy/src/proxy.c:272,1
    - Dst: eb32_next
      Src: /src/haproxy/src/proxy.c:277,1
    - Dst: eb32_delete
      Src: /src/haproxy/src/proxy.c:278,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:279,1
    - Dst: free_email_alert
      Src: /src/haproxy/src/proxy.c:282,1
    - Dst: stats_uri_auth_drop
      Src: /src/haproxy/src/proxy.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 285
      start: 209
    functionDepth: 7
    functionLinenumber: 209
    functionLinenumberEnd: 285
    functionName: proxy_free_common
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - chunk_destroy
    - istfree
    - eb32_delete
    - drop_file_name
    - ha_free
    - list_for_each_entry_safe
    - free_email_alert
    - LIST_DELETE
    - lf_expr_deinit
    - http_ext_clean
    - free
    - eb32_next
    - prune_acl
    - free_logger
    - LIST_DEL_INIT
    - eb32_first
    - free_act_rules
    - stats_uri_auth_drop
    linkageType: ''
    returnType: void
    signature: proxy_free_common(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proxy_free_common
      Src: /src/haproxy/src/proxy.c:305,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/proxy.c:308,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:309,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:310,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:311,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:313,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/proxy.c:315,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/proxy.c:316,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/proxy.c:317,1
    - Dst: guid_remove
      Src: /src/haproxy/src/proxy.c:320,1
    - Dst: EXTRA_COUNTERS_FREE
      Src: /src/haproxy/src/proxy.c:322,1
    - Dst: EXTRA_COUNTERS_FREE
      Src: /src/haproxy/src/proxy.c:323,1
    - Dst: free_server_rules
      Src: /src/haproxy/src/proxy.c:325,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/proxy.c:327,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/proxy.c:328,1
    - Dst: free_acl_cond
      Src: /src/haproxy/src/proxy.c:329,1
    - Dst: lf_expr_deinit
      Src: /src/haproxy/src/proxy.c:331,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:332,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:333,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/proxy.c:336,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/proxy.c:337,1
    - Dst: http_free_redirect_rule
      Src: /src/haproxy/src/proxy.c:338,1
    - Dst: free_stick_rules
      Src: /src/haproxy/src/proxy.c:341,1
    - Dst: free_stick_rules
      Src: /src/haproxy/src/proxy.c:342,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:349,1
    - Dst: pool_destroy
      Src: /src/haproxy/src/proxy.c:350,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:351,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:360,1
    - Dst: pool_destroy
      Src: /src/haproxy/src/proxy.c:361,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:362,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/proxy.c:368,1
    - Dst: srv_drop
      Src: /src/haproxy/src/proxy.c:370,1
    - Dst: srv_free_params
      Src: /src/haproxy/src/proxy.c:376,1
    - Dst: struct proxy*::lbprm::proxy_deinit
      Src: /src/haproxy/src/proxy.c:379,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/proxy.c:381,1
    - Dst: guid_remove
      Src: /src/haproxy/src/proxy.c:382,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/proxy.c:383,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/proxy.c:384,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:385,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:386,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:387,1
    - Dst: task_destroy
      Src: /src/haproxy/src/proxy.c:388,1
    - Dst: EXTRA_COUNTERS_FREE
      Src: /src/haproxy/src/proxy.c:390,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:391,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/proxy.c:395,1
    - Dst: struct bind_conf*::xprt::destroy_bind_conf
      Src: /src/haproxy/src/proxy.c:397,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:398,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:399,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:400,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/proxy.c:401,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:402,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:403,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:405,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:407,1
    - Dst: flt_deinit
      Src: /src/haproxy/src/proxy.c:410,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/proxy.c:412,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:415,1
    - Dst: task_destroy
      Src: /src/haproxy/src/proxy.c:417,1
    - Dst: pool_destroy
      Src: /src/haproxy/src/proxy.c:419,1
    - Dst: pool_destroy
      Src: /src/haproxy/src/proxy.c:420,1
    - Dst: stktable_deinit
      Src: /src/haproxy/src/proxy.c:422,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:423,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:424,1
    - Dst: HA_RWLOCK_DESTROY
      Src: /src/haproxy/src/proxy.c:426,1
    - Dst: HA_RWLOCK_DESTROY
      Src: /src/haproxy/src/proxy.c:427,1
    - Dst: proxy_unref_defaults
      Src: /src/haproxy/src/proxy.c:429,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 95
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 430
      start: 290
    functionDepth: 8
    functionLinenumber: 290
    functionLinenumberEnd: 430
    functionName: deinit_proxy
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 2
    functionsReached:
    - struct bind_conf*::xprt::destroy_bind_conf
    - ha_free
    - stktable_deinit
    - LIST_DELETE
    - guid_remove
    - pool_destroy
    - srv_free_params
    - list_for_each_entry
    - free_acl_cond
    - struct proxy*::lbprm::proxy_deinit
    - free
    - free_server_rules
    - release_sample_expr
    - free_stick_rules
    - proxy_free_common
    - lf_expr_deinit
    - HA_RWLOCK_DESTROY
    - flt_deinit
    - list_for_each_entry_safe
    - http_free_redirect_rule
    - task_destroy
    - proxy_unref_defaults
    - srv_drop
    - EXTRA_COUNTERS_FREE
    linkageType: ''
    returnType: void
    signature: deinit_proxy(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: deinit_proxy
      Src: /src/haproxy/src/proxy.c:435,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 9
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: free_proxy
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 8
    functionsReached:
    - deinit_proxy
    - ha_free
    linkageType: ''
    returnType: void
    signature: free_proxy(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - cap
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 458
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 458
    functionName: proxy_cap_str
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*proxy_cap_str(int cap)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 480
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 480
    functionName: proxy_mode_str
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*proxy_mode_str(int mode)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/proxy.c:496,1
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/proxy.c:499,1
    - Dst: word_fingerprint_distance
      Src: /src/haproxy/src/proxy.c:500,1
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/proxy.c:508,1
    - Dst: word_fingerprint_distance
      Src: /src/haproxy/src/proxy.c:509,1
    - Dst: make_word_fingerprint
      Src: /src/haproxy/src/proxy.c:517,1
    - Dst: word_fingerprint_distance
      Src: /src/haproxy/src/proxy.c:518,1
    - Dst: strlen
      Src: /src/haproxy/src/proxy.c:526,1
    - Dst: strlen
      Src: /src/haproxy/src/proxy.c:526,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - word
    - extra
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 529
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 529
    functionName: proxy_find_best_option
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - make_word_fingerprint
    - strlen
    - word_fingerprint_distance
    linkageType: ''
    returnType: char
    signature: '*proxy_find_best_option(const char *word, const char **extra)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:553,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:557,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:562,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:566,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:570,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:574,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:578,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:583,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:588,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:592,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:596,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:600,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:604,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:608,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:609,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:611,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:612,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:614,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:615,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:618,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:627,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/proxy.c:631,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:633,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:638,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:643,1
    - Dst: warn_if_lower
      Src: /src/haproxy/src/proxy.c:647,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:648,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:649,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:654,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:655,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:660,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:665,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/proxy.c:669,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 118
    argCount: 7
    argNames:
    - args
    - section
    - proxy
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 671
      start: 540
    functionDepth: 5
    functionLinenumber: 540
    functionLinenumberEnd: 671
    functionName: proxy_parse_timeout
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - proxy_type_str
    - MS_TO_TICKS
    - parse_time_err
    - warn_if_lower
    linkageType: ''
    returnType: int
    signature: "proxy_parse_timeout(char **args, int section, struct proxy *proxy,\n
      \                              const struct proxy *defpx, const char *file,
      int line,\n                               char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:692,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:697,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:702,1
    - Dst: strtoul
      Src: /src/haproxy/src/proxy.c:706,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:708,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:713,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:714,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:718,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 7
    argNames:
    - args
    - section
    - proxy
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 724
      start: 680
    functionDepth: 5
    functionLinenumber: 680
    functionLinenumberEnd: 724
    functionName: proxy_parse_rate_limit
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - strtoul
    - proxy_type_str
    linkageType: ''
    returnType: int
    signature: "proxy_parse_rate_limit(char **args, int section, struct proxy *proxy,\n
      \                                 const struct proxy *defpx, const char *file,
      int line,\n                                  char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:744,1
    - Dst: strtol
      Src: /src/haproxy/src/proxy.c:748,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:750,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:755,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 7
    argNames:
    - args
    - section
    - proxy
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 763
      start: 733
    functionDepth: 5
    functionLinenumber: 733
    functionLinenumberEnd: 763
    functionName: proxy_parse_max_ka_queue
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strtol
    - proxy_type_str
    linkageType: ''
    returnType: int
    signature: "proxy_parse_max_ka_queue(char **args, int section, struct proxy *proxy,\n
      \                                   const struct proxy *defpx, const char *file,
      int line,\n                                    char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:778,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:784,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:790,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:799,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:806,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:807,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:808,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:813,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:814,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:820,1
    - Dst: strtol
      Src: /src/haproxy/src/proxy.c:827,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:829,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:836,1
    - Dst: calloc
      Src: /src/haproxy/src/proxy.c:841,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:843,1
    - Dst: create_pool
      Src: /src/haproxy/src/proxy.c:849,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:851,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:856,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:864,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 7
    argNames:
    - args
    - section
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 867
      start: 772
    functionDepth: 5
    functionLinenumber: 772
    functionLinenumberEnd: 867
    functionName: proxy_parse_declare
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - calloc
    - create_pool
    - strtol
    linkageType: ''
    returnType: int
    signature: "proxy_parse_declare(char **args, int section, struct proxy *curpx,\n
      \                              const struct proxy *defpx, const char *file,
      int line,\n                               char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:878,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:882,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:887,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:889,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:891,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:893,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:895,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:897,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:899,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:901,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:903,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:905,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:907,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:909,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:911,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:913,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:915,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:917,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:919,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:921,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:926,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:928,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:932,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 7
    argNames:
    - args
    - section
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 940
      start: 870
    functionDepth: 5
    functionLinenumber: 870
    functionLinenumberEnd: 940
    functionName: proxy_parse_retry_on
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "proxy_parse_retry_on(char **args, int section, struct proxy *curpx,\n
      \                              const struct proxy *defpx, const char *file,
      int line,\n                               char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:949,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:953,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:959,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:961,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:963,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:966,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 7
    argNames:
    - args
    - section
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 971
      start: 943
    functionDepth: 5
    functionLinenumber: 943
    functionLinenumberEnd: 971
    functionName: proxy_parse_hash_preserve_affinity
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    linkageType: ''
    returnType: int
    signature: "proxy_parse_hash_preserve_affinity(char **args, int section, struct
      proxy *curpx,\n\t\t\t\t\t\t\t\t\tconst struct proxy *defpx, const char *file,
      int line,\n\t\t\t\t\t\t\t\t\tchar **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:986,1
    - Dst: strtol
      Src: /src/haproxy/src/proxy.c:990,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:992,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:996,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:998,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:999,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:1003,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1005,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:1006,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1012,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 7
    argNames:
    - args
    - section
    - proxy
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1017
      start: 975
    functionDepth: 5
    functionLinenumber: 975
    functionLinenumberEnd: 1017
    functionName: proxy_parse_tcpka_cnt
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - strtol
    - proxy_type_str
    linkageType: ''
    returnType: int
    signature: "proxy_parse_tcpka_cnt(char **args, int section, struct proxy *proxy,\n
      \                                   const struct proxy *defpx, const char *file,
      int line,\n                                    char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1033,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/proxy.c:1036,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1038,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1043,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1048,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:1052,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1054,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:1055,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:1059,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1061,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:1062,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1068,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 7
    argNames:
    - args
    - section
    - proxy
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1073
      start: 1022
    functionDepth: 5
    functionLinenumber: 1022
    functionLinenumberEnd: 1073
    functionName: proxy_parse_tcpka_idle
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - proxy_type_str
    - parse_time_err
    linkageType: ''
    returnType: int
    signature: "proxy_parse_tcpka_idle(char **args, int section, struct proxy *proxy,\n
      \                                 const struct proxy *defpx, const char *file,
      int line,\n                                  char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1089,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/proxy.c:1092,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1094,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1099,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1104,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:1108,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1110,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:1111,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:1115,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1117,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:1118,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 7
    argNames:
    - args
    - section
    - proxy
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1129
      start: 1078
    functionDepth: 5
    functionLinenumber: 1078
    functionLinenumberEnd: 1129
    functionName: proxy_parse_tcpka_intvl
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - proxy_type_str
    - parse_time_err
    linkageType: ''
    returnType: int
    signature: "proxy_parse_tcpka_intvl(char **args, int section, struct proxy *proxy,\n\t\t
      \                  const struct proxy *defpx, const char *file, int line,\n
      \                                  char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/src/proxy.c:1140,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1145,1
    - Dst: guid_insert
      Src: /src/haproxy/src/proxy.c:1150,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1151,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:1152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1157
      start: 1132
    functionDepth: 9
    functionLinenumber: 1132
    functionLinenumberEnd: 1157
    functionName: proxy_parse_guid
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - memprintf
    - ha_free
    - guid_insert
    linkageType: ''
    returnType: int
    signature: "proxy_parse_guid(char **args, int section_type, struct proxy *curpx,\n
      \                           const struct proxy *defpx, const char *file, int
      line,\n                            char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebis_insert
      Src: /src/haproxy/src/proxy.c:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1163
    functionDepth: 2
    functionLinenumber: 1163
    functionLinenumberEnd: 1169
    functionName: proxy_store_name
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - ebis_insert
    linkageType: ''
    returnType: void
    signature: proxy_store_name(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup
      Src: /src/haproxy/src/proxy.c:1179,1
    - Dst: eb32_next
      Src: /src/haproxy/src/proxy.c:1179,1
    - Dst: container_of
      Src: /src/haproxy/src/proxy.c:1180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - id
    - cap
    - table
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1194
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1194
    functionName: proxy_find_by_id
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 2
    functionsReached:
    - eb32_next
    - container_of
    - eb32_lookup
    linkageType: ''
    returnType: struct proxy
    signature: '*proxy_find_by_id(int id, int cap, int table)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proxy_find_by_id
      Src: /src/haproxy/src/proxy.c:1207,1
    - Dst: atoi
      Src: /src/haproxy/src/proxy.c:1207,1
    - Dst: ebis_lookup
      Src: /src/haproxy/src/proxy.c:1216,1
    - Dst: ebpt_next
      Src: /src/haproxy/src/proxy.c:1216,1
    - Dst: container_of
      Src: /src/haproxy/src/proxy.c:1217,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:1219,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - name
    - cap
    - table
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1232
      start: 1202
    functionDepth: 3
    functionLinenumber: 1202
    functionLinenumberEnd: 1232
    functionName: proxy_find_by_name
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 7
    functionsReached:
    - container_of
    - atoi
    - proxy_find_by_id
    - strcmp
    - ebis_lookup
    - ebpt_next
    linkageType: ''
    returnType: struct proxy
    signature: '*proxy_find_by_name(const char *name, int cap, int table)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/proxy.c:1286,1
    - Dst: proxy_find_by_id
      Src: /src/haproxy/src/proxy.c:1297,1
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/proxy.c:1344,1
    - Dst: proxy_find_by_id
      Src: /src/haproxy/src/proxy.c:1350,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 4
    argNames:
    - cap
    - name
    - id
    - diff
    argTypes:
    - int
    - char*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 1360
      start: 1272
    functionDepth: 4
    functionLinenumber: 1272
    functionLinenumberEnd: 1360
    functionName: proxy_find_best_match
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - proxy_find_by_name
    - proxy_find_by_id
    linkageType: ''
    returnType: struct proxy
    signature: '*proxy_find_best_match(int cap, const char *name, int id, int *diff)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:1376,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proxy.c:1384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - px
    - name
    argTypes:
    - struct proxy*
    - char*
    constantsTouched: []
    func_position:
      end: 1391
      start: 1368
    functionDepth: 9
    functionLinenumber: 1368
    functionLinenumberEnd: 1391
    functionName: findserver
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 6
    functionsReached:
    - ha_alert
    - strcmp
    linkageType: ''
    returnType: struct server
    signature: '*findserver(const struct proxy *px, const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/proxy.c:1402,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:1403,1
    - Dst: ha_warning
      Src: /src/haproxy/src/proxy.c:1408,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:1409,1
    - Dst: ha_warning
      Src: /src/haproxy/src/proxy.c:1414,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:1416,1
    - Dst: ha_warning
      Src: /src/haproxy/src/proxy.c:1421,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:1423,1
    - Dst: ha_warning
      Src: /src/haproxy/src/proxy.c:1428,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:1430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - curproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1434
      start: 1399
    functionDepth: 9
    functionLinenumber: 1399
    functionLinenumberEnd: 1434
    functionName: proxy_cfg_ensure_no_http
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached:
    - ha_warning
    - proxy_type_str
    linkageType: ''
    returnType: int
    signature: proxy_cfg_ensure_no_http(struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/proxy.c:1447,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/proxy.c:1448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - curproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1452
      start: 1442
    functionDepth: 9
    functionLinenumber: 1442
    functionLinenumberEnd: 1452
    functionName: proxy_cfg_ensure_no_log
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached:
    - ha_warning
    - proxy_type_str
    linkageType: ''
    returnType: int
    signature: proxy_cfg_ensure_no_log(struct proxy *curproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/src/proxy.c:1460,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1462,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1463,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1464,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1465,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1466,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1467,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1468,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1469,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1470,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1471,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1472,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1473,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1474,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1475,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1476,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1478,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/proxy.c:1480,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1481,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1482,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1483,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1484,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1485,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1486,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1487,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/proxy.c:1488,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/src/proxy.c:1490,1
    - Dst: proxy_reset_timeouts
      Src: /src/haproxy/src/proxy.c:1499,1
    - Dst: guid_init
      Src: /src/haproxy/src/proxy.c:1508,1
    - Dst: HA_RWLOCK_INIT
      Src: /src/haproxy/src/proxy.c:1513,1
    - Dst: proxy_preset_defaults
      Src: /src/haproxy/src/proxy.c:1516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1517
      start: 1458
    functionDepth: 1
    functionLinenumber: 1458
    functionLinenumberEnd: 1517
    functionName: init_new_proxy
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - guid_init
    - proxy_preset_defaults
    - LIST_INIT
    - proxy_reset_timeouts
    - memset
    - MT_LIST_INIT
    - HA_RWLOCK_INIT
    linkageType: ''
    returnType: void
    signature: init_new_proxy(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/proxy.c:1524,1
    - Dst: queue_init
      Src: /src/haproxy/src/proxy.c:1526,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1529
      start: 1520
    functionDepth: 3
    functionLinenumber: 1520
    functionLinenumberEnd: 1529
    functionName: proxy_init_per_thr
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 2
    functionsReached:
    - calloc
    - queue_init
    linkageType: ''
    returnType: int
    signature: proxy_init_per_thr(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_settings_init
      Src: /src/haproxy/src/proxy.c:1546,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/proxy.c:1548,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/proxy.c:1549,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/proxy.c:1550,1
    - Dst: lf_expr_init
      Src: /src/haproxy/src/proxy.c:1551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - defproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1558
      start: 1532
    functionDepth: 1
    functionLinenumber: 1532
    functionLinenumberEnd: 1558
    functionName: proxy_preset_defaults
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached:
    - srv_settings_init
    - lf_expr_init
    linkageType: ''
    returnType: void
    signature: proxy_preset_defaults(struct proxy *defproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proxy_free_common
      Src: /src/haproxy/src/proxy.c:1569,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:1572,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:1573,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:1578,1
    - Dst: pool_destroy
      Src: /src/haproxy/src/proxy.c:1579,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:1580,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:1587,1
    - Dst: pool_destroy
      Src: /src/haproxy/src/proxy.c:1588,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:1589,1
    - Dst: proxy_release_conf_errors
      Src: /src/haproxy/src/proxy.c:1593,1
    - Dst: deinit_proxy_tcpcheck
      Src: /src/haproxy/src/proxy.c:1594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - defproxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1595
      start: 1565
    functionDepth: 8
    functionLinenumber: 1565
    functionLinenumberEnd: 1595
    functionName: proxy_free_defaults
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - ha_free
    - proxy_free_common
    - proxy_release_conf_errors
    - deinit_proxy_tcpcheck
    - free
    - pool_destroy
    linkageType: ''
    returnType: void
    signature: proxy_free_defaults(struct proxy *defproxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/proxy.c:1607,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/proxy.c:1608,1
    - Dst: proxy_free_defaults
      Src: /src/haproxy/src/proxy.c:1609,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:1610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1611
      start: 1601
    functionDepth: 9
    functionLinenumber: 1601
    functionLinenumberEnd: 1611
    functionName: proxy_destroy_defaults
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - free
    - ebpt_delete
    - BUG_ON
    - proxy_free_defaults
    linkageType: ''
    returnType: void
    signature: proxy_destroy_defaults(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_first
      Src: /src/haproxy/src/proxy.c:1621,1
    - Dst: container_of
      Src: /src/haproxy/src/proxy.c:1623,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/proxy.c:1624,1
    - Dst: ebpt_next
      Src: /src/haproxy/src/proxy.c:1625,1
    - Dst: proxy_destroy_defaults
      Src: /src/haproxy/src/proxy.c:1627,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/proxy.c:1632,1
    - Dst: proxy_destroy_defaults
      Src: /src/haproxy/src/proxy.c:1635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1616
    functionDepth: 10
    functionLinenumber: 1616
    functionLinenumberEnd: 1638
    functionName: proxy_destroy_all_unref_defaults
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 2
    functionsReached:
    - container_of
    - proxy_destroy_defaults
    - ebpt_first
    - BUG_ON
    - ebpt_next
    linkageType: ''
    returnType: void
    signature: proxy_destroy_all_unref_defaults()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_delete
      Src: /src/haproxy/src/proxy.c:1649,1
    - Dst: proxy_destroy_defaults
      Src: /src/haproxy/src/proxy.c:1655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1656
      start: 1644
    functionDepth: 10
    functionLinenumber: 1644
    functionLinenumberEnd: 1656
    functionName: proxy_unref_or_destroy_defaults
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached:
    - ebpt_delete
    - proxy_destroy_defaults
    linkageType: ''
    returnType: void
    signature: proxy_unref_or_destroy_defaults(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/src/proxy.c:1667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - px
    - defpx
    argTypes:
    - struct proxy*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1670
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1670
    functionName: proxy_ref_defaults
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: proxy_ref_defaults(struct proxy *px, struct proxy *defpx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proxy_destroy_defaults
      Src: /src/haproxy/src/proxy.c:1682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 1684
      start: 1677
    functionDepth: 10
    functionLinenumber: 1677
    functionLinenumberEnd: 1684
    functionName: proxy_unref_defaults
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached:
    - proxy_destroy_defaults
    linkageType: ''
    returnType: void
    signature: proxy_unref_defaults(struct proxy *px)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: init_new_proxy
      Src: /src/haproxy/src/proxy.c:1698,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/proxy.c:1700,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1707,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1709,1
    - Dst: proxy_store_name
      Src: /src/haproxy/src/proxy.c:1717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - px
    - name
    - cap
    - errmsg
    argTypes:
    - struct proxy*
    - char*
    - unsigned int
    - char**
    constantsTouched: []
    func_position:
      end: 1720
      start: 1694
    functionDepth: 5
    functionLinenumber: 1694
    functionLinenumberEnd: 1720
    functionName: setup_new_proxy
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 2
    functionsReached:
    - ns_to_sec
    - memprintf
    - strdup
    - proxy_store_name
    - init_new_proxy
    linkageType: ''
    returnType: int
    signature: setup_new_proxy(struct proxy *px, const char *name, unsigned int cap,
      char **errmsg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/proxy.c:1729,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1730,1
    - Dst: setup_new_proxy
      Src: /src/haproxy/src/proxy.c:1734,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:1745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - name
    - cap
    - errmsg
    argTypes:
    - char*
    - unsigned int
    - char**
    constantsTouched: []
    func_position:
      end: 1747
      start: 1725
    functionDepth: 6
    functionLinenumber: 1725
    functionLinenumberEnd: 1747
    functionName: alloc_new_proxy
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 9
    functionsReached:
    - memprintf
    - calloc
    - free
    - setup_new_proxy
    linkageType: ''
    returnType: struct proxy
    signature: '*alloc_new_proxy(const char *name, unsigned int cap, char **errmsg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_settings_cpy
      Src: /src/haproxy/src/proxy.c:1761,1
    - Dst: http_ext_clean
      Src: /src/haproxy/src/proxy.c:1772,1
    - Dst: http_ext_dup
      Src: /src/haproxy/src/proxy.c:1773,1
    - Dst: isttest
      Src: /src/haproxy/src/proxy.c:1775,1
    - Dst: istdup
      Src: /src/haproxy/src/proxy.c:1776,1
    - Dst: proxy_dup_default_conf_errors
      Src: /src/haproxy/src/proxy.c:1779,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1780,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:1781,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/proxy.c:1808,1
    - Dst: dup_tcpcheck_vars
      Src: /src/haproxy/src/proxy.c:1809,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1811,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1819,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1823,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1825,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1834,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1838,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1841,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1848,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1863,1
    - Dst: isttest
      Src: /src/haproxy/src/proxy.c:1881,1
    - Dst: istdup
      Src: /src/haproxy/src/proxy.c:1882,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1884,1
    - Dst: lf_expr_dup
      Src: /src/haproxy/src/proxy.c:1886,1
    - Dst: lf_expr_dup
      Src: /src/haproxy/src/proxy.c:1887,1
    - Dst: lf_expr_dup
      Src: /src/haproxy/src/proxy.c:1888,1
    - Dst: stats_uri_auth_drop
      Src: /src/haproxy/src/proxy.c:1907,1
    - Dst: stats_uri_auth_take
      Src: /src/haproxy/src/proxy.c:1908,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/proxy.c:1912,1
    - Dst: dup_logger
      Src: /src/haproxy/src/proxy.c:1913,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1916,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/proxy.c:1919,1
    - Dst: lf_expr_dup
      Src: /src/haproxy/src/proxy.c:1922,1
    - Dst: chunk_dup
      Src: /src/haproxy/src/proxy.c:1924,1
    - Dst: isttest
      Src: /src/haproxy/src/proxy.c:1927,1
    - Dst: istdup
      Src: /src/haproxy/src/proxy.c:1928,1
    - Dst: isttest
      Src: /src/haproxy/src/proxy.c:1930,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1931,1
    - Dst: calloc
      Src: /src/haproxy/src/proxy.c:1939,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1941,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1954,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1956,1
    - Dst: BUG_ON
      Src: /src/haproxy/src/proxy.c:1958,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1960,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1962,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1964,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:1966,1
    - Dst: eb32_first
      Src: /src/haproxy/src/proxy.c:1974,1
    - Dst: malloc
      Src: /src/haproxy/src/proxy.c:1978,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:1980,1
    - Dst: eb32_insert
      Src: /src/haproxy/src/proxy.c:1985,1
    - Dst: eb32_next
      Src: /src/haproxy/src/proxy.c:1986,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 175
    argCount: 3
    argNames:
    - curproxy
    - defproxy
    - errmsg
    argTypes:
    - struct proxy*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 1990
      start: 1753
    functionDepth: 7
    functionLinenumber: 1753
    functionLinenumberEnd: 1990
    functionName: proxy_defproxy_cpy
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - memprintf
    - isttest
    - http_ext_dup
    - srv_settings_cpy
    - eb32_next
    - BUG_ON
    - LIST_ISEMPTY
    - list_for_each_entry
    - stats_uri_auth_take
    - eb32_insert
    - dup_logger
    - free
    - dup_tcpcheck_vars
    - lf_expr_dup
    - strdup
    - chunk_dup
    - stats_uri_auth_drop
    - malloc
    - calloc
    - LIST_APPEND
    - istdup
    - http_ext_clean
    - proxy_dup_default_conf_errors
    - eb32_first
    linkageType: ''
    returnType: int
    signature: "proxy_defproxy_cpy(struct proxy *curproxy, const struct proxy *defproxy,\n
      \                             char **errmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_new_proxy
      Src: /src/haproxy/src/proxy.c:2003,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proxy.c:2004,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:2005,1
    - Dst: proxy_defproxy_cpy
      Src: /src/haproxy/src/proxy.c:2010,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proxy.c:2011,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:2012,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:2014,1
    - Dst: copy_file_name
      Src: /src/haproxy/src/proxy.c:2019,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - name
    - cap
    - file
    - linenum
    - defproxy
    argTypes:
    - char*
    - unsigned int
    - char*
    - int
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2023
      start: 1996
    functionDepth: 9
    functionLinenumber: 1996
    functionLinenumberEnd: 2023
    functionName: parse_new_proxy
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - ha_free
    - free
    - copy_file_name
    - alloc_new_proxy
    - proxy_defproxy_cpy
    linkageType: ''
    returnType: struct proxy
    signature: "*parse_new_proxy(const char *name, unsigned int cap,\n                              const
      char *file, int linenum,\n                              const struct proxy *defproxy)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2033
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2033
    functionName: proxy_cond_pause
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: proxy_cond_pause(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2043
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2043
    functionName: proxy_cond_resume
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: proxy_cond_resume(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/proxy.c:2067,1
    - Dst: send_log
      Src: /src/haproxy/src/proxy.c:2071,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/proxy.c:2075,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/proxy.c:2078,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2079
      start: 2050
    functionDepth: 10
    functionLinenumber: 2050
    functionLinenumberEnd: 2079
    functionName: proxy_cond_disable
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached:
    - ha_warning
    - send_log
    - task_wakeup
    linkageType: ''
    returnType: void
    signature: proxy_cond_disable(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/src/proxy.c:2104,1
    - Dst: MIN
      Src: /src/haproxy/src/proxy.c:2125,1
    - Dst: stktable_trash_oldest
      Src: /src/haproxy/src/proxy.c:2126,1
    - Dst: pool_gc
      Src: /src/haproxy/src/proxy.c:2129,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/proxy.c:2137,1
    - Dst: tick_first
      Src: /src/haproxy/src/proxy.c:2146,1
    - Dst: tick_add
      Src: /src/haproxy/src/proxy.c:2146,1
    - Dst: unlikely
      Src: /src/haproxy/src/proxy.c:2155,1
    - Dst: next_event_delay
      Src: /src/haproxy/src/proxy.c:2159,1
    - Dst: tick_first
      Src: /src/haproxy/src/proxy.c:2165,1
    - Dst: tick_add
      Src: /src/haproxy/src/proxy.c:2165,1
    - Dst: dequeue_proxy_listeners
      Src: /src/haproxy/src/proxy.c:2170,1
    - Dst: task_queue
      Src: /src/haproxy/src/proxy.c:2173,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2175
      start: 2087
    functionDepth: 4
    functionLinenumber: 2087
    functionLinenumberEnd: 2175
    functionName: manage_proxy
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - next_event_delay
    - stktable_trash_oldest
    - dequeue_proxy_listeners
    - tick_add
    - task_wakeup
    - task_queue
    - tick_first
    - pool_gc
    - unlikely
    - MIN
    linkageType: ''
    returnType: struct task
    signature: '*manage_proxy(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:2185,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/proxy.c:2188,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:2190,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:2195,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:2200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2204
      start: 2178
    functionDepth: 5
    functionLinenumber: 2178
    functionLinenumberEnd: 2204
    functionName: proxy_parse_grace
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_time_err
    linkageType: ''
    returnType: int
    signature: "proxy_parse_grace(char **args, int section_type, struct proxy *curpx,\n
      \                            const struct proxy *defpx, const char *file, int
      line,\n                             char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:2213,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/proxy.c:2216,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:2218,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:2223,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:2228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2232
      start: 2206
    functionDepth: 5
    functionLinenumber: 2206
    functionLinenumberEnd: 2232
    functionName: proxy_parse_hard_stop_after
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - memprintf
    - parse_time_err
    linkageType: ''
    returnType: int
    signature: "proxy_parse_hard_stop_after(char **args, int section_type, struct
      proxy *curpx,\n                                const struct proxy *defpx, const
      char *file, int line,\n                                char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:2241,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:2248,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/proxy.c:2254,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:2256,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:2261,1
    - Dst: memprintf
      Src: /src/haproxy/src/proxy.c:2266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2272
      start: 2234
    functionDepth: 5
    functionLinenumber: 2234
    functionLinenumberEnd: 2272
    functionName: proxy_parse_close_spread_time
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - parse_time_err
    linkageType: ''
    returnType: int
    signature: "proxy_parse_close_spread_time(char **args, int section_type, struct
      proxy *curpx,\n\t\t\t\t\t const struct proxy *defpx, const char *file, int line,\n\t\t\t\t\t
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_warning
      Src: /src/haproxy/src/proxy.c:2281,1
    - Dst: send_log
      Src: /src/haproxy/src/proxy.c:2282,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/src/proxy.c:2285,1
    - Dst: wake_thread
      Src: /src/haproxy/src/proxy.c:2286,1
    - Dst: ha_warning
      Src: /src/haproxy/src/proxy.c:2291,1
    - Dst: send_log
      Src: /src/haproxy/src/proxy.c:2292,1
    - Dst: ha_warning
      Src: /src/haproxy/src/proxy.c:2296,1
    - Dst: send_log
      Src: /src/haproxy/src/proxy.c:2298,1
    - Dst: thread_isolate
      Src: /src/haproxy/src/proxy.c:2304,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/proxy.c:2307,1
    - Dst: stream_shutdown
      Src: /src/haproxy/src/proxy.c:2308,1
    - Dst: thread_release
      Src: /src/haproxy/src/proxy.c:2312,1
    - Dst: tick_add
      Src: /src/haproxy/src/proxy.c:2315,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/src/proxy.c:2315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2317
      start: 2274
    functionDepth: 10
    functionLinenumber: 2274
    functionLinenumberEnd: 2317
    functionName: hard_stop
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - stream_shutdown
    - send_log
    - wake_thread
    - ha_warning
    - list_for_each_entry
    - tick_add
    - thread_isolate
    - thread_release
    - MS_TO_TICKS
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: struct task
    signature: '*hard_stop(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_isset
      Src: /src/haproxy/src/proxy.c:2328,1
    - Dst: tick_add
      Src: /src/haproxy/src/proxy.c:2329,1
    - Dst: tick_isset
      Src: /src/haproxy/src/proxy.c:2333,1
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/proxy.c:2334,1
    - Dst: task_schedule
      Src: /src/haproxy/src/proxy.c:2337,1
    - Dst: tick_add
      Src: /src/haproxy/src/proxy.c:2337,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proxy.c:2340,1
    - Dst: thread_isolate
      Src: /src/haproxy/src/proxy.c:2345,1
    - Dst: protocol_stop_now
      Src: /src/haproxy/src/proxy.c:2348,1
    - Dst: thread_release
      Src: /src/haproxy/src/proxy.c:2350,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/proxy.c:2355,1
    - Dst: proxy_cond_disable
      Src: /src/haproxy/src/proxy.c:2356,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/proxy.c:2357,1
    - Dst: signal_handler
      Src: /src/haproxy/src/proxy.c:2362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2320
    functionDepth: 11
    functionLinenumber: 2320
    functionLinenumberEnd: 2363
    functionName: do_soft_stop_now
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - proxy_cond_disable
    - tick_add
    - task_schedule
    - thread_isolate
    - thread_release
    - signal_handler
    - task_new_anywhere
    - HA_RWLOCK_WRUNLOCK
    - tick_isset
    - HA_RWLOCK_WRLOCK
    - protocol_stop_now
    linkageType: ''
    returnType: void
    signature: do_soft_stop_now()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_notice
      Src: /src/haproxy/src/proxy.c:2368,1
    - Dst: send_log
      Src: /src/haproxy/src/proxy.c:2369,1
    - Dst: do_soft_stop_now
      Src: /src/haproxy/src/proxy.c:2370,1
    - Dst: task_destroy
      Src: /src/haproxy/src/proxy.c:2371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - t
    - context
    - state
    argTypes:
    - struct task*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 2373
      start: 2366
    functionDepth: 12
    functionLinenumber: 2366
    functionLinenumberEnd: 2373
    functionName: grace_expired
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - send_log
    - do_soft_stop_now
    - ha_notice
    - task_destroy
    linkageType: ''
    returnType: struct task
    signature: '*grace_expired(struct task *t, void *context, unsigned int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_isset
      Src: /src/haproxy/src/proxy.c:2385,1
    - Dst: task_new_anywhere
      Src: /src/haproxy/src/proxy.c:2386,1
    - Dst: ha_notice
      Src: /src/haproxy/src/proxy.c:2388,1
    - Dst: send_log
      Src: /src/haproxy/src/proxy.c:2389,1
    - Dst: task_schedule
      Src: /src/haproxy/src/proxy.c:2391,1
    - Dst: tick_add
      Src: /src/haproxy/src/proxy.c:2391,1
    - Dst: ha_alert
      Src: /src/haproxy/src/proxy.c:2395,1
    - Dst: do_soft_stop_now
      Src: /src/haproxy/src/proxy.c:2400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2379
    functionDepth: 12
    functionLinenumber: 2379
    functionLinenumberEnd: 2401
    functionName: soft_stop
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 2
    functionsReached:
    - ha_alert
    - send_log
    - tick_add
    - task_schedule
    - task_new_anywhere
    - do_soft_stop_now
    - ha_notice
    - tick_isset
    linkageType: ''
    returnType: void
    signature: soft_stop(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/proxy.c:2414,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/proxy.c:2419,1
    - Dst: suspend_listener
      Src: /src/haproxy/src/proxy.c:2420,1
    - Dst: ha_warning
      Src: /src/haproxy/src/proxy.c:2423,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/proxy.c:2423,1
    - Dst: send_log
      Src: /src/haproxy/src/proxy.c:2424,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/proxy.c:2424,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/proxy.c:2425,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/proxy.c:2429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2431
      start: 2410
    functionDepth: 10
    functionLinenumber: 2410
    functionLinenumberEnd: 2431
    functionName: pause_proxy
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached:
    - send_log
    - list_for_each_entry
    - ha_warning
    - HA_RWLOCK_WRUNLOCK
    - proxy_cap_str
    - HA_RWLOCK_WRLOCK
    - suspend_listener
    linkageType: ''
    returnType: int
    signature: pause_proxy(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/proxy.c:2446,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/proxy.c:2448,1
    - Dst: stop_listener
      Src: /src/haproxy/src/proxy.c:2449,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/proxy.c:2456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2457
      start: 2442
    functionDepth: 2
    functionLinenumber: 2442
    functionLinenumberEnd: 2457
    functionName: stop_proxy
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 5
    functionsReached:
    - list_for_each_entry
    - HA_RWLOCK_WRLOCK
    - HA_RWLOCK_WRUNLOCK
    - stop_listener
    linkageType: ''
    returnType: void
    signature: stop_proxy(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/proxy.c:2471,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/proxy.c:2477,1
    - Dst: resume_listener
      Src: /src/haproxy/src/proxy.c:2478,1
    - Dst: get_host_port
      Src: /src/haproxy/src/proxy.c:2481,1
    - Dst: ha_warning
      Src: /src/haproxy/src/proxy.c:2483,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/proxy.c:2484,1
    - Dst: send_log
      Src: /src/haproxy/src/proxy.c:2485,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/proxy.c:2486,1
    - Dst: ha_warning
      Src: /src/haproxy/src/proxy.c:2489,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/proxy.c:2490,1
    - Dst: send_log
      Src: /src/haproxy/src/proxy.c:2491,1
    - Dst: proxy_cap_str
      Src: /src/haproxy/src/proxy.c:2492,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/proxy.c:2502,1
    - Dst: pause_proxy
      Src: /src/haproxy/src/proxy.c:2504,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/proxy.c:2508,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2510
      start: 2466
    functionDepth: 11
    functionLinenumber: 2466
    functionLinenumberEnd: 2510
    functionName: resume_proxy
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached:
    - send_log
    - resume_listener
    - list_for_each_entry
    - ha_warning
    - pause_proxy
    - HA_RWLOCK_WRUNLOCK
    - proxy_cap_str
    - HA_RWLOCK_WRLOCK
    - get_host_port
    linkageType: ''
    returnType: int
    signature: resume_proxy(struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flt_set_stream_backend
      Src: /src/haproxy/src/proxy.c:2525,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/src/proxy.c:2529,1
    - Dst: HA_ATOMIC_ADD_FETCH
      Src: /src/haproxy/src/proxy.c:2530,1
    - Dst: proxy_inc_be_ctr
      Src: /src/haproxy/src/proxy.c:2531,1
    - Dst: strm_fe
      Src: /src/haproxy/src/proxy.c:2544,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/proxy.c:2550,1
    - Dst: strm_fe
      Src: /src/haproxy/src/proxy.c:2550,1
    - Dst: strm_li
      Src: /src/haproxy/src/proxy.c:2556,1
    - Dst: strm_li
      Src: /src/haproxy/src/proxy.c:2556,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/proxy.c:2558,1
    - Dst: stream_set_http_mode
      Src: /src/haproxy/src/proxy.c:2561,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/proxy.c:2564,1
    - Dst: unlikely
      Src: /src/haproxy/src/proxy.c:2576,1
    - Dst: http_create_txn
      Src: /src/haproxy/src/proxy.c:2576,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 2
    argNames:
    - s
    - be
    argTypes:
    - struct stream*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 2587
      start: 2518
    functionDepth: 8
    functionLinenumber: 2518
    functionLinenumberEnd: 2587
    functionName: stream_set_backend
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_UPDATE_MAX
    - proxy_inc_be_ctr
    - strm_fe
    - IS_HTX_STRM
    - strm_li
    - stream_set_http_mode
    - unlikely
    - http_create_txn
    - flt_set_stream_backend
    - HA_ATOMIC_ADD_FETCH
    linkageType: ''
    returnType: int
    signature: stream_set_backend(struct stream *s, struct proxy *be)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_FETCH_ADD
      Src: /src/haproxy/src/proxy.c:2621,1
    - Dst: b_data
      Src: /src/haproxy/src/proxy.c:2623,1
    - Dst: malloc
      Src: /src/haproxy/src/proxy.c:2625,1
    - Dst: b_size
      Src: /src/haproxy/src/proxy.c:2632,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/src/proxy.c:2632,1
    - Dst: memcpy
      Src: /src/haproxy/src/proxy.c:2637,1
    - Dst: b_peek
      Src: /src/haproxy/src/proxy.c:2637,1
    - Dst: memcpy
      Src: /src/haproxy/src/proxy.c:2640,1
    - Dst: b_orig
      Src: /src/haproxy/src/proxy.c:2640,1
    - Dst: objt_server
      Src: /src/haproxy/src/proxy.c:2645,1
    - Dst: objt_conn
      Src: /src/haproxy/src/proxy.c:2647,1
    - Dst: conn_get_src
      Src: /src/haproxy/src/proxy.c:2647,1
    - Dst: __objt_conn
      Src: /src/haproxy/src/proxy.c:2647,1
    - Dst: __objt_conn
      Src: /src/haproxy/src/proxy.c:2648,1
    - Dst: memset
      Src: /src/haproxy/src/proxy.c:2650,1
    - Dst: b_wrap
      Src: /src/haproxy/src/proxy.c:2652,1
    - Dst: b_peek
      Src: /src/haproxy/src/proxy.c:2652,1
    - Dst: memset
      Src: /src/haproxy/src/proxy.c:2666,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/proxy.c:2672,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/src/proxy.c:2674,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/src/proxy.c:2676,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/proxy.c:2678,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:2679,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 10
    argNames:
    - proxy
    - is_back
    - other_end
    - target
    - sess
    - buf
    - buf_ofs
    - buf_out
    - err_pos
    - ctx
    argTypes:
    - struct proxy*
    - int
    - struct proxy*
    - enum obj_type*
    - struct session*
    - struct buffer*
    - long
    - unsigned int
    - unsigned int
    - union error_snapshot_ctx*
    constantsTouched: []
    func_position:
      end: 2680
      start: 2608
    functionDepth: 3
    functionLinenumber: 2608
    functionLinenumberEnd: 2680
    functionName: proxy_capture_error
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 2
    functionsReached:
    - malloc
    - HA_ATOMIC_XCHG
    - HA_ATOMIC_FETCH_ADD
    - ha_free
    - b_wrap
    - objt_server
    - b_peek
    - __objt_conn
    - objt_conn
    - conn_get_src
    - b_orig
    - HA_RWLOCK_WRUNLOCK
    - b_data
    - b_size
    - memset
    - HA_RWLOCK_WRLOCK
    - memcpy
    - b_peek_ofs
    linkageType: ''
    returnType: void
    signature: "proxy_capture_error(struct proxy *proxy, int is_back,\n\t\t\t struct
      proxy *other_end, enum obj_type *target,\n\t\t\t const struct session *sess,\n\t\t\t
      const struct buffer *buf, long buf_ofs,\n\t\t\t unsigned int buf_out, unsigned
      int err_pos,\n\t\t\t const union error_snapshot_ctx *ctx,\n\t\t\t void (*show)(struct
      buffer *, const struct error_snapshot *))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/proxy.c:2709,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/proxy.c:2719,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2688
    functionDepth: 0
    functionLinenumber: 2688
    functionLinenumberEnd: 2754
    functionName: proxy_adjust_all_maxconn
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    linkageType: ''
    returnType: void
    signature: proxy_adjust_all_maxconn()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:2798,1
    - Dst: proxy_fe_by_name
      Src: /src/haproxy/src/proxy.c:2802,1
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:2804,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - appctx
    - arg
    argTypes:
    - struct appctx*
    - char*
    constantsTouched: []
    func_position:
      end: 2808
      start: 2793
    functionDepth: 1
    functionLinenumber: 2793
    functionLinenumberEnd: 2808
    functionName: cli_find_frontend
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - cli_err
    - proxy_fe_by_name
    linkageType: ''
    returnType: struct proxy
    signature: '*cli_find_frontend(struct appctx *appctx, const char *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:2819,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/proxy.c:2823,1
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:2825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - appctx
    - arg
    argTypes:
    - struct appctx*
    - char*
    constantsTouched: []
    func_position:
      end: 2829
      start: 2814
    functionDepth: 1
    functionLinenumber: 2814
    functionLinenumberEnd: 2829
    functionName: cli_find_backend
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - proxy_be_by_name
    - cli_err
    linkageType: ''
    returnType: struct proxy
    signature: '*cli_find_backend(struct appctx *appctx, const char *arg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/proxy.c:2839,1
    - Dst: proxy_be_by_name
      Src: /src/haproxy/src/proxy.c:2847,1
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:2850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 2856
      start: 2837
    functionDepth: 1
    functionLinenumber: 2837
    functionLinenumberEnd: 2856
    functionName: cli_parse_show_servers
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - proxy_be_by_name
    - cli_err
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_show_servers(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: addr_to_str
      Src: /src/haproxy/src/proxy.c:2865,1
    - Dst: memcpy
      Src: /src/haproxy/src/proxy.c:2868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - addr
    - addr_str
    argTypes:
    - struct sockaddr_storage*
    - char*
    constantsTouched: []
    func_position:
      end: 2871
      start: 2859
    functionDepth: 1
    functionLinenumber: 2859
    functionLinenumberEnd: 2871
    functionName: dump_server_addr
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - memcpy
    - addr_to_str
    linkageType: ''
    returnType: void
    signature: dump_server_addr(const struct sockaddr_storage *addr, char *addr_str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dump_server_addr
      Src: /src/haproxy/src/proxy.c:2899,1
    - Dst: dump_server_addr
      Src: /src/haproxy/src/proxy.c:2900,1
    - Dst: dump_server_addr
      Src: /src/haproxy/src/proxy.c:2901,1
    - Dst: ns_to_sec
      Src: /src/haproxy/src/proxy.c:2903,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/proxy.c:2913,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/proxy.c:2922,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/proxy.c:2923,1
    - Dst: hash_ipanon
      Src: /src/haproxy/src/proxy.c:2924,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/proxy.c:2930,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/proxy.c:2937,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/proxy.c:2939,1
    - Dst: HA_ANON_CLI
      Src: /src/haproxy/src/proxy.c:2939,1
    - Dst: hash_ipanon
      Src: /src/haproxy/src/proxy.c:2940,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proxy.c:2946,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proxy.c:2948,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/proxy.c:2951,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2956
      start: 2881
    functionDepth: 5
    functionLinenumber: 2881
    functionLinenumberEnd: 2956
    functionName: dump_servers_state
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - ns_to_sec
    - hash_ipanon
    - chunk_printf
    - chunk_appendf
    - applet_putchk
    - dump_server_addr
    - HA_ANON_CLI
    linkageType: ''
    returnType: int
    signature: dump_servers_state(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_printf
      Src: /src/haproxy/src/proxy.c:2969,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/proxy.c:2971,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/proxy.c:2975,1
    - Dst: dump_servers_state
      Src: /src/haproxy/src/proxy.c:2988,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2997
      start: 2962
    functionDepth: 6
    functionLinenumber: 2962
    functionLinenumberEnd: 2997
    functionName: cli_io_handler_servers_state
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - applet_putchk
    - dump_servers_state
    - chunk_printf
    linkageType: ''
    returnType: int
    signature: cli_io_handler_servers_state(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/proxy.c:3006,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/proxy.c:3009,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/proxy.c:3010,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proxy.c:3023,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/proxy.c:3024,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 3029
      start: 3002
    functionDepth: 1
    functionLinenumber: 3002
    functionLinenumberEnd: 3029
    functionName: cli_io_handler_show_backend
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - applet_putchk
    - chunk_reset
    - chunk_printf
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_backend(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/proxy.c:3040,1
    - Dst: cli_find_backend
      Src: /src/haproxy/src/proxy.c:3043,1
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:3048,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/proxy.c:3053,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/proxy.c:3055,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/proxy.c:3058,1
    - Dst: srv_set_dyncookie
      Src: /src/haproxy/src/proxy.c:3059,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/proxy.c:3060,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3064
      start: 3035
    functionDepth: 6
    functionLinenumber: 3035
    functionLinenumberEnd: 3064
    functionName: cli_parse_enable_dyncookie_backend
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - cli_find_backend
    - srv_set_dyncookie
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - HA_RWLOCK_WRUNLOCK
    - cli_has_level
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: cli_parse_enable_dyncookie_backend(char **args, char *payload, struct
      appctx *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/proxy.c:3075,1
    - Dst: cli_find_backend
      Src: /src/haproxy/src/proxy.c:3078,1
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:3083,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/proxy.c:3088,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/proxy.c:3090,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/proxy.c:3093,1
    - Dst: ha_free
      Src: /src/haproxy/src/proxy.c:3095,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/proxy.c:3096,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3100
      start: 3070
    functionDepth: 2
    functionLinenumber: 3070
    functionLinenumberEnd: 3100
    functionName: cli_parse_disable_dyncookie_backend
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - cli_find_backend
    - ha_free
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - HA_RWLOCK_WRUNLOCK
    - cli_has_level
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: cli_parse_disable_dyncookie_backend(char **args, char *payload, struct
      appctx *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/proxy.c:3112,1
    - Dst: cli_find_backend
      Src: /src/haproxy/src/proxy.c:3115,1
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:3120,1
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:3123,1
    - Dst: strdup
      Src: /src/haproxy/src/proxy.c:3125,1
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:3127,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/proxy.c:3132,1
    - Dst: free
      Src: /src/haproxy/src/proxy.c:3133,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/proxy.c:3135,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/proxy.c:3138,1
    - Dst: srv_set_dyncookie
      Src: /src/haproxy/src/proxy.c:3139,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/proxy.c:3140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3144
      start: 3106
    functionDepth: 6
    functionLinenumber: 3106
    functionLinenumberEnd: 3144
    functionName: cli_parse_set_dyncookie_key_backend
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - cli_find_backend
    - srv_set_dyncookie
    - cli_err
    - HA_SPIN_UNLOCK
    - strdup
    - free
    - HA_RWLOCK_WRUNLOCK
    - HA_SPIN_LOCK
    - cli_has_level
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: cli_parse_set_dyncookie_key_backend(char **args, char *payload, struct
      appctx *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/proxy.c:3156,1
    - Dst: cli_find_frontend
      Src: /src/haproxy/src/proxy.c:3159,1
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:3164,1
    - Dst: atoi
      Src: /src/haproxy/src/proxy.c:3166,1
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:3168,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/proxy.c:3173,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/proxy.c:3176,1
    - Dst: relax_listener
      Src: /src/haproxy/src/proxy.c:3178,1
    - Dst: dequeue_proxy_listeners
      Src: /src/haproxy/src/proxy.c:3182,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/proxy.c:3184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3187
      start: 3150
    functionDepth: 4
    functionLinenumber: 3150
    functionLinenumberEnd: 3187
    functionName: cli_parse_set_maxconn_frontend
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - dequeue_proxy_listeners
    - atoi
    - list_for_each_entry
    - cli_err
    - HA_RWLOCK_WRUNLOCK
    - cli_find_frontend
    - cli_has_level
    - HA_RWLOCK_WRLOCK
    - relax_listener
    linkageType: ''
    returnType: int
    signature: cli_parse_set_maxconn_frontend(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/proxy.c:3197,1
    - Dst: cli_find_frontend
      Src: /src/haproxy/src/proxy.c:3200,1
    - Dst: cli_msg
      Src: /src/haproxy/src/proxy.c:3205,1
    - Dst: stop_proxy
      Src: /src/haproxy/src/proxy.c:3207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3209
      start: 3193
    functionDepth: 3
    functionLinenumber: 3193
    functionLinenumberEnd: 3209
    functionName: cli_parse_shutdown_frontend
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - cli_msg
    - stop_proxy
    - cli_find_frontend
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_shutdown_frontend(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/proxy.c:3220,1
    - Dst: cli_find_frontend
      Src: /src/haproxy/src/proxy.c:3223,1
    - Dst: cli_msg
      Src: /src/haproxy/src/proxy.c:3228,1
    - Dst: cli_msg
      Src: /src/haproxy/src/proxy.c:3231,1
    - Dst: pause_proxy
      Src: /src/haproxy/src/proxy.c:3234,1
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:3237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3240
      start: 3215
    functionDepth: 11
    functionLinenumber: 3215
    functionLinenumberEnd: 3240
    functionName: cli_parse_disable_frontend
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - pause_proxy
    - cli_err
    - cli_msg
    - cli_find_frontend
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_disable_frontend(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/proxy.c:3251,1
    - Dst: cli_find_frontend
      Src: /src/haproxy/src/proxy.c:3254,1
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:3259,1
    - Dst: cli_msg
      Src: /src/haproxy/src/proxy.c:3262,1
    - Dst: resume_proxy
      Src: /src/haproxy/src/proxy.c:3265,1
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:3268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3270
      start: 3246
    functionDepth: 12
    functionLinenumber: 3246
    functionLinenumberEnd: 3270
    functionName: cli_parse_enable_frontend
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - resume_proxy
    - cli_err
    - cli_msg
    - cli_find_frontend
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_enable_frontend(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/proxy.c:3287,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/proxy.c:3289,1
    - Dst: proxy_find_by_name
      Src: /src/haproxy/src/proxy.c:3295,1
    - Dst: atoi
      Src: /src/haproxy/src/proxy.c:3299,1
    - Dst: cli_err
      Src: /src/haproxy/src/proxy.c:3302,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:3308,1
    - Dst: strcmp
      Src: /src/haproxy/src/proxy.c:3310,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3314
      start: 3285
    functionDepth: 4
    functionLinenumber: 3285
    functionLinenumberEnd: 3314
    functionName: cli_parse_show_errors
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - proxy_find_by_name
    - atoi
    - strcmp
    - cli_err
    - cli_has_level
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_show_errors(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/src/proxy.c:3325,1
    - Dst: get_localtime
      Src: /src/haproxy/src/proxy.c:3333,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proxy.c:3334,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/proxy.c:3339,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/proxy.c:3353,1
    - Dst: get_localtime
      Src: /src/haproxy/src/proxy.c:3381,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proxy.c:3382,1
    - Dst: addr_to_str
      Src: /src/haproxy/src/proxy.c:3386,1
    - Dst: get_host_port
      Src: /src/haproxy/src/proxy.c:3389,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proxy.c:3397,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proxy.c:3405,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proxy.c:3413,1
    - Dst: struct error_snapshot*::show
      Src: /src/haproxy/src/proxy.c:3425,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proxy.c:3427,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/proxy.c:3429,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/proxy.c:3438,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/proxy.c:3440,1
    - Dst: dump_text_line
      Src: /src/haproxy/src/proxy.c:3452,1
    - Dst: applet_fl_set
      Src: /src/haproxy/src/proxy.c:3454,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/proxy.c:3458,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/proxy.c:3465,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/proxy.c:3477,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 99
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 3480
      start: 3320
    functionDepth: 2
    functionLinenumber: 3320
    functionLinenumberEnd: 3480
    functionName: cli_io_handler_show_errors
    functionSourceFile: /src/haproxy/src/proxy.c
    functionUses: 0
    functionsReached:
    - dump_text_line
    - chunk_reset
    - addr_to_str
    - get_localtime
    - HA_RWLOCK_RDLOCK
    - chunk_appendf
    - applet_putchk
    - applet_fl_set
    - struct error_snapshot*::show
    - get_host_port
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_errors(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - sctl
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 197
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 197
    functionName: ssl_sock_parse_sctl
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ssl_sock_parse_sctl(struct buffer *sctl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_initstr
      Src: /src/haproxy/src/ssl_ckch.c:212,1
    - Dst: open
      Src: /src/haproxy/src/ssl_ckch.c:215,1
    - Dst: read
      Src: /src/haproxy/src/ssl_ckch.c:221,1
    - Dst: ssl_sock_parse_sctl
      Src: /src/haproxy/src/ssl_ckch.c:235,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_ckch.c:239,1
    - Dst: chunk_dup
      Src: /src/haproxy/src/ssl_ckch.c:240,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:241,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:246,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:247,1
    - Dst: close
      Src: /src/haproxy/src/ssl_ckch.c:253,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - sctl_path
    - buf
    - data
    - err
    argTypes:
    - char*
    - char*
    - struct ckch_data*
    - char**
    constantsTouched: []
    func_position:
      end: 256
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 256
    functionName: ssl_sock_load_sctl_from_file
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - ssl_sock_parse_sctl
    - ha_free
    - calloc
    - chunk_initstr
    - free
    - chunk_dup
    - read
    - open
    - close
    linkageType: ''
    returnType: int
    signature: ssl_sock_load_sctl_from_file(const char *sctl_path, char *buf, struct
      ckch_data *data, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: base64dec
      Src: /src/haproxy/src/ssl_ckch.c:285,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:287,1
    - Dst: open
      Src: /src/haproxy/src/ssl_ckch.c:293,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:295,1
    - Dst: read
      Src: /src/haproxy/src/ssl_ckch.c:301,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:306,1
    - Dst: close
      Src: /src/haproxy/src/ssl_ckch.c:314,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_ckch.c:319,1
    - Dst: chunk_dup
      Src: /src/haproxy/src/ssl_ckch.c:320,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:321,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:326,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:327,1
    - Dst: close
      Src: /src/haproxy/src/ssl_ckch.c:333,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 4
    argNames:
    - ocsp_path
    - buf
    - data
    - err
    argTypes:
    - char*
    - char*
    - struct ckch_data*
    - char**
    constantsTouched: []
    func_position:
      end: 336
      start: 265
    functionDepth: 5
    functionLinenumber: 265
    functionLinenumberEnd: 336
    functionName: ssl_sock_load_ocsp_response_from_file
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ha_free
    - calloc
    - free
    - chunk_dup
    - read
    - open
    - base64dec
    - close
    linkageType: ''
    returnType: int
    signature: ssl_sock_load_ocsp_response_from_file(const char *ocsp_path, char *buf,
      struct ckch_data *data, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_sock_load_pem_into_ckch
      Src: /src/haproxy/src/ssl_ckch.c:361,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_ckch.c:366,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:368,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_ckch.c:371,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:373,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:379,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:381,1
    - Dst: chunk_strcpy
      Src: /src/haproxy/src/ssl_ckch.c:385,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ckch.c:385,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:386,1
    - Dst: strrchr
      Src: /src/haproxy/src/ssl_ckch.c:397,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:399,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:401,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:412,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/ssl_ckch.c:417,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ckch.c:417,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:418,1
    - Dst: stat
      Src: /src/haproxy/src/ssl_ckch.c:424,1
    - Dst: ssl_sock_load_key_into_ckch
      Src: /src/haproxy/src/ssl_ckch.c:425,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:426,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:433,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:437,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_ckch.c:438,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:440,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:445,1
    - Dst: b_sub
      Src: /src/haproxy/src/ssl_ckch.c:446,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:446,1
    - Dst: X509_check_private_key
      Src: /src/haproxy/src/ssl_ckch.c:450,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:451,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/ssl_ckch.c:461,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ckch.c:461,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:462,1
    - Dst: stat
      Src: /src/haproxy/src/ssl_ckch.c:468,1
    - Dst: ssl_sock_load_sctl_from_file
      Src: /src/haproxy/src/ssl_ckch.c:469,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:470,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_ckch.c:477,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:479,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:485,1
    - Dst: b_sub
      Src: /src/haproxy/src/ssl_ckch.c:486,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:486,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/ssl_ckch.c:495,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ckch.c:495,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:496,1
    - Dst: stat
      Src: /src/haproxy/src/ssl_ckch.c:502,1
    - Dst: ssl_sock_load_ocsp_response_from_file
      Src: /src/haproxy/src/ssl_ckch.c:503,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_ckch.c:509,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:511,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:517,1
    - Dst: b_sub
      Src: /src/haproxy/src/ssl_ckch.c:518,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:518,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/ssl_ckch.c:526,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ckch.c:526,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:527,1
    - Dst: stat
      Src: /src/haproxy/src/ssl_ckch.c:533,1
    - Dst: ssl_sock_load_issuer_file_into_ckch
      Src: /src/haproxy/src/ssl_ckch.c:534,1
    - Dst: X509_check_issued
      Src: /src/haproxy/src/ssl_ckch.c:539,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:540,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_ckch.c:547,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:549,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:555,1
    - Dst: b_sub
      Src: /src/haproxy/src/ssl_ckch.c:556,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:556,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_ckch.c:566,1
    - Dst: ssl_sock_free_cert_key_and_chain_contents
      Src: /src/haproxy/src/ssl_ckch.c:570,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:572,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 172
    argCount: 4
    argNames:
    - path
    - data
    - conf
    - err
    argTypes:
    - char*
    - struct ckch_data*
    - struct ckch_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 575
      start: 354
    functionDepth: 6
    functionLinenumber: 354
    functionLinenumberEnd: 575
    functionName: ssl_sock_load_files_into_ckch
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 1
    functionsReached:
    - memprintf
    - strrchr
    - X509_check_issued
    - X509_check_private_key
    - free_trash_chunk
    - ssl_sock_load_pem_into_ckch
    - b_sub
    - alloc_trash_chunk
    - stat
    - strcmp
    - chunk_strcat
    - ssl_sock_load_key_into_ckch
    - free
    - ssl_sock_load_issuer_file_into_ckch
    - strlen
    - strdup
    - ssl_sock_free_cert_key_and_chain_contents
    - b_data
    - ssl_sock_load_sctl_from_file
    - ssl_sock_load_ocsp_response_from_file
    - chunk_strcpy
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: ssl_sock_load_files_into_ckch(const char *path, struct ckch_data *data,
      struct ckch_conf *conf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/haproxy/src/ssl_ckch.c:592,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:594,1
    - Dst: BIO_new
      Src: /src/haproxy/src/ssl_ckch.c:600,1
    - Dst: BIO_s_file
      Src: /src/haproxy/src/ssl_ckch.c:600,1
    - Dst: BIO_read_filename
      Src: /src/haproxy/src/ssl_ckch.c:604,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/haproxy/src/ssl_ckch.c:609,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:611,1
    - Dst: SWAP
      Src: /src/haproxy/src/ssl_ckch.c:618,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_ckch.c:622,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_ckch.c:624,1
    - Dst: EVP_PKEY_free
      Src: /src/haproxy/src/ssl_ckch.c:626,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - path
    - buf
    - data
    - err
    argTypes:
    - char*
    - char*
    - struct ckch_data*
    - char**
    constantsTouched: []
    func_position:
      end: 629
      start: 584
    functionDepth: 5
    functionLinenumber: 584
    functionLinenumberEnd: 629
    functionName: ssl_sock_load_key_into_ckch
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 1
    functionsReached:
    - memprintf
    - BIO_free
    - BIO_new_mem_buf
    - PEM_read_bio_PrivateKey
    - ERR_clear_error
    - EVP_PKEY_free
    - SWAP
    - BIO_new
    - BIO_s_file
    - BIO_read_filename
    linkageType: ''
    returnType: int
    signature: ssl_sock_load_key_into_ckch(const char *path, char *buf, struct ckch_data
      *data , char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_ckch.c:648,1
    - Dst: BIO_new_mem_buf
      Src: /src/haproxy/src/ssl_ckch.c:653,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:655,1
    - Dst: BIO_new
      Src: /src/haproxy/src/ssl_ckch.c:661,1
    - Dst: BIO_s_file
      Src: /src/haproxy/src/ssl_ckch.c:661,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:663,1
    - Dst: BIO_read_filename
      Src: /src/haproxy/src/ssl_ckch.c:667,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:668,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/haproxy/src/ssl_ckch.c:675,1
    - Dst: BIO_reset
      Src: /src/haproxy/src/ssl_ckch.c:680,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:681,1
    - Dst: ssl_sock_get_dh_from_bio
      Src: /src/haproxy/src/ssl_ckch.c:686,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_ckch.c:687,1
    - Dst: BIO_reset
      Src: /src/haproxy/src/ssl_ckch.c:692,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:693,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/haproxy/src/ssl_ckch.c:699,1
    - Dst: ERR_get_error
      Src: /src/haproxy/src/ssl_ckch.c:701,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:702,1
    - Dst: ERR_reason_error_string
      Src: /src/haproxy/src/ssl_ckch.c:703,1
    - Dst: PEM_read_bio_X509
      Src: /src/haproxy/src/ssl_ckch.c:708,1
    - Dst: sk_X509_new_null
      Src: /src/haproxy/src/ssl_ckch.c:710,1
    - Dst: sk_X509_push
      Src: /src/haproxy/src/ssl_ckch.c:711,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_ckch.c:712,1
    - Dst: ssl_get0_issuer_chain
      Src: /src/haproxy/src/ssl_ckch.c:719,1
    - Dst: X509_chain_up_ref
      Src: /src/haproxy/src/ssl_ckch.c:721,1
    - Dst: ERR_get_error
      Src: /src/haproxy/src/ssl_ckch.c:724,1
    - Dst: ERR_GET_LIB
      Src: /src/haproxy/src/ssl_ckch.c:725,1
    - Dst: ERR_GET_REASON
      Src: /src/haproxy/src/ssl_ckch.c:725,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:726,1
    - Dst: ERR_reason_error_string
      Src: /src/haproxy/src/ssl_ckch.c:727,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:733,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:734,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:738,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:739,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_ckch.c:743,1
    - Dst: SWAP
      Src: /src/haproxy/src/ssl_ckch.c:748,1
    - Dst: SWAP
      Src: /src/haproxy/src/ssl_ckch.c:749,1
    - Dst: SWAP
      Src: /src/haproxy/src/ssl_ckch.c:750,1
    - Dst: SWAP
      Src: /src/haproxy/src/ssl_ckch.c:751,1
    - Dst: SWAP
      Src: /src/haproxy/src/ssl_ckch.c:752,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_ckch.c:758,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_ckch.c:760,1
    - Dst: EVP_PKEY_free
      Src: /src/haproxy/src/ssl_ckch.c:762,1
    - Dst: HASSL_DH_free
      Src: /src/haproxy/src/ssl_ckch.c:764,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_ckch.c:766,1
    - Dst: sk_X509_pop_free
      Src: /src/haproxy/src/ssl_ckch.c:768,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 93
    argCount: 4
    argNames:
    - path
    - buf
    - data
    - err
    argTypes:
    - char*
    - char*
    - struct ckch_data*
    - char**
    constantsTouched: []
    func_position:
      end: 771
      start: 640
    functionDepth: 5
    functionLinenumber: 640
    functionLinenumberEnd: 771
    functionName: ssl_sock_load_pem_into_ckch
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 1
    functionsReached:
    - memprintf
    - PEM_read_bio_PrivateKey
    - ha_free
    - ERR_GET_LIB
    - EVP_PKEY_free
    - HASSL_DH_free
    - BIO_new
    - BIO_s_file
    - ssl_sock_get_dh_from_bio
    - ERR_get_error
    - BIO_new_mem_buf
    - sk_X509_push
    - STACK_OF
    - BIO_read_filename
    - BIO_free
    - PEM_read_bio_X509_AUX
    - sk_X509_pop_free
    - X509_free
    - ERR_reason_error_string
    - X509_chain_up_ref
    - SWAP
    - ssl_get0_issuer_chain
    - ERR_GET_REASON
    - BIO_reset
    - sk_X509_new_null
    - PEM_read_bio_X509
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: ssl_sock_load_pem_into_ckch(const char *path, char *buf, struct ckch_data
      *data , char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_ckch.c:782,1
    - Dst: EVP_PKEY_free
      Src: /src/haproxy/src/ssl_ckch.c:787,1
    - Dst: sk_X509_pop_free
      Src: /src/haproxy/src/ssl_ckch.c:792,1
    - Dst: HASSL_DH_free
      Src: /src/haproxy/src/ssl_ckch.c:796,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:800,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:801,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:805,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:806,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_ckch.c:810,1
    - Dst: ssl_ocsp_build_response_key
      Src: /src/haproxy/src/ssl_ckch.c:823,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/src/ssl_ckch.c:824,1
    - Dst: ebmb_lookup
      Src: /src/haproxy/src/ssl_ckch.c:825,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:826,1
    - Dst: ssl_sock_free_ocsp
      Src: /src/haproxy/src/ssl_ckch.c:827,1
    - Dst: OCSP_CERTID_free
      Src: /src/haproxy/src/ssl_ckch.c:830,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct ckch_data*
    constantsTouched: []
    func_position:
      end: 834
      start: 775
    functionDepth: 3
    functionLinenumber: 775
    functionLinenumberEnd: 834
    functionName: ssl_sock_free_cert_key_and_chain_contents
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 3
    functionsReached:
    - sk_X509_pop_free
    - ha_free
    - ssl_sock_free_ocsp
    - X509_free
    - HA_SPIN_UNLOCK
    - ssl_ocsp_build_response_key
    - EVP_PKEY_free
    - HA_SPIN_LOCK
    - ebmb_lookup
    - HASSL_DH_free
    - OCSP_CERTID_free
    linkageType: ''
    returnType: void
    signature: ssl_sock_free_cert_key_and_chain_contents(struct ckch_data *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_up_ref
      Src: /src/haproxy/src/ssl_ckch.c:853,1
    - Dst: EVP_PKEY_up_ref
      Src: /src/haproxy/src/ssl_ckch.c:858,1
    - Dst: X509_chain_up_ref
      Src: /src/haproxy/src/ssl_ckch.c:862,1
    - Dst: HASSL_DH_up_ref
      Src: /src/haproxy/src/ssl_ckch.c:867,1
    - Dst: wolfSSL_DH_dup
      Src: /src/haproxy/src/ssl_ckch.c:870,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_ckch.c:879,1
    - Dst: chunk_dup
      Src: /src/haproxy/src/ssl_ckch.c:880,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:881,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_ckch.c:891,1
    - Dst: chunk_dup
      Src: /src/haproxy/src/ssl_ckch.c:892,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:893,1
    - Dst: X509_up_ref
      Src: /src/haproxy/src/ssl_ckch.c:900,1
    - Dst: OCSP_CERTID_dup
      Src: /src/haproxy/src/ssl_ckch.c:903,1
    - Dst: ssl_sock_free_cert_key_and_chain_contents
      Src: /src/haproxy/src/ssl_ckch.c:910,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - struct ckch_data*
    - struct ckch_data*
    constantsTouched: []
    func_position:
      end: 913
      start: 845
    functionDepth: 4
    functionLinenumber: 845
    functionLinenumberEnd: 913
    functionName: ssl_sock_copy_cert_key_and_chain
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - ha_free
    - calloc
    - X509_up_ref
    - EVP_PKEY_up_ref
    - ssl_sock_free_cert_key_and_chain_contents
    - X509_chain_up_ref
    - chunk_dup
    - OCSP_CERTID_dup
    - wolfSSL_DH_dup
    - HASSL_DH_up_ref
    linkageType: ''
    returnType: struct ckch_data
    signature: "*ssl_sock_copy_cert_key_and_chain(struct ckch_data *src,\n                                                                   struct
      ckch_data *dst)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/haproxy/src/ssl_ckch.c:926,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:928,1
    - Dst: BIO_new
      Src: /src/haproxy/src/ssl_ckch.c:934,1
    - Dst: BIO_s_file
      Src: /src/haproxy/src/ssl_ckch.c:934,1
    - Dst: BIO_read_filename
      Src: /src/haproxy/src/ssl_ckch.c:938,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/haproxy/src/ssl_ckch.c:942,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:944,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_ckch.c:950,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_ckch.c:956,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_ckch.c:958,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - path
    - buf
    - data
    - err
    argTypes:
    - char*
    - char*
    - struct ckch_data*
    - char**
    constantsTouched: []
    func_position:
      end: 961
      start: 918
    functionDepth: 5
    functionLinenumber: 918
    functionLinenumberEnd: 961
    functionName: ssl_sock_load_issuer_file_into_ckch
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 1
    functionsReached:
    - memprintf
    - BIO_free
    - PEM_read_bio_X509_AUX
    - BIO_new_mem_buf
    - ERR_clear_error
    - X509_free
    - BIO_new
    - BIO_s_file
    - BIO_read_filename
    linkageType: ''
    returnType: int
    signature: ssl_sock_load_issuer_file_into_ckch(const char *path, char *buf, struct
      ckch_data *data, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_ckch.c:978,1
    - Dst: ckch_inst_free
      Src: /src/haproxy/src/ssl_ckch.c:979,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/ssl_ckch.c:981,1
    - Dst: ssl_sock_free_cert_key_and_chain_contents
      Src: /src/haproxy/src/ssl_ckch.c:983,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:984,1
    - Dst: ckch_conf_clean
      Src: /src/haproxy/src/ssl_ckch.c:987,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - store
    argTypes:
    - struct ckch_store*
    constantsTouched: []
    func_position:
      end: 990
      start: 971
    functionDepth: 4
    functionLinenumber: 971
    functionLinenumberEnd: 990
    functionName: ckch_store_free
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 2
    functionsReached:
    - ckch_conf_clean
    - ha_free
    - list_for_each_entry_safe
    - ckch_inst_free
    - ssl_sock_free_cert_key_and_chain_contents
    - free
    - ebmb_delete
    linkageType: ''
    returnType: void
    signature: ckch_store_free(struct ckch_store *store)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:1004,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_ckch.c:1005,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_ckch.c:1009,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_ckch.c:1011,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_ckch.c:1012,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_ckch.c:1014,1
    - Dst: ckch_store_free
      Src: /src/haproxy/src/ssl_ckch.c:1020,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1022
      start: 999
    functionDepth: 5
    functionLinenumber: 999
    functionLinenumberEnd: 1022
    functionName: ckch_store_new
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - strlen
    - calloc
    - LIST_INIT
    - ckch_store_free
    - memcpy
    linkageType: ''
    returnType: struct ckch_store
    signature: '*ckch_store_new(const char *filename)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckch_store_new
      Src: /src/haproxy/src/ssl_ckch.c:1033,1
    - Dst: ssl_sock_copy_cert_key_and_chain
      Src: /src/haproxy/src/ssl_ckch.c:1037,1
    - Dst: ckch_store_free
      Src: /src/haproxy/src/ssl_ckch.c:1046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct ckch_store*
    constantsTouched: []
    func_position:
      end: 1049
      start: 1026
    functionDepth: 6
    functionLinenumber: 1026
    functionLinenumberEnd: 1049
    functionName: ckchs_dup
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 1
    functionsReached:
    - ckch_store_new
    - ssl_sock_copy_cert_key_and_chain
    - ckch_store_free
    linkageType: ''
    returnType: struct ckch_store
    signature: '*ckchs_dup(const struct ckch_store *src)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebst_lookup
      Src: /src/haproxy/src/ssl_ckch.c:1058,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_ckch.c:1062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1054
    functionDepth: 2
    functionLinenumber: 1054
    functionLinenumberEnd: 1063
    functionName: ckchs_lookup
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 9
    functionsReached:
    - ebmb_entry
    - ebst_lookup
    linkageType: ''
    returnType: struct ckch_store
    signature: '*ckchs_lookup(char *path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckch_store_new
      Src: /src/haproxy/src/ssl_ckch.c:1072,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:1074,1
    - Dst: ssl_sock_load_files_into_ckch
      Src: /src/haproxy/src/ssl_ckch.c:1078,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_ckch.c:1084,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:1084,1
    - Dst: ebst_insert
      Src: /src/haproxy/src/ssl_ckch.c:1085,1
    - Dst: ckch_store_free
      Src: /src/haproxy/src/ssl_ckch.c:1089,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - path
    - err
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1092
      start: 1068
    functionDepth: 7
    functionLinenumber: 1068
    functionLinenumberEnd: 1092
    functionName: ckch_store_new_load_files_path
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 4
    functionsReached:
    - memprintf
    - strlen
    - ckch_store_new
    - ckch_store_free
    - ebst_insert
    - ssl_sock_load_files_into_ckch
    - memcpy
    linkageType: ''
    returnType: struct ckch_store
    signature: '*ckch_store_new_load_files_path(char *path, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckch_store_new
      Src: /src/haproxy/src/ssl_ckch.c:1104,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:1106,1
    - Dst: ssl_sock_load_files_into_ckch
      Src: /src/haproxy/src/ssl_ckch.c:1115,1
    - Dst: ckch_store_load_files
      Src: /src/haproxy/src/ssl_ckch.c:1123,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_ckch.c:1130,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:1130,1
    - Dst: ebst_insert
      Src: /src/haproxy/src/ssl_ckch.c:1131,1
    - Dst: ckch_store_free
      Src: /src/haproxy/src/ssl_ckch.c:1135,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - name
    - conf
    - err
    argTypes:
    - char*
    - struct ckch_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 1138
      start: 1098
    functionDepth: 7
    functionLinenumber: 1098
    functionLinenumberEnd: 1138
    functionName: ckch_store_new_load_files_conf
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 1
    functionsReached:
    - memprintf
    - ckch_store_load_files
    - strlen
    - ckch_store_new
    - ckch_store_free
    - ebst_insert
    - ssl_sock_load_files_into_ckch
    - memcpy
    linkageType: ''
    returnType: struct ckch_store
    signature: '*ckch_store_new_load_files_conf(char *name, struct ckch_conf *conf,
      char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_ckch.c:1152,1
    - Dst: SSL_CTX_free
      Src: /src/haproxy/src/ssl_ckch.c:1153,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_ckch.c:1154,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/ssl_ckch.c:1155,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:1156,1
    - Dst: SSL_CTX_free
      Src: /src/haproxy/src/ssl_ckch.c:1158,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_ckch.c:1160,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_ckch.c:1161,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_ckch.c:1164,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/src/ssl_ckch.c:1165,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/ssl_ckch.c:1169,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:1170,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_ckch.c:1172,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:1173,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:1176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - inst
    argTypes:
    - struct ckch_inst*
    constantsTouched: []
    func_position:
      end: 1177
      start: 1144
    functionDepth: 3
    functionLinenumber: 1144
    functionLinenumberEnd: 1177
    functionName: ckch_inst_free
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 7
    functionsReached:
    - list_for_each_entry_safe
    - ha_free
    - LIST_DELETE
    - SSL_CTX_free
    - free
    - LIST_DEL_INIT
    - LIST_INLIST
    - ebmb_delete
    linkageType: ''
    returnType: void
    signature: ckch_inst_free(struct ckch_inst *inst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/src/ssl_ckch.c:1184,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_ckch.c:1188,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_ckch.c:1189,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_ckch.c:1190,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_ckch.c:1191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1180
    functionDepth: 3
    functionLinenumber: 1180
    functionLinenumberEnd: 1194
    functionName: ckch_inst_new
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 2
    functionsReached:
    - calloc
    - LIST_INIT
    linkageType: ''
    returnType: struct ckch_inst
    signature: '*ckch_inst_new()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebst_lookup
      Src: /src/haproxy/src/ssl_ckch.c:1212,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_ckch.c:1214,1
    - Dst: ebmb_next_dup
      Src: /src/haproxy/src/ssl_ckch.c:1222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - path
    - oldest_entry
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1225
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1225
    functionName: ssl_store_get_cafile_entry
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 1
    functionsReached:
    - ebmb_entry
    - ebmb_next_dup
    - ebst_lookup
    linkageType: ''
    returnType: struct cafile_entry
    signature: '*ssl_store_get_cafile_entry(char *path, int oldest_entry)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebst_insert
      Src: /src/haproxy/src/ssl_ckch.c:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct cafile_entry*
    constantsTouched: []
    func_position:
      end: 1230
      start: 1227
    functionDepth: 2
    functionLinenumber: 1227
    functionLinenumberEnd: 1230
    functionName: ssl_store_add_uncommitted_cafile_entry
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - ebst_insert
    linkageType: ''
    returnType: int
    signature: ssl_store_add_uncommitted_cafile_entry(struct cafile_entry *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:1234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1240
      start: 1232
    functionDepth: 3
    functionLinenumber: 1232
    functionLinenumberEnd: 1240
    functionName: ssl_store_get0_locations_file
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - ssl_store_get_cafile_entry
    linkageType: ''
    returnType: X509_STORE
    signature: '* ssl_store_get0_locations_file(char *path)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:1248,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_ckch.c:1250,1
    - Dst: memcpy
      Src: /src/haproxy/src/ssl_ckch.c:1252,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_ckch.c:1255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - path
    - store
    - type
    argTypes:
    - char*
    - X509_STORE*
    - enum cafile_type
    constantsTouched: []
    func_position:
      end: 1258
      start: 1243
    functionDepth: 3
    functionLinenumber: 1243
    functionLinenumberEnd: 1258
    functionName: ssl_store_create_cafile_entry
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - strlen
    - LIST_INIT
    - memcpy
    - calloc
    linkageType: ''
    returnType: struct cafile_entry
    signature: '*ssl_store_create_cafile_entry(char *path, X509_STORE *store, enum
      cafile_type type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_ckch.c:1271,1
    - Dst: X509_STORE_new
      Src: /src/haproxy/src/ssl_ckch.c:1279,1
    - Dst: X509_STORE_get0_objects
      Src: /src/haproxy/src/ssl_ckch.c:1283,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/haproxy/src/ssl_ckch.c:1284,1
    - Dst: X509_OBJECT_get0_X509
      Src: /src/haproxy/src/ssl_ckch.c:1288,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/haproxy/src/ssl_ckch.c:1288,1
    - Dst: X509_STORE_add_cert
      Src: /src/haproxy/src/ssl_ckch.c:1290,1
    - Dst: ERR_GET_REASON
      Src: /src/haproxy/src/ssl_ckch.c:1292,1
    - Dst: ERR_get_error
      Src: /src/haproxy/src/ssl_ckch.c:1292,1
    - Dst: X509_OBJECT_get0_X509_CRL
      Src: /src/haproxy/src/ssl_ckch.c:1298,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/haproxy/src/ssl_ckch.c:1298,1
    - Dst: X509_STORE_add_crl
      Src: /src/haproxy/src/ssl_ckch.c:1300,1
    - Dst: ERR_GET_REASON
      Src: /src/haproxy/src/ssl_ckch.c:1302,1
    - Dst: ERR_get_error
      Src: /src/haproxy/src/ssl_ckch.c:1302,1
    - Dst: ssl_store_create_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:1310,1
    - Dst: X509_STORE_free
      Src: /src/haproxy/src/ssl_ckch.c:1315,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:1316,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct cafile_entry*
    constantsTouched: []
    func_position:
      end: 1319
      start: 1267
    functionDepth: 4
    functionLinenumber: 1267
    functionLinenumberEnd: 1319
    functionName: ssl_store_dup_cafile_entry
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - ERR_get_error
    - X509_OBJECT_get0_X509
    - X509_STORE_new
    - sk_X509_OBJECT_value
    - X509_OBJECT_get0_X509_CRL
    - ERR_GET_REASON
    - X509_STORE_add_crl
    - X509_STORE_free
    - ha_free
    - X509_STORE_add_cert
    - sk_X509_OBJECT_num
    - ssl_store_create_cafile_entry
    - STACK_OF
    - X509_STORE_get0_objects
    linkageType: ''
    returnType: struct cafile_entry
    signature: '*ssl_store_dup_cafile_entry(struct cafile_entry *src)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_STORE_free
      Src: /src/haproxy/src/ssl_ckch.c:1329,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_ckch.c:1331,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_ckch.c:1334,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_ckch.c:1336,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:1337,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/src/ssl_ckch.c:1341,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:1342,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:1345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - ca_e
    argTypes:
    - struct cafile_entry*
    constantsTouched: []
    func_position:
      end: 1346
      start: 1323
    functionDepth: 3
    functionLinenumber: 1323
    functionLinenumberEnd: 1346
    functionName: ssl_store_delete_cafile_entry
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - free
    - list_for_each_entry_safe
    - LIST_DELETE
    - X509_STORE_free
    linkageType: ''
    returnType: void
    signature: ssl_store_delete_cafile_entry(struct cafile_entry *ca_e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_ckch.c:1363,1
    - Dst: X509_STORE_free
      Src: /src/haproxy/src/ssl_ckch.c:1373,1
    - Dst: X509_STORE_new
      Src: /src/haproxy/src/ssl_ckch.c:1378,1
    - Dst: BIO_new_mem_buf
      Src: /src/haproxy/src/ssl_ckch.c:1383,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:1383,1
    - Dst: PEM_X509_INFO_read_bio
      Src: /src/haproxy/src/ssl_ckch.c:1387,1
    - Dst: sk_X509_INFO_num
      Src: /src/haproxy/src/ssl_ckch.c:1391,1
    - Dst: sk_X509_INFO_value
      Src: /src/haproxy/src/ssl_ckch.c:1392,1
    - Dst: X509_STORE_add_cert
      Src: /src/haproxy/src/ssl_ckch.c:1396,1
    - Dst: X509_STORE_add_crl
      Src: /src/haproxy/src/ssl_ckch.c:1398,1
    - Dst: sk_X509_INFO_num
      Src: /src/haproxy/src/ssl_ckch.c:1403,1
    - Dst: sk_X509_INFO_num
      Src: /src/haproxy/src/ssl_ckch.c:1403,1
    - Dst: sk_X509_INFO_pop_free
      Src: /src/haproxy/src/ssl_ckch.c:1407,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_ckch.c:1410,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 3
    argNames:
    - ca_e
    - cert_buf
    - append
    argTypes:
    - struct cafile_entry*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1413
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1413
    functionName: ssl_store_load_ca_from_buf
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - sk_X509_INFO_pop_free
    - BIO_free
    - PEM_X509_INFO_read_bio
    - BIO_new_mem_buf
    - X509_STORE_free
    - X509_STORE_new
    - X509_STORE_add_crl
    - strlen
    - sk_X509_INFO_value
    - X509_STORE_add_cert
    - STACK_OF
    - sk_X509_INFO_num
    linkageType: ''
    returnType: int
    signature: ssl_store_load_ca_from_buf(struct cafile_entry *ca_e, char *cert_buf,
      int append)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_store_get0_locations_file
      Src: /src/haproxy/src/ssl_ckch.c:1422,1
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_ckch.c:1428,1
    - Dst: X509_STORE_new
      Src: /src/haproxy/src/ssl_ckch.c:1436,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:1439,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:1443,1
    - Dst: X509_get_default_cert_dir
      Src: /src/haproxy/src/ssl_ckch.c:1444,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:1447,1
    - Dst: stat
      Src: /src/haproxy/src/ssl_ckch.c:1453,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:1455,1
    - Dst: strerror
      Src: /src/haproxy/src/ssl_ckch.c:1455,1
    - Dst: S_ISDIR
      Src: /src/haproxy/src/ssl_ckch.c:1459,1
    - Dst: X509_STORE_load_locations
      Src: /src/haproxy/src/ssl_ckch.c:1466,1
    - Dst: ERR_get_error
      Src: /src/haproxy/src/ssl_ckch.c:1467,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:1469,1
    - Dst: ERR_reason_error_string
      Src: /src/haproxy/src/ssl_ckch.c:1469,1
    - Dst: scandir
      Src: /src/haproxy/src/ssl_ckch.c:1476,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_ckch.c:1486,1
    - Dst: strrchr
      Src: /src/haproxy/src/ssl_ckch.c:1495,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:1497,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:1498,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:1499,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:1500,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:1501,1
    - Dst: BIO_new
      Src: /src/haproxy/src/ssl_ckch.c:1504,1
    - Dst: BIO_s_file
      Src: /src/haproxy/src/ssl_ckch.c:1504,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/ssl_ckch.c:1508,1
    - Dst: BIO_read_filename
      Src: /src/haproxy/src/ssl_ckch.c:1510,1
    - Dst: PEM_read_bio_X509_AUX
      Src: /src/haproxy/src/ssl_ckch.c:1513,1
    - Dst: X509_STORE_add_cert
      Src: /src/haproxy/src/ssl_ckch.c:1516,1
    - Dst: ERR_GET_REASON
      Src: /src/haproxy/src/ssl_ckch.c:1518,1
    - Dst: ERR_get_error
      Src: /src/haproxy/src/ssl_ckch.c:1518,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_ckch.c:1523,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_ckch.c:1524,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:1525,1
    - Dst: ERR_get_error
      Src: /src/haproxy/src/ssl_ckch.c:1529,1
    - Dst: X509_free
      Src: /src/haproxy/src/ssl_ckch.c:1530,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_ckch.c:1531,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:1532,1
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_ckch.c:1535,1
    - Dst: ERR_reason_error_string
      Src: /src/haproxy/src/ssl_ckch.c:1535,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:1538,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:1541,1
    - Dst: ssl_commit_crlfile_cb
      Src: /src/haproxy/src/ssl_ckch.c:1546,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:1548,1
    - Dst: X509_STORE_get0_objects
      Src: /src/haproxy/src/ssl_ckch.c:1553,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/haproxy/src/ssl_ckch.c:1554,1
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_ckch.c:1557,1
    - Dst: ssl_store_create_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:1559,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:1562,1
    - Dst: ebst_insert
      Src: /src/haproxy/src/ssl_ckch.c:1565,1
    - Dst: X509_STORE_free
      Src: /src/haproxy/src/ssl_ckch.c:1570,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 117
    argCount: 4
    argNames:
    - path
    - create_if_none
    - type
    - shuterror
    argTypes:
    - char*
    - int
    - enum cafile_type
    - int
    constantsTouched: []
    func_position:
      end: 1574
      start: 1420
    functionDepth: 9
    functionLinenumber: 1420
    functionLinenumberEnd: 1574
    functionName: __ssl_store_load_locations_file
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 1
    functionsReached:
    - ha_alert
    - strrchr
    - ha_warning
    - ssl_commit_crlfile_cb
    - X509_get_default_cert_dir
    - BIO_new
    - BIO_s_file
    - ssl_store_get0_locations_file
    - ERR_get_error
    - strerror
    - X509_STORE_load_locations
    - stat
    - X509_STORE_free
    - X509_STORE_new
    - strcmp
    - free
    - ebst_insert
    - STACK_OF
    - S_ISDIR
    - BIO_read_filename
    - BIO_free
    - scandir
    - PEM_read_bio_X509_AUX
    - X509_free
    - ERR_reason_error_string
    - chunk_printf
    - X509_STORE_add_cert
    - sk_X509_OBJECT_num
    - X509_STORE_get0_objects
    - ERR_GET_REASON
    - ssl_store_create_cafile_entry
    - ERR_clear_error
    linkageType: ''
    returnType: int
    signature: __ssl_store_load_locations_file(char *path, int create_if_none, enum
      cafile_type type, int shuterror)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ssl_store_load_locations_file
      Src: /src/haproxy/src/ssl_ckch.c:1578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - path
    - create_if_none
    - type
    argTypes:
    - char*
    - int
    - enum cafile_type
    constantsTouched: []
    func_position:
      end: 1579
      start: 1576
    functionDepth: 10
    functionLinenumber: 1576
    functionLinenumberEnd: 1579
    functionName: ssl_store_load_locations_file
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 6
    functionsReached:
    - __ssl_store_load_locations_file
    linkageType: ''
    returnType: int
    signature: ssl_store_load_locations_file(char *path, int create_if_none, enum
      cafile_type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1602
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1602
    functionName: cli_release_show_sni
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: void
    signature: cli_release_show_sni(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:1612,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1625,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:1626,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/ssl_ckch.c:1638,1
    - Dst: typeof
      Src: /src/haproxy/src/ssl_ckch.c:1638,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/ssl_ckch.c:1640,1
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/src/ssl_ckch.c:1642,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/ssl_ckch.c:1651,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/ssl_ckch.c:1653,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/ssl_ckch.c:1659,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_ckch.c:1665,1
    - Dst: x509_get_notafter_time_t
      Src: /src/haproxy/src/ssl_ckch.c:1671,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1677,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1681,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_ckch.c:1686,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1688,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1693,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1707,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1710,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1711,1
    - Dst: x509_get_notafter
      Src: /src/haproxy/src/ssl_ckch.c:1711,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1712,1
    - Dst: x509_get_notbefore
      Src: /src/haproxy/src/ssl_ckch.c:1712,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:1714,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:1715,1
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:1723,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:1733,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:1742,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 86
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1744
      start: 1609
    functionDepth: 4
    functionLinenumber: 1609
    functionLinenumberEnd: 1744
    functionName: cli_io_handler_show_sni
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - x509_get_notafter
    - list_for_each_entry
    - HA_RWLOCK_RDLOCK
    - chunk_appendf
    - applet_putchk
    - typeof
    - ebmb_first
    - ebmb_entry
    - ebmb_next
    - x509_get_notbefore
    - free_trash_chunk
    - x509_get_notafter_time_t
    - list_for_each_entry_from
    - HA_RWLOCK_RDUNLOCK
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_sni(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/ssl_ckch.c:1750,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:1760,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:1763,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:1775,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:1782,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:1784,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:1788,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:1793,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:1798,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:1799,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 1802
      start: 1748
    functionDepth: 1
    functionLinenumber: 1748
    functionLinenumberEnd: 1802
    functionName: cli_parse_show_sni
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cli_err
    - applet_reserve_svcctx
    - HA_SPIN_TRYLOCK
    linkageType: ''
    returnType: int
    signature: cli_parse_show_sni(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:1807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1808
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1808
    functionName: cli_release_show_cert
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: void
    signature: cli_release_show_cert(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:1816,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1825,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1826,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:1827,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1833,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/ssl_ckch.c:1834,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_ckch.c:1839,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1840,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/ssl_ckch.c:1842,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:1843,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:1848,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:1852,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 1855
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1855
    functionName: cli_io_handler_show_cert
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - chunk_appendf
    - applet_putchk
    - ebmb_entry
    - ebmb_first
    - free_trash_chunk
    - ebmb_next
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_cert(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_ckch.c:1866,1
    - Dst: X509_get_ext_d2i
      Src: /src/haproxy/src/ssl_ckch.c:1868,1
    - Dst: sk_GENERAL_NAME_num
      Src: /src/haproxy/src/ssl_ckch.c:1870,1
    - Dst: sk_GENERAL_NAME_value
      Src: /src/haproxy/src/ssl_ckch.c:1871,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1873,1
    - Dst: ASN1_STRING_to_UTF8
      Src: /src/haproxy/src/ssl_ckch.c:1875,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:1876,1
    - Dst: OPENSSL_free
      Src: /src/haproxy/src/ssl_ckch.c:1877,1
    - Dst: sk_GENERAL_NAME_pop_free
      Src: /src/haproxy/src/ssl_ckch.c:1881,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - cert
    - out
    argTypes:
    - X509*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1884
      start: 1862
    functionDepth: 1
    functionLinenumber: 1862
    functionLinenumberEnd: 1884
    functionName: ssl_sock_get_san_oneline
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - sk_GENERAL_NAME_pop_free
    - X509_get_ext_d2i
    - chunk_appendf
    - OPENSSL_free
    - sk_GENERAL_NAME_value
    - sk_GENERAL_NAME_num
    - STACK_OF
    - ASN1_STRING_to_UTF8
    linkageType: ''
    returnType: int
    signature: ssl_sock_get_san_oneline(X509 *cert, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/ssl_ckch.c:1895,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/ssl_ckch.c:1896,1
    - Dst: typeof
      Src: /src/haproxy/src/ssl_ckch.c:1897,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_ckch.c:1905,1
    - Dst: calloc
      Src: /src/haproxy/src/ssl_ckch.c:1907,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:1909,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_ckch.c:1915,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/ssl_ckch.c:1916,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_ckch.c:1918,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_ckch.c:1919,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - cafile_entry
    - ckch_inst
    argTypes:
    - struct cafile_entry*
    - struct ckch_inst*
    constantsTouched: []
    func_position:
      end: 1923
      start: 1892
    functionDepth: 3
    functionLinenumber: 1892
    functionLinenumberEnd: 1923
    functionName: do_chain_inst_and_cafile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - LIST_ISEMPTY
    - calloc
    - LIST_APPEND
    - free
    - typeof
    - LIST_INIT
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: do_chain_inst_and_cafile(struct cafile_entry *cafile_entry, struct
      ckch_inst *ckch_inst)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:1972,1
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:1976,1
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:1985,1
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:1987,1
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:1989,1
    - Dst: do_chain_inst_and_cafile
      Src: /src/haproxy/src/ssl_ckch.c:1995,1
    - Dst: do_chain_inst_and_cafile
      Src: /src/haproxy/src/ssl_ckch.c:2002,1
    - Dst: do_chain_inst_and_cafile
      Src: /src/haproxy/src/ssl_ckch.c:2008,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 54
    argCount: 4
    argNames:
    - ckch_inst
    - bind_conf
    - ssl_conf
    - srv
    argTypes:
    - struct ckch_inst*
    - struct bind_conf*
    - struct ssl_bind_conf*
    - struct server*
    constantsTouched: []
    func_position:
      end: 2012
      start: 1934
    functionDepth: 4
    functionLinenumber: 1934
    functionLinenumberEnd: 2012
    functionName: ckch_inst_add_cafile_link
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 2
    functionsReached:
    - do_chain_inst_and_cafile
    - ssl_store_get_cafile_entry
    linkageType: ''
    returnType: void
    signature: "ckch_inst_add_cafile_link(struct ckch_inst *ckch_inst, struct bind_conf
      *bind_conf,\n\t\t\t       struct ssl_bind_conf *ssl_conf, const struct server
      *srv)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ssl_ocsp_build_response_key
      Src: /src/haproxy/src/ssl_ckch.c:2145,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2147,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2149,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ckch_store
    - out
    argTypes:
    - struct ckch_store*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 2156
      start: 2138
    functionDepth: 1
    functionLinenumber: 2138
    functionLinenumberEnd: 2156
    functionName: ckch_store_show_ocsp_certid
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - ssl_ocsp_build_response_key
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: ckch_store_show_ocsp_certid(struct ckch_store *ckch_store, struct buffer
      *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:2166,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2172,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2174,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2175,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2178,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2179,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2182,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2183,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2186,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2187,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2190,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2191,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2194,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2195,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2198,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2200,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2202,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/ssl_ckch.c:2203,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2204,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:2206,1
    - Dst: show_cert_detail
      Src: /src/haproxy/src/ssl_ckch.c:2208,1
    - Dst: ckch_store_show_ocsp_certid
      Src: /src/haproxy/src/ssl_ckch.c:2214,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:2217,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:2221,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:2224,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2226
      start: 2162
    functionDepth: 2
    functionLinenumber: 2162
    functionLinenumberEnd: 2226
    functionName: cli_io_handler_show_cert_detail
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - LIST_ISEMPTY
    - ckch_store_show_ocsp_certid
    - chunk_appendf
    - applet_putchk
    - free_trash_chunk
    - show_cert_detail
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_cert_detail(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:2237,1
    - Dst: ssl_ocsp_response_print
      Src: /src/haproxy/src/ssl_ckch.c:2248,1
    - Dst: ssl_ocsp_build_response_key
      Src: /src/haproxy/src/ssl_ckch.c:2255,1
    - Dst: ssl_get_ocspresponse_detail
      Src: /src/haproxy/src/ssl_ckch.c:2258,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:2262,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:2266,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:2269,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:2272,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2274
      start: 2232
    functionDepth: 3
    functionLinenumber: 2232
    functionLinenumberEnd: 2274
    functionName: cli_io_handler_show_cert_ocsp_detail
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - cli_err
    - ssl_ocsp_build_response_key
    - ssl_ocsp_response_print
    - applet_putchk
    - free_trash_chunk
    - ssl_get_ocspresponse_detail
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_cert_ocsp_detail(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/ssl_ckch.c:2279,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:2282,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:2283,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2287,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:2288,1
    - Dst: strrchr
      Src: /src/haproxy/src/ssl_ckch.c:2298,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:2299,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:2316,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_ckch.c:2325,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2343,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:2344,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 2345
      start: 2277
    functionDepth: 3
    functionLinenumber: 2277
    functionLinenumberEnd: 2345
    functionName: cli_parse_show_cert
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - strrchr
    - strcmp
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - cli_has_level
    - ckchs_lookup
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_show_cert(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/ssl_ckch.c:2350,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:2353,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:2354,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2358,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:2359,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:2370,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_ckch.c:2374,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2386,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:2387,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 2388
      start: 2348
    functionDepth: 3
    functionLinenumber: 2348
    functionLinenumberEnd: 2388
    functionName: cli_parse_dump_cert
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - cli_has_level
    - ckchs_lookup
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_dump_cert(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:2403,1
    - Dst: BIO_new
      Src: /src/haproxy/src/ssl_ckch.c:2412,1
    - Dst: BIO_s_mem
      Src: /src/haproxy/src/ssl_ckch.c:2412,1
    - Dst: BIO_reset
      Src: /src/haproxy/src/ssl_ckch.c:2417,1
    - Dst: PEM_write_bio_PrivateKey
      Src: /src/haproxy/src/ssl_ckch.c:2420,1
    - Dst: BIO_read
      Src: /src/haproxy/src/ssl_ckch.c:2423,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:2429,1
    - Dst: BIO_reset
      Src: /src/haproxy/src/ssl_ckch.c:2438,1
    - Dst: PEM_write_bio_X509
      Src: /src/haproxy/src/ssl_ckch.c:2441,1
    - Dst: BIO_read
      Src: /src/haproxy/src/ssl_ckch.c:2444,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:2450,1
    - Dst: sk_X509_num
      Src: /src/haproxy/src/ssl_ckch.c:2457,1
    - Dst: sk_X509_value
      Src: /src/haproxy/src/ssl_ckch.c:2458,1
    - Dst: BIO_reset
      Src: /src/haproxy/src/ssl_ckch.c:2460,1
    - Dst: PEM_write_bio_X509
      Src: /src/haproxy/src/ssl_ckch.c:2463,1
    - Dst: BIO_read
      Src: /src/haproxy/src/ssl_ckch.c:2466,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:2472,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:2477,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_ckch.c:2478,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:2482,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_ckch.c:2483,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:2488,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_ckch.c:2489,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 76
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2492
      start: 2399
    functionDepth: 1
    functionLinenumber: 2399
    functionLinenumberEnd: 2492
    functionName: cli_io_handler_dump_cert
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - sk_X509_value
    - alloc_trash_chunk
    - BIO_read
    - PEM_write_bio_X509
    - BIO_free
    - PEM_write_bio_PrivateKey
    - BIO_reset
    - sk_X509_num
    - applet_putchk
    - free_trash_chunk
    - BIO_s_mem
    - BIO_new
    linkageType: ''
    returnType: int
    signature: cli_io_handler_dump_cert(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2499
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2499
    functionName: cli_release_dump_cert
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: void
    signature: cli_release_dump_cert(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2506,1
    - Dst: ckch_store_free
      Src: /src/haproxy/src/ssl_ckch.c:2509,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:2510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2511
      start: 2502
    functionDepth: 5
    functionLinenumber: 2502
    functionLinenumberEnd: 2511
    functionName: cli_release_commit_cert
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - ckch_store_free
    - HA_SPIN_UNLOCK
    - ha_free
    linkageType: ''
    returnType: void
    signature: cli_release_commit_cert(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckch_inst_new_load_srv_store
      Src: /src/haproxy/src/ssl_ckch.c:2534,1
    - Dst: ckch_inst_new_load_store
      Src: /src/haproxy/src/ssl_ckch.c:2536,1
    - Dst: ssl_sock_prep_srv_ctx_and_inst
      Src: /src/haproxy/src/ssl_ckch.c:2549,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_ckch.c:2559,1
    - Dst: ssl_sock_prep_ctx_and_inst
      Src: /src/haproxy/src/ssl_ckch.c:2561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - ckch_store
    - ckchi
    - new_inst
    - err
    argTypes:
    - struct ckch_store*
    - struct ckch_inst*
    - struct ckch_inst**
    - char**
    constantsTouched: []
    func_position:
      end: 2568
      start: 2519
    functionDepth: 8
    functionLinenumber: 2519
    functionLinenumberEnd: 2568
    functionName: ckch_inst_rebuild
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 1
    functionsReached:
    - list_for_each_entry_safe
    - ssl_sock_prep_srv_ctx_and_inst
    - ckch_inst_new_load_store
    - ckch_inst_new_load_srv_store
    - ssl_sock_prep_ctx_and_inst
    linkageType: ''
    returnType: int
    signature: "ckch_inst_rebuild(struct ckch_store *ckch_store, struct ckch_inst
      *ckchi,\n                      struct ckch_inst **new_inst, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2580,1
    - Dst: SSL_CTX_free
      Src: /src/haproxy/src/ssl_ckch.c:2582,1
    - Dst: SSL_CTX_up_ref
      Src: /src/haproxy/src/ssl_ckch.c:2584,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:2590,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:2591,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2593,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2596,1
    - Dst: ssl_sock_load_cert_sni
      Src: /src/haproxy/src/ssl_ckch.c:2597,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ckchi
    argTypes:
    - struct ckch_inst*
    constantsTouched: []
    func_position:
      end: 2600
      start: 2574
    functionDepth: 2
    functionLinenumber: 2574
    functionLinenumberEnd: 2600
    functionName: __ssl_sock_load_new_ckch_instance
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - ha_free
    - SSL_CTX_up_ref
    - SSL_CTX_free
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    - ssl_sock_load_cert_sni
    linkageType: ''
    returnType: void
    signature: __ssl_sock_load_new_ckch_instance(struct ckch_inst *ckchi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckch_inst_free
      Src: /src/haproxy/src/ssl_ckch.c:2609,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2613,1
    - Dst: ckch_inst_free
      Src: /src/haproxy/src/ssl_ckch.c:2614,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ckchi
    argTypes:
    - struct ckch_inst*
    constantsTouched: []
    func_position:
      end: 2617
      start: 2605
    functionDepth: 4
    functionLinenumber: 2605
    functionLinenumberEnd: 2617
    functionName: __ckch_inst_free_locked
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - HA_RWLOCK_WRLOCK
    - ckch_inst_free
    - HA_RWLOCK_WRUNLOCK
    linkageType: ''
    returnType: void
    signature: __ckch_inst_free_locked(struct ckch_inst *ckchi)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_SPLICE
      Src: /src/haproxy/src/ssl_ckch.c:2639,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_ckch.c:2640,1
    - Dst: ebpt_delete
      Src: /src/haproxy/src/ssl_ckch.c:2641,1
    - Dst: ebpt_insert
      Src: /src/haproxy/src/ssl_ckch.c:2644,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_ckch.c:2647,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/ssl_ckch.c:2649,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_ckch.c:2652,1
    - Dst: __ssl_sock_load_new_ckch_instance
      Src: /src/haproxy/src/ssl_ckch.c:2653,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/src/ssl_ckch.c:2656,1
    - Dst: __ckch_inst_free_locked
      Src: /src/haproxy/src/ssl_ckch.c:2657,1
    - Dst: ckch_store_free
      Src: /src/haproxy/src/ssl_ckch.c:2660,1
    - Dst: ebst_insert
      Src: /src/haproxy/src/ssl_ckch.c:2661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - old_ckchs
    - new_ckchs
    argTypes:
    - struct ckch_store*
    - struct ckch_store*
    constantsTouched: []
    func_position:
      end: 2662
      start: 2634
    functionDepth: 5
    functionLinenumber: 2634
    functionLinenumberEnd: 2662
    functionName: ckch_store_replace
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 1
    functionsReached:
    - LIST_INSERT
    - list_for_each_entry_safe
    - __ckch_inst_free_locked
    - list_for_each_entry
    - ebpt_insert
    - LIST_SPLICE
    - __ssl_sock_load_new_ckch_instance
    - ckch_store_free
    - ebst_insert
    - ebpt_delete
    linkageType: ''
    returnType: void
    signature: ckch_store_replace(struct ckch_store *old_ckchs, struct ckch_store
      *new_ckchs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usermsgs_clr
      Src: /src/haproxy/src/ssl_ckch.c:2677,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/ssl_ckch.c:2682,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:2683,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/ssl_ckch.c:2704,1
    - Dst: typeof
      Src: /src/haproxy/src/ssl_ckch.c:2704,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/ssl_ckch.c:2707,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/ssl_ckch.c:2715,1
    - Dst: applet_putstr
      Src: /src/haproxy/src/ssl_ckch.c:2720,1
    - Dst: ckch_inst_rebuild
      Src: /src/haproxy/src/ssl_ckch.c:2724,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/ssl_ckch.c:2730,1
    - Dst: ckch_store_replace
      Src: /src/haproxy/src/ssl_ckch.c:2742,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/ssl_ckch.c:2747,1
    - Dst: usermsgs_str
      Src: /src/haproxy/src/ssl_ckch.c:2747,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:2748,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/ssl_ckch.c:2761,1
    - Dst: usermsgs_str
      Src: /src/haproxy/src/ssl_ckch.c:2761,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:2762,1
    - Dst: usermsgs_clr
      Src: /src/haproxy/src/ssl_ckch.c:2769,1
    - Dst: usermsgs_clr
      Src: /src/haproxy/src/ssl_ckch.c:2774,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 77
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2776
      start: 2670
    functionDepth: 9
    functionLinenumber: 2670
    functionLinenumberEnd: 2776
    functionName: cli_io_handler_commit_cert
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - ckch_store_replace
    - LIST_APPEND
    - chunk_printf
    - applet_putstr
    - applet_putchk
    - typeof
    - ckch_inst_rebuild
    - usermsgs_str
    - applet_have_more_data
    - list_for_each_entry_from
    - usermsgs_clr
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: cli_io_handler_commit_cert(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/ssl_ckch.c:2783,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:2786,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:2790,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2794,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:2795,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2798,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:2802,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2803,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2809,1
    - Dst: X509_check_private_key
      Src: /src/haproxy/src/ssl_ckch.c:2813,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2814,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2829,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2830,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:2832,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 2833
      start: 2781
    functionDepth: 5
    functionLinenumber: 2781
    functionLinenumberEnd: 2833
    functionName: cli_parse_commit_cert
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - strcmp
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - X509_check_private_key
    - cli_has_level
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_commit_cert(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:2854,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:2858,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2862,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:2863,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:2865,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2866,1
    - Dst: chunk_strcpy
      Src: /src/haproxy/src/ssl_ckch.c:2871,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2872,1
    - Dst: strrchr
      Src: /src/haproxy/src/ssl_ckch.c:2879,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:2880,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:2882,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:2891,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/ssl_ckch.c:2896,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2897,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:2902,1
    - Dst: b_orig
      Src: /src/haproxy/src/ssl_ckch.c:2904,1
    - Dst: b_data
      Src: /src/haproxy/src/ssl_ckch.c:2904,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:2904,1
    - Dst: b_sub
      Src: /src/haproxy/src/ssl_ckch.c:2905,1
    - Dst: strlen
      Src: /src/haproxy/src/ssl_ckch.c:2905,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2907,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2913,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_ckch.c:2924,1
    - Dst: chunk_strcat
      Src: /src/haproxy/src/ssl_ckch.c:2929,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2930,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_ckch.c:2934,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2940,1
    - Dst: ckchs_dup
      Src: /src/haproxy/src/ssl_ckch.c:2947,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2949,1
    - Dst: OCSP_CERTID_free
      Src: /src/haproxy/src/ssl_ckch.c:2959,1
    - Dst: struct cert_exts*::load
      Src: /src/haproxy/src/ssl_ckch.c:2966,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2967,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2978,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2980,1
    - Dst: ckch_store_free
      Src: /src/haproxy/src/ssl_ckch.c:2985,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:2993,1
    - Dst: ckch_store_free
      Src: /src/haproxy/src/ssl_ckch.c:2996,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:2997,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:2998,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:2998,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3000,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/ssl_ckch.c:3001,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 111
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3004
      start: 2842
    functionDepth: 7
    functionLinenumber: 2842
    functionLinenumberEnd: 3004
    functionName: cli_parse_set_cert
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - strrchr
    - free_trash_chunk
    - b_orig
    - struct cert_exts*::load
    - b_sub
    - alloc_trash_chunk
    - strcmp
    - chunk_strcat
    - OCSP_CERTID_free
    - strlen
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - ckchs_dup
    - b_data
    - cli_has_level
    - ckchs_lookup
    - cli_dynmsg
    - cli_err
    - ckch_store_free
    - chunk_strcpy
    linkageType: ''
    returnType: int
    signature: cli_parse_set_cert(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:3011,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3015,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3019,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3020,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3023,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:3027,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3028,1
    - Dst: ckch_store_free
      Src: /src/haproxy/src/ssl_ckch.c:3033,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3038,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3040,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/ssl_ckch.c:3041,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3044,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:3046,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3047
      start: 3007
    functionDepth: 5
    functionLinenumber: 3007
    functionLinenumberEnd: 3047
    functionName: cli_parse_abort_cert
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - cli_dynmsg
    - strcmp
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - ckch_store_free
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_abort_cert(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:3056,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3060,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3066,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3067,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_ckch.c:3069,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3071,1
    - Dst: ckch_store_new
      Src: /src/haproxy/src/ssl_ckch.c:3076,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3078,1
    - Dst: ebst_insert
      Src: /src/haproxy/src/ssl_ckch.c:3083,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3084,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3086,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/ssl_ckch.c:3087,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:3089,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3090,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:3091,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3092
      start: 3050
    functionDepth: 6
    functionLinenumber: 3050
    functionLinenumberEnd: 3092
    functionName: cli_parse_new_cert
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - cli_dynmsg
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - free
    - ckch_store_new
    - cli_has_level
    - ebst_insert
    - ckchs_lookup
    linkageType: ''
    returnType: int
    signature: cli_parse_new_cert(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:3101,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3105,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3107,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3108,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:3112,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3113,1
    - Dst: ckchs_lookup
      Src: /src/haproxy/src/ssl_ckch.c:3117,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3119,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/ssl_ckch.c:3122,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3123,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/ssl_ckch.c:3127,1
    - Dst: ckch_store_free
      Src: /src/haproxy/src/ssl_ckch.c:3128,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3130,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3132,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/ssl_ckch.c:3133,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3136,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3137,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:3138,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3139
      start: 3095
    functionDepth: 5
    functionLinenumber: 3095
    functionLinenumberEnd: 3139
    functionName: cli_parse_del_cert
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - LIST_ISEMPTY
    - cli_dynmsg
    - strcmp
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - ckch_store_free
    - cli_has_level
    - ckchs_lookup
    - ebmb_delete
    linkageType: ''
    returnType: int
    signature: cli_parse_del_cert(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:3150,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3154,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3160,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3161,1
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3163,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3165,1
    - Dst: ssl_store_create_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3169,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3171,1
    - Dst: ssl_store_add_uncommitted_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3178,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3181,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3183,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/ssl_ckch.c:3184,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3186,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:3187,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3188
      start: 3144
    functionDepth: 5
    functionLinenumber: 3144
    functionLinenumberEnd: 3188
    functionName: cli_parse_new_cafile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - cli_dynmsg
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - ssl_store_get_cafile_entry
    - cli_has_level
    - ssl_store_create_cafile_entry
    - ssl_store_add_uncommitted_cafile_entry
    linkageType: ''
    returnType: int
    signature: cli_parse_new_cafile(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:3202,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3210,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3214,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3215,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:3217,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3218,1
    - Dst: chunk_strcpy
      Src: /src/haproxy/src/ssl_ckch.c:3223,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3224,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:3235,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3236,1
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3243,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3247,1
    - Dst: ssl_store_dup_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3255,1
    - Dst: ssl_store_dup_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3257,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3260,1
    - Dst: ssl_store_load_ca_from_buf
      Src: /src/haproxy/src/ssl_ckch.c:3267,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3268,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3279,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3281,1
    - Dst: ssl_store_delete_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3285,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:3292,1
    - Dst: ssl_store_delete_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3295,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3296,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:3297,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3297,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3300,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/ssl_ckch.c:3301,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3303
      start: 3193
    functionDepth: 5
    functionLinenumber: 3193
    functionLinenumberEnd: 3303
    functionName: cli_parse_set_cafile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - alloc_trash_chunk
    - cli_dynerr
    - cli_dynmsg
    - strcmp
    - cli_err
    - ssl_store_delete_cafile_entry
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - free_trash_chunk
    - ssl_store_get_cafile_entry
    - chunk_strcpy
    - cli_has_level
    - ssl_store_load_ca_from_buf
    - ssl_store_dup_cafile_entry
    linkageType: ''
    returnType: int
    signature: cli_parse_set_cafile(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/ssl_ckch.c:3312,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:3315,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3319,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3323,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3324,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3327,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:3331,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3332,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3346,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3347,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:3349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3350
      start: 3310
    functionDepth: 5
    functionLinenumber: 3310
    functionLinenumberEnd: 3350
    functionName: cli_parse_commit_cafile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - strcmp
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - cli_has_level
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_commit_cafile(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_printf
      Src: /src/haproxy/src/ssl_ckch.c:3386,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:3387,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/ssl_ckch.c:3406,1
    - Dst: typeof
      Src: /src/haproxy/src/ssl_ckch.c:3406,1
    - Dst: ssl_store_add_uncommitted_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3409,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/src/ssl_ckch.c:3415,1
    - Dst: applet_have_more_data
      Src: /src/haproxy/src/ssl_ckch.c:3423,1
    - Dst: applet_putstr
      Src: /src/haproxy/src/ssl_ckch.c:3428,1
    - Dst: ckch_inst_rebuild
      Src: /src/haproxy/src/ssl_ckch.c:3434,1
    - Dst: ssl_commit_crlfile_cb
      Src: /src/haproxy/src/ssl_ckch.c:3446,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_ckch.c:3457,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/src/ssl_ckch.c:3459,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_ckch.c:3464,1
    - Dst: __ssl_sock_load_new_ckch_instance
      Src: /src/haproxy/src/ssl_ckch.c:3465,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/ssl_ckch.c:3472,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/ssl_ckch.c:3473,1
    - Dst: typeof
      Src: /src/haproxy/src/ssl_ckch.c:3473,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/src/ssl_ckch.c:3475,1
    - Dst: __ckch_inst_free_locked
      Src: /src/haproxy/src/ssl_ckch.c:3476,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:3477,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/ssl_ckch.c:3481,1
    - Dst: ssl_store_delete_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3482,1
    - Dst: applet_putstr
      Src: /src/haproxy/src/ssl_ckch.c:3488,1
    - Dst: chunk_printf
      Src: /src/haproxy/src/ssl_ckch.c:3510,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:3511,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 119
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 3522
      start: 3357
    functionDepth: 9
    functionLinenumber: 3357
    functionLinenumberEnd: 3522
    functionName: cli_io_handler_commit_cafile_crlfile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - ssl_commit_crlfile_cb
    - applet_putchk
    - __ssl_sock_load_new_ckch_instance
    - applet_have_more_data
    - list_for_each_entry_from
    - ssl_store_add_uncommitted_cafile_entry
    - __ckch_inst_free_locked
    - LIST_ISEMPTY
    - list_for_each_entry
    - free
    - typeof
    - ckch_inst_rebuild
    - LIST_DEL_INIT
    - chunk_printf
    - LIST_INSERT
    - LIST_ELEM
    - ssl_store_delete_cafile_entry
    - applet_putstr
    - ebmb_delete
    linkageType: ''
    returnType: int
    signature: cli_io_handler_commit_cafile_crlfile(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:3530,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3534,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3538,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3539,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3542,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:3546,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3547,1
    - Dst: ssl_store_delete_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3552,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3557,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3559,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/ssl_ckch.c:3560,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3563,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:3565,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3566
      start: 3526
    functionDepth: 5
    functionLinenumber: 3526
    functionLinenumberEnd: 3566
    functionName: cli_parse_abort_cafile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - cli_dynmsg
    - strcmp
    - cli_err
    - ssl_store_delete_cafile_entry
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_abort_cafile(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_delete
      Src: /src/haproxy/src/ssl_ckch.c:3578,1
    - Dst: ssl_store_delete_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3579,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3581,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:3582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 3583
      start: 3571
    functionDepth: 4
    functionLinenumber: 3571
    functionLinenumberEnd: 3583
    functionName: cli_release_commit_cafile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - ssl_store_delete_cafile_entry
    - ha_free
    - HA_SPIN_UNLOCK
    - ebmb_delete
    linkageType: ''
    returnType: void
    signature: cli_release_commit_cafile(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:3594,1
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_ckch.c:3597,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3605,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3607,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3608,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3610,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3612,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3614,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/ssl_ckch.c:3615,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3616,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3618,1
    - Dst: X509_STORE_get0_objects
      Src: /src/haproxy/src/ssl_ckch.c:3623,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/haproxy/src/ssl_ckch.c:3624,1
    - Dst: X509_OBJECT_get0_X509
      Src: /src/haproxy/src/ssl_ckch.c:3626,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/haproxy/src/ssl_ckch.c:3626,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3631,1
    - Dst: show_cert_detail
      Src: /src/haproxy/src/ssl_ckch.c:3632,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:3638,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:3646,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:3650,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:3655,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 3657
      start: 3590
    functionDepth: 1
    functionLinenumber: 3590
    functionLinenumberEnd: 3657
    functionName: cli_io_handler_show_cafile_detail
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - LIST_ISEMPTY
    - X509_OBJECT_get0_X509
    - sk_X509_OBJECT_value
    - chunk_appendf
    - applet_putchk
    - show_cert_detail
    - free_trash_chunk
    - sk_X509_OBJECT_num
    - STACK_OF
    - X509_STORE_get0_objects
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_cafile_detail(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/ssl_ckch.c:3666,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:3672,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3673,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3677,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3678,1
    - Dst: strchr
      Src: /src/haproxy/src/ssl_ckch.c:3686,1
    - Dst: strtol
      Src: /src/haproxy/src/ssl_ckch.c:3690,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3693,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:3712,1
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3722,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3734,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:3736,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3737,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3738
      start: 3664
    functionDepth: 5
    functionLinenumber: 3664
    functionLinenumberEnd: 3738
    functionName: cli_parse_show_cafile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - strcmp
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - cli_has_level
    - strtol
    - ssl_store_get_cafile_entry
    - strchr
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_show_cafile(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 3745
      start: 3742
    functionDepth: 0
    functionLinenumber: 3742
    functionLinenumberEnd: 3745
    functionName: cli_release_show_cafile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: void
    signature: cli_release_show_cafile(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_ckch.c:3752,1
    - Dst: X509_STORE_get0_objects
      Src: /src/haproxy/src/ssl_ckch.c:3755,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/haproxy/src/ssl_ckch.c:3757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - cafile_entry
    argTypes:
    - struct cafile_entry*
    constantsTouched: []
    func_position:
      end: 3760
      start: 3749
    functionDepth: 1
    functionLinenumber: 3749
    functionLinenumberEnd: 3760
    functionName: get_certificate_count
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - STACK_OF
    - X509_STORE_get0_objects
    - sk_X509_OBJECT_num
    linkageType: ''
    returnType: int
    signature: get_certificate_count(struct cafile_entry *cafile_entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:3770,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3778,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3779,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3780,1
    - Dst: get_certificate_count
      Src: /src/haproxy/src/ssl_ckch.c:3780,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:3781,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3788,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/ssl_ckch.c:3789,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_ckch.c:3796,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3798,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:3800,1
    - Dst: get_certificate_count
      Src: /src/haproxy/src/ssl_ckch.c:3800,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/ssl_ckch.c:3803,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:3804,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:3809,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:3813,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 3816
      start: 3767
    functionDepth: 2
    functionLinenumber: 3767
    functionLinenumberEnd: 3816
    functionName: cli_io_handler_show_cafile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - get_certificate_count
    - chunk_appendf
    - applet_putchk
    - ebmb_entry
    - ebmb_first
    - free_trash_chunk
    - ebmb_next
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_cafile(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:3825,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3829,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3831,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3832,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:3836,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3837,1
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3841,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3843,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/ssl_ckch.c:3847,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3848,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/ssl_ckch.c:3853,1
    - Dst: ssl_store_delete_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3854,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3856,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3858,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/ssl_ckch.c:3859,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3862,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3863,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:3864,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3865
      start: 3819
    functionDepth: 5
    functionLinenumber: 3819
    functionLinenumberEnd: 3865
    functionName: cli_parse_del_cafile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - LIST_ISEMPTY
    - cli_dynmsg
    - strcmp
    - cli_err
    - ssl_store_delete_cafile_entry
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - ssl_store_get_cafile_entry
    - cli_has_level
    - ebmb_delete
    linkageType: ''
    returnType: int
    signature: cli_parse_del_cafile(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:3874,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3878,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3884,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3885,1
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3887,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3889,1
    - Dst: ssl_store_create_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3893,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3895,1
    - Dst: ssl_store_add_uncommitted_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3901,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3904,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3906,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/ssl_ckch.c:3907,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3909,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:3910,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 3911
      start: 3868
    functionDepth: 5
    functionLinenumber: 3868
    functionLinenumberEnd: 3911
    functionName: cli_parse_new_crlfile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - cli_dynmsg
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - ssl_store_get_cafile_entry
    - cli_has_level
    - ssl_store_create_cafile_entry
    - ssl_store_add_uncommitted_cafile_entry
    linkageType: ''
    returnType: int
    signature: cli_parse_new_crlfile(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:3922,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3926,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:3930,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:3931,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:3933,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3934,1
    - Dst: chunk_strcpy
      Src: /src/haproxy/src/ssl_ckch.c:3939,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3940,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:3951,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3952,1
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3960,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3964,1
    - Dst: ssl_store_create_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3971,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3973,1
    - Dst: ssl_store_load_ca_from_buf
      Src: /src/haproxy/src/ssl_ckch.c:3979,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3980,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3991,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:3993,1
    - Dst: ssl_store_delete_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:3997,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:4004,1
    - Dst: ssl_store_delete_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:4007,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:4008,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:4009,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4009,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:4012,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/ssl_ckch.c:4013,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 4015
      start: 3914
    functionDepth: 5
    functionLinenumber: 3914
    functionLinenumberEnd: 4015
    functionName: cli_parse_set_crlfile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - alloc_trash_chunk
    - cli_dynerr
    - cli_dynmsg
    - strcmp
    - cli_err
    - ssl_store_delete_cafile_entry
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - free_trash_chunk
    - ssl_store_get_cafile_entry
    - chunk_strcpy
    - cli_has_level
    - ssl_store_create_cafile_entry
    - ssl_store_load_ca_from_buf
    linkageType: ''
    returnType: int
    signature: cli_parse_set_crlfile(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/ssl_ckch.c:4022,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:4025,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:4029,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:4033,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:4034,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4037,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:4041,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4042,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:4056,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4057,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:4059,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 4060
      start: 4020
    functionDepth: 5
    functionLinenumber: 4020
    functionLinenumberEnd: 4060
    functionName: cli_parse_commit_crlfile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - strcmp
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - cli_has_level
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_commit_crlfile(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_delete
      Src: /src/haproxy/src/ssl_ckch.c:4073,1
    - Dst: ssl_store_delete_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:4074,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:4076,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:4077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 4078
      start: 4066
    functionDepth: 4
    functionLinenumber: 4066
    functionLinenumberEnd: 4078
    functionName: cli_release_commit_crlfile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - ssl_store_delete_cafile_entry
    - ha_free
    - HA_SPIN_UNLOCK
    - ebmb_delete
    linkageType: ''
    returnType: void
    signature: cli_release_commit_crlfile(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:4087,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:4091,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:4093,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:4094,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:4098,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4099,1
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:4103,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4105,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4109,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/ssl_ckch.c:4113,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4114,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/ssl_ckch.c:4119,1
    - Dst: ssl_store_delete_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:4120,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4122,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:4124,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/ssl_ckch.c:4125,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4128,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:4129,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:4130,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 4131
      start: 4081
    functionDepth: 5
    functionLinenumber: 4081
    functionLinenumberEnd: 4131
    functionName: cli_parse_del_crlfile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - LIST_ISEMPTY
    - cli_dynmsg
    - strcmp
    - cli_err
    - ssl_store_delete_cafile_entry
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - ssl_store_get_cafile_entry
    - cli_has_level
    - ebmb_delete
    linkageType: ''
    returnType: int
    signature: cli_parse_del_crlfile(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:4138,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:4142,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:4146,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:4147,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4150,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:4154,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4155,1
    - Dst: ssl_store_delete_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:4160,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:4165,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4167,1
    - Dst: cli_dynmsg
      Src: /src/haproxy/src/ssl_ckch.c:4168,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:4171,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:4173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 4174
      start: 4134
    functionDepth: 5
    functionLinenumber: 4134
    functionLinenumberEnd: 4174
    functionName: cli_parse_abort_crlfile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - cli_dynmsg
    - strcmp
    - cli_err
    - ssl_store_delete_cafile_entry
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - cli_has_level
    linkageType: ''
    returnType: int
    signature: cli_parse_abort_crlfile(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:4186,1
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_ckch.c:4191,1
    - Dst: BIO_new
      Src: /src/haproxy/src/ssl_ckch.c:4199,1
    - Dst: BIO_s_mem
      Src: /src/haproxy/src/ssl_ckch.c:4199,1
    - Dst: X509_CRL_get_version
      Src: /src/haproxy/src/ssl_ckch.c:4203,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4204,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4207,1
    - Dst: OBJ_nid2ln
      Src: /src/haproxy/src/ssl_ckch.c:4207,1
    - Dst: X509_CRL_get_signature_nid
      Src: /src/haproxy/src/ssl_ckch.c:4207,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4210,1
    - Dst: X509_CRL_get_issuer
      Src: /src/haproxy/src/ssl_ckch.c:4211,1
    - Dst: ssl_sock_get_dn_oneline
      Src: /src/haproxy/src/ssl_ckch.c:4213,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4216,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4219,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/ssl_ckch.c:4220,1
    - Dst: BIO_reset
      Src: /src/haproxy/src/ssl_ckch.c:4221,1
    - Dst: ASN1_TIME_print
      Src: /src/haproxy/src/ssl_ckch.c:4223,1
    - Dst: X509_CRL_get0_lastUpdate
      Src: /src/haproxy/src/ssl_ckch.c:4223,1
    - Dst: BIO_read
      Src: /src/haproxy/src/ssl_ckch.c:4225,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4227,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4231,1
    - Dst: chunk_reset
      Src: /src/haproxy/src/ssl_ckch.c:4232,1
    - Dst: BIO_reset
      Src: /src/haproxy/src/ssl_ckch.c:4233,1
    - Dst: ASN1_TIME_print
      Src: /src/haproxy/src/ssl_ckch.c:4235,1
    - Dst: X509_CRL_get0_nextUpdate
      Src: /src/haproxy/src/ssl_ckch.c:4235,1
    - Dst: BIO_read
      Src: /src/haproxy/src/ssl_ckch.c:4237,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4239,1
    - Dst: X509_CRL_get_REVOKED
      Src: /src/haproxy/src/ssl_ckch.c:4243,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/haproxy/src/ssl_ckch.c:4244,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4245,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4247,1
    - Dst: sk_X509_REVOKED_num
      Src: /src/haproxy/src/ssl_ckch.c:4249,1
    - Dst: sk_X509_REVOKED_value
      Src: /src/haproxy/src/ssl_ckch.c:4250,1
    - Dst: BIO_reset
      Src: /src/haproxy/src/ssl_ckch.c:4253,1
    - Dst: BIO_printf
      Src: /src/haproxy/src/ssl_ckch.c:4255,1
    - Dst: i2a_ASN1_INTEGER
      Src: /src/haproxy/src/ssl_ckch.c:4256,1
    - Dst: X509_REVOKED_get0_serialNumber
      Src: /src/haproxy/src/ssl_ckch.c:4256,1
    - Dst: BIO_printf
      Src: /src/haproxy/src/ssl_ckch.c:4257,1
    - Dst: ASN1_TIME_print
      Src: /src/haproxy/src/ssl_ckch.c:4258,1
    - Dst: X509_REVOKED_get0_revocationDate
      Src: /src/haproxy/src/ssl_ckch.c:4258,1
    - Dst: BIO_printf
      Src: /src/haproxy/src/ssl_ckch.c:4260,1
    - Dst: BIO_read
      Src: /src/haproxy/src/ssl_ckch.c:4262,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4264,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:4269,1
    - Dst: BIO_free
      Src: /src/haproxy/src/ssl_ckch.c:4271,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 2
    argNames:
    - crl
    - out
    argTypes:
    - X509_CRL*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 4274
      start: 4183
    functionDepth: 2
    functionLinenumber: 4183
    functionLinenumberEnd: 4274
    functionName: show_crl_detail
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - BIO_printf
    - BIO_read
    - chunk_reset
    - X509_CRL_get0_lastUpdate
    - i2a_ASN1_INTEGER
    - X509_CRL_get0_nextUpdate
    - free_trash_chunk
    - X509_CRL_get_REVOKED
    - BIO_s_mem
    - BIO_new
    - ssl_sock_get_dn_oneline
    - alloc_trash_chunk
    - OBJ_nid2ln
    - chunk_appendf
    - STACK_OF
    - BIO_free
    - X509_CRL_get_signature_nid
    - X509_CRL_get_version
    - X509_CRL_get_issuer
    - BIO_reset
    - sk_X509_REVOKED_value
    - sk_X509_REVOKED_num
    - ASN1_TIME_print
    - X509_REVOKED_get0_serialNumber
    - X509_REVOKED_get0_revocationDate
    linkageType: ''
    returnType: int
    signature: show_crl_detail(X509_CRL *crl, struct buffer *out)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:4284,1
    - Dst: STACK_OF
      Src: /src/haproxy/src/ssl_ckch.c:4287,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4294,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4296,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4297,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4299,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4301,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4303,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/src/ssl_ckch.c:4304,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4305,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4307,1
    - Dst: X509_STORE_get0_objects
      Src: /src/haproxy/src/ssl_ckch.c:4312,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/haproxy/src/ssl_ckch.c:4313,1
    - Dst: X509_OBJECT_get0_X509_CRL
      Src: /src/haproxy/src/ssl_ckch.c:4314,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/haproxy/src/ssl_ckch.c:4314,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4322,1
    - Dst: show_crl_detail
      Src: /src/haproxy/src/ssl_ckch.c:4323,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:4331,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:4335,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:4338,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 4340
      start: 4280
    functionDepth: 3
    functionLinenumber: 4280
    functionLinenumberEnd: 4340
    functionName: cli_io_handler_show_crlfile_detail
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - LIST_ISEMPTY
    - X509_OBJECT_get0_X509_CRL
    - sk_X509_OBJECT_value
    - chunk_appendf
    - applet_putchk
    - free_trash_chunk
    - show_crl_detail
    - sk_X509_OBJECT_num
    - STACK_OF
    - X509_STORE_get0_objects
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_crlfile_detail(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/src/ssl_ckch.c:4348,1
    - Dst: cli_has_level
      Src: /src/haproxy/src/ssl_ckch.c:4354,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:4355,1
    - Dst: HA_SPIN_TRYLOCK
      Src: /src/haproxy/src/ssl_ckch.c:4359,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:4360,1
    - Dst: strchr
      Src: /src/haproxy/src/ssl_ckch.c:4366,1
    - Dst: strtol
      Src: /src/haproxy/src/ssl_ckch.c:4370,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4373,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:4389,1
    - Dst: ssl_store_get_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:4399,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:4412,1
    - Dst: cli_dynerr
      Src: /src/haproxy/src/ssl_ckch.c:4414,1
    - Dst: cli_err
      Src: /src/haproxy/src/ssl_ckch.c:4415,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 4416
      start: 4346
    functionDepth: 5
    functionLinenumber: 4346
    functionLinenumberEnd: 4416
    functionName: cli_parse_show_crlfile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - cli_dynerr
    - strcmp
    - cli_err
    - HA_SPIN_UNLOCK
    - HA_SPIN_TRYLOCK
    - cli_has_level
    - strtol
    - ssl_store_get_cafile_entry
    - strchr
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_parse_show_crlfile(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:4423,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4431,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4432,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:4433,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4440,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/ssl_ckch.c:4441,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_ckch.c:4448,1
    - Dst: chunk_appendf
      Src: /src/haproxy/src/ssl_ckch.c:4450,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/ssl_ckch.c:4453,1
    - Dst: applet_putchk
      Src: /src/haproxy/src/ssl_ckch.c:4454,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:4459,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/src/ssl_ckch.c:4463,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 4466
      start: 4420
    functionDepth: 1
    functionLinenumber: 4420
    functionLinenumberEnd: 4466
    functionName: cli_io_handler_show_crlfile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - alloc_trash_chunk
    - chunk_appendf
    - applet_putchk
    - ebmb_entry
    - ebmb_first
    - free_trash_chunk
    - ebmb_next
    linkageType: ''
    returnType: int
    signature: cli_io_handler_show_crlfile(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/src/ssl_ckch.c:4472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 4473
      start: 4470
    functionDepth: 0
    functionLinenumber: 4470
    functionLinenumberEnd: 4473
    functionName: cli_release_show_crlfile
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - HA_SPIN_UNLOCK
    linkageType: ''
    returnType: void
    signature: cli_release_show_crlfile(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_first
      Src: /src/haproxy/src/ssl_ckch.c:4483,1
    - Dst: eb_next
      Src: /src/haproxy/src/ssl_ckch.c:4485,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_ckch.c:4486,1
    - Dst: ckch_store_free
      Src: /src/haproxy/src/ssl_ckch.c:4487,1
    - Dst: ebmb_first
      Src: /src/haproxy/src/ssl_ckch.c:4492,1
    - Dst: ebmb_entry
      Src: /src/haproxy/src/ssl_ckch.c:4496,1
    - Dst: ebmb_next
      Src: /src/haproxy/src/ssl_ckch.c:4497,1
    - Dst: ebmb_delete
      Src: /src/haproxy/src/ssl_ckch.c:4498,1
    - Dst: ssl_store_delete_cafile_entry
      Src: /src/haproxy/src/ssl_ckch.c:4499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4501
      start: 4476
    functionDepth: 5
    functionLinenumber: 4476
    functionLinenumberEnd: 4501
    functionName: ckch_deinit
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 1
    functionsReached:
    - eb_next
    - ssl_store_delete_cafile_entry
    - ebmb_entry
    - ebmb_first
    - ckch_store_free
    - ebmb_next
    - eb_first
    - ebmb_delete
    linkageType: ''
    returnType: void
    signature: ckch_deinit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/haproxy/src/ssl_ckch.c:4590,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4593,1
    - Dst: func
      Src: /src/haproxy/src/ssl_ckch.c:4603,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4606,1
    - Dst: ssl_sock_free_cert_key_and_chain_contents
      Src: /src/haproxy/src/ssl_ckch.c:4622,1
    - Dst: ERR_clear_error
      Src: /src/haproxy/src/ssl_ckch.c:4623,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 4
    argNames:
    - f
    - c
    - cli
    - err
    argTypes:
    - struct ckch_conf*
    - struct ckch_store*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4626
      start: 4563
    functionDepth: 5
    functionLinenumber: 4563
    functionLinenumberEnd: 4626
    functionName: ckch_store_load_files
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 2
    functionsReached:
    - memprintf
    - func
    - ERR_clear_error
    - ssl_sock_free_cert_key_and_chain_contents
    linkageType: ''
    returnType: int
    signature: ckch_store_load_files(struct ckch_conf *f, struct ckch_store *c, int
      cli, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4635,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4642,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:4650,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_ckch.c:4651,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:4654,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_ckch.c:4655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - linenum
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4659
      start: 4629
    functionDepth: 5
    functionLinenumber: 4629
    functionLinenumberEnd: 4659
    functionName: crtstore_parse_path_base
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: "crtstore_parse_path_base(char **args, int section_type, struct proxy
      *curpx, const struct proxy *defpx,\n                        const char *file,
      int linenum, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: used::used
      Src: /src/haproxy/src/ssl_ckch.c:4686,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4687,1
    - Dst: used::used
      Src: /src/haproxy/src/ssl_ckch.c:4690,1
    - Dst: used::used
      Src: /src/haproxy/src/ssl_ckch.c:4694,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4695,1
    - Dst: used::used
      Src: /src/haproxy/src/ssl_ckch.c:4699,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:4706,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:4716,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4717,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:4728,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4743,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4748,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4751,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4754,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4760,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4762,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 69
    argCount: 3
    argNames:
    - prev
    - new
    - err
    argTypes:
    - struct ckch_conf*
    - struct ckch_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 4771
      start: 4675
    functionDepth: 5
    functionLinenumber: 4675
    functionLinenumberEnd: 4771
    functionName: ckch_conf_cmp
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 2
    functionsReached:
    - memprintf
    - strcmp
    - used::used
    linkageType: ''
    returnType: int
    signature: ckch_conf_cmp(struct ckch_conf *prev, struct ckch_conf *new, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ckch_conf_cmp
      Src: /src/haproxy/src/ssl_ckch.c:4780,1
    - Dst: err::err
      Src: /src/haproxy/src/ssl_ckch.c:4780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prev
    - err
    argTypes:
    - struct ckch_conf*
    - char**
    constantsTouched: []
    func_position:
      end: 4781
      start: 4776
    functionDepth: 6
    functionLinenumber: 4776
    functionLinenumberEnd: 4781
    functionName: ckch_conf_cmp_empty
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 1
    functionsReached:
    - ckch_conf_cmp
    - err::err
    linkageType: ''
    returnType: int
    signature: ckch_conf_cmp_empty(struct ckch_conf *prev, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:4790,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_ckch.c:4798,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:4800,1
    - Dst: realloc
      Src: /src/haproxy/src/ssl_ckch.c:4816,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:4818,1
    - Dst: my_strndup
      Src: /src/haproxy/src/ssl_ckch.c:4822,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:4824,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:4855,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:4857,1
    - Dst: strtol
      Src: /src/haproxy/src/ssl_ckch.c:4864,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4866,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:4874,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:4876,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4879,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 7
    argNames:
    - args
    - cur_arg
    - f
    - found
    - file
    - linenum
    - err
    argTypes:
    - char**
    - int
    - struct ckch_conf*
    - int*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 4890
      start: 4784
    functionDepth: 9
    functionLinenumber: 4784
    functionLinenumberEnd: 4890
    functionName: ckch_conf_parse
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 2
    functionsReached:
    - ha_alert
    - memprintf
    - strcmp
    - strdup
    - free
    - strtol
    - realloc
    - my_strndup
    linkageType: ''
    returnType: int
    signature: ckch_conf_parse(char **args, int cur_arg, struct ckch_conf *f, int
      *found, const char *file, int linenum, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:4898,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:4899,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:4900,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:4901,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:4902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - conf
    argTypes:
    - struct ckch_conf*
    constantsTouched: []
    func_position:
      end: 4903
      start: 4893
    functionDepth: 3
    functionLinenumber: 4893
    functionLinenumberEnd: 4903
    functionName: ckch_conf_clean
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: ckch_conf_clean(struct ckch_conf *conf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:4923,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4927,1
    - Dst: snprintf
      Src: /src/haproxy/src/ssl_ckch.c:4933,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4935,1
    - Dst: ckch_conf_parse
      Src: /src/haproxy/src/ssl_ckch.c:4943,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4949,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4958,1
    - Dst: snprintf
      Src: /src/haproxy/src/ssl_ckch.c:4978,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4980,1
    - Dst: snprintf
      Src: /src/haproxy/src/ssl_ckch.c:4990,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:4992,1
    - Dst: ckch_store_new
      Src: /src/haproxy/src/ssl_ckch.c:5000,1
    - Dst: ckch_store_load_files
      Src: /src/haproxy/src/ssl_ckch.c:5004,1
    - Dst: ebst_insert
      Src: /src/haproxy/src/ssl_ckch.c:5011,1
    - Dst: memprintf
      Src: /src/haproxy/src/ssl_ckch.c:5012,1
    - Dst: ckch_store_free
      Src: /src/haproxy/src/ssl_ckch.c:5021,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:5025,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - linenum
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 5028
      start: 4907
    functionDepth: 10
    functionLinenumber: 4907
    functionLinenumberEnd: 5028
    functionName: crtstore_parse_load
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - memprintf
    - ckch_store_load_files
    - ha_alert
    - ckch_conf_parse
    - strcmp
    - snprintf
    - ckch_store_new
    - ckch_store_free
    - ebst_insert
    linkageType: ''
    returnType: int
    signature: "crtstore_parse_load(char **args, int section_type, struct proxy *curpx,
      const struct proxy *defpx,\n                        const char *file, int linenum,
      char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:5045,1
    - Dst: snprintf
      Src: /src/haproxy/src/ssl_ckch.c:5049,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:5051,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:5059,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:5064,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_ckch.c:5066,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:5067,1
    - Dst: strdup
      Src: /src/haproxy/src/ssl_ckch.c:5069,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/ssl_ckch.c:5075,1
    - Dst: strcmp
      Src: /src/haproxy/src/ssl_ckch.c:5079,1
    - Dst: check_kw_experimental
      Src: /src/haproxy/src/ssl_ckch.c:5080,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:5081,1
    - Dst: parse
      Src: /src/haproxy/src/ssl_ckch.c:5087,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:5089,1
    - Dst: ha_warning
      Src: /src/haproxy/src/ssl_ckch.c:5094,1
    - Dst: cfg_find_best_match
      Src: /src/haproxy/src/ssl_ckch.c:5103,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:5105,1
    - Dst: ha_alert
      Src: /src/haproxy/src/ssl_ckch.c:5107,1
    - Dst: free
      Src: /src/haproxy/src/ssl_ckch.c:5114,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kwm
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 5116
      start: 5036
    functionDepth: 9
    functionLinenumber: 5036
    functionLinenumberEnd: 5116
    functionName: cfg_parse_crtstore
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - parse
    - ha_free
    - list_for_each_entry
    - strcmp
    - ha_warning
    - snprintf
    - cfg_find_best_match
    - strdup
    - free
    - check_kw_experimental
    linkageType: ''
    returnType: int
    signature: cfg_parse_crtstore(const char *file, int linenum, char **args, int
      kwm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:5121,1
    - Dst: ha_free
      Src: /src/haproxy/src/ssl_ckch.c:5122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5125
      start: 5118
    functionDepth: 0
    functionLinenumber: 5118
    functionLinenumberEnd: 5125
    functionName: cfg_post_parse_crtstore
    functionSourceFile: /src/haproxy/src/ssl_ckch.c
    functionUses: 0
    functionsReached:
    - ha_free
    linkageType: ''
    returnType: int
    signature: cfg_post_parse_crtstore()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcp_rules.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw_list
    argTypes:
    - struct action_kw_list*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tcp_req_conn_keywords_register
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: tcp_req_conn_keywords_register(struct action_kw_list *kw_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcp_rules.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw_list
    argTypes:
    - struct action_kw_list*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: tcp_req_sess_keywords_register
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: tcp_req_sess_keywords_register(struct action_kw_list *kw_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcp_rules.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw_list
    argTypes:
    - struct action_kw_list*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: tcp_req_cont_keywords_register
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: tcp_req_cont_keywords_register(struct action_kw_list *kw_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcp_rules.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw_list
    argTypes:
    - struct action_kw_list*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: tcp_res_cont_keywords_register
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: tcp_res_cont_keywords_register(struct action_kw_list *kw_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: action_lookup
      Src: /src/haproxy/src/tcp_rules.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: tcp_req_conn_action
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 0
    functionsReached:
    - action_lookup
    linkageType: ''
    returnType: struct action_kw
    signature: '*tcp_req_conn_action(const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: action_lookup
      Src: /src/haproxy/src/tcp_rules.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: tcp_req_sess_action
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 0
    functionsReached:
    - action_lookup
    linkageType: ''
    returnType: struct action_kw
    signature: '*tcp_req_sess_action(const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: action_lookup
      Src: /src/haproxy/src/tcp_rules.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: tcp_req_cont_action
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 1
    functionsReached:
    - action_lookup
    linkageType: ''
    returnType: struct action_kw
    signature: '*tcp_req_cont_action(const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: action_lookup
      Src: /src/haproxy/src/tcp_rules.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: tcp_res_cont_action
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 1
    functionsReached:
    - action_lookup
    linkageType: ''
    returnType: struct action_kw
    signature: '*tcp_res_cont_action(const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/tcp_rules.c:104,1
    - Dst: channel_full
      Src: /src/haproxy/src/tcp_rules.c:121,1
    - Dst: sc_waiting_room
      Src: /src/haproxy/src/tcp_rules.c:122,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/tcp_rules.c:123,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/tcp_rules.c:126,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/tcp_rules.c:156,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/tcp_rules.c:164,1
    - Dst: acl_exec_cond
      Src: /src/haproxy/src/tcp_rules.c:171,1
    - Dst: acl_pass
      Src: /src/haproxy/src/tcp_rules.c:175,1
    - Dst: struct act_rule*::action_ptr
      Src: /src/haproxy/src/tcp_rules.c:187,1
    - Dst: send_log
      Src: /src/haproxy/src/tcp_rules.c:198,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/tcp_rules.c:213,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/tcp_rules.c:254,1
    - Dst: channel_dont_connect
      Src: /src/haproxy/src/tcp_rules.c:258,1
    - Dst: tick_isset
      Src: /src/haproxy/src/tcp_rules.c:260,1
    - Dst: tick_add
      Src: /src/haproxy/src/tcp_rules.c:261,1
    - Dst: tick_first
      Src: /src/haproxy/src/tcp_rules.c:262,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/tcp_rules.c:262,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/tcp_rules.c:263,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:267,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:269,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/tcp_rules.c:270,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:274,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:276,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/tcp_rules.c:279,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:283,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:285,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/tcp_rules.c:286,1
    - Dst: sc_must_kill_conn
      Src: /src/haproxy/src/tcp_rules.c:289,1
    - Dst: stream_abort
      Src: /src/haproxy/src/tcp_rules.c:290,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/tcp_rules.c:302,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 172
    argCount: 3
    argNames:
    - s
    - req
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 304
      start: 96
    functionDepth: 10
    functionLinenumber: 96
    functionLinenumberEnd: 304
    functionName: tcp_inspect_request
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 0
    functionsReached:
    - send_log
    - stream_abort
    - sc_must_kill_conn
    - DBG_TRACE_LEAVE
    - DBG_TRACE_ENTER
    - sc_waiting_room
    - list_for_each_entry
    - task_wakeup
    - acl_exec_cond
    - tick_is_expired
    - channel_dont_connect
    - _HA_ATOMIC_INC
    - stream_report_term_evt
    - channel_full
    - tick_add
    - DBG_TRACE_DEVEL
    - tick_first
    - tick_isset
    - struct act_rule*::action_ptr
    - acl_pass
    linkageType: ''
    returnType: int
    signature: tcp_inspect_request(struct stream *s, struct channel *req, int an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DBG_TRACE_ENTER
      Src: /src/haproxy/src/tcp_rules.c:320,1
    - Dst: channel_full
      Src: /src/haproxy/src/tcp_rules.c:334,1
    - Dst: sc_waiting_room
      Src: /src/haproxy/src/tcp_rules.c:335,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/tcp_rules.c:336,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/tcp_rules.c:339,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/tcp_rules.c:369,1
    - Dst: task_wakeup
      Src: /src/haproxy/src/tcp_rules.c:377,1
    - Dst: acl_exec_cond
      Src: /src/haproxy/src/tcp_rules.c:384,1
    - Dst: acl_pass
      Src: /src/haproxy/src/tcp_rules.c:388,1
    - Dst: struct act_rule*::action_ptr
      Src: /src/haproxy/src/tcp_rules.c:400,1
    - Dst: send_log
      Src: /src/haproxy/src/tcp_rules.c:411,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/tcp_rules.c:426,1
    - Dst: sc_must_kill_conn
      Src: /src/haproxy/src/tcp_rules.c:455,1
    - Dst: sc_abort
      Src: /src/haproxy/src/tcp_rules.c:456,1
    - Dst: sc_shutdown
      Src: /src/haproxy/src/tcp_rules.c:457,1
    - Dst: DBG_TRACE_LEAVE
      Src: /src/haproxy/src/tcp_rules.c:476,1
    - Dst: channel_dont_close
      Src: /src/haproxy/src/tcp_rules.c:481,1
    - Dst: tick_isset
      Src: /src/haproxy/src/tcp_rules.c:482,1
    - Dst: tick_add
      Src: /src/haproxy/src/tcp_rules.c:483,1
    - Dst: tick_first
      Src: /src/haproxy/src/tcp_rules.c:484,1
    - Dst: tick_is_expired
      Src: /src/haproxy/src/tcp_rules.c:484,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/tcp_rules.c:485,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:489,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:490,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:492,1
    - Dst: objt_server
      Src: /src/haproxy/src/tcp_rules.c:493,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:494,1
    - Dst: __objt_server
      Src: /src/haproxy/src/tcp_rules.c:494,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/tcp_rules.c:495,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:499,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:500,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:502,1
    - Dst: objt_server
      Src: /src/haproxy/src/tcp_rules.c:503,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:504,1
    - Dst: __objt_server
      Src: /src/haproxy/src/tcp_rules.c:504,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/tcp_rules.c:507,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:511,1
    - Dst: objt_server
      Src: /src/haproxy/src/tcp_rules.c:512,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:513,1
    - Dst: __objt_server
      Src: /src/haproxy/src/tcp_rules.c:513,1
    - Dst: stream_report_term_evt
      Src: /src/haproxy/src/tcp_rules.c:514,1
    - Dst: sc_must_kill_conn
      Src: /src/haproxy/src/tcp_rules.c:517,1
    - Dst: stream_abort
      Src: /src/haproxy/src/tcp_rules.c:518,1
    - Dst: DBG_TRACE_DEVEL
      Src: /src/haproxy/src/tcp_rules.c:529,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 188
    argCount: 3
    argNames:
    - s
    - rep
    - an_bit
    argTypes:
    - struct stream*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 531
      start: 312
    functionDepth: 10
    functionLinenumber: 312
    functionLinenumberEnd: 531
    functionName: tcp_inspect_response
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 0
    functionsReached:
    - send_log
    - stream_abort
    - sc_must_kill_conn
    - DBG_TRACE_LEAVE
    - sc_abort
    - DBG_TRACE_ENTER
    - sc_waiting_room
    - list_for_each_entry
    - task_wakeup
    - __objt_server
    - acl_exec_cond
    - tick_is_expired
    - objt_server
    - _HA_ATOMIC_INC
    - stream_report_term_evt
    - channel_full
    - channel_dont_close
    - tick_add
    - DBG_TRACE_DEVEL
    - tick_first
    - sc_shutdown
    - tick_isset
    - struct act_rule*::action_ptr
    - acl_pass
    linkageType: ''
    returnType: int
    signature: tcp_inspect_response(struct stream *s, struct channel *rep, int an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/src/tcp_rules.c:543,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/tcp_rules.c:553,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/tcp_rules.c:555,1
    - Dst: struct act_rule*::action_ptr
      Src: /src/haproxy/src/tcp_rules.c:560,1
    - Dst: send_log
      Src: /src/haproxy/src/tcp_rules.c:565,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:588,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:590,1
    - Dst: xprt_add_hs
      Src: /src/haproxy/src/tcp_rules.c:597,1
    - Dst: xprt_add_hs
      Src: /src/haproxy/src/tcp_rules.c:606,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/src/tcp_rules.c:621,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 73
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct session*
    constantsTouched: []
    func_position:
      end: 623
      start: 539
    functionDepth: 10
    functionLinenumber: 539
    functionLinenumberEnd: 623
    functionName: tcp_exec_l4_rules
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 1
    functionsReached:
    - xprt_add_hs
    - send_log
    - list_for_each_entry
    - _HA_ATOMIC_INC
    - objt_conn
    - conn_report_term_evt
    - struct act_rule*::action_ptr
    - acl_match_cond
    linkageType: ''
    returnType: int
    signature: tcp_exec_l4_rules(struct session *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/src/tcp_rules.c:642,1
    - Dst: acl_match_cond
      Src: /src/haproxy/src/tcp_rules.c:643,1
    - Dst: struct act_rule*::action_ptr
      Src: /src/haproxy/src/tcp_rules.c:648,1
    - Dst: send_log
      Src: /src/haproxy/src/tcp_rules.c:653,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:676,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/src/tcp_rules.c:678,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct session*
    constantsTouched: []
    func_position:
      end: 691
      start: 632
    functionDepth: 10
    functionLinenumber: 632
    functionLinenumberEnd: 691
    functionName: tcp_exec_l5_rules
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 1
    functionsReached:
    - send_log
    - list_for_each_entry
    - _HA_ATOMIC_INC
    - struct act_rule*::action_ptr
    - acl_match_cond
    linkageType: ''
    returnType: int
    signature: tcp_exec_l5_rules(struct session *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/tcp_rules.c:700,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:701,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:706,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:711,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:716,1
    - Dst: tcp_res_cont_action
      Src: /src/haproxy/src/tcp_rules.c:723,1
    - Dst: struct action_kw*::parse
      Src: /src/haproxy/src/tcp_rules.c:727,1
    - Dst: action_build_list
      Src: /src/haproxy/src/tcp_rules.c:733,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:734,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:737,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:745,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:745,1
    - Dst: build_acl_cond
      Src: /src/haproxy/src/tcp_rules.c:746,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:747,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:749,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:754,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:756,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 10
    argNames:
    - args
    - arg
    - section_type
    - curpx
    - defpx
    - rule
    - err
    - where
    - file
    - line
    argTypes:
    - char**
    - int
    - int
    - struct proxy*
    - struct proxy*
    - struct act_rule*
    - char**
    - unsigned int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 760
      start: 694
    functionDepth: 6
    functionLinenumber: 694
    functionLinenumberEnd: 760
    functionName: tcp_parse_response_rule
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 0
    functionsReached:
    - memprintf
    - struct action_kw*::parse
    - build_acl_cond
    - strlen
    - strcmp
    - proxy_type_str
    - tcp_res_cont_action
    - action_build_list
    linkageType: ''
    returnType: int
    signature: "tcp_parse_response_rule(char **args, int arg, int section_type,\n
      \                                  struct proxy *curpx, const struct proxy *defpx,\n
      \                                  struct act_rule *rule, char **err,\n                                   unsigned
      int where,\n                                   const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/src/tcp_rules.c:782,1
    - Dst: stktable_fetch_key
      Src: /src/haproxy/src/tcp_rules.c:785,1
    - Dst: stktable_get_entry
      Src: /src/haproxy/src/tcp_rules.c:790,1
    - Dst: stream_track_stkctr
      Src: /src/haproxy/src/tcp_rules.c:791,1
    - Dst: stkctr_set_flags
      Src: /src/haproxy/src/tcp_rules.c:792,1
    - Dst: stkctr_set_flags
      Src: /src/haproxy/src/tcp_rules.c:794,1
    - Dst: stkctr_entry
      Src: /src/haproxy/src/tcp_rules.c:798,1
    - Dst: stktable_fetch_key
      Src: /src/haproxy/src/tcp_rules.c:801,1
    - Dst: stktable_get_entry
      Src: /src/haproxy/src/tcp_rules.c:802,1
    - Dst: stream_track_stkctr
      Src: /src/haproxy/src/tcp_rules.c:803,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 808
      start: 767
    functionDepth: 5
    functionLinenumber: 767
    functionLinenumberEnd: 808
    functionName: tcp_action_track_sc
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 0
    functionsReached:
    - stktable_get_entry
    - stkctr_entry
    - stream_track_stkctr
    - stkctr_set_flags
    - stktable_fetch_key
    linkageType: ''
    returnType: enum act_return
    signature: "tcp_action_track_sc(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t
      \   struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sample_fetch_as_type
      Src: /src/haproxy/src/tcp_rules.c:827,1
    - Dst: pool_alloc
      Src: /src/haproxy/src/tcp_rules.c:835,1
    - Dst: memcpy
      Src: /src/haproxy/src/tcp_rules.c:844,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 5
    argNames:
    - rule
    - px
    - sess
    - s
    - flags
    argTypes:
    - struct act_rule*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 849
      start: 815
    functionDepth: 3
    functionLinenumber: 815
    functionLinenumberEnd: 849
    functionName: tcp_action_capture
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 0
    functionsReached:
    - sample_fetch_as_type
    - memcpy
    - pool_alloc
    linkageType: ''
    returnType: enum act_return
    signature: "tcp_action_capture(struct act_rule *rule, struct proxy *px,\n\t\t\t\t\t
      \ struct session *sess, struct stream *s, int flags)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcp_rules.c:853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 854
      start: 851
    functionDepth: 5
    functionLinenumber: 851
    functionLinenumberEnd: 854
    functionName: release_tcp_capture
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 0
    functionsReached:
    - release_sample_expr
    linkageType: ''
    returnType: void
    signature: release_tcp_capture(struct act_rule * rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcp_rules.c:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 5
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: release_tcp_track_sc
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 0
    functionsReached:
    - release_sample_expr
    linkageType: ''
    returnType: void
    signature: release_tcp_track_sc(struct act_rule * rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/src/tcp_rules.c:868,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:869,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:874,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:879,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:884,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:891,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:898,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:900,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/tcp_rules.c:907,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:909,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:916,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/tcp_rules.c:918,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcp_rules.c:919,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:923,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:926,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcp_rules.c:929,1
    - Dst: atoi
      Src: /src/haproxy/src/tcp_rules.c:933,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:935,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcp_rules.c:938,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:945,1
    - Dst: free
      Src: /src/haproxy/src/tcp_rules.c:948,1
    - Dst: calloc
      Src: /src/haproxy/src/tcp_rules.c:952,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:954,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcp_rules.c:955,1
    - Dst: create_pool
      Src: /src/haproxy/src/tcp_rules.c:962,1
    - Dst: strncmp
      Src: /src/haproxy/src/tcp_rules.c:978,1
    - Dst: cfg_parse_track_sc_num
      Src: /src/haproxy/src/tcp_rules.c:987,1
    - Dst: strlen
      Src: /src/haproxy/src/tcp_rules.c:987,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:988,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/src/tcp_rules.c:993,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:995,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1002,1
    - Dst: sample_src_names
      Src: /src/haproxy/src/tcp_rules.c:1004,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcp_rules.c:1005,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:1012,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1015,1
    - Dst: release_sample_expr
      Src: /src/haproxy/src/tcp_rules.c:1018,1
    - Dst: strdup
      Src: /src/haproxy/src/tcp_rules.c:1022,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:1031,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:1032,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1033,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1035,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1040,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1042,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:1049,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:1050,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1051,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1053,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1058,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1060,1
    - Dst: tcp_req_conn_action
      Src: /src/haproxy/src/tcp_rules.c:1071,1
    - Dst: tcp_req_sess_action
      Src: /src/haproxy/src/tcp_rules.c:1075,1
    - Dst: tcp_req_cont_action
      Src: /src/haproxy/src/tcp_rules.c:1079,1
    - Dst: struct action_kw*::parse
      Src: /src/haproxy/src/tcp_rules.c:1084,1
    - Dst: action_build_list
      Src: /src/haproxy/src/tcp_rules.c:1092,1
    - Dst: action_suggest
      Src: /src/haproxy/src/tcp_rules.c:1093,1
    - Dst: action_build_list
      Src: /src/haproxy/src/tcp_rules.c:1096,1
    - Dst: action_suggest
      Src: /src/haproxy/src/tcp_rules.c:1097,1
    - Dst: action_build_list
      Src: /src/haproxy/src/tcp_rules.c:1100,1
    - Dst: action_suggest
      Src: /src/haproxy/src/tcp_rules.c:1101,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1104,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1108,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:1117,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:1117,1
    - Dst: build_acl_cond
      Src: /src/haproxy/src/tcp_rules.c:1118,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1119,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1121,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1126,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1128,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 179
    argCount: 10
    argNames:
    - args
    - arg
    - section_type
    - curpx
    - defpx
    - rule
    - err
    - where
    - file
    - line
    argTypes:
    - char**
    - int
    - int
    - struct proxy*
    - struct proxy*
    - struct act_rule*
    - char**
    - unsigned int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1132
      start: 863
    functionDepth: 7
    functionLinenumber: 863
    functionLinenumberEnd: 1132
    functionName: tcp_parse_request_rule
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 0
    functionsReached:
    - memprintf
    - tcp_req_conn_action
    - strncmp
    - tcp_req_sess_action
    - atoi
    - action_build_list
    - struct action_kw*::parse
    - action_suggest
    - strcmp
    - free
    - sample_src_names
    - release_sample_expr
    - tcp_req_cont_action
    - cfg_parse_track_sc_num
    - strlen
    - sample_parse_expr
    - strdup
    - proxy_type_str
    - build_acl_cond
    - calloc
    - create_pool
    linkageType: ''
    returnType: int
    signature: "tcp_parse_request_rule(char **args, int arg, int section_type,\n                                  struct
      proxy *curpx, const struct proxy *defpx,\n                                  struct
      act_rule *rule, char **err,\n                                  unsigned int
      where, const char *file, int line)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1151,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1152,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:1156,1
    - Dst: strlen
      Src: /src/haproxy/src/tcp_rules.c:1157,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1158,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/tcp_rules.c:1163,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1164,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1166,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1169,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1171,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1173,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1178,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1179,1
    - Dst: new_act_rule
      Src: /src/haproxy/src/tcp_rules.c:1186,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1188,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/tcp_rules.c:1191,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:1195,1
    - Dst: tcp_parse_response_rule
      Src: /src/haproxy/src/tcp_rules.c:1202,1
    - Dst: acl_cond_conflicts
      Src: /src/haproxy/src/tcp_rules.c:1205,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1208,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1210,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1212,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/tcp_rules.c:1215,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1216,1
    - Dst: acl_cond_kw_conflicts
      Src: /src/haproxy/src/tcp_rules.c:1220,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1222,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1224,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1226,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1228,1
    - Dst: warnif_misplaced_tcp_res_cont
      Src: /src/haproxy/src/tcp_rules.c:1233,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcp_rules.c:1234,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1237,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1239,1
    - Dst: free_act_rule
      Src: /src/haproxy/src/tcp_rules.c:1245,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1247
      start: 1137
    functionDepth: 7
    functionLinenumber: 1137
    functionLinenumberEnd: 1247
    functionName: tcp_parse_tcp_rep
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 0
    functionsReached:
    - memprintf
    - acl_cond_conflicts
    - new_act_rule
    - strcmp
    - strlen
    - LIST_APPEND
    - warnif_misplaced_tcp_res_cont
    - sample_ckp_names
    - acl_cond_kw_conflicts
    - proxy_type_str
    - LIST_INIT
    - tcp_parse_response_rule
    - parse_time_err
    - free_act_rule
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: "tcp_parse_tcp_rep(char **args, int section_type, struct proxy *curpx,\n
      \                            const struct proxy *defpx, const char *file, int
      line,\n                             char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1268,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1270,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1271,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:1275,1
    - Dst: strlen
      Src: /src/haproxy/src/tcp_rules.c:1276,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1277,1
    - Dst: parse_time_err
      Src: /src/haproxy/src/tcp_rules.c:1282,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1283,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1285,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1288,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1290,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1292,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1297,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1298,1
    - Dst: new_act_rule
      Src: /src/haproxy/src/tcp_rules.c:1305,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1307,1
    - Dst: LIST_INIT
      Src: /src/haproxy/src/tcp_rules.c:1310,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:1314,1
    - Dst: tcp_parse_request_rule
      Src: /src/haproxy/src/tcp_rules.c:1322,1
    - Dst: acl_cond_conflicts
      Src: /src/haproxy/src/tcp_rules.c:1325,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1328,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1330,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1332,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/tcp_rules.c:1335,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1336,1
    - Dst: acl_cond_kw_conflicts
      Src: /src/haproxy/src/tcp_rules.c:1340,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1342,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1344,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1346,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1348,1
    - Dst: warnif_misplaced_tcp_req_cont
      Src: /src/haproxy/src/tcp_rules.c:1353,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcp_rules.c:1354,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:1356,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1360,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1361,1
    - Dst: tcp_parse_request_rule
      Src: /src/haproxy/src/tcp_rules.c:1367,1
    - Dst: acl_cond_conflicts
      Src: /src/haproxy/src/tcp_rules.c:1370,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1373,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1375,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1377,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/tcp_rules.c:1380,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1381,1
    - Dst: acl_cond_kw_conflicts
      Src: /src/haproxy/src/tcp_rules.c:1385,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1387,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1389,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1391,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1393,1
    - Dst: warnif_misplaced_tcp_req_conn
      Src: /src/haproxy/src/tcp_rules.c:1398,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcp_rules.c:1399,1
    - Dst: strcmp
      Src: /src/haproxy/src/tcp_rules.c:1401,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1405,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1406,1
    - Dst: tcp_parse_request_rule
      Src: /src/haproxy/src/tcp_rules.c:1412,1
    - Dst: acl_cond_conflicts
      Src: /src/haproxy/src/tcp_rules.c:1415,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1418,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1420,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1422,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/src/tcp_rules.c:1425,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1426,1
    - Dst: acl_cond_kw_conflicts
      Src: /src/haproxy/src/tcp_rules.c:1429,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1431,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1433,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1435,1
    - Dst: sample_ckp_names
      Src: /src/haproxy/src/tcp_rules.c:1437,1
    - Dst: warnif_misplaced_tcp_req_sess
      Src: /src/haproxy/src/tcp_rules.c:1442,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/src/tcp_rules.c:1443,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1447,1
    - Dst: memprintf
      Src: /src/haproxy/src/tcp_rules.c:1451,1
    - Dst: proxy_type_str
      Src: /src/haproxy/src/tcp_rules.c:1453,1
    - Dst: free_act_rule
      Src: /src/haproxy/src/tcp_rules.c:1459,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 130
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1461
      start: 1253
    functionDepth: 8
    functionLinenumber: 1253
    functionLinenumberEnd: 1461
    functionName: tcp_parse_tcp_req
    functionSourceFile: /src/haproxy/src/tcp_rules.c
    functionUses: 0
    functionsReached:
    - memprintf
    - tcp_parse_request_rule
    - acl_cond_conflicts
    - new_act_rule
    - strcmp
    - strlen
    - LIST_APPEND
    - warnif_misplaced_tcp_req_sess
    - sample_ckp_names
    - acl_cond_kw_conflicts
    - proxy_type_str
    - LIST_INIT
    - warnif_misplaced_tcp_req_conn
    - warnif_misplaced_tcp_req_cont
    - parse_time_err
    - free_act_rule
    - LIST_ELEM
    linkageType: ''
    returnType: int
    signature: "tcp_parse_tcp_req(char **args, int section_type, struct proxy *curpx,\n
      \                            const struct proxy *defpx, const char *file, int
      line,\n                             char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: smp_fetch_wait_end
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_fetch_wait_end(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/payload.c:57,1
    - Dst: htxbuf
      Src: /src/haproxy/src/payload.c:58,1
    - Dst: co_data
      Src: /src/haproxy/src/payload.c:59,1
    - Dst: ci_data
      Src: /src/haproxy/src/payload.c:62,1
    - Dst: obj_type
      Src: /src/haproxy/src/payload.c:64,1
    - Dst: __objt_check
      Src: /src/haproxy/src/payload.c:65,1
    - Dst: IS_HTX_SC
      Src: /src/haproxy/src/payload.c:68,1
    - Dst: htxbuf
      Src: /src/haproxy/src/payload.c:68,1
    - Dst: b_data
      Src: /src/haproxy/src/payload.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: smp_fetch_len
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - co_data
    - __objt_check
    - htxbuf
    - IS_HTX_STRM
    - IS_HTX_SC
    - obj_type
    - b_data
    - ci_data
    linkageType: ''
    returnType: int
    signature: smp_fetch_len(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/payload.c:94,1
    - Dst: ci_data
      Src: /src/haproxy/src/payload.c:100,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:101,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 99
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 214
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 214
    functionName: smp_fetch_req_ssl_st_ext
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - ci_head
    - IS_HTX_STRM
    - ci_data
    linkageType: ''
    returnType: int
    signature: smp_fetch_req_ssl_st_ext(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/payload.c:230,1
    - Dst: ci_data
      Src: /src/haproxy/src/payload.c:234,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:235,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 95
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 341
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 341
    functionName: smp_fetch_req_ssl_ec_ext
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - ci_head
    - IS_HTX_STRM
    - ci_data
    linkageType: ''
    returnType: int
    signature: smp_fetch_req_ssl_ec_ext(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/payload.c:355,1
    - Dst: ci_data
      Src: /src/haproxy/src/payload.c:359,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:360,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 404
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 404
    functionName: smp_fetch_ssl_hello_type
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - ci_head
    - IS_HTX_STRM
    - ci_data
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_hello_type(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/payload.c:425,1
    - Dst: ci_data
      Src: /src/haproxy/src/payload.c:430,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:434,1
    - Dst: msg_len < 6 || msg_len >
      Src: /src/haproxy/src/payload.c:448,1
    - Dst: channel_recv_limit
      Src: /src/haproxy/src/payload.c:505,1
    - Dst: b_orig
      Src: /src/haproxy/src/payload.c:505,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:505,1
    - Dst: channel_recv_limit
      Src: /src/haproxy/src/payload.c:506,1
    - Dst: b_orig
      Src: /src/haproxy/src/payload.c:506,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:506,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 90
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 523
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 523
    functionName: smp_fetch_req_ssl_ver
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - ci_head
    - IS_HTX_STRM
    - msg_len < 6 || msg_len >
    - ci_data
    - channel_recv_limit
    - b_orig
    linkageType: ''
    returnType: int
    signature: smp_fetch_req_ssl_ver(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/payload.c:569,1
    - Dst: ci_data
      Src: /src/haproxy/src/payload.c:573,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:574,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 107
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 692
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 692
    functionName: smp_fetch_ssl_hello_sni
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - ci_head
    - IS_HTX_STRM
    - ci_data
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_hello_sni(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/payload.c:739,1
    - Dst: ci_data
      Src: /src/haproxy/src/payload.c:743,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:744,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 108
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 867
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 867
    functionName: smp_fetch_ssl_hello_alpn
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - ci_head
    - IS_HTX_STRM
    - ci_data
    linkageType: ''
    returnType: int
    signature: smp_fetch_ssl_hello_alpn(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ci_data
      Src: /src/haproxy/src/payload.c:882,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:886,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/payload.c:892,1
    - Dst: strncasecmp
      Src: /src/haproxy/src/payload.c:908,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 4
    argNames:
    - s
    - smp
    - cname
    - clen
    argTypes:
    - struct stream*
    - struct sample*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 954
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 954
    functionName: fetch_rdp_cookie_name
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 2
    functionsReached:
    - strncasecmp
    - ci_head
    - ci_data
    linkageType: ''
    returnType: int
    signature: fetch_rdp_cookie_name(struct stream *s, struct sample *smp, const char
      *cname, int clen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/payload.c:969,1
    - Dst: fetch_rdp_cookie_name
      Src: /src/haproxy/src/payload.c:972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 975
      start: 962
    functionDepth: 2
    functionLinenumber: 962
    functionLinenumberEnd: 975
    functionName: smp_fetch_rdp_cookie
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - fetch_rdp_cookie_name
    - IS_HTX_STRM
    linkageType: ''
    returnType: int
    signature: smp_fetch_rdp_cookie(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_fetch_rdp_cookie
      Src: /src/haproxy/src/payload.c:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 992
      start: 978
    functionDepth: 3
    functionLinenumber: 978
    functionLinenumberEnd: 992
    functionName: smp_fetch_rdp_cookie_cnt
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - smp_fetch_rdp_cookie
    linkageType: ''
    returnType: int
    signature: smp_fetch_rdp_cookie_cnt(const struct arg *args, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/payload.c:1013,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:1016,1
    - Dst: ci_data
      Src: /src/haproxy/src/payload.c:1017,1
    - Dst: obj_type
      Src: /src/haproxy/src/payload.c:1019,1
    - Dst: __objt_check
      Src: /src/haproxy/src/payload.c:1020,1
    - Dst: IS_HTX_SC
      Src: /src/haproxy/src/payload.c:1023,1
    - Dst: b_head
      Src: /src/haproxy/src/payload.c:1025,1
    - Dst: b_data
      Src: /src/haproxy/src/payload.c:1026,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/payload.c:1062,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1068
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1068
    functionName: smp_fetch_payload_lv
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - ci_head
    - __objt_check
    - IS_HTX_STRM
    - IS_HTX_SC
    - b_head
    - obj_type
    - b_data
    - ci_data
    - chunk_initlen
    linkageType: ''
    returnType: int
    signature: smp_fetch_payload_lv(const struct arg *arg_p, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/payload.c:1082,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:1085,1
    - Dst: ci_data
      Src: /src/haproxy/src/payload.c:1086,1
    - Dst: obj_type
      Src: /src/haproxy/src/payload.c:1088,1
    - Dst: __objt_check
      Src: /src/haproxy/src/payload.c:1089,1
    - Dst: IS_HTX_SC
      Src: /src/haproxy/src/payload.c:1092,1
    - Dst: b_head
      Src: /src/haproxy/src/payload.c:1094,1
    - Dst: b_data
      Src: /src/haproxy/src/payload.c:1095,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/payload.c:1112,1
    - Dst: channel_may_recv
      Src: /src/haproxy/src/payload.c:1114,1
    - Dst: channel_input_closed
      Src: /src/haproxy/src/payload.c:1114,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1122
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1122
    functionName: smp_fetch_payload
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - ci_head
    - channel_input_closed
    - __objt_check
    - IS_HTX_STRM
    - IS_HTX_SC
    - b_head
    - obj_type
    - channel_may_recv
    - b_data
    - ci_data
    - chunk_initlen
    linkageType: ''
    returnType: int
    signature: smp_fetch_payload(const struct arg *arg_p, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/payload.c:1143,1
    - Dst: memprintf
      Src: /src/haproxy/src/payload.c:1148,1
    - Dst: read_int64
      Src: /src/haproxy/src/payload.c:1158,1
    - Dst: memprintf
      Src: /src/haproxy/src/payload.c:1160,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/payload.c:1163,1
    - Dst: memprintf
      Src: /src/haproxy/src/payload.c:1168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - arg
    - err_msg
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 1175
      start: 1137
    functionDepth: 5
    functionLinenumber: 1137
    functionLinenumberEnd: 1175
    functionName: val_payload_lv
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_destroy
    - read_int64
    linkageType: ''
    returnType: int
    signature: val_payload_lv(struct arg *arg, char **err_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/payload.c:1197,1
    - Dst: ci_data
      Src: /src/haproxy/src/payload.c:1204,1
    - Dst: channel_recv_limit
      Src: /src/haproxy/src/payload.c:1209,1
    - Dst: b_orig
      Src: /src/haproxy/src/payload.c:1209,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:1209,1
    - Dst: read_n32
      Src: /src/haproxy/src/payload.c:1215,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:1215,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1256
      start: 1178
    functionDepth: 1
    functionLinenumber: 1178
    functionLinenumberEnd: 1256
    functionName: smp_fetch_distcc_param
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - ci_head
    - IS_HTX_STRM
    - read_n32
    - ci_data
    - channel_recv_limit
    - b_orig
    linkageType: ''
    returnType: int
    signature: smp_fetch_distcc_param(const struct arg *arg_p, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/src/payload.c:1278,1
    - Dst: ci_data
      Src: /src/haproxy/src/payload.c:1285,1
    - Dst: channel_recv_limit
      Src: /src/haproxy/src/payload.c:1289,1
    - Dst: b_orig
      Src: /src/haproxy/src/payload.c:1289,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:1289,1
    - Dst: read_n32
      Src: /src/haproxy/src/payload.c:1295,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:1295,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:1323,1
    - Dst: b_orig
      Src: /src/haproxy/src/payload.c:1323,1
    - Dst: ci_data
      Src: /src/haproxy/src/payload.c:1323,1
    - Dst: channel_recv_limit
      Src: /src/haproxy/src/payload.c:1326,1
    - Dst: b_orig
      Src: /src/haproxy/src/payload.c:1326,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:1326,1
    - Dst: channel_recv_limit
      Src: /src/haproxy/src/payload.c:1329,1
    - Dst: b_orig
      Src: /src/haproxy/src/payload.c:1329,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:1329,1
    - Dst: chunk_initlen
      Src: /src/haproxy/src/payload.c:1333,1
    - Dst: ci_head
      Src: /src/haproxy/src/payload.c:1333,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 4
    argNames:
    - arg_p
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1348
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1348
    functionName: smp_fetch_distcc_body
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - ci_head
    - IS_HTX_STRM
    - read_n32
    - ci_data
    - channel_recv_limit
    - chunk_initlen
    - b_orig
    linkageType: ''
    returnType: int
    signature: smp_fetch_distcc_body(const struct arg *arg_p, struct sample *smp,
      const char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/src/payload.c:1363,1
    - Dst: chunk_destroy
      Src: /src/haproxy/src/payload.c:1373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - arg
    - err_msg
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 1382
      start: 1358
    functionDepth: 5
    functionLinenumber: 1358
    functionLinenumberEnd: 1382
    functionName: val_distcc
    functionSourceFile: /src/haproxy/src/payload.c
    functionUses: 0
    functionsReached:
    - memprintf
    - chunk_destroy
    linkageType: ''
    returnType: int
    signature: val_distcc(struct arg *arg, char **err_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: mt_list_to_list
    functionSourceFile: /src/haproxy/include/haproxy/list.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct list
    signature: '*mt_list_to_list(struct mt_list *list)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 261
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 261
    functionName: list_to_mt_list
    functionSourceFile: /src/haproxy/include/haproxy/list.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct mt_list
    signature: '*list_to_mt_list(struct list *list)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/include/haproxy/list.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - w
    - pptr
    - attach_off
    argTypes:
    - struct watcher*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: watcher_init
    functionSourceFile: /src/haproxy/include/haproxy/list.h
    functionUses: 4
    functionsReached:
    - MT_LIST_INIT
    linkageType: ''
    returnType: void
    signature: watcher_init(struct watcher *w, void *pptr, size_t attach_off)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/list.h:280,1
    - Dst: MT_LIST_INLIST
      Src: /src/haproxy/include/haproxy/list.h:280,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/include/haproxy/list.h:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - w
    - target
    argTypes:
    - struct watcher*
    - void*
    constantsTouched: []
    func_position:
      end: 285
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 285
    functionName: watcher_attach
    functionSourceFile: /src/haproxy/include/haproxy/list.h
    functionUses: 2
    functionsReached:
    - MT_LIST_INLIST
    - BUG_ON_HOT
    - MT_LIST_APPEND
    linkageType: ''
    returnType: void
    signature: watcher_attach(struct watcher *w, void *target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/list.h:290,1
    - Dst: MT_LIST_INLIST
      Src: /src/haproxy/include/haproxy/list.h:290,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/include/haproxy/list.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - w
    argTypes:
    - struct watcher*
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: watcher_detach
    functionSourceFile: /src/haproxy/include/haproxy/list.h
    functionUses: 4
    functionsReached:
    - MT_LIST_INLIST
    - MT_LIST_DELETE
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: watcher_detach(struct watcher *w)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: watcher_detach
      Src: /src/haproxy/include/haproxy/list.h:300,1
    - Dst: watcher_attach
      Src: /src/haproxy/include/haproxy/list.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - w
    - target
    argTypes:
    - struct watcher*
    - void*
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: watcher_next
    functionSourceFile: /src/haproxy/include/haproxy/list.h
    functionUses: 3
    functionsReached:
    - watcher_attach
    - watcher_detach
    linkageType: ''
    returnType: void
    signature: '*watcher_next(struct watcher *w, void *target)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:153,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:156,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:156,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:156,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:157,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:157,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:157,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:158,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:158,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:158,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:159,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:159,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:160,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:160,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 165
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 165
    functionName: hsl_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/htx-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*hsl_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:192,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:194,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:194,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:195,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:195,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/htx-t.h:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: htx_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/htx-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*htx_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: obj_type
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: enum obj_type
    signature: obj_type(const enum obj_type *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/include/haproxy/obj_type.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 63
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 63
    functionName: obj_type_name
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 2
    functionsReached:
    - obj_type
    linkageType: ''
    returnType: char
    signature: '*obj_type_name(const enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/include/haproxy/obj_type.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: __objt_listener
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 16
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct listener
    signature: '*__objt_listener(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_listener
      Src: /src/haproxy/include/haproxy/obj_type.h:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: objt_listener
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 24
    functionsReached:
    - __objt_listener
    linkageType: ''
    returnType: struct listener
    signature: '*objt_listener(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/include/haproxy/obj_type.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: __objt_proxy
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 9
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct proxy
    signature: '*__objt_proxy(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_proxy
      Src: /src/haproxy/include/haproxy/obj_type.h:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: objt_proxy
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 15
    functionsReached:
    - __objt_proxy
    linkageType: ''
    returnType: struct proxy
    signature: '*objt_proxy(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/include/haproxy/obj_type.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: __objt_server
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 51
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct server
    signature: '*__objt_server(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_server
      Src: /src/haproxy/include/haproxy/obj_type.h:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: objt_server
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 88
    functionsReached:
    - __objt_server
    linkageType: ''
    returnType: struct server
    signature: '*objt_server(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/include/haproxy/obj_type.h:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: __objt_applet
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 1
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct applet
    signature: '*__objt_applet(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_applet
      Src: /src/haproxy/include/haproxy/obj_type.h:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: objt_applet
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 8
    functionsReached:
    - __objt_applet
    linkageType: ''
    returnType: struct applet
    signature: '*objt_applet(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/include/haproxy/obj_type.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: __objt_appctx
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 0
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct appctx
    signature: '*__objt_appctx(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_appctx
      Src: /src/haproxy/include/haproxy/obj_type.h:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: objt_appctx
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 2
    functionsReached:
    - __objt_appctx
    linkageType: ''
    returnType: struct appctx
    signature: '*objt_appctx(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: __objt_sc
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct stconn
    signature: '*__objt_sc(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_sc
      Src: /src/haproxy/include/haproxy/obj_type.h:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: objt_sc
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 1
    functionsReached:
    - __objt_sc
    linkageType: ''
    returnType: struct stconn
    signature: '*objt_sc(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/include/haproxy/obj_type.h:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: __objt_conn
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 5
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct connection
    signature: '*__objt_conn(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_conn
      Src: /src/haproxy/include/haproxy/obj_type.h:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: objt_conn
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 93
    functionsReached:
    - __objt_conn
    linkageType: ''
    returnType: struct connection
    signature: '*objt_conn(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/include/haproxy/obj_type.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: __objt_resolv_srvrq
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 2
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct resolv_srvrq
    signature: '*__objt_resolv_srvrq(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_resolv_srvrq
      Src: /src/haproxy/include/haproxy/obj_type.h:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: objt_resolv_srvrq
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 6
    functionsReached:
    - __objt_resolv_srvrq
    linkageType: ''
    returnType: struct resolv_srvrq
    signature: '*objt_resolv_srvrq(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/include/haproxy/obj_type.h:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: __objt_stream
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 1
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct stream
    signature: '*__objt_stream(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_stream
      Src: /src/haproxy/include/haproxy/obj_type.h:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: objt_stream
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 5
    functionsReached:
    - __objt_stream
    linkageType: ''
    returnType: struct stream
    signature: '*objt_stream(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/include/haproxy/obj_type.h:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: __objt_check
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 33
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct check
    signature: '*__objt_check(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_check
      Src: /src/haproxy/include/haproxy/obj_type.h:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: objt_check
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 53
    functionsReached:
    - __objt_check
    linkageType: ''
    returnType: struct check
    signature: '*objt_check(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/include/haproxy/obj_type.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: __objt_dgram
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 2
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct quic_dgram
    signature: '*__objt_dgram(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_dgram
      Src: /src/haproxy/include/haproxy/obj_type.h:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: objt_dgram
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 3
    functionsReached:
    - __objt_dgram
    linkageType: ''
    returnType: struct quic_dgram
    signature: '*objt_dgram(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/include/haproxy/obj_type.h:208,1
    - Dst: __objt_listener
      Src: /src/haproxy/include/haproxy/obj_type.h:210,1
    - Dst: __objt_proxy
      Src: /src/haproxy/include/haproxy/obj_type.h:211,1
    - Dst: __objt_server
      Src: /src/haproxy/include/haproxy/obj_type.h:212,1
    - Dst: __objt_applet
      Src: /src/haproxy/include/haproxy/obj_type.h:213,1
    - Dst: __objt_appctx
      Src: /src/haproxy/include/haproxy/obj_type.h:214,1
    - Dst: __objt_conn
      Src: /src/haproxy/include/haproxy/obj_type.h:215,1
    - Dst: __objt_resolv_srvrq
      Src: /src/haproxy/include/haproxy/obj_type.h:216,1
    - Dst: __objt_sc
      Src: /src/haproxy/include/haproxy/obj_type.h:217,1
    - Dst: __objt_stream
      Src: /src/haproxy/include/haproxy/obj_type.h:218,1
    - Dst: __objt_check
      Src: /src/haproxy/include/haproxy/obj_type.h:219,1
    - Dst: __objt_dgram
      Src: /src/haproxy/include/haproxy/obj_type.h:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - t
    argTypes:
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 225
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 225
    functionName: obj_base_ptr
    functionSourceFile: /src/haproxy/include/haproxy/obj_type.h
    functionUses: 1
    functionsReached:
    - __objt_appctx
    - __objt_proxy
    - __objt_conn
    - __objt_sc
    - __objt_resolv_srvrq
    - __objt_check
    - __objt_server
    - obj_type
    - __objt_stream
    - __objt_dgram
    - __objt_applet
    - __objt_listener
    linkageType: ''
    returnType: void
    signature: '*obj_base_ptr(enum obj_type *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_new_on
      Src: /src/haproxy/include/haproxy/applet.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - applet
    - sedesc
    argTypes:
    - struct applet*
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: appctx_new_here
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 5
    functionsReached:
    - appctx_new_on
    linkageType: ''
    returnType: struct appctx
    signature: '*appctx_new_here(struct applet *applet, struct sedesc *sedesc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_new_on
      Src: /src/haproxy/include/haproxy/applet.h:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - applet
    - sedesc
    argTypes:
    - struct applet*
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: appctx_new_anywhere
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 0
    functionsReached:
    - appctx_new_on
    linkageType: ''
    returnType: struct appctx
    signature: '*appctx_new_anywhere(struct applet *applet, struct sedesc *sedesc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_free
      Src: /src/haproxy/include/haproxy/applet.h:83,1
    - Dst: offer_buffers
      Src: /src/haproxy/include/haproxy/applet.h:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - appctx
    - bptr
    argTypes:
    - struct appctx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: appctx_release_buf
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 0
    functionsReached:
    - offer_buffers
    - b_free
    linkageType: ''
    returnType: void
    signature: appctx_release_buf(struct appctx *appctx, struct buffer *bptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/include/haproxy/applet.h:99,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/include/haproxy/applet.h:99,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/applet.h:100,1
    - Dst: b_alloc
      Src: /src/haproxy/include/haproxy/applet.h:100,1
    - Dst: b_queue
      Src: /src/haproxy/include/haproxy/applet.h:101,1
    - Dst: applet_fl_set
      Src: /src/haproxy/include/haproxy/applet.h:102,1
    - Dst: applet_fl_clr
      Src: /src/haproxy/include/haproxy/applet.h:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - appctx
    - bptr
    argTypes:
    - struct appctx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: appctx_get_buf
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 6
    functionsReached:
    - applet_fl_clr
    - applet_fl_set
    - b_queue
    - likely
    - LIST_INLIST
    - unlikely
    - b_alloc
    linkageType: ''
    returnType: struct buffer
    signature: '*appctx_get_buf(struct appctx *appctx, struct buffer *bptr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/applet.h:119,1
    - Dst: task_set_thread
      Src: /src/haproxy/include/haproxy/applet.h:120,1
    - Dst: struct appctx*::applet::init
      Src: /src/haproxy/include/haproxy/applet.h:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: appctx_init
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 7
    functionsReached:
    - struct appctx*::applet::init
    - BUG_ON
    - task_set_thread
    linkageType: ''
    returnType: int
    signature: appctx_init(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_release_buf
      Src: /src/haproxy/include/haproxy/applet.h:130,1
    - Dst: appctx_release_buf
      Src: /src/haproxy/include/haproxy/applet.h:131,1
    - Dst: task_destroy
      Src: /src/haproxy/include/haproxy/applet.h:133,1
    - Dst: b_dequeue
      Src: /src/haproxy/include/haproxy/applet.h:134,1
    - Dst: session_free
      Src: /src/haproxy/include/haproxy/applet.h:136,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/applet.h:137,1
    - Dst: se_fl_test
      Src: /src/haproxy/include/haproxy/applet.h:137,1
    - Dst: sedesc_free
      Src: /src/haproxy/include/haproxy/applet.h:138,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/applet.h:139,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/include/haproxy/applet.h:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 141
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 141
    functionName: __appctx_free
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 4
    functionsReached:
    - appctx_release_buf
    - se_fl_test
    - _HA_ATOMIC_DEC
    - session_free
    - pool_free
    - sedesc_free
    - task_destroy
    - BUG_ON
    - b_dequeue
    linkageType: ''
    returnType: void
    signature: __appctx_free(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: appctx_sc
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: struct stconn
    signature: '*appctx_sc(const struct appctx *appctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_strm
      Src: /src/haproxy/include/haproxy/applet.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: appctx_strm
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 25
    functionsReached:
    - __sc_strm
    linkageType: ''
    returnType: struct stream
    signature: '*appctx_strm(const struct appctx *appctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/include/haproxy/applet.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: appctx_is_back
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 2
    functionsReached:
    - appctx_sc
    linkageType: ''
    returnType: int
    signature: appctx_is_back(const struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: applet_fl_zero
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: applet_fl_zero(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - appctx
    - all
    argTypes:
    - struct appctx*
    - uint
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: applet_fl_setall
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: applet_fl_setall(struct appctx *appctx, uint all)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - appctx
    - 'on'
    argTypes:
    - struct appctx*
    - uint
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: applet_fl_set
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: applet_fl_set(struct appctx *appctx, uint on)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - appctx
    - 'off'
    argTypes:
    - struct appctx*
    - uint
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: applet_fl_clr
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: applet_fl_clr(struct appctx *appctx, uint off)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - appctx
    - test
    argTypes:
    - struct appctx*
    - uint
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: applet_fl_test
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: applet_fl_test(const struct appctx *appctx, uint test)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: applet_fl_get
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: applet_fl_get(const struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_fl_set
      Src: /src/haproxy/include/haproxy/applet.h:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: applet_set_eoi
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 7
    functionsReached:
    - applet_fl_set
    linkageType: ''
    returnType: void
    signature: applet_set_eoi(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_fl_set
      Src: /src/haproxy/include/haproxy/applet.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: applet_set_eos
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 8
    functionsReached:
    - applet_fl_set
    linkageType: ''
    returnType: void
    signature: applet_set_eos(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_fl_test
      Src: /src/haproxy/include/haproxy/applet.h:218,1
    - Dst: applet_fl_set
      Src: /src/haproxy/include/haproxy/applet.h:219,1
    - Dst: applet_fl_set
      Src: /src/haproxy/include/haproxy/applet.h:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: applet_set_error
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 7
    functionsReached:
    - applet_fl_test
    - applet_fl_set
    linkageType: ''
    returnType: void
    signature: applet_set_error(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_clr
      Src: /src/haproxy/include/haproxy/applet.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: applet_have_more_data
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 16
    functionsReached:
    - se_fl_clr
    linkageType: ''
    returnType: void
    signature: applet_have_more_data(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_set
      Src: /src/haproxy/include/haproxy/applet.h:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: applet_have_no_more_data
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 7
    functionsReached:
    - se_fl_set
    linkageType: ''
    returnType: void
    signature: applet_have_no_more_data(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_will_consume
      Src: /src/haproxy/include/haproxy/applet.h:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: applet_will_consume
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 4
    functionsReached:
    - se_will_consume
    linkageType: ''
    returnType: void
    signature: applet_will_consume(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_wont_consume
      Src: /src/haproxy/include/haproxy/applet.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: applet_wont_consume
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 4
    functionsReached:
    - se_wont_consume
    linkageType: ''
    returnType: void
    signature: applet_wont_consume(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_need_more_data
      Src: /src/haproxy/include/haproxy/applet.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: applet_need_more_data
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 23
    functionsReached:
    - se_need_more_data
    linkageType: ''
    returnType: void
    signature: applet_need_more_data(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_set
      Src: /src/haproxy/include/haproxy/applet.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: applet_expect_no_data
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 3
    functionsReached:
    - se_fl_set
    linkageType: ''
    returnType: void
    signature: applet_expect_no_data(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_clr
      Src: /src/haproxy/include/haproxy/applet.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: applet_expect_data
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 1
    functionsReached:
    - se_fl_clr
    linkageType: ''
    returnType: void
    signature: applet_expect_data(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/applet.h:289,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/applet.h:290,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/applet.h:291,1
    - Dst: b_room
      Src: /src/haproxy/include/haproxy/applet.h:291,1
    - Dst: applet_fl_set
      Src: /src/haproxy/include/haproxy/applet.h:292,1
    - Dst: b_putblk
      Src: /src/haproxy/include/haproxy/applet.h:296,1
    - Dst: b_head
      Src: /src/haproxy/include/haproxy/applet.h:296,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/applet.h:296,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/applet.h:303,1
    - Dst: ci_data
      Src: /src/haproxy/include/haproxy/applet.h:303,1
    - Dst: sc_ic
      Src: /src/haproxy/include/haproxy/applet.h:303,1
    - Dst: ci_putchk
      Src: /src/haproxy/include/haproxy/applet.h:304,1
    - Dst: sc_ic
      Src: /src/haproxy/include/haproxy/applet.h:304,1
    - Dst: sc_need_room
      Src: /src/haproxy/include/haproxy/applet.h:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - appctx
    - chunk
    - stress
    argTypes:
    - struct appctx*
    - struct buffer*
    - int
    constantsTouched: []
    func_position:
      end: 316
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 316
    functionName: _applet_putchk
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 0
    functionsReached:
    - b_putblk
    - b_room
    - sc_ic
    - ci_putchk
    - applet_fl_set
    - b_head
    - b_data
    - ci_data
    - unlikely
    - sc_need_room
    linkageType: ''
    returnType: int
    signature: "_applet_putchk(struct appctx *appctx, struct buffer *chunk,\n                                 int
      stress)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _applet_putchk
      Src: /src/haproxy/include/haproxy/applet.h:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - appctx
    - chunk
    argTypes:
    - struct appctx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: applet_putchk
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 57
    functionsReached:
    - _applet_putchk
    linkageType: ''
    returnType: int
    signature: applet_putchk(struct appctx *appctx, struct buffer *chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _applet_putchk
      Src: /src/haproxy/include/haproxy/applet.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - appctx
    - chunk
    argTypes:
    - struct appctx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: applet_putchk_stress
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 1
    functionsReached:
    - _applet_putchk
    linkageType: ''
    returnType: int
    signature: applet_putchk_stress(struct appctx *appctx, struct buffer *chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_room
      Src: /src/haproxy/include/haproxy/applet.h:342,1
    - Dst: applet_fl_set
      Src: /src/haproxy/include/haproxy/applet.h:343,1
    - Dst: b_putblk
      Src: /src/haproxy/include/haproxy/applet.h:347,1
    - Dst: ci_putblk
      Src: /src/haproxy/include/haproxy/applet.h:352,1
    - Dst: sc_ic
      Src: /src/haproxy/include/haproxy/applet.h:352,1
    - Dst: sc_need_room
      Src: /src/haproxy/include/haproxy/applet.h:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - appctx
    - blk
    - len
    argTypes:
    - struct appctx*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 365
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 365
    functionName: applet_putblk
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 3
    functionsReached:
    - b_room
    - b_putblk
    - sc_ic
    - applet_fl_set
    - ci_putblk
    - sc_need_room
    linkageType: ''
    returnType: int
    signature: applet_putblk(struct appctx *appctx, const char *blk, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_room
      Src: /src/haproxy/include/haproxy/applet.h:379,1
    - Dst: applet_fl_set
      Src: /src/haproxy/include/haproxy/applet.h:380,1
    - Dst: b_putblk
      Src: /src/haproxy/include/haproxy/applet.h:384,1
    - Dst: ci_putstr
      Src: /src/haproxy/include/haproxy/applet.h:389,1
    - Dst: sc_ic
      Src: /src/haproxy/include/haproxy/applet.h:389,1
    - Dst: sc_need_room
      Src: /src/haproxy/include/haproxy/applet.h:396,1
    - Dst: strlen
      Src: /src/haproxy/include/haproxy/applet.h:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - appctx
    - str
    argTypes:
    - struct appctx*
    - char*
    constantsTouched: []
    func_position:
      end: 401
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 401
    functionName: applet_putstr
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 7
    functionsReached:
    - b_room
    - b_putblk
    - sc_ic
    - ci_putstr
    - strlen
    - applet_fl_set
    - sc_need_room
    linkageType: ''
    returnType: int
    signature: applet_putstr(struct appctx *appctx, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_full
      Src: /src/haproxy/include/haproxy/applet.h:412,1
    - Dst: applet_fl_set
      Src: /src/haproxy/include/haproxy/applet.h:413,1
    - Dst: b_putchr
      Src: /src/haproxy/include/haproxy/applet.h:417,1
    - Dst: ci_putchr
      Src: /src/haproxy/include/haproxy/applet.h:424,1
    - Dst: sc_ic
      Src: /src/haproxy/include/haproxy/applet.h:424,1
    - Dst: sc_need_room
      Src: /src/haproxy/include/haproxy/applet.h:431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - appctx
    - chr
    argTypes:
    - struct appctx*
    - char
    constantsTouched: []
    func_position:
      end: 436
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 436
    functionName: applet_putchr
    functionSourceFile: /src/haproxy/include/haproxy/applet.h
    functionUses: 0
    functionsReached:
    - b_full
    - ci_putchr
    - sc_ic
    - b_putchr
    - applet_fl_set
    - sc_need_room
    linkageType: ''
    returnType: int
    signature: applet_putchr(struct appctx *appctx, char chr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dht
    - idx
    argTypes:
    - struct hpack_dht*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 76
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 76
    functionName: hpack_get_dte
    functionSourceFile: /src/haproxy/include/haproxy/hpack-tbl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct hpack_dte
    signature: '*hpack_get_dte(const struct hpack_dht *dht, uint16_t idx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dht
    - idx
    argTypes:
    - struct hpack_dht*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: hpack_valid_idx
    functionSourceFile: /src/haproxy/include/haproxy/hpack-tbl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hpack_valid_idx(const struct hpack_dht *dht, uint32_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dht
    - dte
    argTypes:
    - struct hpack_dht*
    - struct hpack_dte*
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: hpack_get_name
    functionSourceFile: /src/haproxy/include/haproxy/hpack-tbl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ist
    signature: hpack_get_name(const struct hpack_dht *dht, const struct hpack_dte
      *dte)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dht
    - dte
    argTypes:
    - struct hpack_dht*
    - struct hpack_dte*
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: hpack_get_value
    functionSourceFile: /src/haproxy/include/haproxy/hpack-tbl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ist
    signature: hpack_get_value(const struct hpack_dht *dht, const struct hpack_dte
      *dte)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hpack_get_dte
      Src: /src/haproxy/include/haproxy/hpack-tbl.h:112,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/hpack-tbl.h:114,1
    - Dst: hpack_get_name
      Src: /src/haproxy/include/haproxy/hpack-tbl.h:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dht
    - idx
    argTypes:
    - struct hpack_dht*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: hpack_idx_to_name
    functionSourceFile: /src/haproxy/include/haproxy/hpack-tbl.h
    functionUses: 2
    functionsReached:
    - hpack_get_name
    - hpack_get_dte
    - ist
    linkageType: ''
    returnType: struct ist
    signature: hpack_idx_to_name(const struct hpack_dht *dht, uint32_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hpack_get_dte
      Src: /src/haproxy/include/haproxy/hpack-tbl.h:127,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/hpack-tbl.h:129,1
    - Dst: hpack_get_value
      Src: /src/haproxy/include/haproxy/hpack-tbl.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dht
    - idx
    argTypes:
    - struct hpack_dht*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: hpack_idx_to_value
    functionSourceFile: /src/haproxy/include/haproxy/hpack-tbl.h
    functionUses: 2
    functionsReached:
    - hpack_get_dte
    - hpack_get_value
    - ist
    linkageType: ''
    returnType: struct ist
    signature: hpack_idx_to_value(const struct hpack_dht *dht, uint32_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dht
    argTypes:
    - struct hpack_dht*
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: hpack_dht_get_tail
    functionSourceFile: /src/haproxy/include/haproxy/hpack-tbl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: hpack_dht_get_tail(const struct hpack_dht *dht)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __hpack_dht_make_room
      Src: /src/haproxy/include/haproxy/hpack-tbl.h:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dht
    - needed
    argTypes:
    - struct hpack_dht*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: hpack_dht_make_room
    functionSourceFile: /src/haproxy/include/haproxy/hpack-tbl.h
    functionUses: 2
    functionsReached:
    - __hpack_dht_make_room
    linkageType: ''
    returnType: int
    signature: hpack_dht_make_room(struct hpack_dht *dht, unsigned int needed)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dht
    - size
    argTypes:
    - struct hpack_dht*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: hpack_dht_init
    functionSourceFile: /src/haproxy/include/haproxy/hpack-tbl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: hpack_dht_init(struct hpack_dht *dht, uint32_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/hpack-tbl.h:169,1
    - Dst: hpack_alloc
      Src: /src/haproxy/include/haproxy/hpack-tbl.h:172,1
    - Dst: hpack_dht_init
      Src: /src/haproxy/include/haproxy/hpack-tbl.h:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: hpack_dht_alloc
    functionSourceFile: /src/haproxy/include/haproxy/hpack-tbl.h
    functionUses: 4
    functionsReached:
    - unlikely
    - hpack_alloc
    - hpack_dht_init
    linkageType: ''
    returnType: struct hpack_dht
    signature: '*hpack_dht_alloc()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hpack_free
      Src: /src/haproxy/include/haproxy/hpack-tbl.h:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dht
    argTypes:
    - struct hpack_dht*
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: hpack_dht_free
    functionSourceFile: /src/haproxy/include/haproxy/hpack-tbl.h
    functionUses: 3
    functionsReached:
    - hpack_free
    linkageType: ''
    returnType: void
    signature: hpack_dht_free(struct hpack_dht *dht)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/session.h:57,1
    - Dst: stkctr_entry
      Src: /src/haproxy/include/haproxy/session.h:63,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/session.h:67,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/session.h:69,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/session.h:71,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/session.h:72,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/session.h:74,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/include/haproxy/session.h:77,1
    - Dst: stkctr_set_entry
      Src: /src/haproxy/include/haproxy/session.h:80,1
    - Dst: stksess_kill_if_expired
      Src: /src/haproxy/include/haproxy/session.h:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct session*
    constantsTouched: []
    func_position:
      end: 83
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 83
    functionName: session_store_counters
    functionSourceFile: /src/haproxy/include/haproxy/session.h
    functionUses: 1
    functionsReached:
    - stktable_touch_local
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - stkctr_set_entry
    - HA_RWLOCK_WRUNLOCK
    - stksess_kill_if_expired
    - HA_RWLOCK_WRLOCK
    - unlikely
    linkageType: ''
    returnType: void
    signature: session_store_counters(struct session *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/session.h:90,1
    - Dst: stkctr_inc_http_req_ctr
      Src: /src/haproxy/include/haproxy/session.h:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct session*
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: session_inc_http_req_ctr
    functionSourceFile: /src/haproxy/include/haproxy/session.h
    functionUses: 6
    functionsReached:
    - unlikely
    - stkctr_inc_http_req_ctr
    linkageType: ''
    returnType: void
    signature: session_inc_http_req_ctr(struct session *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/session.h:107,1
    - Dst: stkctr_inc_http_err_ctr
      Src: /src/haproxy/include/haproxy/session.h:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct session*
    constantsTouched: []
    func_position:
      end: 112
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 112
    functionName: session_inc_http_err_ctr
    functionSourceFile: /src/haproxy/include/haproxy/session.h
    functionUses: 3
    functionsReached:
    - unlikely
    - stkctr_inc_http_err_ctr
    linkageType: ''
    returnType: void
    signature: session_inc_http_err_ctr(struct session *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/session.h:123,1
    - Dst: stkctr_inc_http_fail_ctr
      Src: /src/haproxy/include/haproxy/session.h:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct session*
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: session_inc_http_fail_ctr
    functionSourceFile: /src/haproxy/include/haproxy/session.h
    functionUses: 0
    functionsReached:
    - unlikely
    - stkctr_inc_http_fail_ctr
    linkageType: ''
    returnType: void
    signature: session_inc_http_fail_ctr(struct session *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __session_add_glitch_ctr
      Src: /src/haproxy/include/haproxy/session.h:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - sess
    - inc
    argTypes:
    - struct session*
    - uint
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: session_add_glitch_ctr
    functionSourceFile: /src/haproxy/include/haproxy/session.h
    functionUses: 5
    functionsReached:
    - __session_add_glitch_ctr
    linkageType: ''
    returnType: void
    signature: session_add_glitch_ctr(struct session *sess, uint inc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/session.h:146,1
    - Dst: objt_listener
      Src: /src/haproxy/include/haproxy/session.h:146,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/include/haproxy/session.h:155,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/include/haproxy/session.h:160,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/include/haproxy/session.h:162,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/include/haproxy/session.h:164,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/include/haproxy/session.h:165,1
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/include/haproxy/session.h:166,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/session.h:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - sess
    - conn
    argTypes:
    - struct session*
    - struct connection*
    constantsTouched: []
    func_position:
      end: 172
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 172
    functionName: session_unown_conn
    functionSourceFile: /src/haproxy/include/haproxy/session.h
    functionUses: 5
    functionsReached:
    - LIST_ISEMPTY
    - list_for_each_entry
    - objt_listener
    - LIST_DELETE
    - MT_LIST_DELETE
    - pool_free
    - LIST_DEL_INIT
    - LIST_INLIST
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: session_unown_conn(struct session *sess, struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/include/haproxy/session.h:182,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/session.h:185,1
    - Dst: objt_listener
      Src: /src/haproxy/include/haproxy/session.h:185,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/include/haproxy/session.h:188,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/include/haproxy/session.h:191,1
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/session.h:199,1
    - Dst: LIST_INIT
      Src: /src/haproxy/include/haproxy/session.h:203,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/include/haproxy/session.h:204,1
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/include/haproxy/session.h:206,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/include/haproxy/session.h:208,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/include/haproxy/session.h:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - sess
    - conn
    - target
    argTypes:
    - struct session*
    - struct connection*
    - void*
    constantsTouched: []
    func_position:
      end: 220
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 220
    functionName: session_add_conn
    functionSourceFile: /src/haproxy/include/haproxy/session.h
    functionUses: 8
    functionsReached:
    - LIST_ISEMPTY
    - objt_server
    - list_for_each_entry
    - LIST_APPEND
    - objt_listener
    - pool_alloc
    - LIST_INIT
    - MT_LIST_APPEND
    - MT_LIST_INIT
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: session_add_conn(struct session *sess, struct connection *conn, void
      *target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: session_unown_conn
      Src: /src/haproxy/include/haproxy/session.h:232,1
    - Dst: struct connection*::mux::destroy
      Src: /src/haproxy/include/haproxy/session.h:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - sess
    - conn
    argTypes:
    - struct session*
    - struct connection*
    constantsTouched: []
    func_position:
      end: 242
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 242
    functionName: session_check_idle_conn
    functionSourceFile: /src/haproxy/include/haproxy/session.h
    functionUses: 4
    functionsReached:
    - session_unown_conn
    - struct connection*::mux::destroy
    linkageType: ''
    returnType: int
    signature: session_check_idle_conn(struct session *sess, struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/include/haproxy/session.h:253,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/include/haproxy/session.h:255,1
    - Dst: struct connection*::mux::avail_streams
      Src: /src/haproxy/include/haproxy/session.h:258,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - sess
    - target
    - hash
    argTypes:
    - struct session*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 274
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 274
    functionName: session_get_conn
    functionSourceFile: /src/haproxy/include/haproxy/session.h
    functionUses: 1
    functionsReached:
    - list_for_each_entry
    - struct connection*::mux::avail_streams
    linkageType: ''
    returnType: struct connection
    signature: '*session_get_conn(struct session *sess, void *target, int64_t hash)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/include/haproxy/session.h:282,1
    - Dst: conn_get_src
      Src: /src/haproxy/include/haproxy/session.h:286,1
    - Dst: conn_src
      Src: /src/haproxy/include/haproxy/session.h:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct session*
    constantsTouched: []
    func_position:
      end: 289
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 289
    functionName: sess_src
    functionSourceFile: /src/haproxy/include/haproxy/session.h
    functionUses: 5
    functionsReached:
    - conn_src
    - objt_conn
    - conn_get_src
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: '*sess_src(struct session *sess)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/include/haproxy/session.h:297,1
    - Dst: conn_get_dst
      Src: /src/haproxy/include/haproxy/session.h:301,1
    - Dst: conn_dst
      Src: /src/haproxy/include/haproxy/session.h:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct session*
    constantsTouched: []
    func_position:
      end: 304
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 304
    functionName: sess_dst
    functionSourceFile: /src/haproxy/include/haproxy/session.h
    functionUses: 4
    functionsReached:
    - conn_dst
    - conn_get_dst
    - objt_conn
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: '*sess_dst(struct session *sess)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/include/haproxy/session.h:314,1
    - Dst: conn_get_src
      Src: /src/haproxy/include/haproxy/session.h:320,1
    - Dst: conn_src
      Src: /src/haproxy/include/haproxy/session.h:321,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/include/haproxy/session.h:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct session*
    constantsTouched: []
    func_position:
      end: 329
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 329
    functionName: sess_get_src
    functionSourceFile: /src/haproxy/include/haproxy/session.h
    functionUses: 2
    functionsReached:
    - sockaddr_alloc
    - conn_src
    - objt_conn
    - conn_get_src
    linkageType: ''
    returnType: int
    signature: sess_get_src(struct session *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_conn
      Src: /src/haproxy/include/haproxy/session.h:339,1
    - Dst: conn_get_dst
      Src: /src/haproxy/include/haproxy/session.h:345,1
    - Dst: conn_dst
      Src: /src/haproxy/include/haproxy/session.h:346,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/include/haproxy/session.h:350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct session*
    constantsTouched: []
    func_position:
      end: 354
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 354
    functionName: sess_get_dst
    functionSourceFile: /src/haproxy/include/haproxy/session.h
    functionUses: 2
    functionsReached:
    - sockaddr_alloc
    - conn_dst
    - conn_get_dst
    - objt_conn
    linkageType: ''
    returnType: int
    signature: sess_get_dst(struct session *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: __ha_barrier_load
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 2
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_load(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: __ha_barrier_store
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 16
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_store(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: __ha_barrier_full
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 1
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_full(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: __ha_barrier_atomic_load
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 0
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_atomic_load(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: __ha_barrier_atomic_store
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 16
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_atomic_store(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: __ha_barrier_atomic_full
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 0
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_atomic_full(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - target
    - compare
    - set
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 472
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 472
    functionName: __ha_cas_dw
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 0
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: int
    signature: __ha_cas_dw(void *target, void *compare, const void *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: __ha_barrier_load
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 2
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_load(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: __ha_barrier_store
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 16
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_store(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: __ha_barrier_full
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 1
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_full(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: __ha_barrier_atomic_load
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 0
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_atomic_load(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 513
    functionName: __ha_barrier_atomic_store
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 16
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_atomic_store(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: __ha_barrier_atomic_full
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 0
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_atomic_full(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - target
    - compare
    - set
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 540
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 540
    functionName: __ha_cas_dw
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 0
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: int
    signature: __ha_cas_dw(void *target, void *compare, const void *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 554
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 554
    functionName: __ha_barrier_load
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 2
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_load(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: __ha_barrier_store
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 16
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_store(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: __ha_barrier_full
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 1
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_full(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 575
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 575
    functionName: __ha_barrier_atomic_load
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 0
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_atomic_load(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: __ha_barrier_atomic_store
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 16
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_atomic_store(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 587
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 587
    functionName: __ha_barrier_atomic_full
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 0
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_barrier_atomic_full(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/atomic.h:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - target
    - compare
    - set
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 635
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 635
    functionName: __ha_cas_dw
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: forceinline
    signature: __ha_cas_dw(void *target, void *compare, const void *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_compare_exchange_n
      Src: /src/haproxy/include/haproxy/atomic.h:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - target
    - compare
    - set
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 653
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 653
    functionName: __ha_cas_dw
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 0
    functionsReached:
    - __atomic_compare_exchange_n
    linkageType: ''
    returnType: int
    signature: __ha_cas_dw(void *target, void *compare, const void *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - target
    - compare
    - set
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 683
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 683
    functionName: __ha_cas_dw
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: __ha_cas_dw(void *target, void *compare, void *set)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/haproxy/include/haproxy/atomic.h:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 708
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 708
    functionName: __ha_compiler_barrier
    functionSourceFile: /src/haproxy/include/haproxy/atomic.h
    functionUses: 1
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: __ha_compiler_barrier(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:89,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:91,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:91,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:91,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:91,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:92,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:92,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:92,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:93,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:93,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:93,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/http_ana-t.h:95,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/http_ana-t.h:95,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/http_ana-t.h:96,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/http_ana-t.h:96,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/http_ana-t.h:97,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/http_ana-t.h:99,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/http_ana-t.h:99,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/http_ana-t.h:100,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/http_ana-t.h:100,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/http_ana-t.h:101,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/http_ana-t.h:101,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:103,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:103,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: txn_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/http_ana-t.h
    functionUses: 1
    functionsReached:
    - _
    - _e
    linkageType: ''
    returnType: forceinline
    signature: '*txn_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:143,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:145,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:145,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:145,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:146,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:146,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:146,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:147,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:147,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:147,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/http_ana-t.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: hmsg_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/http_ana-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*hmsg_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: qc_init_fd
    functionSourceFile: /src/haproxy/include/haproxy/quic_sock.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: qc_init_fd(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/quic_sock.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: qc_test_fd
    functionSourceFile: /src/haproxy/include/haproxy/quic_sock.h
    functionUses: 14
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: char
    signature: qc_test_fd(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qc_test_fd
      Src: /src/haproxy/include/haproxy/quic_sock.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: qc_fd
    functionSourceFile: /src/haproxy/include/haproxy/quic_sock.h
    functionUses: 1
    functionsReached:
    - qc_test_fd
    linkageType: ''
    returnType: int
    signature: qc_fd(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/quic_sock.h:101,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/include/haproxy/quic_sock.h:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - l
    argTypes:
    - struct listener*
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: quic_increment_curr_handshake
    functionSourceFile: /src/haproxy/include/haproxy/quic_sock.h
    functionUses: 1
    functionsReached:
    - __ha_cpu_relax
    - _HA_ATOMIC_CAS
    linkageType: ''
    returnType: int
    signature: quic_increment_curr_handshake(struct listener *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - struct quic_tx_packet*
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: quic_tx_packet_dgram_detach
    functionSourceFile: /src/haproxy/include/haproxy/quic_tx.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_tx_packet_dgram_detach(struct quic_tx_packet *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - struct quic_tx_packet*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: quic_tx_packet_refinc
    functionSourceFile: /src/haproxy/include/haproxy/quic_tx.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_tx_packet_refinc(struct quic_tx_packet *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/quic_tx.h:79,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/quic_tx.h:81,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/include/haproxy/quic_tx.h:81,1
    - Dst: quic_tx_packet_dgram_detach
      Src: /src/haproxy/include/haproxy/quic_tx.h:85,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tx.h:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - struct quic_tx_packet*
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: quic_tx_packet_refdec
    functionSourceFile: /src/haproxy/include/haproxy/quic_tx.h
    functionUses: 4
    functionsReached:
    - quic_tx_packet_dgram_detach
    - BUG_ON
    - LIST_ISEMPTY
    - pool_free
    linkageType: ''
    returnType: void
    signature: quic_tx_packet_refdec(struct quic_tx_packet *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: quic_may_send_bytes
    functionSourceFile: /src/haproxy/include/haproxy/quic_tx.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: quic_may_send_bytes(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CIPHER_get_id
      Src: /src/haproxy/include/haproxy/quic_tls.h:144,1
    - Dst: EVP_aead_aes_128_gcm
      Src: /src/haproxy/include/haproxy/quic_tls.h:147,1
    - Dst: EVP_aes_128_gcm
      Src: /src/haproxy/include/haproxy/quic_tls.h:149,1
    - Dst: EVP_aead_aes_256_gcm
      Src: /src/haproxy/include/haproxy/quic_tls.h:154,1
    - Dst: EVP_aes_256_gcm
      Src: /src/haproxy/include/haproxy/quic_tls.h:156,1
    - Dst: EVP_aead_chacha20_poly1305
      Src: /src/haproxy/include/haproxy/quic_tls.h:170,1
    - Dst: EVP_chacha20_poly1305
      Src: /src/haproxy/include/haproxy/quic_tls.h:172,1
    - Dst: EVP_aes_128_ccm
      Src: /src/haproxy/include/haproxy/quic_tls.h:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - SSL_CIPHER*
    constantsTouched: []
    func_position:
      end: 182
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 182
    functionName: tls_aead
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 2
    functionsReached:
    - EVP_aes_256_gcm
    - EVP_aead_chacha20_poly1305
    - EVP_chacha20_poly1305
    - EVP_aes_128_ccm
    - EVP_aead_aes_128_gcm
    - SSL_CIPHER_get_id
    - EVP_aead_aes_256_gcm
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: QUIC_AEAD
    signature: '*tls_aead(const SSL_CIPHER *cipher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CIPHER_get_id
      Src: /src/haproxy/include/haproxy/quic_tls.h:186,1
    - Dst: EVP_sha256
      Src: /src/haproxy/include/haproxy/quic_tls.h:190,1
    - Dst: EVP_sha384
      Src: /src/haproxy/include/haproxy/quic_tls.h:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - SSL_CIPHER*
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: tls_md
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 2
    functionsReached:
    - SSL_CIPHER_get_id
    - EVP_sha384
    - EVP_sha256
    linkageType: ''
    returnType: EVP_MD
    signature: '*tls_md(const SSL_CIPHER *cipher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CIPHER_get_id
      Src: /src/haproxy/include/haproxy/quic_tls.h:200,1
    - Dst: EVP_chacha20
      Src: /src/haproxy/include/haproxy/quic_tls.h:205,1
    - Dst: EVP_aes_128_ctr
      Src: /src/haproxy/include/haproxy/quic_tls.h:209,1
    - Dst: EVP_aes_256_ctr
      Src: /src/haproxy/include/haproxy/quic_tls.h:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - cipher
    argTypes:
    - SSL_CIPHER*
    constantsTouched: []
    func_position:
      end: 216
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 216
    functionName: tls_hp
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached:
    - SSL_CIPHER_get_id
    - EVP_chacha20
    - EVP_aes_256_ctr
    - EVP_aes_128_ctr
    linkageType: ''
    returnType: EVP_CIPHER
    signature: '*tls_hp(const SSL_CIPHER *cipher)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: ssl_to_quic_pktns
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct quic_pktns
    signature: "**ssl_to_quic_pktns(struct quic_conn *qc,\n                                                    enum
      ssl_encryption_level_t level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 252
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 252
    functionName: qel_to_quic_pktns
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct quic_pktns
    signature: "**qel_to_quic_pktns(struct quic_conn *qc,\n                                                    enum
      quic_tls_enc_level level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - level
    argTypes:
    - enum ssl_encryption_level_t
    constantsTouched: []
    func_position:
      end: 271
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 271
    functionName: ssl_to_quic_enc_level
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum quic_tls_enc_level
    signature: ssl_to_quic_enc_level(enum ssl_encryption_level_t level)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 292
    functionName: ssl_to_qel_addr
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct quic_enc_level
    signature: "**ssl_to_qel_addr(struct quic_conn *qc,\n                                                      enum
      ssl_encryption_level_t level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 313
    functionName: qel_to_qel_addr
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct quic_enc_level
    signature: "**qel_to_qel_addr(struct quic_conn *qc,\n                                                      enum
      quic_tls_enc_level level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - qc
    - level
    argTypes:
    - struct quic_conn*
    - enum quic_tls_enc_level
    constantsTouched: []
    func_position:
      end: 333
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 333
    functionName: qc_quic_enc_level
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct quic_enc_level
    signature: "*qc_quic_enc_level(const struct quic_conn *qc,\n                                                       enum
      quic_tls_enc_level level)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - level
    argTypes:
    - enum quic_tls_enc_level
    constantsTouched: []
    func_position:
      end: 350
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 350
    functionName: quic_to_ssl_enc_level
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum ssl_encryption_level_t
    signature: quic_to_ssl_enc_level(enum quic_tls_enc_level level)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum quic_handshake_state
    constantsTouched: []
    func_position:
      end: 377
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 377
    functionName: quic_hdshk_state_str
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*quic_hdshk_state_str(const enum quic_handshake_state state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 414
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 414
    functionName: ssl_error_str
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*ssl_error_str(int err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - level
    argTypes:
    - enum quic_tls_enc_level
    constantsTouched: []
    func_position:
      end: 436
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 436
    functionName: quic_enc_level_char
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: quic_enc_level_char(enum quic_tls_enc_level level)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - qel
    - qc
    argTypes:
    - struct quic_enc_level*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 455
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 455
    functionName: quic_enc_level_char_from_qel
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "quic_enc_level_char_from_qel(const struct quic_enc_level *qel,\n                                                const
      struct quic_conn *qc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - packet_type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 476
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 476
    functionName: quic_packet_type_enc_level_char
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: quic_packet_type_enc_level_char(int packet_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/quic_tls.h:485,1
    - Dst: LIST_INIT
      Src: /src/haproxy/include/haproxy/quic_tls.h:489,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/include/haproxy/quic_tls.h:508,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/include/haproxy/quic_tls.h:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - qc
    - p
    argTypes:
    - struct quic_conn*
    - struct quic_pktns**
    constantsTouched: []
    func_position:
      end: 514
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 514
    functionName: quic_pktns_init
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    - LIST_INSERT
    - LIST_INIT
    - pool_alloc
    linkageType: ''
    returnType: int
    signature: quic_pktns_init(struct quic_conn *qc, struct quic_pktns **p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/include/haproxy/quic_tls.h:520,1
    - Dst: eb64_first
      Src: /src/haproxy/include/haproxy/quic_tls.h:522,1
    - Dst: eb64_entry
      Src: /src/haproxy/include/haproxy/quic_tls.h:527,1
    - Dst: eb64_next
      Src: /src/haproxy/include/haproxy/quic_tls.h:528,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/include/haproxy/quic_tls.h:531,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/include/haproxy/quic_tls.h:532,1
    - Dst: qc_frm_unref
      Src: /src/haproxy/include/haproxy/quic_tls.h:534,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/include/haproxy/quic_tls.h:535,1
    - Dst: quic_tx_packet_refdec
      Src: /src/haproxy/include/haproxy/quic_tls.h:536,1
    - Dst: qc_frm_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:537,1
    - Dst: eb64_delete
      Src: /src/haproxy/include/haproxy/quic_tls.h:539,1
    - Dst: quic_tx_packet_refdec
      Src: /src/haproxy/include/haproxy/quic_tls.h:540,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/include/haproxy/quic_tls.h:543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - pktns
    - qc
    argTypes:
    - struct quic_pktns*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 544
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 544
    functionName: quic_pktns_tx_pkts_release
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached:
    - qc_frm_unref
    - TRACE_LEAVE
    - list_for_each_entry_safe
    - eb64_delete
    - TRACE_ENTER
    - qc_frm_free
    - eb64_first
    - eb64_entry
    - TRACE_DEVEL
    - eb64_next
    - LIST_DEL_INIT
    - quic_tx_packet_refdec
    linkageType: ''
    returnType: void
    signature: quic_pktns_tx_pkts_release(struct quic_pktns *pktns, struct quic_conn
      *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/include/haproxy/quic_tls.h:556,1
    - Dst: quic_pktns_tx_pkts_release
      Src: /src/haproxy/include/haproxy/quic_tls.h:570,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/include/haproxy/quic_tls.h:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pktns
    - qc
    argTypes:
    - struct quic_pktns*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 573
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 573
    functionName: quic_pktns_discard
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 2
    functionsReached:
    - TRACE_ENTER
    - quic_pktns_tx_pkts_release
    - TRACE_LEAVE
    linkageType: ''
    returnType: void
    signature: "quic_pktns_discard(struct quic_pktns *pktns,\n                                      struct
      quic_conn *qc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/include/haproxy/quic_tls.h:582,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/include/haproxy/quic_tls.h:587,1
    - Dst: qc_frm_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:588,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/include/haproxy/quic_tls.h:591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - qc
    - pktns
    argTypes:
    - struct quic_conn*
    - struct quic_pktns*
    constantsTouched: []
    func_position:
      end: 592
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 592
    functionName: qc_release_pktns_frms
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 4
    functionsReached:
    - TRACE_ENTER
    - qc_frm_free
    - TRACE_LEAVE
    - list_for_each_entry_safe
    linkageType: ''
    returnType: void
    signature: "qc_release_pktns_frms(struct quic_conn *qc,\n                                         struct
      quic_pktns *pktns)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pktns
    - qc
    argTypes:
    - struct quic_pktns*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 601
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 601
    functionName: quic_application_pktns
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: quic_application_pktns(struct quic_pktns *pktns, struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_last
      Src: /src/haproxy/include/haproxy/quic_tls.h:606,1
    - Dst: eb64_entry
      Src: /src/haproxy/include/haproxy/quic_tls.h:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pktns
    argTypes:
    - struct quic_pktns*
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: quic_pktns_get_largest_acked_pn
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached:
    - eb64_entry
    - eb64_last
    linkageType: ''
    returnType: int64_t
    signature: quic_pktns_get_largest_acked_pn(struct quic_pktns *pktns)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - qc
    - pktns
    argTypes:
    - struct quic_conn*
    - struct quic_pktns*
    constantsTouched: []
    func_position:
      end: 629
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 629
    functionName: quic_pktns_char
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "quic_pktns_char(const struct quic_conn *qc,\n                                   const
      struct quic_pktns *pktns)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - packet_type
    argTypes:
    - enum quic_pkt_type
    constantsTouched: []
    func_position:
      end: 652
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 652
    functionName: quic_packet_type_enc_level
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum quic_tls_enc_level
    signature: quic_packet_type_enc_level(enum quic_pkt_type packet_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - level
    argTypes:
    - enum quic_tls_enc_level
    constantsTouched: []
    func_position:
      end: 667
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 667
    functionName: quic_tls_pktns
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum quic_tls_pktns
    signature: quic_tls_pktns(enum quic_tls_enc_level level)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - qc
    - pktns
    argTypes:
    - struct quic_conn*
    - struct quic_pktns*
    constantsTouched: []
    func_position:
      end: 682
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 682
    functionName: quic_tls_pktns_is_dcd
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: quic_tls_pktns_is_dcd(struct quic_conn *qc, struct quic_pktns *pktns)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - qc
    - type
    argTypes:
    - struct quic_conn*
    - unsigned char
    constantsTouched: []
    func_position:
      end: 694
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 694
    functionName: quic_tls_pkt_type_pktns_dcd
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: quic_tls_pkt_type_pktns_dcd(struct quic_conn *qc, unsigned char type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - qc
    - qel
    - type
    - version
    argTypes:
    - struct quic_conn*
    - struct quic_enc_level*
    - unsigned char
    - struct quic_version*
    constantsTouched: []
    func_position:
      end: 707
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 707
    functionName: qc_select_tls_ctx
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct quic_tls_ctx
    signature: "*qc_select_tls_ctx(struct quic_conn *qc,\n                                                     struct
      quic_enc_level *qel,\n                                                     unsigned
      char type,\n                                                     const struct
      quic_version *version)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct quic_tls_ctx*
    constantsTouched: []
    func_position:
      end: 740
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 740
    functionName: quic_tls_ctx_reset
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_tls_ctx_reset(struct quic_tls_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/include/haproxy/quic_tls.h:752,1
    - Dst: memset
      Src: /src/haproxy/include/haproxy/quic_tls.h:756,1
    - Dst: memset
      Src: /src/haproxy/include/haproxy/quic_tls.h:760,1
    - Dst: memset
      Src: /src/haproxy/include/haproxy/quic_tls.h:764,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:771,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:773,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:776,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:777,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:778,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:783,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:785,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:788,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:789,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:790,1
    - Dst: quic_tls_ctx_reset
      Src: /src/haproxy/include/haproxy/quic_tls.h:792,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct quic_tls_ctx*
    constantsTouched: []
    func_position:
      end: 793
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 793
    functionName: quic_tls_ctx_secs_free
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 2
    functionsReached:
    - quic_tls_ctx_reset
    - EVP_CIPHER_CTX_free
    - QUIC_AEAD_CTX_free
    - pool_free
    - memset
    linkageType: ''
    returnType: void
    signature: quic_tls_ctx_secs_free(struct quic_tls_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/quic_tls.h:803,1
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/quic_tls.h:804,1
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/quic_tls.h:811,1
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/quic_tls.h:812,1
    - Dst: quic_tls_ctx_secs_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:821,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct quic_tls_ctx*
    constantsTouched: []
    func_position:
      end: 823
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 823
    functionName: quic_tls_ctx_keys_alloc
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 0
    functionsReached:
    - quic_tls_ctx_secs_free
    - pool_alloc
    linkageType: ''
    returnType: int
    signature: quic_tls_ctx_keys_alloc(struct quic_tls_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/include/haproxy/quic_tls.h:829,1
    - Dst: memset
      Src: /src/haproxy/include/haproxy/quic_tls.h:834,1
    - Dst: EVP_CIPHER_CTX_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:839,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:841,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:842,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - secs
    argTypes:
    - struct quic_tls_secrets*
    constantsTouched: []
    func_position:
      end: 846
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 846
    functionName: quic_tls_secrets_keys_free
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 0
    functionsReached:
    - memset
    - QUIC_AEAD_CTX_free
    - EVP_CIPHER_CTX_free
    - pool_free
    linkageType: ''
    returnType: void
    signature: quic_tls_secrets_keys_free(struct quic_tls_secrets *secs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/quic_tls.h:853,1
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/quic_tls.h:854,1
    - Dst: quic_tls_secrets_keys_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:863,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - secs
    argTypes:
    - struct quic_tls_secrets*
    constantsTouched: []
    func_position:
      end: 865
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 865
    functionName: quic_tls_secrets_keys_alloc
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached:
    - quic_tls_secrets_keys_free
    - pool_alloc
    linkageType: ''
    returnType: int
    signature: quic_tls_secrets_keys_alloc(struct quic_tls_secrets *secs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_tls_ctx_secs_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:872,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 875
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 875
    functionName: quic_nictx_free
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached:
    - quic_tls_ctx_secs_free
    - pool_free
    linkageType: ''
    returnType: void
    signature: quic_nictx_free(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: EVP_aead_aes_128_gcm
      Src: /src/haproxy/include/haproxy/quic_tls.h:881,1
    - Dst: EVP_aes_128_gcm
      Src: /src/haproxy/include/haproxy/quic_tls.h:883,1
    - Dst: EVP_sha256
      Src: /src/haproxy/include/haproxy/quic_tls.h:885,1
    - Dst: EVP_aes_128_ctr
      Src: /src/haproxy/include/haproxy/quic_tls.h:886,1
    - Dst: quic_tls_ctx_keys_alloc
      Src: /src/haproxy/include/haproxy/quic_tls.h:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct quic_tls_ctx*
    constantsTouched: []
    func_position:
      end: 903
      start: 878
    functionDepth: 3
    functionLinenumber: 878
    functionLinenumberEnd: 903
    functionName: quic_initial_tls_ctx_init
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 0
    functionsReached:
    - quic_tls_ctx_keys_alloc
    - EVP_aes_128_ctr
    - EVP_aead_aes_128_gcm
    - EVP_sha256
    - EVP_aes_128_gcm
    linkageType: ''
    returnType: int
    signature: quic_initial_tls_ctx_init(struct quic_tls_ctx *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - level
    argTypes:
    - enum quic_tls_enc_level
    constantsTouched: []
    func_position:
      end: 919
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 919
    functionName: quic_tls_level_pkt_type
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: quic_tls_level_pkt_type(enum quic_tls_enc_level level)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - qc
    - qel
    argTypes:
    - struct quic_conn*
    - struct quic_enc_level*
    constantsTouched: []
    func_position:
      end: 937
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 937
    functionName: quic_enc_level_pkt_type
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum quic_pkt_type
    signature: "quic_enc_level_pkt_type(struct quic_conn *qc,\n                                                         struct
      quic_enc_level *qel)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_ENTER
      Src: /src/haproxy/include/haproxy/quic_tls.h:956,1
    - Dst: quic_initial_tls_ctx_init
      Src: /src/haproxy/include/haproxy/quic_tls.h:957,1
    - Dst: quic_derive_initial_secret
      Src: /src/haproxy/include/haproxy/quic_tls.h:960,1
    - Dst: quic_tls_derive_initial_secrets
      Src: /src/haproxy/include/haproxy/quic_tls.h:966,1
    - Dst: quic_tls_derive_keys
      Src: /src/haproxy/include/haproxy/quic_tls.h:974,1
    - Dst: quic_tls_rx_ctx_init
      Src: /src/haproxy/include/haproxy/quic_tls.h:981,1
    - Dst: quic_tls_enc_hp_ctx_init
      Src: /src/haproxy/include/haproxy/quic_tls.h:984,1
    - Dst: quic_tls_derive_keys
      Src: /src/haproxy/include/haproxy/quic_tls.h:987,1
    - Dst: quic_tls_tx_ctx_init
      Src: /src/haproxy/include/haproxy/quic_tls.h:994,1
    - Dst: quic_tls_enc_hp_ctx_init
      Src: /src/haproxy/include/haproxy/quic_tls.h:997,1
    - Dst: TRACE_LEAVE
      Src: /src/haproxy/include/haproxy/quic_tls.h:1000,1
    - Dst: TRACE_DEVEL
      Src: /src/haproxy/include/haproxy/quic_tls.h:1005,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 6
    argNames:
    - qc
    - ctx
    - ver
    - cid
    - cidlen
    - server
    argTypes:
    - struct quic_conn*
    - struct quic_tls_ctx*
    - struct quic_version*
    - unsigned char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 1007
      start: 945
    functionDepth: 4
    functionLinenumber: 945
    functionLinenumberEnd: 1007
    functionName: qc_new_isecs
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 2
    functionsReached:
    - TRACE_LEAVE
    - TRACE_ENTER
    - quic_tls_rx_ctx_init
    - quic_derive_initial_secret
    - quic_tls_derive_initial_secrets
    - quic_tls_tx_ctx_init
    - TRACE_DEVEL
    - quic_initial_tls_ctx_init
    - quic_tls_derive_keys
    - quic_tls_enc_hp_ctx_init
    linkageType: ''
    returnType: int
    signature: "qc_new_isecs(struct quic_conn *qc,\n                               struct
      quic_tls_ctx *ctx, const struct quic_version *ver,\n                               const
      unsigned char *cid, size_t cidlen, int server)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - tls_kp
    argTypes:
    - struct quic_tls_kp*
    constantsTouched: []
    func_position:
      end: 1016
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1016
    functionName: quic_tls_ku_reset
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_tls_ku_reset(struct quic_tls_kp *tls_kp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:1024,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:1025,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:1026,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:1027,1
    - Dst: quic_tls_ku_reset
      Src: /src/haproxy/include/haproxy/quic_tls.h:1028,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:1029,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:1030,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:1031,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:1032,1
    - Dst: quic_tls_ku_reset
      Src: /src/haproxy/include/haproxy/quic_tls.h:1033,1
    - Dst: QUIC_AEAD_CTX_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:1034,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:1035,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:1036,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_tls.h:1037,1
    - Dst: quic_tls_ku_reset
      Src: /src/haproxy/include/haproxy/quic_tls.h:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1039
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1039
    functionName: quic_tls_ku_free
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached:
    - QUIC_AEAD_CTX_free
    - quic_tls_ku_reset
    - pool_free
    linkageType: ''
    returnType: void
    signature: quic_tls_ku_free(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/quic_tls.h:1051,1
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/quic_tls.h:1053,1
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/quic_tls.h:1055,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - kp
    argTypes:
    - struct quic_tls_kp*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1059
    functionName: quic_tls_kp_init
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 0
    functionsReached:
    - pool_alloc
    linkageType: ''
    returnType: int
    signature: quic_tls_kp_init(struct quic_tls_kp *kp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_tls_kp_init
      Src: /src/haproxy/include/haproxy/quic_tls.h:1073,1
    - Dst: quic_tls_kp_init
      Src: /src/haproxy/include/haproxy/quic_tls.h:1074,1
    - Dst: quic_tls_kp_init
      Src: /src/haproxy/include/haproxy/quic_tls.h:1075,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1082
      start: 1067
    functionDepth: 1
    functionLinenumber: 1067
    functionLinenumberEnd: 1082
    functionName: quic_tls_ku_init
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached:
    - quic_tls_kp_init
    linkageType: ''
    returnType: int
    signature: quic_tls_ku_init(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qel
    argTypes:
    - struct quic_enc_level*
    constantsTouched: []
    func_position:
      end: 1088
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1088
    functionName: quic_tls_has_rx_sec
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: quic_tls_has_rx_sec(const struct quic_enc_level *qel)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qel
    argTypes:
    - struct quic_enc_level*
    constantsTouched: []
    func_position:
      end: 1094
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1094
    functionName: quic_tls_has_tx_sec
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: quic_tls_has_tx_sec(const struct quic_enc_level *qel)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/include/haproxy/quic_tls.h:1101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - qel
    argTypes:
    - struct quic_enc_level*
    constantsTouched: []
    func_position:
      end: 1104
      start: 1097
    functionDepth: 1
    functionLinenumber: 1097
    functionLinenumberEnd: 1104
    functionName: qc_el_rx_pkts
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 0
    functionsReached:
    - eb_is_empty
    linkageType: ''
    returnType: int
    signature: qc_el_rx_pkts(struct quic_enc_level *qel)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_first
      Src: /src/haproxy/include/haproxy/quic_tls.h:1111,1
    - Dst: eb64_entry
      Src: /src/haproxy/include/haproxy/quic_tls.h:1114,1
    - Dst: eb64_next
      Src: /src/haproxy/include/haproxy/quic_tls.h:1116,1
    - Dst: eb64_delete
      Src: /src/haproxy/include/haproxy/quic_tls.h:1117,1
    - Dst: quic_rx_packet_refdec
      Src: /src/haproxy/include/haproxy/quic_tls.h:1118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - qel
    argTypes:
    - struct quic_enc_level*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1107
    functionDepth: 1
    functionLinenumber: 1107
    functionLinenumberEnd: 1120
    functionName: qc_el_rx_pkts_del
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 2
    functionsReached:
    - eb64_first
    - eb64_entry
    - eb64_next
    - eb64_delete
    - quic_rx_packet_refdec
    linkageType: ''
    returnType: void
    signature: qc_el_rx_pkts_del(struct quic_enc_level *qel)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_first
      Src: /src/haproxy/include/haproxy/quic_tls.h:1126,1
    - Dst: eb64_entry
      Src: /src/haproxy/include/haproxy/quic_tls.h:1130,1
    - Dst: fprintf
      Src: /src/haproxy/include/haproxy/quic_tls.h:1131,1
    - Dst: eb64_next
      Src: /src/haproxy/include/haproxy/quic_tls.h:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - qel
    argTypes:
    - struct quic_enc_level*
    constantsTouched: []
    func_position:
      end: 1135
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1135
    functionName: qc_list_qel_rx_pkts
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 0
    functionsReached:
    - eb64_entry
    - eb64_next
    - eb64_first
    - fprintf
    linkageType: ''
    returnType: void
    signature: qc_list_qel_rx_pkts(struct quic_enc_level *qel)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/include/haproxy/quic_tls.h:1143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - qc
    - qel
    argTypes:
    - struct quic_conn*
    - struct quic_enc_level*
    constantsTouched: []
    func_position:
      end: 1144
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1144
    functionName: qc_need_sending
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached:
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: qc_need_sending(struct quic_conn *qc, struct quic_enc_level *qel)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_peer_validated_addr
      Src: /src/haproxy/include/haproxy/quic_tls.h:1152,1
    - Dst: quic_may_send_bytes
      Src: /src/haproxy/include/haproxy/quic_tls.h:1153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 1154
      start: 1150
    functionDepth: 2
    functionLinenumber: 1150
    functionLinenumberEnd: 1154
    functionName: qc_may_probe_ipktns
    functionSourceFile: /src/haproxy/include/haproxy/quic_tls.h
    functionUses: 1
    functionsReached:
    - quic_peer_validated_addr
    - quic_may_send_bytes
    linkageType: ''
    returnType: int
    signature: qc_may_probe_ipktns(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 77
    functionName: hlua_init
    functionSourceFile: /src/haproxy/include/haproxy/hlua.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: hlua_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: hlua_post_init
    functionSourceFile: /src/haproxy/include/haproxy/hlua.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hlua_post_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - lua
    argTypes:
    - struct hlua*
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: hlua_ctx_destroy
    functionSourceFile: /src/haproxy/include/haproxy/hlua.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: hlua_ctx_destroy(struct hlua *lua)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pfx
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: hlua_show_current_location
    functionSourceFile: /src/haproxy/include/haproxy/hlua.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*hlua_show_current_location(const char *pfx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - msg_state
    argTypes:
    - enum h1_state
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: h1_msg_state_str
    functionSourceFile: /src/haproxy/include/haproxy/http_ana.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*h1_msg_state_str(enum h1_state msg_state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_sl_req_uri
      Src: /src/haproxy/include/haproxy/h1_htx.h:50,1
    - Dst: http_uri_parser_init
      Src: /src/haproxy/include/haproxy/h1_htx.h:52,1
    - Dst: http_parse_path
      Src: /src/haproxy/include/haproxy/h1_htx.h:53,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/h1_htx.h:54,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h1_htx.h:56,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h1_htx.h:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - sl
    argTypes:
    - struct htx_sl*
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: h1_get_uri
    functionSourceFile: /src/haproxy/include/haproxy/h1_htx.h
    functionUses: 2
    functionsReached:
    - htx_sl_req_uri
    - ist
    - http_uri_parser_init
    - unlikely
    - http_parse_path
    linkageType: ''
    returnType: struct ist
    signature: h1_get_uri(const struct htx_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - strm
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: strm_sess
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: struct session
    signature: '*strm_sess(const struct stream *strm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - strm
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: strm_fe
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: struct proxy
    signature: '*strm_fe(const struct stream *strm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - strm
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: strm_li
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: struct listener
    signature: '*strm_li(const struct stream *strm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - strm
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: strm_orig
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: enum obj_type
    signature: '*strm_orig(const struct stream *strm)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/stream.h:119,1
    - Dst: stkctr_entry
      Src: /src/haproxy/include/haproxy/stream.h:123,1
    - Dst: stkctr_entry
      Src: /src/haproxy/include/haproxy/stream.h:127,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stream.h:130,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/stream.h:132,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stream.h:134,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stream.h:135,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/stream.h:137,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/include/haproxy/stream.h:140,1
    - Dst: stkctr_set_entry
      Src: /src/haproxy/include/haproxy/stream.h:142,1
    - Dst: stksess_kill_if_expired
      Src: /src/haproxy/include/haproxy/stream.h:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 145
      start: 113
    functionDepth: 3
    functionLinenumber: 113
    functionLinenumberEnd: 145
    functionName: stream_store_counters
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 1
    functionsReached:
    - stktable_touch_local
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - stkctr_set_entry
    - HA_RWLOCK_WRUNLOCK
    - stksess_kill_if_expired
    - HA_RWLOCK_WRLOCK
    - unlikely
    linkageType: ''
    returnType: void
    signature: stream_store_counters(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/stream.h:158,1
    - Dst: stkctr_entry
      Src: /src/haproxy/include/haproxy/stream.h:162,1
    - Dst: stkctr_entry
      Src: /src/haproxy/include/haproxy/stream.h:166,1
    - Dst: stkctr_flags
      Src: /src/haproxy/include/haproxy/stream.h:169,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stream.h:172,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/stream.h:174,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stream.h:176,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stream.h:177,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/stream.h:179,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/include/haproxy/stream.h:182,1
    - Dst: stkctr_set_entry
      Src: /src/haproxy/include/haproxy/stream.h:184,1
    - Dst: stksess_kill_if_expired
      Src: /src/haproxy/include/haproxy/stream.h:185,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 187
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 187
    functionName: stream_stop_content_counters
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 1
    functionsReached:
    - stktable_touch_local
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - stkctr_set_entry
    - HA_RWLOCK_WRUNLOCK
    - stksess_kill_if_expired
    - HA_RWLOCK_WRLOCK
    - unlikely
    - stkctr_flags
    linkageType: ''
    returnType: void
    signature: stream_stop_content_counters(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/stream.h:197,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stream.h:199,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stream.h:201,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stream.h:203,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stream.h:205,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stream.h:207,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/include/haproxy/stream.h:209,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stream.h:209,1
    - Dst: tick_isset
      Src: /src/haproxy/include/haproxy/stream.h:211,1
    - Dst: tick_add
      Src: /src/haproxy/include/haproxy/stream.h:212,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/include/haproxy/stream.h:212,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/stream.h:214,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/include/haproxy/stream.h:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - t
    - ts
    argTypes:
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 218
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 218
    functionName: stream_start_counters
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 0
    functionsReached:
    - update_freq_ctr_period
    - stktable_touch_local
    - stktable_data_cast
    - tick_add
    - stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - MS_TO_TICKS
    - tick_isset
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: void
    signature: stream_start_counters(struct stktable *t, struct stksess *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/include/haproxy/stream.h:227,1
    - Dst: stkctr_set_entry
      Src: /src/haproxy/include/haproxy/stream.h:231,1
    - Dst: stream_start_counters
      Src: /src/haproxy/include/haproxy/stream.h:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ctr
    - t
    - ts
    argTypes:
    - struct stkctr*
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: stream_track_stkctr
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 2
    functionsReached:
    - stkctr_set_entry
    - stream_start_counters
    - stkctr_entry
    linkageType: ''
    returnType: void
    signature: stream_track_stkctr(struct stkctr *ctr, struct stktable *t, struct
      stksess *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/stream.h:240,1
    - Dst: stkctr_inc_http_req_ctr
      Src: /src/haproxy/include/haproxy/stream.h:244,1
    - Dst: stkctr_inc_http_req_ctr
      Src: /src/haproxy/include/haproxy/stream.h:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 247
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 247
    functionName: stream_inc_http_req_ctr
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 1
    functionsReached:
    - unlikely
    - stkctr_inc_http_req_ctr
    linkageType: ''
    returnType: void
    signature: stream_inc_http_req_ctr(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/stream.h:256,1
    - Dst: stkctr_entry
      Src: /src/haproxy/include/haproxy/stream.h:260,1
    - Dst: stkctr_flags
      Src: /src/haproxy/include/haproxy/stream.h:260,1
    - Dst: stkctr_inc_http_req_ctr
      Src: /src/haproxy/include/haproxy/stream.h:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 265
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 265
    functionName: stream_inc_be_http_req_ctr
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 1
    functionsReached:
    - unlikely
    - stkctr_flags
    - stkctr_entry
    - stkctr_inc_http_req_ctr
    linkageType: ''
    returnType: void
    signature: stream_inc_be_http_req_ctr(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/stream.h:277,1
    - Dst: stkctr_inc_http_err_ctr
      Src: /src/haproxy/include/haproxy/stream.h:281,1
    - Dst: stkctr_inc_http_err_ctr
      Src: /src/haproxy/include/haproxy/stream.h:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: stream_inc_http_err_ctr
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 4
    functionsReached:
    - unlikely
    - stkctr_inc_http_err_ctr
    linkageType: ''
    returnType: void
    signature: stream_inc_http_err_ctr(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/stream.h:295,1
    - Dst: stkctr_inc_http_fail_ctr
      Src: /src/haproxy/include/haproxy/stream.h:299,1
    - Dst: stkctr_inc_http_fail_ctr
      Src: /src/haproxy/include/haproxy/stream.h:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 302
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 302
    functionName: stream_inc_http_fail_ctr
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 4
    functionsReached:
    - unlikely
    - stkctr_inc_http_fail_ctr
    linkageType: ''
    returnType: void
    signature: stream_inc_http_fail_ctr(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_INSERT
      Src: /src/haproxy/include/haproxy/stream.h:312,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/stream.h:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - strm
    - srv
    argTypes:
    - struct stream*
    - struct server*
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: stream_add_srv_conn
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_STORE
    - MT_LIST_INSERT
    linkageType: ''
    returnType: void
    signature: stream_add_srv_conn(struct stream *strm, struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/include/haproxy/stream.h:323,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/stream.h:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - strm
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: stream_del_srv_conn
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_STORE
    - MT_LIST_DELETE
    linkageType: ''
    returnType: void
    signature: stream_del_srv_conn(struct stream *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/include/haproxy/stream.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - strm
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: stream_init_srv_conn
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 1
    functionsReached:
    - MT_LIST_INIT
    linkageType: ''
    returnType: void
    signature: stream_init_srv_conn(struct stream *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/include/haproxy/stream.h:347,1
    - Dst: __objt_server
      Src: /src/haproxy/include/haproxy/stream.h:349,1
    - Dst: sess_change_server
      Src: /src/haproxy/include/haproxy/stream.h:356,1
    - Dst: may_dequeue_tasks
      Src: /src/haproxy/include/haproxy/stream.h:357,1
    - Dst: objt_server
      Src: /src/haproxy/include/haproxy/stream.h:357,1
    - Dst: process_srv_queue
      Src: /src/haproxy/include/haproxy/stream.h:358,1
    - Dst: objt_server
      Src: /src/haproxy/include/haproxy/stream.h:358,1
    - Dst: sockaddr_free
      Src: /src/haproxy/include/haproxy/stream.h:360,1
    - Dst: objt_server
      Src: /src/haproxy/include/haproxy/stream.h:364,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/include/haproxy/stream.h:365,1
    - Dst: __objt_server
      Src: /src/haproxy/include/haproxy/stream.h:365,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/include/haproxy/stream.h:366,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 370
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 370
    functionName: stream_choose_redispatch
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 2
    functionsReached:
    - sockaddr_free
    - objt_server
    - sess_change_server
    - process_srv_queue
    - _HA_ATOMIC_INC
    - __objt_server
    - may_dequeue_tasks
    linkageType: ''
    returnType: void
    signature: stream_choose_redispatch(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_is_expired
      Src: /src/haproxy/include/haproxy/stream.h:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 386
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 386
    functionName: stream_check_conn_timeout
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 1
    functionsReached:
    - tick_is_expired
    linkageType: ''
    returnType: int
    signature: stream_check_conn_timeout(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/include/haproxy/stream.h:400,1
    - Dst: task_wakeup
      Src: /src/haproxy/include/haproxy/stream.h:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - why
    argTypes:
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 405
    functionName: stream_shutdown
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 3
    functionsReached:
    - task_wakeup
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: stream_shutdown(struct stream *s, int why)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 419
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 419
    functionName: stream_map_task_state
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: stream_map_task_state(unsigned int state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_strm
      Src: /src/haproxy/include/haproxy/stream.h:423,1
    - Dst: tevt_report_event
      Src: /src/haproxy/include/haproxy/stream.h:431,1
    - Dst: tevt_report_event
      Src: /src/haproxy/include/haproxy/stream.h:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sc
    - type
    argTypes:
    - struct stconn*
    - enum strm_term_event_type
    constantsTouched: []
    func_position:
      end: 433
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 433
    functionName: stream_report_term_evt
    functionSourceFile: /src/haproxy/include/haproxy/stream.h
    functionUses: 12
    functionsReached:
    - tevt_report_event
    - sc_strm
    linkageType: ''
    returnType: void
    signature: stream_report_term_evt(struct stconn *sc, enum strm_term_event_type
      type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:104,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:106,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:106,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:106,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:107,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:107,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:107,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:107,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:108,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:110,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:110,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:111,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:111,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:112,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:112,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:113,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:115,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:115,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:116,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:116,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:117,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:117,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:118,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:118,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:119,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:119,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:120,1
    - Dst: _e
      Src: /src/haproxy/include/haproxy/stream-t.h:120,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:122,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:122,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:122,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:122,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:122,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:123,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:123,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:123,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:123,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:124,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:124,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:124,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 131
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 131
    functionName: strm_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/stream-t.h
    functionUses: 1
    functionsReached:
    - _
    - _e
    linkageType: ''
    returnType: forceinline
    signature: '*strm_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:192,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:194,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:194,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:194,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:195,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:195,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:195,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:196,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:196,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:196,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:197,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:197,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stream-t.h:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 202
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 202
    functionName: strm_et_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/stream-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*strm_et_show_flags(char *buf, size_t len, const char *delim, uint
      flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/include/haproxy/log.h:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - expr
    argTypes:
    - struct lf_expr*
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: lf_expr_isempty
    functionSourceFile: /src/haproxy/include/haproxy/log.h
    functionUses: 20
    functionsReached:
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: lf_expr_isempty(const struct lf_expr *expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - id
    - flags
    argTypes:
    - enum log_orig_id
    - uint16_t
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: log_orig
    functionSourceFile: /src/haproxy/include/haproxy/log.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: struct log_orig
    signature: log_orig(enum log_orig_id id, uint16_t flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sess_build_logline_orig
      Src: /src/haproxy/include/haproxy/log.h:104,1
    - Dst: log_orig
      Src: /src/haproxy/include/haproxy/log.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - sess
    - s
    - dst
    - maxsize
    - lf_expr
    argTypes:
    - struct session*
    - struct stream*
    - char*
    - size_t
    - struct lf_expr*
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 9
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: sess_build_logline
    functionSourceFile: /src/haproxy/include/haproxy/log.h
    functionUses: 7
    functionsReached:
    - sess_build_logline_orig
    - log_orig
    linkageType: ''
    returnType: int
    signature: "sess_build_logline(struct session *sess, struct stream *s, char *dst,
      size_t maxsize,\n                                     struct lf_expr *lf_expr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sess_log
      Src: /src/haproxy/include/haproxy/log.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct session*
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 10
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: sess_log
    functionSourceFile: /src/haproxy/include/haproxy/log.h
    functionUses: 11
    functionsReached:
    - _sess_log
    linkageType: ''
    returnType: void
    signature: sess_log(struct session *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _sess_log
      Src: /src/haproxy/include/haproxy/log.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sess
    argTypes:
    - struct session*
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 10
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: sess_log_embryonic
    functionSourceFile: /src/haproxy/include/haproxy/log.h
    functionUses: 1
    functionsReached:
    - _sess_log
    linkageType: ''
    returnType: void
    signature: sess_log_embryonic(struct session *sess)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sess_build_logline_orig
      Src: /src/haproxy/include/haproxy/log.h:202,1
    - Dst: strm_sess
      Src: /src/haproxy/include/haproxy/log.h:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - dst
    - maxsize
    - lf_expr
    - orig
    argTypes:
    - struct stream*
    - char*
    - size_t
    - struct lf_expr*
    - struct log_orig
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 9
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: build_logline_orig
    functionSourceFile: /src/haproxy/include/haproxy/log.h
    functionUses: 6
    functionsReached:
    - sess_build_logline_orig
    - strm_sess
    linkageType: ''
    returnType: int
    signature: "build_logline_orig(struct stream *s, char *dst, size_t maxsize,\n
      \                                    struct lf_expr *lf_expr, struct log_orig
      orig)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: build_logline_orig
      Src: /src/haproxy/include/haproxy/log.h:210,1
    - Dst: log_orig
      Src: /src/haproxy/include/haproxy/log.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - dst
    - maxsize
    - lf_expr
    argTypes:
    - struct stream*
    - char*
    - size_t
    - struct lf_expr*
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 10
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: build_logline
    functionSourceFile: /src/haproxy/include/haproxy/log.h
    functionUses: 19
    functionsReached:
    - build_logline_orig
    - log_orig
    linkageType: ''
    returnType: int
    signature: build_logline(struct stream *s, char *dst, size_t maxsize, struct lf_expr
      *lf_expr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/log.h:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 230
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 230
    functionName: log_forward_by_name
    functionSourceFile: /src/haproxy/include/haproxy/log.h
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct proxy
    signature: '*log_forward_by_name(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: memprof_remove_stale_info
    functionSourceFile: /src/haproxy/include/haproxy/activity.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: memprof_remove_stale_info(const void *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dht
    - idx
    argTypes:
    - struct qpack_dht*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: qpack_get_dte
    functionSourceFile: /src/haproxy/include/haproxy/qpack-tbl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct qpack_dte
    signature: '*qpack_get_dte(const struct qpack_dht *dht, uint16_t idx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dht
    - idx
    argTypes:
    - struct qpack_dht*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: qpack_valid_idx
    functionSourceFile: /src/haproxy/include/haproxy/qpack-tbl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: qpack_valid_idx(const struct qpack_dht *dht, uint32_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dht
    - dte
    argTypes:
    - struct qpack_dht*
    - struct qpack_dte*
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: qpack_get_name
    functionSourceFile: /src/haproxy/include/haproxy/qpack-tbl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ist
    signature: qpack_get_name(const struct qpack_dht *dht, const struct qpack_dte
      *dte)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dht
    - dte
    argTypes:
    - struct qpack_dht*
    - struct qpack_dte*
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: qpack_get_value
    functionSourceFile: /src/haproxy/include/haproxy/qpack-tbl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ist
    signature: qpack_get_value(const struct qpack_dht *dht, const struct qpack_dte
      *dte)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qpack_get_dte
      Src: /src/haproxy/include/haproxy/qpack-tbl.h:101,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/qpack-tbl.h:103,1
    - Dst: qpack_get_name
      Src: /src/haproxy/include/haproxy/qpack-tbl.h:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dht
    - idx
    argTypes:
    - struct qpack_dht*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: qpack_idx_to_name
    functionSourceFile: /src/haproxy/include/haproxy/qpack-tbl.h
    functionUses: 1
    functionsReached:
    - qpack_get_dte
    - ist
    - qpack_get_name
    linkageType: ''
    returnType: struct ist
    signature: qpack_idx_to_name(const struct qpack_dht *dht, uint32_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qpack_get_dte
      Src: /src/haproxy/include/haproxy/qpack-tbl.h:113,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/qpack-tbl.h:115,1
    - Dst: qpack_get_value
      Src: /src/haproxy/include/haproxy/qpack-tbl.h:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dht
    - idx
    argTypes:
    - struct qpack_dht*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: qpack_idx_to_value
    functionSourceFile: /src/haproxy/include/haproxy/qpack-tbl.h
    functionUses: 1
    functionsReached:
    - qpack_get_value
    - qpack_get_dte
    - ist
    linkageType: ''
    returnType: struct ist
    signature: qpack_idx_to_value(const struct qpack_dht *dht, uint32_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dht
    argTypes:
    - struct qpack_dht*
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: qpack_dht_get_tail
    functionSourceFile: /src/haproxy/include/haproxy/qpack-tbl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: qpack_dht_get_tail(const struct qpack_dht *dht)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __qpack_dht_make_room
      Src: /src/haproxy/include/haproxy/qpack-tbl.h:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dht
    - needed
    argTypes:
    - struct qpack_dht*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: qpack_dht_make_room
    functionSourceFile: /src/haproxy/include/haproxy/qpack-tbl.h
    functionUses: 2
    functionsReached:
    - __qpack_dht_make_room
    linkageType: ''
    returnType: int
    signature: qpack_dht_make_room(struct qpack_dht *dht, unsigned int needed)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dht
    - size
    argTypes:
    - struct qpack_dht*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: qpack_dht_init
    functionSourceFile: /src/haproxy/include/haproxy/qpack-tbl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: qpack_dht_init(struct qpack_dht *dht, uint32_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/qpack-tbl.h:155,1
    - Dst: qpack_alloc
      Src: /src/haproxy/include/haproxy/qpack-tbl.h:158,1
    - Dst: qpack_dht_init
      Src: /src/haproxy/include/haproxy/qpack-tbl.h:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: qpack_dht_alloc
    functionSourceFile: /src/haproxy/include/haproxy/qpack-tbl.h
    functionUses: 1
    functionsReached:
    - unlikely
    - qpack_dht_init
    - qpack_alloc
    linkageType: ''
    returnType: struct qpack_dht
    signature: '*qpack_dht_alloc()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qpack_free
      Src: /src/haproxy/include/haproxy/qpack-tbl.h:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dht
    argTypes:
    - struct qpack_dht*
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: qpack_dht_free
    functionSourceFile: /src/haproxy/include/haproxy/qpack-tbl.h
    functionUses: 1
    functionsReached:
    - qpack_free
    linkageType: ''
    returnType: void
    signature: qpack_dht_free(struct qpack_dht *dht)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cbuf
    argTypes:
    - struct cbuf*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: cb_wr
    functionSourceFile: /src/haproxy/include/haproxy/cbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: '*cb_wr(struct cbuf *cbuf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cbuf
    argTypes:
    - struct cbuf*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: cb_rd_reset
    functionSourceFile: /src/haproxy/include/haproxy/cbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: cb_rd_reset(struct cbuf *cbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cbuf
    argTypes:
    - struct cbuf*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: cb_wr_reset
    functionSourceFile: /src/haproxy/include/haproxy/cbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: cb_wr_reset(struct cbuf *cbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cbuf
    - count
    argTypes:
    - struct cbuf*
    - size_t
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: cb_add
    functionSourceFile: /src/haproxy/include/haproxy/cbuf.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: cb_add(struct cbuf *cbuf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cbuf
    argTypes:
    - struct cbuf*
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: cb_rd
    functionSourceFile: /src/haproxy/include/haproxy/cbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: '*cb_rd(struct cbuf *cbuf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cbuf
    - count
    argTypes:
    - struct cbuf*
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: cb_del
    functionSourceFile: /src/haproxy/include/haproxy/cbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: cb_del(struct cbuf *cbuf, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/cbuf.h:96,1
    - Dst: CBUF_DATA
      Src: /src/haproxy/include/haproxy/cbuf.h:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cbuf
    argTypes:
    - struct cbuf*
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: cb_data
    functionSourceFile: /src/haproxy/include/haproxy/cbuf.h
    functionUses: 6
    functionsReached:
    - HA_ATOMIC_LOAD
    - CBUF_DATA
    linkageType: ''
    returnType: size_t
    signature: cb_data(struct cbuf *cbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/cbuf.h:108,1
    - Dst: CBUF_DATA
      Src: /src/haproxy/include/haproxy/cbuf.h:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cbuf
    argTypes:
    - struct cbuf*
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: cb_room
    functionSourceFile: /src/haproxy/include/haproxy/cbuf.h
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_LOAD
    - CBUF_DATA
    linkageType: ''
    returnType: size_t
    signature: cb_room(struct cbuf *cbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/cbuf.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cbuf
    argTypes:
    - struct cbuf*
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: cb_contig_data
    functionSourceFile: /src/haproxy/include/haproxy/cbuf.h
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: size_t
    signature: cb_contig_data(struct cbuf *cbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/cbuf.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cbuf
    argTypes:
    - struct cbuf*
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: cb_contig_space
    functionSourceFile: /src/haproxy/include/haproxy/cbuf.h
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: size_t
    signature: cb_contig_space(struct cbuf *cbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sample
    - req_type
    argTypes:
    - struct sample*
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: sample_convert
    functionSourceFile: /src/haproxy/include/haproxy/sample.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: sample_convert(struct sample *sample, int req_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - smp
    - px
    - sess
    - strm
    - opt
    argTypes:
    - struct sample*
    - struct proxy*
    - struct session*
    - struct stream*
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: smp_set_owner
    functionSourceFile: /src/haproxy/include/haproxy/sample.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: struct sample
    signature: "*smp_set_owner(struct sample *smp, struct proxy *px,\n                             struct
      session *sess, struct stream *strm, int opt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 128
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 128
    functionName: smp_is_safe
    functionSourceFile: /src/haproxy/include/haproxy/sample.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_is_safe(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_is_safe
      Src: /src/haproxy/include/haproxy/sample.h:137,1
    - Dst: smp_dup
      Src: /src/haproxy/include/haproxy/sample.h:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: smp_make_safe
    functionSourceFile: /src/haproxy/include/haproxy/sample.h
    functionUses: 6
    functionsReached:
    - smp_is_safe
    - smp_dup
    linkageType: ''
    returnType: int
    signature: smp_make_safe(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 175
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 175
    functionName: smp_is_rw
    functionSourceFile: /src/haproxy/include/haproxy/sample.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: smp_is_rw(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_is_rw
      Src: /src/haproxy/include/haproxy/sample.h:184,1
    - Dst: smp_dup
      Src: /src/haproxy/include/haproxy/sample.h:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: smp_make_rw
    functionSourceFile: /src/haproxy/include/haproxy/sample.h
    functionUses: 4
    functionsReached:
    - smp_is_rw
    - smp_dup
    linkageType: ''
    returnType: int
    signature: smp_make_rw(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/haproxy/include/haproxy/http.h:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - path
    - path_l
    - delim
    argTypes:
    - char*
    - size_t
    - char
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: http_find_param_list
    functionSourceFile: /src/haproxy/include/haproxy/http.h
    functionUses: 1
    functionsReached:
    - memchr
    linkageType: ''
    returnType: char
    signature: '*http_find_param_list(char *path, size_t path_l, char delim)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - c
    - delim
    argTypes:
    - char
    - char
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: http_is_param_delimiter
    functionSourceFile: /src/haproxy/include/haproxy/http.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: http_is_param_delimiter(char c, char delim)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - range
    - range_len
    - tag
    - tag_len
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: http_language_range_match
    functionSourceFile: /src/haproxy/include/haproxy/http.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "http_language_range_match(const char *range, int range_len,\n                                            const
      char *tag, int tag_len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istnmatch
      Src: /src/haproxy/include/haproxy/http.h:140,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/http.h:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - etag
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 144
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 144
    functionName: http_get_etag_type
    functionSourceFile: /src/haproxy/include/haproxy/http.h
    functionUses: 2
    functionsReached:
    - istnmatch
    - ist
    linkageType: ''
    returnType: enum http_etag_type
    signature: http_get_etag_type(const struct ist etag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/include/haproxy/http.h:160,1
    - Dst: istptr
      Src: /src/haproxy/include/haproxy/http.h:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - uri
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 181
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 181
    functionName: http_uri_parser_init
    functionSourceFile: /src/haproxy/include/haproxy/http.h
    functionUses: 22
    functionsReached:
    - istlen
    - istptr
    linkageType: ''
    returnType: struct http_uri_parser
    signature: http_uri_parser_init(const struct ist uri)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istend
      Src: /src/haproxy/include/haproxy/http.h:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ist
    - start
    argTypes:
    - struct ist
    - char*
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: http_header_has_forbidden_char
    functionSourceFile: /src/haproxy/include/haproxy/http.h
    functionUses: 5
    functionsReached:
    - istend
    linkageType: ''
    returnType: int
    signature: http_header_has_forbidden_char(const struct ist ist, const char *start)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HTTP_IS_TOKEN
      Src: /src/haproxy/include/haproxy/http.h:208,1
    - Dst: istend
      Src: /src/haproxy/include/haproxy/http.h:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: http_method_has_forbidden_char
    functionSourceFile: /src/haproxy/include/haproxy/http.h
    functionUses: 1
    functionsReached:
    - istend
    - HTTP_IS_TOKEN
    linkageType: ''
    returnType: int
    signature: http_method_has_forbidden_char(const struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istend
      Src: /src/haproxy/include/haproxy/http.h:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ist
    - start
    argTypes:
    - struct ist
    - char*
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: http_path_has_forbidden_char
    functionSourceFile: /src/haproxy/include/haproxy/http.h
    functionUses: 2
    functionsReached:
    - istend
    linkageType: ''
    returnType: int
    signature: http_path_has_forbidden_char(const struct ist ist, const char *start)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_bit_test
      Src: /src/haproxy/include/haproxy/http.h:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - array
    - status
    argTypes:
    - long*
    - uint
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: http_status_matches
    functionSourceFile: /src/haproxy/include/haproxy/http.h
    functionUses: 2
    functionsReached:
    - ha_bit_test
    linkageType: ''
    returnType: int
    signature: http_status_matches(const long *array, uint status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:70,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:72,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:72,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:73,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:73,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:74,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:74,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:75,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:75,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:76,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:76,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:76,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:77,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:77,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:77,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/applet-t.h:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: appctx_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/applet-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*appctx_show_flags(char *buf, size_t len, const char *delim, uint
      flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - be
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: be_usable_srv
    functionSourceFile: /src/haproxy/include/haproxy/backend.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: be_usable_srv(struct proxy *be)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ns_to_sec
      Src: /src/haproxy/include/haproxy/backend.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - be
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: be_set_sess_last
    functionSourceFile: /src/haproxy/include/haproxy/backend.h
    functionUses: 2
    functionsReached:
    - ns_to_sec
    linkageType: ''
    returnType: void
    signature: be_set_sess_last(struct proxy *be)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: srv_willbe_usable
    functionSourceFile: /src/haproxy/include/haproxy/backend.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_willbe_usable(const struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 139
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 139
    functionName: srv_currently_usable
    functionSourceFile: /src/haproxy/include/haproxy/backend.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_currently_usable(const struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: srv_lb_commit_status
    functionSourceFile: /src/haproxy/include/haproxy/backend.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: srv_lb_commit_status(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: srv_lb_status_changed
    functionSourceFile: /src/haproxy/include/haproxy/backend.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_lb_status_changed(const struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - expire
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: tick_isset
    functionSourceFile: /src/haproxy/include/haproxy/ticks.h
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: tick_isset(int expire)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/ticks.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - now
    - timeout
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: tick_add
    functionSourceFile: /src/haproxy/include/haproxy/ticks.h
    functionUses: 76
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int
    signature: tick_add(int now, int timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_add
      Src: /src/haproxy/include/haproxy/ticks.h:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - now
    - timeout
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: tick_add_ifset
    functionSourceFile: /src/haproxy/include/haproxy/ticks.h
    functionUses: 19
    functionsReached:
    - tick_add
    linkageType: ''
    returnType: int
    signature: tick_add_ifset(int now, int timeout)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: tick_is_lt
    functionSourceFile: /src/haproxy/include/haproxy/ticks.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: tick_is_lt(int t1, int t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: tick_is_le
    functionSourceFile: /src/haproxy/include/haproxy/ticks.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: tick_is_le(int t1, int t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/ticks.h:111,1
    - Dst: tick_isset
      Src: /src/haproxy/include/haproxy/ticks.h:111,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/ticks.h:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - timer
    - now
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: tick_is_expired
    functionSourceFile: /src/haproxy/include/haproxy/ticks.h
    functionUses: 46
    functionsReached:
    - unlikely
    - tick_isset
    linkageType: ''
    returnType: int
    signature: tick_is_expired(int timer, int now)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_isset
      Src: /src/haproxy/include/haproxy/ticks.h:121,1
    - Dst: tick_isset
      Src: /src/haproxy/include/haproxy/ticks.h:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: tick_first
    functionSourceFile: /src/haproxy/include/haproxy/ticks.h
    functionUses: 26
    functionsReached:
    - tick_isset
    linkageType: ''
    returnType: int
    signature: tick_first(int t1, int t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_isset
      Src: /src/haproxy/include/haproxy/ticks.h:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: tick_first_2nz
    functionSourceFile: /src/haproxy/include/haproxy/ticks.h
    functionUses: 0
    functionsReached:
    - tick_isset
    linkageType: ''
    returnType: int
    signature: tick_first_2nz(int t1, int t2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_is_expired
      Src: /src/haproxy/include/haproxy/ticks.h:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - now
    - exp
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: tick_remain
    functionSourceFile: /src/haproxy/include/haproxy/ticks.h
    functionUses: 12
    functionsReached:
    - tick_is_expired
    linkageType: ''
    returnType: int
    signature: tick_remain(int now, int exp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/include/haproxy/quic_stream.h:29,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct qc_stream_desc*
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: qc_stream_desc_done
    functionSourceFile: /src/haproxy/include/haproxy/quic_stream.h
    functionUses: 2
    functionsReached:
    - eb_is_empty
    linkageType: ''
    returnType: int
    signature: qc_stream_desc_done(const struct qc_stream_desc *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct qc_stream_desc*::notify_send
      Src: /src/haproxy/include/haproxy/quic_stream.h:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - stream
    - offset
    - len
    argTypes:
    - struct qc_stream_desc*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: qc_stream_desc_send
    functionSourceFile: /src/haproxy/include/haproxy/quic_stream.h
    functionUses: 1
    functionsReached:
    - struct qc_stream_desc*::notify_send
    linkageType: ''
    returnType: void
    signature: "qc_stream_desc_send(struct qc_stream_desc *stream,\n                                       uint64_t
      offset, uint64_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct qc_stream_desc*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: qc_stream_desc_sub_send
    functionSourceFile: /src/haproxy/include/haproxy/quic_stream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "qc_stream_desc_sub_send(struct qc_stream_desc *stream,\n                                           void
      (*cb)(struct qc_stream_desc *s, uint64_t offset, uint64_t len))"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - struct qc_stream_desc*
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: qc_stream_desc_sub_room
    functionSourceFile: /src/haproxy/include/haproxy/quic_stream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "qc_stream_desc_sub_room(struct qc_stream_desc *stream,\n                                           void
      (*cb)(struct qc_stream_desc *s, uint64_t offset))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/openssl-compat.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - sid_ctx
    - sid_ctx_len
    argTypes:
    - SSL_SESSION*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: SSL_SESSION_set1_id_context
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: SSL_SESSION_set1_id_context(SSL_SESSION *s, const unsigned char *sid_ctx,
      unsigned int sid_ctx_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - X509_STORE*
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: X509_STORE_get0_objects
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: STACK_OF
    signature: '*X509_STORE_get0_objects(X509_STORE *st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: X509_OBJECT_get_type
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: X509_OBJECT_get_type(const X509_OBJECT *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: X509_OBJECT_get0_X509
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: X509
    signature: '*X509_OBJECT_get0_X509(const X509_OBJECT *a)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - X509_OBJECT*
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: X509_OBJECT_get0_X509_CRL
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: X509_CRL
    signature: '*X509_OBJECT_get0_X509_CRL(const X509_OBJECT *a)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/openssl-compat.h:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - sid
    - sid_len
    argTypes:
    - SSL_SESSION*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: SSL_SESSION_set1_id
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: SSL_SESSION_set1_id(SSL_SESSION *s, const unsigned char *sid, unsigned
      int sid_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: X509_get0_tbs_sigalg
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: X509_ALGOR
    signature: '*X509_get0_tbs_sigalg(const X509 *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - single
    argTypes:
    - OCSP_SINGLERESP*
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: OCSP_SINGLERESP_get0_id
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: OCSP_CERTID
    signature: '*OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *single)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - dh
    - p
    - q
    - g
    argTypes:
    - DH*
    - BIGNUM*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: DH_set0_pqg
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - ASN1_STRING*
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: ASN1_STRING_get0_data
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: '*ASN1_STRING_get0_data(const ASN1_STRING *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_add
      Src: /src/haproxy/include/haproxy/openssl-compat.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509*
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: X509_up_ref
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 4
    functionsReached:
    - CRYPTO_add
    linkageType: ''
    returnType: void
    signature: X509_up_ref(X509 *x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_add
      Src: /src/haproxy/include/haproxy/openssl-compat.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkey
    argTypes:
    - EVP_PKEY*
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: EVP_PKEY_up_ref
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 1
    functionsReached:
    - CRYPTO_add
    linkageType: ''
    returnType: void
    signature: EVP_PKEY_up_ref(EVP_PKEY *pkey)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_add
      Src: /src/haproxy/include/haproxy/openssl-compat.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSL_CTX*
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: SSL_CTX_up_ref
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 4
    functionsReached:
    - CRYPTO_add
    linkageType: ''
    returnType: void
    signature: SSL_CTX_up_ref(SSL_CTX *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OBJ_obj2nid
      Src: /src/haproxy/include/haproxy/openssl-compat.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: X509_CRL_get_signature_nid
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 1
    functionsReached:
    - OBJ_obj2nid
    linkageType: ''
    returnType: int
    signature: X509_CRL_get_signature_nid(const X509_CRL *crl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_get_lastUpdate
      Src: /src/haproxy/include/haproxy/openssl-compat.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: X509_CRL_get0_lastUpdate
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 1
    functionsReached:
    - X509_CRL_get_lastUpdate
    linkageType: ''
    returnType: ASN1_TIME
    signature: '*X509_CRL_get0_lastUpdate(const X509_CRL *crl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: X509_CRL_get_nextUpdate
      Src: /src/haproxy/include/haproxy/openssl-compat.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - crl
    argTypes:
    - X509_CRL*
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: X509_CRL_get0_nextUpdate
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 1
    functionsReached:
    - X509_CRL_get_nextUpdate
    linkageType: ''
    returnType: ASN1_TIME
    signature: '*X509_CRL_get0_nextUpdate(const X509_CRL *crl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_REVOKED*
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: X509_REVOKED_get0_serialNumber
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ASN1_INTEGER
    signature: '*X509_REVOKED_get0_serialNumber(const X509_REVOKED *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - X509_REVOKED*
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: X509_REVOKED_get0_revocationDate
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ASN1_TIME
    signature: '*X509_REVOKED_get0_revocationDate(const X509_REVOKED *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - X509_STORE_CTX*
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: X509_STORE_CTX_get0_cert
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: X509
    signature: '*X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BN_clear_free
      Src: /src/haproxy/include/haproxy/openssl-compat.h:314,1
    - Dst: BN_clear_free
      Src: /src/haproxy/include/haproxy/openssl-compat.h:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - sig
    - r
    - s
    argTypes:
    - ECDSA_SIG*
    - BIGNUM*
    - BIGNUM*
    constantsTouched: []
    func_position:
      end: 320
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 320
    functionName: ECDSA_SIG_set0
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 1
    functionsReached:
    - BN_clear_free
    linkageType: ''
    returnType: int
    signature: ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ERR_func_error_string
      Src: /src/haproxy/include/haproxy/openssl-compat.h:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - func
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 342
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 342
    functionName: ERR_peek_error_func
    functionSourceFile: /src/haproxy/include/haproxy/openssl-compat.h
    functionUses: 2
    functionsReached:
    - ERR_func_error_string
    linkageType: ''
    returnType: unsigned long
    signature: ERR_peek_error_func(const char **func)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - srv
    - sk
    argTypes:
    - struct server*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: set_srv_agent_addr
    functionSourceFile: /src/haproxy/include/haproxy/check.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: set_srv_agent_addr(struct server *srv, struct sockaddr_storage *sk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - srv
    - port
    argTypes:
    - struct server*
    - int
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: set_srv_agent_port
    functionSourceFile: /src/haproxy/include/haproxy/check.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: set_srv_agent_port(struct server *srv, int port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __health_adjust
      Src: /src/haproxy/include/haproxy/check.h:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - status
    argTypes:
    - struct server*
    - short
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 12
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: health_adjust
    functionSourceFile: /src/haproxy/include/haproxy/check.h
    functionUses: 6
    functionsReached:
    - __health_adjust
    linkageType: ''
    returnType: void
    signature: health_adjust(struct server *s, short status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:46,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:48,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:48,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:48,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:49,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:49,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:49,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:50,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:50,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:50,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:51,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:51,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:51,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:52,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:52,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:52,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:53,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:53,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: spop_conn_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/mux_spop-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*spop_conn_show_flags(char *buf, size_t len, const char *delim, uint
      flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:79,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:81,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:81,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:81,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:81,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_spop-t.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: spop_strm_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/mux_spop-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*spop_strm_show_flags(char *buf, size_t len, const char *delim, uint
      flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - st
    argTypes:
    - enum spop_conn_st
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: spop_conn_st_to_str
    functionSourceFile: /src/haproxy/include/haproxy/mux_spop-t.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*spop_conn_st_to_str(enum spop_conn_st st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - st
    argTypes:
    - enum spop_strm_st
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: spop_strm_st_to_str
    functionSourceFile: /src/haproxy/include/haproxy/mux_spop-t.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*spop_strm_st_to_str(enum spop_strm_st st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - struct quic_rx_packet*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: quic_rx_packet_refinc
    functionSourceFile: /src/haproxy/include/haproxy/quic_rx.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_rx_packet_refinc(struct quic_rx_packet *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - struct quic_rx_packet*
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: quic_rx_packet_refdec
    functionSourceFile: /src/haproxy/include/haproxy/quic_rx.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_rx_packet_refdec(struct quic_rx_packet *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pkt
    argTypes:
    - struct quic_rx_packet*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: qc_pkt_long
    functionSourceFile: /src/haproxy/include/haproxy/quic_rx.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: qc_pkt_long(const struct quic_rx_packet *pkt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/sink.h:58,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/sink.h:58,1
    - Dst: sink_announce_dropped
      Src: /src/haproxy/include/haproxy/sink.h:59,1
    - Dst: __sink_write
      Src: /src/haproxy/include/haproxy/sink.h:69,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/sink.h:72,1
    - Dst: HA_ATOMIC_ADD
      Src: /src/haproxy/include/haproxy/sink.h:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - sink
    - hdr
    - maxlen
    - msg
    - nmsg
    argTypes:
    - struct sink*
    - struct log_header
    - size_t
    - struct ist[]
    - size_t
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 4
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: sink_write
    functionSourceFile: /src/haproxy/include/haproxy/sink.h
    functionUses: 5
    functionsReached:
    - sink_announce_dropped
    - __sink_write
    - HA_ATOMIC_LOAD
    - HA_ATOMIC_ADD
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: "sink_write(struct sink *sink, struct log_header hdr,\n                                 size_t
      maxlen, const struct ist msg[], size_t nmsg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - warning
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: already_warned
    functionSourceFile: /src/haproxy/include/haproxy/global.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: already_warned(unsigned int warning)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ELEM
      Src: /src/haproxy/include/haproxy/channel.h:63,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/include/haproxy/channel.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: chn_strm
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 21
    functionsReached:
    - LIST_ELEM
    linkageType: ''
    returnType: struct stream
    signature: '*chn_strm(const struct channel *chn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ELEM
      Src: /src/haproxy/include/haproxy/channel.h:72,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/include/haproxy/channel.h:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: chn_prod
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 5
    functionsReached:
    - LIST_ELEM
    linkageType: ''
    returnType: struct stconn
    signature: '*chn_prod(const struct channel *chn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ELEM
      Src: /src/haproxy/include/haproxy/channel.h:81,1
    - Dst: LIST_ELEM
      Src: /src/haproxy/include/haproxy/channel.h:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: chn_cons
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 9
    functionsReached:
    - LIST_ELEM
    linkageType: ''
    returnType: struct stconn
    signature: '*chn_cons(const struct channel *chn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/channel.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: c_orig
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 2
    functionsReached:
    - b_orig
    linkageType: ''
    returnType: char
    signature: '*c_orig(const struct channel *c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_size
      Src: /src/haproxy/include/haproxy/channel.h:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: c_size
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 3
    functionsReached:
    - b_size
    linkageType: ''
    returnType: size_t
    signature: c_size(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_wrap
      Src: /src/haproxy/include/haproxy/channel.h:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: c_wrap
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - b_wrap
    linkageType: ''
    returnType: char
    signature: '*c_wrap(const struct channel *c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/channel.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: c_data
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 9
    functionsReached:
    - b_data
    linkageType: ''
    returnType: size_t
    signature: c_data(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_size
      Src: /src/haproxy/include/haproxy/channel.h:113,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/channel.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: c_room
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 3
    functionsReached:
    - b_data
    - b_size
    linkageType: ''
    returnType: size_t
    signature: c_room(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_data
      Src: /src/haproxy/include/haproxy/channel.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: c_empty
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 5
    functionsReached:
    - c_data
    linkageType: ''
    returnType: size_t
    signature: c_empty(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_room
      Src: /src/haproxy/include/haproxy/channel.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: c_full
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - c_room
    linkageType: ''
    returnType: size_t
    signature: c_full(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_IF_HOT
      Src: /src/haproxy/include/haproxy/channel.h:131,1
    - Dst: c_data
      Src: /src/haproxy/include/haproxy/channel.h:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: co_data
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 63
    functionsReached:
    - c_data
    - CHECK_IF_HOT
    linkageType: ''
    returnType: size_t
    signature: co_data(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_data
      Src: /src/haproxy/include/haproxy/channel.h:138,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: ci_data
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 34
    functionsReached:
    - co_data
    - c_data
    linkageType: ''
    returnType: size_t
    signature: ci_data(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_next_ofs
      Src: /src/haproxy/include/haproxy/channel.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - o
    argTypes:
    - struct channel*
    - size_t
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: ci_next_ofs
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - b_next_ofs
    linkageType: ''
    returnType: size_t
    signature: ci_next_ofs(const struct channel *c, size_t o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_next
      Src: /src/haproxy/include/haproxy/channel.h:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - p
    argTypes:
    - struct channel*
    - char*
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: ci_next
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - b_next
    linkageType: ''
    returnType: char
    signature: '*ci_next(const struct channel *c, const char *p)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek
      Src: /src/haproxy/include/haproxy/channel.h:164,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - ofs
    argTypes:
    - struct channel*
    - ssize_t
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: c_ptr
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - co_data
    - b_peek
    linkageType: ''
    returnType: char
    signature: '*c_ptr(const struct channel *c, ssize_t ofs)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/channel.h:175,1
    - Dst: c_data
      Src: /src/haproxy/include/haproxy/channel.h:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - adv
    argTypes:
    - struct channel*
    - size_t
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: c_adv
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 16
    functionsReached:
    - BUG_ON_HOT
    - c_data
    linkageType: ''
    returnType: void
    signature: c_adv(struct channel *c, size_t adv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/channel.h:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - adv
    argTypes:
    - struct channel*
    - size_t
    constantsTouched: []
    func_position:
      end: 187
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 187
    functionName: c_rew
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 6
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: c_rew(struct channel *c, size_t adv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_realign_if_empty
      Src: /src/haproxy/include/haproxy/channel.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: c_realign_if_empty
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 4
    functionsReached:
    - b_realign_if_empty
    linkageType: ''
    returnType: void
    signature: c_realign_if_empty(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/channel.h:198,1
    - Dst: c_data
      Src: /src/haproxy/include/haproxy/channel.h:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - output
    argTypes:
    - struct channel*
    - size_t
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: co_set_data
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 2
    functionsReached:
    - BUG_ON_HOT
    - c_data
    linkageType: ''
    returnType: void
    signature: co_set_data(struct channel *c, size_t output)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_peek_ofs
      Src: /src/haproxy/include/haproxy/channel.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: __co_head_ofs
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - __b_peek_ofs
    linkageType: ''
    returnType: size_t
    signature: __co_head_ofs(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_peek
      Src: /src/haproxy/include/haproxy/channel.h:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: __co_head
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - __b_peek
    linkageType: ''
    returnType: char
    signature: '*__co_head(const struct channel *c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek_ofs
      Src: /src/haproxy/include/haproxy/channel.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: co_head_ofs
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - b_peek_ofs
    linkageType: ''
    returnType: size_t
    signature: co_head_ofs(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek
      Src: /src/haproxy/include/haproxy/channel.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: co_head
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 3
    functionsReached:
    - b_peek
    linkageType: ''
    returnType: char
    signature: '*co_head(const struct channel *c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_peek_ofs
      Src: /src/haproxy/include/haproxy/channel.h:231,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: __co_tail_ofs
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - __b_peek_ofs
    - co_data
    linkageType: ''
    returnType: size_t
    signature: __co_tail_ofs(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_peek
      Src: /src/haproxy/include/haproxy/channel.h:235,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: __co_tail
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - co_data
    - __b_peek
    linkageType: ''
    returnType: char
    signature: '*__co_tail(const struct channel *c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek_ofs
      Src: /src/haproxy/include/haproxy/channel.h:239,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: co_tail_ofs
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - co_data
    - b_peek_ofs
    linkageType: ''
    returnType: size_t
    signature: co_tail_ofs(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek
      Src: /src/haproxy/include/haproxy/channel.h:243,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: co_tail
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - co_data
    - b_peek
    linkageType: ''
    returnType: char
    signature: '*co_tail(const struct channel *c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_peek_ofs
      Src: /src/haproxy/include/haproxy/channel.h:253,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: __ci_head_ofs
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - __b_peek_ofs
    - co_data
    linkageType: ''
    returnType: size_t
    signature: __ci_head_ofs(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_peek
      Src: /src/haproxy/include/haproxy/channel.h:257,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: __ci_head
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - co_data
    - __b_peek
    linkageType: ''
    returnType: char
    signature: '*__ci_head(const struct channel *c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek_ofs
      Src: /src/haproxy/include/haproxy/channel.h:261,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: ci_head_ofs
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - co_data
    - b_peek_ofs
    linkageType: ''
    returnType: size_t
    signature: ci_head_ofs(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek
      Src: /src/haproxy/include/haproxy/channel.h:265,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 3
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: ci_head
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 13
    functionsReached:
    - co_data
    - b_peek
    linkageType: ''
    returnType: char
    signature: '*ci_head(const struct channel *c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_peek_ofs
      Src: /src/haproxy/include/haproxy/channel.h:275,1
    - Dst: c_data
      Src: /src/haproxy/include/haproxy/channel.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: __ci_tail_ofs
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - __b_peek_ofs
    - c_data
    linkageType: ''
    returnType: size_t
    signature: __ci_tail_ofs(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_peek
      Src: /src/haproxy/include/haproxy/channel.h:279,1
    - Dst: c_data
      Src: /src/haproxy/include/haproxy/channel.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: __ci_tail
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - __b_peek
    - c_data
    linkageType: ''
    returnType: char
    signature: '*__ci_tail(const struct channel *c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek_ofs
      Src: /src/haproxy/include/haproxy/channel.h:283,1
    - Dst: c_data
      Src: /src/haproxy/include/haproxy/channel.h:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: ci_tail_ofs
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - c_data
    - b_peek_ofs
    linkageType: ''
    returnType: size_t
    signature: ci_tail_ofs(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek
      Src: /src/haproxy/include/haproxy/channel.h:287,1
    - Dst: c_data
      Src: /src/haproxy/include/haproxy/channel.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: ci_tail
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 2
    functionsReached:
    - b_peek
    - c_data
    linkageType: ''
    returnType: char
    signature: '*ci_tail(const struct channel *c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_stop_ofs
      Src: /src/haproxy/include/haproxy/channel.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: __ci_stop_ofs
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - __b_stop_ofs
    linkageType: ''
    returnType: size_t
    signature: __ci_stop_ofs(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_stop
      Src: /src/haproxy/include/haproxy/channel.h:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: __ci_stop
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - __b_stop
    linkageType: ''
    returnType: char
    signature: '*__ci_stop(const struct channel *c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_stop_ofs
      Src: /src/haproxy/include/haproxy/channel.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: ci_stop_ofs
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - b_stop_ofs
    linkageType: ''
    returnType: size_t
    signature: ci_stop_ofs(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_stop
      Src: /src/haproxy/include/haproxy/channel.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: ci_stop
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - b_stop
    linkageType: ''
    returnType: char
    signature: '*ci_stop(const struct channel *c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_contig_data
      Src: /src/haproxy/include/haproxy/channel.h:316,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: ci_contig_data
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - b_contig_data
    - co_data
    linkageType: ''
    returnType: size_t
    signature: ci_contig_data(const struct channel *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 330
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 330
    functionName: channel_init
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: channel_init(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ci_data
      Src: /src/haproxy/include/haproxy/channel.h:349,1
    - Dst: c_adv
      Src: /src/haproxy/include/haproxy/channel.h:351,1
    - Dst: __channel_forward
      Src: /src/haproxy/include/haproxy/channel.h:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - chn
    - bytes
    argTypes:
    - struct channel*
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 356
      start: 340
    functionDepth: 4
    functionLinenumber: 340
    functionLinenumberEnd: 356
    functionName: channel_forward
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 3
    functionsReached:
    - c_adv
    - __channel_forward
    - ci_data
    linkageType: ''
    returnType: unsigned long long
    signature: channel_forward(struct channel *chn, unsigned long long bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_adv
      Src: /src/haproxy/include/haproxy/channel.h:361,1
    - Dst: ci_data
      Src: /src/haproxy/include/haproxy/channel.h:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 363
      start: 359
    functionDepth: 4
    functionLinenumber: 359
    functionLinenumberEnd: 363
    functionName: channel_forward_forever
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - c_adv
    - ci_data
    linkageType: ''
    returnType: void
    signature: channel_forward_forever(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_adv
      Src: /src/haproxy/include/haproxy/channel.h:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - chn
    - len
    argTypes:
    - struct channel*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 382
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 382
    functionName: channel_add_input
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 5
    functionsReached:
    - c_adv
    linkageType: ''
    returnType: void
    signature: channel_add_input(struct channel *chn, unsigned int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_set_data
      Src: /src/haproxy/include/haproxy/channel.h:389,1
    - Dst: channel_forward
      Src: /src/haproxy/include/haproxy/channel.h:390,1
    - Dst: b_set_data
      Src: /src/haproxy/include/haproxy/channel.h:391,1
    - Dst: b_size
      Src: /src/haproxy/include/haproxy/channel.h:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - chn
    - htx
    - bytes
    argTypes:
    - struct channel*
    - struct htx*
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 394
      start: 384
    functionDepth: 5
    functionLinenumber: 384
    functionLinenumberEnd: 394
    functionName: channel_htx_forward
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - channel_forward
    - b_set_data
    - b_size
    linkageType: ''
    returnType: unsigned long long
    signature: channel_htx_forward(struct channel *chn, struct htx *htx, unsigned
      long long bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_adv
      Src: /src/haproxy/include/haproxy/channel.h:399,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - chn
    - htx
    argTypes:
    - struct channel*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: channel_htx_forward_forever
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 3
    functionsReached:
    - c_adv
    - co_data
    linkageType: ''
    returnType: void
    signature: channel_htx_forward_forever(struct channel *chn, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/channel.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 418
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 418
    functionName: channel_is_rewritable
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - b_data
    linkageType: ''
    returnType: int
    signature: channel_is_rewritable(const struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chn_cons
      Src: /src/haproxy/include/haproxy/channel.h:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: channel_may_send
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - chn_cons
    linkageType: ''
    returnType: int
    signature: channel_may_send(const struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_free_data_space
      Src: /src/haproxy/include/haproxy/channel.h:438,1
    - Dst: channel_may_send
      Src: /src/haproxy/include/haproxy/channel.h:445,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:455,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - chn
    - htx
    argTypes:
    - struct channel*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 460
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 460
    functionName: channel_htx_may_recv
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - co_data
    - channel_may_send
    - htx_free_data_space
    linkageType: ''
    returnType: int
    signature: channel_htx_may_recv(const struct channel *chn, const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/include/haproxy/channel.h:477,1
    - Dst: chn_strm
      Src: /src/haproxy/include/haproxy/channel.h:477,1
    - Dst: channel_htx_may_recv
      Src: /src/haproxy/include/haproxy/channel.h:478,1
    - Dst: htxbuf
      Src: /src/haproxy/include/haproxy/channel.h:478,1
    - Dst: b_is_null
      Src: /src/haproxy/include/haproxy/channel.h:480,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/channel.h:483,1
    - Dst: channel_may_send
      Src: /src/haproxy/include/haproxy/channel.h:490,1
    - Dst: ci_data
      Src: /src/haproxy/include/haproxy/channel.h:500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 502
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 502
    functionName: channel_may_recv
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 11
    functionsReached:
    - chn_strm
    - channel_htx_may_recv
    - htxbuf
    - IS_HTX_STRM
    - b_data
    - ci_data
    - b_is_null
    - channel_may_send
    linkageType: ''
    returnType: int
    signature: channel_may_recv(const struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chn_prod
      Src: /src/haproxy/include/haproxy/channel.h:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: channel_input_closed
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 13
    functionsReached:
    - chn_prod
    linkageType: ''
    returnType: int
    signature: channel_input_closed(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chn_cons
      Src: /src/haproxy/include/haproxy/channel.h:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 514
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 514
    functionName: channel_output_closed
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 7
    functionsReached:
    - chn_cons
    linkageType: ''
    returnType: int
    signature: channel_output_closed(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/include/haproxy/channel.h:519,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/channel.h:519,1
    - Dst: tick_is_expired
      Src: /src/haproxy/include/haproxy/channel.h:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: channel_check_timeout
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - unlikely
    - likely
    - tick_is_expired
    linkageType: ''
    returnType: void
    signature: channel_check_timeout(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_reset
      Src: /src/haproxy/include/haproxy/channel.h:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 533
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 533
    functionName: channel_erase
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 5
    functionsReached:
    - b_reset
    linkageType: ''
    returnType: void
    signature: channel_erase(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_reset
      Src: /src/haproxy/include/haproxy/channel.h:537,1
    - Dst: channel_erase
      Src: /src/haproxy/include/haproxy/channel.h:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - chn
    - htx
    argTypes:
    - struct channel*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: channel_htx_erase
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 5
    functionsReached:
    - htx_reset
    - channel_erase
    linkageType: ''
    returnType: void
    signature: channel_htx_erase(struct channel *chn, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chn_prod
      Src: /src/haproxy/include/haproxy/channel.h:545,1
    - Dst: chn_cons
      Src: /src/haproxy/include/haproxy/channel.h:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 549
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 549
    functionName: channel_abort
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 7
    functionsReached:
    - chn_cons
    - chn_prod
    linkageType: ''
    returnType: void
    signature: channel_abort(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 555
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 555
    functionName: channel_auto_connect
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: channel_auto_connect(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 563
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 563
    functionName: channel_dont_connect
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: channel_dont_connect(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: channel_auto_close
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: channel_auto_close(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 575
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 575
    functionName: channel_dont_close
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: channel_dont_close(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 581
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 581
    functionName: channel_auto_read
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: channel_auto_read(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: channel_dont_read
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: channel_dont_read(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_is_null
      Src: /src/haproxy/include/haproxy/channel.h:662,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/channel.h:667,1
    - Dst: channel_may_send
      Src: /src/haproxy/include/haproxy/channel.h:667,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:679,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 686
      start: 655
    functionDepth: 3
    functionLinenumber: 655
    functionLinenumberEnd: 686
    functionName: channel_recv_limit
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 4
    functionsReached:
    - b_is_null
    - unlikely
    - channel_may_send
    - co_data
    linkageType: ''
    returnType: int
    signature: channel_recv_limit(const struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/channel.h:703,1
    - Dst: channel_may_send
      Src: /src/haproxy/include/haproxy/channel.h:703,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:715,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - chn
    - htx
    argTypes:
    - struct channel*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 722
      start: 692
    functionDepth: 3
    functionLinenumber: 692
    functionLinenumberEnd: 722
    functionName: channel_htx_recv_limit
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - co_data
    - unlikely
    - channel_may_send
    linkageType: ''
    returnType: int
    signature: channel_htx_recv_limit(const struct channel *chn, const struct htx
      *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_free_data_space
      Src: /src/haproxy/include/haproxy/channel.h:734,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - c
    - htx
    - reserve
    argTypes:
    - struct channel*
    - struct htx*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 735
      start: 729
    functionDepth: 3
    functionLinenumber: 729
    functionLinenumberEnd: 735
    functionName: channel_htx_full
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - co_data
    - htx_free_data_space
    linkageType: ''
    returnType: int
    signature: "channel_htx_full(const struct channel *c, const struct htx *htx,\n\t\t\t\t
      \  unsigned int reserve)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_is_null
      Src: /src/haproxy/include/haproxy/channel.h:748,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/include/haproxy/channel.h:751,1
    - Dst: chn_strm
      Src: /src/haproxy/include/haproxy/channel.h:751,1
    - Dst: channel_htx_full
      Src: /src/haproxy/include/haproxy/channel.h:752,1
    - Dst: htxbuf
      Src: /src/haproxy/include/haproxy/channel.h:752,1
    - Dst: ci_data
      Src: /src/haproxy/include/haproxy/channel.h:754,1
    - Dst: c_size
      Src: /src/haproxy/include/haproxy/channel.h:754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - c
    - reserve
    argTypes:
    - struct channel*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 755
      start: 746
    functionDepth: 4
    functionLinenumber: 746
    functionLinenumberEnd: 755
    functionName: channel_full
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 8
    functionsReached:
    - chn_strm
    - channel_htx_full
    - c_size
    - htxbuf
    - IS_HTX_STRM
    - ci_data
    - b_is_null
    linkageType: ''
    returnType: int
    signature: channel_full(const struct channel *c, unsigned int reserve)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: channel_htx_recv_limit
      Src: /src/haproxy/include/haproxy/channel.h:762,1
    - Dst: htx_used_space
      Src: /src/haproxy/include/haproxy/channel.h:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - chn
    - htx
    argTypes:
    - struct channel*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 766
      start: 758
    functionDepth: 4
    functionLinenumber: 758
    functionLinenumberEnd: 766
    functionName: channel_htx_recv_max
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - htx_used_space
    - channel_htx_recv_limit
    linkageType: ''
    returnType: int
    signature: channel_htx_recv_max(const struct channel *chn, const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/include/haproxy/channel.h:777,1
    - Dst: chn_strm
      Src: /src/haproxy/include/haproxy/channel.h:777,1
    - Dst: channel_htx_recv_max
      Src: /src/haproxy/include/haproxy/channel.h:778,1
    - Dst: htxbuf
      Src: /src/haproxy/include/haproxy/channel.h:778,1
    - Dst: channel_recv_limit
      Src: /src/haproxy/include/haproxy/channel.h:780,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/channel.h:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 784
      start: 773
    functionDepth: 5
    functionLinenumber: 773
    functionLinenumberEnd: 784
    functionName: channel_recv_max
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 10
    functionsReached:
    - chn_strm
    - htxbuf
    - IS_HTX_STRM
    - b_data
    - channel_recv_limit
    - channel_htx_recv_max
    linkageType: ''
    returnType: int
    signature: channel_recv_max(const struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/include/haproxy/channel.h:794,1
    - Dst: chn_strm
      Src: /src/haproxy/include/haproxy/channel.h:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 797
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 797
    functionName: channel_data_limit
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - chn_strm
    - IS_HTX_STRM
    linkageType: ''
    returnType: size_t
    signature: channel_data_limit(const struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/include/haproxy/channel.h:805,1
    - Dst: chn_strm
      Src: /src/haproxy/include/haproxy/channel.h:805,1
    - Dst: htx_used_space
      Src: /src/haproxy/include/haproxy/channel.h:805,1
    - Dst: htxbuf
      Src: /src/haproxy/include/haproxy/channel.h:805,1
    - Dst: c_data
      Src: /src/haproxy/include/haproxy/channel.h:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 806
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 806
    functionName: channel_data
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 2
    functionsReached:
    - htx_used_space
    - chn_strm
    - htxbuf
    - IS_HTX_STRM
    - c_data
    linkageType: ''
    returnType: size_t
    signature: channel_data(const struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: channel_data
      Src: /src/haproxy/include/haproxy/channel.h:813,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 814
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 814
    functionName: channel_input_data
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - channel_data
    - co_data
    linkageType: ''
    returnType: size_t
    signature: channel_input_data(const struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/include/haproxy/channel.h:819,1
    - Dst: htx_is_empty
      Src: /src/haproxy/include/haproxy/channel.h:819,1
    - Dst: htxbuf
      Src: /src/haproxy/include/haproxy/channel.h:819,1
    - Dst: c_empty
      Src: /src/haproxy/include/haproxy/channel.h:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 820
      start: 817
    functionDepth: 3
    functionLinenumber: 817
    functionLinenumberEnd: 820
    functionName: channel_empty
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - c_empty
    - htxbuf
    - IS_HTX_STRM
    - htx_is_empty
    linkageType: ''
    returnType: size_t
    signature: channel_empty(const struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:827,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 838
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 838
    functionName: channel_check_idletimer
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 3
    functionsReached:
    - co_data
    linkageType: ''
    returnType: void
    signature: channel_check_idletimer(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_size
      Src: /src/haproxy/include/haproxy/channel.h:850,1
    - Dst: channel_data_limit
      Src: /src/haproxy/include/haproxy/channel.h:868,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - chn
    - xferred
    argTypes:
    - struct channel*
    - size_t
    constantsTouched: []
    func_position:
      end: 884
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 884
    functionName: channel_check_xfer
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 3
    functionsReached:
    - channel_data_limit
    - c_size
    linkageType: ''
    returnType: void
    signature: channel_check_xfer(struct channel *chn, size_t xferred)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_head
      Src: /src/haproxy/include/haproxy/channel.h:897,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/channel.h:897,1
    - Dst: b_wrap
      Src: /src/haproxy/include/haproxy/channel.h:897,1
    - Dst: b_head
      Src: /src/haproxy/include/haproxy/channel.h:903,1
    - Dst: ci_head
      Src: /src/haproxy/include/haproxy/channel.h:904,1
    - Dst: b_wrap
      Src: /src/haproxy/include/haproxy/channel.h:905,1
    - Dst: ci_tail
      Src: /src/haproxy/include/haproxy/channel.h:908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 909
      start: 891
    functionDepth: 4
    functionLinenumber: 891
    functionLinenumberEnd: 909
    functionName: ci_space_for_replace
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - ci_tail
    - b_wrap
    - ci_head
    - b_head
    - b_data
    linkageType: ''
    returnType: int
    signature: ci_space_for_replace(const struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chn_prod
      Src: /src/haproxy/include/haproxy/channel.h:924,1
    - Dst: b_alloc
      Src: /src/haproxy/include/haproxy/channel.h:926,1
    - Dst: b_requeue
      Src: /src/haproxy/include/haproxy/channel.h:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - chn
    - wait
    argTypes:
    - struct channel*
    - struct buffer_wait*
    constantsTouched: []
    func_position:
      end: 931
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 931
    functionName: channel_alloc_buffer
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - b_requeue
    - chn_prod
    - b_alloc
    linkageType: ''
    returnType: int
    signature: channel_alloc_buffer(struct channel *chn, struct buffer_wait *wait)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: c_size
      Src: /src/haproxy/include/haproxy/channel.h:938,1
    - Dst: c_empty
      Src: /src/haproxy/include/haproxy/channel.h:938,1
    - Dst: b_free
      Src: /src/haproxy/include/haproxy/channel.h:939,1
    - Dst: offer_buffers
      Src: /src/haproxy/include/haproxy/channel.h:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - chn
    - wait
    argTypes:
    - struct channel*
    - struct buffer_wait*
    constantsTouched: []
    func_position:
      end: 942
      start: 936
    functionDepth: 3
    functionLinenumber: 936
    functionLinenumberEnd: 942
    functionName: channel_release_buffer
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - c_empty
    - offer_buffers
    - b_free
    - c_size
    linkageType: ''
    returnType: void
    signature: channel_release_buffer(struct channel *chn, struct buffer_wait *wait)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:950,1
    - Dst: channel_erase
      Src: /src/haproxy/include/haproxy/channel.h:951,1
    - Dst: ci_data
      Src: /src/haproxy/include/haproxy/channel.h:954,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 958
      start: 948
    functionDepth: 4
    functionLinenumber: 948
    functionLinenumberEnd: 958
    functionName: channel_truncate
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - co_data
    - channel_erase
    - ci_data
    linkageType: ''
    returnType: void
    signature: channel_truncate(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:962,1
    - Dst: channel_htx_erase
      Src: /src/haproxy/include/haproxy/channel.h:963,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:966,1
    - Dst: htx_truncate
      Src: /src/haproxy/include/haproxy/channel.h:968,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:968,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - chn
    - htx
    argTypes:
    - struct channel*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 969
      start: 960
    functionDepth: 3
    functionLinenumber: 960
    functionLinenumberEnd: 969
    functionName: channel_htx_truncate
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 9
    functionsReached:
    - co_data
    - channel_htx_erase
    - htx_truncate
    linkageType: ''
    returnType: void
    signature: channel_htx_truncate(struct channel *chn, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_slow_realign
      Src: /src/haproxy/include/haproxy/channel.h:979,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chn
    - swap
    argTypes:
    - struct channel*
    - char*
    constantsTouched: []
    func_position:
      end: 980
      start: 977
    functionDepth: 3
    functionLinenumber: 977
    functionLinenumberEnd: 980
    functionName: channel_slow_realign
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - b_slow_realign
    - co_data
    linkageType: ''
    returnType: void
    signature: channel_slow_realign(struct channel *chn, char *swap)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_first
      Src: /src/haproxy/include/haproxy/channel.h:992,1
    - Dst: htx_get_next
      Src: /src/haproxy/include/haproxy/channel.h:992,1
    - Dst: htx_get_blk
      Src: /src/haproxy/include/haproxy/channel.h:993,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/include/haproxy/channel.h:994,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/include/haproxy/channel.h:995,1
    - Dst: htx_get_next
      Src: /src/haproxy/include/haproxy/channel.h:996,1
    - Dst: c_adv
      Src: /src/haproxy/include/haproxy/channel.h:1000,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - chn
    - htx
    argTypes:
    - struct channel*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1002
      start: 987
    functionDepth: 3
    functionLinenumber: 987
    functionLinenumberEnd: 1002
    functionName: channel_htx_fwd_headers
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - htx_get_blksz
    - htx_get_blk
    - htx_get_blk_type
    - c_adv
    - htx_get_next
    - htx_get_first
    linkageType: ''
    returnType: int32_t
    signature: channel_htx_fwd_headers(struct channel *chn, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/channel.h:1013,1
    - Dst: b_del
      Src: /src/haproxy/include/haproxy/channel.h:1014,1
    - Dst: c_realign_if_empty
      Src: /src/haproxy/include/haproxy/channel.h:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - chn
    - len
    argTypes:
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 1017
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1017
    functionName: co_skip
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 11
    functionsReached:
    - b_del
    - c_realign_if_empty
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: co_skip(struct channel *chn, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_drain
      Src: /src/haproxy/include/haproxy/channel.h:1027,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/channel.h:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - chn
    - htx
    - len
    argTypes:
    - struct channel*
    - struct htx*
    - int
    constantsTouched: []
    func_position:
      end: 1032
      start: 1023
    functionDepth: 3
    functionLinenumber: 1023
    functionLinenumberEnd: 1032
    functionName: co_htx_skip
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 2
    functionsReached:
    - BUG_ON_HOT
    - htx_drain
    linkageType: ''
    returnType: void
    signature: co_htx_skip(struct channel *chn, struct htx *htx, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ci_putblk
      Src: /src/haproxy/include/haproxy/channel.h:1046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - chn
    - chunk
    argTypes:
    - struct channel*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1050
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1050
    functionName: ci_putchk
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - ci_putblk
    linkageType: ''
    returnType: int
    signature: ci_putchk(struct channel *chn, struct buffer *chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ci_putblk
      Src: /src/haproxy/include/haproxy/channel.h:1062,1
    - Dst: strlen
      Src: /src/haproxy/include/haproxy/channel.h:1062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chn
    - str
    argTypes:
    - struct channel*
    - char*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1063
    functionName: ci_putstr
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 1
    functionsReached:
    - strlen
    - ci_putblk
    linkageType: ''
    returnType: int
    signature: ci_putstr(struct channel *chn, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/channel.h:1075,1
    - Dst: chn_cons
      Src: /src/haproxy/include/haproxy/channel.h:1075,1
    - Dst: co_data
      Src: /src/haproxy/include/haproxy/channel.h:1075,1
    - Dst: chn_cons
      Src: /src/haproxy/include/haproxy/channel.h:1076,1
    - Dst: co_head
      Src: /src/haproxy/include/haproxy/channel.h:1080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 1081
      start: 1072
    functionDepth: 3
    functionLinenumber: 1072
    functionLinenumberEnd: 1081
    functionName: co_getchr
    functionSourceFile: /src/haproxy/include/haproxy/channel.h
    functionUses: 0
    functionsReached:
    - co_head
    - chn_cons
    - unlikely
    - co_data
    linkageType: ''
    returnType: int
    signature: co_getchr(struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:73,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:75,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:75,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:76,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:76,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:76,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:77,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:77,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:77,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:78,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:78,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:78,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:79,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:79,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:79,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:80,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:80,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:80,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 85
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 85
    functionName: fconn_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/mux_fcgi-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*fconn_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:114,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:116,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:116,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:116,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:116,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:117,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:117,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:118,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:118,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:118,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:119,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:119,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_fcgi-t.h:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: fstrm_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/mux_fcgi-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*fstrm_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - st
    argTypes:
    - enum fcgi_conn_st
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: fconn_st_to_str
    functionSourceFile: /src/haproxy/include/haproxy/mux_fcgi-t.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*fconn_st_to_str(enum fcgi_conn_st st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - st
    argTypes:
    - enum fcgi_strm_st
    constantsTouched: []
    func_position:
      end: 175
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 175
    functionName: fstrm_st_to_str
    functionSourceFile: /src/haproxy/include/haproxy/mux_fcgi-t.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*fstrm_st_to_str(enum fcgi_strm_st st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/include/haproxy/server.h:184,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/include/haproxy/server.h:185,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/include/haproxy/server.h:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: srv_inc_sess_ctr
    functionSourceFile: /src/haproxy/include/haproxy/server.h
    functionUses: 3
    functionsReached:
    - update_freq_ctr
    - _HA_ATOMIC_INC
    - HA_ATOMIC_UPDATE_MAX
    linkageType: ''
    returnType: void
    signature: srv_inc_sess_ctr(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ns_to_sec
      Src: /src/haproxy/include/haproxy/server.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: srv_set_sess_last
    functionSourceFile: /src/haproxy/include/haproxy/server.h
    functionUses: 3
    functionsReached:
    - ns_to_sec
    linkageType: ''
    returnType: void
    signature: srv_set_sess_last(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: server_throttle_rate
    functionSourceFile: /src/haproxy/include/haproxy/server.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: server_throttle_rate(struct server *sv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: server_is_draining
    functionSourceFile: /src/haproxy/include/haproxy/server.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: server_is_draining(const struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_set_admin_flag
      Src: /src/haproxy/include/haproxy/server.h:223,1
    - Dst: srv_clr_admin_flag
      Src: /src/haproxy/include/haproxy/server.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: srv_adm_set_maint
    functionSourceFile: /src/haproxy/include/haproxy/server.h
    functionUses: 6
    functionsReached:
    - srv_clr_admin_flag
    - srv_set_admin_flag
    linkageType: ''
    returnType: void
    signature: srv_adm_set_maint(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_set_admin_flag
      Src: /src/haproxy/include/haproxy/server.h:232,1
    - Dst: srv_clr_admin_flag
      Src: /src/haproxy/include/haproxy/server.h:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: srv_adm_set_drain
    functionSourceFile: /src/haproxy/include/haproxy/server.h
    functionUses: 5
    functionsReached:
    - srv_clr_admin_flag
    - srv_set_admin_flag
    linkageType: ''
    returnType: void
    signature: srv_adm_set_drain(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_clr_admin_flag
      Src: /src/haproxy/include/haproxy/server.h:241,1
    - Dst: srv_clr_admin_flag
      Src: /src/haproxy/include/haproxy/server.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 243
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 243
    functionName: srv_adm_set_ready
    functionSourceFile: /src/haproxy/include/haproxy/server.h
    functionUses: 6
    functionsReached:
    - srv_clr_admin_flag
    linkageType: ''
    returnType: void
    signature: srv_adm_set_ready(struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - list
    - addr
    argTypes:
    - unsigned int*
    - enum srv_initaddr
    constantsTouched: []
    func_position:
      end: 258
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 258
    functionName: srv_append_initaddr
    functionSourceFile: /src/haproxy/include/haproxy/server.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: srv_append_initaddr(unsigned int *list, enum srv_initaddr addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: srv_get_next_initaddr
    functionSourceFile: /src/haproxy/include/haproxy/server.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum srv_initaddr
    signature: srv_get_next_initaddr(unsigned int *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_ADD_FETCH
      Src: /src/haproxy/include/haproxy/server.h:277,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/server.h:283,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/server.h:285,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/server.h:287,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/server.h:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - srv
    - conn
    argTypes:
    - struct server*
    - struct connection*
    constantsTouched: []
    func_position:
      end: 290
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 290
    functionName: srv_use_conn
    functionSourceFile: /src/haproxy/include/haproxy/server.h
    functionUses: 3
    functionsReached:
    - _HA_ATOMIC_ADD_FETCH
    - HA_ATOMIC_STORE
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: void
    signature: srv_use_conn(struct server *srv, struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: srv_minmax_conn_apply
    functionSourceFile: /src/haproxy/include/haproxy/server.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: srv_minmax_conn_apply(struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_addr
      Src: /src/haproxy/include/haproxy/server.h:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - srv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: srv_is_transparent
    functionSourceFile: /src/haproxy/include/haproxy/server.h
    functionUses: 1
    functionsReached:
    - is_addr
    linkageType: ''
    returnType: int
    signature: srv_is_transparent(const struct server *srv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/include/haproxy/cli.h:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - appctx
    - severity
    - msg
    argTypes:
    - struct appctx*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: cli_msg
    functionSourceFile: /src/haproxy/include/haproxy/cli.h
    functionUses: 23
    functionsReached:
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_msg(struct appctx *appctx, int severity, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/include/haproxy/cli.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - appctx
    - err
    argTypes:
    - struct appctx*
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: cli_err
    functionSourceFile: /src/haproxy/include/haproxy/cli.h
    functionUses: 106
    functionsReached:
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_err(struct appctx *appctx, const char *err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/include/haproxy/cli.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - appctx
    - severity
    - msg
    argTypes:
    - struct appctx*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: cli_dynmsg
    functionSourceFile: /src/haproxy/include/haproxy/cli.h
    functionUses: 23
    functionsReached:
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_dynmsg(struct appctx *appctx, int severity, char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/include/haproxy/cli.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - appctx
    - err
    argTypes:
    - struct appctx*
    - char*
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: cli_dynerr
    functionSourceFile: /src/haproxy/include/haproxy/cli.h
    functionUses: 27
    functionsReached:
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_dynerr(struct appctx *appctx, char *err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/include/haproxy/cli.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - appctx
    - severity
    argTypes:
    - struct appctx*
    - int
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: cli_umsg
    functionSourceFile: /src/haproxy/include/haproxy/cli.h
    functionUses: 1
    functionsReached:
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: cli_umsg(struct appctx *appctx, int severity)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: cli_umsgerr
    functionSourceFile: /src/haproxy/include/haproxy/cli.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: cli_umsgerr(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bitfield
    - bit_index
    argTypes:
    - unsigned long long*
    - int
    constantsTouched: []
    func_position:
      end: 175
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 175
    functionName: cert_ignerr_bitfield_get
    functionSourceFile: /src/haproxy/include/haproxy/ssl_sock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: cert_ignerr_bitfield_get(const unsigned long long *bitfield, int bit_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - bitfield
    - bit_index
    argTypes:
    - unsigned long long*
    - int
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: cert_ignerr_bitfield_set
    functionSourceFile: /src/haproxy/include/haproxy/ssl_sock.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: cert_ignerr_bitfield_set(unsigned long long *bitfield, int bit_index)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/include/haproxy/ssl_sock.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitfield
    argTypes:
    - unsigned long long*
    constantsTouched: []
    func_position:
      end: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: cert_ignerr_bitfield_set_all
    functionSourceFile: /src/haproxy/include/haproxy/ssl_sock.h
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: cert_ignerr_bitfield_set_all(unsigned long long *bitfield)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - maxlen
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: strnlen2
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: strnlen2(const char *s, size_t maxlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ultoa_r
      Src: /src/haproxy/include/haproxy/tools.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: ultoa
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 4
    functionsReached:
    - ultoa_r
    linkageType: ''
    returnType: char
    signature: '*ultoa(unsigned long n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: drop_file_name
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: drop_file_name(const char **name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: U2A
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*U2A(unsigned long n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: U2H
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*U2H(unsigned long long n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: F2A
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*F2A(double n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: F2H
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*F2H(double n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - n
    - alt
    argTypes:
    - unsigned long
    - char*
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: LIM2A
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*LIM2A(unsigned long n, const char *alt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: qstr
      Src: /src/haproxy/include/haproxy/tools.h:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 267
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 267
    functionName: cstr
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 0
    functionsReached:
    - qstr
    linkageType: ''
    returnType: char
    signature: '*cstr(const char *str)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/haproxy/include/haproxy/tools.h:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: is_idchar
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 4
    functionsReached:
    - isalnum
    linkageType: ''
    returnType: int
    signature: is_idchar(char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: str2ip2
      Src: /src/haproxy/include/haproxy/tools.h:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - sa
    argTypes:
    - char*
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: str2ip
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 2
    functionsReached:
    - str2ip2
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: '*str2ip(const char *str, struct sockaddr_storage *sa)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_reset
      Src: /src/haproxy/include/haproxy/tools.h:530,1
    - Dst: csv_enc_append
      Src: /src/haproxy/include/haproxy/tools.h:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - str
    - quote
    - oneline
    - output
    argTypes:
    - char*
    - int
    - int
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: csv_enc
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 0
    functionsReached:
    - csv_enc_append
    - chunk_reset
    linkageType: ''
    returnType: char
    signature: "*csv_enc(const char *str, int quote, int oneline,\n\t\t\t\t  struct
      buffer *output)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 567
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 567
    functionName: cut_crlf
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*cut_crlf(char *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 576
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 576
    functionName: ltrim
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*ltrim(char *s, char c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 589
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 589
    functionName: rtrim
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*rtrim(char *s, char c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rtrim
      Src: /src/haproxy/include/haproxy/tools.h:593,1
    - Dst: ltrim
      Src: /src/haproxy/include/haproxy/tools.h:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - c
    argTypes:
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 596
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 596
    functionName: alltrim
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 0
    functionsReached:
    - rtrim
    - ltrim
    linkageType: ''
    returnType: char
    signature: '*alltrim(char *s, char c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/haproxy/include/haproxy/tools.h:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - now
    - tm
    argTypes:
    - time_t
    - struct tm*
    constantsTouched: []
    func_position:
      end: 606
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 606
    functionName: get_localtime
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 12
    functionsReached:
    - localtime_r
    linkageType: ''
    returnType: void
    signature: get_localtime(const time_t now, struct tm *tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gmtime_r
      Src: /src/haproxy/include/haproxy/tools.h:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - now
    - tm
    argTypes:
    - time_t
    - struct tm*
    constantsTouched: []
    func_position:
      end: 616
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 616
    functionName: get_gmtime
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 6
    functionsReached:
    - gmtime_r
    linkageType: ''
    returnType: void
    signature: get_gmtime(const time_t now, struct tm *tm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - y
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 631
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 631
    functionName: days_since_zero
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: days_since_zero(unsigned int y)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: clear_addr
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: clear_addr(struct sockaddr_storage *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 758
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 758
    functionName: is_inet_addr
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: is_inet_addr(const struct sockaddr_storage *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_inet_addr
      Src: /src/haproxy/include/haproxy/tools.h:772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 773
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 773
    functionName: is_addr
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 9
    functionsReached:
    - is_inet_addr
    linkageType: ''
    returnType: int
    signature: is_addr(const struct sockaddr_storage *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 785
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 785
    functionName: get_net_port
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: get_net_port(const struct sockaddr_storage *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/haproxy/include/haproxy/tools.h:792,1
    - Dst: ntohs
      Src: /src/haproxy/include/haproxy/tools.h:794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 797
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 797
    functionName: get_host_port
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 31
    functionsReached:
    - ntohs
    linkageType: ''
    returnType: int
    signature: get_host_port(const struct sockaddr_storage *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strnlen2
      Src: /src/haproxy/include/haproxy/tools.h:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct sockaddr_storage*
    constantsTouched: []
    func_position:
      end: 820
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 820
    functionName: get_addr_len
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 17
    functionsReached:
    - strnlen2
    linkageType: ''
    returnType: int
    signature: get_addr_len(const struct sockaddr_storage *addr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - struct sockaddr_storage*
    - int
    constantsTouched: []
    func_position:
      end: 834
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 834
    functionName: set_net_port
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: set_net_port(struct sockaddr_storage *addr, int port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/haproxy/include/haproxy/tools.h:841,1
    - Dst: htons
      Src: /src/haproxy/include/haproxy/tools.h:844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - struct sockaddr_storage*
    - int
    constantsTouched: []
    func_position:
      end: 848
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 848
    functionName: set_host_port
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 14
    functionsReached:
    - htons
    linkageType: ''
    returnType: int
    signature: set_host_port(struct sockaddr_storage *addr, int port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/tools.h:856,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/tools.h:859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - addr
    - proto
    argTypes:
    - struct sockaddr_storage*
    - enum ha_proto
    constantsTouched: []
    func_position:
      end: 863
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 863
    functionName: port_is_restricted
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 2
    functionsReached:
    - unlikely
    - BUG_ON_HOT
    linkageType: ''
    returnType: int
    signature: "port_is_restricted(const struct sockaddr_storage *addr,\n                                     enum
      ha_proto proto)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - chunks
    - ptr
    argTypes:
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 1090
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1090
    functionName: fix_pointer_if_wrap
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fix_pointer_if_wrap(const char **chunks, const char **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1097
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1097
    functionName: utf8_return_code
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: utf8_return_code(unsigned int code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 1102
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1102
    functionName: utf8_return_length
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: utf8_return_length(unsigned char code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1113
    functionName: rdtsc
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: unsigned long long
    signature: rdtsc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/haproxy/include/haproxy/tools.h:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1120
    functionName: rdtsc
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 11
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: unsigned long long
    signature: rdtsc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/haproxy/include/haproxy/tools.h:1153,1
    - Dst: __builtin_frame_address
      Src: /src/haproxy/include/haproxy/tools.h:1161,1
    - Dst: may_access
      Src: /src/haproxy/include/haproxy/tools.h:1162,1
    - Dst: may_access
      Src: /src/haproxy/include/haproxy/tools.h:1162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - buffer
    - max
    argTypes:
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 1168
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1168
    functionName: my_backtrace
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 2
    functionsReached:
    - backtrace
    - __builtin_frame_address
    - may_access
    linkageType: ''
    returnType: forceinline
    signature: my_backtrace(void **buffer, int max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/haproxy/include/haproxy/tools.h:1175,1
    - Dst: free
      Src: /src/haproxy/include/haproxy/tools.h:1177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1179
      start: 1171
    functionDepth: 3
    functionLinenumber: 1171
    functionLinenumberEnd: 1179
    functionName: my_realloc2
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 9
    functionsReached:
    - free
    - realloc
    linkageType: ''
    returnType: void
    signature: '*my_realloc2(void *ptr, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_random64
      Src: /src/haproxy/include/haproxy/tools.h:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1190
    functionDepth: 2
    functionLinenumber: 1190
    functionLinenumberEnd: 1193
    functionName: ha_random32
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 3
    functionsReached:
    - ha_random64
    linkageType: ''
    returnType: uint32_t
    signature: ha_random32()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_random32
      Src: /src/haproxy/include/haproxy/tools.h:1197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1195
    functionDepth: 3
    functionLinenumber: 1195
    functionLinenumberEnd: 1198
    functionName: ha_random
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 6
    functionsReached:
    - ha_random32
    linkageType: ''
    returnType: int32_t
    signature: ha_random()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1213
    functionName: statistical_prng
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: statistical_prng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mul32hi
      Src: /src/haproxy/include/haproxy/tools.h:1220,1
    - Dst: statistical_prng
      Src: /src/haproxy/include/haproxy/tools.h:1220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - range
    argTypes:
    - uint
    constantsTouched: []
    func_position:
      end: 1221
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1221
    functionName: statistical_prng_range
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 17
    functionsReached:
    - statistical_prng
    - mul32hi
    linkageType: ''
    returnType: uint
    signature: statistical_prng_range(uint range)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - p
    - bits
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 1247
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1247
    functionName: ptr_hash
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: ptr_hash(const void *p, const int bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - p1
    - p2
    - bits
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 1268
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1268
    functionName: ptr2_hash
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: ptr2_hash(const void *p1, const void *p2, const int bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/haproxy/include/haproxy/tools.h:1285,1
    - Dst: tolower
      Src: /src/haproxy/include/haproxy/tools.h:1293,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - fp
    - prev
    - curr
    argTypes:
    - uint8_t*
    - char
    - char
    constantsTouched: []
    func_position:
      end: 1300
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1300
    functionName: update_char_fingerprint
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: void
    signature: update_char_fingerprint(uint8_t *fp, char prev, char curr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strspn
      Src: /src/haproxy/include/haproxy/tools.h:1312,1
    - Dst: strlen
      Src: /src/haproxy/include/haproxy/tools.h:1313,1
    - Dst: atol
      Src: /src/haproxy/include/haproxy/tools.h:1316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - text
    - min
    argTypes:
    - char*
    - long
    constantsTouched: []
    func_position:
      end: 1318
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1318
    functionName: warn_if_lower
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 6
    functionsReached:
    - strlen
    - atol
    - strspn
    linkageType: ''
    returnType: int
    signature: warn_if_lower(const char *text, long min)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1350,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1351,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1352,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1353,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1354,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1355,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1356,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1357,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1358,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1359,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1360,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1361,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1362,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1363,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1364,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1365,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1366,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1367,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1368,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1369,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1370,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1371,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1372,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1373,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1374,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1375,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1376,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1377,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1378,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1379,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1380,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1381,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1382,1
    - Dst: CASE_ERR
      Src: /src/haproxy/include/haproxy/tools.h:1383,1
    - Dst: memprintf
      Src: /src/haproxy/include/haproxy/tools.h:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 42
    argCount: 2
    argNames:
    - err_num
    - out
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1389
      start: 1343
    functionDepth: 5
    functionLinenumber: 1343
    functionLinenumberEnd: 1389
    functionName: errname
    functionSourceFile: /src/haproxy/include/haproxy/tools.h
    functionUses: 1
    functionsReached:
    - CASE_ERR
    - memprintf
    linkageType: ''
    returnType: char
    signature: '*errname(int err_num, char **out)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek
      Src: /src/haproxy/include/haproxy/istbuf.h:57,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/istbuf.h:61,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/istbuf.h:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - b
    - o
    - n
    - ist
    argTypes:
    - struct buffer*
    - size_t
    - size_t
    - struct ist
    constantsTouched: []
    func_position:
      end: 65
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 65
    functionName: b_isteq
    functionSourceFile: /src/haproxy/include/haproxy/istbuf.h
    functionUses: 2
    functionsReached:
    - b_peek
    - b_orig
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: b_isteq(const struct buffer *b, size_t o, size_t n, const struct ist
      ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek
      Src: /src/haproxy/include/haproxy/istbuf.h:77,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/istbuf.h:84,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/istbuf.h:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - b
    - o
    - n
    - ist
    argTypes:
    - struct buffer*
    - size_t
    - size_t
    - struct ist
    constantsTouched: []
    func_position:
      end: 88
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 88
    functionName: b_isteqi
    functionSourceFile: /src/haproxy/include/haproxy/istbuf.h
    functionUses: 0
    functionsReached:
    - b_peek
    - b_orig
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: b_isteqi(const struct buffer *b, size_t o, size_t n, const struct ist
      ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_del
      Src: /src/haproxy/include/haproxy/istbuf.h:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - ist
    argTypes:
    - struct buffer*
    - struct ist
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: b_isteat
    functionSourceFile: /src/haproxy/include/haproxy/istbuf.h
    functionUses: 0
    functionsReached:
    - b_del
    linkageType: ''
    returnType: ssize_t
    signature: b_isteat(struct buffer *b, const struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_room
      Src: /src/haproxy/include/haproxy/istbuf.h:120,1
    - Dst: b_tail
      Src: /src/haproxy/include/haproxy/istbuf.h:123,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/istbuf.h:127,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/istbuf.h:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - b
    - ist
    argTypes:
    - struct buffer*
    - struct ist
    constantsTouched: []
    func_position:
      end: 131
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 131
    functionName: b_istput
    functionSourceFile: /src/haproxy/include/haproxy/istbuf.h
    functionUses: 11
    functionsReached:
    - b_tail
    - b_room
    - b_orig
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: b_istput(struct buffer *b, const struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_putblk
      Src: /src/haproxy/include/haproxy/istbuf.h:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - ist
    argTypes:
    - struct buffer*
    - struct ist
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: b_putist
    functionSourceFile: /src/haproxy/include/haproxy/istbuf.h
    functionUses: 2
    functionsReached:
    - b_putblk
    linkageType: ''
    returnType: size_t
    signature: b_putist(struct buffer *b, const struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: ist2buf
    functionSourceFile: /src/haproxy/include/haproxy/istbuf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: struct buffer
    signature: ist2buf(const struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:126,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:128,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:128,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:128,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:128,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:129,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:129,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:129,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:129,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:130,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:130,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:130,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:130,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:131,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:131,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:131,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:131,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:132,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:132,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:132,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/fd-t.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 137
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 137
    functionName: fd_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/fd-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*fd_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ft
    argTypes:
    - enum h2_ft
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: h2_ft_bit
    functionSourceFile: /src/haproxy/include/haproxy/h2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: h2_ft_bit(enum h2_ft ft)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: h2_ft_str
    functionSourceFile: /src/haproxy/include/haproxy/h2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*h2_ft_str(int type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - err
    argTypes:
    - enum h2_err
    constantsTouched: []
    func_position:
      end: 263
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 263
    functionName: h2_err_str
    functionSourceFile: /src/haproxy/include/haproxy/h2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*h2_err_str(enum h2_err err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 5
    argNames:
    - ft
    - dir
    - id
    - len
    - mfs
    argTypes:
    - enum h2_ft
    - int
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 298
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 298
    functionName: h2_frame_check
    functionSourceFile: /src/haproxy/include/haproxy/h2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: h2_frame_check(enum h2_ft ft, int dir, int32_t id, int32_t len, int32_t
      mfs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/h2.h:306,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h2.h:306,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/h2.h:307,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h2.h:307,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/h2.h:308,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h2.h:308,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/h2.h:309,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h2.h:309,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/h2.h:310,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h2.h:310,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/h2.h:311,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h2.h:311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - str
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 319
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 319
    functionName: h2_str_to_phdr
    functionSourceFile: /src/haproxy/include/haproxy/h2.h
    functionUses: 2
    functionsReached:
    - isteq
    - ist
    linkageType: ''
    returnType: int
    signature: h2_str_to_phdr(const struct ist str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h2.h:327,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h2.h:328,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h2.h:329,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h2.h:330,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h2.h:331,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h2.h:332,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h2.h:333,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/h2.h:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - phdr
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 336
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 336
    functionName: h2_phdr_to_ist
    functionSourceFile: /src/haproxy/include/haproxy/h2.h
    functionUses: 1
    functionsReached:
    - ist
    linkageType: ''
    returnType: struct ist
    signature: h2_phdr_to_ist(int phdr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: h2_phdr_to_ist
      Src: /src/haproxy/include/haproxy/h2.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - phdr
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: h2_phdr_to_str
    functionSourceFile: /src/haproxy/include/haproxy/h2.h
    functionUses: 2
    functionsReached:
    - h2_phdr_to_ist
    linkageType: ''
    returnType: char
    signature: '*h2_phdr_to_str(int phdr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct ring*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: ring_area
    functionSourceFile: /src/haproxy/include/haproxy/ring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '*ring_area(const struct ring *ring)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct ring*
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: ring_allocated_area
    functionSourceFile: /src/haproxy/include/haproxy/ring.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '*ring_allocated_area(const struct ring *ring)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct ring*
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: ring_data
    functionSourceFile: /src/haproxy/include/haproxy/ring.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: ring_data(const struct ring *ring)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct ring*
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: ring_size
    functionSourceFile: /src/haproxy/include/haproxy/ring.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: ring_size(const struct ring *ring)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct ring*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: ring_allocated_size
    functionSourceFile: /src/haproxy/include/haproxy/ring.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: ring_allocated_size(const struct ring *ring)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct ring*
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: ring_head
    functionSourceFile: /src/haproxy/include/haproxy/ring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: ring_head(const struct ring *ring)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/ring.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct ring*
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: ring_tail
    functionSourceFile: /src/haproxy/include/haproxy/ring.h
    functionUses: 3
    functionsReached:
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: size_t
    signature: ring_tail(const struct ring *ring)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vp_ring_to_data
      Src: /src/haproxy/include/haproxy/ring.h:110,1
    - Dst: ring_area
      Src: /src/haproxy/include/haproxy/ring.h:110,1
    - Dst: ring_size
      Src: /src/haproxy/include/haproxy/ring.h:110,1
    - Dst: ring_head
      Src: /src/haproxy/include/haproxy/ring.h:110,1
    - Dst: ring_tail
      Src: /src/haproxy/include/haproxy/ring.h:110,1
    - Dst: ring_data
      Src: /src/haproxy/include/haproxy/ring.h:112,1
    - Dst: ring_data
      Src: /src/haproxy/include/haproxy/ring.h:113,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/ring.h:115,1
    - Dst: ring_size
      Src: /src/haproxy/include/haproxy/ring.h:115,1
    - Dst: vp_peek_ofs
      Src: /src/haproxy/include/haproxy/ring.h:117,1
    - Dst: ring_area
      Src: /src/haproxy/include/haproxy/ring.h:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - dst
    - src
    - max
    argTypes:
    - struct ring*
    - struct ring*
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 121
    functionName: ring_dup
    functionSourceFile: /src/haproxy/include/haproxy/ring.h
    functionUses: 1
    functionsReached:
    - vp_peek_ofs
    - BUG_ON
    - ring_size
    - vp_ring_to_data
    - ring_tail
    - ring_area
    - ring_data
    - ring_head
    linkageType: ''
    returnType: size_t
    signature: ring_dup(struct ring *dst, const struct ring *src, size_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: vp_isempty
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: vp_isempty(const struct ist v1, const struct ist v2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: vp_size
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: vp_size(const struct ist v1, const struct ist v2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: _vp_head
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*_vp_head(const struct ist v1, const struct ist v2)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: vp_head
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*vp_head(const struct ist v1, const struct ist v2)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - v1
    - v2
    - ofs
    argTypes:
    - struct ist
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: _vp_addr
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*_vp_addr(const struct ist v1, const struct ist v2, size_t ofs)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - v1
    - v2
    - ofs
    argTypes:
    - struct ist
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: vp_addr
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*vp_addr(const struct ist v1, const struct ist v2, size_t ofs)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - v1
    - v2
    - p
    argTypes:
    - struct ist
    - struct ist
    - char*
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: vp_ofs
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: vp_ofs(const struct ist v1, const struct ist v2, const char *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vp_addr
      Src: /src/haproxy/include/haproxy/vecpair.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v1
    - v2
    - p
    argTypes:
    - struct ist
    - struct ist
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: vp_next
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 0
    functionsReached:
    - vp_addr
    linkageType: ''
    returnType: char
    signature: '*vp_next(const struct ist v1, const struct ist v2, const char *p)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - v1
    - v2
    - seek
    argTypes:
    - struct ist
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: vp_seek_addr
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*vp_seek_addr(struct ist v1, struct ist v2, size_t seek)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - v1
    - v2
    - skip
    argTypes:
    - struct ist*
    - struct ist*
    - size_t
    constantsTouched: []
    func_position:
      end: 185
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 185
    functionName: vp_skip
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: vp_skip(struct ist *v1, struct ist *v2, size_t skip)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - struct ist*
    - struct ist*
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: vp_getchr
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: vp_getchr(struct ist *v1, struct ist *v2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/vecpair.h:223,1
    - Dst: vp_skip
      Src: /src/haproxy/include/haproxy/vecpair.h:225,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/vecpair.h:232,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/vecpair.h:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - v1
    - v2
    - ofs
    - blk
    - len
    argTypes:
    - struct ist*
    - struct ist*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 251
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 251
    functionName: vp_getblk_ofs
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 0
    functionsReached:
    - memcpy
    - vp_skip
    - BUG_ON_HOT
    linkageType: ''
    returnType: size_t
    signature: vp_getblk_ofs(struct ist *v1, struct ist *v2, size_t ofs, char *blk,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vp_getblk_ofs
      Src: /src/haproxy/include/haproxy/vecpair.h:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - v1
    - v2
    - blk
    - len
    argTypes:
    - struct ist*
    - struct ist*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 263
    functionName: vp_getblk
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 0
    functionsReached:
    - vp_getblk_ofs
    linkageType: ''
    returnType: size_t
    signature: vp_getblk(struct ist *v1, struct ist *v2, char *blk, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vp_getblk_ofs
      Src: /src/haproxy/include/haproxy/vecpair.h:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - v1
    - v2
    - ofs
    - blk
    - len
    argTypes:
    - struct ist
    - struct ist
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: vp_peek_ofs
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 4
    functionsReached:
    - vp_getblk_ofs
    linkageType: ''
    returnType: size_t
    signature: vp_peek_ofs(struct ist v1, struct ist v2, size_t ofs, char *blk, size_t
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - v1
    - v2
    - c
    argTypes:
    - struct ist*
    - struct ist*
    - char
    constantsTouched: []
    func_position:
      end: 292
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 292
    functionName: vp_putchr
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: vp_putchr(struct ist *v1, struct ist *v2, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/vecpair.h:313,1
    - Dst: vp_skip
      Src: /src/haproxy/include/haproxy/vecpair.h:316,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/vecpair.h:323,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/vecpair.h:335,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - v1
    - v2
    - ofs
    - blk
    - len
    argTypes:
    - struct ist*
    - struct ist*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 342
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 342
    functionName: vp_putblk_ofs
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 0
    functionsReached:
    - memcpy
    - vp_skip
    - BUG_ON_HOT
    linkageType: ''
    returnType: size_t
    signature: vp_putblk_ofs(struct ist *v1, struct ist *v2, size_t ofs, const char
      *blk, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vp_putblk_ofs
      Src: /src/haproxy/include/haproxy/vecpair.h:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - v1
    - v2
    - ofs
    - blk
    - len
    argTypes:
    - struct ist
    - struct ist
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 2
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: vp_poke_ofs
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 0
    functionsReached:
    - vp_putblk_ofs
    linkageType: ''
    returnType: size_t
    signature: vp_poke_ofs(struct ist v1, struct ist v2, size_t ofs, const char *blk,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vp_putblk_ofs
      Src: /src/haproxy/include/haproxy/vecpair.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - v1
    - v2
    - blk
    - len
    argTypes:
    - struct ist*
    - struct ist*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: vp_putblk
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 1
    functionsReached:
    - vp_putblk_ofs
    linkageType: ''
    returnType: size_t
    signature: vp_putblk(struct ist *v1, struct ist *v2, const char *blk, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/vecpair.h:381,1
    - Dst: vp_skip
      Src: /src/haproxy/include/haproxy/vecpair.h:383,1
    - Dst: vp_putchr
      Src: /src/haproxy/include/haproxy/vecpair.h:389,1
    - Dst: vp_putchr
      Src: /src/haproxy/include/haproxy/vecpair.h:396,1
    - Dst: vp_putchr
      Src: /src/haproxy/include/haproxy/vecpair.h:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - v1
    - v2
    - ofs
    - v
    argTypes:
    - struct ist*
    - struct ist*
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 405
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 405
    functionName: vp_put_varint_ofs
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 0
    functionsReached:
    - vp_putchr
    - vp_skip
    - BUG_ON_HOT
    linkageType: ''
    returnType: size_t
    signature: vp_put_varint_ofs(struct ist *v1, struct ist *v2, size_t ofs, uint64_t
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vp_put_varint_ofs
      Src: /src/haproxy/include/haproxy/vecpair.h:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v1
    - v2
    - v
    argTypes:
    - struct ist*
    - struct ist*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: vp_put_varint
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 1
    functionsReached:
    - vp_put_varint_ofs
    linkageType: ''
    returnType: size_t
    signature: vp_put_varint(struct ist *v1, struct ist *v2, uint64_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/vecpair.h:435,1
    - Dst: vp_skip
      Src: /src/haproxy/include/haproxy/vecpair.h:437,1
    - Dst: vp_skip
      Src: /src/haproxy/include/haproxy/vecpair.h:470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - v1
    - v2
    - ofs
    - vptr
    argTypes:
    - struct ist*
    - struct ist*
    - size_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 472
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 472
    functionName: vp_get_varint_ofs
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 0
    functionsReached:
    - vp_skip
    - BUG_ON_HOT
    linkageType: ''
    returnType: size_t
    signature: vp_get_varint_ofs(struct ist *v1, struct ist *v2, size_t ofs, uint64_t
      *vptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vp_get_varint_ofs
      Src: /src/haproxy/include/haproxy/vecpair.h:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v1
    - v2
    - vptr
    argTypes:
    - struct ist*
    - struct ist*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: vp_get_varint
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 0
    functionsReached:
    - vp_get_varint_ofs
    linkageType: ''
    returnType: size_t
    signature: vp_get_varint(struct ist *v1, struct ist *v2, uint64_t *vptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vp_get_varint_ofs
      Src: /src/haproxy/include/haproxy/vecpair.h:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - v1
    - v2
    - ofs
    - vptr
    argTypes:
    - struct ist
    - struct ist
    - size_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: vp_peek_varint_ofs
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 2
    functionsReached:
    - vp_get_varint_ofs
    linkageType: ''
    returnType: size_t
    signature: vp_peek_varint_ofs(struct ist v1, struct ist v2, size_t ofs, uint64_t
      *vptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - v1
    - v2
    - area
    - size
    - head
    - tail
    argTypes:
    - struct ist*
    - struct ist*
    - char*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 512
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 512
    functionName: vp_ring_to_data
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: vp_ring_to_data(struct ist *v1, struct ist *v2, char *area, size_t
      size, size_t head, size_t tail)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - v1
    - v2
    - area
    - size
    - head
    - tail
    argTypes:
    - struct ist*
    - struct ist*
    - char*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 524
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 524
    functionName: vp_ring_to_room
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: vp_ring_to_room(struct ist *v1, struct ist *v2, char *area, size_t
      size, size_t head, size_t tail)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - v1
    - v2
    - area
    - size
    - head
    - tail
    argTypes:
    - struct ist
    - struct ist
    - char*
    - size_t
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 551
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 551
    functionName: vp_data_to_ring
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: vp_data_to_ring(const struct ist v1, const struct ist v2, char *area,
      size_t size, size_t *head, size_t *tail)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - v1
    - v2
    - area
    - size
    - head
    - tail
    argTypes:
    - struct ist
    - struct ist
    - char*
    - size_t
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 579
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 579
    functionName: vp_room_to_ring
    functionSourceFile: /src/haproxy/include/haproxy/vecpair.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: vp_room_to_ring(const struct ist v1, const struct ist v2, char *area,
      size_t size, size_t *head, size_t *tail)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:68,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:70,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:70,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:70,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:71,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:71,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:71,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:71,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:71,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:72,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:72,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:72,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:73,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:73,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:73,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:74,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:74,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:74,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:74,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:75,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:75,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:75,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: h1c_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/mux_h1-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*h1c_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:123,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:125,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:125,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:125,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:126,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:126,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:126,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:127,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:128,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:128,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:128,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:128,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:129,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:129,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:129,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:130,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:130,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:130,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:130,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h1-t.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: h1s_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/mux_h1-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*h1s_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - st
    argTypes:
    - enum h1_cs
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: h1c_st_to_str
    functionSourceFile: /src/haproxy/include/haproxy/mux_h1-t.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*h1c_st_to_str(enum h1_cs st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xref_a
    - xref_b
    argTypes:
    - struct xref*
    - struct xref*
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: xref_create
    functionSourceFile: /src/haproxy/include/haproxy/xref.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: xref_create(struct xref *xref_a, struct xref *xref_b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_XCHG
      Src: /src/haproxy/include/haproxy/xref.h:56,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/include/haproxy/xref.h:57,1
    - Dst: _HA_ATOMIC_XCHG
      Src: /src/haproxy/include/haproxy/xref.h:74,1
    - Dst: __ha_barrier_store
      Src: /src/haproxy/include/haproxy/xref.h:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - xref
    argTypes:
    - struct xref*
    constantsTouched: []
    func_position:
      end: 86
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 86
    functionName: xref_get_peer_and_lock
    functionSourceFile: /src/haproxy/include/haproxy/xref.h
    functionUses: 12
    functionsReached:
    - __ha_barrier_atomic_store
    - __ha_barrier_store
    - _HA_ATOMIC_XCHG
    linkageType: ''
    returnType: struct xref
    signature: '*xref_get_peer_and_lock(struct xref *xref)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ha_barrier_store
      Src: /src/haproxy/include/haproxy/xref.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xref
    - peer
    argTypes:
    - struct xref*
    - struct xref*
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: xref_unlock
    functionSourceFile: /src/haproxy/include/haproxy/xref.h
    functionUses: 8
    functionsReached:
    - __ha_barrier_store
    linkageType: ''
    returnType: void
    signature: xref_unlock(struct xref *xref, struct xref *peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ha_barrier_store
      Src: /src/haproxy/include/haproxy/xref.h:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - xref
    - peer
    argTypes:
    - struct xref*
    - struct xref*
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: xref_disconnect
    functionSourceFile: /src/haproxy/include/haproxy/xref.h
    functionUses: 4
    functionsReached:
    - __ha_barrier_store
    linkageType: ''
    returnType: void
    signature: xref_disconnect(struct xref *xref, struct xref *peer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:80,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:82,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:82,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:82,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:83,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:83,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:83,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:83,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:84,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:84,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:84,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:85,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:85,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:85,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:86,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:86,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/task-t.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: task_show_state
    functionSourceFile: /src/haproxy/include/haproxy/task-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*task_show_state(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/haproxy/include/haproxy/sock.h:59,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/haproxy/include/haproxy/sock.h:63,1
    - Dst: setsockopt
      Src: /src/haproxy/include/haproxy/sock.h:65,1
    - Dst: setsockopt
      Src: /src/haproxy/include/haproxy/sock.h:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - addr
    - tos
    argTypes:
    - int
    - struct sockaddr_storage*
    - int
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: sock_set_tos
    functionSourceFile: /src/haproxy/include/haproxy/sock.h
    functionUses: 1
    functionsReached:
    - IN6_IS_ADDR_V4MAPPED
    - setsockopt
    linkageType: ''
    returnType: void
    signature: sock_set_tos(int fd, struct sockaddr_storage *addr, int tos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/haproxy/include/haproxy/sock.h:77,1
    - Dst: setsockopt
      Src: /src/haproxy/include/haproxy/sock.h:80,1
    - Dst: setsockopt
      Src: /src/haproxy/include/haproxy/sock.h:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - sock_family
    - mark
    argTypes:
    - int
    - sa_family_t
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: sock_set_mark
    functionSourceFile: /src/haproxy/include/haproxy/sock.h
    functionUses: 1
    functionsReached:
    - setsockopt
    linkageType: ''
    returnType: void
    signature: sock_set_mark(int fd, sa_family_t sock_family, int mark)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rlim
    argTypes:
    - rlim_t
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: normalize_rlim
    functionSourceFile: /src/haproxy/include/haproxy/limits.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ulong
    signature: normalize_rlim(rlim_t rlim)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_AND_FETCH
      Src: /src/haproxy/include/haproxy/fd.h:139,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/fd.h:140,1
    - Dst: fd_rm_from_fd_list
      Src: /src/haproxy/include/haproxy/fd.h:142,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/fd.h:143,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/fd.h:144,1
    - Dst: fd_add_to_fd_list
      Src: /src/haproxy/include/haproxy/fd.h:148,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/fd.h:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 157
    functionName: done_update_polling
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 5
    functionsReached:
    - _HA_ATOMIC_AND_FETCH
    - fd_add_to_fd_list
    - _HA_ATOMIC_LOAD
    - fd_rm_from_fd_list
    linkageType: ''
    returnType: void
    signature: done_update_polling(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: fd_recv_active
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fd_recv_active(const int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 173
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 173
    functionName: fd_recv_ready
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fd_recv_ready(const int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: fd_send_active
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fd_send_active(const int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: fd_send_ready
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fd_send_ready(const int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: fd_active
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: fd_active(const int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_BTR
      Src: /src/haproxy/include/haproxy/fd.h:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: fd_stop_recv
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 15
    functionsReached:
    - HA_ATOMIC_BTR
    linkageType: ''
    returnType: void
    signature: fd_stop_recv(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_BTR
      Src: /src/haproxy/include/haproxy/fd.h:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: fd_stop_send
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 5
    functionsReached:
    - HA_ATOMIC_BTR
    linkageType: ''
    returnType: void
    signature: fd_stop_send(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: old::old
      Src: /src/haproxy/include/haproxy/fd.h:224,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/fd.h:225,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/fd.h:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: fd_stop_both
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 4
    functionsReached:
    - _HA_ATOMIC_CAS
    - unlikely
    - old::old
    linkageType: ''
    returnType: void
    signature: fd_stop_both(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_BTR
      Src: /src/haproxy/include/haproxy/fd.h:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: fd_cant_recv
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 18
    functionsReached:
    - HA_ATOMIC_BTR
    linkageType: ''
    returnType: void
    signature: fd_cant_recv(const int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_BTS
      Src: /src/haproxy/include/haproxy/fd.h:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 244
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 244
    functionName: fd_may_recv
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_BTS
    linkageType: ''
    returnType: void
    signature: fd_may_recv(const int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_BTS
      Src: /src/haproxy/include/haproxy/fd.h:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: fd_cond_recv
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 1
    functionsReached:
    - HA_ATOMIC_BTS
    linkageType: ''
    returnType: void
    signature: fd_cond_recv(const int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_BTS
      Src: /src/haproxy/include/haproxy/fd.h:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: fd_cond_send
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_BTS
    linkageType: ''
    returnType: void
    signature: fd_cond_send(const int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/include/haproxy/fd.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: fd_may_both
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: fd_may_both(const int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_BTR
      Src: /src/haproxy/include/haproxy/fd.h:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 281
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 281
    functionName: fd_cant_send
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 9
    functionsReached:
    - HA_ATOMIC_BTR
    linkageType: ''
    returnType: void
    signature: fd_cant_send(const int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_BTS
      Src: /src/haproxy/include/haproxy/fd.h:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 290
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 290
    functionName: fd_may_send
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 1
    functionsReached:
    - HA_ATOMIC_BTS
    linkageType: ''
    returnType: void
    signature: fd_may_send(const int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_BTS
      Src: /src/haproxy/include/haproxy/fd.h:296,1
    - Dst: updt_fd_polling
      Src: /src/haproxy/include/haproxy/fd.h:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: fd_want_recv
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 12
    functionsReached:
    - updt_fd_polling
    - HA_ATOMIC_BTS
    linkageType: ''
    returnType: void
    signature: fd_want_recv(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_BTS
      Src: /src/haproxy/include/haproxy/fd.h:307,1
    - Dst: updt_fd_polling
      Src: /src/haproxy/include/haproxy/fd.h:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: fd_want_recv_safe
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 6
    functionsReached:
    - updt_fd_polling
    - HA_ATOMIC_BTS
    linkageType: ''
    returnType: void
    signature: fd_want_recv_safe(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_BTS
      Src: /src/haproxy/include/haproxy/fd.h:317,1
    - Dst: updt_fd_polling
      Src: /src/haproxy/include/haproxy/fd.h:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: fd_want_send
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 6
    functionsReached:
    - updt_fd_polling
    - HA_ATOMIC_BTS
    linkageType: ''
    returnType: void
    signature: fd_want_send(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/fd.h:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: fd_tgid
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 5
    functionsReached:
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: forceinline
    signature: fd_tgid(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_SUB
      Src: /src/haproxy/include/haproxy/fd.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: fd_drop_tgid
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 8
    functionsReached:
    - HA_ATOMIC_SUB
    linkageType: ''
    returnType: forceinline
    signature: fd_drop_tgid(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/include/haproxy/fd.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: fd_unlock_tgid
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_AND
    linkageType: ''
    returnType: forceinline
    signature: fd_unlock_tgid(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/fd.h:354,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/fd.h:361,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/include/haproxy/fd.h:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - fd
    - desired_tgid
    argTypes:
    - int
    - uint
    constantsTouched: []
    func_position:
      end: 365
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 365
    functionName: fd_lock_tgid
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 1
    functionsReached:
    - __ha_cpu_relax
    - _HA_ATOMIC_CAS
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: fd_lock_tgid(int fd, uint desired_tgid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/fd.h:373,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/fd.h:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: fd_lock_tgid_cur
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 1
    functionsReached:
    - _HA_ATOMIC_LOAD
    - _HA_ATOMIC_CAS
    linkageType: ''
    returnType: int
    signature: fd_lock_tgid_cur(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_FETCH_ADD
      Src: /src/haproxy/include/haproxy/fd.h:389,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/fd.h:391,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/include/haproxy/fd.h:392,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/fd.h:394,1
    - Dst: HA_ATOMIC_SUB
      Src: /src/haproxy/include/haproxy/fd.h:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: fd_take_tgid
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 1
    functionsReached:
    - __ha_cpu_relax
    - _HA_ATOMIC_FETCH_ADD
    - likely
    - _HA_ATOMIC_LOAD
    - HA_ATOMIC_SUB
    linkageType: ''
    returnType: uint
    signature: fd_take_tgid(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/include/haproxy/fd.h:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: fd_reset_tgid
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 1
    functionsReached:
    - HA_ATOMIC_AND
    linkageType: ''
    returnType: forceinline
    signature: fd_reset_tgid(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_FETCH_ADD
      Src: /src/haproxy/include/haproxy/fd.h:418,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/fd.h:421,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/include/haproxy/fd.h:422,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/fd.h:424,1
    - Dst: HA_ATOMIC_SUB
      Src: /src/haproxy/include/haproxy/fd.h:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fd
    - desired_tgid
    argTypes:
    - int
    - uint
    constantsTouched: []
    func_position:
      end: 428
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 428
    functionName: fd_grab_tgid
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 6
    functionsReached:
    - __ha_cpu_relax
    - _HA_ATOMIC_FETCH_ADD
    - likely
    - _HA_ATOMIC_LOAD
    - HA_ATOMIC_SUB
    linkageType: ''
    returnType: uint
    signature: fd_grab_tgid(int fd, uint desired_tgid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/fd.h:439,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/fd.h:444,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/include/haproxy/fd.h:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - fd
    - desired_tgid
    argTypes:
    - int
    - uint
    constantsTouched: []
    func_position:
      end: 449
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 449
    functionName: fd_claim_tgid
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 0
    functionsReached:
    - __ha_cpu_relax
    - _HA_ATOMIC_CAS
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: fd_claim_tgid(int fd, uint desired_tgid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/fd.h:464,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/include/haproxy/fd.h:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - desired_tgid
    argTypes:
    - int
    - uint
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: fd_update_tgid
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 1
    functionsReached:
    - __ha_cpu_relax
    - _HA_ATOMIC_CAS
    linkageType: ''
    returnType: void
    signature: fd_update_tgid(int fd, uint desired_tgid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_ADD_FETCH
      Src: /src/haproxy/include/haproxy/fd.h:481,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/fd.h:482,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/fd.h:483,1
    - Dst: _HA_ATOMIC_SUB
      Src: /src/haproxy/include/haproxy/fd.h:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - desired_tgid
    argTypes:
    - int
    - uint
    constantsTouched: []
    func_position:
      end: 486
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 486
    functionName: fd_get_running
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 0
    functionsReached:
    - _HA_ATOMIC_LOAD
    - _HA_ATOMIC_ADD_FETCH
    - likely
    - _HA_ATOMIC_SUB
    linkageType: ''
    returnType: ulong
    signature: fd_get_running(int fd, uint desired_tgid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_FETCH_AND
      Src: /src/haproxy/include/haproxy/fd.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: fd_clr_running
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 2
    functionsReached:
    - _HA_ATOMIC_FETCH_AND
    linkageType: ''
    returnType: long
    signature: fd_clr_running(int fd)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/fd.h:519,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/fd.h:525,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/fd.h:526,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/fd.h:527,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/fd.h:528,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/fd.h:529,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/fd.h:532,1
    - Dst: fd_claim_tgid
      Src: /src/haproxy/include/haproxy/fd.h:534,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/fd.h:536,1
    - Dst: fd_drop_tgid
      Src: /src/haproxy/include/haproxy/fd.h:546,1
    - Dst: fd_may_both
      Src: /src/haproxy/include/haproxy/fd.h:557,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/include/haproxy/fd.h:558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - fd
    - owner
    - tgid
    - thread_mask
    argTypes:
    - int
    - void*
    - int
    - unsigned long
    constantsTouched: []
    func_position:
      end: 559
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 559
    functionName: fd_insert
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 8
    functionsReached:
    - fd_drop_tgid
    - _HA_ATOMIC_INC
    - unlikely
    - BUG_ON
    - fd_claim_tgid
    - fd_may_both
    linkageType: ''
    returnType: void
    signature: fd_insert(int fd, void *owner, void (*iocb)(int fd), int tgid, unsigned
      long thread_mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_OR
      Src: /src/haproxy/include/haproxy/fd.h:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - evts
    argTypes:
    - int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: hap_fd_set
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 2
    functionsReached:
    - _HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: hap_fd_set(int fd, unsigned int *evts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/include/haproxy/fd.h:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - evts
    argTypes:
    - int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 570
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 570
    functionName: hap_fd_clr
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 4
    functionsReached:
    - _HA_ATOMIC_AND
    linkageType: ''
    returnType: void
    signature: hap_fd_clr(int fd, unsigned int *evts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - evts
    argTypes:
    - int
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 575
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 575
    functionName: hap_fd_isset
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: hap_fd_isset(int fd, unsigned int *evts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_FETCH_OR
      Src: /src/haproxy/include/haproxy/fd.h:582,1
    - Dst: DISGUISE
      Src: /src/haproxy/include/haproxy/fd.h:584,1
    - Dst: write
      Src: /src/haproxy/include/haproxy/fd.h:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - thr
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 586
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 586
    functionName: wake_thread
    functionSourceFile: /src/haproxy/include/haproxy/fd.h
    functionUses: 8
    functionsReached:
    - DISGUISE
    - _HA_ATOMIC_FETCH_OR
    - write
    linkageType: ''
    returnType: void
    signature: wake_thread(int thr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:168,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:170,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:170,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:170,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:171,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:171,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:171,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:171,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:172,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:172,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:172,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:172,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:173,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:173,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:173,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:173,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:174,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:174,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:174,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:174,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:175,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:175,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:175,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:175,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:176,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:176,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:176,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:176,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:177,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/connection-t.h:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 183
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 183
    functionName: conn_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/connection-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*conn_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum quic_cc_algo_state_type
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: quic_cc_state_str
    functionSourceFile: /src/haproxy/include/haproxy/quic_cc.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*quic_cc_state_str(enum quic_cc_algo_state_type state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_cc.h:60,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_cc.h:63,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/include/haproxy/quic_cc.h:64,1
    - Dst: tick_remain
      Src: /src/haproxy/include/haproxy/quic_cc.h:64,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_cc.h:67,1
    - Dst: TICKS_TO_MS
      Src: /src/haproxy/include/haproxy/quic_cc.h:67,1
    - Dst: tick_remain
      Src: /src/haproxy/include/haproxy/quic_cc.h:67,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_cc.h:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - buf
    - ev
    argTypes:
    - struct buffer*
    - struct quic_cc_event*
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: quic_cc_event_trace
    functionSourceFile: /src/haproxy/include/haproxy/quic_cc.h
    functionUses: 1
    functionsReached:
    - tick_remain
    - TICKS_TO_MS
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: quic_cc_event_trace(struct buffer *buf, const struct quic_cc_event
      *ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cc
    argTypes:
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: quic_cc_priv
    functionSourceFile: /src/haproxy/include/haproxy/quic_cc.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '*quic_cc_priv(const struct quic_cc *cc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_loss_init
      Src: /src/haproxy/include/haproxy/quic_cc.h:90,1
    - Dst: QUIC_MIN
      Src: /src/haproxy/include/haproxy/quic_cc.h:92,1
    - Dst: QUIC_MAX
      Src: /src/haproxy/include/haproxy/quic_cc.h:92,1
    - Dst: quic_cc_init
      Src: /src/haproxy/include/haproxy/quic_cc.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 5
    argNames:
    - path
    - ipv4
    - max_cwnd
    - algo
    - qc
    argTypes:
    - struct quic_cc_path*
    - int
    - unsigned long
    - struct quic_cc_algo*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: quic_cc_path_init
    functionSourceFile: /src/haproxy/include/haproxy/quic_cc.h
    functionUses: 1
    functionsReached:
    - QUIC_MIN
    - QUIC_MAX
    - quic_loss_init
    - quic_cc_init
    linkageType: ''
    returnType: void
    signature: "quic_cc_path_init(struct quic_cc_path *path, int ipv4, unsigned long
      max_cwnd,\n                                     struct quic_cc_algo *algo,\n
      \                                    struct quic_conn *qc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - struct quic_cc_path*
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: quic_cc_path_prep_data
    functionSourceFile: /src/haproxy/include/haproxy/quic_cc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: quic_cc_path_prep_data(struct quic_cc_path *path)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - thr
    argTypes:
    - struct thread_info*
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: ha_set_thread
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: ha_set_thread(const struct thread_info *thr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: thread_idle_now
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: thread_idle_now()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: thread_idle_end
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: thread_idle_end()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: thread_harmless_now
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: thread_harmless_now()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: is_thread_harmless
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: is_thread_harmless()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: thread_harmless_end
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: thread_harmless_end()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: thread_harmless_end_sig
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: thread_harmless_end_sig()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: thread_isolate
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: thread_isolate()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: thread_isolate_full
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: thread_isolate_full()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: thread_release
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: thread_release()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: thread_isolated
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: thread_isolated()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - (*handler)(void *)
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: setup_extra_threads
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: setup_extra_threads(void *(*handler)(void *))
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: wait_for_threads_completion
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: wait_for_threads_completion()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: set_thread_cpu_affinity
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: set_thread_cpu_affinity()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - thr
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: ha_get_pthread_id
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned long long
    signature: ha_get_pthread_id(unsigned int thr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/thread.h:203,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/thread.h:204,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/thread.h:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - thr
    argTypes:
    - struct thread_info*
    constantsTouched: []
    func_position:
      end: 221
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 221
    functionName: ha_set_thread
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 5
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: ha_set_thread(const struct thread_info *thr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/include/haproxy/thread.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: thread_idle_now
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 5
    functionsReached:
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: thread_idle_now()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/include/haproxy/thread.h:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: thread_idle_end
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_AND
    linkageType: ''
    returnType: void
    signature: thread_idle_end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_OR
      Src: /src/haproxy/include/haproxy/thread.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: thread_harmless_now
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 5
    functionsReached:
    - HA_ATOMIC_OR
    linkageType: ''
    returnType: void
    signature: thread_harmless_now()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/thread.h:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: is_thread_harmless
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: int
    signature: is_thread_harmless()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/include/haproxy/thread.h:278,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/thread.h:279,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/thread.h:279,1
    - Dst: thread_harmless_till_end
      Src: /src/haproxy/include/haproxy/thread.h:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: thread_harmless_end
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 2
    functionsReached:
    - _HA_ATOMIC_LOAD
    - likely
    - thread_harmless_till_end
    - HA_ATOMIC_AND
    linkageType: ''
    returnType: void
    signature: thread_harmless_end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/include/haproxy/thread.h:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: thread_harmless_end_sig
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_AND
    linkageType: ''
    returnType: void
    signature: thread_harmless_end_sig()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/thread.h:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: thread_isolated
    functionSourceFile: /src/haproxy/include/haproxy/thread.h
    functionUses: 8
    functionsReached:
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: unsigned long
    signature: thread_isolated()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hdr
    - n
    - v
    argTypes:
    - struct http_hdr*
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: http_set_hdr
    functionSourceFile: /src/haproxy/include/haproxy/http-hdr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: http_set_hdr(struct http_hdr *hdr, const struct ist n, const struct
      ist v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/http-hdr.h:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - hdr
    - n
    argTypes:
    - struct http_hdr*
    - struct ist
    constantsTouched: []
    func_position:
      end: 59
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 59
    functionName: http_del_hdr
    functionSourceFile: /src/haproxy/include/haproxy/http-hdr.h
    functionUses: 7
    functionsReached:
    - isteqi
    linkageType: ''
    returnType: int
    signature: http_del_hdr(struct http_hdr *hdr, const struct ist n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pacer
    - cc
    argTypes:
    - struct quic_pacer*
    - struct quic_cc*
    constantsTouched: []
    func_position:
      end: 15
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 15
    functionName: quic_pacing_init
    functionSourceFile: /src/haproxy/include/haproxy/quic_pacing.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "quic_pacing_init(struct quic_pacer *pacer,\n                                    const
      struct quic_cc *cc)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iststop
      Src: /src/haproxy/include/haproxy/uri_normalizer.h:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - input
    - dst
    argTypes:
    - struct ist
    - struct ist*
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: uri_normalizer_fragment_strip
    functionSourceFile: /src/haproxy/include/haproxy/uri_normalizer.h
    functionUses: 1
    functionsReached:
    - iststop
    linkageType: ''
    returnType: enum uri_normalizer_err
    signature: uri_normalizer_fragment_strip(const struct ist input, struct ist *dst)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - edi
    - payload
    - payload_len
    - aad
    - aad_len
    - pn
    argTypes:
    - struct enc_debug_info*
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: enc_debug_info_init
    functionSourceFile: /src/haproxy/include/haproxy/quic_trace.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "enc_debug_info_init(struct enc_debug_info *edi,\n                                       unsigned
      char *payload, size_t payload_len,\n                                       unsigned
      char *aad, size_t aad_len, uint64_t pn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_free
      Src: /src/haproxy/include/haproxy/quic_ssl.h:45,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_ssl.h:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - struct ssl_sock_ctx**
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: qc_free_ssl_sock_ctx
    functionSourceFile: /src/haproxy/include/haproxy/quic_ssl.h
    functionUses: 1
    functionsReached:
    - SSL_free
    - pool_free
    linkageType: ''
    returnType: void
    signature: qc_free_ssl_sock_ctx(struct ssl_sock_ctx **ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_early_data_accepted
      Src: /src/haproxy/include/haproxy/quic_ssl.h:54,1
    - Dst: SSL_get_early_data_status
      Src: /src/haproxy/include/haproxy/quic_ssl.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: qc_ssl_eary_data_accepted
    functionSourceFile: /src/haproxy/include/haproxy/quic_ssl.h
    functionUses: 0
    functionsReached:
    - SSL_early_data_accepted
    - SSL_get_early_data_status
    linkageType: ''
    returnType: int
    signature: qc_ssl_eary_data_accepted(const SSL *ssl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: SSL_early_data_accepted
      Src: /src/haproxy/include/haproxy/quic_ssl.h:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 81
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 81
    functionName: quic_ssl_early_data_status_str
    functionSourceFile: /src/haproxy/include/haproxy/quic_ssl.h
    functionUses: 1
    functionsReached:
    - SSL_early_data_accepted
    linkageType: ''
    returnType: char
    signature: '*quic_ssl_early_data_status_str(const SSL *ssl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ssl
    argTypes:
    - SSL*
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: quic_ssl_early_data_status_str
    functionSourceFile: /src/haproxy/include/haproxy/quic_ssl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*quic_ssl_early_data_status_str(const SSL *ssl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __GNUC_PREREQ__
      Src: /src/haproxy/include/haproxy/bug.h:73,1
    - Dst: __GNUC_PREREQ__
      Src: /src/haproxy/include/haproxy/bug.h:76,1
    - Dst: __GNUC_PREREQ__
      Src: /src/haproxy/include/haproxy/bug.h:81,1
    - Dst: DO_NOT_FOLD
      Src: /src/haproxy/include/haproxy/bug.h:84,1
    - Dst: my_unreachable
      Src: /src/haproxy/include/haproxy/bug.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: ha_crash_now
    functionSourceFile: /src/haproxy/include/haproxy/bug.h
    functionUses: 0
    functionsReached:
    - __GNUC_PREREQ__
    - my_unreachable
    - DO_NOT_FOLD
    linkageType: ''
    returnType: void
    signature: ha_crash_now(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DISGUISE
      Src: /src/haproxy/include/haproxy/bug.h:122,1
    - Dst: abort
      Src: /src/haproxy/include/haproxy/bug.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - line
    argTypes:
    - uint
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: abort_with_line
    functionSourceFile: /src/haproxy/include/haproxy/bug.h
    functionUses: 0
    functionsReached:
    - DISGUISE
    - abort
    linkageType: ''
    returnType: void
    signature: abort_with_line(uint line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_FETCH_OR
      Src: /src/haproxy/include/haproxy/bug.h:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - enum tainted_flags
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: mark_tainted
    functionSourceFile: /src/haproxy/include/haproxy/bug.h
    functionUses: 16
    functionsReached:
    - HA_ATOMIC_FETCH_OR
    linkageType: ''
    returnType: unsigned int
    signature: mark_tainted(const enum tainted_flags flag)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/bug.h:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: get_tainted
    functionSourceFile: /src/haproxy/include/haproxy/bug.h
    functionUses: 4
    functionsReached:
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: unsigned int
    signature: get_tainted()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - wf
    - v
    - t
    argTypes:
    - struct wf*
    - uint64_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: wf_reset
    functionSourceFile: /src/haproxy/include/haproxy/window_filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: wf_reset(struct wf *wf, uint64_t v, uint32_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wf_reset
      Src: /src/haproxy/include/haproxy/window_filter.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - wf
    - len
    - v
    - t
    argTypes:
    - struct wf*
    - size_t
    - uint64_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: wf_init
    functionSourceFile: /src/haproxy/include/haproxy/window_filter.h
    functionUses: 1
    functionsReached:
    - wf_reset
    linkageType: ''
    returnType: void
    signature: wf_init(struct wf *wf, size_t len, uint64_t v, uint32_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/window_filter.h:66,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/window_filter.h:66,1
    - Dst: wf_reset
      Src: /src/haproxy/include/haproxy/window_filter.h:67,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/window_filter.h:69,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/window_filter.h:71,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/window_filter.h:76,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/window_filter.h:81,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/window_filter.h:85,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/window_filter.h:88,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - wf
    - v
    - t
    argTypes:
    - struct wf*
    - uint64_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 93
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 93
    functionName: wf_max_update
    functionSourceFile: /src/haproxy/include/haproxy/window_filter.h
    functionUses: 2
    functionsReached:
    - unlikely
    - wf_reset
    linkageType: ''
    returnType: uint64_t
    signature: wf_max_update(struct wf *wf, uint64_t v, uint32_t t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wf
    argTypes:
    - struct wf*
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: wf_get_max
    functionSourceFile: /src/haproxy/include/haproxy/window_filter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: wf_get_max(struct wf *wf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/quic_cid.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct quic_cid*
    - struct quic_cid*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: quic_cid_cpy
    functionSourceFile: /src/haproxy/include/haproxy/quic_cid.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: quic_cid_cpy(struct quic_cid *dst, const struct quic_cid *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_cid.h:58,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_cid.h:60,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_cid.h:62,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_cid.h:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - cid
    argTypes:
    - struct buffer*
    - struct quic_cid*
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: quic_cid_dump
    functionSourceFile: /src/haproxy/include/haproxy/quic_cid.h
    functionUses: 1
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "quic_cid_dump(struct buffer *buf,\n                                 const
      struct quic_cid *cid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cid
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: _quic_cid_tree_idx
    functionSourceFile: /src/haproxy/include/haproxy/quic_cid.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uchar
    signature: _quic_cid_tree_idx(const unsigned char *cid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _quic_cid_tree_idx
      Src: /src/haproxy/include/haproxy/quic_cid.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cid
    argTypes:
    - struct quic_cid*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: quic_cid_tree_idx
    functionSourceFile: /src/haproxy/include/haproxy/quic_cid.h
    functionUses: 5
    functionsReached:
    - _quic_cid_tree_idx
    linkageType: ''
    returnType: uchar
    signature: quic_cid_tree_idx(const struct quic_cid *cid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cid_tree_idx
      Src: /src/haproxy/include/haproxy/quic_cid.h:84,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/quic_cid.h:87,1
    - Dst: ebmb_insert
      Src: /src/haproxy/include/haproxy/quic_cid.h:88,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/quic_cid.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conn_id
    argTypes:
    - struct quic_connection_id*
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: _quic_cid_insert
    functionSourceFile: /src/haproxy/include/haproxy/quic_cid.h
    functionUses: 2
    functionsReached:
    - quic_cid_tree_idx
    - HA_RWLOCK_WRLOCK
    - ebmb_insert
    - HA_RWLOCK_WRUNLOCK
    linkageType: ''
    returnType: void
    signature: _quic_cid_insert(struct quic_connection_id *conn_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_cid_tree_idx
      Src: /src/haproxy/include/haproxy/quic_cid.h:95,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/quic_cid.h:98,1
    - Dst: ebmb_delete
      Src: /src/haproxy/include/haproxy/quic_cid.h:99,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/quic_cid.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conn_id
    argTypes:
    - struct quic_connection_id*
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: quic_cid_delete
    functionSourceFile: /src/haproxy/include/haproxy/quic_cid.h
    functionUses: 2
    functionsReached:
    - quic_cid_tree_idx
    - HA_RWLOCK_WRLOCK
    - HA_RWLOCK_WRUNLOCK
    - ebmb_delete
    linkageType: ''
    returnType: void
    signature: quic_cid_delete(struct quic_connection_id *conn_id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct quic_frame*
    - struct quic_connection_id*
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: quic_connection_id_to_frm_cpy
    functionSourceFile: /src/haproxy/include/haproxy/quic_cid.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "quic_connection_id_to_frm_cpy(struct quic_frame *dst,\n                                                 struct
      quic_connection_id *src)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/pattern.h:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: pat_find_match_name
    functionSourceFile: /src/haproxy/include/haproxy/pattern.h
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: pat_find_match_name(const char *name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_ADD_FETCH
      Src: /src/haproxy/include/haproxy/pattern.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - struct pat_ref*
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: pat_ref_newgen
    functionSourceFile: /src/haproxy/include/haproxy/pattern.h
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_ADD_FETCH
    linkageType: ''
    returnType: unsigned int
    signature: pat_ref_newgen(struct pat_ref *ref)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/pattern.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ref
    - gen
    argTypes:
    - struct pat_ref*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: pat_ref_giveup
    functionSourceFile: /src/haproxy/include/haproxy/pattern.h
    functionUses: 1
    functionsReached:
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: void
    signature: pat_ref_giveup(struct pat_ref *ref, unsigned int gen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ref
    - gen
    argTypes:
    - struct pat_ref*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: pat_ref_may_commit
    functionSourceFile: /src/haproxy/include/haproxy/pattern.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: pat_ref_may_commit(struct pat_ref *ref, unsigned int gen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pat_ref_may_commit
      Src: /src/haproxy/include/haproxy/pattern.h:263,1
    - Dst: event_hdl_publish
      Src: /src/haproxy/include/haproxy/pattern.h:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ref
    - gen
    argTypes:
    - struct pat_ref*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 4
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: pat_ref_commit
    functionSourceFile: /src/haproxy/include/haproxy/pattern.h
    functionUses: 2
    functionsReached:
    - event_hdl_publish
    - pat_ref_may_commit
    linkageType: ''
    returnType: int
    signature: pat_ref_commit(struct pat_ref *ref, unsigned int gen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pat_ref_purge_range
      Src: /src/haproxy/include/haproxy/pattern.h:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ref
    - oldest
    - budget
    argTypes:
    - struct pat_ref*
    - uint
    - int
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: pat_ref_purge_older
    functionSourceFile: /src/haproxy/include/haproxy/pattern.h
    functionUses: 0
    functionsReached:
    - pat_ref_purge_range
    linkageType: ''
    returnType: int
    signature: pat_ref_purge_older(struct pat_ref *ref, uint oldest, int budget)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:249,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:251,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:252,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:253,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:254,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:255,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 260
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 260
    functionName: qcc_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/mux_quic-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*qcc_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:284,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:286,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:287,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:288,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:289,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:290,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:291,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:292,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:293,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:294,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:295,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:296,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:297,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_quic-t.h:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 302
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 302
    functionName: qcs_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/mux_quic-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*qcs_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/http_client.h:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 26
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: httpclient_data
    functionSourceFile: /src/haproxy/include/haproxy/http_client.h
    functionUses: 2
    functionsReached:
    - b_data
    linkageType: ''
    returnType: int
    signature: httpclient_data(struct httpclient *hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: httpclient_ended
    functionSourceFile: /src/haproxy/include/haproxy/http_client.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: httpclient_ended(struct httpclient *hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hc
    argTypes:
    - struct httpclient*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: httpclient_started
    functionSourceFile: /src/haproxy/include/haproxy/http_client.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: httpclient_started(struct httpclient *hc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/listener.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ring
    argTypes:
    - struct accept_queue_ring*
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: accept_queue_ring_len
    functionSourceFile: /src/haproxy/include/haproxy/listener.h
    functionUses: 1
    functionsReached:
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: uint
    signature: accept_queue_ring_len(const struct accept_queue_ring *ring)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/include/haproxy/action.h:46,1
    - Dst: strlen
      Src: /src/haproxy/include/haproxy/action.h:52,1
    - Dst: strncmp
      Src: /src/haproxy/include/haproxy/action.h:53,1
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/action.h:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - keywords
    - kw
    argTypes:
    - struct list*
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 64
    functionName: action_lookup
    functionSourceFile: /src/haproxy/include/haproxy/action.h
    functionUses: 10
    functionsReached:
    - strlen
    - strncmp
    - LIST_ISEMPTY
    - strcmp
    linkageType: ''
    returnType: struct action_kw
    signature: '*action_lookup(struct list *keywords, const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/include/haproxy/action.h:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - keywords
    - chk
    argTypes:
    - struct list*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 89
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 89
    functionName: action_build_list
    functionSourceFile: /src/haproxy/include/haproxy/action.h
    functionUses: 6
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: "action_build_list(struct list *keywords,\n\t\t\t\t     struct buffer
      *chk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: release_sample_expr
      Src: /src/haproxy/include/haproxy/action.h:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 5
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: release_timeout_action
    functionSourceFile: /src/haproxy/include/haproxy/action.h
    functionUses: 0
    functionsReached:
    - release_sample_expr
    linkageType: ''
    returnType: void
    signature: release_timeout_action(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: release_sample_expr
      Src: /src/haproxy/include/haproxy/action.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 5
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: release_expr_int_action
    functionSourceFile: /src/haproxy/include/haproxy/action.h
    functionUses: 0
    functionsReached:
    - release_sample_expr
    linkageType: ''
    returnType: void
    signature: release_expr_int_action(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: action_lookup
      Src: /src/haproxy/include/haproxy/tcpcheck.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: action_kw_tcp_check_lookup
    functionSourceFile: /src/haproxy/include/haproxy/tcpcheck.h
    functionUses: 2
    functionsReached:
    - action_lookup
    linkageType: ''
    returnType: struct action_kw
    signature: '*action_kw_tcp_check_lookup(const char *kw)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: action_build_list
      Src: /src/haproxy/include/haproxy/tcpcheck.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chk
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: action_kw_tcp_check_build_list
    functionSourceFile: /src/haproxy/include/haproxy/tcpcheck.h
    functionUses: 2
    functionsReached:
    - action_build_list
    linkageType: ''
    returnType: void
    signature: action_kw_tcp_check_build_list(struct buffer *chk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tcpchk_rules_type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: tcpchk_rules_type_to_proto_mode
    functionSourceFile: /src/haproxy/include/haproxy/tcpcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: tcpchk_rules_type_to_proto_mode(int tcpchk_rules_type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: qc_is_listener
    functionSourceFile: /src/haproxy/include/haproxy/quic_conn.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: qc_is_listener(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_first
      Src: /src/haproxy/include/haproxy/quic_conn.h:97,1
    - Dst: eb64_entry
      Src: /src/haproxy/include/haproxy/quic_conn.h:101,1
    - Dst: quic_cid_delete
      Src: /src/haproxy/include/haproxy/quic_conn.h:104,1
    - Dst: eb64_next
      Src: /src/haproxy/include/haproxy/quic_conn.h:107,1
    - Dst: eb64_delete
      Src: /src/haproxy/include/haproxy/quic_conn.h:108,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/quic_conn.h:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 111
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 111
    functionName: free_quic_conn_cids
    functionSourceFile: /src/haproxy/include/haproxy/quic_conn.h
    functionUses: 2
    functionsReached:
    - eb64_first
    - pool_free
    - eb64_entry
    - quic_cid_delete
    - eb64_next
    - eb64_delete
    linkageType: ''
    returnType: void
    signature: free_quic_conn_cids(struct quic_conn *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_first
      Src: /src/haproxy/include/haproxy/quic_conn.h:119,1
    - Dst: eb64_entry
      Src: /src/haproxy/include/haproxy/quic_conn.h:123,1
    - Dst: eb64_next
      Src: /src/haproxy/include/haproxy/quic_conn.h:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cc_conn
    - conn
    argTypes:
    - struct quic_conn_closed*
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 128
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 128
    functionName: quic_conn_mv_cids_to_cc_conn
    functionSourceFile: /src/haproxy/include/haproxy/quic_conn.h
    functionUses: 1
    functionsReached:
    - eb64_entry
    - eb64_first
    - eb64_next
    linkageType: ''
    returnType: void
    signature: "quic_conn_mv_cids_to_cc_conn(struct quic_conn_closed *cc_conn,\n                                                struct
      quic_conn *conn)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_is_null
      Src: /src/haproxy/include/haproxy/quic_conn.h:135,1
    - Dst: b_alloc
      Src: /src/haproxy/include/haproxy/quic_conn.h:138,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/quic_conn.h:139,1
    - Dst: b_is_null
      Src: /src/haproxy/include/haproxy/quic_conn.h:139,1
    - Dst: ncb_make
      Src: /src/haproxy/include/haproxy/quic_conn.h:141,1
    - Dst: ncb_init
      Src: /src/haproxy/include/haproxy/quic_conn.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ncbuf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 145
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 145
    functionName: quic_get_ncbuf
    functionSourceFile: /src/haproxy/include/haproxy/quic_conn.h
    functionUses: 1
    functionsReached:
    - ncb_make
    - ncb_is_null
    - b_is_null
    - BUG_ON
    - ncb_init
    - b_alloc
    linkageType: ''
    returnType: struct ncbuf
    signature: '*quic_get_ncbuf(struct ncbuf *ncbuf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_is_null
      Src: /src/haproxy/include/haproxy/quic_conn.h:152,1
    - Dst: b_make
      Src: /src/haproxy/include/haproxy/quic_conn.h:155,1
    - Dst: b_free
      Src: /src/haproxy/include/haproxy/quic_conn.h:156,1
    - Dst: offer_buffers
      Src: /src/haproxy/include/haproxy/quic_conn.h:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ncbuf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: quic_free_ncbuf
    functionSourceFile: /src/haproxy/include/haproxy/quic_conn.h
    functionUses: 2
    functionsReached:
    - offer_buffers
    - ncb_is_null
    - b_free
    - b_make
    linkageType: ''
    returnType: void
    signature: quic_free_ncbuf(struct ncbuf *ncbuf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - struct peer*
    - struct stream*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: peer_session_target
    functionSourceFile: /src/haproxy/include/haproxy/peers.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum obj_type
    signature: '*peer_session_target(struct peer *p, struct stream *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ql
    argTypes:
    - struct quic_loss*
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: quic_loss_init
    functionSourceFile: /src/haproxy/include/haproxy/quic_loss.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_loss_init(struct quic_loss *ql)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_MAX
      Src: /src/haproxy/include/haproxy/quic_loss.h:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ql
    - period
    - now_us
    - max_ack_delay
    argTypes:
    - struct quic_loss*
    - unsigned int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: quic_loss_persistent_congestion
    functionSourceFile: /src/haproxy/include/haproxy/quic_loss.h
    functionUses: 1
    functionsReached:
    - QUIC_MAX
    linkageType: ''
    returnType: int
    signature: "quic_loss_persistent_congestion(struct quic_loss *ql,\n                                                  unsigned
      int period,\n                                                  unsigned int
      now_us,\n                                                  unsigned int max_ack_delay)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_MAX
      Src: /src/haproxy/include/haproxy/quic_loss.h:73,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/quic_loss.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qc
    argTypes:
    - struct quic_conn*
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: quic_pto
    functionSourceFile: /src/haproxy/include/haproxy/quic_loss.h
    functionUses: 1
    functionsReached:
    - QUIC_MAX
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: unsigned int
    signature: quic_pto(struct quic_conn *qc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/pool.h:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool_head*
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: pool_allocated
    functionSourceFile: /src/haproxy/include/haproxy/pool.h
    functionUses: 5
    functionsReached:
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: uint
    signature: pool_allocated(const struct pool_head *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/pool.h:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool_head*
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: pool_used
    functionSourceFile: /src/haproxy/include/haproxy/pool.h
    functionUses: 5
    functionsReached:
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: uint
    signature: pool_used(const struct pool_head *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/pool.h:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool_head*
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: pool_needed_avg
    functionSourceFile: /src/haproxy/include/haproxy/pool.h
    functionUses: 1
    functionsReached:
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: uint
    signature: pool_needed_avg(const struct pool_head *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/pool.h:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool_head*
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: pool_failed
    functionSourceFile: /src/haproxy/include/haproxy/pool.h
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: uint
    signature: pool_failed(const struct pool_head *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/pool.h:209,1
    - Dst: pool_allocated
      Src: /src/haproxy/include/haproxy/pool.h:212,1
    - Dst: pool_used
      Src: /src/haproxy/include/haproxy/pool.h:213,1
    - Dst: pool_needed_avg
      Src: /src/haproxy/include/haproxy/pool.h:217,1
    - Dst: swrate_avg
      Src: /src/haproxy/include/haproxy/pool.h:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pool
    argTypes:
    - struct pool_head*
    constantsTouched: []
    func_position:
      end: 226
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 226
    functionName: pool_releasable
    functionSourceFile: /src/haproxy/include/haproxy/pool.h
    functionUses: 1
    functionsReached:
    - pool_allocated
    - pool_needed_avg
    - pool_used
    - swrate_avg
    - unlikely
    linkageType: ''
    returnType: uint
    signature: pool_releasable(const struct pool_head *pool)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/pool.h:242,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/pool.h:245,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/include/haproxy/pool.h:245,1
    - Dst: pool_refill_local_from_shared
      Src: /src/haproxy/include/haproxy/pool.h:247,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/include/haproxy/pool.h:248,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/include/haproxy/pool.h:253,1
    - Dst: typeof
      Src: /src/haproxy/include/haproxy/pool.h:253,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/pool.h:255,1
    - Dst: LIST_PREV
      Src: /src/haproxy/include/haproxy/pool.h:261,1
    - Dst: typeof
      Src: /src/haproxy/include/haproxy/pool.h:261,1
    - Dst: pool_check_pattern
      Src: /src/haproxy/include/haproxy/pool.h:264,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/pool.h:267,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/include/haproxy/pool.h:268,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/include/haproxy/pool.h:269,1
    - Dst: POOL_DEBUG_SET_MARK
      Src: /src/haproxy/include/haproxy/pool.h:272,1
    - Dst: POOL_DEBUG_TRACE_CALLER
      Src: /src/haproxy/include/haproxy/pool.h:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - pool
    - caller
    argTypes:
    - struct pool_head*
    - void*
    constantsTouched: []
    func_position:
      end: 280
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 280
    functionName: pool_get_from_cache
    functionSourceFile: /src/haproxy/include/haproxy/pool.h
    functionUses: 1
    functionsReached:
    - LIST_NEXT
    - LIST_ISEMPTY
    - pool_refill_local_from_shared
    - LIST_PREV
    - LIST_DELETE
    - typeof
    - POOL_DEBUG_TRACE_CALLER
    - POOL_DEBUG_SET_MARK
    - unlikely
    - BUG_ON
    - pool_check_pattern
    linkageType: ''
    returnType: void
    signature: '*pool_get_from_cache(struct pool_head *pool, const void *caller)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: pbuf_le32toh
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: pbuf_le32toh(uint32_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pbuf_le32toh
      Src: /src/haproxy/include/haproxy/protobuf.h:88,1
    - Dst: pbuf_le32toh
      Src: /src/haproxy/include/haproxy/protobuf.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: pbuf_le64toh
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 0
    functionsReached:
    - pbuf_le32toh
    linkageType: ''
    returnType: uint64_t
    signature: pbuf_le64toh(uint64_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/protobuf.h:97,1
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/protobuf.h:99,1
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/protobuf.h:101,1
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/protobuf.h:103,1
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/protobuf.h:105,1
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/protobuf.h:107,1
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/protobuf.h:109,1
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/protobuf.h:111,1
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/protobuf.h:115,1
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/protobuf.h:117,1
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/protobuf.h:119,1
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/protobuf.h:123,1
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/protobuf.h:125,1
    - Dst: strcmp
      Src: /src/haproxy/include/haproxy/protobuf.h:127,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 131
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 131
    functionName: protobuf_type
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: protobuf_type(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - val
    - pos
    - len
    argTypes:
    - uint64_t*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 166
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 166
    functionName: protobuf_varint
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: protobuf_varint(uint64_t *val, unsigned char *pos, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - val
    - pos
    - len
    argTypes:
    - uint64_t*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 202
    functionName: protobuf_decode_varint
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: protobuf_decode_varint(uint64_t *val, unsigned char **pos, size_t *len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pos
    - len
    - vlen
    argTypes:
    - unsigned char**
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 235
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 235
    functionName: protobuf_skip_varint
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: protobuf_skip_varint(unsigned char **pos, size_t *len, size_t vlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pos
    - len
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 271
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 271
    functionName: protobuf_varint_getlen
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: protobuf_varint_getlen(unsigned char *pos, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protobuf_varint_getlen
      Src: /src/haproxy/include/haproxy/protobuf.h:287,1
    - Dst: protobuf_varint
      Src: /src/haproxy/include/haproxy/protobuf.h:302,1
    - Dst: protobuf_varint
      Src: /src/haproxy/include/haproxy/protobuf.h:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - smp
    - type
    - pos
    - len
    - vlen
    argTypes:
    - struct sample*
    - int
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 329
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 329
    functionName: protobuf_smp_store_varint
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 0
    functionsReached:
    - protobuf_varint
    - protobuf_varint_getlen
    linkageType: ''
    returnType: int
    signature: "protobuf_smp_store_varint(struct sample *smp, int type,\n                              unsigned
      char *pos, size_t len, size_t vlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pos
    - len
    - vlen
    argTypes:
    - unsigned char**
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 343
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 343
    functionName: protobuf_skip_64bit
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: protobuf_skip_64bit(unsigned char **pos, size_t *len, size_t vlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pbuf_le64toh
      Src: /src/haproxy/include/haproxy/protobuf.h:368,1
    - Dst: read_u64
      Src: /src/haproxy/include/haproxy/protobuf.h:368,1
    - Dst: pbuf_le64toh
      Src: /src/haproxy/include/haproxy/protobuf.h:374,1
    - Dst: read_dbl
      Src: /src/haproxy/include/haproxy/protobuf.h:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - smp
    - type
    - pos
    - len
    - vlen
    argTypes:
    - struct sample*
    - int
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 383
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 383
    functionName: protobuf_smp_store_64bit
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 0
    functionsReached:
    - read_u64
    - pbuf_le64toh
    - read_dbl
    linkageType: ''
    returnType: int
    signature: "protobuf_smp_store_64bit(struct sample *smp, int type,\n                             unsigned
      char *pos, size_t len, size_t vlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pos
    - len
    - vlen
    argTypes:
    - unsigned char**
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: protobuf_skip_vlen
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: protobuf_skip_vlen(unsigned char **pos, size_t *len, size_t vlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - smp
    - type
    - pos
    - len
    - vlen
    argTypes:
    - struct sample*
    - int
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 420
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 420
    functionName: protobuf_smp_store_vlen
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "protobuf_smp_store_vlen(struct sample *smp, int type,\n                            unsigned
      char *pos, size_t len, size_t vlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pos
    - len
    - vlen
    argTypes:
    - unsigned char**
    - size_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 434
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 434
    functionName: protobuf_skip_32bit
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: protobuf_skip_32bit(unsigned char **pos, size_t *len, size_t vlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pbuf_le32toh
      Src: /src/haproxy/include/haproxy/protobuf.h:458,1
    - Dst: read_u32
      Src: /src/haproxy/include/haproxy/protobuf.h:458,1
    - Dst: pbuf_le32toh
      Src: /src/haproxy/include/haproxy/protobuf.h:464,1
    - Dst: read_u32
      Src: /src/haproxy/include/haproxy/protobuf.h:464,1
    - Dst: pbuf_le32toh
      Src: /src/haproxy/include/haproxy/protobuf.h:470,1
    - Dst: read_flt
      Src: /src/haproxy/include/haproxy/protobuf.h:470,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - smp
    - type
    - pos
    - len
    - vlen
    argTypes:
    - struct sample*
    - int
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 479
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 479
    functionName: protobuf_smp_store_32bit
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 0
    functionsReached:
    - read_u32
    - pbuf_le32toh
    - read_flt
    linkageType: ''
    returnType: int
    signature: "protobuf_smp_store_32bit(struct sample *smp, int type,\n                             unsigned
      char *pos, size_t len, size_t vlen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: protobuf_decode_varint
      Src: /src/haproxy/include/haproxy/protobuf.h:517,1
    - Dst: struct protobuf_parser_def*::skip
      Src: /src/haproxy/include/haproxy/protobuf.h:530,1
    - Dst: protobuf_decode_varint
      Src: /src/haproxy/include/haproxy/protobuf.h:536,1
    - Dst: struct protobuf_parser_def*::skip
      Src: /src/haproxy/include/haproxy/protobuf.h:544,1
    - Dst: struct protobuf_parser_def*::smp_store
      Src: /src/haproxy/include/haproxy/protobuf.h:554,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 4
    argNames:
    - arg_p
    - smp
    - pos
    - len
    argTypes:
    - struct arg*
    - struct sample*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 568
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 568
    functionName: protobuf_field_lookup
    functionSourceFile: /src/haproxy/include/haproxy/protobuf.h
    functionUses: 2
    functionsReached:
    - protobuf_decode_varint
    - struct protobuf_parser_def*::skip
    - struct protobuf_parser_def*::smp_store
    linkageType: ''
    returnType: int
    signature: "protobuf_field_lookup(const struct arg *arg_p, struct sample *smp,\n
      \                                       unsigned char **pos, size_t *len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: read_u16
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: read_u16(const void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - u16
    argTypes:
    - void*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: write_u16
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: write_u16(void *p, const uint16_t u16)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: read_u32
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: read_u32(const void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - u32
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: write_u32
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: write_u32(void *p, const uint32_t u32)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: read_u64
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: read_u64(const void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - u64
    argTypes:
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: write_u64
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: write_u64(void *p, const uint64_t u64)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: read_ptr
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '*read_ptr(const void *p)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_u32
      Src: /src/haproxy/include/haproxy/net_helper.h:89,1
    - Dst: write_u64
      Src: /src/haproxy/include/haproxy/net_helper.h:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: write_ptr
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 2
    functionsReached:
    - write_u64
    - write_u32
    linkageType: ''
    returnType: void
    signature: write_ptr(void *p, const void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: read_flt
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: read_flt(const void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - flt
    argTypes:
    - void*
    - float
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: write_flt
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: write_flt(void *p, const float flt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: read_dbl
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: read_dbl(const void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - dbl
    argTypes:
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: write_dbl
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: write_dbl(void *p, const double dbl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - dst
    - bytes
    - p1
    - s1
    - p2
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: readv_bytes
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: readv_bytes(void *dst, const size_t bytes, const void *p1, size_t s1,
      const void *p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - src
    - bytes
    - p1
    - s1
    - p2
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: writev_bytes
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: writev_bytes(const void *src, const size_t bytes, void *p1, size_t
      s1, void *p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/net_helper.h:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - p1
    - s1
    - p2
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 189
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: readv_u16
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: uint16_t
    signature: readv_u16(const void *p1, size_t s1, const void *p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/net_helper.h:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - p1
    - s1
    - p2
    - u16
    argTypes:
    - void*
    - size_t
    - void*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 208
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 208
    functionName: writev_u16
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: void
    signature: writev_u16(void *p1, size_t s1, void *p2, const uint16_t u16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/include/haproxy/net_helper.h:219,1
    - Dst: read_u32
      Src: /src/haproxy/include/haproxy/net_helper.h:220,1
    - Dst: readv_bytes
      Src: /src/haproxy/include/haproxy/net_helper.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p1
    - s1
    - p2
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: readv_u32
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - likely
    - readv_bytes
    - read_u32
    linkageType: ''
    returnType: uint32_t
    signature: readv_u32(const void *p1, size_t s1, const void *p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/include/haproxy/net_helper.h:233,1
    - Dst: write_u32
      Src: /src/haproxy/include/haproxy/net_helper.h:234,1
    - Dst: writev_bytes
      Src: /src/haproxy/include/haproxy/net_helper.h:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - p1
    - s1
    - p2
    - u32
    argTypes:
    - void*
    - size_t
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 237
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 237
    functionName: writev_u32
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - likely
    - writev_bytes
    - write_u32
    linkageType: ''
    returnType: void
    signature: writev_u32(void *p1, size_t s1, void *p2, const uint32_t u32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/include/haproxy/net_helper.h:248,1
    - Dst: read_u64
      Src: /src/haproxy/include/haproxy/net_helper.h:249,1
    - Dst: readv_bytes
      Src: /src/haproxy/include/haproxy/net_helper.h:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - p1
    - s1
    - p2
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: readv_u64
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - read_u64
    - likely
    - readv_bytes
    linkageType: ''
    returnType: uint64_t
    signature: readv_u64(const void *p1, size_t s1, const void *p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/include/haproxy/net_helper.h:262,1
    - Dst: write_u64
      Src: /src/haproxy/include/haproxy/net_helper.h:263,1
    - Dst: writev_bytes
      Src: /src/haproxy/include/haproxy/net_helper.h:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - p1
    - s1
    - p2
    - u64
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: writev_u64
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - likely
    - writev_bytes
    - write_u64
    linkageType: ''
    returnType: void
    signature: writev_u64(void *p1, size_t s1, void *p2, const uint64_t u64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_u16
      Src: /src/haproxy/include/haproxy/net_helper.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: read_i16
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - read_u16
    linkageType: ''
    returnType: int16_t
    signature: read_i16(const void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_u32
      Src: /src/haproxy/include/haproxy/net_helper.h:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: read_i32
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - read_u32
    linkageType: ''
    returnType: int32_t
    signature: read_i32(const void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_u64
      Src: /src/haproxy/include/haproxy/net_helper.h:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: read_i64
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - read_u64
    linkageType: ''
    returnType: int64_t
    signature: read_i64(const void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readv_u16
      Src: /src/haproxy/include/haproxy/net_helper.h:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - s1
    - p2
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: readv_i16
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - readv_u16
    linkageType: ''
    returnType: int16_t
    signature: readv_i16(const void *p1, size_t s1, const void *p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readv_u32
      Src: /src/haproxy/include/haproxy/net_helper.h:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - s1
    - p2
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: readv_i32
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - readv_u32
    linkageType: ''
    returnType: int32_t
    signature: readv_i32(const void *p1, size_t s1, const void *p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: readv_u64
      Src: /src/haproxy/include/haproxy/net_helper.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - s1
    - p2
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: readv_i64
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - readv_u64
    linkageType: ''
    returnType: int64_t
    signature: readv_i64(const void *p1, size_t s1, const void *p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/haproxy/include/haproxy/net_helper.h:309,1
    - Dst: read_u16
      Src: /src/haproxy/include/haproxy/net_helper.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: read_n16
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 3
    functionsReached:
    - read_u16
    - ntohs
    linkageType: ''
    returnType: uint16_t
    signature: read_n16(const void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_u16
      Src: /src/haproxy/include/haproxy/net_helper.h:315,1
    - Dst: htons
      Src: /src/haproxy/include/haproxy/net_helper.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - u16
    argTypes:
    - void*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: write_n16
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 3
    functionsReached:
    - write_u16
    - htons
    linkageType: ''
    returnType: void
    signature: write_n16(void *p, const uint16_t u16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/haproxy/include/haproxy/net_helper.h:321,1
    - Dst: read_u32
      Src: /src/haproxy/include/haproxy/net_helper.h:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: read_n32
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 8
    functionsReached:
    - read_u32
    - ntohl
    linkageType: ''
    returnType: uint32_t
    signature: read_n32(const void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_u32
      Src: /src/haproxy/include/haproxy/net_helper.h:327,1
    - Dst: htonl
      Src: /src/haproxy/include/haproxy/net_helper.h:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - u32
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: write_n32
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 16
    functionsReached:
    - htonl
    - write_u32
    linkageType: ''
    returnType: void
    signature: write_n32(void *p, const uint32_t u32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_ntohll
      Src: /src/haproxy/include/haproxy/net_helper.h:333,1
    - Dst: read_u64
      Src: /src/haproxy/include/haproxy/net_helper.h:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: read_n64
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - read_u64
    - my_ntohll
    linkageType: ''
    returnType: uint64_t
    signature: read_n64(const void *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_u64
      Src: /src/haproxy/include/haproxy/net_helper.h:339,1
    - Dst: my_htonll
      Src: /src/haproxy/include/haproxy/net_helper.h:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - u64
    argTypes:
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: write_n64
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - write_u64
    - my_htonll
    linkageType: ''
    returnType: void
    signature: write_n64(void *p, const uint64_t u64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/net_helper.h:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - p1
    - s1
    - p2
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: readv_n16
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 2
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: uint16_t
    signature: readv_n16(const void *p1, size_t s1, const void *p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/net_helper.h:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - p1
    - s1
    - p2
    - u16
    argTypes:
    - void*
    - size_t
    - void*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 373
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 373
    functionName: writev_n16
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: void
    signature: writev_n16(const void *p1, size_t s1, const void *p2, const uint16_t
      u16)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/haproxy/include/haproxy/net_helper.h:382,1
    - Dst: readv_u32
      Src: /src/haproxy/include/haproxy/net_helper.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - s1
    - p2
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: readv_n32
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 2
    functionsReached:
    - readv_u32
    - ntohl
    linkageType: ''
    returnType: uint32_t
    signature: readv_n32(const void *p1, size_t s1, const void *p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: writev_u32
      Src: /src/haproxy/include/haproxy/net_helper.h:392,1
    - Dst: htonl
      Src: /src/haproxy/include/haproxy/net_helper.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p1
    - s1
    - p2
    - u32
    argTypes:
    - void*
    - size_t
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: writev_n32
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - htonl
    - writev_u32
    linkageType: ''
    returnType: void
    signature: writev_n32(void *p1, size_t s1, void *p2, const uint32_t u32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_ntohll
      Src: /src/haproxy/include/haproxy/net_helper.h:402,1
    - Dst: readv_u64
      Src: /src/haproxy/include/haproxy/net_helper.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - s1
    - p2
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 403
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 403
    functionName: readv_n64
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 2
    functionsReached:
    - readv_u64
    - my_ntohll
    linkageType: ''
    returnType: uint64_t
    signature: readv_n64(const void *p1, size_t s1, const void *p2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: writev_u64
      Src: /src/haproxy/include/haproxy/net_helper.h:412,1
    - Dst: my_htonll
      Src: /src/haproxy/include/haproxy/net_helper.h:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p1
    - s1
    - p2
    - u64
    argTypes:
    - void*
    - size_t
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: writev_n64
    functionSourceFile: /src/haproxy/include/haproxy/net_helper.h
    functionUses: 0
    functionsReached:
    - writev_u64
    - my_htonll
    linkageType: ''
    returnType: void
    signature: writev_n64(void *p1, size_t s1, void *p2, const uint64_t u64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/include/haproxy/pool-os.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: pool_alloc_area
    functionSourceFile: /src/haproxy/include/haproxy/pool-os.h
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: forceinline
    signature: '*pool_alloc_area(size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: will_free
      Src: /src/haproxy/include/haproxy/pool-os.h:46,1
    - Dst: free
      Src: /src/haproxy/include/haproxy/pool-os.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - area
    - __maybe_unused
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 3
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: pool_free_area
    functionSourceFile: /src/haproxy/include/haproxy/pool-os.h
    functionUses: 1
    functionsReached:
    - free
    - will_free
    linkageType: ''
    returnType: forceinline
    signature: pool_free_area(void *area, size_t __maybe_unused size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mmap
      Src: /src/haproxy/include/haproxy/pool-os.h:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 78
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: pool_alloc_area_uaf
    functionSourceFile: /src/haproxy/include/haproxy/pool-os.h
    functionUses: 1
    functionsReached:
    - mmap
    linkageType: ''
    returnType: void
    signature: '*pool_alloc_area_uaf(size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ABORT_NOW
      Src: /src/haproxy/include/haproxy/pool-os.h:97,1
    - Dst: munmap
      Src: /src/haproxy/include/haproxy/pool-os.h:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - area
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: pool_free_area_uaf
    functionSourceFile: /src/haproxy/include/haproxy/pool-os.h
    functionUses: 1
    functionsReached:
    - ABORT_NOW
    - munmap
    linkageType: ''
    returnType: void
    signature: pool_free_area_uaf(void *area, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strl2ui
      Src: /src/haproxy/include/haproxy/mqtt.h:52,1
    - Dst: istlen
      Src: /src/haproxy/include/haproxy/mqtt.h:52,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:56,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:56,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:58,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:58,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:60,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:60,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:62,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:62,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:64,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:64,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:66,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:66,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:68,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:68,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:70,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:70,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:72,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:72,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:74,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:74,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:76,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:76,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:78,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:78,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:80,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:80,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:82,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:82,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:84,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/mqtt.h:84,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 1
    argNames:
    - str
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 88
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 88
    functionName: mqtt_typeid
    functionSourceFile: /src/haproxy/include/haproxy/mqtt.h
    functionUses: 1
    functionsReached:
    - istlen
    - ist
    - strl2ui
    - isteqi
    linkageType: ''
    returnType: int
    signature: mqtt_typeid(struct ist str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/mqtt.h:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - type
    - str
    argTypes:
    - int
    - struct ist
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: mqtt_check_type_fieldname
    functionSourceFile: /src/haproxy/include/haproxy/mqtt.h
    functionUses: 1
    functionsReached:
    - isteqi
    linkageType: ''
    returnType: int
    signature: mqtt_check_type_fieldname(int type, struct ist str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/signal.h:41,1
    - Dst: __signal_process_queue
      Src: /src/haproxy/include/haproxy/signal.h:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: signal_process_queue
    functionSourceFile: /src/haproxy/include/haproxy/signal.h
    functionUses: 2
    functionsReached:
    - unlikely
    - __signal_process_queue
    linkageType: ''
    returnType: void
    signature: signal_process_queue()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/include/haproxy/hpack-enc.h:50,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/haproxy/hpack-enc.h:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - len
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 61
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 61
    functionName: hpack_len_to_bytes
    functionSourceFile: /src/haproxy/include/haproxy/hpack-enc.h
    functionUses: 1
    functionsReached:
    - __builtin_expect
    linkageType: ''
    returnType: int
    signature: hpack_len_to_bytes(size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - out
    - pos
    - len
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: hpack_encode_len
    functionSourceFile: /src/haproxy/include/haproxy/hpack-enc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hpack_encode_len(char *out, int pos, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2bin
      Src: /src/haproxy/include/haproxy/hpack-enc.h:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - out
    - idx
    - val
    argTypes:
    - struct buffer*
    - int
    - struct ist
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: hpack_encode_short_idx
    functionSourceFile: /src/haproxy/include/haproxy/hpack-enc.h
    functionUses: 0
    functionsReached:
    - ist2bin
    linkageType: ''
    returnType: int
    signature: hpack_encode_short_idx(struct buffer *out, int idx, struct ist val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hpack_len_to_bytes
      Src: /src/haproxy/include/haproxy/hpack-enc.h:110,1
    - Dst: hpack_len_to_bytes
      Src: /src/haproxy/include/haproxy/hpack-enc.h:111,1
    - Dst: hpack_encode_len
      Src: /src/haproxy/include/haproxy/hpack-enc.h:118,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/hpack-enc.h:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - out
    - idx
    - val
    argTypes:
    - struct buffer*
    - int
    - struct ist
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: hpack_encode_long_idx
    functionSourceFile: /src/haproxy/include/haproxy/hpack-enc.h
    functionUses: 0
    functionsReached:
    - hpack_len_to_bytes
    - memcpy
    - hpack_encode_len
    linkageType: ''
    returnType: int
    signature: hpack_encode_long_idx(struct buffer *out, int idx, struct ist val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/include/haproxy/hpack-enc.h:140,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/haproxy/hpack-enc.h:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - out
    - status
    argTypes:
    - struct buffer*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 178
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 178
    functionName: hpack_encode_int_status
    functionSourceFile: /src/haproxy/include/haproxy/hpack-enc.h
    functionUses: 1
    functionsReached:
    - __builtin_expect
    linkageType: ''
    returnType: int
    signature: hpack_encode_int_status(struct buffer *out, unsigned int status)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hpack_encode_short_idx
      Src: /src/haproxy/include/haproxy/hpack-enc.h:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - out
    - status
    - str
    argTypes:
    - struct buffer*
    - unsigned int
    - struct ist
    constantsTouched: []
    func_position:
      end: 200
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 200
    functionName: hpack_encode_str_status
    functionSourceFile: /src/haproxy/include/haproxy/hpack-enc.h
    functionUses: 0
    functionsReached:
    - hpack_encode_short_idx
    linkageType: ''
    returnType: int
    signature: hpack_encode_str_status(struct buffer *out, unsigned int status, struct
      ist str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hpack_encode_short_idx
      Src: /src/haproxy/include/haproxy/hpack-enc.h:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - out
    - meth
    - str
    argTypes:
    - struct buffer*
    - enum http_meth_t
    - struct ist
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: hpack_encode_method
    functionSourceFile: /src/haproxy/include/haproxy/hpack-enc.h
    functionUses: 1
    functionsReached:
    - hpack_encode_short_idx
    linkageType: ''
    returnType: int
    signature: hpack_encode_method(struct buffer *out, enum http_meth_t meth, struct
      ist str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/hpack-enc.h:231,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/hpack-enc.h:231,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/hpack-enc.h:233,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/hpack-enc.h:233,1
    - Dst: hpack_encode_short_idx
      Src: /src/haproxy/include/haproxy/hpack-enc.h:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - out
    - scheme
    argTypes:
    - struct buffer*
    - struct ist
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: hpack_encode_scheme
    functionSourceFile: /src/haproxy/include/haproxy/hpack-enc.h
    functionUses: 1
    functionsReached:
    - hpack_encode_short_idx
    - isteq
    - ist
    linkageType: ''
    returnType: int
    signature: hpack_encode_scheme(struct buffer *out, struct ist scheme)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/hpack-enc.h:249,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/hpack-enc.h:249,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/hpack-enc.h:251,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/hpack-enc.h:251,1
    - Dst: hpack_encode_short_idx
      Src: /src/haproxy/include/haproxy/hpack-enc.h:254,1
    - Dst: hpack_encode_long_idx
      Src: /src/haproxy/include/haproxy/hpack-enc.h:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - out
    - path
    argTypes:
    - struct buffer*
    - struct ist
    constantsTouched: []
    func_position:
      end: 258
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 258
    functionName: hpack_encode_path
    functionSourceFile: /src/haproxy/include/haproxy/hpack-enc.h
    functionUses: 1
    functionsReached:
    - hpack_encode_short_idx
    - hpack_encode_long_idx
    - isteq
    - ist
    linkageType: ''
    returnType: int
    signature: hpack_encode_path(struct buffer *out, struct ist path)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - enum acl_test_res
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: acl_neg
    functionSourceFile: /src/haproxy/include/haproxy/acl.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum acl_test_res
    signature: acl_neg(enum acl_test_res res)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - enum acl_test_res
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: acl_pass
    functionSourceFile: /src/haproxy/include/haproxy/acl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: acl_pass(enum acl_test_res res)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: acl_pass
      Src: /src/haproxy/include/haproxy/acl.h:120,1
    - Dst: acl_exec_cond
      Src: /src/haproxy/include/haproxy/acl.h:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - cond
    - px
    - sess
    - strm
    - opt
    argTypes:
    - struct acl_cond*
    - struct proxy*
    - struct session*
    - struct stream*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: acl_match_cond
    functionSourceFile: /src/haproxy/include/haproxy/acl.h
    functionUses: 14
    functionsReached:
    - acl_exec_cond
    - acl_pass
    linkageType: ''
    returnType: int
    signature: acl_match_cond(struct acl_cond *cond, struct proxy *px, struct session
      *sess, struct stream *strm, unsigned int opt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - caddr
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: caddr_to_ptr
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '*caddr_to_ptr(unsigned long caddr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - caddr
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: caddr_to_data
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: caddr_to_data(unsigned long caddr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - data
    argTypes:
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: caddr_from_ptr
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: caddr_from_ptr(void *ptr, unsigned int data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - caddr
    - data
    argTypes:
    - unsigned long
    - unsigned int
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: caddr_set_flags
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: caddr_set_flags(unsigned long caddr, unsigned int data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - caddr
    - data
    argTypes:
    - unsigned long
    - unsigned int
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: caddr_clr_flags
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: caddr_clr_flags(unsigned long caddr, unsigned int data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: stktable_type_size
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: stktable_type_size(int type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - t
    - ts
    - type
    argTypes:
    - struct stktable*
    - struct stksess*
    - int
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: __stktable_data_ptr
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '*__stktable_data_ptr(struct stktable *t, struct stksess *ts, int type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - t
    - ts
    - type
    argTypes:
    - struct stktable*
    - struct stksess*
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: stktable_data_ptr
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 49
    functionsReached:
    - __stktable_data_ptr
    linkageType: ''
    returnType: void
    signature: '*stktable_data_ptr(struct stktable *t, struct stksess *ts, int type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:193,1
    - Dst: stktable_type_size
      Src: /src/haproxy/include/haproxy/stick_table.h:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - t
    - ts
    - type
    - idx
    argTypes:
    - struct stktable*
    - struct stksess*
    - int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 194
    functionName: stktable_data_ptr_idx
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 25
    functionsReached:
    - __stktable_data_ptr
    - stktable_type_size
    linkageType: ''
    returnType: void
    signature: '*stktable_data_ptr_idx(struct stktable *t, struct stksess *ts, int
      type, unsigned int idx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH32
      Src: /src/haproxy/include/haproxy/stick_table.h:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - t
    - key
    - len
    argTypes:
    - struct stktable*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: stktable_calc_shard_num
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 6
    functionsReached:
    - XXH32
    linkageType: ''
    returnType: uint
    signature: stktable_calc_shard_num(const struct stktable *t, const void *key,
      size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_is_expired
      Src: /src/haproxy/include/haproxy/stick_table.h:212,1
    - Dst: __stksess_kill
      Src: /src/haproxy/include/haproxy/stick_table.h:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - t
    - ts
    argTypes:
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: __stksess_kill_if_expired
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 1
    functionsReached:
    - __stksess_kill
    - tick_is_expired
    linkageType: ''
    returnType: int
    signature: __stksess_kill_if_expired(struct stktable *t, struct stksess *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_is_expired
      Src: /src/haproxy/include/haproxy/stick_table.h:231,1
    - Dst: strlen
      Src: /src/haproxy/include/haproxy/stick_table.h:233,1
    - Dst: stktable_calc_shard_num
      Src: /src/haproxy/include/haproxy/stick_table.h:237,1
    - Dst: ALREADY_CHECKED
      Src: /src/haproxy/include/haproxy/stick_table.h:240,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/stick_table.h:242,1
    - Dst: HA_ATOMIC_SUB_FETCH
      Src: /src/haproxy/include/haproxy/stick_table.h:243,1
    - Dst: __stksess_kill_if_expired
      Src: /src/haproxy/include/haproxy/stick_table.h:244,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/stick_table.h:245,1
    - Dst: HA_ATOMIC_SUB_FETCH
      Src: /src/haproxy/include/haproxy/stick_table.h:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - t
    - ts
    argTypes:
    - struct stktable*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: stksess_kill_if_expired
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 6
    functionsReached:
    - ALREADY_CHECKED
    - HA_ATOMIC_SUB_FETCH
    - tick_is_expired
    - strlen
    - stktable_calc_shard_num
    - __stksess_kill_if_expired
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: void
    signature: stksess_kill_if_expired(struct stktable *t, struct stksess *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: caddr_from_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stkctr
    - entry
    argTypes:
    - struct stkctr*
    - struct stksess*
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: stkctr_set_entry
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 37
    functionsReached:
    - caddr_from_ptr
    linkageType: ''
    returnType: void
    signature: stkctr_set_entry(struct stkctr *stkctr, struct stksess *entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: caddr_to_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stkctr
    argTypes:
    - struct stkctr*
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: stkctr_entry
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 50
    functionsReached:
    - caddr_to_ptr
    linkageType: ''
    returnType: struct stksess
    signature: '*stkctr_entry(struct stkctr *stkctr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: caddr_to_data
      Src: /src/haproxy/include/haproxy/stick_table.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stkctr
    argTypes:
    - struct stkctr*
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: stkctr_flags
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 2
    functionsReached:
    - caddr_to_data
    linkageType: ''
    returnType: unsigned int
    signature: stkctr_flags(struct stkctr *stkctr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: caddr_set_flags
      Src: /src/haproxy/include/haproxy/stick_table.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stkctr
    - flags
    argTypes:
    - struct stkctr*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: stkctr_set_flags
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 2
    functionsReached:
    - caddr_set_flags
    linkageType: ''
    returnType: void
    signature: stkctr_set_flags(struct stkctr *stkctr, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: caddr_clr_flags
      Src: /src/haproxy/include/haproxy/stick_table.h:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stkctr
    - flags
    argTypes:
    - struct stkctr*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: stkctr_clr_flags
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 0
    functionsReached:
    - caddr_clr_flags
    linkageType: ''
    returnType: void
    signature: stkctr_clr_flags(struct stkctr *stkctr, unsigned int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/include/haproxy/stick_table.h:290,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/stick_table.h:294,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:296,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stick_table.h:298,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:300,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/include/haproxy/stick_table.h:302,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stick_table.h:302,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/stick_table.h:305,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/include/haproxy/stick_table.h:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - stkctr
    argTypes:
    - struct stkctr*
    constantsTouched: []
    func_position:
      end: 311
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 311
    functionName: stkctr_inc_http_req_ctr
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 3
    functionsReached:
    - update_freq_ctr_period
    - stktable_touch_local
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: stkctr_inc_http_req_ctr(struct stkctr *stkctr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/include/haproxy/stick_table.h:322,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/stick_table.h:326,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:328,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stick_table.h:330,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:332,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/include/haproxy/stick_table.h:334,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stick_table.h:334,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/stick_table.h:337,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/include/haproxy/stick_table.h:341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - stkctr
    argTypes:
    - struct stkctr*
    constantsTouched: []
    func_position:
      end: 343
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 343
    functionName: stkctr_inc_http_err_ctr
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 2
    functionsReached:
    - update_freq_ctr_period
    - stktable_touch_local
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: stkctr_inc_http_err_ctr(struct stkctr *stkctr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/include/haproxy/stick_table.h:354,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/stick_table.h:358,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:360,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stick_table.h:362,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:364,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/include/haproxy/stick_table.h:366,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stick_table.h:366,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/stick_table.h:369,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/include/haproxy/stick_table.h:373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - stkctr
    argTypes:
    - struct stkctr*
    constantsTouched: []
    func_position:
      end: 375
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 375
    functionName: stkctr_inc_http_fail_ctr
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 2
    functionsReached:
    - update_freq_ctr_period
    - stktable_touch_local
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: stkctr_inc_http_fail_ctr(struct stkctr *stkctr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/include/haproxy/stick_table.h:386,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/stick_table.h:390,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:391,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stick_table.h:393,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:395,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/include/haproxy/stick_table.h:397,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stick_table.h:397,1
    - Dst: div64_32
      Src: /src/haproxy/include/haproxy/stick_table.h:399,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/stick_table.h:400,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/include/haproxy/stick_table.h:405,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - stkctr
    - bytes
    argTypes:
    - struct stkctr*
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 407
      start: 381
    functionDepth: 3
    functionLinenumber: 381
    functionLinenumberEnd: 407
    functionName: stkctr_inc_bytes_in_ctr
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 1
    functionsReached:
    - update_freq_ctr_period
    - stktable_touch_local
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - div64_32
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: stkctr_inc_bytes_in_ctr(struct stkctr *stkctr, unsigned long long bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/include/haproxy/stick_table.h:418,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/stick_table.h:422,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:423,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stick_table.h:425,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:427,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/include/haproxy/stick_table.h:429,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stick_table.h:429,1
    - Dst: div64_32
      Src: /src/haproxy/include/haproxy/stick_table.h:431,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/stick_table.h:432,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/include/haproxy/stick_table.h:437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - stkctr
    - bytes
    argTypes:
    - struct stkctr*
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 439
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 439
    functionName: stkctr_inc_bytes_out_ctr
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 1
    functionsReached:
    - update_freq_ctr_period
    - stktable_touch_local
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - div64_32
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: stkctr_inc_bytes_out_ctr(struct stkctr *stkctr, unsigned long long
      bytes)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: stkctr_entry
      Src: /src/haproxy/include/haproxy/stick_table.h:450,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/stick_table.h:454,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:456,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stick_table.h:458,1
    - Dst: stktable_data_ptr
      Src: /src/haproxy/include/haproxy/stick_table.h:460,1
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/include/haproxy/stick_table.h:462,1
    - Dst: stktable_data_cast
      Src: /src/haproxy/include/haproxy/stick_table.h:462,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/stick_table.h:465,1
    - Dst: stktable_touch_local
      Src: /src/haproxy/include/haproxy/stick_table.h:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - stkctr
    - inc
    argTypes:
    - struct stkctr*
    - uint
    constantsTouched: []
    func_position:
      end: 471
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 471
    functionName: stkctr_add_glitch_ctr
    functionSourceFile: /src/haproxy/include/haproxy/stick_table.h
    functionUses: 1
    functionsReached:
    - update_freq_ctr_period
    - stktable_touch_local
    - stkctr_entry
    - stktable_data_cast
    - stktable_data_ptr
    - HA_RWLOCK_WRUNLOCK
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: int
    signature: stkctr_add_glitch_ctr(struct stkctr *stkctr, uint inc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_is_null
      Src: /src/haproxy/include/haproxy/dynbuf.h:50,1
    - Dst: b_almost_full
      Src: /src/haproxy/include/haproxy/dynbuf.h:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: buffer_almost_full
    functionSourceFile: /src/haproxy/include/haproxy/dynbuf.h
    functionUses: 3
    functionsReached:
    - b_is_null
    - b_almost_full
    linkageType: ''
    returnType: int
    signature: buffer_almost_full(const struct buffer *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - crit
    argTypes:
    - uint
    constantsTouched: []
    func_position:
      end: 84
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 84
    functionName: b_may_alloc_for_crit
    functionSourceFile: /src/haproxy/include/haproxy/dynbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: b_may_alloc_for_crit(uint crit)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: __b_get_emergency_buf
    functionSourceFile: /src/haproxy/include/haproxy/dynbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*__b_get_emergency_buf(void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/include/haproxy/dynbuf.h:171,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/dynbuf.h:178,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/include/haproxy/dynbuf.h:178,1
    - Dst: __offer_buffers
      Src: /src/haproxy/include/haproxy/dynbuf.h:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - from
    - count
    argTypes:
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 182
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 182
    functionName: offer_buffers
    functionSourceFile: /src/haproxy/include/haproxy/dynbuf.h
    functionUses: 35
    functionsReached:
    - LIST_ISEMPTY
    - __offer_buffers
    - likely
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: offer_buffers(void *from, unsigned int count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INLIST
      Src: /src/haproxy/include/haproxy/dynbuf.h:195,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/include/haproxy/dynbuf.h:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - crit
    - bw
    argTypes:
    - enum dynbuf_crit
    - struct buffer_wait*
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: b_requeue
    functionSourceFile: /src/haproxy/include/haproxy/dynbuf.h
    functionUses: 3
    functionsReached:
    - LIST_INLIST
    - LIST_APPEND
    linkageType: ''
    returnType: int
    signature: b_requeue(enum dynbuf_crit crit, struct buffer_wait *bw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_requeue
      Src: /src/haproxy/include/haproxy/dynbuf.h:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - crit
    - bw
    - ctx
    argTypes:
    - enum dynbuf_crit
    - struct buffer_wait*
    - void*
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: b_queue
    functionSourceFile: /src/haproxy/include/haproxy/dynbuf.h
    functionUses: 8
    functionsReached:
    - b_requeue
    linkageType: ''
    returnType: int
    signature: b_queue(enum dynbuf_crit crit, struct buffer_wait *bw, void *ctx, int
      (*cb)(void *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_ATMOST1
      Src: /src/haproxy/include/haproxy/dynbuf.h:234,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/dynbuf.h:237,1
    - Dst: LIST_DEL_INIT
      Src: /src/haproxy/include/haproxy/dynbuf.h:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - bw
    - thr
    argTypes:
    - struct buffer_wait*
    - int
    constantsTouched: []
    func_position:
      end: 241
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 241
    functionName: _b_dequeue
    functionSourceFile: /src/haproxy/include/haproxy/dynbuf.h
    functionUses: 4
    functionsReached:
    - LIST_ATMOST1
    - LIST_DEL_INIT
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: _b_dequeue(struct buffer_wait *bw, int thr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/dynbuf.h:250,1
    - Dst: LIST_INLIST
      Src: /src/haproxy/include/haproxy/dynbuf.h:250,1
    - Dst: _b_dequeue
      Src: /src/haproxy/include/haproxy/dynbuf.h:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - bw
    argTypes:
    - struct buffer_wait*
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: b_dequeue
    functionSourceFile: /src/haproxy/include/haproxy/dynbuf.h
    functionUses: 15
    functionsReached:
    - LIST_INLIST
    - unlikely
    - _b_dequeue
    linkageType: ''
    returnType: void
    signature: b_dequeue(struct buffer_wait *bw)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:135,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:137,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:137,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:137,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:137,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:138,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:138,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:138,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:138,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:139,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:139,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:139,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:139,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:140,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:140,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:140,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:141,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:141,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:141,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:141,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:142,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:142,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:142,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:143,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:143,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:143,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: se_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/stconn-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*se_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:219,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:221,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:221,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:221,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:221,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:221,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:222,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:222,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:222,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:223,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:223,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:224,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:224,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:224,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:224,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:225,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:225,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:225,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:225,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:226,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:226,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/stconn-t.h:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: sc_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/stconn-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*sc_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctr
    - value
    argTypes:
    - struct freq_ctr*
    - uint
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: preload_freq_ctr
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: preload_freq_ctr(struct freq_ctr *ctr, uint value)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/freq_ctr.h:61,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/freq_ctr.h:62,1
    - Dst: HA_ATOMIC_ADD_FETCH
      Src: /src/haproxy/include/haproxy/freq_ctr.h:63,1
    - Dst: update_freq_ctr_period_slow
      Src: /src/haproxy/include/haproxy/freq_ctr.h:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ctr
    - period
    - inc
    argTypes:
    - struct freq_ctr*
    - uint
    - uint
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: update_freq_ctr_period
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 18
    functionsReached:
    - update_freq_ctr_period_slow
    - likely
    - HA_ATOMIC_LOAD
    - HA_ATOMIC_ADD_FETCH
    linkageType: ''
    returnType: uint
    signature: update_freq_ctr_period(struct freq_ctr *ctr, uint period, uint inc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: update_freq_ctr_period
      Src: /src/haproxy/include/haproxy/freq_ctr.h:74,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/include/haproxy/freq_ctr.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctr
    - inc
    argTypes:
    - struct freq_ctr*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: update_freq_ctr
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 8
    functionsReached:
    - update_freq_ctr_period
    - MS_TO_TICKS
    linkageType: ''
    returnType: unsigned int
    signature: update_freq_ctr(struct freq_ctr *ctr, unsigned int inc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freq_ctr_total
      Src: /src/haproxy/include/haproxy/freq_ctr.h:92,1
    - Dst: div64_32
      Src: /src/haproxy/include/haproxy/freq_ctr.h:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctr
    - period
    argTypes:
    - struct freq_ctr*
    - uint
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: read_freq_ctr_period
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 15
    functionsReached:
    - div64_32
    - freq_ctr_total
    linkageType: ''
    returnType: uint
    signature: read_freq_ctr_period(const struct freq_ctr *ctr, uint period)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freq_ctr_total_estimate
      Src: /src/haproxy/include/haproxy/freq_ctr.h:102,1
    - Dst: div64_32
      Src: /src/haproxy/include/haproxy/freq_ctr.h:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctr
    - period
    argTypes:
    - struct freq_ctr*
    - uint
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: read_freq_ctr_period_estimate
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 1
    functionsReached:
    - div64_32
    - freq_ctr_total_estimate
    linkageType: ''
    returnType: uint
    signature: read_freq_ctr_period_estimate(const struct freq_ctr *ctr, uint period)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freq_ctr_total
      Src: /src/haproxy/include/haproxy/freq_ctr.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctr
    - period
    argTypes:
    - struct freq_ctr*
    - uint
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: read_freq_ctr_period_flt
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 0
    functionsReached:
    - freq_ctr_total
    linkageType: ''
    returnType: double
    signature: read_freq_ctr_period_flt(const struct freq_ctr *ctr, uint period)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_freq_ctr_period
      Src: /src/haproxy/include/haproxy/freq_ctr.h:122,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/include/haproxy/freq_ctr.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctr
    argTypes:
    - struct freq_ctr*
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: read_freq_ctr
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 15
    functionsReached:
    - read_freq_ctr_period
    - MS_TO_TICKS
    linkageType: ''
    returnType: unsigned int
    signature: read_freq_ctr(const struct freq_ctr *ctr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_freq_ctr_period_flt
      Src: /src/haproxy/include/haproxy/freq_ctr.h:130,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/include/haproxy/freq_ctr.h:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctr
    argTypes:
    - struct freq_ctr*
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: read_freq_ctr_flt
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 1
    functionsReached:
    - read_freq_ctr_period_flt
    - MS_TO_TICKS
    linkageType: ''
    returnType: double
    signature: read_freq_ctr_flt(const struct freq_ctr *ctr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freq_ctr_total
      Src: /src/haproxy/include/haproxy/freq_ctr.h:139,1
    - Dst: div64_32
      Src: /src/haproxy/include/haproxy/freq_ctr.h:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ctr
    - period
    - freq
    - pend
    argTypes:
    - struct freq_ctr*
    - uint
    - uint
    - uint
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: freq_ctr_remain_period
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 1
    functionsReached:
    - div64_32
    - freq_ctr_total
    linkageType: ''
    returnType: uint
    signature: freq_ctr_remain_period(const struct freq_ctr *ctr, uint period, uint
      freq, uint pend)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freq_ctr_remain_period
      Src: /src/haproxy/include/haproxy/freq_ctr.h:153,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/include/haproxy/freq_ctr.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctr
    - freq
    - pend
    argTypes:
    - struct freq_ctr*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: freq_ctr_remain
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 2
    functionsReached:
    - freq_ctr_remain_period
    - MS_TO_TICKS
    linkageType: ''
    returnType: unsigned int
    signature: freq_ctr_remain(const struct freq_ctr *ctr, unsigned int freq, unsigned
      int pend)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: freq_ctr_total
      Src: /src/haproxy/include/haproxy/freq_ctr.h:164,1
    - Dst: div64_32
      Src: /src/haproxy/include/haproxy/freq_ctr.h:177,1
    - Dst: MAX
      Src: /src/haproxy/include/haproxy/freq_ctr.h:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ctr
    - period
    - freq
    - pend
    argTypes:
    - struct freq_ctr*
    - uint
    - uint
    - uint
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: next_event_delay_period
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 1
    functionsReached:
    - div64_32
    - MAX
    - freq_ctr_total
    linkageType: ''
    returnType: uint
    signature: next_event_delay_period(const struct freq_ctr *ctr, uint period, uint
      freq, uint pend)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next_event_delay_period
      Src: /src/haproxy/include/haproxy/freq_ctr.h:189,1
    - Dst: MS_TO_TICKS
      Src: /src/haproxy/include/haproxy/freq_ctr.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctr
    - freq
    - pend
    argTypes:
    - struct freq_ctr*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 190
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 190
    functionName: next_event_delay
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 3
    functionsReached:
    - next_event_delay_period
    - MS_TO_TICKS
    linkageType: ''
    returnType: unsigned int
    signature: next_event_delay(const struct freq_ctr *ctr, unsigned int freq, unsigned
      int pend)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/freq_ctr.h:315,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/include/haproxy/freq_ctr.h:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - sum
    - n
    - v
    argTypes:
    - unsigned int*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: swrate_add
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 1
    functionsReached:
    - __ha_cpu_relax
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: unsigned int
    signature: swrate_add(unsigned int *sum, unsigned int n, unsigned int v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/freq_ctr.h:333,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/include/haproxy/freq_ctr.h:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - sum
    - n
    - v
    argTypes:
    - unsigned int*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: swrate_add_dynamic
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 1
    functionsReached:
    - __ha_cpu_relax
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: unsigned int
    signature: swrate_add_dynamic(unsigned int *sum, unsigned int n, unsigned int
      v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: div64_32
      Src: /src/haproxy/include/haproxy/freq_ctr.h:366,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/freq_ctr.h:367,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/include/haproxy/freq_ctr.h:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - sum
    - n
    - v
    - s
    argTypes:
    - unsigned int*
    - unsigned int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 369
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 369
    functionName: swrate_add_scaled
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 0
    functionsReached:
    - div64_32
    - __ha_cpu_relax
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: unsigned int
    signature: swrate_add_scaled(unsigned int *sum, unsigned int n, unsigned int v,
      unsigned int s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/freq_ctr.h:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sum
    - n
    - v
    argTypes:
    - uint*
    - uint
    - uint
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: swrate_add_opportunistic
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: uint
    signature: swrate_add_opportunistic(uint *sum, uint n, uint v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/freq_ctr.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sum
    - n
    - v
    argTypes:
    - uint*
    - uint
    - uint
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: swrate_add_dynamic_opportunistic
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: uint
    signature: swrate_add_dynamic_opportunistic(uint *sum, uint n, uint v)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: div64_32
      Src: /src/haproxy/include/haproxy/freq_ctr.h:401,1
    - Dst: HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/freq_ctr.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - sum
    - n
    - v
    - s
    argTypes:
    - uint*
    - uint
    - uint
    - uint
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: swrate_add_scaled_opportunistic
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 1
    functionsReached:
    - div64_32
    - HA_ATOMIC_CAS
    linkageType: ''
    returnType: uint
    signature: swrate_add_scaled_opportunistic(uint *sum, uint n, uint v, uint s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sum
    - n
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: swrate_avg
    functionSourceFile: /src/haproxy/include/haproxy/freq_ctr.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: swrate_avg(unsigned int sum, unsigned int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - val
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: quic_log2
    functionSourceFile: /src/haproxy/include/haproxy/quic_enc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: quic_log2(unsigned int val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: quic_int_getsize
    functionSourceFile: /src/haproxy/include/haproxy/quic_enc.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: quic_int_getsize(uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: quic_max_int
    functionSourceFile: /src/haproxy/include/haproxy/quic_enc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: quic_max_int(size_t sz)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - val
    - buf
    - end
    argTypes:
    - uint64_t*
    - unsigned char**
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 132
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 132
    functionName: quic_dec_int
    functionSourceFile: /src/haproxy/include/haproxy/quic_enc.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "quic_dec_int(uint64_t *val,\n                               const
      unsigned char **buf,\n                               const unsigned char *end)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_del
      Src: /src/haproxy/include/haproxy/quic_enc.h:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - val
    - b
    - retlen
    argTypes:
    - uint64_t*
    - struct buffer*
    - size_t*
    constantsTouched: []
    func_position:
      end: 172
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 172
    functionName: b_quic_dec_int
    functionSourceFile: /src/haproxy/include/haproxy/quic_enc.h
    functionUses: 4
    functionsReached:
    - b_del
    linkageType: ''
    returnType: size_t
    signature: b_quic_dec_int(uint64_t *val, struct buffer *b, size_t *retlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_enc.h:184,1
    - Dst: quic_log2
      Src: /src/haproxy/include/haproxy/quic_enc.h:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - end
    - val
    argTypes:
    - unsigned char**
    - unsigned char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 199
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 199
    functionName: quic_enc_int
    functionSourceFile: /src/haproxy/include/haproxy/quic_enc.h
    functionUses: 29
    functionsReached:
    - quic_int_getsize
    - quic_log2
    linkageType: ''
    returnType: int
    signature: quic_enc_int(unsigned char **buf, const unsigned char *end, uint64_t
      val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/quic_enc.h:213,1
    - Dst: atleast2
      Src: /src/haproxy/include/haproxy/quic_enc.h:213,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_enc.h:215,1
    - Dst: b_room
      Src: /src/haproxy/include/haproxy/quic_enc.h:220,1
    - Dst: b_tail
      Src: /src/haproxy/include/haproxy/quic_enc.h:227,1
    - Dst: b_wrap
      Src: /src/haproxy/include/haproxy/quic_enc.h:232,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/quic_enc.h:233,1
    - Dst: b_tail
      Src: /src/haproxy/include/haproxy/quic_enc.h:237,1
    - Dst: quic_log2
      Src: /src/haproxy/include/haproxy/quic_enc.h:237,1
    - Dst: b_add
      Src: /src/haproxy/include/haproxy/quic_enc.h:238,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - b
    - val
    - width
    argTypes:
    - struct buffer*
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 241
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 241
    functionName: b_quic_enc_int
    functionSourceFile: /src/haproxy/include/haproxy/quic_enc.h
    functionUses: 6
    functionsReached:
    - b_room
    - atleast2
    - b_wrap
    - quic_int_getsize
    - quic_log2
    - b_add
    - b_tail
    - b_orig
    - BUG_ON
    linkageType: ''
    returnType: int
    signature: b_quic_enc_int(struct buffer *b, uint64_t val, int width)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 255
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 255
    functionName: quic_incint_size_diff
    functionSourceFile: /src/haproxy/include/haproxy/quic_enc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: quic_incint_size_diff(uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - val
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: quic_decint_size_diff
    functionSourceFile: /src/haproxy/include/haproxy/quic_enc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: quic_decint_size_diff(uint64_t val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/quic_enc.h:292,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/quic_enc.h:295,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_enc.h:295,1
    - Dst: MIN
      Src: /src/haproxy/include/haproxy/quic_enc.h:297,1
    - Dst: quic_max_int
      Src: /src/haproxy/include/haproxy/quic_enc.h:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - room
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: quic_int_cap_length
    functionSourceFile: /src/haproxy/include/haproxy/quic_enc.h
    functionUses: 0
    functionsReached:
    - quic_int_getsize
    - quic_max_int
    - likely
    - unlikely
    - MIN
    linkageType: ''
    returnType: size_t
    signature: quic_int_cap_length(size_t room)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pendconn_unlink
      Src: /src/haproxy/include/haproxy/queue.h:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - struct pendconn*
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: pendconn_cond_unlink
    functionSourceFile: /src/haproxy/include/haproxy/queue.h
    functionUses: 1
    functionsReached:
    - pendconn_unlink
    linkageType: ''
    returnType: void
    signature: pendconn_cond_unlink(struct pendconn *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pendconn_cond_unlink
      Src: /src/haproxy/include/haproxy/queue.h:73,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/queue.h:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: pendconn_free
    functionSourceFile: /src/haproxy/include/haproxy/queue.h
    functionUses: 3
    functionsReached:
    - pool_free
    - pendconn_cond_unlink
    linkageType: ''
    returnType: void
    signature: pendconn_free(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/include/haproxy/queue.h:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: server_has_room
    functionSourceFile: /src/haproxy/include/haproxy/queue.h
    functionUses: 1
    functionsReached:
    - srv_dynamic_maxconn
    linkageType: ''
    returnType: int
    signature: server_has_room(const struct server *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: srv_currently_usable
      Src: /src/haproxy/include/haproxy/queue.h:89,1
    - Dst: srv_dynamic_maxconn
      Src: /src/haproxy/include/haproxy/queue.h:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - s
    - p
    argTypes:
    - struct server*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: may_dequeue_tasks
    functionSourceFile: /src/haproxy/include/haproxy/queue.h
    functionUses: 10
    functionsReached:
    - srv_dynamic_maxconn
    - srv_currently_usable
    linkageType: ''
    returnType: int
    signature: may_dequeue_tasks(const struct server *s, const struct proxy *p)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - class
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: queue_limit_class
    functionSourceFile: /src/haproxy/include/haproxy/queue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: queue_limit_class(int class)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: queue_limit_offset
    functionSourceFile: /src/haproxy/include/haproxy/queue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: queue_limit_offset(int offset)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/include/haproxy/queue.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - queue
    - px
    - sv
    argTypes:
    - struct queue*
    - struct proxy*
    - struct server*
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: queue_init
    functionSourceFile: /src/haproxy/include/haproxy/queue.h
    functionUses: 6
    functionsReached:
    - HA_SPIN_INIT
    linkageType: ''
    returnType: void
    signature: queue_init(struct queue *queue, struct proxy *px, struct server *sv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:470,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:472,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:473,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:474,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:475,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:476,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:477,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:478,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:479,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:480,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:481,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:482,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:483,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:484,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:485,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:486,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:487,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:488,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:489,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:490,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:491,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:492,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:493,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:494,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:495,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/quic_conn-t.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 500
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 500
    functionName: qc_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/quic_conn-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*qc_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proxy_cap_str
      Src: /src/haproxy/include/haproxy/proxy.h:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: proxy_type_str
    functionSourceFile: /src/haproxy/include/haproxy/proxy.h
    functionUses: 46
    functionsReached:
    - proxy_cap_str
    linkageType: ''
    returnType: char
    signature: '*proxy_type_str(struct proxy *proxy)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proxy_find_by_name
      Src: /src/haproxy/include/haproxy/proxy.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: proxy_fe_by_name
    functionSourceFile: /src/haproxy/include/haproxy/proxy.h
    functionUses: 5
    functionsReached:
    - proxy_find_by_name
    linkageType: ''
    returnType: struct proxy
    signature: '*proxy_fe_by_name(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proxy_find_by_name
      Src: /src/haproxy/include/haproxy/proxy.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 4
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: proxy_be_by_name
    functionSourceFile: /src/haproxy/include/haproxy/proxy.h
    functionUses: 17
    functionsReached:
    - proxy_find_by_name
    linkageType: ''
    returnType: struct proxy
    signature: '*proxy_be_by_name(const char *name)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - proxy
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: proxy_reset_timeouts
    functionSourceFile: /src/haproxy/include/haproxy/proxy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: proxy_reset_timeouts(struct proxy *proxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/include/haproxy/proxy.h:138,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/include/haproxy/proxy.h:140,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/include/haproxy/proxy.h:141,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/include/haproxy/proxy.h:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - l
    - fe
    argTypes:
    - struct listener*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: proxy_inc_fe_conn_ctr
    functionSourceFile: /src/haproxy/include/haproxy/proxy.h
    functionUses: 1
    functionsReached:
    - update_freq_ctr
    - _HA_ATOMIC_INC
    - HA_ATOMIC_UPDATE_MAX
    linkageType: ''
    returnType: void
    signature: proxy_inc_fe_conn_ctr(struct listener *l, struct proxy *fe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/include/haproxy/proxy.h:149,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/include/haproxy/proxy.h:151,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/include/haproxy/proxy.h:152,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/include/haproxy/proxy.h:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - l
    - fe
    argTypes:
    - struct listener*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 154
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 154
    functionName: proxy_inc_fe_sess_ctr
    functionSourceFile: /src/haproxy/include/haproxy/proxy.h
    functionUses: 1
    functionsReached:
    - update_freq_ctr
    - _HA_ATOMIC_INC
    - HA_ATOMIC_UPDATE_MAX
    linkageType: ''
    returnType: void
    signature: proxy_inc_fe_sess_ctr(struct listener *l, struct proxy *fe)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/include/haproxy/proxy.h:166,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/include/haproxy/proxy.h:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - l
    - fe
    - http_ver
    argTypes:
    - struct listener*
    - struct proxy*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: proxy_inc_fe_cum_sess_ver_ctr
    functionSourceFile: /src/haproxy/include/haproxy/proxy.h
    functionUses: 4
    functionsReached:
    - _HA_ATOMIC_INC
    linkageType: ''
    returnType: void
    signature: "proxy_inc_fe_cum_sess_ver_ctr(struct listener *l, struct proxy *fe,\n
      \                                                unsigned int http_ver)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/include/haproxy/proxy.h:174,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/include/haproxy/proxy.h:175,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/include/haproxy/proxy.h:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - be
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: proxy_inc_be_ctr
    functionSourceFile: /src/haproxy/include/haproxy/proxy.h
    functionUses: 1
    functionsReached:
    - update_freq_ctr
    - _HA_ATOMIC_INC
    - HA_ATOMIC_UPDATE_MAX
    linkageType: ''
    returnType: void
    signature: proxy_inc_be_ctr(struct proxy *be)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/include/haproxy/proxy.h:189,1
    - Dst: _HA_ATOMIC_INC
      Src: /src/haproxy/include/haproxy/proxy.h:191,1
    - Dst: HA_ATOMIC_UPDATE_MAX
      Src: /src/haproxy/include/haproxy/proxy.h:192,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/include/haproxy/proxy.h:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - l
    - fe
    - http_ver
    argTypes:
    - struct listener*
    - struct proxy*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: proxy_inc_fe_req_ctr
    functionSourceFile: /src/haproxy/include/haproxy/proxy.h
    functionUses: 6
    functionsReached:
    - update_freq_ctr
    - _HA_ATOMIC_INC
    - HA_ATOMIC_UPDATE_MAX
    linkageType: ''
    returnType: void
    signature: "proxy_inc_fe_req_ctr(struct listener *l, struct proxy *fe,\n                                        unsigned
      int http_ver)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - p
    - status
    argTypes:
    - struct proxy*
    - int
    constantsTouched: []
    func_position:
      end: 232
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 232
    functionName: l7_status_match
    functionSourceFile: /src/haproxy/include/haproxy/proxy.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: l7_status_match(struct proxy *p, int status)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - list
    - proxy
    argTypes:
    - struct proxy*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: in_proxies_list
    functionSourceFile: /src/haproxy/include/haproxy/proxy.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: in_proxies_list(struct proxy *list, struct proxy *proxy)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/include/haproxy/proxy.h:259,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/include/haproxy/proxy.h:260,1
    - Dst: update_freq_ctr
      Src: /src/haproxy/include/haproxy/proxy.h:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - splice
    argTypes:
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: increment_send_rate
    functionSourceFile: /src/haproxy/include/haproxy/proxy.h
    functionUses: 3
    functionsReached:
    - update_freq_ctr
    - _HA_ATOMIC_ADD
    linkageType: ''
    returnType: void
    signature: increment_send_rate(uint64_t bytes, int splice)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: se_fl_zero
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: se_fl_zero(struct sedesc *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - se
    - all
    argTypes:
    - struct sedesc*
    - uint
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: se_fl_setall
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: se_fl_setall(struct sedesc *se, uint all)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - se
    - 'on'
    argTypes:
    - struct sedesc*
    - uint
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: se_fl_set
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: se_fl_set(struct sedesc *se, uint on)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - se
    - 'off'
    argTypes:
    - struct sedesc*
    - uint
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: se_fl_clr
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: se_fl_clr(struct sedesc *se, uint off)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - se
    - test
    argTypes:
    - struct sedesc*
    - uint
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: se_fl_test
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 69
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: se_fl_test(const struct sedesc *se, uint test)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: se_fl_get
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: se_fl_get(const struct sedesc *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_test
      Src: /src/haproxy/include/haproxy/stconn.h:112,1
    - Dst: se_fl_set
      Src: /src/haproxy/include/haproxy/stconn.h:113,1
    - Dst: se_fl_set
      Src: /src/haproxy/include/haproxy/stconn.h:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: se_fl_set_error
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 21
    functionsReached:
    - se_fl_set
    - se_fl_test
    linkageType: ''
    returnType: void
    signature: se_fl_set_error(struct sedesc *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_set
      Src: /src/haproxy/include/haproxy/stconn.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: se_expect_no_data
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 3
    functionsReached:
    - se_fl_set
    linkageType: ''
    returnType: void
    signature: se_expect_no_data(struct sedesc *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_clr
      Src: /src/haproxy/include/haproxy/stconn.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: se_expect_data
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 5
    functionsReached:
    - se_fl_clr
    linkageType: ''
    returnType: void
    signature: se_expect_data(struct sedesc *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: se_have_ff_data
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: se_have_ff_data(struct sedesc *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: se_ff_data
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: se_ff_data(struct sedesc *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: xref_get_peer_and_lock
      Src: /src/haproxy/include/haproxy/stconn.h:141,1
    - Dst: container_of
      Src: /src/haproxy/include/haproxy/stconn.h:145,1
    - Dst: xref_unlock
      Src: /src/haproxy/include/haproxy/stconn.h:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 149
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 149
    functionName: se_opposite
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 5
    functionsReached:
    - xref_unlock
    - container_of
    - xref_get_peer_and_lock
    linkageType: ''
    returnType: struct sedesc
    signature: '*se_opposite(struct sedesc *se)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_zero
      Src: /src/haproxy/include/haproxy/stconn.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: sc_ep_zero
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 0
    functionsReached:
    - se_fl_zero
    linkageType: ''
    returnType: forceinline
    signature: sc_ep_zero(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_setall
      Src: /src/haproxy/include/haproxy/stconn.h:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - all
    argTypes:
    - struct stconn*
    - uint
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: sc_ep_setall
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 0
    functionsReached:
    - se_fl_setall
    linkageType: ''
    returnType: forceinline
    signature: sc_ep_setall(struct stconn *sc, uint all)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_set
      Src: /src/haproxy/include/haproxy/stconn.h:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - 'on'
    argTypes:
    - struct stconn*
    - uint
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: sc_ep_set
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 15
    functionsReached:
    - se_fl_set
    linkageType: ''
    returnType: forceinline
    signature: sc_ep_set(struct stconn *sc, uint on)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_clr
      Src: /src/haproxy/include/haproxy/stconn.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - 'off'
    argTypes:
    - struct stconn*
    - uint
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: sc_ep_clr
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 16
    functionsReached:
    - se_fl_clr
    linkageType: ''
    returnType: forceinline
    signature: sc_ep_clr(struct stconn *sc, uint off)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_test
      Src: /src/haproxy/include/haproxy/stconn.h:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - test
    argTypes:
    - struct stconn*
    - uint
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: sc_ep_test
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 29
    functionsReached:
    - se_fl_test
    linkageType: ''
    returnType: forceinline
    signature: sc_ep_test(const struct stconn *sc, uint test)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_get
      Src: /src/haproxy/include/haproxy/stconn.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: sc_ep_get
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 1
    functionsReached:
    - se_fl_get
    linkageType: ''
    returnType: forceinline
    signature: sc_ep_get(const struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: sc_ep_lra
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline unsigned
    signature: sc_ep_lra(const struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: sc_ep_fsb
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline unsigned
    signature: sc_ep_fsb(const struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: sc_ep_report_read_activity
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: sc_ep_report_read_activity(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_isset
      Src: /src/haproxy/include/haproxy/stconn.h:208,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/include/haproxy/stconn.h:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - did_send
    argTypes:
    - struct stconn*
    - int
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: sc_ep_report_blocked_send
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 3
    functionsReached:
    - sc_ep_report_read_activity
    - tick_isset
    linkageType: ''
    returnType: forceinline
    signature: sc_ep_report_blocked_send(struct stconn *sc, int did_send)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/include/haproxy/stconn.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: sc_ep_report_send_activity
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 3
    functionsReached:
    - sc_ep_report_read_activity
    linkageType: ''
    returnType: forceinline
    signature: sc_ep_report_send_activity(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_have_ff_data
      Src: /src/haproxy/include/haproxy/stconn.h:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: sc_ep_have_ff_data
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 14
    functionsReached:
    - se_have_ff_data
    linkageType: ''
    returnType: forceinline unsigned
    signature: sc_ep_have_ff_data(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_ff_data
      Src: /src/haproxy/include/haproxy/stconn.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: sc_ep_ff_data
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 1
    functionsReached:
    - se_ff_data
    linkageType: ''
    returnType: forceinline
    signature: sc_ep_ff_data(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: __sc_endp
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '*__sc_endp(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: __sc_conn
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: struct connection
    signature: '*__sc_conn(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/stconn.h:251,1
    - Dst: __sc_conn
      Src: /src/haproxy/include/haproxy/stconn.h:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: sc_conn
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 93
    functionsReached:
    - sc_ep_test
    - __sc_conn
    linkageType: ''
    returnType: struct connection
    signature: '*sc_conn(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/include/haproxy/stconn.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: sc_mux_ops
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 4
    functionsReached:
    - sc_conn
    linkageType: ''
    returnType: struct mux_ops
    signature: '*sc_mux_ops(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_endp
      Src: /src/haproxy/include/haproxy/stconn.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 273
    functionName: __sc_mux_strm
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 38
    functionsReached:
    - __sc_endp
    linkageType: ''
    returnType: void
    signature: '*__sc_mux_strm(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/stconn.h:276,1
    - Dst: __sc_mux_strm
      Src: /src/haproxy/include/haproxy/stconn.h:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: sc_mux_strm
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 39
    functionsReached:
    - __sc_mux_strm
    - sc_ep_test
    linkageType: ''
    returnType: void
    signature: '*sc_mux_strm(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_endp
      Src: /src/haproxy/include/haproxy/stconn.h:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: __sc_appctx
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 31
    functionsReached:
    - __sc_endp
    linkageType: ''
    returnType: struct appctx
    signature: '*__sc_appctx(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/stconn.h:291,1
    - Dst: __sc_appctx
      Src: /src/haproxy/include/haproxy/stconn.h:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: sc_appctx
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 41
    functionsReached:
    - __sc_appctx
    - sc_ep_test
    linkageType: ''
    returnType: struct appctx
    signature: '*sc_appctx(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_stream
      Src: /src/haproxy/include/haproxy/stconn.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: __sc_strm
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 35
    functionsReached:
    - __objt_stream
    linkageType: ''
    returnType: struct stream
    signature: '*__sc_strm(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/include/haproxy/stconn.h:307,1
    - Dst: __sc_strm
      Src: /src/haproxy/include/haproxy/stconn.h:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: sc_strm
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 45
    functionsReached:
    - __sc_strm
    - obj_type
    linkageType: ''
    returnType: struct stream
    signature: '*sc_strm(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __objt_check
      Src: /src/haproxy/include/haproxy/stconn.h:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: __sc_check
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 1
    functionsReached:
    - __objt_check
    linkageType: ''
    returnType: struct check
    signature: '*__sc_check(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/include/haproxy/stconn.h:322,1
    - Dst: __objt_check
      Src: /src/haproxy/include/haproxy/stconn.h:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 325
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 325
    functionName: sc_check
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 3
    functionsReached:
    - obj_type
    - __objt_check
    linkageType: ''
    returnType: struct check
    signature: '*sc_check(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 335
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 335
    functionName: sc_get_data_name
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*sc_get_data_name(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: sc_waiting_room
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: sc_waiting_room(const struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_clr
      Src: /src/haproxy/include/haproxy/stconn.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: se_have_more_data
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 6
    functionsReached:
    - se_fl_clr
    linkageType: ''
    returnType: void
    signature: se_have_more_data(struct sedesc *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_set
      Src: /src/haproxy/include/haproxy/stconn.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: se_have_no_more_data
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 1
    functionsReached:
    - se_fl_set
    linkageType: ''
    returnType: void
    signature: se_have_no_more_data(struct sedesc *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/include/haproxy/stconn.h:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 372
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 372
    functionName: sc_will_read
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 3
    functionsReached:
    - sc_ep_report_read_activity
    linkageType: ''
    returnType: void
    signature: sc_will_read(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: sc_wont_read
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: sc_wont_read(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_set
      Src: /src/haproxy/include/haproxy/stconn.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: se_need_remote_conn
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 3
    functionsReached:
    - se_fl_set
    linkageType: ''
    returnType: void
    signature: se_need_remote_conn(struct sedesc *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/include/haproxy/stconn.h:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 405
    functionName: sc_have_buff
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 2
    functionsReached:
    - sc_ep_report_read_activity
    linkageType: ''
    returnType: void
    signature: sc_have_buff(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: sc_need_buff
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: sc_need_buff(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: sc_used_buff
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: sc_used_buff(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/include/haproxy/stconn.h:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 437
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 437
    functionName: sc_have_room
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 5
    functionsReached:
    - sc_ep_report_read_activity
    linkageType: ''
    returnType: void
    signature: sc_have_room(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/stconn.h:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sc
    - room_needed
    argTypes:
    - struct stconn*
    - ssize_t
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: sc_need_room
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 16
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: sc_need_room(struct stconn *sc, ssize_t room_needed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_test
      Src: /src/haproxy/include/haproxy/stconn.h:459,1
    - Dst: se_fl_clr
      Src: /src/haproxy/include/haproxy/stconn.h:460,1
    - Dst: sc_ep_report_send_activity
      Src: /src/haproxy/include/haproxy/stconn.h:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: se_will_consume
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 2
    functionsReached:
    - se_fl_clr
    - sc_ep_report_send_activity
    - se_fl_test
    linkageType: ''
    returnType: void
    signature: se_will_consume(struct sedesc *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_set
      Src: /src/haproxy/include/haproxy/stconn.h:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 471
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 471
    functionName: se_wont_consume
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 1
    functionsReached:
    - se_fl_set
    linkageType: ''
    returnType: void
    signature: se_wont_consume(struct sedesc *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_will_consume
      Src: /src/haproxy/include/haproxy/stconn.h:479,1
    - Dst: se_fl_set
      Src: /src/haproxy/include/haproxy/stconn.h:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 3
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: se_need_more_data
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 1
    functionsReached:
    - se_fl_set
    - se_will_consume
    linkageType: ''
    returnType: void
    signature: se_need_more_data(struct sedesc *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_test
      Src: /src/haproxy/include/haproxy/stconn.h:488,1
    - Dst: se_fl_test
      Src: /src/haproxy/include/haproxy/stconn.h:494,1
    - Dst: struct mux_ops*::nego_fastfwd
      Src: /src/haproxy/include/haproxy/stconn.h:499,1
    - Dst: sc_ep_report_blocked_send
      Src: /src/haproxy/include/haproxy/stconn.h:501,1
    - Dst: struct mux_ops*::subscribe
      Src: /src/haproxy/include/haproxy/stconn.h:507,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - se
    - input
    - count
    - flags
    argTypes:
    - struct sedesc*
    - struct buffer*
    - size_t
    - unsigned int
    constantsTouched: []
    func_position:
      end: 517
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 517
    functionName: se_nego_ff
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 3
    functionsReached:
    - struct mux_ops*::nego_fastfwd
    - sc_ep_report_blocked_send
    - struct mux_ops*::subscribe
    - se_fl_test
    linkageType: ''
    returnType: size_t
    signature: se_nego_ff(struct sedesc *se, struct buffer *input, size_t count, unsigned
      int flags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: se_fl_test
      Src: /src/haproxy/include/haproxy/stconn.h:527,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/stconn.h:531,1
    - Dst: struct mux_ops*::done_fastfwd
      Src: /src/haproxy/include/haproxy/stconn.h:532,1
    - Dst: sc_ep_report_send_activity
      Src: /src/haproxy/include/haproxy/stconn.h:540,1
    - Dst: sc_ep_report_blocked_send
      Src: /src/haproxy/include/haproxy/stconn.h:542,1
    - Dst: sc_ep_report_blocked_send
      Src: /src/haproxy/include/haproxy/stconn.h:551,1
    - Dst: sc_ep_report_blocked_send
      Src: /src/haproxy/include/haproxy/stconn.h:553,1
    - Dst: struct mux_ops*::subscribe
      Src: /src/haproxy/include/haproxy/stconn.h:559,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - se
    argTypes:
    - struct sedesc*
    constantsTouched: []
    func_position:
      end: 566
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 566
    functionName: se_done_ff
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 3
    functionsReached:
    - struct mux_ops*::done_fastfwd
    - se_fl_test
    - sc_ep_report_send_activity
    - BUG_ON
    - struct mux_ops*::subscribe
    - sc_ep_report_blocked_send
    linkageType: ''
    returnType: size_t
    signature: se_done_ff(struct sedesc *se)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tevt_report_event
      Src: /src/haproxy/include/haproxy/stconn.h:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - se
    - type
    argTypes:
    - struct sedesc*
    - enum se_term_event_type
    constantsTouched: []
    func_position:
      end: 575
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 575
    functionName: se_report_term_evt
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 18
    functionsReached:
    - tevt_report_event
    linkageType: ''
    returnType: void
    signature: se_report_term_evt(struct sedesc *se, enum se_term_event_type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tevt_report_event
      Src: /src/haproxy/include/haproxy/stconn.h:583,1
    - Dst: sc_strm
      Src: /src/haproxy/include/haproxy/stconn.h:584,1
    - Dst: __sc_strm
      Src: /src/haproxy/include/haproxy/stconn.h:585,1
    - Dst: tevt_report_event
      Src: /src/haproxy/include/haproxy/stconn.h:585,1
    - Dst: __sc_strm
      Src: /src/haproxy/include/haproxy/stconn.h:585,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - type
    argTypes:
    - struct stconn*
    - enum strm_term_event_type
    constantsTouched: []
    func_position:
      end: 586
      start: 577
    functionDepth: 3
    functionLinenumber: 577
    functionLinenumberEnd: 586
    functionName: sc_report_term_evt
    functionSourceFile: /src/haproxy/include/haproxy/stconn.h
    functionUses: 7
    functionsReached:
    - __sc_strm
    - tevt_report_event
    - sc_strm
    linkageType: ''
    returnType: void
    signature: sc_report_term_evt(struct stconn *sc, enum strm_term_event_type type)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/haproxy/include/haproxy/namespace.h:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ns
    - domain
    - type
    - protocol
    argTypes:
    - struct netns_entry*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: my_socketat
    functionSourceFile: /src/haproxy/include/haproxy/namespace.h
    functionUses: 4
    functionsReached:
    - socket
    linkageType: ''
    returnType: int
    signature: my_socketat(const struct netns_entry *ns, int domain, int type, int
      protocol)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/vars.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vars
    argTypes:
    - struct vars*
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: vars_wrlock
    functionSourceFile: /src/haproxy/include/haproxy/vars.h
    functionUses: 2
    functionsReached:
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: void
    signature: vars_wrlock(struct vars *vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/vars.h:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vars
    argTypes:
    - struct vars*
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: vars_wrunlock
    functionSourceFile: /src/haproxy/include/haproxy/vars.h
    functionUses: 2
    functionsReached:
    - HA_RWLOCK_WRUNLOCK
    linkageType: ''
    returnType: void
    signature: vars_wrunlock(struct vars *vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/include/haproxy/vars.h:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vars
    argTypes:
    - struct vars*
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: vars_rdlock
    functionSourceFile: /src/haproxy/include/haproxy/vars.h
    functionUses: 1
    functionsReached:
    - HA_RWLOCK_RDLOCK
    linkageType: ''
    returnType: void
    signature: vars_rdlock(struct vars *vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/include/haproxy/vars.h:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vars
    argTypes:
    - struct vars*
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: vars_rdunlock
    functionSourceFile: /src/haproxy/include/haproxy/vars.h
    functionUses: 1
    functionsReached:
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: void
    signature: vars_rdunlock(struct vars *vars)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: cebu64_first
      Src: /src/haproxy/include/haproxy/vars.h:89,1
    - Dst: container_of
      Src: /src/haproxy/include/haproxy/vars.h:90,1
    - Dst: var_clear
      Src: /src/haproxy/include/haproxy/vars.h:91,1
    - Dst: var_accounting_diff
      Src: /src/haproxy/include/haproxy/vars.h:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - vars
    - sess
    - strm
    argTypes:
    - struct vars*
    - struct session*
    - struct stream*
    constantsTouched: []
    func_position:
      end: 99
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 99
    functionName: vars_prune
    functionSourceFile: /src/haproxy/include/haproxy/vars.h
    functionUses: 6
    functionsReached:
    - var_clear
    - container_of
    - cebu64_first
    - var_accounting_diff
    linkageType: ''
    returnType: void
    signature: vars_prune(struct vars *vars, struct session *sess, struct stream *strm)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_last
      Src: /src/haproxy/include/haproxy/quic_frame.h:60,1
    - Dst: eb64_entry
      Src: /src/haproxy/include/haproxy/quic_frame.h:61,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:62,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:63,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:64,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:65,1
    - Dst: eb64_prev
      Src: /src/haproxy/include/haproxy/quic_frame.h:67,1
    - Dst: eb64_entry
      Src: /src/haproxy/include/haproxy/quic_frame.h:68,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:69,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:70,1
    - Dst: eb64_entry
      Src: /src/haproxy/include/haproxy/quic_frame.h:72,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:78,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:79,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:79,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:84,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:84,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:89,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:89,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:94,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:99,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:100,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:101,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:106,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:111,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:111,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:116,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:121,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:126,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:131,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:131,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:136,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:141,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:146,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:146,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:147,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:152,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:167,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:167,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:168,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:173,1
    - Dst: quic_int_getsize
      Src: /src/haproxy/include/haproxy/quic_frame.h:174,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 102
    argCount: 1
    argNames:
    - frm
    argTypes:
    - struct quic_frame*
    constantsTouched: []
    func_position:
      end: 186
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 186
    functionName: qc_frm_len
    functionSourceFile: /src/haproxy/include/haproxy/quic_frame.h
    functionUses: 2
    functionsReached:
    - eb64_entry
    - quic_int_getsize
    - eb64_prev
    - eb64_last
    linkageType: ''
    returnType: size_t
    signature: qc_frm_len(struct quic_frame *frm)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: quic_err_transport
    functionSourceFile: /src/haproxy/include/haproxy/quic_frame.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: struct quic_err
    signature: quic_err_transport(uint64_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tls_alert
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: quic_err_tls
    functionSourceFile: /src/haproxy/include/haproxy/quic_frame.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct quic_err
    signature: quic_err_tls(uint64_t tls_alert)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: quic_err_app
    functionSourceFile: /src/haproxy/include/haproxy/quic_frame.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct quic_err
    signature: quic_err_app(uint64_t code)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/quic_frame.h:213,1
    - Dst: LIST_INIT
      Src: /src/haproxy/include/haproxy/quic_frame.h:219,1
    - Dst: LIST_INIT
      Src: /src/haproxy/include/haproxy/quic_frame.h:220,1
    - Dst: LIST_INIT
      Src: /src/haproxy/include/haproxy/quic_frame.h:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 228
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 228
    functionName: qc_frm_alloc
    functionSourceFile: /src/haproxy/include/haproxy/quic_frame.h
    functionUses: 11
    functionsReached:
    - LIST_INIT
    - pool_alloc
    linkageType: ''
    returnType: struct quic_frame
    signature: '*qc_frm_alloc(uint64_t type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/quic_frame.h:241,1
    - Dst: LIST_INIT
      Src: /src/haproxy/include/haproxy/quic_frame.h:248,1
    - Dst: LIST_INIT
      Src: /src/haproxy/include/haproxy/quic_frame.h:249,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/include/haproxy/quic_frame.h:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - origin
    argTypes:
    - struct quic_frame*
    constantsTouched: []
    func_position:
      end: 258
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 258
    functionName: qc_frm_dup
    functionSourceFile: /src/haproxy/include/haproxy/quic_frame.h
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    - LIST_INIT
    - pool_alloc
    linkageType: ''
    returnType: struct quic_frame
    signature: '*qc_frm_dup(struct quic_frame *origin)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_make
      Src: /src/haproxy/include/haproxy/quic_frame.h:274,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/quic_frame.h:274,1
    - Dst: b_size
      Src: /src/haproxy/include/haproxy/quic_frame.h:275,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/quic_frame.h:276,1
    - Dst: b_peek
      Src: /src/haproxy/include/haproxy/quic_frame.h:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - frm
    - data
    argTypes:
    - struct quic_frame*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 278
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 278
    functionName: qc_stream_frm_mv_fwd
    functionSourceFile: /src/haproxy/include/haproxy/quic_frame.h
    functionUses: 1
    functionsReached:
    - b_size
    - b_peek
    - b_orig
    - b_make
    linkageType: ''
    returnType: void
    signature: qc_stream_frm_mv_fwd(struct quic_frame *frm, uint64_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_varint
      Src: /src/haproxy/include/haproxy/spoe.h:56,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/spoe.h:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - str
    - len
    - buf
    - end
    argTypes:
    - char*
    - size_t
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: spoe_encode_buffer
    functionSourceFile: /src/haproxy/include/haproxy/spoe.h
    functionUses: 3
    functionsReached:
    - encode_varint
    - memcpy
    linkageType: ''
    returnType: int
    signature: spoe_encode_buffer(const char *str, size_t len, char **buf, char *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_varint
      Src: /src/haproxy/include/haproxy/spoe.h:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - buf
    - end
    - str
    - len
    argTypes:
    - char**
    - char*
    - char**
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 86
    functionName: spoe_decode_buffer
    functionSourceFile: /src/haproxy/include/haproxy/spoe.h
    functionUses: 5
    functionsReached:
    - decode_varint
    linkageType: ''
    returnType: int
    signature: spoe_decode_buffer(char **buf, char *end, char **str, uint64_t *len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: encode_varint
      Src: /src/haproxy/include/haproxy/spoe.h:116,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/spoe.h:124,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/spoe.h:132,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/include/haproxy/spoe.h:141,1
    - Dst: spoe_encode_buffer
      Src: /src/haproxy/include/haproxy/spoe.h:166,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 92
    argCount: 3
    argNames:
    - smp
    - buf
    - end
    argTypes:
    - struct sample*
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 180
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 180
    functionName: spoe_encode_data
    functionSourceFile: /src/haproxy/include/haproxy/spoe.h
    functionUses: 1
    functionsReached:
    - spoe_encode_buffer
    - encode_varint
    - memcpy
    linkageType: ''
    returnType: int
    signature: spoe_encode_data(struct sample *smp, char **buf, char *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_varint
      Src: /src/haproxy/include/haproxy/spoe.h:209,1
    - Dst: spoe_decode_buffer
      Src: /src/haproxy/include/haproxy/spoe.h:225,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - buf
    - end
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 233
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 233
    functionName: spoe_skip_data
    functionSourceFile: /src/haproxy/include/haproxy/spoe.h
    functionUses: 3
    functionsReached:
    - decode_varint
    - spoe_decode_buffer
    linkageType: ''
    returnType: int
    signature: spoe_skip_data(char **buf, char *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: decode_varint
      Src: /src/haproxy/include/haproxy/spoe.h:257,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/spoe.h:265,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/spoe.h:271,1
    - Dst: spoe_decode_buffer
      Src: /src/haproxy/include/haproxy/spoe.h:278,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - buf
    - end
    - smp
    argTypes:
    - char**
    - char*
    - struct sample*
    constantsTouched: []
    func_position:
      end: 289
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 289
    functionName: spoe_decode_data
    functionSourceFile: /src/haproxy/include/haproxy/spoe.h
    functionUses: 1
    functionsReached:
    - spoe_decode_buffer
    - decode_varint
    - memcpy
    linkageType: ''
    returnType: int
    signature: spoe_decode_data(char **buf, char *end, struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/haproxy/include/haproxy/spoe.h:306,1
    - Dst: isspace
      Src: /src/haproxy/include/haproxy/spoe.h:340,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 348
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 348
    functionName: spoe_str_to_vsn
    functionSourceFile: /src/haproxy/include/haproxy/spoe.h
    functionUses: 2
    functionsReached:
    - isspace
    linkageType: ''
    returnType: int
    signature: spoe_str_to_vsn(const char *str, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - vsn
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 365
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 365
    functionName: spoe_check_vsn
    functionSourceFile: /src/haproxy/include/haproxy/spoe.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: spoe_check_vsn(int vsn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - err_code
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: conn_set_errcode
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: conn_set_errcode(struct connection *conn, int err_code)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: conn_xprt_ready
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: conn_xprt_ready(const struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: conn_ctrl_ready
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: conn_ctrl_ready(const struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_xprt_ready
      Src: /src/haproxy/include/haproxy/connection.h:144,1
    - Dst: struct connection*::xprt::start
      Src: /src/haproxy/include/haproxy/connection.h:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: conn_xprt_start
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 4
    functionsReached:
    - struct connection*::xprt::start
    - conn_xprt_ready
    linkageType: ''
    returnType: int
    signature: conn_xprt_start(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct connection*::xprt::close
      Src: /src/haproxy/include/haproxy/connection.h:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: conn_xprt_close
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 4
    functionsReached:
    - struct connection*::xprt::close
    linkageType: ''
    returnType: void
    signature: conn_xprt_close(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/include/haproxy/connection.h:177,1
    - Dst: struct connection*::ctrl::ctrl_init
      Src: /src/haproxy/include/haproxy/connection.h:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: conn_ctrl_init
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 5
    functionsReached:
    - conn_ctrl_ready
    - struct connection*::ctrl::ctrl_init
    linkageType: ''
    returnType: void
    signature: conn_ctrl_init(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_drain
      Src: /src/haproxy/include/haproxy/connection.h:191,1
    - Dst: struct connection*::ctrl::ctrl_close
      Src: /src/haproxy/include/haproxy/connection.h:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: conn_ctrl_close
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 3
    functionsReached:
    - conn_ctrl_drain
    - struct connection*::ctrl::ctrl_close
    linkageType: ''
    returnType: void
    signature: conn_ctrl_close(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_xprt_close
      Src: /src/haproxy/include/haproxy/connection.h:206,1
    - Dst: conn_ctrl_close
      Src: /src/haproxy/include/haproxy/connection.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: conn_full_close
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 9
    functionsReached:
    - conn_xprt_close
    - conn_ctrl_close
    linkageType: ''
    returnType: void
    signature: conn_full_close(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: conn_stop_tracking
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: conn_stop_tracking(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/include/haproxy/connection.h:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: conn_fd
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 6
    functionsReached:
    - conn_ctrl_ready
    linkageType: ''
    returnType: int
    signature: conn_fd(const struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/include/haproxy/connection.h:234,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/connection.h:238,1
    - Dst: HA_ATOMIC_AND
      Src: /src/haproxy/include/haproxy/connection.h:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 241
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 241
    functionName: conn_sock_read0
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 3
    functionsReached:
    - conn_ctrl_ready
    - BUG_ON
    - HA_ATOMIC_AND
    linkageType: ''
    returnType: void
    signature: conn_sock_read0(struct connection *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/include/haproxy/connection.h:251,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/connection.h:255,1
    - Dst: shutdown
      Src: /src/haproxy/include/haproxy/connection.h:257,1
    - Dst: conn_report_term_evt
      Src: /src/haproxy/include/haproxy/connection.h:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - c
    - clean
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 260
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 260
    functionName: conn_sock_shutw
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 5
    functionsReached:
    - conn_ctrl_ready
    - conn_report_term_evt
    - BUG_ON
    - shutdown
    linkageType: ''
    returnType: void
    signature: conn_sock_shutw(struct connection *c, int clean)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct connection*::xprt::shutw
      Src: /src/haproxy/include/haproxy/connection.h:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: conn_xprt_shutw
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 4
    functionsReached:
    - struct connection*::xprt::shutw
    linkageType: ''
    returnType: void
    signature: conn_xprt_shutw(struct connection *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct connection*::xprt::shutw
      Src: /src/haproxy/include/haproxy/connection.h:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: conn_xprt_shutw_hard
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 0
    functionsReached:
    - struct connection*::xprt::shutw
    linkageType: ''
    returnType: void
    signature: conn_xprt_shutw_hard(struct connection *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: conn_xprt_read0_pending
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: conn_xprt_read0_pending(struct connection *c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct xprt_ops*::init
      Src: /src/haproxy/include/haproxy/connection.h:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - conn
    - proto
    - xprt
    argTypes:
    - struct connection*
    - struct protocol*
    - struct xprt_ops*
    constantsTouched: []
    func_position:
      end: 304
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 304
    functionName: conn_prepare
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 4
    functionsReached:
    - struct xprt_ops*::init
    linkageType: ''
    returnType: int
    signature: conn_prepare(struct connection *conn, const struct protocol *proto,
      const struct xprt_ops *xprt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_listener
      Src: /src/haproxy/include/haproxy/connection.h:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: conn_is_back
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 25
    functionsReached:
    - objt_listener
    linkageType: ''
    returnType: int
    signature: conn_is_back(const struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - owner
    argTypes:
    - struct connection*
    - void*
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: conn_set_owner
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: conn_set_owner(struct connection *conn, void *owner, void (*cb)(struct
      connection *))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: obj_type
      Src: /src/haproxy/include/haproxy/connection.h:329,1
    - Dst: srv_release_conn
      Src: /src/haproxy/include/haproxy/connection.h:330,1
    - Dst: __objt_server
      Src: /src/haproxy/include/haproxy/connection.h:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 332
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 332
    functionName: conn_set_private
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 4
    functionsReached:
    - __objt_server
    - srv_release_conn
    - obj_type
    linkageType: ''
    returnType: void
    signature: conn_set_private(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: conn_force_unsubscribe
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: conn_force_unsubscribe(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: conn_src
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: '*conn_src(struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: conn_dst
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: '*conn_dst(struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/include/haproxy/connection.h:363,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/include/haproxy/connection.h:366,1
    - Dst: struct connection*::ctrl::get_src
      Src: /src/haproxy/include/haproxy/connection.h:371,1
    - Dst: struct connection*::ctrl::fam::get_src
      Src: /src/haproxy/include/haproxy/connection.h:379,1
    - Dst: obj_type
      Src: /src/haproxy/include/haproxy/connection.h:381,1
    - Dst: sockaddr_free
      Src: /src/haproxy/include/haproxy/connection.h:386,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 390
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 390
    functionName: conn_get_src
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 18
    functionsReached:
    - sockaddr_free
    - struct connection*::ctrl::fam::get_src
    - sockaddr_alloc
    - conn_ctrl_ready
    - obj_type
    - struct connection*::ctrl::get_src
    linkageType: ''
    returnType: int
    signature: conn_get_src(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/include/haproxy/connection.h:401,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/include/haproxy/connection.h:404,1
    - Dst: struct connection*::ctrl::get_dst
      Src: /src/haproxy/include/haproxy/connection.h:409,1
    - Dst: struct connection*::ctrl::fam::get_dst
      Src: /src/haproxy/include/haproxy/connection.h:417,1
    - Dst: obj_type
      Src: /src/haproxy/include/haproxy/connection.h:419,1
    - Dst: sockaddr_free
      Src: /src/haproxy/include/haproxy/connection.h:424,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 428
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 428
    functionName: conn_get_dst
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 15
    functionsReached:
    - sockaddr_free
    - sockaddr_alloc
    - conn_ctrl_ready
    - obj_type
    - struct connection*::ctrl::get_dst
    - struct connection*::ctrl::fam::get_dst
    linkageType: ''
    returnType: int
    signature: conn_get_dst(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/include/haproxy/connection.h:436,1
    - Dst: sock_set_tos
      Src: /src/haproxy/include/haproxy/connection.h:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - tos
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: conn_set_tos
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 2
    functionsReached:
    - conn_ctrl_ready
    - sock_set_tos
    linkageType: ''
    returnType: void
    signature: conn_set_tos(const struct connection *conn, int tos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/include/haproxy/connection.h:447,1
    - Dst: sock_set_mark
      Src: /src/haproxy/include/haproxy/connection.h:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - mark
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 451
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 451
    functionName: conn_set_mark
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 2
    functionsReached:
    - conn_ctrl_ready
    - sock_set_mark
    linkageType: ''
    returnType: void
    signature: conn_set_mark(const struct connection *conn, int mark)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/include/haproxy/connection.h:458,1
    - Dst: setsockopt
      Src: /src/haproxy/include/haproxy/connection.h:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - conn
    - value
    argTypes:
    - struct connection*
    - int
    constantsTouched: []
    func_position:
      end: 464
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 464
    functionName: conn_set_quickack
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 1
    functionsReached:
    - conn_ctrl_ready
    - setsockopt
    linkageType: ''
    returnType: void
    signature: conn_set_quickack(const struct connection *conn, int value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - wl
    - (*cb)(struct task *, void *, unsigned int)
    - ctx
    argTypes:
    - struct wait_event*
    - struct task*
    - void*
    constantsTouched: []
    func_position:
      end: 473
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 473
    functionName: wl_set_waitcb
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct wait_event
    signature: '*wl_set_waitcb(struct wait_event *wl, struct task *(*cb)(struct task
      *, void *, unsigned int), void *ctx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct mux_ops*::init
      Src: /src/haproxy/include/haproxy/connection.h:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - conn
    - mux
    - ctx
    - prx
    - sess
    argTypes:
    - struct connection*
    - struct mux_ops*
    - void*
    - struct proxy*
    - struct session*
    constantsTouched: []
    func_position:
      end: 491
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 491
    functionName: conn_install_mux
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 4
    functionsReached:
    - struct mux_ops*::init
    linkageType: ''
    returnType: int
    signature: "conn_install_mux(struct connection *conn, const struct mux_ops *mux,\n
      \                                  void *ctx, struct proxy *prx, struct session
      *sess)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/connection.h:504,1
    - Dst: struct connection*::mux::get_first_sc
      Src: /src/haproxy/include/haproxy/connection.h:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 509
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 509
    functionName: conn_get_first_sc
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 1
    functionsReached:
    - struct connection*::mux::get_first_sc
    - BUG_ON
    linkageType: ''
    returnType: struct stconn
    signature: '*conn_get_first_sc(const struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/include/haproxy/connection.h:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 518
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 518
    functionName: conn_get_ctrl_name
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 2
    functionsReached:
    - conn_ctrl_ready
    linkageType: ''
    returnType: char
    signature: '*conn_get_ctrl_name(const struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 525
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 525
    functionName: conn_get_xprt_name
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*conn_get_xprt_name(const struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: conn_get_mux_name
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*conn_get_mux_name(const struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - id
    - xprt
    argTypes:
    - int
    - struct xprt_ops*
    constantsTouched: []
    func_position:
      end: 540
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 540
    functionName: xprt_register
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: xprt_register(int id, struct xprt_ops *xprt)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 548
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 548
    functionName: xprt_get
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: struct xprt_ops
    signature: '*xprt_get(int id)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct xprt_ops*::set_idle
      Src: /src/haproxy/include/haproxy/connection.h:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - conn
    - xprt
    - xprt_ctx
    argTypes:
    - struct connection*
    - struct xprt_ops*
    - void*
    constantsTouched: []
    func_position:
      end: 558
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 558
    functionName: xprt_set_idle
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 6
    functionsReached:
    - struct xprt_ops*::set_idle
    linkageType: ''
    returnType: void
    signature: xprt_set_idle(struct connection *conn, const struct xprt_ops *xprt,
      void *xprt_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct xprt_ops*::set_used
      Src: /src/haproxy/include/haproxy/connection.h:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - conn
    - xprt
    - xprt_ctx
    argTypes:
    - struct connection*
    - struct xprt_ops*
    - void*
    constantsTouched: []
    func_position:
      end: 567
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 567
    functionName: xprt_set_used
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 5
    functionsReached:
    - struct xprt_ops*::set_used
    linkageType: ''
    returnType: void
    signature: xprt_set_used(struct connection *conn, const struct xprt_ops *xprt,
      void *xprt_ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_xprt_ready
      Src: /src/haproxy/include/haproxy/connection.h:571,1
    - Dst: struct connection*::xprt::get_alpn
      Src: /src/haproxy/include/haproxy/connection.h:573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - conn
    - str
    - len
    argTypes:
    - struct connection*
    - char**
    - int*
    constantsTouched: []
    func_position:
      end: 574
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 574
    functionName: conn_get_alpn
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 6
    functionsReached:
    - struct connection*::xprt::get_alpn
    - conn_xprt_ready
    linkageType: ''
    returnType: int
    signature: conn_get_alpn(const struct connection *conn, const char **str, int
      *len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/include/haproxy/connection.h:579,1
    - Dst: LIST_INIT
      Src: /src/haproxy/include/haproxy/connection.h:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct mux_proto_list*
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: unregister_mux_proto
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 0
    functionsReached:
    - LIST_DELETE
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: unregister_mux_proto(struct mux_proto_list *list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/include/haproxy/connection.h:587,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/connection.h:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - proto
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 592
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 592
    functionName: get_mux_proto
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 7
    functionsReached:
    - list_for_each_entry
    - isteq
    linkageType: ''
    returnType: struct mux_proto_list
    signature: '*get_mux_proto(const struct ist proto)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: list_for_each_entry
      Src: /src/haproxy/include/haproxy/connection.h:612,1
    - Dst: istlen
      Src: /src/haproxy/include/haproxy/connection.h:615,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/connection.h:615,1
    - Dst: istlen
      Src: /src/haproxy/include/haproxy/connection.h:617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - mux_proto
    - proto_side
    - proto_mode
    argTypes:
    - struct ist
    - int
    - int
    constantsTouched: []
    func_position:
      end: 624
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 624
    functionName: conn_get_best_mux_entry
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 3
    functionsReached:
    - list_for_each_entry
    - istlen
    - isteq
    linkageType: ''
    returnType: struct mux_proto_list
    signature: "*conn_get_best_mux_entry(\n        const struct ist mux_proto,\n        int
      proto_side, int proto_mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_best_mux_entry
      Src: /src/haproxy/include/haproxy/connection.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - conn
    - mux_proto
    - proto_side
    - proto_mode
    argTypes:
    - struct connection*
    - struct ist
    - int
    - int
    constantsTouched: []
    func_position:
      end: 641
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 641
    functionName: conn_get_best_mux
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 5
    functionsReached:
    - conn_get_best_mux_entry
    linkageType: ''
    returnType: struct mux_ops
    signature: "*conn_get_best_mux(struct connection *conn,\n\t\t\t\t\t\t      const
      struct ist mux_proto,\n\t\t\t\t\t\t      int proto_side, int proto_mode)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_listener
      Src: /src/haproxy/include/haproxy/connection.h:653,1
    - Dst: objt_server
      Src: /src/haproxy/include/haproxy/connection.h:658,1
    - Dst: objt_proxy
      Src: /src/haproxy/include/haproxy/connection.h:662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 663
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 663
    functionName: conn_get_proxy
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 0
    functionsReached:
    - objt_server
    - objt_listener
    - objt_proxy
    linkageType: ''
    returnType: struct proxy
    signature: '*conn_get_proxy(const struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct connection*::xprt::get_ssl_sock_ctx
      Src: /src/haproxy/include/haproxy/connection.h:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 672
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 672
    functionName: __conn_get_ssl_sock_ctx
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 3
    functionsReached:
    - struct connection*::xprt::get_ssl_sock_ctx
    linkageType: ''
    returnType: struct ssl_sock_ctx
    signature: '*__conn_get_ssl_sock_ctx(struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: struct connection*::xprt::get_ssl_sock_ctx
      Src: /src/haproxy/include/haproxy/connection.h:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 680
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 680
    functionName: conn_get_ssl_sock_ctx
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 25
    functionsReached:
    - struct connection*::xprt::get_ssl_sock_ctx
    linkageType: ''
    returnType: struct ssl_sock_ctx
    signature: '*conn_get_ssl_sock_ctx(struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_get_ssl_sock_ctx
      Src: /src/haproxy/include/haproxy/connection.h:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: conn_is_ssl
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 5
    functionsReached:
    - conn_get_ssl_sock_ctx
    linkageType: ''
    returnType: int
    signature: conn_is_ssl(struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: conn_is_reverse
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: conn_is_reverse(const struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_back
      Src: /src/haproxy/include/haproxy/connection.h:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 699
      start: 695
    functionDepth: 3
    functionLinenumber: 695
    functionLinenumberEnd: 699
    functionName: conn_reverse_in_preconnect
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 7
    functionsReached:
    - conn_is_back
    linkageType: ''
    returnType: int
    signature: conn_reverse_in_preconnect(const struct connection *conn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/connection.h:705,1
    - Dst: conn_is_back
      Src: /src/haproxy/include/haproxy/connection.h:705,1
    - Dst: objt_server
      Src: /src/haproxy/include/haproxy/connection.h:705,1
    - Dst: conn_is_back
      Src: /src/haproxy/include/haproxy/connection.h:706,1
    - Dst: objt_listener
      Src: /src/haproxy/include/haproxy/connection.h:706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - conn
    - target
    argTypes:
    - struct connection*
    - enum obj_type*
    constantsTouched: []
    func_position:
      end: 709
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 709
    functionName: conn_set_reverse
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 2
    functionsReached:
    - objt_server
    - conn_is_back
    - objt_listener
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: conn_set_reverse(struct connection *conn, enum obj_type *target)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_back
      Src: /src/haproxy/include/haproxy/connection.h:714,1
    - Dst: __objt_listener
      Src: /src/haproxy/include/haproxy/connection.h:714,1
    - Dst: __objt_listener
      Src: /src/haproxy/include/haproxy/connection.h:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - struct connection*
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 3
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: conn_active_reverse_listener
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 2
    functionsReached:
    - conn_is_back
    - __objt_listener
    linkageType: ''
    returnType: struct listener
    signature: '*conn_active_reverse_listener(const struct connection *conn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tlv_type
    - tlv_arg
    argTypes:
    - int
    - struct arg*
    constantsTouched: []
    func_position:
      end: 730
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 730
    functionName: set_tlv_arg
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: set_tlv_arg(int tlv_type, struct arg *tlv_arg)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - proxy_mode
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 744
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 744
    functionName: conn_pr_mode_to_proto_mode
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: conn_pr_mode_to_proto_mode(int proxy_mode)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 1
    argNames:
    - evts
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 804
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 804
    functionName: tevt_evts2str
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*tevt_evts2str(uint32_t evts)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_back
      Src: /src/haproxy/include/haproxy/connection.h:809,1
    - Dst: tevt_report_event
      Src: /src/haproxy/include/haproxy/connection.h:811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - conn
    - loc
    - type
    argTypes:
    - struct connection*
    - enum term_event_loc
    - unsigned char
    constantsTouched: []
    func_position:
      end: 812
      start: 807
    functionDepth: 3
    functionLinenumber: 807
    functionLinenumberEnd: 812
    functionName: conn_report_term_evt
    functionSourceFile: /src/haproxy/include/haproxy/connection.h
    functionUses: 26
    functionsReached:
    - conn_is_back
    - tevt_report_event
    linkageType: ''
    returnType: void
    signature: conn_report_term_evt(struct connection *conn, enum term_event_loc loc,
      unsigned char type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct event_hdl_sub_type
    - struct event_hdl_sub_type
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: event_hdl_sub_family_equal
    functionSourceFile: /src/haproxy/include/haproxy/event_hdl.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: event_hdl_sub_family_equal(struct event_hdl_sub_type a, struct event_hdl_sub_type
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct event_hdl_sub_type
    - struct event_hdl_sub_type
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: event_hdl_sub_type_equal
    functionSourceFile: /src/haproxy/include/haproxy/event_hdl.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: event_hdl_sub_type_equal(struct event_hdl_sub_type a, struct event_hdl_sub_type
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/event_hdl.h:440,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/event_hdl.h:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct event_hdl_sub_type
    - struct event_hdl_sub_type
    constantsTouched: []
    func_position:
      end: 447
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 447
    functionName: event_hdl_sub_type_del
    functionSourceFile: /src/haproxy/include/haproxy/event_hdl.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: struct event_hdl_sub_type
    signature: event_hdl_sub_type_del(struct event_hdl_sub_type a, struct event_hdl_sub_type
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/event_hdl.h:453,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/event_hdl.h:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct event_hdl_sub_type
    - struct event_hdl_sub_type
    constantsTouched: []
    func_position:
      end: 460
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 460
    functionName: event_hdl_sub_type_add
    functionSourceFile: /src/haproxy/include/haproxy/event_hdl.h
    functionUses: 2
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: struct event_hdl_sub_type
    signature: event_hdl_sub_type_add(struct event_hdl_sub_type a, struct event_hdl_sub_type
      b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_INIT
      Src: /src/haproxy/include/haproxy/event_hdl.h:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - event_hdl_async_equeue*
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: event_hdl_async_equeue_init
    functionSourceFile: /src/haproxy/include/haproxy/event_hdl.h
    functionUses: 3
    functionsReached:
    - MT_LIST_INIT
    linkageType: ''
    returnType: void
    signature: event_hdl_async_equeue_init(event_hdl_async_equeue *queue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_POP
      Src: /src/haproxy/include/haproxy/event_hdl.h:481,1
    - Dst: HA_ATOMIC_DEC
      Src: /src/haproxy/include/haproxy/event_hdl.h:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - queue
    argTypes:
    - event_hdl_async_equeue*
    constantsTouched: []
    func_position:
      end: 485
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 485
    functionName: event_hdl_async_equeue_pop
    functionSourceFile: /src/haproxy/include/haproxy/event_hdl.h
    functionUses: 3
    functionsReached:
    - HA_ATOMIC_DEC
    - MT_LIST_POP
    linkageType: ''
    returnType: struct event_hdl_async_event
    signature: '*event_hdl_async_equeue_pop(event_hdl_async_equeue *queue)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_ISEMPTY
      Src: /src/haproxy/include/haproxy/event_hdl.h:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - event_hdl_async_equeue*
    constantsTouched: []
    func_position:
      end: 491
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 491
    functionName: event_hdl_async_equeue_isempty
    functionSourceFile: /src/haproxy/include/haproxy/event_hdl.h
    functionUses: 2
    functionsReached:
    - MT_LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: event_hdl_async_equeue_isempty(event_hdl_async_equeue *queue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/event_hdl.h:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - queue
    argTypes:
    - event_hdl_async_equeue*
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: event_hdl_async_equeue_size
    functionSourceFile: /src/haproxy/include/haproxy/event_hdl.h
    functionUses: 1
    functionsReached:
    - HA_ATOMIC_LOAD
    linkageType: ''
    returnType: uint32_t
    signature: event_hdl_async_equeue_size(event_hdl_async_equeue *queue)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_ISEMPTY
      Src: /src/haproxy/include/haproxy/event_hdl.h:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sub_list
    argTypes:
    - event_hdl_sub_list*
    constantsTouched: []
    func_position:
      end: 506
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: event_hdl_sub_list_empty
    functionSourceFile: /src/haproxy/include/haproxy/event_hdl.h
    functionUses: 0
    functionsReached:
    - MT_LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: event_hdl_sub_list_empty(event_hdl_sub_list *sub_list)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/task.h:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: total_run_queues
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 2
    functionsReached:
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: int
    signature: total_run_queues()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/task.h:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 156
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 156
    functionName: total_allocated_tasks
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 2
    functionsReached:
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: int
    signature: total_allocated_tasks()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/task.h:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: total_niced_running_tasks
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 2
    functionsReached:
    - _HA_ATOMIC_LOAD
    linkageType: ''
    returnType: int
    signature: total_niced_running_tasks()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct task*
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: task_in_rq
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: task_in_rq(struct task *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct task*
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: task_in_wq
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: task_in_wq(struct task *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/include/haproxy/task.h:190,1
    - Dst: eb_is_empty
      Src: /src/haproxy/include/haproxy/task.h:191,1
    - Dst: MT_LIST_ISEMPTY
      Src: /src/haproxy/include/haproxy/task.h:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: thread_has_tasks
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 3
    functionsReached:
    - MT_LIST_ISEMPTY
    - eb_is_empty
    linkageType: ''
    returnType: int
    signature: thread_has_tasks(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: task_mono_time
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: task_mono_time(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_OR_FETCH
      Src: /src/haproxy/include/haproxy/task.h:215,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/task.h:217,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/task.h:218,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/include/haproxy/task.h:219,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/task.h:220,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/task.h:222,1
    - Dst: __task_wakeup
      Src: /src/haproxy/include/haproxy/task.h:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - t
    - f
    - caller
    argTypes:
    - struct task*
    - unsigned int
    - struct ha_caller*
    constantsTouched: []
    func_position:
      end: 229
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 229
    functionName: _task_wakeup
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 4
    functionsReached:
    - _HA_ATOMIC_CAS
    - likely
    - _HA_ATOMIC_OR_FETCH
    - HA_ATOMIC_XCHG
    - HA_ATOMIC_STORE
    - BUG_ON
    - __task_wakeup
    linkageType: ''
    returnType: void
    signature: _task_wakeup(struct task *t, unsigned int f, const struct ha_caller
      *caller)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/task.h:242,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/task.h:249,1
    - Dst: __ha_cpu_relax
      Src: /src/haproxy/include/haproxy/task.h:251,1
    - Dst: __task_wakeup
      Src: /src/haproxy/include/haproxy/task.h:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - t
    - f
    argTypes:
    - struct task*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 256
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 256
    functionName: task_drop_running
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 2
    functionsReached:
    - _HA_ATOMIC_LOAD
    - _HA_ATOMIC_CAS
    - __ha_cpu_relax
    - __task_wakeup
    linkageType: ''
    returnType: void
    signature: task_drop_running(struct task *t, unsigned int f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_delete
      Src: /src/haproxy/include/haproxy/task.h:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct task*
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: __task_unlink_wq
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 3
    functionsReached:
    - eb32_delete
    linkageType: ''
    returnType: struct task
    signature: '*__task_unlink_wq(struct task *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/include/haproxy/task.h:278,1
    - Dst: task_in_wq
      Src: /src/haproxy/include/haproxy/task.h:278,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/task.h:280,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/task.h:282,1
    - Dst: __task_unlink_wq
      Src: /src/haproxy/include/haproxy/task.h:283,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/task.h:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct task*
    constantsTouched: []
    func_position:
      end: 288
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 288
    functionName: task_unlink_wq
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 7
    functionsReached:
    - HA_RWLOCK_WRUNLOCK
    - likely
    - __task_unlink_wq
    - HA_RWLOCK_WRLOCK
    - task_in_wq
    - BUG_ON
    linkageType: ''
    returnType: struct task
    signature: '*task_unlink_wq(struct task *t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_isset
      Src: /src/haproxy/include/haproxy/task.h:310,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/task.h:315,1
    - Dst: task_in_wq
      Src: /src/haproxy/include/haproxy/task.h:316,1
    - Dst: tick_is_lt
      Src: /src/haproxy/include/haproxy/task.h:316,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/task.h:317,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/include/haproxy/task.h:318,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/task.h:319,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/task.h:321,1
    - Dst: __task_queue
      Src: /src/haproxy/include/haproxy/task.h:324,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/task.h:326,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/task.h:330,1
    - Dst: task_in_wq
      Src: /src/haproxy/include/haproxy/task.h:331,1
    - Dst: tick_is_lt
      Src: /src/haproxy/include/haproxy/task.h:331,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/task.h:332,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/include/haproxy/task.h:333,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/task.h:334,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/task.h:336,1
    - Dst: __task_queue
      Src: /src/haproxy/include/haproxy/task.h:339,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - task
    - caller
    argTypes:
    - struct task*
    - struct ha_caller*
    constantsTouched: []
    func_position:
      end: 342
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 342
    functionName: _task_queue
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 2
    functionsReached:
    - HA_ATOMIC_XCHG
    - tick_is_lt
    - HA_RWLOCK_WRUNLOCK
    - likely
    - __task_queue
    - tick_isset
    - HA_RWLOCK_WRLOCK
    - task_in_wq
    - HA_ATOMIC_STORE
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: _task_queue(struct task *task, const struct ha_caller *caller)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/task.h:360,1
    - Dst: task_in_wq
      Src: /src/haproxy/include/haproxy/task.h:360,1
    - Dst: task_unlink_wq
      Src: /src/haproxy/include/haproxy/task.h:361,1
    - Dst: task_queue
      Src: /src/haproxy/include/haproxy/task.h:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - t
    - thr
    argTypes:
    - struct task*
    - int
    constantsTouched: []
    func_position:
      end: 368
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 368
    functionName: task_set_thread
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 5
    functionsReached:
    - task_unlink_wq
    - unlikely
    - task_in_wq
    - task_queue
    linkageType: ''
    returnType: void
    signature: task_set_thread(struct task *t, int thr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/task.h:393,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/task.h:396,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/include/haproxy/task.h:397,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/task.h:398,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/task.h:400,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/task.h:404,1
    - Dst: now_mono_time
      Src: /src/haproxy/include/haproxy/task.h:405,1
    - Dst: __tasklet_wakeup_on
      Src: /src/haproxy/include/haproxy/task.h:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - tl
    - thr
    - f
    - caller
    argTypes:
    - struct tasklet*
    - int
    - uint
    - struct ha_caller*
    constantsTouched: []
    func_position:
      end: 407
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 407
    functionName: _tasklet_wakeup_on
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 1
    functionsReached:
    - now_mono_time
    - _HA_ATOMIC_CAS
    - likely
    - _HA_ATOMIC_LOAD
    - HA_ATOMIC_XCHG
    - HA_ATOMIC_STORE
    - BUG_ON
    - __tasklet_wakeup_on
    linkageType: ''
    returnType: void
    signature: _tasklet_wakeup_on(struct tasklet *tl, int thr, uint f, const struct
      ha_caller *caller)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_OR_FETCH
      Src: /src/haproxy/include/haproxy/task.h:443,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/task.h:453,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/task.h:455,1
    - Dst: task_in_rq
      Src: /src/haproxy/include/haproxy/task.h:455,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/task.h:458,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/include/haproxy/task.h:459,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/task.h:460,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/task.h:462,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/task.h:466,1
    - Dst: now_mono_time
      Src: /src/haproxy/include/haproxy/task.h:467,1
    - Dst: __tasklet_wakeup_on
      Src: /src/haproxy/include/haproxy/task.h:468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - t
    - f
    - caller
    argTypes:
    - struct task*
    - unsigned int
    - struct ha_caller*
    constantsTouched: []
    func_position:
      end: 469
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 469
    functionName: _task_instant_wakeup
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 0
    functionsReached:
    - task_in_rq
    - now_mono_time
    - _HA_ATOMIC_CAS
    - likely
    - _HA_ATOMIC_OR_FETCH
    - BUG_ON_HOT
    - _HA_ATOMIC_LOAD
    - HA_ATOMIC_XCHG
    - HA_ATOMIC_STORE
    - BUG_ON
    - __tasklet_wakeup_on
    linkageType: ''
    returnType: void
    signature: _task_instant_wakeup(struct task *t, unsigned int f, const struct ha_caller
      *caller)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/task.h:500,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/task.h:503,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/include/haproxy/task.h:504,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/task.h:505,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/task.h:507,1
    - Dst: now_mono_time
      Src: /src/haproxy/include/haproxy/task.h:512,1
    - Dst: __tasklet_wakeup_after
      Src: /src/haproxy/include/haproxy/task.h:513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - head
    - tl
    - f
    - caller
    argTypes:
    - struct list*
    - struct tasklet*
    - uint
    - struct ha_caller*
    constantsTouched: []
    func_position:
      end: 514
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 514
    functionName: _tasklet_wakeup_after
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 1
    functionsReached:
    - now_mono_time
    - _HA_ATOMIC_CAS
    - __tasklet_wakeup_after
    - likely
    - HA_ATOMIC_XCHG
    - HA_ATOMIC_STORE
    - BUG_ON
    linkageType: ''
    returnType: struct list
    signature: "*_tasklet_wakeup_after(struct list *head, struct tasklet *tl,\n                                                 uint
      f, const struct ha_caller *caller)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/include/haproxy/task.h:540,1
    - Dst: list_to_mt_list
      Src: /src/haproxy/include/haproxy/task.h:540,1
    - Dst: _HA_ATOMIC_AND
      Src: /src/haproxy/include/haproxy/task.h:541,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/include/haproxy/task.h:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct tasklet*
    constantsTouched: []
    func_position:
      end: 544
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 544
    functionName: tasklet_remove_from_tasklet_list
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 0
    functionsReached:
    - list_to_mt_list
    - _HA_ATOMIC_AND
    - MT_LIST_DELETE
    - _HA_ATOMIC_DEC
    linkageType: ''
    returnType: void
    signature: tasklet_remove_from_tasklet_list(struct tasklet *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - t
    - tid
    argTypes:
    - struct task*
    - int
    constantsTouched: []
    func_position:
      end: 567
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 567
    functionName: task_init
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct task
    signature: '*task_init(struct task *t, int tid)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_INIT
      Src: /src/haproxy/include/haproxy/task.h:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct tasklet*
    constantsTouched: []
    func_position:
      end: 582
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 582
    functionName: tasklet_init
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 0
    functionsReached:
    - LIST_INIT
    linkageType: ''
    returnType: void
    signature: tasklet_init(struct tasklet *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/task.h:589,1
    - Dst: tasklet_init
      Src: /src/haproxy/include/haproxy/task.h:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 595
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 595
    functionName: tasklet_new
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 25
    functionsReached:
    - tasklet_init
    - pool_alloc
    linkageType: ''
    returnType: struct tasklet
    signature: '*tasklet_new(void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/task.h:606,1
    - Dst: task_init
      Src: /src/haproxy/include/haproxy/task.h:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - thr
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: task_new_on
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 8
    functionsReached:
    - task_init
    - pool_alloc
    linkageType: ''
    returnType: struct task
    signature: '*task_new_on(int thr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_new_on
      Src: /src/haproxy/include/haproxy/task.h:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 621
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 621
    functionName: task_new_here
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 22
    functionsReached:
    - task_new_on
    linkageType: ''
    returnType: struct task
    signature: '*task_new_here()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_new_on
      Src: /src/haproxy/include/haproxy/task.h:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 629
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 629
    functionName: task_new_anywhere
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 15
    functionsReached:
    - task_new_on
    linkageType: ''
    returnType: struct task
    signature: '*task_new_anywhere()'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __ha_barrier_store
      Src: /src/haproxy/include/haproxy/task.h:639,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/task.h:641,1
    - Dst: task_in_wq
      Src: /src/haproxy/include/haproxy/task.h:641,1
    - Dst: task_in_rq
      Src: /src/haproxy/include/haproxy/task.h:641,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/task.h:643,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/task.h:645,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/task.h:645,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/task.h:647,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/task.h:649,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/task.h:651,1
    - Dst: pool_flush
      Src: /src/haproxy/include/haproxy/task.h:652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct task*
    constantsTouched: []
    func_position:
      end: 653
      start: 635
    functionDepth: 3
    functionLinenumber: 635
    functionLinenumberEnd: 653
    functionName: __task_free
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 5
    functionsReached:
    - task_in_rq
    - __ha_barrier_store
    - unlikely
    - pool_free
    - HA_ATOMIC_LOAD
    - task_in_wq
    - HA_ATOMIC_STORE
    - BUG_ON
    - pool_flush
    linkageType: ''
    returnType: void
    signature: __task_free(struct task *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_unlink_wq
      Src: /src/haproxy/include/haproxy/task.h:664,1
    - Dst: __task_free
      Src: /src/haproxy/include/haproxy/task.h:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct task*
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 4
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: task_destroy
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 50
    functionsReached:
    - __task_free
    - task_unlink_wq
    linkageType: ''
    returnType: void
    signature: task_destroy(struct task *t)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_DELETE
      Src: /src/haproxy/include/haproxy/task.h:686,1
    - Dst: list_to_mt_list
      Src: /src/haproxy/include/haproxy/task.h:686,1
    - Dst: _HA_ATOMIC_DEC
      Src: /src/haproxy/include/haproxy/task.h:687,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/task.h:689,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/task.h:691,1
    - Dst: HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/task.h:691,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/task.h:693,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/task.h:694,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/task.h:695,1
    - Dst: pool_flush
      Src: /src/haproxy/include/haproxy/task.h:696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - tl
    argTypes:
    - struct tasklet*
    constantsTouched: []
    func_position:
      end: 697
      start: 681
    functionDepth: 3
    functionLinenumber: 681
    functionLinenumberEnd: 697
    functionName: tasklet_free
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 37
    functionsReached:
    - list_to_mt_list
    - _HA_ATOMIC_DEC
    - MT_LIST_DELETE
    - pool_free
    - HA_ATOMIC_LOAD
    - unlikely
    - HA_ATOMIC_STORE
    - BUG_ON
    - pool_flush
    linkageType: ''
    returnType: void
    signature: tasklet_free(struct tasklet *tl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tl
    - tid
    argTypes:
    - struct tasklet*
    - int
    constantsTouched: []
    func_position:
      end: 702
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 702
    functionName: tasklet_set_tid
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: tasklet_set_tid(struct tasklet *tl, int tid)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: task_in_rq
      Src: /src/haproxy/include/haproxy/task.h:718,1
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/task.h:724,1
    - Dst: task_in_wq
      Src: /src/haproxy/include/haproxy/task.h:725,1
    - Dst: tick_first
      Src: /src/haproxy/include/haproxy/task.h:726,1
    - Dst: task_in_wq
      Src: /src/haproxy/include/haproxy/task.h:729,1
    - Dst: tick_is_lt
      Src: /src/haproxy/include/haproxy/task.h:729,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/task.h:730,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/include/haproxy/task.h:731,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/task.h:732,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/task.h:734,1
    - Dst: __task_queue
      Src: /src/haproxy/include/haproxy/task.h:737,1
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/task.h:739,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/task.h:743,1
    - Dst: task_in_wq
      Src: /src/haproxy/include/haproxy/task.h:744,1
    - Dst: tick_first
      Src: /src/haproxy/include/haproxy/task.h:745,1
    - Dst: task_in_wq
      Src: /src/haproxy/include/haproxy/task.h:748,1
    - Dst: tick_is_lt
      Src: /src/haproxy/include/haproxy/task.h:748,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/task.h:749,1
    - Dst: HA_ATOMIC_XCHG
      Src: /src/haproxy/include/haproxy/task.h:750,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/task.h:751,1
    - Dst: HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/task.h:753,1
    - Dst: __task_queue
      Src: /src/haproxy/include/haproxy/task.h:756,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - task
    - when
    - caller
    argTypes:
    - struct task*
    - int
    - struct ha_caller*
    constantsTouched: []
    func_position:
      end: 759
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 759
    functionName: _task_schedule
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 0
    functionsReached:
    - HA_ATOMIC_XCHG
    - task_in_rq
    - tick_is_lt
    - HA_RWLOCK_WRUNLOCK
    - tick_first
    - likely
    - __task_queue
    - HA_RWLOCK_WRLOCK
    - task_in_wq
    - HA_ATOMIC_STORE
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: _task_schedule(struct task *task, int when, const struct ha_caller
      *caller)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - t
    argTypes:
    - uint
    constantsTouched: []
    func_position:
      end: 776
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 776
    functionName: task_wakeup_type_str
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*task_wakeup_type_str(uint t)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/task.h:780,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/include/haproxy/task.h:783,1
    - Dst: HA_SPIN_INIT
      Src: /src/haproxy/include/haproxy/task.h:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - purge
    - wakeup
    argTypes:
    - struct list*
    - struct task*
    constantsTouched: []
    func_position:
      end: 787
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 787
    functionName: _notification_new
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 0
    functionsReached:
    - HA_SPIN_INIT
    - LIST_APPEND
    - pool_alloc
    linkageType: ''
    returnType: struct notification
    signature: '*_notification_new(struct list *purge, struct task *wakeup)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _notification_new
      Src: /src/haproxy/include/haproxy/task.h:798,1
    - Dst: MT_LIST_APPEND
      Src: /src/haproxy/include/haproxy/task.h:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - purge
    - event
    - wakeup
    argTypes:
    - struct list*
    - struct mt_list*
    - struct task*
    constantsTouched: []
    func_position:
      end: 803
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 803
    functionName: notification_new
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 7
    functionsReached:
    - MT_LIST_APPEND
    - _notification_new
    linkageType: ''
    returnType: struct notification
    signature: '*notification_new(struct list *purge, struct mt_list *event, struct
      task *wakeup)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/include/haproxy/task.h:818,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/include/haproxy/task.h:819,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/include/haproxy/task.h:821,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/task.h:822,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/include/haproxy/task.h:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - purge
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 828
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 828
    functionName: notification_purge
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 2
    functionsReached:
    - HA_SPIN_LOCK
    - LIST_DELETE
    - HA_SPIN_UNLOCK
    - pool_free
    linkageType: ''
    returnType: void
    signature: notification_purge(struct list *purge)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/include/haproxy/task.h:845,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/task.h:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - purge
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 848
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 848
    functionName: notification_gc
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 2
    functionsReached:
    - LIST_DELETE
    - pool_free
    linkageType: ''
    returnType: void
    signature: notification_gc(struct list *purge)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/include/haproxy/task.h:852,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/include/haproxy/task.h:854,1
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/task.h:855,1
    - Dst: task_wakeup
      Src: /src/haproxy/include/haproxy/task.h:858,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/include/haproxy/task.h:860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - com
    argTypes:
    - struct notification*
    constantsTouched: []
    func_position:
      end: 862
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 862
    functionName: _notification_wake
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 0
    functionsReached:
    - HA_SPIN_LOCK
    - task_wakeup
    - HA_SPIN_UNLOCK
    - pool_free
    linkageType: ''
    returnType: void
    signature: _notification_wake(struct notification *com)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _notification_wake
      Src: /src/haproxy/include/haproxy/task.h:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wake
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 877
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 877
    functionName: notification_wake
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 4
    functionsReached:
    - _notification_wake
    linkageType: ''
    returnType: void
    signature: notification_wake(struct mt_list *wake)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MT_LIST_ISEMPTY
      Src: /src/haproxy/include/haproxy/task.h:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wake
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: notification_registered
    functionSourceFile: /src/haproxy/include/haproxy/task.h
    functionUses: 1
    functionsReached:
    - MT_LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: notification_registered(struct mt_list *wake)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_popcountl
      Src: /src/haproxy/include/haproxy/tinfo.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct thread_set*
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: thread_set_count
    functionSourceFile: /src/haproxy/include/haproxy/tinfo.h
    functionUses: 1
    functionsReached:
    - my_popcountl
    linkageType: ''
    returnType: int
    signature: thread_set_count(const struct thread_set *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ts
    argTypes:
    - struct thread_set*
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: thread_set_is_empty
    functionSourceFile: /src/haproxy/include/haproxy/tinfo.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: thread_set_is_empty(const struct thread_set *ts)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ts
    - n
    argTypes:
    - struct thread_set*
    - int
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: thread_set_nth_group
    functionSourceFile: /src/haproxy/include/haproxy/tinfo.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: thread_set_nth_group(const struct thread_set *ts, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - ts
    - n
    argTypes:
    - struct thread_set*
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: thread_set_nth_tmask
    functionSourceFile: /src/haproxy/include/haproxy/tinfo.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ulong
    signature: thread_set_nth_tmask(const struct thread_set *ts, int n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ts
    - mask
    argTypes:
    - struct thread_set*
    - ulong
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: thread_set_pin_grp1
    functionSourceFile: /src/haproxy/include/haproxy/tinfo.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: thread_set_pin_grp1(struct thread_set *ts, ulong mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct quic_hystart*
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: quic_cc_hystart_reset
    functionSourceFile: /src/haproxy/include/haproxy/quic_cc_hystart.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_cc_hystart_reset(struct quic_hystart *h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_MIN
      Src: /src/haproxy/include/haproxy/quic_cc_hystart.h:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cc
    - h
    - latest_rtt
    argTypes:
    - struct quic_cc*
    - struct quic_hystart*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: quic_cc_hystart_track_min_rtt
    functionSourceFile: /src/haproxy/include/haproxy/quic_cc_hystart.h
    functionUses: 2
    functionsReached:
    - QUIC_MIN
    linkageType: ''
    returnType: void
    signature: "quic_cc_hystart_track_min_rtt(struct quic_cc *cc,\n                                                 struct
      quic_hystart *h,\n                                                 unsigned
      int latest_rtt)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - h
    - pn
    argTypes:
    - struct quic_hystart*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: quic_cc_hystart_start_round
    functionSourceFile: /src/haproxy/include/haproxy/quic_cc_hystart.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: quic_cc_hystart_start_round(struct quic_hystart *h, uint64_t pn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: QUIC_CLAMP
      Src: /src/haproxy/include/haproxy/quic_cc_hystart.h:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct quic_hystart*
    constantsTouched: []
    func_position:
      end: 103
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 103
    functionName: quic_cc_hystart_may_enter_cs
    functionSourceFile: /src/haproxy/include/haproxy/quic_cc_hystart.h
    functionUses: 1
    functionsReached:
    - QUIC_CLAMP
    linkageType: ''
    returnType: int
    signature: quic_cc_hystart_may_enter_cs(struct quic_hystart *h)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - h
    argTypes:
    - struct quic_hystart*
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: quic_cc_hystart_may_reenter_ss
    functionSourceFile: /src/haproxy/include/haproxy/quic_cc_hystart.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: quic_cc_hystart_may_reenter_ss(struct quic_hystart *h)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:81,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:83,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:83,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:83,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:84,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:84,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:84,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:84,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:85,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:85,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:85,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:86,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:86,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:86,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:87,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:87,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:87,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:87,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:88,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:88,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:88,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:89,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:89,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:89,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:90,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:90,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 95
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 95
    functionName: h2c_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/mux_h2-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*h2c_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:144,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:146,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:146,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:146,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:146,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:147,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:147,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:147,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:148,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:148,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:148,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:149,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:149,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:149,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:150,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:150,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:150,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:151,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:151,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:151,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:152,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:152,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:152,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/mux_h2-t.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: h2s_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/mux_h2-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*h2s_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - st
    argTypes:
    - enum h2_cs
    constantsTouched: []
    func_position:
      end: 206
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 206
    functionName: h2c_st_to_str
    functionSourceFile: /src/haproxy/include/haproxy/mux_h2-t.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*h2c_st_to_str(enum h2_cs st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - st
    argTypes:
    - enum h2_ss
    constantsTouched: []
    func_position:
      end: 222
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 222
    functionName: h2s_st_to_str
    functionSourceFile: /src/haproxy/include/haproxy/mux_h2-t.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*h2s_st_to_str(enum h2_ss st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: strm_flt
    functionSourceFile: /src/haproxy/include/haproxy/filters.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: struct strm_flt
    signature: '*

      strm_flt(struct stream *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_DATA_FILTER
      Src: /src/haproxy/include/haproxy/filters.h:139,1
    - Dst: strm_flt
      Src: /src/haproxy/include/haproxy/filters.h:142,1
    - Dst: strm_flt
      Src: /src/haproxy/include/haproxy/filters.h:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - s
    - chn
    - filter
    argTypes:
    - struct stream*
    - struct channel*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: register_data_filter
    functionSourceFile: /src/haproxy/include/haproxy/filters.h
    functionUses: 8
    functionsReached:
    - IS_DATA_FILTER
    - strm_flt
    linkageType: ''
    returnType: void
    signature: register_data_filter(struct stream *s, struct channel *chn, struct
      filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IS_DATA_FILTER
      Src: /src/haproxy/include/haproxy/filters.h:155,1
    - Dst: strm_flt
      Src: /src/haproxy/include/haproxy/filters.h:158,1
    - Dst: strm_flt
      Src: /src/haproxy/include/haproxy/filters.h:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - s
    - chn
    - filter
    argTypes:
    - struct stream*
    - struct channel*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: unregister_data_filter
    functionSourceFile: /src/haproxy/include/haproxy/filters.h
    functionUses: 3
    functionsReached:
    - IS_DATA_FILTER
    - strm_flt
    linkageType: ''
    returnType: void
    signature: unregister_data_filter(struct stream *s, struct channel *chn, struct
      filter *filter)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chn_strm
      Src: /src/haproxy/include/haproxy/filters.h:177,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/include/haproxy/filters.h:180,1
    - Dst: strm_flt
      Src: /src/haproxy/include/haproxy/filters.h:180,1
    - Dst: FLT_OFF
      Src: /src/haproxy/include/haproxy/filters.h:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - filter
    - chn
    - len
    argTypes:
    - struct filter*
    - struct channel*
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: flt_update_offsets
    functionSourceFile: /src/haproxy/include/haproxy/filters.h
    functionUses: 9
    functionsReached:
    - list_for_each_entry
    - FLT_OFF
    - chn_strm
    - strm_flt
    linkageType: ''
    returnType: void
    signature: flt_update_offsets(struct filter *filter, struct channel *chn, int
      len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/include/haproxy/htx.h:93,1
    - Dst: HTX_SL_P1_PTR
      Src: /src/haproxy/include/haproxy/htx.h:93,1
    - Dst: HTX_SL_P1_LEN
      Src: /src/haproxy/include/haproxy/htx.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sl
    argTypes:
    - struct htx_sl*
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: htx_sl_p1
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 1
    functionsReached:
    - ist2
    - HTX_SL_P1_LEN
    - HTX_SL_P1_PTR
    linkageType: ''
    returnType: struct ist
    signature: htx_sl_p1(const struct htx_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/include/haproxy/htx.h:98,1
    - Dst: HTX_SL_P2_PTR
      Src: /src/haproxy/include/haproxy/htx.h:98,1
    - Dst: HTX_SL_P2_LEN
      Src: /src/haproxy/include/haproxy/htx.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sl
    argTypes:
    - struct htx_sl*
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: htx_sl_p2
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 1
    functionsReached:
    - ist2
    - HTX_SL_P2_PTR
    - HTX_SL_P2_LEN
    linkageType: ''
    returnType: struct ist
    signature: htx_sl_p2(const struct htx_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/include/haproxy/htx.h:103,1
    - Dst: HTX_SL_P3_PTR
      Src: /src/haproxy/include/haproxy/htx.h:103,1
    - Dst: HTX_SL_P3_LEN
      Src: /src/haproxy/include/haproxy/htx.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sl
    argTypes:
    - struct htx_sl*
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: htx_sl_p3
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 1
    functionsReached:
    - HTX_SL_P3_LEN
    - ist2
    - HTX_SL_P3_PTR
    linkageType: ''
    returnType: struct ist
    signature: htx_sl_p3(const struct htx_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_sl_p1
      Src: /src/haproxy/include/haproxy/htx.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sl
    argTypes:
    - struct htx_sl*
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: htx_sl_req_meth
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 6
    functionsReached:
    - htx_sl_p1
    linkageType: ''
    returnType: struct ist
    signature: htx_sl_req_meth(const struct htx_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_sl_p2
      Src: /src/haproxy/include/haproxy/htx.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sl
    argTypes:
    - struct htx_sl*
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: htx_sl_req_uri
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 21
    functionsReached:
    - htx_sl_p2
    linkageType: ''
    returnType: struct ist
    signature: htx_sl_req_uri(const struct htx_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_sl_p3
      Src: /src/haproxy/include/haproxy/htx.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sl
    argTypes:
    - struct htx_sl*
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: htx_sl_req_vsn
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 2
    functionsReached:
    - htx_sl_p3
    linkageType: ''
    returnType: struct ist
    signature: htx_sl_req_vsn(const struct htx_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_sl_p1
      Src: /src/haproxy/include/haproxy/htx.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sl
    argTypes:
    - struct htx_sl*
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: htx_sl_res_vsn
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 1
    functionsReached:
    - htx_sl_p1
    linkageType: ''
    returnType: struct ist
    signature: htx_sl_res_vsn(const struct htx_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_sl_p2
      Src: /src/haproxy/include/haproxy/htx.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sl
    argTypes:
    - struct htx_sl*
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: htx_sl_res_code
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 0
    functionsReached:
    - htx_sl_p2
    linkageType: ''
    returnType: struct ist
    signature: htx_sl_res_code(const struct htx_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_sl_p3
      Src: /src/haproxy/include/haproxy/htx.h:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sl
    argTypes:
    - struct htx_sl*
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: htx_sl_res_reason
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 3
    functionsReached:
    - htx_sl_p3
    linkageType: ''
    returnType: struct ist
    signature: htx_sl_res_reason(const struct htx_sl *sl)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - htx
    - pos
    argTypes:
    - struct htx*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: htx_pos_to_addr
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: htx_pos_to_addr(const struct htx *htx, uint32_t pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - htx
    - blk
    argTypes:
    - struct htx*
    - struct htx_blk*
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: htx_get_blk_pos
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: htx_get_blk_pos(const struct htx *htx, const struct htx_blk *blk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_pos_to_addr
      Src: /src/haproxy/include/haproxy/htx.h:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - htx
    - pos
    argTypes:
    - struct htx*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: htx_get_blk
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 34
    functionsReached:
    - htx_pos_to_addr
    linkageType: ''
    returnType: struct htx_blk
    signature: '*htx_get_blk(const struct htx *htx, uint32_t pos)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - blk
    argTypes:
    - struct htx_blk*
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: htx_get_blk_type
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 83
    functionsReached: []
    linkageType: ''
    returnType: enum htx_blk_type
    signature: htx_get_blk_type(const struct htx_blk *blk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk_type
      Src: /src/haproxy/include/haproxy/htx.h:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - blk
    argTypes:
    - struct htx_blk*
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: htx_get_blksz
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 48
    functionsReached:
    - htx_get_blk_type
    linkageType: ''
    returnType: uint32_t
    signature: htx_get_blksz(const struct htx_blk *blk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: htx_get_head
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: htx_get_head(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk
      Src: /src/haproxy/include/haproxy/htx.h:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: htx_get_head_blk
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 37
    functionsReached:
    - htx_get_blk
    linkageType: ''
    returnType: struct htx_blk
    signature: '*htx_get_head_blk(const struct htx *htx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk
      Src: /src/haproxy/include/haproxy/htx.h:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: __htx_get_head_blk
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 2
    functionsReached:
    - htx_get_blk
    linkageType: ''
    returnType: struct htx_blk
    signature: '*__htx_get_head_blk(const struct htx *htx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_head_blk
      Src: /src/haproxy/include/haproxy/htx.h:212,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/include/haproxy/htx.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: htx_get_head_type
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 1
    functionsReached:
    - htx_get_blk_type
    - htx_get_head_blk
    linkageType: ''
    returnType: enum htx_blk_type
    signature: htx_get_head_type(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: htx_get_tail
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: htx_get_tail(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk
      Src: /src/haproxy/include/haproxy/htx.h:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: htx_get_tail_blk
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 8
    functionsReached:
    - htx_get_blk
    linkageType: ''
    returnType: struct htx_blk
    signature: '*htx_get_tail_blk(const struct htx *htx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_tail_blk
      Src: /src/haproxy/include/haproxy/htx.h:240,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/include/haproxy/htx.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: htx_get_tail_type
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 5
    functionsReached:
    - htx_get_blk_type
    - htx_get_tail_blk
    linkageType: ''
    returnType: enum htx_blk_type
    signature: htx_get_tail_type(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: htx_get_first
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: htx_get_first(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_first
      Src: /src/haproxy/include/haproxy/htx.h:260,1
    - Dst: htx_get_blk
      Src: /src/haproxy/include/haproxy/htx.h:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: htx_get_first_blk
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 16
    functionsReached:
    - htx_get_first
    - htx_get_blk
    linkageType: ''
    returnType: struct htx_blk
    signature: '*htx_get_first_blk(const struct htx *htx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_first_blk
      Src: /src/haproxy/include/haproxy/htx.h:269,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/include/haproxy/htx.h:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 272
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 272
    functionName: htx_get_first_type
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 3
    functionsReached:
    - htx_get_blk_type
    - htx_get_first_blk
    linkageType: ''
    returnType: enum htx_blk_type
    signature: htx_get_first_type(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - htx
    - pos
    argTypes:
    - struct htx*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: htx_get_prev
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: htx_get_prev(const struct htx *htx, uint32_t pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_prev
      Src: /src/haproxy/include/haproxy/htx.h:292,1
    - Dst: htx_get_blk_pos
      Src: /src/haproxy/include/haproxy/htx.h:292,1
    - Dst: htx_get_blk
      Src: /src/haproxy/include/haproxy/htx.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - htx
    - blk
    argTypes:
    - struct htx*
    - struct htx_blk*
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: htx_get_prev_blk
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 2
    functionsReached:
    - htx_get_blk_pos
    - htx_get_prev
    - htx_get_blk
    linkageType: ''
    returnType: struct htx_blk
    signature: "*htx_get_prev_blk(const struct htx *htx,\n\t\t\t\t\t       const struct
      htx_blk *blk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - htx
    - pos
    argTypes:
    - struct htx*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: htx_get_next
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: htx_get_next(const struct htx *htx, uint32_t pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_next
      Src: /src/haproxy/include/haproxy/htx.h:315,1
    - Dst: htx_get_blk_pos
      Src: /src/haproxy/include/haproxy/htx.h:315,1
    - Dst: htx_get_blk
      Src: /src/haproxy/include/haproxy/htx.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - htx
    - blk
    argTypes:
    - struct htx*
    - struct htx_blk*
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: htx_get_next_blk
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 24
    functionsReached:
    - htx_get_blk_pos
    - htx_get_next
    - htx_get_blk
    linkageType: ''
    returnType: struct htx_blk
    signature: "*htx_get_next_blk(const struct htx *htx,\n\t\t\t\t\t       const struct
      htx_blk *blk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blksz
      Src: /src/haproxy/include/haproxy/htx.h:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - htx
    - blk
    argTypes:
    - struct htx*
    - struct htx_blk*
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: htx_is_unique_blk
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 5
    functionsReached:
    - htx_get_blksz
    linkageType: ''
    returnType: int
    signature: "htx_is_unique_blk(const struct htx *htx,\n\t\t\t\t    const struct
      htx_blk *blk)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk_type
      Src: /src/haproxy/include/haproxy/htx.h:335,1
    - Dst: htx_get_blksz
      Src: /src/haproxy/include/haproxy/htx.h:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - htx
    - blk
    - newlen
    argTypes:
    - struct htx*
    - struct htx_blk*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 359
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 359
    functionName: htx_change_blk_value_len
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 9
    functionsReached:
    - htx_get_blk_type
    - htx_get_blksz
    linkageType: ''
    returnType: void
    signature: htx_change_blk_value_len(struct htx *htx, struct htx_blk *blk, uint32_t
      newlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk_type
      Src: /src/haproxy/include/haproxy/htx.h:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - blk
    - vlen
    argTypes:
    - struct htx_blk*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 384
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 384
    functionName: htx_set_blk_value_len
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 1
    functionsReached:
    - htx_get_blk_type
    linkageType: ''
    returnType: void
    signature: htx_set_blk_value_len(struct htx_blk *blk, uint32_t vlen)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - htx
    - blk
    argTypes:
    - struct htx*
    - struct htx_blk*
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: htx_get_blk_ptr
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: '*htx_get_blk_ptr(const struct htx *htx, const struct htx_blk *blk)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk_type
      Src: /src/haproxy/include/haproxy/htx.h:397,1
    - Dst: ist2
      Src: /src/haproxy/include/haproxy/htx.h:403,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/include/haproxy/htx.h:403,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/htx.h:408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - htx
    - blk
    argTypes:
    - struct htx*
    - struct htx_blk*
    constantsTouched: []
    func_position:
      end: 411
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 411
    functionName: htx_get_blk_name
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 24
    functionsReached:
    - htx_get_blk_type
    - ist2
    - ist
    - htx_get_blk_ptr
    linkageType: ''
    returnType: struct ist
    signature: htx_get_blk_name(const struct htx *htx, const struct htx_blk *blk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_blk_type
      Src: /src/haproxy/include/haproxy/htx.h:419,1
    - Dst: ist2
      Src: /src/haproxy/include/haproxy/htx.h:425,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/include/haproxy/htx.h:425,1
    - Dst: ist2
      Src: /src/haproxy/include/haproxy/htx.h:432,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/include/haproxy/htx.h:432,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/htx.h:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - htx
    - blk
    argTypes:
    - struct htx*
    - struct htx_blk*
    constantsTouched: []
    func_position:
      end: 440
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 440
    functionName: htx_get_blk_value
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 41
    functionsReached:
    - htx_get_blk_type
    - ist2
    - ist
    - htx_get_blk_ptr
    linkageType: ''
    returnType: struct ist
    signature: htx_get_blk_value(const struct htx *htx, const struct htx_blk *blk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_add_blk
      Src: /src/haproxy/include/haproxy/htx.h:457,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/include/haproxy/htx.h:462,1
    - Dst: HTX_SL_P1_LEN
      Src: /src/haproxy/include/haproxy/htx.h:465,1
    - Dst: HTX_SL_P2_LEN
      Src: /src/haproxy/include/haproxy/htx.h:466,1
    - Dst: HTX_SL_P3_LEN
      Src: /src/haproxy/include/haproxy/htx.h:467,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/htx.h:469,1
    - Dst: HTX_SL_P1_PTR
      Src: /src/haproxy/include/haproxy/htx.h:469,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/htx.h:470,1
    - Dst: HTX_SL_P2_PTR
      Src: /src/haproxy/include/haproxy/htx.h:470,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/htx.h:471,1
    - Dst: HTX_SL_P3_PTR
      Src: /src/haproxy/include/haproxy/htx.h:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - htx
    - type
    - flags
    - p1
    - p2
    - p3
    argTypes:
    - struct htx*
    - enum htx_blk_type
    - unsigned int
    - struct ist
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 474
      start: 445
    functionDepth: 5
    functionLinenumber: 445
    functionLinenumberEnd: 474
    functionName: htx_add_stline
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 19
    functionsReached:
    - HTX_SL_P2_PTR
    - HTX_SL_P1_LEN
    - HTX_SL_P2_LEN
    - htx_get_blk_ptr
    - HTX_SL_P3_LEN
    - htx_add_blk
    - HTX_SL_P3_PTR
    - memcpy
    - HTX_SL_P1_PTR
    linkageType: ''
    returnType: struct htx_sl
    signature: "*htx_add_stline(struct htx *htx, enum htx_blk_type type, unsigned
      int flags,\n\t\t\t\t\t    const struct ist p1, const struct ist p2, const struct
      ist p3)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_add_blk
      Src: /src/haproxy/include/haproxy/htx.h:487,1
    - Dst: ist2bin_lc
      Src: /src/haproxy/include/haproxy/htx.h:492,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/include/haproxy/htx.h:492,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/htx.h:493,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/include/haproxy/htx.h:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - htx
    - name
    - value
    argTypes:
    - struct htx*
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 495
      start: 479
    functionDepth: 5
    functionLinenumber: 479
    functionLinenumberEnd: 495
    functionName: htx_add_header
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 15
    functionsReached:
    - ist2bin_lc
    - htx_add_blk
    - memcpy
    - htx_get_blk_ptr
    linkageType: ''
    returnType: struct htx_blk
    signature: "*htx_add_header(struct htx *htx, const struct ist name,\n\t\t\t\t\t
      \    const struct ist value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_add_blk
      Src: /src/haproxy/include/haproxy/htx.h:508,1
    - Dst: ist2bin_lc
      Src: /src/haproxy/include/haproxy/htx.h:513,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/include/haproxy/htx.h:513,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/htx.h:514,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/include/haproxy/htx.h:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - htx
    - name
    - value
    argTypes:
    - struct htx*
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 516
      start: 500
    functionDepth: 5
    functionLinenumber: 500
    functionLinenumberEnd: 516
    functionName: htx_add_trailer
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 2
    functionsReached:
    - ist2bin_lc
    - htx_add_blk
    - memcpy
    - htx_get_blk_ptr
    linkageType: ''
    returnType: struct htx_blk
    signature: "*htx_add_trailer(struct htx *htx, const struct ist name,\n\t\t\t\t\t
      \     const struct ist value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_add_blk
      Src: /src/haproxy/include/haproxy/htx.h:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - htx
    - type
    argTypes:
    - struct htx*
    - enum htx_blk_type
    constantsTouched: []
    func_position:
      end: 531
      start: 521
    functionDepth: 5
    functionLinenumber: 521
    functionLinenumberEnd: 531
    functionName: htx_add_endof
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 21
    functionsReached:
    - htx_add_blk
    linkageType: ''
    returnType: struct htx_blk
    signature: '*htx_add_endof(struct htx *htx, enum htx_blk_type type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isttest
      Src: /src/haproxy/include/haproxy/htx.h:546,1
    - Dst: htx_add_header
      Src: /src/haproxy/include/haproxy/htx.h:548,1
    - Dst: htx_add_endof
      Src: /src/haproxy/include/haproxy/htx.h:551,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - htx
    - hdrs
    argTypes:
    - struct htx*
    - struct http_hdr*
    constantsTouched: []
    func_position:
      end: 552
      start: 540
    functionDepth: 6
    functionLinenumber: 540
    functionLinenumberEnd: 552
    functionName: htx_add_all_headers
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 4
    functionsReached:
    - htx_add_header
    - isttest
    - htx_add_endof
    linkageType: ''
    returnType: struct htx_blk
    signature: '*htx_add_all_headers(struct htx *htx, const struct http_hdr *hdrs)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isttest
      Src: /src/haproxy/include/haproxy/htx.h:567,1
    - Dst: htx_add_trailer
      Src: /src/haproxy/include/haproxy/htx.h:569,1
    - Dst: htx_add_endof
      Src: /src/haproxy/include/haproxy/htx.h:572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - htx
    - hdrs
    argTypes:
    - struct htx*
    - struct http_hdr*
    constantsTouched: []
    func_position:
      end: 573
      start: 561
    functionDepth: 6
    functionLinenumber: 561
    functionLinenumberEnd: 573
    functionName: htx_add_all_trailers
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 1
    functionsReached:
    - htx_add_trailer
    - isttest
    - htx_add_endof
    linkageType: ''
    returnType: struct htx_blk
    signature: '*htx_add_all_trailers(struct htx *htx, const struct http_hdr *hdrs)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - htx
    - blk
    - n
    argTypes:
    - struct htx*
    - struct htx_blk*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 589
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 589
    functionName: htx_cut_data_blk
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: htx_cut_data_blk(struct htx *htx, struct htx_blk *blk, uint32_t n)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 598
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 598
    functionName: htx_meta_space
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: htx_meta_space(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_meta_space
      Src: /src/haproxy/include/haproxy/htx.h:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 604
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 604
    functionName: htx_used_space
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 12
    functionsReached:
    - htx_meta_space
    linkageType: ''
    returnType: uint32_t
    signature: htx_used_space(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_used_space
      Src: /src/haproxy/include/haproxy/htx.h:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 610
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 610
    functionName: htx_free_space
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 5
    functionsReached:
    - htx_used_space
    linkageType: ''
    returnType: uint32_t
    signature: htx_free_space(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 622
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 622
    functionName: htx_free_data_space
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: htx_free_data_space(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_pos_to_addr
      Src: /src/haproxy/include/haproxy/htx.h:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 633
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 633
    functionName: htx_space_wraps
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 2
    functionsReached:
    - htx_pos_to_addr
    linkageType: ''
    returnType: int
    signature: htx_space_wraps(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - htx
    - max
    argTypes:
    - struct htx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 647
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 647
    functionName: htx_get_max_blksz
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: htx_get_max_blksz(const struct htx *htx, int32_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_free_space
      Src: /src/haproxy/include/haproxy/htx.h:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 655
      start: 650
    functionDepth: 3
    functionLinenumber: 650
    functionLinenumberEnd: 655
    functionName: htx_almost_full
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 1
    functionsReached:
    - htx_free_space
    linkageType: ''
    returnType: int
    signature: htx_almost_full(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 665
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 665
    functionName: htx_reset
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: htx_reset(struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_room
      Src: /src/haproxy/include/haproxy/htx.h:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 682
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 682
    functionName: buf_room_for_htx_data
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 9
    functionsReached:
    - b_room
    linkageType: ''
    returnType: size_t
    signature: buf_room_for_htx_data(const struct buffer *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_is_null
      Src: /src/haproxy/include/haproxy/htx.h:696,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/htx.h:699,1
    - Dst: htx_reset
      Src: /src/haproxy/include/haproxy/htx.h:701,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 706
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 706
    functionName: htxbuf
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 99
    functionsReached:
    - b_is_null
    - htx_reset
    - b_data
    linkageType: ''
    returnType: struct htx
    signature: '*htxbuf(const struct buffer *buf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/include/haproxy/htx.h:719,1
    - Dst: b_set_data
      Src: /src/haproxy/include/haproxy/htx.h:721,1
    - Dst: b_size
      Src: /src/haproxy/include/haproxy/htx.h:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 723
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 723
    functionName: htx_from_buf
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 46
    functionsReached:
    - b_size
    - b_set_data
    - htxbuf
    linkageType: ''
    returnType: struct htx
    signature: '*htx_from_buf(struct buffer *buf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_reset
      Src: /src/haproxy/include/haproxy/htx.h:730,1
    - Dst: b_set_data
      Src: /src/haproxy/include/haproxy/htx.h:731,1
    - Dst: b_set_data
      Src: /src/haproxy/include/haproxy/htx.h:734,1
    - Dst: b_size
      Src: /src/haproxy/include/haproxy/htx.h:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - htx
    - buf
    argTypes:
    - struct htx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 735
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 735
    functionName: htx_to_buf
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 35
    functionsReached:
    - htx_reset
    - b_set_data
    - b_size
    linkageType: ''
    returnType: void
    signature: htx_to_buf(struct htx *htx, struct buffer *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 743
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 743
    functionName: htx_is_empty
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: htx_is_empty(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 751
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 751
    functionName: htx_is_not_empty
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: htx_is_not_empty(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 761
    functionName: htx_expect_more
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: htx_expect_more(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_is_empty
      Src: /src/haproxy/include/haproxy/htx.h:772,1
    - Dst: htx_add_endof
      Src: /src/haproxy/include/haproxy/htx.h:773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 779
      start: 770
    functionDepth: 6
    functionLinenumber: 770
    functionLinenumberEnd: 779
    functionName: htx_set_eom
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 2
    functionsReached:
    - htx_add_endof
    - htx_is_empty
    linkageType: ''
    returnType: int
    signature: htx_set_eom(struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_is_empty
      Src: /src/haproxy/include/haproxy/htx.h:788,1
    - Dst: htx_free_space
      Src: /src/haproxy/include/haproxy/htx.h:788,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/htx.h:789,1
    - Dst: htx_append_msg
      Src: /src/haproxy/include/haproxy/htx.h:794,1
    - Dst: htxbuf
      Src: /src/haproxy/include/haproxy/htx.h:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - htx
    - msg
    argTypes:
    - struct htx*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 795
      start: 785
    functionDepth: 6
    functionLinenumber: 785
    functionLinenumberEnd: 795
    functionName: htx_copy_msg
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 1
    functionsReached:
    - htx_append_msg
    - htx_free_space
    - htxbuf
    - htx_is_empty
    - memcpy
    linkageType: ''
    returnType: int
    signature: htx_copy_msg(struct htx *htx, const struct buffer *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htx_get_first_blk
      Src: /src/haproxy/include/haproxy/htx.h:800,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/include/haproxy/htx.h:803,1
    - Dst: htx_remove_blk
      Src: /src/haproxy/include/haproxy/htx.h:806,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/include/haproxy/htx.h:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 809
      start: 798
    functionDepth: 3
    functionLinenumber: 798
    functionLinenumberEnd: 809
    functionName: htx_skip_msg_payload
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 1
    functionsReached:
    - htx_get_blk_type
    - htx_get_first_blk
    - htx_remove_blk
    - htx_get_next_blk
    linkageType: ''
    returnType: void
    signature: htx_skip_msg_payload(struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - htx
    argTypes:
    - struct htx*
    constantsTouched: []
    func_position:
      end: 818
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 818
    functionName: htx_nbblks
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: htx_nbblks(const struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - type
    argTypes:
    - enum htx_blk_type
    constantsTouched: []
    func_position:
      end: 833
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 833
    functionName: htx_blk_type_str
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*htx_blk_type_str(enum htx_blk_type type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/htx.h:840,1
    - Dst: htx_nbblks
      Src: /src/haproxy/include/haproxy/htx.h:842,1
    - Dst: htx_nbblks
      Src: /src/haproxy/include/haproxy/htx.h:846,1
    - Dst: chunk_memcat
      Src: /src/haproxy/include/haproxy/htx.h:848,1
    - Dst: htx_get_head
      Src: /src/haproxy/include/haproxy/htx.h:850,1
    - Dst: htx_get_next
      Src: /src/haproxy/include/haproxy/htx.h:850,1
    - Dst: htx_get_blk
      Src: /src/haproxy/include/haproxy/htx.h:852,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/include/haproxy/htx.h:853,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/include/haproxy/htx.h:857,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/include/haproxy/htx.h:858,1
    - Dst: htx_get_blk_ptr
      Src: /src/haproxy/include/haproxy/htx.h:861,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/htx.h:862,1
    - Dst: htx_blk_type_str
      Src: /src/haproxy/include/haproxy/htx.h:863,1
    - Dst: HTX_SL_P1_LEN
      Src: /src/haproxy/include/haproxy/htx.h:864,1
    - Dst: HTX_SL_P1_PTR
      Src: /src/haproxy/include/haproxy/htx.h:864,1
    - Dst: HTX_SL_P2_LEN
      Src: /src/haproxy/include/haproxy/htx.h:865,1
    - Dst: HTX_SL_P2_PTR
      Src: /src/haproxy/include/haproxy/htx.h:865,1
    - Dst: HTX_SL_P3_LEN
      Src: /src/haproxy/include/haproxy/htx.h:866,1
    - Dst: HTX_SL_P3_PTR
      Src: /src/haproxy/include/haproxy/htx.h:866,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/htx.h:869,1
    - Dst: htx_blk_type_str
      Src: /src/haproxy/include/haproxy/htx.h:870,1
    - Dst: MIN
      Src: /src/haproxy/include/haproxy/htx.h:871,1
    - Dst: MIN
      Src: /src/haproxy/include/haproxy/htx.h:872,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/htx.h:874,1
    - Dst: htx_blk_type_str
      Src: /src/haproxy/include/haproxy/htx.h:875,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - chunk
    - htx
    - full
    argTypes:
    - struct buffer*
    - struct htx*
    - int
    constantsTouched: []
    func_position:
      end: 878
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 878
    functionName: htx_dump
    functionSourceFile: /src/haproxy/include/haproxy/htx.h
    functionUses: 4
    functionsReached:
    - htx_get_head
    - HTX_SL_P2_PTR
    - htx_get_blk_name
    - htx_blk_type_str
    - HTX_SL_P1_LEN
    - htx_get_blk_ptr
    - HTX_SL_P2_LEN
    - chunk_memcat
    - HTX_SL_P3_LEN
    - htx_nbblks
    - HTX_SL_P1_PTR
    - chunk_appendf
    - htx_get_blk
    - htx_get_blk_type
    - htx_get_blk_value
    - HTX_SL_P3_PTR
    - MIN
    - htx_get_next
    linkageType: ''
    returnType: void
    signature: htx_dump(struct buffer *chunk, const struct htx *htx, int full)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDLOCK
      Src: /src/haproxy/include/haproxy/shctx.h:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shctx
    argTypes:
    - struct shared_context*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: shctx_rdlock
    functionSourceFile: /src/haproxy/include/haproxy/shctx.h
    functionUses: 1
    functionsReached:
    - HA_RWLOCK_RDLOCK
    linkageType: ''
    returnType: void
    signature: shctx_rdlock(struct shared_context *shctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_RDUNLOCK
      Src: /src/haproxy/include/haproxy/shctx.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shctx
    argTypes:
    - struct shared_context*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: shctx_rdunlock
    functionSourceFile: /src/haproxy/include/haproxy/shctx.h
    functionUses: 1
    functionsReached:
    - HA_RWLOCK_RDUNLOCK
    linkageType: ''
    returnType: void
    signature: shctx_rdunlock(struct shared_context *shctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRLOCK
      Src: /src/haproxy/include/haproxy/shctx.h:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shctx
    argTypes:
    - struct shared_context*
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: shctx_wrlock
    functionSourceFile: /src/haproxy/include/haproxy/shctx.h
    functionUses: 10
    functionsReached:
    - HA_RWLOCK_WRLOCK
    linkageType: ''
    returnType: void
    signature: shctx_wrlock(struct shared_context *shctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_RWLOCK_WRUNLOCK
      Src: /src/haproxy/include/haproxy/shctx.h:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - shctx
    argTypes:
    - struct shared_context*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: shctx_wrunlock
    functionSourceFile: /src/haproxy/include/haproxy/shctx.h
    functionUses: 10
    functionsReached:
    - HA_RWLOCK_WRUNLOCK
    linkageType: ''
    returnType: void
    signature: shctx_wrunlock(struct shared_context *shctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/include/haproxy/shctx.h:66,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/include/haproxy/shctx.h:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - shctx
    - first
    - s
    argTypes:
    - struct shared_context*
    - struct shared_block*
    - struct shared_block*
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: shctx_block_append_hot
    functionSourceFile: /src/haproxy/include/haproxy/shctx.h
    functionUses: 1
    functionsReached:
    - LIST_APPEND
    - LIST_DELETE
    linkageType: ''
    returnType: void
    signature: "shctx_block_append_hot(struct shared_context *shctx,\n                                          struct
      shared_block *first,\n                                          struct shared_block
      *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_DELETE
      Src: /src/haproxy/include/haproxy/shctx.h:74,1
    - Dst: LIST_INIT
      Src: /src/haproxy/include/haproxy/shctx.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - shctx
    - s
    argTypes:
    - struct shared_context*
    - struct shared_block*
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: shctx_block_detach
    functionSourceFile: /src/haproxy/include/haproxy/shctx.h
    functionUses: 1
    functionsReached:
    - LIST_DELETE
    - LIST_INIT
    linkageType: ''
    returnType: struct shared_block
    signature: "*shctx_block_detach(struct shared_context *shctx,\n\t\t\t\t\t\t      struct
      shared_block *s)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: fcgi_rt_str
    functionSourceFile: /src/haproxy/include/haproxy/fcgi.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*fcgi_rt_str(int type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 69
    argCount: 1
    argNames:
    - msg_state
    argTypes:
    - enum h1m_state
    constantsTouched: []
    func_position:
      end: 207
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 207
    functionName: h1m_state_str
    functionSourceFile: /src/haproxy/include/haproxy/h1.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*h1m_state_str(enum h1m_state msg_state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/h1.h:227,1
    - Dst: __b_peek
      Src: /src/haproxy/include/haproxy/h1.h:228,1
    - Dst: b_wrap
      Src: /src/haproxy/include/haproxy/h1.h:236,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/h1.h:237,1
    - Dst: __b_peek
      Src: /src/haproxy/include/haproxy/h1.h:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - start
    - stop
    argTypes:
    - struct buffer*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 246
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 246
    functionName: h1_skip_chunk_crlf
    functionSourceFile: /src/haproxy/include/haproxy/h1.h
    functionUses: 1
    functionsReached:
    - unlikely
    - b_orig
    - __b_peek
    - b_wrap
    linkageType: ''
    returnType: int
    signature: h1_skip_chunk_crlf(const struct buffer *buf, int start, int stop)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: hex2i
      Src: /src/haproxy/include/haproxy/h1.h:279,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/h1.h:282,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/h1.h:283,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/h1.h:285,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/h1.h:295,1
    - Dst: HTTP_IS_SPHT
      Src: /src/haproxy/include/haproxy/h1.h:298,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/h1.h:300,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/h1.h:309,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/h1.h:312,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/h1.h:319,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/h1.h:324,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/h1.h:327,1
    - Dst: HTTP_IS_CRLF
      Src: /src/haproxy/include/haproxy/h1.h:331,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/h1.h:333,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 63
    argCount: 4
    argNames:
    - buf
    - start
    - stop
    - res
    argTypes:
    - struct buffer*
    - int
    - int
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 352
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 352
    functionName: h1_parse_chunk_size
    functionSourceFile: /src/haproxy/include/haproxy/h1.h
    functionUses: 1
    functionsReached:
    - HTTP_IS_SPHT
    - likely
    - HTTP_IS_CRLF
    - hex2i
    - unlikely
    - b_orig
    linkageType: ''
    returnType: int
    signature: h1_parse_chunk_size(const struct buffer *buf, int start, int stop,
      uint64_t *res)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - h1m
    argTypes:
    - struct h1m*
    constantsTouched: []
    func_position:
      end: 366
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 366
    functionName: h1m_init_req
    functionSourceFile: /src/haproxy/include/haproxy/h1.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct h1m
    signature: '*h1m_init_req(struct h1m *h1m)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - h1m
    argTypes:
    - struct h1m*
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: h1m_init_res
    functionSourceFile: /src/haproxy/include/haproxy/h1.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: struct h1m
    signature: '*h1m_init_res(struct h1m *h1m)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/port_range.h:38,1
    - Dst: __ha_barrier_atomic_load
      Src: /src/haproxy/include/haproxy/port_range.h:41,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/include/haproxy/port_range.h:42,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/port_range.h:43,1
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/port_range.h:46,1
    - Dst: GET_NEXT_OFF
      Src: /src/haproxy/include/haproxy/port_range.h:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - range
    argTypes:
    - struct port_range*
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: port_range_alloc_port
    functionSourceFile: /src/haproxy/include/haproxy/port_range.h
    functionUses: 2
    functionsReached:
    - _HA_ATOMIC_CAS
    - GET_NEXT_OFF
    - _HA_ATOMIC_LOAD
    - __ha_barrier_atomic_load
    - unlikely
    linkageType: ''
    returnType: int
    signature: port_range_alloc_port(struct port_range *range)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _HA_ATOMIC_CAS
      Src: /src/haproxy/include/haproxy/port_range.h:69,1
    - Dst: GET_NEXT_OFF
      Src: /src/haproxy/include/haproxy/port_range.h:69,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/port_range.h:70,1
    - Dst: __ha_barrier_atomic_store
      Src: /src/haproxy/include/haproxy/port_range.h:72,1
    - Dst: __ha_compiler_barrier
      Src: /src/haproxy/include/haproxy/port_range.h:75,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/include/haproxy/port_range.h:79,1
    - Dst: GET_NEXT_OFF
      Src: /src/haproxy/include/haproxy/port_range.h:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - range
    - port
    argTypes:
    - struct port_range*
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 80
    functionName: port_range_release_port
    functionSourceFile: /src/haproxy/include/haproxy/port_range.h
    functionUses: 3
    functionsReached:
    - __ha_compiler_barrier
    - _HA_ATOMIC_CAS
    - GET_NEXT_OFF
    - __ha_barrier_atomic_store
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: void
    signature: port_range_release_port(struct port_range *range, int port)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/include/haproxy/port_range.h:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: port_range_alloc_range
    functionSourceFile: /src/haproxy/include/haproxy/port_range.h
    functionUses: 2
    functionsReached:
    - calloc
    linkageType: ''
    returnType: struct port_range
    signature: '*port_range_alloc_range(int n)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:84,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:86,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:86,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:86,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:87,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:87,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:88,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:88,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:89,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:89,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:90,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:90,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:91,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:91,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: peers_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/peers-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*peers_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:122,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:124,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:124,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:124,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:125,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:125,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:126,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:126,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:126,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:127,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/peers-t.h:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 132
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 132
    functionName: peer_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/peers-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*peer_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: typeof
      Src: /src/haproxy/include/haproxy/time.h:64,1
    - Dst: typeof
      Src: /src/haproxy/include/haproxy/time.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: tv_eternity
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 0
    functionsReached:
    - typeof
    linkageType: ''
    returnType: struct timeval
    signature: '*tv_eternity(struct timeval *tv)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: tv_zero
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct timeval
    signature: '*tv_zero(struct timeval *tv)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: __tv_to_ms
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: __tv_to_ms(const struct timeval *tv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tv
    - ms
    argTypes:
    - struct timeval*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: __tv_from_ms
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct timeval
    signature: '* __tv_from_ms(struct timeval *tv, unsigned long ms)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: tv_to_ns
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: tv_to_ns(const struct timeval *tv)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - ullong
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: ns_to_sec
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: ns_to_sec(ullong ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ns
    argTypes:
    - ullong
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: ns_to_ms
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: ns_to_ms(ullong ns)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sec
    argTypes:
    - uint
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: sec_to_ns
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: sec_to_ns(uint sec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ms
    argTypes:
    - uint
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: ms_to_ns
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: ms_to_ns(uint ms)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - us
    argTypes:
    - uint
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: us_to_ns
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: us_to_ns(uint us)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - usec
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: __usec_to_1024th
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: __usec_to_1024th(unsigned int usec)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: __tv_cmp
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: __tv_cmp(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: __tv_iseq
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: __tv_iseq(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: __tv_isgt
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: __tv_isgt(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: __tv_isge
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: __tv_isge(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: __tv_islt
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: __tv_islt(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: __tv_isle
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: __tv_isle(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 268
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 268
    functionName: __tv_ms_cmp
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: __tv_ms_cmp(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tv_iseternity
      Src: /src/haproxy/include/haproxy/time.h:278,1
    - Dst: tv_iseternity
      Src: /src/haproxy/include/haproxy/time.h:279,1
    - Dst: tv_iseternity
      Src: /src/haproxy/include/haproxy/time.h:283,1
    - Dst: tv_ms_cmp
      Src: /src/haproxy/include/haproxy/time.h:285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: __tv_ms_cmp2
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 1
    functionsReached:
    - tv_iseternity
    - tv_ms_cmp
    linkageType: ''
    returnType: int
    signature: __tv_ms_cmp2(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/include/haproxy/time.h:298,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/time.h:301,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/time.h:304,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/time.h:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 316
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 316
    functionName: __tv_ms_le2
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 1
    functionsReached:
    - unlikely
    - likely
    linkageType: ''
    returnType: int
    signature: __tv_ms_le2(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: __tv_ms_elapsed
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: __tv_ms_elapsed(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tv_ms_cmp
      Src: /src/haproxy/include/haproxy/time.h:347,1
    - Dst: __tv_ms_elapsed
      Src: /src/haproxy/include/haproxy/time.h:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: __tv_ms_remain
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 2
    functionsReached:
    - __tv_ms_elapsed
    - tv_ms_cmp
    linkageType: ''
    returnType: unsigned long
    signature: __tv_ms_remain(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tv_iseternity
      Src: /src/haproxy/include/haproxy/time.h:362,1
    - Dst: tv_ms_remain
      Src: /src/haproxy/include/haproxy/time.h:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: __tv_ms_remain2
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 0
    functionsReached:
    - tv_iseternity
    - tv_ms_remain
    linkageType: ''
    returnType: unsigned long
    signature: __tv_ms_remain2(const struct timeval *tv1, const struct timeval *tv2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tv
    - from
    - inc
    argTypes:
    - struct timeval*
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: __tv_add
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct timeval
    signature: '*__tv_add(struct timeval *tv, const struct timeval *from, const struct
      timeval *inc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tv_iseternity
      Src: /src/haproxy/include/haproxy/time.h:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - tv
    - from
    - inc
    argTypes:
    - struct timeval*
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 402
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 402
    functionName: __tv_add_ifset
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 1
    functionsReached:
    - tv_iseternity
    linkageType: ''
    returnType: int
    signature: __tv_add_ifset(struct timeval *tv, const struct timeval *from, const
      struct timeval *inc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tv
    - inc
    argTypes:
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: __tv_add2
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct timeval
    signature: '*__tv_add2(struct timeval *tv, const struct timeval *inc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - tv1
    - tv2
    - tv
    argTypes:
    - struct timeval*
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 442
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 442
    functionName: __tv_remain
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct timeval
    signature: '*__tv_remain(const struct timeval *tv1, const struct timeval *tv2,
      struct timeval *tv)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tv_iseternity
      Src: /src/haproxy/include/haproxy/time.h:454,1
    - Dst: tv_eternity
      Src: /src/haproxy/include/haproxy/time.h:455,1
    - Dst: __tv_remain
      Src: /src/haproxy/include/haproxy/time.h:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tv1
    - tv2
    - tv
    argTypes:
    - struct timeval*
    - struct timeval*
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 457
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 457
    functionName: __tv_remain2
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 1
    functionsReached:
    - tv_iseternity
    - tv_eternity
    - __tv_remain
    linkageType: ''
    returnType: struct timeval
    signature: '*__tv_remain2(const struct timeval *tv1, const struct timeval *tv2,
      struct timeval *tv)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tv
    - from
    - ms
    argTypes:
    - struct timeval*
    - struct timeval*
    - int
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: __tv_ms_add
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct timeval
    signature: '*__tv_ms_add(struct timeval *tv, const struct timeval *from, int ms)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timer
    argTypes:
    - struct tot_time*
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: tot_time_reset
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: tot_time_reset(struct tot_time *timer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - timer
    argTypes:
    - struct tot_time*
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: tot_time_start
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: tot_time_start(struct tot_time *timer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - timer
    argTypes:
    - struct tot_time*
    constantsTouched: []
    func_position:
      end: 537
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 537
    functionName: tot_time_stop
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: tot_time_stop(struct tot_time *timer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - timer
    argTypes:
    - struct tot_time*
    constantsTouched: []
    func_position:
      end: 548
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 548
    functionName: tot_time_read
    functionSourceFile: /src/haproxy/include/haproxy/time.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: tot_time_read(const struct tot_time *timer)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: qmux_stream_rx_bufsz
    functionSourceFile: /src/haproxy/include/haproxy/mux_quic.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: qmux_stream_rx_bufsz(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: qcs_id_type
    functionSourceFile: /src/haproxy/include/haproxy/mux_quic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum qcs_type
    signature: qcs_id_type(uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: conn_is_back
      Src: /src/haproxy/include/haproxy/mux_quic.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qcc
    - id
    argTypes:
    - struct qcc*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: quic_stream_is_local
    functionSourceFile: /src/haproxy/include/haproxy/mux_quic.h
    functionUses: 7
    functionsReached:
    - conn_is_back
    linkageType: ''
    returnType: int
    signature: quic_stream_is_local(struct qcc *qcc, uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_stream_is_local
      Src: /src/haproxy/include/haproxy/mux_quic.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qcc
    - id
    argTypes:
    - struct qcc*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: quic_stream_is_remote
    functionSourceFile: /src/haproxy/include/haproxy/mux_quic.h
    functionUses: 6
    functionsReached:
    - quic_stream_is_local
    linkageType: ''
    returnType: int
    signature: quic_stream_is_remote(struct qcc *qcc, uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: quic_stream_is_uni
    functionSourceFile: /src/haproxy/include/haproxy/mux_quic.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: quic_stream_is_uni(uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quic_stream_is_uni
      Src: /src/haproxy/include/haproxy/mux_quic.h:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: quic_stream_is_bidi
    functionSourceFile: /src/haproxy/include/haproxy/mux_quic.h
    functionUses: 8
    functionsReached:
    - quic_stream_is_uni
    linkageType: ''
    returnType: int
    signature: quic_stream_is_bidi(uint64_t id)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - st
    argTypes:
    - enum qcs_state
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: qcs_st_to_str
    functionSourceFile: /src/haproxy/include/haproxy/mux_quic.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*qcs_st_to_str(enum qcs_state st)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/mux_quic.h:121,1
    - Dst: tick_isset
      Src: /src/haproxy/include/haproxy/mux_quic.h:121,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/include/haproxy/mux_quic.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - qcs
    argTypes:
    - struct qcs*
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: qcs_wait_http_req
    functionSourceFile: /src/haproxy/include/haproxy/mux_quic.h
    functionUses: 2
    functionsReached:
    - LIST_APPEND
    - BUG_ON_HOT
    - tick_isset
    linkageType: ''
    returnType: void
    signature: qcs_wait_http_req(struct qcs *qcs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:92,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:94,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:94,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:95,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:96,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:97,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:97,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:98,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:98,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:98,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:99,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:99,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:100,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:100,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:101,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: chn_show_flags
    functionSourceFile: /src/haproxy/include/haproxy/channel-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*chn_show_flags(char *buf, size_t len, const char *delim, uint flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:173,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:175,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:175,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:175,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:176,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:176,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:176,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:177,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:177,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:177,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:178,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:178,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:178,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:179,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:179,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:180,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:180,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:180,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:181,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:181,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:183,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:183,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:183,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:184,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:184,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:184,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:185,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:185,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:186,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:186,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:186,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:187,1
    - Dst: _
      Src: /src/haproxy/include/haproxy/channel-t.h:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - len
    - delim
    - flg
    argTypes:
    - char*
    - size_t
    - char*
    - uint
    constantsTouched: []
    func_position:
      end: 192
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 192
    functionName: chn_show_analysers
    functionSourceFile: /src/haproxy/include/haproxy/channel-t.h
    functionUses: 1
    functionsReached:
    - _
    linkageType: ''
    returnType: forceinline
    signature: '*chn_show_analysers(char *buf, size_t len, const char *delim, uint
      flg)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pcre_exec
      Src: /src/haproxy/include/haproxy/regex.h:57,1
    - Dst: strlen
      Src: /src/haproxy/include/haproxy/regex.h:57,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/haproxy/include/haproxy/regex.h:64,1
    - Dst: struct my_regex*::mfn
      Src: /src/haproxy/include/haproxy/regex.h:65,1
    - Dst: strlen
      Src: /src/haproxy/include/haproxy/regex.h:65,1
    - Dst: pcre2_match_data_free
      Src: /src/haproxy/include/haproxy/regex.h:67,1
    - Dst: regexec
      Src: /src/haproxy/include/haproxy/regex.h:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - preg
    - subject
    argTypes:
    - struct my_regex*
    - char*
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: regex_exec
    functionSourceFile: /src/haproxy/include/haproxy/regex.h
    functionUses: 0
    functionsReached:
    - struct my_regex*::mfn
    - pcre2_match_data_free
    - pcre2_match_data_create_from_pattern
    - strlen
    - regexec
    - pcre_exec
    linkageType: ''
    returnType: int
    signature: regex_exec(const struct my_regex *preg, char *subject)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pcre_exec
      Src: /src/haproxy/include/haproxy/regex.h:89,1
    - Dst: pcre2_match_data_create_from_pattern
      Src: /src/haproxy/include/haproxy/regex.h:96,1
    - Dst: struct my_regex*::mfn
      Src: /src/haproxy/include/haproxy/regex.h:97,1
    - Dst: pcre2_match_data_free
      Src: /src/haproxy/include/haproxy/regex.h:99,1
    - Dst: regexec
      Src: /src/haproxy/include/haproxy/regex.h:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - preg
    - subject
    - length
    argTypes:
    - struct my_regex*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 113
    functionName: regex_exec2
    functionSourceFile: /src/haproxy/include/haproxy/regex.h
    functionUses: 5
    functionsReached:
    - struct my_regex*::mfn
    - pcre2_match_data_free
    - pcre2_match_data_create_from_pattern
    - regexec
    - pcre_exec
    linkageType: ''
    returnType: int
    signature: regex_exec2(const struct my_regex *preg, char *subject, int length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pcre_free
      Src: /src/haproxy/include/haproxy/regex.h:120,1
    - Dst: pcre_free_study
      Src: /src/haproxy/include/haproxy/regex.h:125,1
    - Dst: pcre_free
      Src: /src/haproxy/include/haproxy/regex.h:127,1
    - Dst: pcre2_code_free
      Src: /src/haproxy/include/haproxy/regex.h:130,1
    - Dst: regfree
      Src: /src/haproxy/include/haproxy/regex.h:132,1
    - Dst: free
      Src: /src/haproxy/include/haproxy/regex.h:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - preg
    argTypes:
    - struct my_regex*
    constantsTouched: []
    func_position:
      end: 135
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 135
    functionName: regex_free
    functionSourceFile: /src/haproxy/include/haproxy/regex.h
    functionUses: 12
    functionsReached:
    - pcre2_code_free
    - pcre_free
    - free
    - regfree
    - pcre_free_study
    linkageType: ''
    returnType: void
    signature: regex_free(struct my_regex *preg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: clock_update_local_date
      Src: /src/haproxy/include/haproxy/clock.h:55,1
    - Dst: clock_update_global_date
      Src: /src/haproxy/include/haproxy/clock.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - max_wait
    - interrupted
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: clock_update_date
    functionSourceFile: /src/haproxy/include/haproxy/clock.h
    functionUses: 7
    functionsReached:
    - clock_update_local_date
    - clock_update_global_date
    linkageType: ''
    returnType: void
    signature: clock_update_date(int max_wait, int interrupted)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 9
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 9
    functionName: ncb_is_null
    functionSourceFile: /src/haproxy/include/haproxy/ncbuf.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ncb_is_null(const struct ncbuf *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 18
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 18
    functionName: ncb_orig
    functionSourceFile: /src/haproxy/include/haproxy/ncbuf.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*ncb_orig(const struct ncbuf *buf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: ncb_head
    functionSourceFile: /src/haproxy/include/haproxy/ncbuf.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*ncb_head(const struct ncbuf *buf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: ncb_wrap
    functionSourceFile: /src/haproxy/include/haproxy/ncbuf.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*ncb_wrap(const struct ncbuf *buf)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ncb_is_null
      Src: /src/haproxy/include/haproxy/ncbuf.h:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct ncbuf*
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: ncb_size
    functionSourceFile: /src/haproxy/include/haproxy/ncbuf.h
    functionUses: 14
    functionsReached:
    - ncb_is_null
    linkageType: ''
    returnType: ncb_sz_t
    signature: ncb_size(const struct ncbuf *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: syscall
      Src: /src/haproxy/include/haproxy/linuxcap.h:21,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdrp
    - datap
    argTypes:
    - cap_user_header_t
    - cap_user_data_t
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: capget
    functionSourceFile: /src/haproxy/include/haproxy/linuxcap.h
    functionUses: 3
    functionsReached:
    - syscall
    linkageType: ''
    returnType: int
    signature: capget(cap_user_header_t hdrp, const cap_user_data_t datap)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - col
    argTypes:
    - struct stat_col*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: stcol_is_generic
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: stcol_is_generic(const struct stat_col *col)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - col
    argTypes:
    - struct stat_col*
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: stcol_format
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum field_format
    signature: stcol_format(const struct stat_col *col)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - col
    argTypes:
    - struct stat_col*
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: stcol_nature
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum field_nature
    signature: stcol_nature(const struct stat_col *col)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - e
    argTypes:
    - struct field*
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: field_format
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: enum field_format
    signature: field_format(const struct field *f, int e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - e
    argTypes:
    - struct field*
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: field_origin
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum field_origin
    signature: field_origin(const struct field *f, int e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - e
    argTypes:
    - struct field*
    - int
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: field_scope
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum field_scope
    signature: field_scope(const struct field *f, int e)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - e
    argTypes:
    - struct field*
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: field_nature
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum field_nature
    signature: field_nature(const struct field *f, int e)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_format
      Src: /src/haproxy/include/haproxy/stats.h:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - f
    - e
    argTypes:
    - struct field*
    - int
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: field_str
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 5
    functionsReached:
    - field_format
    linkageType: ''
    returnType: char
    signature: '*field_str(const struct field *f, int e)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - uint32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: mkf_s32
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct field
    signature: mkf_s32(uint32_t type, int32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: mkf_u32
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: struct field
    signature: mkf_u32(uint32_t type, uint32_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - uint32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: mkf_s64
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct field
    signature: mkf_s64(uint32_t type, int64_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - uint32_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: mkf_u64
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: struct field
    signature: mkf_u64(uint32_t type, uint64_t value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - uint32_t
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: mkf_str
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: struct field
    signature: mkf_str(uint32_t type, const char *value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - uint32_t
    - double
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: mkf_flt
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct field
    signature: mkf_flt(uint32_t type, double value)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - domain
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: stats_get_domain
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: stats_get_domain(uint32_t domain)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - domain
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: stats_px_get_cap
    functionSourceFile: /src/haproxy/include/haproxy/stats.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: enum stats_domain_px_cap
    signature: stats_px_get_cap(uint32_t domain)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - enum trace_state
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: trace_state_char
    functionSourceFile: /src/haproxy/include/haproxy/trace.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: trace_state_char(enum trace_state st)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - ev
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: trace_event_char
    functionSourceFile: /src/haproxy/include/haproxy/trace.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: trace_event_char(uint64_t conf, uint64_t ev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/trace.h:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: trace_disable
    functionSourceFile: /src/haproxy/include/haproxy/trace.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: uint8_t
    signature: trace_disable(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: trace_resume
    functionSourceFile: /src/haproxy/include/haproxy/trace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: trace_resume(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: trace_force_resume
    functionSourceFile: /src/haproxy/include/haproxy/trace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: trace_force_resume(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - disable
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: trace_reset_disable
    functionSourceFile: /src/haproxy/include/haproxy/trace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: trace_reset_disable(uint8_t disable)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: mul32hi
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: mul32hi(unsigned int a, unsigned int b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - o1
    - o2
    argTypes:
    - unsigned long long
    - unsigned int
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: div64_32
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: div64_32(unsigned long long o1, unsigned int o2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - v
    - bits
    argTypes:
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: rotl64
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: rotl64(uint64_t v, uint8_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - v
    - bits
    argTypes:
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: rotr64
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: rotr64(uint64_t v, uint8_t bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - min8
    argTypes:
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: is_char4_below_opt
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: is_char4_below_opt(uint32_t x, uint8_t min8)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - max8
    argTypes:
    - uint32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: is_char4_above_opt
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: is_char4_above_opt(uint32_t x, uint8_t max8)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - x
    - min8
    - max8
    argTypes:
    - uint32_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: is_char4_outside
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: is_char4_outside(uint32_t x, uint8_t min8, uint8_t max8)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - min8
    argTypes:
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: is_char8_below_opt
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: is_char8_below_opt(uint64_t x, uint8_t min8)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - max8
    argTypes:
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: is_char8_above_opt
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: is_char8_above_opt(uint64_t x, uint8_t max8)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_char4_outside
      Src: /src/haproxy/include/haproxy/intops.h:221,1
    - Dst: is_char4_outside
      Src: /src/haproxy/include/haproxy/intops.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - x
    - min8
    - max8
    argTypes:
    - uint64_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 223
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 223
    functionName: is_char8_outside
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 1
    functionsReached:
    - is_char4_outside
    linkageType: ''
    returnType: uint64_t
    signature: is_char8_outside(uint64_t x, uint8_t min8, uint8_t max8)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: my_popcountl
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: my_popcountl(unsigned long a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: atleast2
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: atleast2(unsigned long a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 283
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 283
    functionName: my_ffsl
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: my_ffsl(unsigned long a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 326
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 326
    functionName: my_flsl
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: my_flsl(unsigned long a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - bits
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: nbits
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: nbits(int bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/haproxy/include/haproxy/intops.h:360,1
    - Dst: htonl
      Src: /src/haproxy/include/haproxy/intops.h:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: my_htonll
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 4
    functionsReached:
    - htonl
    linkageType: ''
    returnType: unsigned long long
    signature: my_htonll(unsigned long long a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: my_htonll
      Src: /src/haproxy/include/haproxy/intops.h:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: my_ntohll
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 2
    functionsReached:
    - my_htonll
    linkageType: ''
    returnType: unsigned long long
    signature: my_ntohll(unsigned long long a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bit
    - map
    argTypes:
    - unsigned long
    - long*
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: ha_bit_set
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: ha_bit_set(unsigned long bit, long *map)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bit
    - map
    argTypes:
    - unsigned long
    - long*
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: ha_bit_clr
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: ha_bit_clr(unsigned long bit, long *map)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bit
    - map
    argTypes:
    - unsigned long
    - long*
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: ha_bit_flip
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: ha_bit_flip(unsigned long bit, long *map)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bit
    - map
    argTypes:
    - unsigned long
    - long*
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: ha_bit_test
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ha_bit_test(unsigned long bit, const long *map)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 417
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 417
    functionName: __full_hash
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: __full_hash(unsigned int a)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 432
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 432
    functionName: hex2i
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: hex2i(int c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: __str2ui
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: __str2ui(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 463
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 463
    functionName: __str2uic
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: __str2uic(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 477
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 477
    functionName: __strl2ui
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: __strl2ui(const char *s, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 495
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 495
    functionName: __strl2uic
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: __strl2uic(const char *s, int len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - s
    - end
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 517
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 517
    functionName: __read_uint
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: __read_uint(const char **s, const char *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 537
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 537
    functionName: __varint_bytes
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: __varint_bytes(uint64_t v)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - i
    - buf
    - end
    argTypes:
    - uint64_t
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 581
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 581
    functionName: encode_varint
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: encode_varint(uint64_t i, char **buf, char *end)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - end
    - i
    argTypes:
    - char**
    - char*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 612
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 612
    functionName: decode_varint
    functionSourceFile: /src/haproxy/include/haproxy/intops.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: decode_varint(char **buf, char *end, uint64_t *i)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - family
    - proto_type
    - alt
    argTypes:
    - int
    - enum proto_type
    - int
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: protocol_lookup
    functionSourceFile: /src/haproxy/include/haproxy/protocol.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: struct protocol
    signature: '*protocol_lookup(int family, enum proto_type proto_type, int alt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ss_family
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: proto_fam_lookup
    functionSourceFile: /src/haproxy/include/haproxy/protocol.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct proto_fam
    signature: '*proto_fam_lookup(int ss_family)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proto_fam_lookup
      Src: /src/haproxy/include/haproxy/protocol.h:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ss_family
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: real_family
    functionSourceFile: /src/haproxy/include/haproxy/protocol.h
    functionUses: 8
    functionsReached:
    - proto_fam_lookup
    linkageType: ''
    returnType: int
    signature: real_family(int ss_family)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - cid
    argTypes:
    - struct buffer*
    - struct tp_cid*
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: quic_tp_cid_dump
    functionSourceFile: /src/haproxy/include/haproxy/quic_tp.h
    functionUses: 0
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "quic_tp_cid_dump(struct buffer *buf,\n                                    const
      struct tp_cid *cid)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:48,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - b
    - tp
    - local
    argTypes:
    - struct buffer*
    - struct tp_version_information*
    - int
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: quic_tp_version_info_dump
    functionSourceFile: /src/haproxy/include/haproxy/quic_tp.h
    functionUses: 0
    functionsReached:
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "quic_tp_version_info_dump(struct buffer *b,\n                                             const
      struct tp_version_information *tp, int local)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:60,1
    - Dst: quic_tp_cid_dump
      Src: /src/haproxy/include/haproxy/quic_tp.h:61,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:63,1
    - Dst: quic_tp_cid_dump
      Src: /src/haproxy/include/haproxy/quic_tp.h:64,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:66,1
    - Dst: quic_tp_cid_dump
      Src: /src/haproxy/include/haproxy/quic_tp.h:67,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:69,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:71,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:72,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:73,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:74,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:75,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:77,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:78,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:80,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:82,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:84,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:85,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:90,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:93,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:95,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:99,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:101,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:103,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:108,1
    - Dst: inet_ntop
      Src: /src/haproxy/include/haproxy/quic_tp.h:109,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:111,1
    - Dst: inet_ntop
      Src: /src/haproxy/include/haproxy/quic_tp.h:113,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:115,1
    - Dst: quic_tp_cid_dump
      Src: /src/haproxy/include/haproxy/quic_tp.h:116,1
    - Dst: chunk_appendf
      Src: /src/haproxy/include/haproxy/quic_tp.h:117,1
    - Dst: quic_tp_version_info_dump
      Src: /src/haproxy/include/haproxy/quic_tp.h:120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 3
    argNames:
    - b
    - qc
    - p
    argTypes:
    - struct buffer*
    - struct quic_conn*
    - struct quic_transport_params*
    constantsTouched: []
    func_position:
      end: 121
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 121
    functionName: quic_transport_params_dump
    functionSourceFile: /src/haproxy/include/haproxy/quic_tp.h
    functionUses: 2
    functionsReached:
    - quic_tp_cid_dump
    - quic_tp_version_info_dump
    - inet_ntop
    - chunk_appendf
    linkageType: ''
    returnType: void
    signature: "quic_transport_params_dump(struct buffer *b,\n                                              const
      struct quic_conn *qc,\n                                              const struct
      quic_transport_params *p)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_strm
      Src: /src/haproxy/include/haproxy/sc_strm.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: sc_ic
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 33
    functionsReached:
    - __sc_strm
    linkageType: ''
    returnType: struct channel
    signature: '*sc_ic(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_strm
      Src: /src/haproxy/include/haproxy/sc_strm.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: sc_oc
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 33
    functionsReached:
    - __sc_strm
    linkageType: ''
    returnType: struct channel
    signature: '*sc_oc(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/include/haproxy/sc_strm.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: sc_ib
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 3
    functionsReached:
    - sc_ic
    linkageType: ''
    returnType: struct buffer
    signature: '*sc_ib(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_oc
      Src: /src/haproxy/include/haproxy/sc_strm.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: sc_ob
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 2
    functionsReached:
    - sc_oc
    linkageType: ''
    returnType: struct buffer
    signature: '*sc_ob(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_strm
      Src: /src/haproxy/include/haproxy/sc_strm.h:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: sc_strm_task
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 7
    functionsReached:
    - __sc_strm
    linkageType: ''
    returnType: struct task
    signature: '*sc_strm_task(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_strm
      Src: /src/haproxy/include/haproxy/sc_strm.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: sc_opposite
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 27
    functionsReached:
    - __sc_strm
    linkageType: ''
    returnType: struct stconn
    signature: '*sc_opposite(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_strm
      Src: /src/haproxy/include/haproxy/sc_strm.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sc
    - state
    argTypes:
    - struct stconn*
    - int
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: sc_set_state
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 3
    functionsReached:
    - __sc_strm
    linkageType: ''
    returnType: void
    signature: sc_set_state(struct stconn *sc, int state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/sc_strm.h:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - enum sc_state
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: sc_state_bit
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 0
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: enum sc_state_bit
    signature: sc_state_bit(enum sc_state state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/sc_strm.h:112,1
    - Dst: sc_state_bit
      Src: /src/haproxy/include/haproxy/sc_strm.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - mask
    argTypes:
    - enum sc_state
    - enum sc_state_bit
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: sc_state_in
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 18
    functionsReached:
    - BUG_ON
    - sc_state_bit
    linkageType: ''
    returnType: int
    signature: sc_state_in(enum sc_state state, enum sc_state_bit mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_conn
      Src: /src/haproxy/include/haproxy/sc_strm.h:121,1
    - Dst: conn_ctrl_ready
      Src: /src/haproxy/include/haproxy/sc_strm.h:123,1
    - Dst: conn_xprt_ready
      Src: /src/haproxy/include/haproxy/sc_strm.h:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: sc_conn_ready
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 1
    functionsReached:
    - conn_ctrl_ready
    - conn_xprt_ready
    - sc_conn
    linkageType: ''
    returnType: int
    signature: sc_conn_ready(const struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_conn
      Src: /src/haproxy/include/haproxy/sc_strm.h:140,1
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/sc_strm.h:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: sc_is_conn_error
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 3
    functionsReached:
    - BUG_ON
    - __sc_conn
    linkageType: ''
    returnType: int
    signature: sc_is_conn_error(const struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: channel_alloc_buffer
      Src: /src/haproxy/include/haproxy/sc_strm.h:157,1
    - Dst: sc_ic
      Src: /src/haproxy/include/haproxy/sc_strm.h:157,1
    - Dst: sc_used_buff
      Src: /src/haproxy/include/haproxy/sc_strm.h:159,1
    - Dst: sc_need_buff
      Src: /src/haproxy/include/haproxy/sc_strm.h:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sc
    - wait
    argTypes:
    - struct stconn*
    - struct buffer_wait*
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: sc_alloc_ibuf
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 4
    functionsReached:
    - sc_need_buff
    - channel_alloc_buffer
    - sc_used_buff
    - sc_ic
    linkageType: ''
    returnType: int
    signature: sc_alloc_ibuf(struct stconn *sc, struct buffer_wait *wait)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sess_src
      Src: /src/haproxy/include/haproxy/sc_strm.h:176,1
    - Dst: strm_sess
      Src: /src/haproxy/include/haproxy/sc_strm.h:176,1
    - Dst: __sc_strm
      Src: /src/haproxy/include/haproxy/sc_strm.h:176,1
    - Dst: sc_conn
      Src: /src/haproxy/include/haproxy/sc_strm.h:178,1
    - Dst: conn_src
      Src: /src/haproxy/include/haproxy/sc_strm.h:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: sc_src
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 14
    functionsReached:
    - sess_src
    - conn_src
    - strm_sess
    - __sc_strm
    - sc_conn
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: '*sc_src(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sess_dst
      Src: /src/haproxy/include/haproxy/sc_strm.h:196,1
    - Dst: strm_sess
      Src: /src/haproxy/include/haproxy/sc_strm.h:196,1
    - Dst: __sc_strm
      Src: /src/haproxy/include/haproxy/sc_strm.h:196,1
    - Dst: sc_conn
      Src: /src/haproxy/include/haproxy/sc_strm.h:198,1
    - Dst: conn_dst
      Src: /src/haproxy/include/haproxy/sc_strm.h:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 204
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 204
    functionName: sc_dst
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 12
    functionsReached:
    - sess_dst
    - strm_sess
    - __sc_strm
    - conn_dst
    - sc_conn
    linkageType: ''
    returnType: struct sockaddr_storage
    signature: '*sc_dst(const struct stconn *sc)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sess_src
      Src: /src/haproxy/include/haproxy/sc_strm.h:220,1
    - Dst: strm_sess
      Src: /src/haproxy/include/haproxy/sc_strm.h:220,1
    - Dst: __sc_strm
      Src: /src/haproxy/include/haproxy/sc_strm.h:220,1
    - Dst: sc_conn
      Src: /src/haproxy/include/haproxy/sc_strm.h:222,1
    - Dst: conn_src
      Src: /src/haproxy/include/haproxy/sc_strm.h:225,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/include/haproxy/sc_strm.h:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 234
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 234
    functionName: sc_get_src
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 2
    functionsReached:
    - sess_src
    - conn_src
    - sockaddr_alloc
    - strm_sess
    - __sc_strm
    - sc_conn
    linkageType: ''
    returnType: int
    signature: sc_get_src(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sess_dst
      Src: /src/haproxy/include/haproxy/sc_strm.h:250,1
    - Dst: strm_sess
      Src: /src/haproxy/include/haproxy/sc_strm.h:250,1
    - Dst: __sc_strm
      Src: /src/haproxy/include/haproxy/sc_strm.h:250,1
    - Dst: sc_conn
      Src: /src/haproxy/include/haproxy/sc_strm.h:252,1
    - Dst: conn_dst
      Src: /src/haproxy/include/haproxy/sc_strm.h:255,1
    - Dst: sockaddr_alloc
      Src: /src/haproxy/include/haproxy/sc_strm.h:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 264
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 264
    functionName: sc_get_dst
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 2
    functionsReached:
    - sess_dst
    - sockaddr_alloc
    - strm_sess
    - __sc_strm
    - conn_dst
    - sc_conn
    linkageType: ''
    returnType: int
    signature: sc_get_dst(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_set
      Src: /src/haproxy/include/haproxy/sc_strm.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: sc_must_kill_conn
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 3
    functionsReached:
    - sc_ep_set
    linkageType: ''
    returnType: void
    signature: sc_must_kill_conn(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/sc_strm.h:287,1
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/sc_strm.h:290,1
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/sc_strm.h:293,1
    - Dst: sc_opposite
      Src: /src/haproxy/include/haproxy/sc_strm.h:293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 297
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 297
    functionName: sc_is_recv_allowed
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 4
    functionsReached:
    - sc_ep_test
    - sc_opposite
    linkageType: ''
    returnType: int
    signature: sc_is_recv_allowed(const struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/sc_strm.h:307,1
    - Dst: sc_state_in
      Src: /src/haproxy/include/haproxy/sc_strm.h:308,1
    - Dst: sc_opposite
      Src: /src/haproxy/include/haproxy/sc_strm.h:308,1
    - Dst: sc_ep_clr
      Src: /src/haproxy/include/haproxy/sc_strm.h:309,1
    - Dst: sc_ep_report_read_activity
      Src: /src/haproxy/include/haproxy/sc_strm.h:310,1
    - Dst: sc_is_recv_allowed
      Src: /src/haproxy/include/haproxy/sc_strm.h:313,1
    - Dst: sc_state_in
      Src: /src/haproxy/include/haproxy/sc_strm.h:316,1
    - Dst: sc_ep_set
      Src: /src/haproxy/include/haproxy/sc_strm.h:319,1
    - Dst: likely
      Src: /src/haproxy/include/haproxy/sc_strm.h:320,1
    - Dst: struct stconn*::app_ops::chk_rcv
      Src: /src/haproxy/include/haproxy/sc_strm.h:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 322
      start: 305
    functionDepth: 4
    functionLinenumber: 305
    functionLinenumberEnd: 322
    functionName: sc_chk_rcv
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 3
    functionsReached:
    - sc_ep_clr
    - sc_state_in
    - sc_opposite
    - sc_ep_report_read_activity
    - likely
    - sc_ep_test
    - sc_is_recv_allowed
    - sc_ep_set
    - struct stconn*::app_ops::chk_rcv
    linkageType: ''
    returnType: void
    signature: sc_chk_rcv(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/include/haproxy/sc_strm.h:327,1
    - Dst: struct stconn*::app_ops::chk_snd
      Src: /src/haproxy/include/haproxy/sc_strm.h:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: sc_chk_snd
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 1
    functionsReached:
    - struct stconn*::app_ops::chk_snd
    - likely
    linkageType: ''
    returnType: void
    signature: sc_chk_snd(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/sc_strm.h:337,1
    - Dst: sc_conn_sync_recv
      Src: /src/haproxy/include/haproxy/sc_strm.h:338,1
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/sc_strm.h:339,1
    - Dst: sc_applet_sync_recv
      Src: /src/haproxy/include/haproxy/sc_strm.h:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 7
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: sc_sync_recv
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 1
    functionsReached:
    - sc_applet_sync_recv
    - sc_conn_sync_recv
    - sc_ep_test
    linkageType: ''
    returnType: int
    signature: sc_sync_recv(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/sc_strm.h:349,1
    - Dst: sc_conn_sync_send
      Src: /src/haproxy/include/haproxy/sc_strm.h:350,1
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/sc_strm.h:351,1
    - Dst: sc_applet_sync_send
      Src: /src/haproxy/include/haproxy/sc_strm.h:352,1
    - Dst: sc_oc
      Src: /src/haproxy/include/haproxy/sc_strm.h:353,1
    - Dst: task_wakeup
      Src: /src/haproxy/include/haproxy/sc_strm.h:357,1
    - Dst: __sc_appctx
      Src: /src/haproxy/include/haproxy/sc_strm.h:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 360
      start: 347
    functionDepth: 4
    functionLinenumber: 347
    functionLinenumberEnd: 360
    functionName: sc_sync_send
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 1
    functionsReached:
    - __sc_appctx
    - sc_applet_sync_send
    - task_wakeup
    - sc_ep_test
    - sc_conn_sync_send
    - sc_oc
    linkageType: ''
    returnType: void
    signature: sc_sync_send(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_update_rx
      Src: /src/haproxy/include/haproxy/sc_strm.h:365,1
    - Dst: sc_update_tx
      Src: /src/haproxy/include/haproxy/sc_strm.h:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: sc_update
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 1
    functionsReached:
    - sc_update_rx
    - sc_update_tx
    linkageType: ''
    returnType: void
    signature: sc_update(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - state
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 386
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 386
    functionName: sc_state_str
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*sc_state_str(int state)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/sc_strm.h:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 399
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 399
    functionName: sc_is_send_allowed
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 4
    functionsReached:
    - sc_ep_test
    linkageType: ''
    returnType: int
    signature: sc_is_send_allowed(const struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/include/haproxy/sc_strm.h:403,1
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/sc_strm.h:407,1
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/sc_strm.h:407,1
    - Dst: sc_opposite
      Src: /src/haproxy/include/haproxy/sc_strm.h:407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 410
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 410
    functionName: sc_rcv_may_expire
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 0
    functionsReached:
    - sc_opposite
    - sc_ep_test
    - sc_ic
    linkageType: ''
    returnType: int
    signature: sc_rcv_may_expire(const struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_oc
      Src: /src/haproxy/include/haproxy/sc_strm.h:414,1
    - Dst: sc_ep_test
      Src: /src/haproxy/include/haproxy/sc_strm.h:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 3
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: sc_snd_may_expire
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 0
    functionsReached:
    - sc_oc
    - sc_ep_test
    linkageType: ''
    returnType: int
    signature: sc_snd_may_expire(const struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_isset
      Src: /src/haproxy/include/haproxy/sc_strm.h:423,1
    - Dst: sc_rcv_may_expire
      Src: /src/haproxy/include/haproxy/sc_strm.h:423,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/include/haproxy/sc_strm.h:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 426
      start: 421
    functionDepth: 4
    functionLinenumber: 421
    functionLinenumberEnd: 426
    functionName: sc_ep_rcv_ex
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 6
    functionsReached:
    - sc_rcv_may_expire
    - tick_add_ifset
    - tick_isset
    linkageType: ''
    returnType: forceinline
    signature: sc_ep_rcv_ex(const struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tick_isset
      Src: /src/haproxy/include/haproxy/sc_strm.h:430,1
    - Dst: sc_snd_may_expire
      Src: /src/haproxy/include/haproxy/sc_strm.h:430,1
    - Dst: tick_add_ifset
      Src: /src/haproxy/include/haproxy/sc_strm.h:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 433
      start: 428
    functionDepth: 4
    functionLinenumber: 428
    functionLinenumberEnd: 433
    functionName: sc_ep_snd_ex
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 6
    functionsReached:
    - tick_add_ifset
    - sc_snd_may_expire
    - tick_isset
    linkageType: ''
    returnType: forceinline
    signature: sc_ep_snd_ex(const struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/sc_strm.h:437,1
    - Dst: tick_is_expired
      Src: /src/haproxy/include/haproxy/sc_strm.h:437,1
    - Dst: sc_ep_rcv_ex
      Src: /src/haproxy/include/haproxy/sc_strm.h:437,1
    - Dst: sc_ic
      Src: /src/haproxy/include/haproxy/sc_strm.h:438,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/sc_strm.h:439,1
    - Dst: tick_is_expired
      Src: /src/haproxy/include/haproxy/sc_strm.h:439,1
    - Dst: sc_ep_snd_ex
      Src: /src/haproxy/include/haproxy/sc_strm.h:439,1
    - Dst: sc_oc
      Src: /src/haproxy/include/haproxy/sc_strm.h:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 5
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: sc_check_timeouts
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 1
    functionsReached:
    - tick_is_expired
    - sc_ic
    - sc_ep_rcv_ex
    - sc_ep_snd_ex
    - unlikely
    - sc_oc
    linkageType: ''
    returnType: void
    signature: sc_check_timeouts(const struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __sc_strm
      Src: /src/haproxy/include/haproxy/sc_strm.h:445,1
    - Dst: IS_HTX_STRM
      Src: /src/haproxy/include/haproxy/sc_strm.h:447,1
    - Dst: tick_isset
      Src: /src/haproxy/include/haproxy/sc_strm.h:451,1
    - Dst: tick_isset
      Src: /src/haproxy/include/haproxy/sc_strm.h:455,1
    - Dst: strm_fe
      Src: /src/haproxy/include/haproxy/sc_strm.h:455,1
    - Dst: strm_fe
      Src: /src/haproxy/include/haproxy/sc_strm.h:456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 459
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 459
    functionName: sc_set_hcto
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 3
    functionsReached:
    - __sc_strm
    - strm_fe
    - IS_HTX_STRM
    - tick_isset
    linkageType: ''
    returnType: void
    signature: sc_set_hcto(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 465
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 465
    functionName: sc_schedule_abort
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: sc_schedule_abort(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/include/haproxy/sc_strm.h:470,1
    - Dst: struct stconn*::app_ops::abort
      Src: /src/haproxy/include/haproxy/sc_strm.h:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: sc_abort
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 7
    functionsReached:
    - likely
    - struct stconn*::app_ops::abort
    linkageType: ''
    returnType: void
    signature: sc_abort(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: sc_schedule_shutdown
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: sc_schedule_shutdown(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/include/haproxy/sc_strm.h:483,1
    - Dst: struct stconn*::app_ops::shutdown
      Src: /src/haproxy/include/haproxy/sc_strm.h:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sc
    argTypes:
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: sc_shutdown
    functionSourceFile: /src/haproxy/include/haproxy/sc_strm.h
    functionUses: 13
    functionsReached:
    - likely
    - struct stconn*::app_ops::shutdown
    linkageType: ''
    returnType: void
    signature: sc_shutdown(struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istlen
      Src: /src/haproxy/include/haproxy/fix.h:41,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/fix.h:44,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/fix.h:46,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/fix.h:48,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/fix.h:50,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/fix.h:52,1
    - Dst: isteq
      Src: /src/haproxy/include/haproxy/fix.h:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - str
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: fix_version
    functionSourceFile: /src/haproxy/include/haproxy/fix.h
    functionUses: 1
    functionsReached:
    - istlen
    - isteq
    linkageType: ''
    returnType: struct ist
    signature: fix_version(const struct ist str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/fix.h:74,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/fix.h:74,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/fix.h:76,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/fix.h:76,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/fix.h:78,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/fix.h:78,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/fix.h:80,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/fix.h:80,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/fix.h:82,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/fix.h:82,1
    - Dst: isteqi
      Src: /src/haproxy/include/haproxy/fix.h:84,1
    - Dst: ist
      Src: /src/haproxy/include/haproxy/fix.h:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - tag
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 88
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 88
    functionName: fix_tagid
    functionSourceFile: /src/haproxy/include/haproxy/fix.h
    functionUses: 1
    functionsReached:
    - isteqi
    - ist
    linkageType: ''
    returnType: unsigned int
    signature: fix_tagid(const struct ist tag)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: b_is_null
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: b_is_null(const struct buffer *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: b_orig
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 90
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*b_orig(const struct buffer *b)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: b_size
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 111
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: b_size(const struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: b_wrap
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*b_wrap(const struct buffer *b)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: b_data
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 260
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: b_data(const struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:106,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/buf.h:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: b_room
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 53
    functionsReached:
    - b_data
    - BUG_ON_HOT
    linkageType: ''
    returnType: size_t
    signature: b_room(const struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_room
      Src: /src/haproxy/include/haproxy/buf.h:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: b_full
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 13
    functionsReached:
    - b_room
    linkageType: ''
    returnType: size_t
    signature: b_full(const struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - b
    - ofs
    - count
    argTypes:
    - struct buffer*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: b_add_ofs
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: b_add_ofs(const struct buffer *b, size_t ofs, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - ofs
    argTypes:
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: b_rel_ofs
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: b_rel_ofs(const struct buffer *b, size_t ofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: __b_stop_ofs
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: __b_stop_ofs(const struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/buf.h:149,1
    - Dst: __b_stop_ofs
      Src: /src/haproxy/include/haproxy/buf.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: __b_stop
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 1
    functionsReached:
    - b_orig
    - __b_stop_ofs
    linkageType: ''
    returnType: char
    signature: '*__b_stop(const struct buffer *b)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: b_stop_ofs
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: b_stop_ofs(const struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/buf.h:163,1
    - Dst: b_stop_ofs
      Src: /src/haproxy/include/haproxy/buf.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: b_stop
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 4
    functionsReached:
    - b_orig
    - b_stop_ofs
    linkageType: ''
    returnType: char
    signature: '*b_stop(const struct buffer *b)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - ofs
    argTypes:
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: __b_peek_ofs
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: __b_peek_ofs(const struct buffer *b, size_t ofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/buf.h:179,1
    - Dst: __b_peek_ofs
      Src: /src/haproxy/include/haproxy/buf.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - ofs
    argTypes:
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: __b_peek
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 5
    functionsReached:
    - __b_peek_ofs
    - b_orig
    linkageType: ''
    returnType: char
    signature: '*__b_peek(const struct buffer *b, size_t ofs)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/include/haproxy/buf.h:186,1
    - Dst: __builtin_constant_p
      Src: /src/haproxy/include/haproxy/buf.h:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - b
    - ofs
    argTypes:
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: b_peek_ofs
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 23
    functionsReached:
    - __builtin_constant_p
    - likely
    linkageType: ''
    returnType: size_t
    signature: b_peek_ofs(const struct buffer *b, size_t ofs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/buf.h:195,1
    - Dst: b_peek_ofs
      Src: /src/haproxy/include/haproxy/buf.h:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - ofs
    argTypes:
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: b_peek
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 71
    functionsReached:
    - b_orig
    - b_peek_ofs
    linkageType: ''
    returnType: char
    signature: '*b_peek(const struct buffer *b, size_t ofs)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: __b_head_ofs
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: __b_head_ofs(const struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/buf.h:210,1
    - Dst: __b_head_ofs
      Src: /src/haproxy/include/haproxy/buf.h:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: __b_head
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 0
    functionsReached:
    - b_orig
    - __b_head_ofs
    linkageType: ''
    returnType: char
    signature: '*__b_head(const struct buffer *b)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_head_ofs
      Src: /src/haproxy/include/haproxy/buf.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: b_head_ofs
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 33
    functionsReached:
    - __b_head_ofs
    linkageType: ''
    returnType: size_t
    signature: b_head_ofs(const struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_head
      Src: /src/haproxy/include/haproxy/buf.h:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: b_head
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 70
    functionsReached:
    - __b_head
    linkageType: ''
    returnType: char
    signature: '*b_head(const struct buffer *b)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_peek_ofs
      Src: /src/haproxy/include/haproxy/buf.h:231,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/buf.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: __b_tail_ofs
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 1
    functionsReached:
    - __b_peek_ofs
    - b_data
    linkageType: ''
    returnType: size_t
    signature: __b_tail_ofs(const struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __b_peek
      Src: /src/haproxy/include/haproxy/buf.h:236,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/buf.h:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: __b_tail
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 3
    functionsReached:
    - b_data
    - __b_peek
    linkageType: ''
    returnType: char
    signature: '*__b_tail(const struct buffer *b)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek_ofs
      Src: /src/haproxy/include/haproxy/buf.h:241,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/buf.h:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: b_tail_ofs
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 4
    functionsReached:
    - b_data
    - b_peek_ofs
    linkageType: ''
    returnType: size_t
    signature: b_tail_ofs(const struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_peek
      Src: /src/haproxy/include/haproxy/buf.h:246,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/buf.h:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: b_tail
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 56
    functionsReached:
    - b_peek
    - b_data
    linkageType: ''
    returnType: char
    signature: '*b_tail(const struct buffer *b)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - b
    - o
    argTypes:
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: b_next_ofs
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 1
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: size_t
    signature: b_next_ofs(const struct buffer *b, size_t o)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:267,1
    - Dst: b_wrap
      Src: /src/haproxy/include/haproxy/buf.h:267,1
    - Dst: b_wrap
      Src: /src/haproxy/include/haproxy/buf.h:268,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/buf.h:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - b
    - p
    argTypes:
    - struct buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: b_next
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 19
    functionsReached:
    - b_orig
    - BUG_ON_HOT
    - b_wrap
    linkageType: ''
    returnType: char
    signature: '*b_next(const struct buffer *b, const char *p)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:282,1
    - Dst: b_size
      Src: /src/haproxy/include/haproxy/buf.h:282,1
    - Dst: b_size
      Src: /src/haproxy/include/haproxy/buf.h:282,1
    - Dst: b_size
      Src: /src/haproxy/include/haproxy/buf.h:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - b
    - from
    - to
    argTypes:
    - struct buffer*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: b_dist
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 0
    functionsReached:
    - b_size
    - BUG_ON_HOT
    linkageType: ''
    returnType: size_t
    signature: b_dist(const struct buffer *b, const char *from, const char *to)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:292,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/buf.h:293,1
    - Dst: b_size
      Src: /src/haproxy/include/haproxy/buf.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: b_almost_full
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 1
    functionsReached:
    - b_size
    - b_data
    - BUG_ON_HOT
    linkageType: ''
    returnType: int
    signature: b_almost_full(const struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:311,1
    - Dst: __b_head_ofs
      Src: /src/haproxy/include/haproxy/buf.h:312,1
    - Dst: __b_tail_ofs
      Src: /src/haproxy/include/haproxy/buf.h:314,1
    - Dst: b_size
      Src: /src/haproxy/include/haproxy/buf.h:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: b_space_wraps
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 27
    functionsReached:
    - __b_head_ofs
    - b_size
    - __b_tail_ofs
    - BUG_ON_HOT
    linkageType: ''
    returnType: int
    signature: b_space_wraps(const struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - start
    argTypes:
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 332
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 332
    functionName: b_contig_data
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: b_contig_data(const struct buffer *b, size_t start)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:350,1
    - Dst: b_head_ofs
      Src: /src/haproxy/include/haproxy/buf.h:352,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/buf.h:353,1
    - Dst: b_size
      Src: /src/haproxy/include/haproxy/buf.h:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 359
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 359
    functionName: b_contig_space
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 38
    functionsReached:
    - b_head_ofs
    - b_size
    - b_data
    - BUG_ON_HOT
    linkageType: ''
    returnType: size_t
    signature: b_contig_space(const struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: b_reset
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: b_reset(struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - area
    - size
    - head
    - data
    argTypes:
    - char*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: b_make
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: struct buffer
    signature: b_make(char *area, size_t size, size_t head, size_t data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - count
    argTypes:
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: b_sub
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 14
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: b_sub(struct buffer *b, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - count
    argTypes:
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: b_add
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 65
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: b_add(struct buffer *b, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - b
    - len
    argTypes:
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 404
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 404
    functionName: b_set_data
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 8
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: b_set_data(struct buffer *b, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - b
    - del
    argTypes:
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: b_del
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 42
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: b_del(struct buffer *b, size_t del)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/buf.h:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: b_realign_if_empty
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 4
    functionsReached:
    - b_data
    linkageType: ''
    returnType: void
    signature: b_realign_if_empty(struct buffer *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_full
      Src: /src/haproxy/include/haproxy/buf.h:431,1
    - Dst: b_tail
      Src: /src/haproxy/include/haproxy/buf.h:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - c
    argTypes:
    - struct buffer*
    - char
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: b_putchr
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 17
    functionsReached:
    - b_full
    - b_tail
    linkageType: ''
    returnType: void
    signature: b_putchr(struct buffer *b, char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_room
      Src: /src/haproxy/include/haproxy/buf.h:443,1
    - Dst: b_room
      Src: /src/haproxy/include/haproxy/buf.h:444,1
    - Dst: __b_putblk
      Src: /src/haproxy/include/haproxy/buf.h:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - b
    - blk
    - len
    argTypes:
    - struct buffer*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 448
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 448
    functionName: b_putblk
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 22
    functionsReached:
    - b_room
    - __b_putblk
    linkageType: ''
    returnType: size_t
    signature: b_putblk(struct buffer *b, const char *blk, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: b_ncat
      Src: /src/haproxy/include/haproxy/buf.h:458,1
    - Dst: b_del
      Src: /src/haproxy/include/haproxy/buf.h:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - count
    argTypes:
    - struct buffer*
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 462
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 462
    functionName: b_force_xfer
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 4
    functionsReached:
    - b_ncat
    - b_del
    linkageType: ''
    returnType: size_t
    signature: b_force_xfer(struct buffer *dst, struct buffer *src, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:477,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:478,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:479,1
    - Dst: b_peek
      Src: /src/haproxy/include/haproxy/buf.h:484,1
    - Dst: b_wrap
      Src: /src/haproxy/include/haproxy/buf.h:485,1
    - Dst: b_orig
      Src: /src/haproxy/include/haproxy/buf.h:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 7
    argNames:
    - buf
    - blk1
    - len1
    - blk2
    - len2
    - ofs
    - max
    argTypes:
    - struct buffer*
    - char**
    - size_t*
    - char**
    - size_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 494
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 494
    functionName: b_getblk_nc
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 3
    functionsReached:
    - b_peek
    - b_orig
    - BUG_ON_HOT
    - b_wrap
    linkageType: ''
    returnType: size_t
    signature: b_getblk_nc(const struct buffer *buf, const char **blk1, size_t *len1,
      const char **blk2, size_t *len2, size_t ofs, size_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:512,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/buf.h:512,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - b
    - ofs
    - vptr
    argTypes:
    - struct buffer*
    - size_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 537
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 537
    functionName: b_peek_varint
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 6
    functionsReached:
    - b_data
    - BUG_ON_HOT
    linkageType: ''
    returnType: int
    signature: b_peek_varint(struct buffer *b, size_t ofs, uint64_t *vptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON
      Src: /src/haproxy/include/haproxy/buf.h:575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - r
    - size
    argTypes:
    - struct buffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 581
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 581
    functionName: br_init
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 3
    functionsReached:
    - BUG_ON
    linkageType: ''
    returnType: void
    signature: br_init(struct buffer *r, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 589
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 589
    functionName: br_size
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 6
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: unsigned int
    signature: br_size(const struct buffer *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 597
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 597
    functionName: br_full
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 0
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: unsigned int
    signature: br_full(const struct buffer *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 608
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 608
    functionName: br_count
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 3
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: unsigned int
    signature: br_count(const struct buffer *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 616
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 616
    functionName: br_single
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 2
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: unsigned int
    signature: br_single(const struct buffer *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 624
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 624
    functionName: br_head_idx
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 6
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: unsigned int
    signature: br_head_idx(const struct buffer *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 632
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 632
    functionName: br_tail_idx
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 6
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: unsigned int
    signature: br_tail_idx(const struct buffer *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:637,1
    - Dst: br_head_idx
      Src: /src/haproxy/include/haproxy/buf.h:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 640
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 640
    functionName: br_head
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 12
    functionsReached:
    - br_head_idx
    - BUG_ON_HOT
    linkageType: ''
    returnType: struct buffer
    signature: '*br_head(struct buffer *r)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:645,1
    - Dst: br_tail_idx
      Src: /src/haproxy/include/haproxy/buf.h:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 648
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 648
    functionName: br_tail
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 34
    functionsReached:
    - br_tail_idx
    - BUG_ON_HOT
    linkageType: ''
    returnType: struct buffer
    signature: '*br_tail(struct buffer *r)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:653,1
    - Dst: b_data
      Src: /src/haproxy/include/haproxy/buf.h:655,1
    - Dst: br_head_idx
      Src: /src/haproxy/include/haproxy/buf.h:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: br_data
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 15
    functionsReached:
    - br_head_idx
    - b_data
    - BUG_ON_HOT
    linkageType: ''
    returnType: unsigned int
    signature: br_data(const struct buffer *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:661,1
    - Dst: br_full
      Src: /src/haproxy/include/haproxy/buf.h:663,1
    - Dst: b_room
      Src: /src/haproxy/include/haproxy/buf.h:665,1
    - Dst: br_tail_idx
      Src: /src/haproxy/include/haproxy/buf.h:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 666
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 666
    functionName: br_has_room
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 0
    functionsReached:
    - br_tail_idx
    - br_full
    - b_room
    - BUG_ON_HOT
    linkageType: ''
    returnType: unsigned int
    signature: br_has_room(const struct buffer *r)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:677,1
    - Dst: br_tail
      Src: /src/haproxy/include/haproxy/buf.h:679,1
    - Dst: b_size
      Src: /src/haproxy/include/haproxy/buf.h:680,1
    - Dst: br_full
      Src: /src/haproxy/include/haproxy/buf.h:683,1
    - Dst: br_tail
      Src: /src/haproxy/include/haproxy/buf.h:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 693
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 693
    functionName: br_tail_add
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 22
    functionsReached:
    - br_tail
    - br_full
    - b_size
    - BUG_ON_HOT
    linkageType: ''
    returnType: struct buffer
    signature: '*br_tail_add(struct buffer *r)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:706,1
    - Dst: br_head
      Src: /src/haproxy/include/haproxy/buf.h:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 715
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 715
    functionName: br_head_pick
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 3
    functionsReached:
    - br_head
    - BUG_ON_HOT
    linkageType: ''
    returnType: struct buffer
    signature: '*br_head_pick(struct buffer *r)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:724,1
    - Dst: br_head
      Src: /src/haproxy/include/haproxy/buf.h:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 732
      start: 722
    functionDepth: 2
    functionLinenumber: 722
    functionLinenumberEnd: 732
    functionName: br_del_head
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 6
    functionsReached:
    - br_head
    - BUG_ON_HOT
    linkageType: ''
    returnType: struct buffer
    signature: '*br_del_head(struct buffer *r)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct bl_elem*
    constantsTouched: []
    func_position:
      end: 742
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 742
    functionName: bl_users
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: bl_users(const struct bl_elem *head)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct bl_elem*
    constantsTouched: []
    func_position:
      end: 748
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 748
    functionName: bl_size
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: bl_size(const struct bl_elem *head)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct bl_elem*
    constantsTouched: []
    func_position:
      end: 754
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 754
    functionName: bl_used
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: bl_used(const struct bl_elem *head)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bl_size
      Src: /src/haproxy/include/haproxy/buf.h:759,1
    - Dst: bl_used
      Src: /src/haproxy/include/haproxy/buf.h:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct bl_elem*
    constantsTouched: []
    func_position:
      end: 760
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 760
    functionName: bl_avail
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 0
    functionsReached:
    - bl_size
    - bl_used
    linkageType: ''
    returnType: uint32_t
    signature: bl_avail(const struct bl_elem *head)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:768,1
    - Dst: memset
      Src: /src/haproxy/include/haproxy/buf.h:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - head
    - nbelem
    argTypes:
    - struct bl_elem*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 772
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 772
    functionName: bl_init
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 1
    functionsReached:
    - memset
    - BUG_ON_HOT
    linkageType: ''
    returnType: void
    signature: bl_init(struct bl_elem *head, uint32_t nbelem)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:784,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:791,1
    - Dst: BUG_ON_HOT
      Src: /src/haproxy/include/haproxy/buf.h:802,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - head
    - idx
    argTypes:
    - struct bl_elem*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 805
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 805
    functionName: bl_put
    functionSourceFile: /src/haproxy/include/haproxy/buf.h
    functionUses: 2
    functionsReached:
    - BUG_ON_HOT
    linkageType: ''
    returnType: uint32_t
    signature: bl_put(struct bl_elem *head, uint32_t idx)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chk
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: chunk_reset
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 91
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: chunk_reset(struct buffer *chk)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - chk
    - str
    - size
    argTypes:
    - struct buffer*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: chunk_init
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: chunk_init(struct buffer *chk, char *str, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - chk
    - str
    - size
    - len
    argTypes:
    - struct buffer*
    - char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: chunk_initlen
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "chunk_initlen(struct buffer *chk, char *str, size_t size,\n\t\t\t\tint
      len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/include/haproxy/chunk.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - chk
    - str
    argTypes:
    - struct buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: chunk_initstr
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 5
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: chunk_initstr(struct buffer *chk, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_alloc
      Src: /src/haproxy/include/haproxy/chunk.h:99,1
    - Dst: chunk_init
      Src: /src/haproxy/include/haproxy/chunk.h:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: alloc_trash_chunk
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 60
    functionsReached:
    - chunk_init
    - pool_alloc
    linkageType: ''
    returnType: forceinline
    signature: '*alloc_trash_chunk(void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pool_free
      Src: /src/haproxy/include/haproxy/chunk.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: free_trash_chunk
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 60
    functionsReached:
    - pool_free
    linkageType: ''
    returnType: forceinline
    signature: free_trash_chunk(struct buffer *chunk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/chunk.h:120,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/chunk.h:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - chk
    - src
    argTypes:
    - struct buffer*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: chunk_cpy
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 2
    functionsReached:
    - unlikely
    - memcpy
    linkageType: ''
    returnType: int
    signature: chunk_cpy(struct buffer *chk, const struct buffer *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/chunk.h:134,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/chunk.h:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - chk
    - src
    - len
    argTypes:
    - struct buffer*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: chunk_memcpy
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 3
    functionsReached:
    - unlikely
    - memcpy
    linkageType: ''
    returnType: int
    signature: "chunk_memcpy(struct buffer *chk, const char *src,\n\t\t\t       size_t
      len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/chunk.h:149,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/chunk.h:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - chk
    - src
    - len
    argTypes:
    - struct buffer*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: chunk_memcat
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 43
    functionsReached:
    - unlikely
    - memcpy
    linkageType: ''
    returnType: int
    signature: "chunk_memcat(struct buffer *chk, const char *src,\n\t\t\t       size_t
      len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_memcat
      Src: /src/haproxy/include/haproxy/chunk.h:160,1
    - Dst: istptr
      Src: /src/haproxy/include/haproxy/chunk.h:160,1
    - Dst: istlen
      Src: /src/haproxy/include/haproxy/chunk.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chk
    - src
    argTypes:
    - struct buffer*
    - struct ist
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: chunk_istcat
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 18
    functionsReached:
    - istlen
    - chunk_memcat
    - istptr
    linkageType: ''
    returnType: int
    signature: chunk_istcat(struct buffer *chk, const struct ist src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: chunk_memcat
      Src: /src/haproxy/include/haproxy/chunk.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chk
    - src
    argTypes:
    - struct buffer*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: chunk_cat
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 3
    functionsReached:
    - chunk_memcat
    linkageType: ''
    returnType: int
    signature: chunk_cat(struct buffer *chk, const struct buffer *src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/include/haproxy/chunk.h:176,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/chunk.h:178,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/chunk.h:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - chk
    - str
    argTypes:
    - struct buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 185
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 185
    functionName: chunk_strcpy
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 6
    functionsReached:
    - strlen
    - unlikely
    - memcpy
    linkageType: ''
    returnType: int
    signature: chunk_strcpy(struct buffer *chk, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/include/haproxy/chunk.h:194,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/chunk.h:198,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/chunk.h:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - chk
    - str
    - max
    argTypes:
    - struct buffer*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: chunk_strncpy
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 0
    functionsReached:
    - strlen
    - unlikely
    - memcpy
    linkageType: ''
    returnType: int
    signature: chunk_strncpy(struct buffer *chk, const char *str, size_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/include/haproxy/chunk.h:214,1
    - Dst: unlikely
      Src: /src/haproxy/include/haproxy/chunk.h:216,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/chunk.h:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - chk
    - str
    argTypes:
    - struct buffer*
    - char*
    constantsTouched: []
    func_position:
      end: 222
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 222
    functionName: chunk_strcat
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 31
    functionsReached:
    - strlen
    - unlikely
    - memcpy
    linkageType: ''
    returnType: int
    signature: chunk_strcat(struct buffer *chk, const char *str)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - chk
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: chunk_newstr
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*chunk_newstr(struct buffer *chk)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - chk
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: chunk_drop
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: chunk_drop(struct buffer *chk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/include/haproxy/chunk.h:257,1
    - Dst: chunk_drop
      Src: /src/haproxy/include/haproxy/chunk.h:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - chk
    argTypes:
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 259
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 259
    functionName: chunk_destroy
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 40
    functionsReached:
    - free
    - chunk_drop
    linkageType: ''
    returnType: void
    signature: chunk_destroy(struct buffer *chk)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/include/haproxy/chunk.h:274,1
    - Dst: malloc
      Src: /src/haproxy/include/haproxy/chunk.h:281,1
    - Dst: memcpy
      Src: /src/haproxy/include/haproxy/chunk.h:289,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct buffer*
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 294
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 294
    functionName: chunk_dup
    functionSourceFile: /src/haproxy/include/haproxy/chunk.h
    functionUses: 9
    functionsReached:
    - free
    - memcpy
    - malloc
    linkageType: ''
    returnType: char
    signature: '*chunk_dup(struct buffer *dst, const struct buffer *src)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 184
    functionName: __slz_make_crc_table
    functionSourceFile: /src/haproxy/include/import/slz-tables.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: __slz_make_crc_table(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 91
    argCount: 1
    argNames:
    - l
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 233
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 233
    functionName: dist_to_code
    functionSourceFile: /src/haproxy/include/import/slz-tables.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: dist_to_code(uint32_t l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dist_to_code
      Src: /src/haproxy/include/import/slz-tables.h:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 259
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 259
    functionName: __slz_prepare_dist_table
    functionSourceFile: /src/haproxy/include/import/slz-tables.h
    functionUses: 1
    functionsReached:
    - dist_to_code
    linkageType: ''
    returnType: void
    signature: __slz_prepare_dist_table()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:204,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:204,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:204,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:206,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:206,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:206,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:208,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:208,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:208,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:210,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:210,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:210,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:212,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:212,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:214,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:214,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:225,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:225,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:227,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:227,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:229,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:229,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:231,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:231,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:233,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:235,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 7
    argNames:
    - kofs
    - key_type
    - key_u32
    - key_u64
    - key_ptr
    - l
    - r
    argTypes:
    - ptrdiff_t
    - enum ceb_key_type
    - uint32_t
    - uint64_t
    - void*
    - struct ceb_node*
    - struct ceb_node*
    constantsTouched: []
    func_position:
      end: 240
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 240
    functionName: _xor_branches
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 0
    functionsReached:
    - NODEK
    - string_equal_bits
    - equal_bits
    linkageType: ''
    returnType: uint64_t
    signature: "_xor_branches(ptrdiff_t kofs, enum ceb_key_type key_type, uint32_t
      key_u32,\n                                     uint64_t key_u64, const void
      *key_ptr,\n                                     const struct ceb_node *l,\n
      \                                    const struct ceb_node *r)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _xor_branches
      Src: /src/haproxy/include/import/cebtree-prv.h:288,1
    - Dst: _xor_branches
      Src: /src/haproxy/include/import/cebtree-prv.h:291,1
    - Dst: _xor_branches
      Src: /src/haproxy/include/import/cebtree-prv.h:294,1
    - Dst: _xor_branches
      Src: /src/haproxy/include/import/cebtree-prv.h:297,1
    - Dst: CEBDBG
      Src: /src/haproxy/include/import/cebtree-prv.h:301,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:303,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:304,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:305,1
    - Dst: CEBDBG
      Src: /src/haproxy/include/import/cebtree-prv.h:309,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:311,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:312,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:313,1
    - Dst: CEBDBG
      Src: /src/haproxy/include/import/cebtree-prv.h:317,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:319,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:320,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:321,1
    - Dst: CEBDBG
      Src: /src/haproxy/include/import/cebtree-prv.h:325,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:327,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:328,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:329,1
    - Dst: CEBDBG
      Src: /src/haproxy/include/import/cebtree-prv.h:333,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:335,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:336,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:337,1
    - Dst: CEBDBG
      Src: /src/haproxy/include/import/cebtree-prv.h:341,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:343,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:344,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:345,1
    - Dst: CEBDBG
      Src: /src/haproxy/include/import/cebtree-prv.h:350,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 13
    argNames:
    - line
    - pfx
    - meth
    - kofs
    - key_type
    - root
    - p
    - key_u32
    - key_u64
    - key_ptr
    - px32
    - px64
    - plen
    argTypes:
    - int
    - char*
    - enum ceb_walk_meth
    - ptrdiff_t
    - enum ceb_key_type
    - struct ceb_node**
    - struct ceb_node*
    - uint32_t
    - uint64_t
    - void*
    - uint32_t
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 357
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 357
    functionName: dbg
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 0
    functionsReached:
    - NODEK
    - _xor_branches
    - CEBDBG
    linkageType: ''
    returnType: void
    signature: "dbg(int line,\n                const char *pfx,\n                enum
      ceb_walk_meth meth,\n                ptrdiff_t kofs,\n                enum ceb_key_type
      key_type,\n                struct ceb_node * const *root,\n                const
      struct ceb_node *p,\n                uint32_t key_u32,\n                uint64_t
      key_u64,\n                const void *key_ptr,\n                uint32_t px32,\n
      \               uint64_t px64,\n                size_t plen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __GNUC_PREREQ__
      Src: /src/haproxy/include/import/cebtree-prv.h:392,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:417,1
    - Dst: container_of
      Src: /src/haproxy/include/import/cebtree-prv.h:422,1
    - Dst: __builtin_prefetch
      Src: /src/haproxy/include/import/cebtree-prv.h:454,1
    - Dst: __builtin_prefetch
      Src: /src/haproxy/include/import/cebtree-prv.h:455,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:459,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:460,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:461,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:463,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:467,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:524,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:536,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:542,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:558,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:570,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:576,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:589,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:590,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:596,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:599,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:607,1
    - Dst: memcmp
      Src: /src/haproxy/include/import/cebtree-prv.h:617,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:618,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:632,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:633,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:639,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:642,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:650,1
    - Dst: memcmp
      Src: /src/haproxy/include/import/cebtree-prv.h:660,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:661,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:680,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:681,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:687,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:690,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:698,1
    - Dst: strcmp
      Src: /src/haproxy/include/import/cebtree-prv.h:708,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:710,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:729,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:730,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/cebtree-prv.h:736,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:739,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:747,1
    - Dst: strcmp
      Src: /src/haproxy/include/import/cebtree-prv.h:757,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:759,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:776,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:788,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:794,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:817,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:828,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:833,1
    - Dst: memcmp
      Src: /src/haproxy/include/import/cebtree-prv.h:865,1
    - Dst: memcmp
      Src: /src/haproxy/include/import/cebtree-prv.h:868,1
    - Dst: strcmp
      Src: /src/haproxy/include/import/cebtree-prv.h:871,1
    - Dst: strcmp
      Src: /src/haproxy/include/import/cebtree-prv.h:874,1
    - Dst: dbg
      Src: /src/haproxy/include/import/cebtree-prv.h:907,1
    - Dst: memcmp
      Src: /src/haproxy/include/import/cebtree-prv.h:941,1
    - Dst: memcmp
      Src: /src/haproxy/include/import/cebtree-prv.h:958,1
    - Dst: strcmp
      Src: /src/haproxy/include/import/cebtree-prv.h:975,1
    - Dst: strcmp
      Src: /src/haproxy/include/import/cebtree-prv.h:992,1
    - Dst: __GNUC_PREREQ__
      Src: /src/haproxy/include/import/cebtree-prv.h:1026,1
    CyclomaticComplexity: 247
    EdgeCount: 247
    ICount: 348
    argCount: 16
    argNames:
    - root
    - meth
    - kofs
    - key_type
    - key_u32
    - key_u64
    - key_ptr
    - ret_nside
    - ret_root
    - ret_lparent
    - ret_lpside
    - ret_nparent
    - ret_npside
    - ret_gparent
    - ret_gpside
    - ret_back
    argTypes:
    - struct ceb_node**
    - enum ceb_walk_meth
    - ptrdiff_t
    - enum ceb_key_type
    - uint32_t
    - uint64_t
    - void*
    - int*
    - struct ceb_node***
    - struct ceb_node**
    - int*
    - struct ceb_node**
    - int*
    - struct ceb_node**
    - int*
    - struct ceb_node**
    constantsTouched: []
    func_position:
      end: 1029
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 1029
    functionName: _cebu_descend
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 0
    functionsReached:
    - container_of
    - equal_bits
    - strcmp
    - __GNUC_PREREQ__
    - string_equal_bits
    - NODEK
    - __builtin_prefetch
    - dbg
    - memcmp
    linkageType: ''
    returnType: struct ceb_node
    signature: "*_cebu_descend(struct ceb_node **root,\n                               enum
      ceb_walk_meth meth,\n                               ptrdiff_t kofs,\n                               enum
      ceb_key_type key_type,\n                               uint32_t key_u32,\n                               uint64_t
      key_u64,\n                               const void *key_ptr,\n                               int
      *ret_nside,\n                               struct ceb_node ***ret_root,\n                               struct
      ceb_node **ret_lparent,\n                               int *ret_lpside,\n                               struct
      ceb_node **ret_nparent,\n                               int *ret_npside,\n                               struct
      ceb_node **ret_gparent,\n                               int *ret_gpside,\n                               struct
      ceb_node **ret_back)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 7
    argNames:
    - root
    - node
    - kofs
    - key_type
    - key_u32
    - key_u64
    - key_ptr
    argTypes:
    - struct ceb_node**
    - struct ceb_node*
    - ptrdiff_t
    - enum ceb_key_type
    - uint32_t
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 1075
      start: 1036
    functionDepth: 4
    functionLinenumber: 1036
    functionLinenumberEnd: 1075
    functionName: _cebu_insert
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 8
    functionsReached:
    - _cebu_descend
    linkageType: ''
    returnType: struct ceb_node
    signature: "*_cebu_insert(struct ceb_node **root,\n                              struct
      ceb_node *node,\n                              ptrdiff_t kofs,\n                              enum
      ceb_key_type key_type,\n                              uint32_t key_u32,\n                              uint64_t
      key_u64,\n                              const void *key_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - root
    - kofs
    - key_type
    argTypes:
    - struct ceb_node**
    - ptrdiff_t
    - enum ceb_key_type
    constantsTouched: []
    func_position:
      end: 1089
      start: 1080
    functionDepth: 4
    functionLinenumber: 1080
    functionLinenumberEnd: 1089
    functionName: _cebu_first
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 8
    functionsReached:
    - _cebu_descend
    linkageType: ''
    returnType: struct ceb_node
    signature: "*_cebu_first(struct ceb_node **root,\n                             ptrdiff_t
      kofs,\n                             enum ceb_key_type key_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - root
    - kofs
    - key_type
    argTypes:
    - struct ceb_node**
    - ptrdiff_t
    - enum ceb_key_type
    constantsTouched: []
    func_position:
      end: 1103
      start: 1094
    functionDepth: 4
    functionLinenumber: 1094
    functionLinenumberEnd: 1103
    functionName: _cebu_last
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 8
    functionsReached:
    - _cebu_descend
    linkageType: ''
    returnType: struct ceb_node
    signature: "*_cebu_last(struct ceb_node **root,\n                            ptrdiff_t
      kofs,\n                            enum ceb_key_type key_type)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1125,1
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - root
    - kofs
    - key_type
    - key_u32
    - key_u64
    - key_ptr
    argTypes:
    - struct ceb_node**
    - ptrdiff_t
    - enum ceb_key_type
    - uint32_t
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1112
    functionDepth: 4
    functionLinenumber: 1112
    functionLinenumberEnd: 1132
    functionName: _cebu_next
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 8
    functionsReached:
    - _cebu_descend
    linkageType: ''
    returnType: struct ceb_node
    signature: "*_cebu_next(struct ceb_node **root,\n                            ptrdiff_t
      kofs,\n                            enum ceb_key_type key_type,\n                            uint32_t
      key_u32,\n                            uint64_t key_u64,\n                            const
      void *key_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1154,1
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - root
    - kofs
    - key_type
    - key_u32
    - key_u64
    - key_ptr
    argTypes:
    - struct ceb_node**
    - ptrdiff_t
    - enum ceb_key_type
    - uint32_t
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1141
    functionDepth: 4
    functionLinenumber: 1141
    functionLinenumberEnd: 1161
    functionName: _cebu_prev
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 8
    functionsReached:
    - _cebu_descend
    linkageType: ''
    returnType: struct ceb_node
    signature: "*_cebu_prev(struct ceb_node **root,\n                            ptrdiff_t
      kofs,\n                            enum ceb_key_type key_type,\n                            uint32_t
      key_u32,\n                            uint64_t key_u64,\n                            const
      void *key_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - root
    - kofs
    - key_type
    - key_u32
    - key_u64
    - key_ptr
    argTypes:
    - struct ceb_node**
    - ptrdiff_t
    - enum ceb_key_type
    - uint32_t
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1166
    functionDepth: 4
    functionLinenumber: 1166
    functionLinenumberEnd: 1178
    functionName: _cebu_lookup
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 8
    functionsReached:
    - _cebu_descend
    linkageType: ''
    returnType: struct ceb_node
    signature: "*_cebu_lookup(struct ceb_node **root,\n                              ptrdiff_t
      kofs,\n                              enum ceb_key_type key_type,\n                              uint32_t
      key_u32,\n                              uint64_t key_u64,\n                              const
      void *key_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1198,1
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - root
    - kofs
    - key_type
    - key_u32
    - key_u64
    - key_ptr
    argTypes:
    - struct ceb_node**
    - ptrdiff_t
    - enum ceb_key_type
    - uint32_t
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 1206
      start: 1184
    functionDepth: 4
    functionLinenumber: 1184
    functionLinenumberEnd: 1206
    functionName: _cebu_lookup_le
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 8
    functionsReached:
    - _cebu_descend
    linkageType: ''
    returnType: struct ceb_node
    signature: "*_cebu_lookup_le(struct ceb_node **root,\n                                 ptrdiff_t
      kofs,\n                                 enum ceb_key_type key_type,\n                                 uint32_t
      key_u32,\n                                 uint64_t key_u64,\n                                 const
      void *key_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1227,1
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - root
    - kofs
    - key_type
    - key_u32
    - key_u64
    - key_ptr
    argTypes:
    - struct ceb_node**
    - ptrdiff_t
    - enum ceb_key_type
    - uint32_t
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 1235
      start: 1213
    functionDepth: 4
    functionLinenumber: 1213
    functionLinenumberEnd: 1235
    functionName: _cebu_lookup_lt
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 8
    functionsReached:
    - _cebu_descend
    linkageType: ''
    returnType: struct ceb_node
    signature: "*_cebu_lookup_lt(struct ceb_node **root,\n                                 ptrdiff_t
      kofs,\n                                 enum ceb_key_type key_type,\n                                 uint32_t
      key_u32,\n                                 uint64_t key_u64,\n                                 const
      void *key_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1255,1
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - root
    - kofs
    - key_type
    - key_u32
    - key_u64
    - key_ptr
    argTypes:
    - struct ceb_node**
    - ptrdiff_t
    - enum ceb_key_type
    - uint32_t
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 1263
      start: 1241
    functionDepth: 4
    functionLinenumber: 1241
    functionLinenumberEnd: 1263
    functionName: _cebu_lookup_ge
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 8
    functionsReached:
    - _cebu_descend
    linkageType: ''
    returnType: struct ceb_node
    signature: "*_cebu_lookup_ge(struct ceb_node **root,\n                                 ptrdiff_t
      kofs,\n                                 enum ceb_key_type key_type,\n                                 uint32_t
      key_u32,\n                                 uint64_t key_u64,\n                                 const
      void *key_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1284,1
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - root
    - kofs
    - key_type
    - key_u32
    - key_u64
    - key_ptr
    argTypes:
    - struct ceb_node**
    - ptrdiff_t
    - enum ceb_key_type
    - uint32_t
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1270
    functionDepth: 4
    functionLinenumber: 1270
    functionLinenumberEnd: 1292
    functionName: _cebu_lookup_gt
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 8
    functionsReached:
    - _cebu_descend
    linkageType: ''
    returnType: struct ceb_node
    signature: "*_cebu_lookup_gt(struct ceb_node **root,\n                                 ptrdiff_t
      kofs,\n                                 enum ceb_key_type key_type,\n                                 uint32_t
      key_u32,\n                                 uint64_t key_u64,\n                                 const
      void *key_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _cebu_descend
      Src: /src/haproxy/include/import/cebtree-prv.h:1326,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 7
    argNames:
    - root
    - node
    - kofs
    - key_type
    - key_u32
    - key_u64
    - key_ptr
    argTypes:
    - struct ceb_node**
    - struct ceb_node*
    - ptrdiff_t
    - enum ceb_key_type
    - uint32_t
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1303
    functionDepth: 4
    functionLinenumber: 1303
    functionLinenumberEnd: 1375
    functionName: _cebu_delete
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 16
    functionsReached:
    - _cebu_descend
    linkageType: ''
    returnType: struct ceb_node
    signature: "*_cebu_delete(struct ceb_node **root,\n                              struct
      ceb_node *node,\n                              ptrdiff_t kofs,\n                              enum
      ceb_key_type key_type,\n                              uint32_t key_u32,\n                              uint64_t
      key_u64,\n                              const void *key_ptr)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1387,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - kofs
    - key_type
    - root
    - ctx
    argTypes:
    - ptrdiff_t
    - enum ceb_key_type
    - struct ceb_node**
    - void*
    constantsTouched: []
    func_position:
      end: 1396
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1396
    functionName: cebu_default_dump_root
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: cebu_default_dump_root(ptrdiff_t kofs, enum ceb_key_type key_type,
      struct ceb_node *const *root, const void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:1410,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:1413,1
    - Dst: _xor_branches
      Src: /src/haproxy/include/import/cebtree-prv.h:1420,1
    - Dst: _xor_branches
      Src: /src/haproxy/include/import/cebtree-prv.h:1424,1
    - Dst: _xor_branches
      Src: /src/haproxy/include/import/cebtree-prv.h:1429,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1437,1
    - Dst: flsnz
      Src: /src/haproxy/include/import/cebtree-prv.h:1438,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1440,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1445,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1455,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:1456,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1458,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1463,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1469,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:1470,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1472,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1477,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 5
    argNames:
    - kofs
    - key_type
    - node
    - level
    - ctx
    argTypes:
    - ptrdiff_t
    - enum ceb_key_type
    - struct ceb_node*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1483
      start: 1399
    functionDepth: 2
    functionLinenumber: 1399
    functionLinenumberEnd: 1483
    functionName: cebu_default_dump_node
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 0
    functionsReached:
    - NODEK
    - flsnz
    - _xor_branches
    - printf
    linkageType: ''
    returnType: void
    signature: cebu_default_dump_node(ptrdiff_t kofs, enum ceb_key_type key_type,
      const struct ceb_node *node, int level, const void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:1497,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:1500,1
    - Dst: _xor_branches
      Src: /src/haproxy/include/import/cebtree-prv.h:1507,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1515,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1518,1
    - Dst: flsnz
      Src: /src/haproxy/include/import/cebtree-prv.h:1519,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1527,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:1528,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1530,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:1531,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1535,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:1536,1
    - Dst: printf
      Src: /src/haproxy/include/import/cebtree-prv.h:1538,1
    - Dst: NODEK
      Src: /src/haproxy/include/import/cebtree-prv.h:1539,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 5
    argNames:
    - kofs
    - key_type
    - node
    - level
    - ctx
    argTypes:
    - ptrdiff_t
    - enum ceb_key_type
    - struct ceb_node*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1542
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1542
    functionName: cebu_default_dump_leaf
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 0
    functionsReached:
    - NODEK
    - flsnz
    - _xor_branches
    - printf
    linkageType: ''
    returnType: void
    signature: cebu_default_dump_leaf(ptrdiff_t kofs, enum ceb_key_type key_type,
      const struct ceb_node *node, int level, const void *ctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: root_dump
      Src: /src/haproxy/include/import/cebtree-prv.h:1571,1
    - Dst: leaf_dump
      Src: /src/haproxy/include/import/cebtree-prv.h:1578,1
    - Dst: _xor_branches
      Src: /src/haproxy/include/import/cebtree-prv.h:1582,1
    - Dst: leaf_dump
      Src: /src/haproxy/include/import/cebtree-prv.h:1591,1
    - Dst: leaf_dump
      Src: /src/haproxy/include/import/cebtree-prv.h:1598,1
    - Dst: node_dump
      Src: /src/haproxy/include/import/cebtree-prv.h:1605,1
    - Dst: cebu_default_dump_tree
      Src: /src/haproxy/include/import/cebtree-prv.h:1607,1
    - Dst: cebu_default_dump_tree
      Src: /src/haproxy/include/import/cebtree-prv.h:1608,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 7
    argNames:
    - kofs
    - key_type
    - root
    - pxor
    - last
    - level
    - ctx
    argTypes:
    - ptrdiff_t
    - enum ceb_key_type
    - struct ceb_node**
    - uint64_t
    - void*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1609
      start: 1547
    functionDepth: 2
    functionLinenumber: 1547
    functionLinenumberEnd: 1609
    functionName: cebu_default_dump_tree
    functionSourceFile: /src/haproxy/include/import/cebtree-prv.h
    functionUses: 6
    functionsReached:
    - root_dump
    - _xor_branches
    - leaf_dump
    - cebu_default_dump_tree
    - node_dump
    linkageType: ''
    returnType: struct ceb_node
    signature: "*cebu_default_dump_tree(ptrdiff_t kofs, enum ceb_key_type key_type,
      struct ceb_node *const *root,\n                                                     uint64_t
      pxor, const void *last, int level, const void *ctx,\n                                                     void
      (*root_dump)(ptrdiff_t kofs, enum ceb_key_type key_type, struct ceb_node *const
      *root, const void *ctx),\n                                                     void
      (*node_dump)(ptrdiff_t kofs, enum ceb_key_type key_type, const struct ceb_node
      *node, int level, const void *ctx),\n                                                     void
      (*leaf_dump)(ptrdiff_t kofs, enum ceb_key_type key_type, const struct ceb_node
      *node, int level, const void *ctx))"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_lookup
      Src: /src/haproxy/include/import/ebsttree.h:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - root
    - x
    - len
    argTypes:
    - struct eb_root*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: ebst_lookup_len
    functionSourceFile: /src/haproxy/include/import/ebsttree.h
    functionUses: 1
    functionsReached:
    - ebmb_lookup
    linkageType: ''
    returnType: forceinline
    signature: '*

      ebst_lookup_len(struct eb_root *root, const char *x, unsigned int len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebsttree.h:63,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebsttree.h:68,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebsttree.h:69,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebsttree.h:69,1
    - Dst: strcmp
      Src: /src/haproxy/include/import/ebsttree.h:71,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebsttree.h:76,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebsttree.h:76,1
    - Dst: strcmp
      Src: /src/haproxy/include/import/ebsttree.h:85,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebsttree.h:89,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebsttree.h:90,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebsttree.h:91,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebsttree.h:91,1
    - Dst: likely
      Src: /src/haproxy/include/import/ebsttree.h:99,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/ebsttree.h:100,1
    - Dst: likely
      Src: /src/haproxy/include/import/ebsttree.h:101,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebsttree.h:110,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - void*
    constantsTouched: []
    func_position:
      end: 126
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 126
    functionName: __ebst_lookup
    functionSourceFile: /src/haproxy/include/import/ebsttree.h
    functionUses: 1
    functionsReached:
    - container_of
    - strcmp
    - eb_gettag
    - string_equal_bits
    - eb_untag
    - likely
    - unlikely
    linkageType: ''
    returnType: forceinline
    signature: '*__ebst_lookup(struct eb_root *root, const void *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebsttree.h:147,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebsttree.h:149,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:149,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:150,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebsttree.h:150,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:151,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebsttree.h:169,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebsttree.h:169,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebsttree.h:173,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebsttree.h:173,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebsttree.h:176,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:176,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebsttree.h:177,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:177,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebsttree.h:178,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:178,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebsttree.h:179,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:181,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/ebsttree.h:199,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebsttree.h:199,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebsttree.h:207,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:212,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:213,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:214,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:215,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebsttree.h:216,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:216,1
    - Dst: cmp_bits
      Src: /src/haproxy/include/import/ebsttree.h:220,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebsttree.h:220,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:223,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:225,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:226,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:230,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:231,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:232,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebsttree.h:238,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebsttree.h:238,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/ebsttree.h:249,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebsttree.h:249,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebsttree.h:251,1
    - Dst: eb_insert_dup
      Src: /src/haproxy/include/import/ebsttree.h:261,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:261,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebsttree.h:262,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebsttree.h:278,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:278,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebsttree.h:279,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:279,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebsttree.h:280,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:280,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebsttree.h:281,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:283,1
    - Dst: cmp_bits
      Src: /src/haproxy/include/import/ebsttree.h:286,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebsttree.h:286,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:288,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:290,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:291,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:295,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:296,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:297,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebsttree.h:304,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:318,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebsttree.h:319,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebsttree.h:319,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 83
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct ebmb_node*
    constantsTouched: []
    func_position:
      end: 321
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 321
    functionName: __ebst_insert
    functionSourceFile: /src/haproxy/include/import/ebsttree.h
    functionUses: 1
    functionsReached:
    - eb_insert_dup
    - container_of
    - eb_dotag
    - eb_gettag
    - string_equal_bits
    - key::key
    - eb_untag
    - cmp_bits
    - node::node
    - unlikely
    linkageType: ''
    returnType: forceinline
    signature: '*

      __ebst_insert(struct eb_root *root, struct ebmb_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct ceb_node*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ceb_intree
    functionSourceFile: /src/haproxy/include/import/cebtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: ceb_intree(const struct ceb_node *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct ceb_node*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: __ceb_dotag
    functionSourceFile: /src/haproxy/include/import/cebtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ceb_node
    signature: '*__ceb_dotag(const struct ceb_node *node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct ceb_node*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: __ceb_untag
    functionSourceFile: /src/haproxy/include/import/cebtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ceb_node
    signature: '*__ceb_untag(const struct ceb_node *node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct ceb_node*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: __ceb_clrtag
    functionSourceFile: /src/haproxy/include/import/cebtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ceb_node
    signature: '*__ceb_clrtag(const struct ceb_node *node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct ceb_node*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: __ceb_tagged
    functionSourceFile: /src/haproxy/include/import/cebtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: __ceb_tagged(const struct ceb_node *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tree
    argTypes:
    - struct ceb_node*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: __ceb_intptr
    functionSourceFile: /src/haproxy/include/import/cebtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: __ceb_intptr(struct ceb_node *tree)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: clz8
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: clz8(unsigned char c)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 279
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 279
    functionName: flsnz32
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: flsnz32(unsigned int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: flsnz64
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: flsnz64(unsigned long long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clz
      Src: /src/haproxy/include/import/ebtree.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 299
    functionName: flsnz32
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached:
    - __builtin_clz
    linkageType: ''
    returnType: unsigned int
    signature: flsnz32(unsigned int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzl
      Src: /src/haproxy/include/import/ebtree.h:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: flsnz64
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached:
    - __builtin_clzl
    linkageType: ''
    returnType: unsigned int
    signature: flsnz64(unsigned long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: flsnz8
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: flsnz8(unsigned int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flsnz32
      Src: /src/haproxy/include/import/ebtree.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 353
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 353
    functionName: flsnz64
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached:
    - flsnz32
    linkageType: ''
    returnType: unsigned int
    signature: flsnz64(unsigned long long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - tag
    argTypes:
    - struct eb_root*
    - int
    constantsTouched: []
    func_position:
      end: 399
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 399
    functionName: eb_dotag
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: eb_troot_t
    signature: '*eb_dotag(const struct eb_root *root, const int tag)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - troot
    - tag
    argTypes:
    - eb_troot_t*
    - int
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: eb_untag
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: struct eb_root
    signature: '*eb_untag(const eb_troot_t *troot, const int tag)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - troot
    argTypes:
    - eb_troot_t*
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: eb_gettag
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: eb_gettag(eb_troot_t *troot)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - troot
    argTypes:
    - eb_troot_t*
    constantsTouched: []
    func_position:
      end: 423
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 423
    functionName: eb_clrtag
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: struct eb_root
    signature: '*eb_clrtag(const eb_troot_t *troot)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/haproxy/include/import/ebtree.h:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: eb_root_to_node
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 9
    functionsReached:
    - container_of
    linkageType: ''
    returnType: struct eb_node
    signature: '*eb_root_to_node(struct eb_root *root)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebtree.h:439,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:440,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:442,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - start
    - side
    argTypes:
    - eb_troot_t*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 443
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 443
    functionName: eb_walk_down
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 6
    functionsReached:
    - eb_untag
    - eb_gettag
    - eb_root_to_node
    linkageType: ''
    returnType: struct eb_node
    signature: '*eb_walk_down(eb_troot_t *start, unsigned int side)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebtree.h:454,1
    - Dst: branches::branches
      Src: /src/haproxy/include/import/ebtree.h:454,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebtree.h:455,1
    - Dst: branches::branches
      Src: /src/haproxy/include/import/ebtree.h:455,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebtree.h:456,1
    - Dst: branches::branches
      Src: /src/haproxy/include/import/ebtree.h:456,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebtree.h:459,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebtree.h:461,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:461,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebtree.h:471,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:471,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebtree.h:473,1
    - Dst: branches::branches
      Src: /src/haproxy/include/import/ebtree.h:473,1
    - Dst: branches::branches
      Src: /src/haproxy/include/import/ebtree.h:478,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebtree.h:478,1
    - Dst: branches::branches
      Src: /src/haproxy/include/import/ebtree.h:479,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebtree.h:489,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebtree.h:490,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:490,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebtree.h:491,1
    - Dst: branches::branches
      Src: /src/haproxy/include/import/ebtree.h:491,1
    - Dst: branches::branches
      Src: /src/haproxy/include/import/ebtree.h:496,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebtree.h:496,1
    - Dst: branches::branches
      Src: /src/haproxy/include/import/ebtree.h:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - sub
    - new
    argTypes:
    - struct eb_node*
    - struct eb_node*
    constantsTouched: []
    func_position:
      end: 500
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 500
    functionName: __eb_insert_dup
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 1
    functionsReached:
    - container_of
    - eb_dotag
    - branches::branches
    - eb_gettag
    - eb_untag
    linkageType: ''
    returnType: forceinline
    signature: '*

      __eb_insert_dup(struct eb_node *sub, struct eb_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    functionName: eb_is_empty
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: eb_is_empty(const struct eb_root *root)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct eb_node*
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: eb_is_dup
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: eb_is_dup(const struct eb_node *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_walk_down
      Src: /src/haproxy/include/import/ebtree.h:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: eb_first
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 3
    functionsReached:
    - eb_walk_down
    linkageType: ''
    returnType: struct eb_node
    signature: '*eb_first(struct eb_root *root)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_walk_down
      Src: /src/haproxy/include/import/ebtree.h:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: eb_last
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached:
    - eb_walk_down
    linkageType: ''
    returnType: struct eb_node
    signature: '*eb_last(struct eb_root *root)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebtree.h:536,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebtree.h:540,1
    - Dst: eb_clrtag
      Src: /src/haproxy/include/import/ebtree.h:540,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:540,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:542,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:542,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:545,1
    - Dst: eb_walk_down
      Src: /src/haproxy/include/import/ebtree.h:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct eb_node*
    constantsTouched: []
    func_position:
      end: 547
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 547
    functionName: eb_prev
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached:
    - eb_clrtag
    - eb_walk_down
    - eb_gettag
    - eb_untag
    - unlikely
    - eb_root_to_node
    linkageType: ''
    returnType: struct eb_node
    signature: '*eb_prev(struct eb_node *node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebtree.h:554,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:556,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:556,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:559,1
    - Dst: eb_clrtag
      Src: /src/haproxy/include/import/ebtree.h:560,1
    - Dst: eb_walk_down
      Src: /src/haproxy/include/import/ebtree.h:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct eb_node*
    constantsTouched: []
    func_position:
      end: 563
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 563
    functionName: eb_next
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 3
    functionsReached:
    - eb_walk_down
    - eb_clrtag
    - eb_gettag
    - eb_untag
    - eb_root_to_node
    linkageType: ''
    returnType: struct eb_node
    signature: '*eb_next(struct eb_node *node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebtree.h:570,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebtree.h:574,1
    - Dst: eb_clrtag
      Src: /src/haproxy/include/import/ebtree.h:574,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:574,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:577,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:577,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:579,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:579,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:582,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:582,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:584,1
    - Dst: eb_walk_down
      Src: /src/haproxy/include/import/ebtree.h:585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct eb_node*
    constantsTouched: []
    func_position:
      end: 586
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 586
    functionName: eb_prev_dup
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached:
    - eb_clrtag
    - eb_walk_down
    - eb_gettag
    - eb_untag
    - unlikely
    - eb_root_to_node
    linkageType: ''
    returnType: struct eb_node
    signature: '*eb_prev_dup(struct eb_node *node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebtree.h:593,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:596,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:596,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:598,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:598,1
    - Dst: eb_clrtag
      Src: /src/haproxy/include/import/ebtree.h:605,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:605,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:608,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:608,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:610,1
    - Dst: eb_walk_down
      Src: /src/haproxy/include/import/ebtree.h:611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct eb_node*
    constantsTouched: []
    func_position:
      end: 612
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 612
    functionName: eb_next_dup
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached:
    - eb_walk_down
    - eb_clrtag
    - eb_gettag
    - eb_untag
    - eb_root_to_node
    linkageType: ''
    returnType: struct eb_node
    signature: '*eb_next_dup(struct eb_node *node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebtree.h:621,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:622,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:622,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebtree.h:632,1
    - Dst: eb_clrtag
      Src: /src/haproxy/include/import/ebtree.h:632,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:632,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:634,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:634,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:638,1
    - Dst: eb_walk_down
      Src: /src/haproxy/include/import/ebtree.h:639,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct eb_node*
    constantsTouched: []
    func_position:
      end: 640
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 640
    functionName: eb_prev_unique
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached:
    - eb_clrtag
    - eb_walk_down
    - eb_gettag
    - eb_untag
    - unlikely
    - eb_root_to_node
    linkageType: ''
    returnType: struct eb_node
    signature: '*eb_prev_unique(struct eb_node *node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebtree.h:650,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebtree.h:651,1
    - Dst: eb_clrtag
      Src: /src/haproxy/include/import/ebtree.h:651,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:651,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:653,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:653,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:661,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:661,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:666,1
    - Dst: eb_clrtag
      Src: /src/haproxy/include/import/ebtree.h:667,1
    - Dst: eb_walk_down
      Src: /src/haproxy/include/import/ebtree.h:669,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct eb_node*
    constantsTouched: []
    func_position:
      end: 670
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 670
    functionName: eb_next_unique
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached:
    - eb_clrtag
    - eb_walk_down
    - eb_gettag
    - eb_untag
    - unlikely
    - eb_root_to_node
    linkageType: ''
    returnType: struct eb_node
    signature: '*eb_next_unique(struct eb_node *node)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebtree.h:687,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:688,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:688,1
    - Dst: eb_clrtag
      Src: /src/haproxy/include/import/ebtree.h:695,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebtree.h:706,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:707,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebtree.h:710,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:713,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:713,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebtree.h:714,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:716,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:716,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebtree.h:717,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebtree.h:746,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:747,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebtree.h:748,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebtree.h:752,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:753,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:753,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebtree.h:754,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebtree.h:756,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebtree.h:756,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebtree.h:757,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - node
    argTypes:
    - struct eb_node*
    constantsTouched: []
    func_position:
      end: 764
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 764
    functionName: __eb_delete
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 1
    functionsReached:
    - eb_clrtag
    - eb_dotag
    - eb_gettag
    - eb_untag
    - eb_root_to_node
    linkageType: ''
    returnType: forceinline
    signature: __eb_delete(struct eb_node *node)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flsnz_long
      Src: /src/haproxy/include/import/ebtree.h:791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - a
    - b
    - ignore
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 796
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 796
    functionName: equal_bits
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 4
    functionsReached:
    - flsnz_long
    linkageType: ''
    returnType: forceinline
    signature: "equal_bits(const unsigned char *a,\n\t\t\t\t     const unsigned char
      *b,\n\t\t\t\t     size_t ignore, size_t len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebtree.h:816,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - a
    - b
    - skip
    - len
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 827
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 827
    functionName: check_bits
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: forceinline
    signature: "check_bits(const unsigned char *a,\n\t\t\t\t  const unsigned char
      *b,\n\t\t\t\t  int skip,\n\t\t\t\t  int len)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flsnz
      Src: /src/haproxy/include/import/ebtree.h:867,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - a
    - b
    - ignore
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 868
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 868
    functionName: string_equal_bits
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 4
    functionsReached:
    - flsnz
    linkageType: ''
    returnType: forceinline
    signature: "string_equal_bits(const unsigned char *a,\n\t\t\t\t\t     const unsigned
      char *b,\n\t\t\t\t\t     size_t ignore)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - pos
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 882
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 882
    functionName: cmp_bits
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: cmp_bits(const unsigned char *a, const unsigned char *b, unsigned int
      pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - pos
    argTypes:
    - unsigned char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 891
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 891
    functionName: get_bit
    functionSourceFile: /src/haproxy/include/import/ebtree.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: get_bit(const unsigned char *a, unsigned int pos)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: mt_list_prng
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: mt_list_prng()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_prng
      Src: /src/haproxy/include/import/mt_list.h:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - factor
    argTypes:
    - unsigned
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: mt_list_wait
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - mt_list_prng
    linkageType: ''
    returnType: unsigned int
    signature: mt_list_wait(unsigned factor)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_wait
      Src: /src/haproxy/include/import/mt_list.h:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - loop
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 246
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 246
    functionName: mt_list_cpu_relax
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - mt_list_wait
    linkageType: ''
    returnType: unsigned long
    signature: mt_list_cpu_relax(unsigned long loop)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - el
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: mt_list_init
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct mt_list
    signature: '*mt_list_init(struct mt_list *el)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - el
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: mt_list_isempty
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: mt_list_isempty(const struct mt_list *el)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - el
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: mt_list_inlist
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: mt_list_inlist(const struct mt_list *el)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_cpu_relax
      Src: /src/haproxy/include/import/mt_list.h:298,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:299,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:303,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:306,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:310,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:316,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:319,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:326,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:333,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:336,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:345,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:348,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:351,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - lh
    - el
    argTypes:
    - struct mt_list*
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 357
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 357
    functionName: mt_list_try_insert
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - __atomic_exchange_n
    - __atomic_thread_fence
    - mt_list_cpu_relax
    linkageType: ''
    returnType: MT_INLINE long
    signature: mt_list_try_insert(struct mt_list *lh, struct mt_list *el)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_cpu_relax
      Src: /src/haproxy/include/import/mt_list.h:380,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:381,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:385,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:388,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:392,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:398,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:401,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:408,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:415,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:418,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:427,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:430,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:433,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - lh
    - el
    argTypes:
    - struct mt_list*
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 439
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 439
    functionName: mt_list_try_append
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - __atomic_exchange_n
    - __atomic_thread_fence
    - mt_list_cpu_relax
    linkageType: ''
    returnType: MT_INLINE long
    signature: mt_list_try_append(struct mt_list *lh, struct mt_list *el)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_cpu_relax
      Src: /src/haproxy/include/import/mt_list.h:455,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:456,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:461,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:466,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:469,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:475,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:481,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:484,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:487,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - lh
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 491
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 491
    functionName: mt_list_behead
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - __atomic_exchange_n
    - __atomic_thread_fence
    - mt_list_cpu_relax
    linkageType: ''
    returnType: MT_INLINE
    signature: '*mt_list_behead(struct mt_list *lh)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_cpu_relax
      Src: /src/haproxy/include/import/mt_list.h:506,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:507,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:511,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:514,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:520,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:523,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - lh
    - el
    argTypes:
    - struct mt_list*
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 529
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 529
    functionName: mt_list_insert
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - __atomic_exchange_n
    - __atomic_thread_fence
    - mt_list_cpu_relax
    linkageType: ''
    returnType: MT_INLINE
    signature: mt_list_insert(struct mt_list *lh, struct mt_list *el)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_cpu_relax
      Src: /src/haproxy/include/import/mt_list.h:544,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:545,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:549,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:552,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:558,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:561,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:564,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - lh
    - el
    argTypes:
    - struct mt_list*
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 567
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 567
    functionName: mt_list_append
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - __atomic_exchange_n
    - __atomic_thread_fence
    - mt_list_cpu_relax
    linkageType: ''
    returnType: MT_INLINE
    signature: mt_list_append(struct mt_list *lh, struct mt_list *el)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_cpu_relax
      Src: /src/haproxy/include/import/mt_list.h:586,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:588,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:592,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:595,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:600,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:604,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:610,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:616,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:623,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:626,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - el
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 633
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 633
    functionName: mt_list_delete
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - __atomic_exchange_n
    - __atomic_thread_fence
    - mt_list_cpu_relax
    linkageType: ''
    returnType: MT_INLINE long
    signature: mt_list_delete(struct mt_list *el)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_cpu_relax
      Src: /src/haproxy/include/import/mt_list.h:645,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:646,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:653,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:658,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:661,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:665,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:668,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:671,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:675,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:679,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:682,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:688,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:691,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - lh
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 697
      start: 639
    functionDepth: 3
    functionLinenumber: 639
    functionLinenumberEnd: 697
    functionName: mt_list_pop
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - __atomic_exchange_n
    - __atomic_thread_fence
    - mt_list_cpu_relax
    linkageType: ''
    returnType: MT_INLINE
    signature: '*mt_list_pop(struct mt_list *lh)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_cpu_relax
      Src: /src/haproxy/include/import/mt_list.h:725,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:726,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:730,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:733,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - lh
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 739
      start: 720
    functionDepth: 3
    functionLinenumber: 720
    functionLinenumberEnd: 739
    functionName: mt_list_lock_next
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - __atomic_exchange_n
    - __atomic_thread_fence
    - mt_list_cpu_relax
    linkageType: ''
    returnType: MT_INLINE
    signature: mt_list_lock_next(struct mt_list *lh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_cpu_relax
      Src: /src/haproxy/include/import/mt_list.h:767,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:768,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:772,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:775,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - lh
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 781
      start: 762
    functionDepth: 3
    functionLinenumber: 762
    functionLinenumberEnd: 781
    functionName: mt_list_lock_prev
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 1
    functionsReached:
    - __atomic_exchange_n
    - __atomic_thread_fence
    - mt_list_cpu_relax
    linkageType: ''
    returnType: MT_INLINE
    signature: mt_list_lock_prev(struct mt_list *lh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:792,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:796,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - lh
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 803
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 803
    functionName: mt_list_try_lock_prev
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 1
    functionsReached:
    - __atomic_thread_fence
    - __atomic_exchange_n
    linkageType: ''
    returnType: MT_INLINE
    signature: mt_list_try_lock_prev(struct mt_list *lh)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_cpu_relax
      Src: /src/haproxy/include/import/mt_list.h:815,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:816,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:820,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - el
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 829
      start: 810
    functionDepth: 3
    functionLinenumber: 810
    functionLinenumberEnd: 829
    functionName: mt_list_lock_elem
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 1
    functionsReached:
    - __atomic_exchange_n
    - __atomic_thread_fence
    - mt_list_cpu_relax
    linkageType: ''
    returnType: MT_INLINE
    signature: mt_list_lock_elem(struct mt_list *el)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - el
    - back
    argTypes:
    - struct mt_list*
    - struct mt_list
    constantsTouched: []
    func_position:
      end: 839
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 839
    functionName: mt_list_unlock_elem
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - __atomic_thread_fence
    linkageType: ''
    returnType: void
    signature: mt_list_unlock_elem(struct mt_list *el, struct mt_list back)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - el
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 851
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 851
    functionName: mt_list_unlock_self
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 3
    functionsReached:
    - __atomic_thread_fence
    linkageType: ''
    returnType: void
    signature: mt_list_unlock_self(struct mt_list *el)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_cpu_relax
      Src: /src/haproxy/include/import/mt_list.h:885,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:887,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:891,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:894,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:899,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:902,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:908,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:913,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 1
    argNames:
    - el
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 920
      start: 878
    functionDepth: 3
    functionLinenumber: 878
    functionLinenumberEnd: 920
    functionName: mt_list_lock_full
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 6
    functionsReached:
    - __atomic_exchange_n
    - __atomic_thread_fence
    - mt_list_cpu_relax
    linkageType: ''
    returnType: MT_INLINE
    signature: mt_list_lock_full(struct mt_list *el)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ends
    argTypes:
    - struct mt_list
    constantsTouched: []
    func_position:
      end: 938
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 938
    functionName: mt_list_unlock_link
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 1
    functionsReached:
    - __atomic_thread_fence
    linkageType: ''
    returnType: void
    signature: mt_list_unlock_link(struct mt_list ends)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:955,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/mt_list.h:957,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/mt_list.h:959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - el
    - ends
    argTypes:
    - struct mt_list*
    - struct mt_list
    constantsTouched: []
    func_position:
      end: 961
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 961
    functionName: mt_list_unlock_full
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 7
    functionsReached:
    - __atomic_thread_fence
    - __builtin_expect
    linkageType: ''
    returnType: void
    signature: mt_list_unlock_full(struct mt_list *el, struct mt_list ends)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:979,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - el
    - back
    argTypes:
    - struct mt_list*
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 983
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 983
    functionName: _mt_list_unlock_next
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - __atomic_thread_fence
    linkageType: ''
    returnType: void
    signature: _mt_list_unlock_next(struct mt_list *el, struct mt_list *back)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - el
    - back
    argTypes:
    - struct mt_list*
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 998
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 998
    functionName: _mt_list_unlock_prev
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - __atomic_thread_fence
    linkageType: ''
    returnType: void
    signature: _mt_list_unlock_prev(struct mt_list *el, struct mt_list *back)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_cpu_relax
      Src: /src/haproxy/include/import/mt_list.h:1011,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:1012,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:1017,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:1020,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - el
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 1027
      start: 1006
    functionDepth: 3
    functionLinenumber: 1006
    functionLinenumberEnd: 1027
    functionName: _mt_list_lock_next
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - __atomic_exchange_n
    - __atomic_thread_fence
    - mt_list_cpu_relax
    linkageType: ''
    returnType: MT_INLINE
    signature: '*_mt_list_lock_next(struct mt_list *el)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mt_list_cpu_relax
      Src: /src/haproxy/include/import/mt_list.h:1040,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:1041,1
    - Dst: __atomic_exchange_n
      Src: /src/haproxy/include/import/mt_list.h:1045,1
    - Dst: __atomic_thread_fence
      Src: /src/haproxy/include/import/mt_list.h:1048,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - el
    argTypes:
    - struct mt_list*
    constantsTouched: []
    func_position:
      end: 1054
      start: 1035
    functionDepth: 3
    functionLinenumber: 1035
    functionLinenumberEnd: 1054
    functionName: _mt_list_lock_prev
    functionSourceFile: /src/haproxy/include/import/mt_list.h
    functionUses: 0
    functionsReached:
    - __atomic_exchange_n
    - __atomic_thread_fence
    - mt_list_cpu_relax
    linkageType: ''
    returnType: MT_INLINE
    signature: '*_mt_list_lock_prev(struct mt_list *el)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/eb32sctree.h:56,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb32sctree.h:60,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32sctree.h:61,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/eb32sctree.h:62,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb32sctree.h:63,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32sctree.h:71,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/eb32sctree.h:72,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb32sctree.h:73,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb32sctree.h:82,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/eb32sctree.h:84,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32sctree.h:84,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32sctree.h:87,1
    - Dst: eb_clrtag
      Src: /src/haproxy/include/import/eb32sctree.h:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - start
    - scope
    argTypes:
    - eb_troot_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 92
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 92
    functionName: eb32sc_walk_down_left
    functionSourceFile: /src/haproxy/include/import/eb32sctree.h
    functionUses: 1
    functionsReached:
    - container_of
    - eb_clrtag
    - eb_gettag
    - eb_untag
    - unlikely
    - eb_root_to_node
    linkageType: ''
    returnType: struct eb32sc_node
    signature: '*eb32sc_walk_down_left(eb_troot_t *start, unsigned long scope)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb32sctree.h:97,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/eb32sctree.h:99,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32sctree.h:99,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32sctree.h:102,1
    - Dst: eb_clrtag
      Src: /src/haproxy/include/import/eb32sctree.h:103,1
    - Dst: eb32sc_walk_down_left
      Src: /src/haproxy/include/import/eb32sctree.h:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - start
    - scope
    argTypes:
    - eb_troot_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: eb32sc_next_with_parent
    functionSourceFile: /src/haproxy/include/import/eb32sctree.h
    functionUses: 2
    functionsReached:
    - eb32sc_walk_down_left
    - eb_clrtag
    - eb_gettag
    - eb_untag
    - eb_root_to_node
    linkageType: ''
    returnType: struct eb32sc_node
    signature: '*eb32sc_next_with_parent(eb_troot_t *start, unsigned long scope)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32sc_next_with_parent
      Src: /src/haproxy/include/import/eb32sctree.h:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - eb32
    - scope
    argTypes:
    - struct eb32sc_node*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: eb32sc_next
    functionSourceFile: /src/haproxy/include/import/eb32sctree.h
    functionUses: 1
    functionsReached:
    - eb32sc_next_with_parent
    linkageType: ''
    returnType: struct eb32sc_node
    signature: '*eb32sc_next(struct eb32sc_node *eb32, unsigned long scope)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32sc_walk_down_left
      Src: /src/haproxy/include/import/eb32sctree.h:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - root
    - scope
    argTypes:
    - struct eb_root*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: eb32sc_first
    functionSourceFile: /src/haproxy/include/import/eb32sctree.h
    functionUses: 1
    functionsReached:
    - eb32sc_walk_down_left
    linkageType: ''
    returnType: struct eb32sc_node
    signature: '*eb32sc_first(struct eb_root *root, unsigned long scope)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sched_yield
      Src: /src/haproxy/include/import/plock.h:92,1
    - Dst: pl_cpu_relax
      Src: /src/haproxy/include/import/plock.h:97,1
    - Dst: pl_barrier
      Src: /src/haproxy/include/import/plock.h:100,1
    - Dst: pl_load
      Src: /src/haproxy/include/import/plock.h:102,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/plock.h:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - lock
    - mask
    argTypes:
    - unsigned long*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 114
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 114
    functionName: __pl_wait_unlock_long
    functionSourceFile: /src/haproxy/include/import/plock.h
    functionUses: 0
    functionsReached:
    - pl_load
    - pl_cpu_relax
    - sched_yield
    - pl_barrier
    - __builtin_expect
    linkageType: ''
    returnType: unsigned long
    signature: __pl_wait_unlock_long(const unsigned long *lock, const unsigned long
      mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __pl_wait_unlock_long
      Src: /src/haproxy/include/import/plock.h:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lock
    - mask
    argTypes:
    - unsigned long*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: pl_wait_unlock_long
    functionSourceFile: /src/haproxy/include/import/plock.h
    functionUses: 1
    functionsReached:
    - __pl_wait_unlock_long
    linkageType: ''
    returnType: unsigned long
    signature: pl_wait_unlock_long(const unsigned long *lock, const unsigned long
      mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sched_yield
      Src: /src/haproxy/include/import/plock.h:161,1
    - Dst: pl_cpu_relax
      Src: /src/haproxy/include/import/plock.h:166,1
    - Dst: pl_barrier
      Src: /src/haproxy/include/import/plock.h:169,1
    - Dst: pl_deref_int
      Src: /src/haproxy/include/import/plock.h:171,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/plock.h:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - lock
    - mask
    argTypes:
    - unsigned int*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 183
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 183
    functionName: __pl_wait_unlock_int
    functionSourceFile: /src/haproxy/include/import/plock.h
    functionUses: 0
    functionsReached:
    - pl_cpu_relax
    - sched_yield
    - pl_barrier
    - __builtin_expect
    - pl_deref_int
    linkageType: ''
    returnType: unsigned int
    signature: __pl_wait_unlock_int(const unsigned int *lock, const unsigned int mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __pl_wait_unlock_int
      Src: /src/haproxy/include/import/plock.h:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lock
    - mask
    argTypes:
    - unsigned int*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 193
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 193
    functionName: pl_wait_unlock_int
    functionSourceFile: /src/haproxy/include/import/plock.h
    functionUses: 1
    functionsReached:
    - __pl_wait_unlock_int
    linkageType: ''
    returnType: unsigned int
    signature: pl_wait_unlock_int(const unsigned int *lock, const unsigned int mask)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pl_cpu_relax
      Src: /src/haproxy/include/import/plock.h:215,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/plock.h:216,1
    - Dst: pl_deref_long
      Src: /src/haproxy/include/import/plock.h:217,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/plock.h:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - lock
    - prev
    argTypes:
    - unsigned long*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 220
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 220
    functionName: pl_wait_new_long
    functionSourceFile: /src/haproxy/include/import/plock.h
    functionUses: 1
    functionsReached:
    - __builtin_expect
    - pl_cpu_relax
    - pl_deref_long
    linkageType: ''
    returnType: unsigned long
    signature: pl_wait_new_long(const unsigned long *lock, const unsigned long prev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pl_cpu_relax
      Src: /src/haproxy/include/import/plock.h:241,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/plock.h:242,1
    - Dst: pl_deref_int
      Src: /src/haproxy/include/import/plock.h:243,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/plock.h:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - lock
    - prev
    argTypes:
    - unsigned int*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 246
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 246
    functionName: pl_wait_new_int
    functionSourceFile: /src/haproxy/include/import/plock.h
    functionUses: 0
    functionsReached:
    - __builtin_expect
    - pl_cpu_relax
    - pl_deref_int
    linkageType: ''
    returnType: unsigned int
    signature: pl_wait_new_int(const unsigned int *lock, const unsigned int prev)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pl_cmpxchg
      Src: /src/haproxy/include/import/plock.h:1330,1
    - Dst: __pl_wait_unlock_long
      Src: /src/haproxy/include/import/plock.h:1339,1
    - Dst: pl_wait_unlock_long
      Src: /src/haproxy/include/import/plock.h:1341,1
    - Dst: pl_ldadd_acq
      Src: /src/haproxy/include/import/plock.h:1345,1
    - Dst: __pl_wait_unlock_long
      Src: /src/haproxy/include/import/plock.h:1350,1
    - Dst: pl_wait_unlock_long
      Src: /src/haproxy/include/import/plock.h:1352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - lock
    argTypes:
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 1354
      start: 1321
    functionDepth: 2
    functionLinenumber: 1321
    functionLinenumberEnd: 1354
    functionName: pl_lorw_rdlock
    functionSourceFile: /src/haproxy/include/import/plock.h
    functionUses: 1
    functionsReached:
    - pl_ldadd_acq
    - __pl_wait_unlock_long
    - pl_wait_unlock_long
    - pl_cmpxchg
    linkageType: ''
    returnType: void
    signature: pl_lorw_rdlock(unsigned long *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pl_deref_long
      Src: /src/haproxy/include/import/plock.h:1367,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/plock.h:1368,1
    - Dst: __pl_wait_unlock_long
      Src: /src/haproxy/include/import/plock.h:1370,1
    - Dst: pl_wait_unlock_long
      Src: /src/haproxy/include/import/plock.h:1372,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/plock.h:1378,1
    - Dst: pl_or_noret
      Src: /src/haproxy/include/import/plock.h:1385,1
    - Dst: __pl_wait_unlock_long
      Src: /src/haproxy/include/import/plock.h:1387,1
    - Dst: pl_wait_unlock_long
      Src: /src/haproxy/include/import/plock.h:1389,1
    - Dst: __pl_wait_unlock_long
      Src: /src/haproxy/include/import/plock.h:1396,1
    - Dst: pl_wait_unlock_long
      Src: /src/haproxy/include/import/plock.h:1398,1
    - Dst: pl_cmpxchg
      Src: /src/haproxy/include/import/plock.h:1406,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - lock
    argTypes:
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 1412
      start: 1357
    functionDepth: 2
    functionLinenumber: 1357
    functionLinenumberEnd: 1412
    functionName: pl_lorw_wrlock
    functionSourceFile: /src/haproxy/include/import/plock.h
    functionUses: 1
    functionsReached:
    - __pl_wait_unlock_long
    - pl_deref_long
    - pl_cmpxchg
    - pl_or_noret
    - __builtin_expect
    - pl_wait_unlock_long
    linkageType: ''
    returnType: void
    signature: pl_lorw_wrlock(unsigned long *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pl_sub_noret_rel
      Src: /src/haproxy/include/import/plock.h:1418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 1419
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1419
    functionName: pl_lorw_rdunlock
    functionSourceFile: /src/haproxy/include/import/plock.h
    functionUses: 0
    functionsReached:
    - pl_sub_noret_rel
    linkageType: ''
    returnType: void
    signature: pl_lorw_rdunlock(unsigned long *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pl_and_noret_rel
      Src: /src/haproxy/include/import/plock.h:1424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lock
    argTypes:
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 1425
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1425
    functionName: pl_lorw_wrunlock
    functionSourceFile: /src/haproxy/include/import/plock.h
    functionUses: 0
    functionsReached:
    - pl_and_noret_rel
    linkageType: ''
    returnType: void
    signature: pl_lorw_wrunlock(unsigned long *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pl_deref_long
      Src: /src/haproxy/include/import/plock.h:1430,1
    - Dst: pl_lorw_wrunlock
      Src: /src/haproxy/include/import/plock.h:1431,1
    - Dst: pl_lorw_rdunlock
      Src: /src/haproxy/include/import/plock.h:1433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lock
    argTypes:
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 1434
      start: 1427
    functionDepth: 1
    functionLinenumber: 1427
    functionLinenumberEnd: 1434
    functionName: pl_lorw_unlock
    functionSourceFile: /src/haproxy/include/import/plock.h
    functionUses: 1
    functionsReached:
    - pl_lorw_rdunlock
    - pl_deref_long
    - pl_lorw_wrunlock
    linkageType: ''
    returnType: void
    signature: pl_lorw_unlock(unsigned long *lock)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slz_rfc1952_init
      Src: /src/haproxy/include/import/slz.h:123,1
    - Dst: slz_rfc1950_init
      Src: /src/haproxy/include/import/slz.h:125,1
    - Dst: slz_rfc1951_init
      Src: /src/haproxy/include/import/slz.h:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - strm
    - level
    - format
    argTypes:
    - struct slz_stream*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: slz_init
    functionSourceFile: /src/haproxy/include/import/slz.h
    functionUses: 0
    functionsReached:
    - slz_rfc1952_init
    - slz_rfc1951_init
    - slz_rfc1950_init
    linkageType: ''
    returnType: int
    signature: slz_init(struct slz_stream *strm, int level, int format)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slz_rfc1952_encode
      Src: /src/haproxy/include/import/slz.h:143,1
    - Dst: slz_rfc1950_encode
      Src: /src/haproxy/include/import/slz.h:145,1
    - Dst: slz_rfc1951_encode
      Src: /src/haproxy/include/import/slz.h:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - strm
    - out
    - in
    - ilen
    - more
    argTypes:
    - struct slz_stream*
    - void*
    - void*
    - long
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 5
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: slz_encode
    functionSourceFile: /src/haproxy/include/import/slz.h
    functionUses: 1
    functionsReached:
    - slz_rfc1950_encode
    - slz_rfc1951_encode
    - slz_rfc1952_encode
    linkageType: ''
    returnType: long
    signature: "slz_encode(struct slz_stream *strm, void *out,\n                              const
      void *in, long ilen, int more)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slz_rfc1952_finish
      Src: /src/haproxy/include/import/slz.h:167,1
    - Dst: slz_rfc1950_finish
      Src: /src/haproxy/include/import/slz.h:169,1
    - Dst: slz_rfc1951_finish
      Src: /src/haproxy/include/import/slz.h:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - strm
    - buf
    argTypes:
    - struct slz_stream*
    - void*
    constantsTouched: []
    func_position:
      end: 174
      start: 162
    functionDepth: 4
    functionLinenumber: 162
    functionLinenumberEnd: 174
    functionName: slz_finish
    functionSourceFile: /src/haproxy/include/import/slz.h
    functionUses: 1
    functionsReached:
    - slz_rfc1950_finish
    - slz_rfc1952_finish
    - slz_rfc1951_finish
    linkageType: ''
    returnType: int
    signature: slz_finish(struct slz_stream *strm, void *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: slz_rfc1952_flush
      Src: /src/haproxy/include/import/slz.h:191,1
    - Dst: slz_rfc1950_flush
      Src: /src/haproxy/include/import/slz.h:193,1
    - Dst: slz_rfc1951_flush
      Src: /src/haproxy/include/import/slz.h:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - strm
    - buf
    argTypes:
    - struct slz_stream*
    - void*
    constantsTouched: []
    func_position:
      end: 198
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 198
    functionName: slz_flush
    functionSourceFile: /src/haproxy/include/import/slz.h
    functionUses: 1
    functionsReached:
    - slz_rfc1950_flush
    - slz_rfc1952_flush
    - slz_rfc1951_flush
    linkageType: ''
    returnType: int
    signature: slz_flush(struct slz_stream *strm, void *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 2055
      start: 2055
    functionDepth: 0
    functionLinenumber: 2055
    functionLinenumberEnd: 2055
    functionName: XXH_malloc
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_CONSTF
    signature: '* XXH_malloc(size_t s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2056
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2056
    functionName: XXH_free
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: XXH_free(void* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/include/import/xxhash.h:2070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 2070
      start: 2070
    functionDepth: 3
    functionLinenumber: 2070
    functionLinenumberEnd: 2070
    functionName: XXH_malloc
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: XXH_MALLOCF
    signature: '* XXH_malloc(size_t s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/include/import/xxhash.h:2076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2076
      start: 2076
    functionDepth: 3
    functionLinenumber: 2076
    functionLinenumberEnd: 2076
    functionName: XXH_free
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: XXH_free(void* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/include/import/xxhash.h:2088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2089
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2089
    functionName: XXH_memcpy
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: '* XXH_memcpy(void* dest, const void* src, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2286
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2286
    functionName: XXH_read32
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u32
    signature: XXH_read32(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2304
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2304
    functionName: XXH_read32
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u32
    signature: XXH_read32(const void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:2315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2317
      start: 2312
    functionDepth: 1
    functionLinenumber: 2312
    functionLinenumberEnd: 2317
    functionName: XXH_read32
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: xxh_u32
    signature: XXH_read32(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2367
    functionName: XXH_isLittleEndian
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: XXH_isLittleEndian(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - xxh_u32
    constantsTouched: []
    func_position:
      end: 2476
      start: 2470
    functionDepth: 0
    functionLinenumber: 2470
    functionLinenumberEnd: 2476
    functionName: XXH_swap32
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u32
    signature: XXH_swap32 (xxh_u32 x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2507
      start: 2500
    functionDepth: 0
    functionLinenumber: 2500
    functionLinenumberEnd: 2507
    functionName: XXH_readLE32
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_readLE32(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2516
      start: 2509
    functionDepth: 0
    functionLinenumber: 2509
    functionLinenumberEnd: 2516
    functionName: XXH_readBE32
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_readBE32(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_read32
      Src: /src/haproxy/include/import/xxhash.h:2521,1
    - Dst: XXH_swap32
      Src: /src/haproxy/include/import/xxhash.h:2521,1
    - Dst: XXH_read32
      Src: /src/haproxy/include/import/xxhash.h:2521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2522
      start: 2519
    functionDepth: 1
    functionLinenumber: 2519
    functionLinenumberEnd: 2522
    functionName: XXH_readLE32
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_swap32
    - XXH_read32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_readLE32(const void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_swap32
      Src: /src/haproxy/include/import/xxhash.h:2526,1
    - Dst: XXH_read32
      Src: /src/haproxy/include/import/xxhash.h:2526,1
    - Dst: XXH_read32
      Src: /src/haproxy/include/import/xxhash.h:2526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2527
      start: 2524
    functionDepth: 1
    functionLinenumber: 2524
    functionLinenumberEnd: 2527
    functionName: XXH_readBE32
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_swap32
    - XXH_read32
    linkageType: ''
    returnType: xxh_u32
    signature: XXH_readBE32(const void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:2534,1
    - Dst: XXH_swap32
      Src: /src/haproxy/include/import/xxhash.h:2536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ptr
    - align
    argTypes:
    - void*
    - XXH_alignment
    constantsTouched: []
    func_position:
      end: 2538
      start: 2530
    functionDepth: 1
    functionLinenumber: 2530
    functionLinenumberEnd: 2538
    functionName: XXH_readLE32_align
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_swap32
    - XXH_readLE32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_readLE32_align(const void* ptr, XXH_alignment align)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2545
    functionName: XXH_versionNumber
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_PUBLIC_API unsigned
    signature: XXH_versionNumber (void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl32
      Src: /src/haproxy/include/import/xxhash.h:2588,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/haproxy/include/import/xxhash.h:2627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - acc
    - input
    argTypes:
    - xxh_u32
    - xxh_u32
    constantsTouched: []
    func_position:
      end: 2630
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2630
    functionName: XXH32_round
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_rotl32
    - XXH_COMPILER_GUARD
    linkageType: ''
    returnType: xxh_u32
    signature: XXH32_round(xxh_u32 acc, xxh_u32 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - hash
    argTypes:
    - xxh_u32
    constantsTouched: []
    func_position:
      end: 2650
      start: 2642
    functionDepth: 0
    functionLinenumber: 2642
    functionLinenumberEnd: 2650
    functionName: XXH32_avalanche
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u32
    signature: XXH32_avalanche(xxh_u32 hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:2683,1
    - Dst: XXH32_avalanche
      Src: /src/haproxy/include/import/xxhash.h:2696,1
    - Dst: XXH32_avalanche
      Src: /src/haproxy/include/import/xxhash.h:2704,1
    - Dst: XXH32_avalanche
      Src: /src/haproxy/include/import/xxhash.h:2712,1
    - Dst: XXH32_avalanche
      Src: /src/haproxy/include/import/xxhash.h:2721,1
    - Dst: XXH32_avalanche
      Src: /src/haproxy/include/import/xxhash.h:2735,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:2737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 70
    argCount: 4
    argNames:
    - hash
    - ptr
    - len
    - align
    argTypes:
    - xxh_u32
    - xxh_u8*
    - size_t
    - XXH_alignment
    constantsTouched: []
    func_position:
      end: 2740
      start: 2669
    functionDepth: 1
    functionLinenumber: 2669
    functionLinenumberEnd: 2740
    functionName: XXH32_finalize
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - XXH32_avalanche
    linkageType: ''
    returnType: XXH_PUREF
    signature: XXH32_finalize(xxh_u32 hash, const xxh_u8* ptr, size_t len, XXH_alignment
      align)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:2763,1
    - Dst: XXH32_round
      Src: /src/haproxy/include/import/xxhash.h:2774,1
    - Dst: XXH_get32bits
      Src: /src/haproxy/include/import/xxhash.h:2774,1
    - Dst: XXH32_round
      Src: /src/haproxy/include/import/xxhash.h:2775,1
    - Dst: XXH_get32bits
      Src: /src/haproxy/include/import/xxhash.h:2775,1
    - Dst: XXH32_round
      Src: /src/haproxy/include/import/xxhash.h:2776,1
    - Dst: XXH_get32bits
      Src: /src/haproxy/include/import/xxhash.h:2776,1
    - Dst: XXH32_round
      Src: /src/haproxy/include/import/xxhash.h:2777,1
    - Dst: XXH_get32bits
      Src: /src/haproxy/include/import/xxhash.h:2777,1
    - Dst: XXH_rotl32
      Src: /src/haproxy/include/import/xxhash.h:2780,1
    - Dst: XXH_rotl32
      Src: /src/haproxy/include/import/xxhash.h:2780,1
    - Dst: XXH_rotl32
      Src: /src/haproxy/include/import/xxhash.h:2781,1
    - Dst: XXH_rotl32
      Src: /src/haproxy/include/import/xxhash.h:2781,1
    - Dst: XXH32_finalize
      Src: /src/haproxy/include/import/xxhash.h:2788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - input
    - len
    - seed
    - align
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u32
    - XXH_alignment
    constantsTouched: []
    func_position:
      end: 2789
      start: 2758
    functionDepth: 2
    functionLinenumber: 2758
    functionLinenumberEnd: 2789
    functionName: XXH32_endian_align
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH32_finalize
    - XXH32_round
    - XXH_rotl32
    - XXH_get32bits
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH32_endian_align(const xxh_u8* input, size_t len, xxh_u32 seed, XXH_alignment
      align)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH32_reset
      Src: /src/haproxy/include/import/xxhash.h:2797,1
    - Dst: XXH32_update
      Src: /src/haproxy/include/import/xxhash.h:2798,1
    - Dst: XXH32_digest
      Src: /src/haproxy/include/import/xxhash.h:2799,1
    - Dst: XXH32_endian_align
      Src: /src/haproxy/include/import/xxhash.h:2803,1
    - Dst: XXH32_endian_align
      Src: /src/haproxy/include/import/xxhash.h:2806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - void*
    - size_t
    - XXH32_hash_t
    constantsTouched: []
    func_position:
      end: 2808
      start: 2792
    functionDepth: 3
    functionLinenumber: 2792
    functionLinenumberEnd: 2808
    functionName: XXH32_hash_t
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH32_digest
    - XXH32_reset
    - XXH32_endian_align
    - XXH32_update
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH32_hash_t XXH32 (const void* input, size_t len, XXH32_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_malloc
      Src: /src/haproxy/include/import/xxhash.h:2817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2815
    functionDepth: 1
    functionLinenumber: 2815
    functionLinenumberEnd: 2818
    functionName: XXH32_state_t* XXH32_createState(void)
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_malloc
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH32_state_t* XXH32_createState(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_free
      Src: /src/haproxy/include/import/xxhash.h:2822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - statePtr
    argTypes:
    - XXH32_state_t*
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 1
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: XXH_errorcode::XXH32_freeState
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_free
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_errorcode XXH32_freeState(XXH32_state_t* statePtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:2829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dstState
    - srcState
    argTypes:
    - XXH32_state_t*
    - XXH32_state_t*
    constantsTouched: []
    func_position:
      end: 2830
      start: 2827
    functionDepth: 1
    functionLinenumber: 2827
    functionLinenumberEnd: 2830
    functionName: XXH32_copyState
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH32_copyState(XXH32_state_t* dstState, const XXH32_state_t* srcState)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:2835,1
    - Dst: memset
      Src: /src/haproxy/include/import/xxhash.h:2836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - statePtr
    - seed
    argTypes:
    - XXH32_state_t*
    - XXH32_hash_t
    constantsTouched: []
    func_position:
      end: 2842
      start: 2833
    functionDepth: 0
    functionLinenumber: 2833
    functionLinenumberEnd: 2842
    functionName: XXH_errorcode::XXH32_reset
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - memset
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_errorcode XXH32_reset(XXH32_state_t* statePtr, XXH32_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:2850,1
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:2861,1
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:2867,1
    - Dst: XXH32_round
      Src: /src/haproxy/include/import/xxhash.h:2869,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:2869,1
    - Dst: XXH32_round
      Src: /src/haproxy/include/import/xxhash.h:2870,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:2870,1
    - Dst: XXH32_round
      Src: /src/haproxy/include/import/xxhash.h:2871,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:2871,1
    - Dst: XXH32_round
      Src: /src/haproxy/include/import/xxhash.h:2872,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:2872,1
    - Dst: XXH32_round
      Src: /src/haproxy/include/import/xxhash.h:2882,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:2882,1
    - Dst: XXH32_round
      Src: /src/haproxy/include/import/xxhash.h:2883,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:2883,1
    - Dst: XXH32_round
      Src: /src/haproxy/include/import/xxhash.h:2884,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:2884,1
    - Dst: XXH32_round
      Src: /src/haproxy/include/import/xxhash.h:2885,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:2885,1
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:2891,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 3
    argNames:
    - state
    - input
    - len
    argTypes:
    - XXH32_state_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2897
      start: 2846
    functionDepth: 1
    functionLinenumber: 2846
    functionLinenumberEnd: 2897
    functionName: XXH_errorcode::XXH32_update
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH32_round
    - XXH_memcpy
    - XXH_readLE32
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_errorcode

      XXH32_update(XXH32_state_t* state, const void* input, size_t len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl32
      Src: /src/haproxy/include/import/xxhash.h:2906,1
    - Dst: XXH_rotl32
      Src: /src/haproxy/include/import/xxhash.h:2907,1
    - Dst: XXH_rotl32
      Src: /src/haproxy/include/import/xxhash.h:2908,1
    - Dst: XXH_rotl32
      Src: /src/haproxy/include/import/xxhash.h:2909,1
    - Dst: XXH32_finalize
      Src: /src/haproxy/include/import/xxhash.h:2916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - XXH32_state_t*
    constantsTouched: []
    func_position:
      end: 2917
      start: 2901
    functionDepth: 2
    functionLinenumber: 2901
    functionLinenumberEnd: 2917
    functionName: XXH32_hash_t::XXH32_digest
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH32_finalize
    - XXH_rotl32
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH32_hash_t XXH32_digest(const XXH32_state_t* state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:2938,1
    - Dst: XXH_swap32
      Src: /src/haproxy/include/import/xxhash.h:2939,1
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:2940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - hash
    argTypes:
    - XXH32_canonical_t*
    - XXH32_hash_t
    constantsTouched: []
    func_position:
      end: 2941
      start: 2936
    functionDepth: 1
    functionLinenumber: 2936
    functionLinenumberEnd: 2941
    functionName: XXH32_canonicalFromHash
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    - XXH_STATIC_ASSERT
    - XXH_swap32
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH32_canonicalFromHash(XXH32_canonical_t* dst, XXH32_hash_t hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readBE32
      Src: /src/haproxy/include/import/xxhash.h:2945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - XXH32_canonical_t*
    constantsTouched: []
    func_position:
      end: 2946
      start: 2943
    functionDepth: 1
    functionLinenumber: 2943
    functionLinenumberEnd: 2946
    functionName: XXH32_hash_t::XXH32_hashFromCanonical
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_readBE32
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH32_hash_t XXH32_hashFromCanonical(const XXH32_canonical_t* src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2978
      start: 2975
    functionDepth: 0
    functionLinenumber: 2975
    functionLinenumberEnd: 2978
    functionName: XXH_read64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u64
    signature: XXH_read64(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2996
      start: 2992
    functionDepth: 0
    functionLinenumber: 2992
    functionLinenumberEnd: 2996
    functionName: XXH_read64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u64
    signature: XXH_read64(const void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:3007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3009
      start: 3004
    functionDepth: 1
    functionLinenumber: 3004
    functionLinenumberEnd: 3009
    functionName: XXH_read64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: xxh_u64
    signature: XXH_read64(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 3028
      start: 3018
    functionDepth: 0
    functionLinenumber: 3018
    functionLinenumberEnd: 3028
    functionName: XXH_swap64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u64
    signature: XXH_swap64(xxh_u64 x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3046
      start: 3035
    functionDepth: 0
    functionLinenumber: 3035
    functionLinenumberEnd: 3046
    functionName: XXH_readLE64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_readLE64(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3059
      start: 3048
    functionDepth: 0
    functionLinenumber: 3048
    functionLinenumberEnd: 3059
    functionName: XXH_readBE64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_readBE64(const void* memPtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_read64
      Src: /src/haproxy/include/import/xxhash.h:3064,1
    - Dst: XXH_swap64
      Src: /src/haproxy/include/import/xxhash.h:3064,1
    - Dst: XXH_read64
      Src: /src/haproxy/include/import/xxhash.h:3064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3065
      start: 3062
    functionDepth: 1
    functionLinenumber: 3062
    functionLinenumberEnd: 3065
    functionName: XXH_readLE64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_read64
    - XXH_swap64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_readLE64(const void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_swap64
      Src: /src/haproxy/include/import/xxhash.h:3069,1
    - Dst: XXH_read64
      Src: /src/haproxy/include/import/xxhash.h:3069,1
    - Dst: XXH_read64
      Src: /src/haproxy/include/import/xxhash.h:3069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3070
      start: 3067
    functionDepth: 1
    functionLinenumber: 3067
    functionLinenumberEnd: 3070
    functionName: XXH_readBE64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_read64
    - XXH_swap64
    linkageType: ''
    returnType: xxh_u64
    signature: XXH_readBE64(const void* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:3077,1
    - Dst: XXH_swap64
      Src: /src/haproxy/include/import/xxhash.h:3079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - align
    argTypes:
    - void*
    - XXH_alignment
    constantsTouched: []
    func_position:
      end: 3080
      start: 3073
    functionDepth: 1
    functionLinenumber: 3073
    functionLinenumberEnd: 3080
    functionName: XXH_readLE64_align
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_swap64
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_readLE64_align(const void* ptr, XXH_alignment align)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl64
      Src: /src/haproxy/include/import/xxhash.h:3111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - acc
    - input
    argTypes:
    - xxh_u64
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 3114
      start: 3108
    functionDepth: 0
    functionLinenumber: 3108
    functionLinenumberEnd: 3114
    functionName: XXH64_round
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_rotl64
    linkageType: ''
    returnType: xxh_u64
    signature: XXH64_round(xxh_u64 acc, xxh_u64 input)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_round
      Src: /src/haproxy/include/import/xxhash.h:3118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - acc
    - val
    argTypes:
    - xxh_u64
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 3122
      start: 3116
    functionDepth: 1
    functionLinenumber: 3116
    functionLinenumberEnd: 3122
    functionName: XXH64_mergeRound
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_round
    linkageType: ''
    returnType: xxh_u64
    signature: XXH64_mergeRound(xxh_u64 acc, xxh_u64 val)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - hash
    argTypes:
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 3133
      start: 3125
    functionDepth: 0
    functionLinenumber: 3125
    functionLinenumberEnd: 3133
    functionName: XXH64_avalanche
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: xxh_u64
    signature: XXH64_avalanche(xxh_u64 hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:3156,1
    - Dst: XXH64_round
      Src: /src/haproxy/include/import/xxhash.h:3159,1
    - Dst: XXH_get64bits
      Src: /src/haproxy/include/import/xxhash.h:3159,1
    - Dst: XXH_rotl64
      Src: /src/haproxy/include/import/xxhash.h:3162,1
    - Dst: XXH_get32bits
      Src: /src/haproxy/include/import/xxhash.h:3166,1
    - Dst: XXH_rotl64
      Src: /src/haproxy/include/import/xxhash.h:3168,1
    - Dst: XXH_rotl64
      Src: /src/haproxy/include/import/xxhash.h:3173,1
    - Dst: XXH64_avalanche
      Src: /src/haproxy/include/import/xxhash.h:3176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - hash
    - ptr
    - len
    - align
    argTypes:
    - xxh_u64
    - xxh_u8*
    - size_t
    - XXH_alignment
    constantsTouched: []
    func_position:
      end: 3177
      start: 3153
    functionDepth: 1
    functionLinenumber: 3153
    functionLinenumberEnd: 3177
    functionName: XXH64_finalize
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_rotl64
    - XXH64_avalanche
    - XXH_get32bits
    - XXH_get64bits
    - XXH64_round
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_PUREF
    signature: XXH64_finalize(xxh_u64 hash, const xxh_u8* ptr, size_t len, XXH_alignment
      align)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:3201,1
    - Dst: XXH64_round
      Src: /src/haproxy/include/import/xxhash.h:3212,1
    - Dst: XXH_get64bits
      Src: /src/haproxy/include/import/xxhash.h:3212,1
    - Dst: XXH64_round
      Src: /src/haproxy/include/import/xxhash.h:3213,1
    - Dst: XXH_get64bits
      Src: /src/haproxy/include/import/xxhash.h:3213,1
    - Dst: XXH64_round
      Src: /src/haproxy/include/import/xxhash.h:3214,1
    - Dst: XXH_get64bits
      Src: /src/haproxy/include/import/xxhash.h:3214,1
    - Dst: XXH64_round
      Src: /src/haproxy/include/import/xxhash.h:3215,1
    - Dst: XXH_get64bits
      Src: /src/haproxy/include/import/xxhash.h:3215,1
    - Dst: XXH_rotl64
      Src: /src/haproxy/include/import/xxhash.h:3218,1
    - Dst: XXH_rotl64
      Src: /src/haproxy/include/import/xxhash.h:3218,1
    - Dst: XXH_rotl64
      Src: /src/haproxy/include/import/xxhash.h:3218,1
    - Dst: XXH_rotl64
      Src: /src/haproxy/include/import/xxhash.h:3218,1
    - Dst: XXH64_mergeRound
      Src: /src/haproxy/include/import/xxhash.h:3219,1
    - Dst: XXH64_mergeRound
      Src: /src/haproxy/include/import/xxhash.h:3220,1
    - Dst: XXH64_mergeRound
      Src: /src/haproxy/include/import/xxhash.h:3221,1
    - Dst: XXH64_mergeRound
      Src: /src/haproxy/include/import/xxhash.h:3222,1
    - Dst: XXH64_finalize
      Src: /src/haproxy/include/import/xxhash.h:3230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - input
    - len
    - seed
    - align
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u64
    - XXH_alignment
    constantsTouched: []
    func_position:
      end: 3231
      start: 3197
    functionDepth: 2
    functionLinenumber: 3197
    functionLinenumberEnd: 3231
    functionName: XXH64_endian_align
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_rotl64
    - XXH64_finalize
    - XXH_get64bits
    - XXH64_mergeRound
    - XXH64_round
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH64_endian_align(const xxh_u8* input, size_t len, xxh_u64 seed, XXH_alignment
      align)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_reset
      Src: /src/haproxy/include/import/xxhash.h:3240,1
    - Dst: XXH64_update
      Src: /src/haproxy/include/import/xxhash.h:3241,1
    - Dst: XXH64_digest
      Src: /src/haproxy/include/import/xxhash.h:3242,1
    - Dst: XXH64_endian_align
      Src: /src/haproxy/include/import/xxhash.h:3246,1
    - Dst: XXH64_endian_align
      Src: /src/haproxy/include/import/xxhash.h:3249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 3252
      start: 3235
    functionDepth: 3
    functionLinenumber: 3235
    functionLinenumberEnd: 3252
    functionName: XXH64_hash_t
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_reset
    - XXH64_update
    - XXH64_endian_align
    - XXH64_digest
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH64_hash_t XXH64 (XXH_NOESCAPE const void* input, size_t len, XXH64_hash_t
      seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_malloc
      Src: /src/haproxy/include/import/xxhash.h:3259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3260
      start: 3257
    functionDepth: 1
    functionLinenumber: 3257
    functionLinenumberEnd: 3260
    functionName: XXH64_state_t* XXH64_createState(void)
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_malloc
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH64_state_t* XXH64_createState(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_free
      Src: /src/haproxy/include/import/xxhash.h:3264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - statePtr
    argTypes:
    - XXH64_state_t*
    constantsTouched: []
    func_position:
      end: 3266
      start: 3262
    functionDepth: 1
    functionLinenumber: 3262
    functionLinenumberEnd: 3266
    functionName: XXH_errorcode::XXH64_freeState
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_free
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_errorcode XXH64_freeState(XXH64_state_t* statePtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:3271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - XXH64_state_t* dstState
    - srcState
    argTypes:
    - XXH_NOESCAPE
    - XXH64_state_t*
    constantsTouched: []
    func_position:
      end: 3272
      start: 3269
    functionDepth: 1
    functionLinenumber: 3269
    functionLinenumberEnd: 3272
    functionName: XXH64_copyState
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH64_copyState(XXH_NOESCAPE XXH64_state_t* dstState, const XXH64_state_t*
      srcState)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:3277,1
    - Dst: memset
      Src: /src/haproxy/include/import/xxhash.h:3278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - XXH64_state_t* statePtr
    - seed
    argTypes:
    - XXH_NOESCAPE
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 3284
      start: 3275
    functionDepth: 0
    functionLinenumber: 3275
    functionLinenumberEnd: 3284
    functionName: XXH_errorcode::XXH64_reset
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - memset
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_errorcode XXH64_reset(XXH_NOESCAPE XXH64_state_t* statePtr, XXH64_hash_t
      seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:3291,1
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:3301,1
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:3307,1
    - Dst: XXH64_round
      Src: /src/haproxy/include/import/xxhash.h:3308,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:3308,1
    - Dst: XXH64_round
      Src: /src/haproxy/include/import/xxhash.h:3309,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:3309,1
    - Dst: XXH64_round
      Src: /src/haproxy/include/import/xxhash.h:3310,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:3310,1
    - Dst: XXH64_round
      Src: /src/haproxy/include/import/xxhash.h:3311,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:3311,1
    - Dst: XXH64_round
      Src: /src/haproxy/include/import/xxhash.h:3320,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:3320,1
    - Dst: XXH64_round
      Src: /src/haproxy/include/import/xxhash.h:3321,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:3321,1
    - Dst: XXH64_round
      Src: /src/haproxy/include/import/xxhash.h:3322,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:3322,1
    - Dst: XXH64_round
      Src: /src/haproxy/include/import/xxhash.h:3323,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:3323,1
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:3329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 3
    argNames:
    - XXH64_state_t* state
    - input
    - len
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE*
    - size_t
    constantsTouched: []
    func_position:
      end: 3335
      start: 3287
    functionDepth: 1
    functionLinenumber: 3287
    functionLinenumberEnd: 3335
    functionName: XXH_errorcode::XXH64_update
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    - XXH_ASSERT
    - XXH64_round
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_errorcode

      XXH64_update (XXH_NOESCAPE XXH64_state_t* state, XXH_NOESCAPE const void* input,
      size_t len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl64
      Src: /src/haproxy/include/import/xxhash.h:3344,1
    - Dst: XXH_rotl64
      Src: /src/haproxy/include/import/xxhash.h:3344,1
    - Dst: XXH_rotl64
      Src: /src/haproxy/include/import/xxhash.h:3344,1
    - Dst: XXH_rotl64
      Src: /src/haproxy/include/import/xxhash.h:3344,1
    - Dst: XXH64_mergeRound
      Src: /src/haproxy/include/import/xxhash.h:3345,1
    - Dst: XXH64_mergeRound
      Src: /src/haproxy/include/import/xxhash.h:3346,1
    - Dst: XXH64_mergeRound
      Src: /src/haproxy/include/import/xxhash.h:3347,1
    - Dst: XXH64_mergeRound
      Src: /src/haproxy/include/import/xxhash.h:3348,1
    - Dst: XXH64_finalize
      Src: /src/haproxy/include/import/xxhash.h:3355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - XXH64_state_t* state
    argTypes:
    - XXH_NOESCAPE
    constantsTouched: []
    func_position:
      end: 3356
      start: 3339
    functionDepth: 2
    functionLinenumber: 3339
    functionLinenumberEnd: 3356
    functionName: XXH64_hash_t::XXH64_digest
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_rotl64
    - XXH64_finalize
    - XXH64_mergeRound
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH64_hash_t XXH64_digest(XXH_NOESCAPE const XXH64_state_t* state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:3364,1
    - Dst: XXH_swap64
      Src: /src/haproxy/include/import/xxhash.h:3365,1
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:3366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - XXH64_canonical_t* dst
    - hash
    argTypes:
    - XXH_NOESCAPE
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 3367
      start: 3362
    functionDepth: 1
    functionLinenumber: 3362
    functionLinenumberEnd: 3367
    functionName: XXH64_canonicalFromHash
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    - XXH_STATIC_ASSERT
    - XXH_swap64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH64_canonicalFromHash(XXH_NOESCAPE XXH64_canonical_t* dst, XXH64_hash_t
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readBE64
      Src: /src/haproxy/include/import/xxhash.h:3372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - XXH64_canonical_t* src
    argTypes:
    - XXH_NOESCAPE
    constantsTouched: []
    func_position:
      end: 3373
      start: 3370
    functionDepth: 1
    functionLinenumber: 3370
    functionLinenumberEnd: 3373
    functionName: XXH64_hash_t::XXH64_hashFromCanonical
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_readBE64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH64_hash_t XXH64_hashFromCanonical(XXH_NOESCAPE const XXH64_canonical_t*
      src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3719
      start: 3716
    functionDepth: 0
    functionLinenumber: 3716
    functionLinenumberEnd: 3719
    functionName: XXH_vld1q_u64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_vld1q_u64(void const* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vreinterpretq_u64_u8
      Src: /src/haproxy/include/import/xxhash.h:3723,1
    - Dst: vld1q_u8
      Src: /src/haproxy/include/import/xxhash.h:3723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3724
      start: 3721
    functionDepth: 0
    functionLinenumber: 3721
    functionLinenumberEnd: 3724
    functionName: XXH_vld1q_u64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - vreinterpretq_u64_u8
    - vld1q_u8
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_vld1q_u64(void const* ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - acc
    - lhs
    - rhs
    argTypes:
    - uint64x2_t
    - uint32x4_t
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 3742
      start: 3736
    functionDepth: 0
    functionLinenumber: 3736
    functionLinenumberEnd: 3742
    functionName: XXH_vmlal_low_u32
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_vmlal_low_u32(uint64x2_t acc, uint32x4_t lhs, uint32x4_t rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmlal_high_u32
      Src: /src/haproxy/include/import/xxhash.h:3747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acc
    - lhs
    - rhs
    argTypes:
    - uint64x2_t
    - uint32x4_t
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 3748
      start: 3743
    functionDepth: 0
    functionLinenumber: 3743
    functionLinenumberEnd: 3748
    functionName: XXH_vmlal_high_u32
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - vmlal_high_u32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_vmlal_high_u32(uint64x2_t acc, uint32x4_t lhs, uint32x4_t rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmlal_u32
      Src: /src/haproxy/include/import/xxhash.h:3754,1
    - Dst: vget_low_u32
      Src: /src/haproxy/include/import/xxhash.h:3754,1
    - Dst: vget_low_u32
      Src: /src/haproxy/include/import/xxhash.h:3754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acc
    - lhs
    - rhs
    argTypes:
    - uint64x2_t
    - uint32x4_t
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 3755
      start: 3751
    functionDepth: 0
    functionLinenumber: 3751
    functionLinenumberEnd: 3755
    functionName: XXH_vmlal_low_u32
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - vmlal_u32
    - vget_low_u32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_vmlal_low_u32(uint64x2_t acc, uint32x4_t lhs, uint32x4_t rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vmlal_u32
      Src: /src/haproxy/include/import/xxhash.h:3761,1
    - Dst: vget_high_u32
      Src: /src/haproxy/include/import/xxhash.h:3761,1
    - Dst: vget_high_u32
      Src: /src/haproxy/include/import/xxhash.h:3761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - acc
    - lhs
    - rhs
    argTypes:
    - uint64x2_t
    - uint32x4_t
    - uint32x4_t
    constantsTouched: []
    func_position:
      end: 3762
      start: 3758
    functionDepth: 0
    functionLinenumber: 3758
    functionLinenumberEnd: 3762
    functionName: XXH_vmlal_high_u32
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - vmlal_u32
    - vget_high_u32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_vmlal_high_u32(uint64x2_t acc, uint32x4_t lhs, uint32x4_t rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vec_perm
      Src: /src/haproxy/include/import/xxhash.h:3881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - xxh_u64x2
    constantsTouched: []
    func_position:
      end: 3882
      start: 3877
    functionDepth: 0
    functionLinenumber: 3877
    functionLinenumberEnd: 3882
    functionName: XXH_vec_revb
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - vec_perm
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_vec_revb(xxh_u64x2 val)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:3892,1
    - Dst: XXH_vec_revb
      Src: /src/haproxy/include/import/xxhash.h:3894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3897
      start: 3889
    functionDepth: 1
    functionLinenumber: 3889
    functionLinenumberEnd: 3897
    functionName: XXH_vec_loadu
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    - XXH_vec_revb
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_vec_loadu(const void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - xxh_u32x4
    - xxh_u32x4
    constantsTouched: []
    func_position:
      end: 3922
      start: 3917
    functionDepth: 0
    functionLinenumber: 3917
    functionLinenumberEnd: 3922
    functionName: XXH_vec_mulo
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_vec_mulo(xxh_u32x4 a, xxh_u32x4 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - xxh_u32x4
    - xxh_u32x4
    constantsTouched: []
    func_position:
      end: 3928
      start: 3923
    functionDepth: 0
    functionLinenumber: 3923
    functionLinenumberEnd: 3928
    functionName: XXH_vec_mule
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_vec_mule(xxh_u32x4 a, xxh_u32x4 b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - xxh_u64
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4018
      start: 4014
    functionDepth: 0
    functionLinenumber: 4014
    functionLinenumberEnd: 4018
    functionName: XXH_mult32to64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_mult32to64(xxh_u64 x, xxh_u64 y)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _umul128
      Src: /src/haproxy/include/import/xxhash.h:4082,1
    - Dst: __umulh
      Src: /src/haproxy/include/import/xxhash.h:4100,1
    - Dst: XXH_mult32to64
      Src: /src/haproxy/include/import/xxhash.h:4148,1
    - Dst: XXH_mult32to64
      Src: /src/haproxy/include/import/xxhash.h:4149,1
    - Dst: XXH_mult32to64
      Src: /src/haproxy/include/import/xxhash.h:4150,1
    - Dst: XXH_mult32to64
      Src: /src/haproxy/include/import/xxhash.h:4151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - xxh_u64
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4163
      start: 4041
    functionDepth: 1
    functionLinenumber: 4041
    functionLinenumberEnd: 4163
    functionName: XXH_mult64to128
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_mult32to64
    - _umul128
    - __umulh
    linkageType: ''
    returnType: XXH128_hash_t
    signature: XXH_mult64to128(xxh_u64 lhs, xxh_u64 rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_mult64to128
      Src: /src/haproxy/include/import/xxhash.h:4178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - xxh_u64
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4180
      start: 4175
    functionDepth: 2
    functionLinenumber: 4175
    functionLinenumberEnd: 4180
    functionName: XXH3_mul128_fold64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_mult64to128
    linkageType: ''
    returnType: xxh_u64
    signature: XXH3_mul128_fold64(xxh_u64 lhs, xxh_u64 rhs)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - v64
    - shift
    argTypes:
    - xxh_u64
    - int
    constantsTouched: []
    func_position:
      end: 4187
      start: 4183
    functionDepth: 0
    functionLinenumber: 4183
    functionLinenumberEnd: 4187
    functionName: XXH_xorshift64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_xorshift64(xxh_u64 v64, int shift)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_xorshift64
      Src: /src/haproxy/include/import/xxhash.h:4195,1
    - Dst: XXH_xorshift64
      Src: /src/haproxy/include/import/xxhash.h:4197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - h64
    argTypes:
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4199
      start: 4193
    functionDepth: 1
    functionLinenumber: 4193
    functionLinenumberEnd: 4199
    functionName: XXH3_avalanche
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_xorshift64
    linkageType: ''
    returnType: XXH64_hash_t
    signature: XXH3_avalanche(xxh_u64 h64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl64
      Src: /src/haproxy/include/import/xxhash.h:4209,1
    - Dst: XXH_rotl64
      Src: /src/haproxy/include/import/xxhash.h:4209,1
    - Dst: XXH_xorshift64
      Src: /src/haproxy/include/import/xxhash.h:4213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - h64
    - len
    argTypes:
    - xxh_u64
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4214
      start: 4206
    functionDepth: 1
    functionLinenumber: 4206
    functionLinenumberEnd: 4214
    functionName: XXH3_rrmxmx
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_rotl64
    - XXH_xorshift64
    linkageType: ''
    returnType: XXH64_hash_t
    signature: XXH3_rrmxmx(xxh_u64 h64, xxh_u64 len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4253,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4254,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4255,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:4266,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:4266,1
    - Dst: XXH64_avalanche
      Src: /src/haproxy/include/import/xxhash.h:4268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 4270
      start: 4250
    functionDepth: 1
    functionLinenumber: 4250
    functionLinenumberEnd: 4270
    functionName: XXH3_len_1to3_64b
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_avalanche
    - XXH_readLE32
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_len_1to3_64b(const xxh_u8* input, size_t len, const xxh_u8* secret,
      XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4275,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4276,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4277,1
    - Dst: XXH_swap32
      Src: /src/haproxy/include/import/xxhash.h:4278,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:4279,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:4280,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:4281,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:4281,1
    - Dst: XXH3_rrmxmx
      Src: /src/haproxy/include/import/xxhash.h:4284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 4286
      start: 4272
    functionDepth: 2
    functionLinenumber: 4272
    functionLinenumberEnd: 4286
    functionName: XXH3_len_4to8_64b
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_readLE64
    - XXH_readLE32
    - XXH_swap32
    - XXH3_rrmxmx
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_len_4to8_64b(const xxh_u8* input, size_t len, const xxh_u8* secret,
      XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4291,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4292,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4293,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:4294,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:4294,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:4295,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:4295,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:4296,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:4297,1
    - Dst: XXH_swap64
      Src: /src/haproxy/include/import/xxhash.h:4299,1
    - Dst: XXH3_mul128_fold64
      Src: /src/haproxy/include/import/xxhash.h:4300,1
    - Dst: XXH3_avalanche
      Src: /src/haproxy/include/import/xxhash.h:4301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 4303
      start: 4288
    functionDepth: 3
    functionLinenumber: 4288
    functionLinenumberEnd: 4303
    functionName: XXH3_len_9to16_64b
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mul128_fold64
    - XXH3_avalanche
    - XXH_readLE64
    - XXH_swap64
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_len_9to16_64b(const xxh_u8* input, size_t len, const xxh_u8* secret,
      XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4308,1
    - Dst: XXH_likely
      Src: /src/haproxy/include/import/xxhash.h:4309,1
    - Dst: XXH3_len_9to16_64b
      Src: /src/haproxy/include/import/xxhash.h:4309,1
    - Dst: XXH_likely
      Src: /src/haproxy/include/import/xxhash.h:4310,1
    - Dst: XXH3_len_4to8_64b
      Src: /src/haproxy/include/import/xxhash.h:4310,1
    - Dst: XXH3_len_1to3_64b
      Src: /src/haproxy/include/import/xxhash.h:4311,1
    - Dst: XXH64_avalanche
      Src: /src/haproxy/include/import/xxhash.h:4312,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:4312,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:4312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 4314
      start: 4305
    functionDepth: 4
    functionLinenumber: 4305
    functionLinenumberEnd: 4314
    functionName: XXH3_len_0to16_64b
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_len_4to8_64b
    - XXH_likely
    - XXH_readLE64
    - XXH64_avalanche
    - XXH3_len_9to16_64b
    - XXH3_len_1to3_64b
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_len_0to16_64b(const xxh_u8* input, size_t len, const xxh_u8* secret,
      XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_COMPILER_GUARD
      Src: /src/haproxy/include/import/xxhash.h:4363,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:4365,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:4366,1
    - Dst: XXH3_mul128_fold64
      Src: /src/haproxy/include/import/xxhash.h:4367,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:4368,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:4369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - seed64
    argTypes:
    - xxh_u8*
    - xxh_u8*
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4372
      start: 4342
    functionDepth: 3
    functionLinenumber: 4342
    functionLinenumberEnd: 4372
    functionName: XXH3_mix16B
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mul128_fold64
    - XXH_readLE64
    - XXH_COMPILER_GUARD
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH3_mix16B(const xxh_u8* XXH_RESTRICT input,\n                                     const
      xxh_u8* XXH_RESTRICT secret, xxh_u64 seed64)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4380,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4381,1
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:4388,1
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:4389,1
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:4395,1
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:4396,1
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:4398,1
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:4399,1
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:4401,1
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:4402,1
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:4404,1
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:4405,1
    - Dst: XXH3_avalanche
      Src: /src/haproxy/include/import/xxhash.h:4407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 4409
      start: 4375
    functionDepth: 4
    functionLinenumber: 4375
    functionLinenumberEnd: 4409
    functionName: XXH3_len_17to128_64b
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mix16B
    - XXH3_avalanche
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH3_len_17to128_64b(const xxh_u8* XXH_RESTRICT input, size_t len,\n
      \                    const xxh_u8* XXH_RESTRICT secret, size_t secretSize,\n
      \                    XXH64_hash_t seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4418,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4419,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4428,1
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:4430,1
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:4433,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4434,1
    - Dst: XXH3_avalanche
      Src: /src/haproxy/include/import/xxhash.h:4435,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/haproxy/include/import/xxhash.h:4465,1
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:4466,1
    - Dst: XXH3_avalanche
      Src: /src/haproxy/include/import/xxhash.h:4468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 4470
      start: 4413
    functionDepth: 4
    functionLinenumber: 4413
    functionLinenumberEnd: 4470
    functionName: XXH3_len_129to240_64b
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mix16B
    - XXH3_avalanche
    - XXH_ASSERT
    - XXH_COMPILER_GUARD
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH3_len_129to240_64b(const xxh_u8* XXH_RESTRICT input, size_t len,\n
      \                     const xxh_u8* XXH_RESTRICT secret, size_t secretSize,\n
      \                     XXH64_hash_t seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_swap64
      Src: /src/haproxy/include/import/xxhash.h:4527,1
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:4528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - v64
    argTypes:
    - void*
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4529
      start: 4525
    functionDepth: 1
    functionLinenumber: 4525
    functionLinenumberEnd: 4529
    functionName: XXH_writeLE64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    - XXH_swap64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_writeLE64(void* dst, xxh_u64 v64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4582,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4583,1
    - Dst: _mm512_loadu_si512
      Src: /src/haproxy/include/import/xxhash.h:4587,1
    - Dst: _mm512_loadu_si512
      Src: /src/haproxy/include/import/xxhash.h:4589,1
    - Dst: _mm512_xor_si512
      Src: /src/haproxy/include/import/xxhash.h:4591,1
    - Dst: _mm512_srli_epi64
      Src: /src/haproxy/include/import/xxhash.h:4593,1
    - Dst: _mm512_mul_epu32
      Src: /src/haproxy/include/import/xxhash.h:4595,1
    - Dst: _mm512_shuffle_epi32
      Src: /src/haproxy/include/import/xxhash.h:4597,1
    - Dst: _MM_SHUFFLE
      Src: /src/haproxy/include/import/xxhash.h:4597,1
    - Dst: _mm512_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4598,1
    - Dst: _mm512_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4602
      start: 4576
    functionDepth: 0
    functionLinenumber: 4576
    functionLinenumberEnd: 4602
    functionName: XXH3_accumulate_512_avx512
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - _mm512_mul_epu32
    - _mm512_xor_si512
    - _mm512_shuffle_epi32
    - _mm512_add_epi64
    - _mm512_loadu_si512
    - _MM_SHUFFLE
    - XXH_STATIC_ASSERT
    - XXH_ASSERT
    - _mm512_srli_epi64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH3_accumulate_512_avx512(void* XXH_RESTRICT acc,\n                     const
      void* XXH_RESTRICT input,\n                     const void* XXH_RESTRICT secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4629,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4630,1
    - Dst: _mm512_set1_epi32
      Src: /src/haproxy/include/import/xxhash.h:4632,1
    - Dst: _mm512_srli_epi64
      Src: /src/haproxy/include/import/xxhash.h:4636,1
    - Dst: _mm512_loadu_si512
      Src: /src/haproxy/include/import/xxhash.h:4638,1
    - Dst: _mm512_ternarylogic_epi32
      Src: /src/haproxy/include/import/xxhash.h:4639,1
    - Dst: _mm512_srli_epi64
      Src: /src/haproxy/include/import/xxhash.h:4642,1
    - Dst: _mm512_mul_epu32
      Src: /src/haproxy/include/import/xxhash.h:4643,1
    - Dst: _mm512_mul_epu32
      Src: /src/haproxy/include/import/xxhash.h:4644,1
    - Dst: _mm512_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4645,1
    - Dst: _mm512_slli_epi64
      Src: /src/haproxy/include/import/xxhash.h:4645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4647
      start: 4626
    functionDepth: 0
    functionLinenumber: 4626
    functionLinenumberEnd: 4647
    functionName: XXH3_scrambleAcc_avx512
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - _mm512_mul_epu32
    - _mm512_ternarylogic_epi32
    - _mm512_add_epi64
    - _mm512_set1_epi32
    - _mm512_loadu_si512
    - XXH_STATIC_ASSERT
    - _mm512_slli_epi64
    - XXH_ASSERT
    - _mm512_srli_epi64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_scrambleAcc_avx512(void* XXH_RESTRICT acc, const void* XXH_RESTRICT
      secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4652,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4653,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4654,1
    - Dst: _mm512_set1_epi64
      Src: /src/haproxy/include/import/xxhash.h:4657,1
    - Dst: _mm512_mask_sub_epi64
      Src: /src/haproxy/include/import/xxhash.h:4658,1
    - Dst: _mm512_set1_epi8
      Src: /src/haproxy/include/import/xxhash.h:4658,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4663,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4664,1
    - Dst: _mm512_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4666,1
    - Dst: _mm512_load_si512
      Src: /src/haproxy/include/import/xxhash.h:4666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - XXH_RESTRICT customSecret
    - seed64
    argTypes:
    - void*
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4668
      start: 4649
    functionDepth: 0
    functionLinenumber: 4649
    functionLinenumberEnd: 4668
    functionName: XXH3_initCustomSecret_avx512
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - _mm512_mask_sub_epi64
    - _mm512_set1_epi8
    - _mm512_load_si512
    - _mm512_set1_epi64
    - _mm512_add_epi64
    - XXH_STATIC_ASSERT
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_initCustomSecret_avx512(void* XXH_RESTRICT customSecret, xxh_u64
      seed64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4684,1
    - Dst: _mm256_loadu_si256
      Src: /src/haproxy/include/import/xxhash.h:4696,1
    - Dst: _mm256_loadu_si256
      Src: /src/haproxy/include/import/xxhash.h:4698,1
    - Dst: _mm256_xor_si256
      Src: /src/haproxy/include/import/xxhash.h:4700,1
    - Dst: _mm256_srli_epi64
      Src: /src/haproxy/include/import/xxhash.h:4702,1
    - Dst: _mm256_mul_epu32
      Src: /src/haproxy/include/import/xxhash.h:4704,1
    - Dst: _mm256_shuffle_epi32
      Src: /src/haproxy/include/import/xxhash.h:4706,1
    - Dst: _MM_SHUFFLE
      Src: /src/haproxy/include/import/xxhash.h:4706,1
    - Dst: _mm256_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4707,1
    - Dst: _mm256_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4709,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4711
      start: 4679
    functionDepth: 0
    functionLinenumber: 4679
    functionLinenumberEnd: 4711
    functionName: XXH3_accumulate_512_avx2
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - _mm256_add_epi64
    - _mm256_shuffle_epi32
    - XXH_ASSERT
    - _mm256_loadu_si256
    - _mm256_srli_epi64
    - _mm256_xor_si256
    - _MM_SHUFFLE
    - _mm256_mul_epu32
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH3_accumulate_512_avx2( void* XXH_RESTRICT acc,\n                    const
      void* XXH_RESTRICT input,\n                    const void* XXH_RESTRICT secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4717,1
    - Dst: _mm256_set1_epi32
      Src: /src/haproxy/include/import/xxhash.h:4722,1
    - Dst: _mm256_srli_epi64
      Src: /src/haproxy/include/import/xxhash.h:4728,1
    - Dst: _mm256_xor_si256
      Src: /src/haproxy/include/import/xxhash.h:4729,1
    - Dst: _mm256_loadu_si256
      Src: /src/haproxy/include/import/xxhash.h:4731,1
    - Dst: _mm256_xor_si256
      Src: /src/haproxy/include/import/xxhash.h:4732,1
    - Dst: _mm256_srli_epi64
      Src: /src/haproxy/include/import/xxhash.h:4735,1
    - Dst: _mm256_mul_epu32
      Src: /src/haproxy/include/import/xxhash.h:4736,1
    - Dst: _mm256_mul_epu32
      Src: /src/haproxy/include/import/xxhash.h:4737,1
    - Dst: _mm256_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4738,1
    - Dst: _mm256_slli_epi64
      Src: /src/haproxy/include/import/xxhash.h:4738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4741
      start: 4714
    functionDepth: 0
    functionLinenumber: 4714
    functionLinenumberEnd: 4741
    functionName: XXH3_scrambleAcc_avx2
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - _mm256_add_epi64
    - _mm256_slli_epi64
    - _mm256_mul_epu32
    - _mm256_set1_epi32
    - XXH_ASSERT
    - _mm256_loadu_si256
    - _mm256_xor_si256
    - _mm256_srli_epi64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_scrambleAcc_avx2(void* XXH_RESTRICT acc, const void* XXH_RESTRICT
      secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4745,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4746,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4747,1
    - Dst: XXH_PREFETCH
      Src: /src/haproxy/include/import/xxhash.h:4749,1
    - Dst: _mm256_set_epi64x
      Src: /src/haproxy/include/import/xxhash.h:4750,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/haproxy/include/import/xxhash.h:4761,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4763,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4764,1
    - Dst: _mm256_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4767,1
    - Dst: _mm256_load_si256
      Src: /src/haproxy/include/import/xxhash.h:4767,1
    - Dst: _mm256_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4768,1
    - Dst: _mm256_load_si256
      Src: /src/haproxy/include/import/xxhash.h:4768,1
    - Dst: _mm256_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4769,1
    - Dst: _mm256_load_si256
      Src: /src/haproxy/include/import/xxhash.h:4769,1
    - Dst: _mm256_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4770,1
    - Dst: _mm256_load_si256
      Src: /src/haproxy/include/import/xxhash.h:4770,1
    - Dst: _mm256_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4771,1
    - Dst: _mm256_load_si256
      Src: /src/haproxy/include/import/xxhash.h:4771,1
    - Dst: _mm256_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4772,1
    - Dst: _mm256_load_si256
      Src: /src/haproxy/include/import/xxhash.h:4772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - XXH_RESTRICT customSecret
    - seed64
    argTypes:
    - void*
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4774
      start: 4743
    functionDepth: 0
    functionLinenumber: 4743
    functionLinenumberEnd: 4774
    functionName: XXH3_initCustomSecret_avx2
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - _mm256_load_si256
    - _mm256_add_epi64
    - _mm256_set_epi64x
    - XXH_COMPILER_GUARD
    - XXH_PREFETCH
    - XXH_STATIC_ASSERT
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_initCustomSecret_avx2(void* XXH_RESTRICT customSecret, xxh_u64
      seed64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4791,1
    - Dst: _mm_loadu_si128
      Src: /src/haproxy/include/import/xxhash.h:4803,1
    - Dst: _mm_loadu_si128
      Src: /src/haproxy/include/import/xxhash.h:4805,1
    - Dst: _mm_xor_si128
      Src: /src/haproxy/include/import/xxhash.h:4807,1
    - Dst: _mm_shuffle_epi32
      Src: /src/haproxy/include/import/xxhash.h:4809,1
    - Dst: _MM_SHUFFLE
      Src: /src/haproxy/include/import/xxhash.h:4809,1
    - Dst: _mm_mul_epu32
      Src: /src/haproxy/include/import/xxhash.h:4811,1
    - Dst: _mm_shuffle_epi32
      Src: /src/haproxy/include/import/xxhash.h:4813,1
    - Dst: _MM_SHUFFLE
      Src: /src/haproxy/include/import/xxhash.h:4813,1
    - Dst: _mm_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4814,1
    - Dst: _mm_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4818
      start: 4785
    functionDepth: 0
    functionLinenumber: 4785
    functionLinenumberEnd: 4818
    functionName: XXH3_accumulate_512_sse2
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - _mm_mul_epu32
    - _mm_add_epi64
    - _mm_shuffle_epi32
    - _mm_loadu_si128
    - _mm_xor_si128
    - _MM_SHUFFLE
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH3_accumulate_512_sse2( void* XXH_RESTRICT acc,\n                    const
      void* XXH_RESTRICT input,\n                    const void* XXH_RESTRICT secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4824,1
    - Dst: _mm_set1_epi32
      Src: /src/haproxy/include/import/xxhash.h:4829,1
    - Dst: _mm_srli_epi64
      Src: /src/haproxy/include/import/xxhash.h:4835,1
    - Dst: _mm_xor_si128
      Src: /src/haproxy/include/import/xxhash.h:4836,1
    - Dst: _mm_loadu_si128
      Src: /src/haproxy/include/import/xxhash.h:4838,1
    - Dst: _mm_xor_si128
      Src: /src/haproxy/include/import/xxhash.h:4839,1
    - Dst: _mm_shuffle_epi32
      Src: /src/haproxy/include/import/xxhash.h:4842,1
    - Dst: _MM_SHUFFLE
      Src: /src/haproxy/include/import/xxhash.h:4842,1
    - Dst: _mm_mul_epu32
      Src: /src/haproxy/include/import/xxhash.h:4843,1
    - Dst: _mm_mul_epu32
      Src: /src/haproxy/include/import/xxhash.h:4844,1
    - Dst: _mm_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4845,1
    - Dst: _mm_slli_epi64
      Src: /src/haproxy/include/import/xxhash.h:4845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4848
      start: 4821
    functionDepth: 0
    functionLinenumber: 4821
    functionLinenumberEnd: 4848
    functionName: XXH3_scrambleAcc_sse2
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - _mm_set1_epi32
    - _mm_srli_epi64
    - _mm_mul_epu32
    - _mm_add_epi64
    - _mm_shuffle_epi32
    - _mm_loadu_si128
    - _mm_slli_epi64
    - _mm_xor_si128
    - _MM_SHUFFLE
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_scrambleAcc_sse2(void* XXH_RESTRICT acc, const void* XXH_RESTRICT
      secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4852,1
    - Dst: XXH_ALIGN
      Src: /src/haproxy/include/import/xxhash.h:4858,1
    - Dst: _mm_load_si128
      Src: /src/haproxy/include/import/xxhash.h:4859,1
    - Dst: _mm_set_epi64x
      Src: /src/haproxy/include/import/xxhash.h:4861,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/haproxy/include/import/xxhash.h:4873,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4875,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4876,1
    - Dst: _mm_add_epi64
      Src: /src/haproxy/include/import/xxhash.h:4879,1
    - Dst: _mm_load_si128
      Src: /src/haproxy/include/import/xxhash.h:4879,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - XXH_RESTRICT customSecret
    - seed64
    argTypes:
    - void*
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 4881
      start: 4850
    functionDepth: 0
    functionLinenumber: 4850
    functionLinenumberEnd: 4881
    functionName: XXH3_initCustomSecret_sse2
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - _mm_load_si128
    - _mm_add_epi64
    - XXH_COMPILER_GUARD
    - XXH_ASSERT
    - XXH_STATIC_ASSERT
    - XXH_ALIGN
    - _mm_set_epi64x
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_initCustomSecret_sse2(void* XXH_RESTRICT customSecret, xxh_u64
      seed64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4925,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:4926,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/haproxy/include/import/xxhash.h:4952,1
    - Dst: XXH3_scalarRound
      Src: /src/haproxy/include/import/xxhash.h:4956,1
    - Dst: XXH_vld1q_u64
      Src: /src/haproxy/include/import/xxhash.h:4962,1
    - Dst: XXH_vld1q_u64
      Src: /src/haproxy/include/import/xxhash.h:4963,1
    - Dst: XXH_vld1q_u64
      Src: /src/haproxy/include/import/xxhash.h:4965,1
    - Dst: XXH_vld1q_u64
      Src: /src/haproxy/include/import/xxhash.h:4966,1
    - Dst: vextq_u64
      Src: /src/haproxy/include/import/xxhash.h:4968,1
    - Dst: vextq_u64
      Src: /src/haproxy/include/import/xxhash.h:4969,1
    - Dst: veorq_u64
      Src: /src/haproxy/include/import/xxhash.h:4971,1
    - Dst: veorq_u64
      Src: /src/haproxy/include/import/xxhash.h:4972,1
    - Dst: vuzpq_u32
      Src: /src/haproxy/include/import/xxhash.h:4987,1
    - Dst: vreinterpretq_u32_u64
      Src: /src/haproxy/include/import/xxhash.h:4988,1
    - Dst: vreinterpretq_u32_u64
      Src: /src/haproxy/include/import/xxhash.h:4989,1
    - Dst: XXH_vmlal_low_u32
      Src: /src/haproxy/include/import/xxhash.h:5002,1
    - Dst: XXH_vmlal_high_u32
      Src: /src/haproxy/include/import/xxhash.h:5003,1
    - Dst: XXH_COMPILER_GUARD_CLANG_NEON
      Src: /src/haproxy/include/import/xxhash.h:5016,1
    - Dst: XXH_COMPILER_GUARD_CLANG_NEON
      Src: /src/haproxy/include/import/xxhash.h:5017,1
    - Dst: vaddq_u64
      Src: /src/haproxy/include/import/xxhash.h:5019,1
    - Dst: vaddq_u64
      Src: /src/haproxy/include/import/xxhash.h:5020,1
    - Dst: XXH_vld1q_u64
      Src: /src/haproxy/include/import/xxhash.h:5025,1
    - Dst: XXH_vld1q_u64
      Src: /src/haproxy/include/import/xxhash.h:5027,1
    - Dst: vextq_u64
      Src: /src/haproxy/include/import/xxhash.h:5029,1
    - Dst: veorq_u64
      Src: /src/haproxy/include/import/xxhash.h:5031,1
    - Dst: vmovn_u64
      Src: /src/haproxy/include/import/xxhash.h:5034,1
    - Dst: vshrn_n_u64
      Src: /src/haproxy/include/import/xxhash.h:5036,1
    - Dst: vmlal_u32
      Src: /src/haproxy/include/import/xxhash.h:5038,1
    - Dst: XXH_COMPILER_GUARD_CLANG_NEON
      Src: /src/haproxy/include/import/xxhash.h:5040,1
    - Dst: vaddq_u64
      Src: /src/haproxy/include/import/xxhash.h:5042,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 5045
      start: 4920
    functionDepth: 1
    functionLinenumber: 4920
    functionLinenumberEnd: 5045
    functionName: XXH3_accumulate_512_neon
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - vaddq_u64
    - XXH_vld1q_u64
    - XXH_vmlal_low_u32
    - XXH_COMPILER_GUARD_CLANG_NEON
    - XXH_COMPILER_GUARD
    - XXH3_scalarRound
    - vmlal_u32
    - XXH_vmlal_high_u32
    - vuzpq_u32
    - veorq_u64
    - vreinterpretq_u32_u64
    - vmovn_u64
    - XXH_STATIC_ASSERT
    - XXH_ASSERT
    - vshrn_n_u64
    - vextq_u64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH3_accumulate_512_neon( void* XXH_RESTRICT acc,\n                    const
      void* XXH_RESTRICT input,\n                    const void* XXH_RESTRICT secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5051,1
    - Dst: vdup_n_u32
      Src: /src/haproxy/include/import/xxhash.h:5060,1
    - Dst: vreinterpretq_u32_u64
      Src: /src/haproxy/include/import/xxhash.h:5062,1
    - Dst: vdupq_n_u64
      Src: /src/haproxy/include/import/xxhash.h:5062,1
    - Dst: XXH3_scalarScrambleRound
      Src: /src/haproxy/include/import/xxhash.h:5067,1
    - Dst: vshrq_n_u64
      Src: /src/haproxy/include/import/xxhash.h:5072,1
    - Dst: veorq_u64
      Src: /src/haproxy/include/import/xxhash.h:5073,1
    - Dst: XXH_vld1q_u64
      Src: /src/haproxy/include/import/xxhash.h:5076,1
    - Dst: veorq_u64
      Src: /src/haproxy/include/import/xxhash.h:5077,1
    - Dst: vmulq_u32
      Src: /src/haproxy/include/import/xxhash.h:5094,1
    - Dst: vreinterpretq_u32_u64
      Src: /src/haproxy/include/import/xxhash.h:5094,1
    - Dst: vmovn_u64
      Src: /src/haproxy/include/import/xxhash.h:5096,1
    - Dst: vmlal_u32
      Src: /src/haproxy/include/import/xxhash.h:5098,1
    - Dst: vreinterpretq_u64_u32
      Src: /src/haproxy/include/import/xxhash.h:5098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 5102
      start: 5048
    functionDepth: 1
    functionLinenumber: 5048
    functionLinenumberEnd: 5102
    functionName: XXH3_scrambleAcc_neon
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - vreinterpretq_u64_u32
    - XXH_vld1q_u64
    - vmulq_u32
    - vmovn_u64
    - vshrq_n_u64
    - XXH3_scalarScrambleRound
    - vmlal_u32
    - vdupq_n_u64
    - vreinterpretq_u32_u64
    - veorq_u64
    - vdup_n_u32
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_scrambleAcc_neon(void* XXH_RESTRICT acc, const void* XXH_RESTRICT
      secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_vec_loadu
      Src: /src/haproxy/include/import/xxhash.h:5120,1
    - Dst: XXH_vec_loadu
      Src: /src/haproxy/include/import/xxhash.h:5122,1
    - Dst: vec_rl
      Src: /src/haproxy/include/import/xxhash.h:5125,1
    - Dst: XXH_vec_mulo
      Src: /src/haproxy/include/import/xxhash.h:5127,1
    - Dst: vec_permi
      Src: /src/haproxy/include/import/xxhash.h:5134,1
    - Dst: vec_xxpermdi
      Src: /src/haproxy/include/import/xxhash.h:5136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 5140
      start: 5107
    functionDepth: 2
    functionLinenumber: 5107
    functionLinenumberEnd: 5140
    functionName: XXH3_accumulate_512_vsx
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_vec_loadu
    - vec_permi
    - XXH_vec_mulo
    - vec_rl
    - vec_xxpermdi
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH3_accumulate_512_vsx(  void* XXH_RESTRICT acc,\n                    const
      void* XXH_RESTRICT input,\n                    const void* XXH_RESTRICT secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5146,1
    - Dst: XXH_vec_loadu
      Src: /src/haproxy/include/import/xxhash.h:5161,1
    - Dst: XXH_vec_mule
      Src: /src/haproxy/include/import/xxhash.h:5166,1
    - Dst: XXH_vec_mulo
      Src: /src/haproxy/include/import/xxhash.h:5168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 5171
      start: 5143
    functionDepth: 2
    functionLinenumber: 5143
    functionLinenumberEnd: 5171
    functionName: XXH3_scrambleAcc_vsx
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_vec_mule
    - XXH_vec_loadu
    - XXH_ASSERT
    - XXH_vec_mulo
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_scrambleAcc_vsx(void* XXH_RESTRICT acc, const void* XXH_RESTRICT
      secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sveor_n_u64_z
      Src: /src/haproxy/include/import/xxhash.h:5185,1
    - Dst: svptrue_b64
      Src: /src/haproxy/include/import/xxhash.h:5185,1
    - Dst: svindex_u64
      Src: /src/haproxy/include/import/xxhash.h:5185,1
    - Dst: svptrue_pat_b64
      Src: /src/haproxy/include/import/xxhash.h:5188,1
    - Dst: svld1_u64
      Src: /src/haproxy/include/import/xxhash.h:5189,1
    - Dst: ACCRND
      Src: /src/haproxy/include/import/xxhash.h:5190,1
    - Dst: svst1_u64
      Src: /src/haproxy/include/import/xxhash.h:5191,1
    - Dst: svptrue_pat_b64
      Src: /src/haproxy/include/import/xxhash.h:5193,1
    - Dst: svld1_u64
      Src: /src/haproxy/include/import/xxhash.h:5194,1
    - Dst: svld1_u64
      Src: /src/haproxy/include/import/xxhash.h:5195,1
    - Dst: svld1_u64
      Src: /src/haproxy/include/import/xxhash.h:5196,1
    - Dst: svld1_u64
      Src: /src/haproxy/include/import/xxhash.h:5197,1
    - Dst: ACCRND
      Src: /src/haproxy/include/import/xxhash.h:5198,1
    - Dst: ACCRND
      Src: /src/haproxy/include/import/xxhash.h:5199,1
    - Dst: ACCRND
      Src: /src/haproxy/include/import/xxhash.h:5200,1
    - Dst: ACCRND
      Src: /src/haproxy/include/import/xxhash.h:5201,1
    - Dst: svst1_u64
      Src: /src/haproxy/include/import/xxhash.h:5202,1
    - Dst: svst1_u64
      Src: /src/haproxy/include/import/xxhash.h:5203,1
    - Dst: svst1_u64
      Src: /src/haproxy/include/import/xxhash.h:5204,1
    - Dst: svst1_u64
      Src: /src/haproxy/include/import/xxhash.h:5205,1
    - Dst: svptrue_pat_b64
      Src: /src/haproxy/include/import/xxhash.h:5207,1
    - Dst: svld1_u64
      Src: /src/haproxy/include/import/xxhash.h:5208,1
    - Dst: svld1_u64
      Src: /src/haproxy/include/import/xxhash.h:5209,1
    - Dst: ACCRND
      Src: /src/haproxy/include/import/xxhash.h:5210,1
    - Dst: ACCRND
      Src: /src/haproxy/include/import/xxhash.h:5211,1
    - Dst: svst1_u64
      Src: /src/haproxy/include/import/xxhash.h:5212,1
    - Dst: svst1_u64
      Src: /src/haproxy/include/import/xxhash.h:5213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 5215
      start: 5177
    functionDepth: 0
    functionLinenumber: 5177
    functionLinenumberEnd: 5215
    functionName: XXH3_accumulate_512_sve
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - svptrue_b64
    - svst1_u64
    - sveor_n_u64_z
    - svindex_u64
    - ACCRND
    - svptrue_pat_b64
    - svld1_u64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH3_accumulate_512_sve( void* XXH_RESTRICT acc,\n                   const
      void* XXH_RESTRICT input,\n                   const void* XXH_RESTRICT secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - lhs
    - rhs
    - acc
    argTypes:
    - xxh_u64
    - xxh_u64
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 5308
      start: 5301
    functionDepth: 0
    functionLinenumber: 5301
    functionLinenumberEnd: 5308
    functionName: XXH_mult32to64_add64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_mult32to64_add64(xxh_u64 lhs, xxh_u64 rhs, xxh_u64 acc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_mult32to64
      Src: /src/haproxy/include/import/xxhash.h:5313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - lhs
    - rhs
    - acc
    argTypes:
    - xxh_u64
    - xxh_u64
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 5314
      start: 5310
    functionDepth: 1
    functionLinenumber: 5310
    functionLinenumberEnd: 5314
    functionName: XXH_mult32to64_add64
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_mult32to64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH_mult32to64_add64(xxh_u64 lhs, xxh_u64 rhs, xxh_u64 acc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5333,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5334,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:5336,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:5337,1
    - Dst: XXH_mult32to64_add64
      Src: /src/haproxy/include/import/xxhash.h:5339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    - lane
    argTypes:
    - void*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5341
      start: 5324
    functionDepth: 1
    functionLinenumber: 5324
    functionLinenumberEnd: 5341
    functionName: XXH3_scalarRound
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 1
    functionsReached:
    - XXH_mult32to64_add64
    - XXH_ASSERT
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH3_scalarRound(void* XXH_RESTRICT acc,\n                 void const*
      XXH_RESTRICT input,\n                 void const* XXH_RESTRICT secret,\n                 size_t
      lane)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_scalarRound
      Src: /src/haproxy/include/import/xxhash.h:5361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 5363
      start: 5347
    functionDepth: 2
    functionLinenumber: 5347
    functionLinenumberEnd: 5363
    functionName: XXH3_accumulate_512_scalar
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_scalarRound
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH3_accumulate_512_scalar(void* XXH_RESTRICT acc,\n                     const
      void* XXH_RESTRICT input,\n                     const void* XXH_RESTRICT secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5380,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5381,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:5383,1
    - Dst: XXH_xorshift64
      Src: /src/haproxy/include/import/xxhash.h:5385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - lane
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5390
      start: 5373
    functionDepth: 1
    functionLinenumber: 5373
    functionLinenumberEnd: 5390
    functionName: XXH3_scalarScrambleRound
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 1
    functionsReached:
    - XXH_ASSERT
    - XXH_xorshift64
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH3_scalarScrambleRound(void* XXH_RESTRICT acc,\n                         void
      const* XXH_RESTRICT secret,\n                         size_t lane)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_scalarScrambleRound
      Src: /src/haproxy/include/import/xxhash.h:5401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 5403
      start: 5396
    functionDepth: 2
    functionLinenumber: 5396
    functionLinenumberEnd: 5403
    functionName: XXH3_scrambleAcc_scalar
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_scalarScrambleRound
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_scrambleAcc_scalar(void* XXH_RESTRICT acc, const void* XXH_RESTRICT
      secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5414,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/haproxy/include/import/xxhash.h:5449,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:5460,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:5461,1
    - Dst: XXH_writeLE64
      Src: /src/haproxy/include/import/xxhash.h:5462,1
    - Dst: XXH_writeLE64
      Src: /src/haproxy/include/import/xxhash.h:5463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - XXH_RESTRICT customSecret
    - seed64
    argTypes:
    - void*
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 5465
      start: 5405
    functionDepth: 2
    functionLinenumber: 5405
    functionLinenumberEnd: 5465
    functionName: XXH3_initCustomSecret_scalar
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_writeLE64
    - XXH_STATIC_ASSERT
    - XXH_readLE64
    - XXH_COMPILER_GUARD
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_initCustomSecret_scalar(void* XXH_RESTRICT customSecret, xxh_u64
      seed64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_mul128_fold64
      Src: /src/haproxy/include/import/xxhash.h:5564,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:5565,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:5566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    argTypes:
    - xxh_u64*
    - xxh_u8*
    constantsTouched: []
    func_position:
      end: 5567
      start: 5561
    functionDepth: 3
    functionLinenumber: 5561
    functionLinenumberEnd: 5567
    functionName: XXH3_mix2Accs
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mul128_fold64
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_mix2Accs(const xxh_u64* XXH_RESTRICT acc, const xxh_u8* XXH_RESTRICT
      secret)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_mix2Accs
      Src: /src/haproxy/include/import/xxhash.h:5576,1
    - Dst: XXH_COMPILER_GUARD
      Src: /src/haproxy/include/import/xxhash.h:5589,1
    - Dst: XXH3_avalanche
      Src: /src/haproxy/include/import/xxhash.h:5593,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT
    - start
    argTypes:
    - xxh_u64*
    - xxh_u8*
    - xxh_u64
    constantsTouched: []
    func_position:
      end: 5594
      start: 5569
    functionDepth: 4
    functionLinenumber: 5569
    functionLinenumberEnd: 5594
    functionName: XXH3_mergeAccs
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_avalanche
    - XXH3_mix2Accs
    - XXH_COMPILER_GUARD
    linkageType: ''
    returnType: XXH64_hash_t
    signature: XXH3_mergeAccs(const xxh_u64* XXH_RESTRICT acc, const xxh_u8* XXH_RESTRICT
      secret, xxh_u64 start)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/haproxy/include/import/xxhash.h:5605,1
    - Dst: XXH3_hashLong_internal_loop
      Src: /src/haproxy/include/import/xxhash.h:5607,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5610,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5613,1
    - Dst: XXH3_mergeAccs
      Src: /src/haproxy/include/import/xxhash.h:5614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - f_acc
    - f_scramble
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - XXH3_f_accumulate
    - XXH3_f_scrambleAcc
    constantsTouched: []
    func_position:
      end: 5615
      start: 5599
    functionDepth: 5
    functionLinenumber: 5599
    functionLinenumberEnd: 5615
    functionName: XXH64_hash_t::XXH3_hashLong_64b_internal
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mergeAccs
    - XXH3_hashLong_internal_loop
    - XXH_STATIC_ASSERT
    - XXH_ALIGN
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH64_hash_t\nXXH3_hashLong_64b_internal(const void* XXH_RESTRICT
      input, size_t len,\n                           const void* XXH_RESTRICT secret,
      size_t secretSize,\n                           XXH3_f_accumulate f_acc,\n                           XXH3_f_scrambleAcc
      f_scramble)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_internal
      Src: /src/haproxy/include/import/xxhash.h:5629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - xxh_u8*
    - size_t
    constantsTouched: []
    func_position:
      end: 5630
      start: 5624
    functionDepth: 6
    functionLinenumber: 5624
    functionLinenumberEnd: 5630
    functionName: XXH64_hash_t::XXH3_hashLong_64b_withSecret
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_hashLong_64b_internal
    linkageType: ''
    returnType: XXH3_WITH_SECRET_INLINE
    signature: "XXH64_hash_t\nXXH3_hashLong_64b_withSecret(const void* XXH_RESTRICT
      input, size_t len,\n                             XXH64_hash_t seed64, const
      xxh_u8* XXH_RESTRICT secret, size_t secretLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_hashLong_64b_internal
      Src: /src/haproxy/include/import/xxhash.h:5643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - xxh_u8*
    - size_t
    constantsTouched: []
    func_position:
      end: 5644
      start: 5638
    functionDepth: 0
    functionLinenumber: 5638
    functionLinenumberEnd: 5644
    functionName: XXH3_hashLong_64b_default
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_hashLong_64b_internal
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH3_hashLong_64b_default(const void* XXH_RESTRICT input, size_t len,\n
      \                         XXH64_hash_t seed64, const xxh_u8* XXH_RESTRICT secret,
      size_t secretLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_internal
      Src: /src/haproxy/include/import/xxhash.h:5666,1
    - Dst: XXH_ALIGN
      Src: /src/haproxy/include/import/xxhash.h:5670,1
    - Dst: f_initSec
      Src: /src/haproxy/include/import/xxhash.h:5671,1
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_internal
      Src: /src/haproxy/include/import/xxhash.h:5672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - input
    - len
    - seed
    - f_acc
    - f_scramble
    - f_initSec
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - XXH3_f_accumulate
    - XXH3_f_scrambleAcc
    - XXH3_f_initCustomSecret
    constantsTouched: []
    func_position:
      end: 5675
      start: 5657
    functionDepth: 6
    functionLinenumber: 5657
    functionLinenumberEnd: 5675
    functionName: XXH64_hash_t::XXH3_hashLong_64b_withSeed_internal
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ALIGN
    - f_initSec
    - XXH64_hash_t::XXH3_hashLong_64b_internal
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH64_hash_t\nXXH3_hashLong_64b_withSeed_internal(const void* input,
      size_t len,\n                                    XXH64_hash_t seed,\n                                    XXH3_f_accumulate
      f_acc,\n                                    XXH3_f_scrambleAcc f_scramble,\n
      \                                   XXH3_f_initCustomSecret f_initSec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_withSeed_internal
      Src: /src/haproxy/include/import/xxhash.h:5685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - xxh_u8*
    - size_t
    constantsTouched: []
    func_position:
      end: 5687
      start: 5680
    functionDepth: 7
    functionLinenumber: 5680
    functionLinenumberEnd: 5687
    functionName: XXH64_hash_t::XXH3_hashLong_64b_withSeed
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_hashLong_64b_withSeed_internal
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH64_hash_t\nXXH3_hashLong_64b_withSeed(const void* XXH_RESTRICT
      input, size_t len,\n                           XXH64_hash_t seed, const xxh_u8*
      XXH_RESTRICT secret, size_t secretLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5698,1
    - Dst: XXH3_len_0to16_64b
      Src: /src/haproxy/include/import/xxhash.h:5707,1
    - Dst: XXH3_len_17to128_64b
      Src: /src/haproxy/include/import/xxhash.h:5709,1
    - Dst: XXH3_len_129to240_64b
      Src: /src/haproxy/include/import/xxhash.h:5711,1
    - Dst: f_hashLong
      Src: /src/haproxy/include/import/xxhash.h:5712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    - f_hashLong
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    - XXH3_hashLong64_f
    constantsTouched: []
    func_position:
      end: 5713
      start: 5693
    functionDepth: 5
    functionLinenumber: 5693
    functionLinenumberEnd: 5713
    functionName: XXH64_hash_t::XXH3_64bits_internal
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_len_0to16_64b
    - XXH3_len_17to128_64b
    - f_hashLong
    - XXH3_len_129to240_64b
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH64_hash_t\nXXH3_64bits_internal(const void* XXH_RESTRICT input,
      size_t len,\n                     XXH64_hash_t seed64, const void* XXH_RESTRICT
      secret, size_t secretLen,\n                     XXH3_hashLong64_f f_hashLong)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_64bits_internal
      Src: /src/haproxy/include/import/xxhash.h:5721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - length
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    constantsTouched: []
    func_position:
      end: 5722
      start: 5719
    functionDepth: 6
    functionLinenumber: 5719
    functionLinenumberEnd: 5722
    functionName: XXH64_hash_t::XXH3_64bits
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_64bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH64_hash_t XXH3_64bits(XXH_NOESCAPE const void* input, size_t length)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_64bits_internal
      Src: /src/haproxy/include/import/xxhash.h:5728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - length
    - secret
    - secretSize
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH_NOESCAPE*
    - size_t
    constantsTouched: []
    func_position:
      end: 5729
      start: 5725
    functionDepth: 6
    functionLinenumber: 5725
    functionLinenumberEnd: 5729
    functionName: XXH64_hash_t::XXH3_64bits_withSecret
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_64bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH64_hash_t

      XXH3_64bits_withSecret(XXH_NOESCAPE const void* input, size_t length, XXH_NOESCAPE
      const void* secret, size_t secretSize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_64bits_internal
      Src: /src/haproxy/include/import/xxhash.h:5735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - length
    - seed
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5736
      start: 5732
    functionDepth: 6
    functionLinenumber: 5732
    functionLinenumberEnd: 5736
    functionName: XXH64_hash_t::XXH3_64bits_withSeed
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_64bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH64_hash_t

      XXH3_64bits_withSeed(XXH_NOESCAPE const void* input, size_t length, XXH64_hash_t
      seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_hash_t::XXH3_64bits_internal
      Src: /src/haproxy/include/import/xxhash.h:5742,1
    - Dst: XXH64_hash_t::XXH3_hashLong_64b_withSecret
      Src: /src/haproxy/include/import/xxhash.h:5743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - input
    - length
    - secret
    - secretSize
    - seed
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5744
      start: 5738
    functionDepth: 7
    functionLinenumber: 5738
    functionLinenumberEnd: 5744
    functionName: XXH64_hash_t::XXH3_64bits_withSecretandSeed
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_hash_t::XXH3_hashLong_64b_withSecret
    - XXH64_hash_t::XXH3_64bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH64_hash_t

      XXH3_64bits_withSecretandSeed(XXH_NOESCAPE const void* input, size_t length,
      XXH_NOESCAPE const void* secret, size_t secretSize, XXH64_hash_t seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5774,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5775,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5776,1
    - Dst: XXH_malloc
      Src: /src/haproxy/include/import/xxhash.h:5778,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - s
    - align
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 5798
      start: 5772
    functionDepth: 1
    functionLinenumber: 5772
    functionLinenumberEnd: 5798
    functionName: XXH_alignedMalloc
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_malloc
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_MALLOCF
    signature: '* XXH_alignedMalloc(size_t s, size_t align)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_free
      Src: /src/haproxy/include/import/xxhash.h:5811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5813
      start: 5803
    functionDepth: 1
    functionLinenumber: 5803
    functionLinenumberEnd: 5813
    functionName: XXH_alignedFree
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_free
    linkageType: ''
    returnType: void
    signature: XXH_alignedFree(void* p)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_alignedMalloc
      Src: /src/haproxy/include/import/xxhash.h:5823,1
    - Dst: XXH3_INITSTATE
      Src: /src/haproxy/include/import/xxhash.h:5825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5827
      start: 5821
    functionDepth: 2
    functionLinenumber: 5821
    functionLinenumberEnd: 5827
    functionName: XXH3_state_t* XXH3_createState(void)
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_INITSTATE
    - XXH_alignedMalloc
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH3_state_t* XXH3_createState(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_alignedFree
      Src: /src/haproxy/include/import/xxhash.h:5839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - statePtr
    argTypes:
    - XXH3_state_t*
    constantsTouched: []
    func_position:
      end: 5841
      start: 5837
    functionDepth: 2
    functionLinenumber: 5837
    functionLinenumberEnd: 5841
    functionName: XXH_errorcode::XXH3_freeState
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_alignedFree
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_errorcode XXH3_freeState(XXH3_state_t* statePtr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:5847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - XXH3_state_t* dst_state
    - XXH3_state_t* src_state
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE
    constantsTouched: []
    func_position:
      end: 5848
      start: 5844
    functionDepth: 1
    functionLinenumber: 5844
    functionLinenumberEnd: 5848
    functionName: XXH3_copyState
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH3_copyState(XXH_NOESCAPE XXH3_state_t* dst_state, XXH_NOESCAPE const
      XXH3_state_t* src_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5857,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5858,1
    - Dst: memset
      Src: /src/haproxy/include/import/xxhash.h:5860,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:5872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 4
    argNames:
    - statePtr
    - seed
    - secret
    - secretSize
    argTypes:
    - XXH3_state_t*
    - XXH64_hash_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 5875
      start: 5850
    functionDepth: 0
    functionLinenumber: 5850
    functionLinenumberEnd: 5875
    functionName: XXH3_reset_internal
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - memset
    - XXH_ASSERT
    linkageType: ''
    returnType: void
    signature: "XXH3_reset_internal(XXH3_state_t* statePtr,\n                    XXH64_hash_t
      seed,\n                    const void* secret, size_t secretSize)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_reset_internal
      Src: /src/haproxy/include/import/xxhash.h:5882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - XXH3_state_t* statePtr
    argTypes:
    - XXH_NOESCAPE
    constantsTouched: []
    func_position:
      end: 5884
      start: 5878
    functionDepth: 1
    functionLinenumber: 5878
    functionLinenumberEnd: 5884
    functionName: XXH_errorcode::XXH3_64bits_reset
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_reset_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_errorcode

      XXH3_64bits_reset(XXH_NOESCAPE XXH3_state_t* statePtr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_reset_internal
      Src: /src/haproxy/include/import/xxhash.h:5891,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - XXH3_state_t* statePtr
    - secret
    - secretSize
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE*
    - size_t
    constantsTouched: []
    func_position:
      end: 5895
      start: 5887
    functionDepth: 1
    functionLinenumber: 5887
    functionLinenumberEnd: 5895
    functionName: XXH_errorcode::XXH3_64bits_reset_withSecret
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_reset_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_errorcode

      XXH3_64bits_reset_withSecret(XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE
      const void* secret, size_t secretSize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset
      Src: /src/haproxy/include/import/xxhash.h:5902,1
    - Dst: XXH3_initCustomSecret
      Src: /src/haproxy/include/import/xxhash.h:5904,1
    - Dst: XXH3_reset_internal
      Src: /src/haproxy/include/import/xxhash.h:5905,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - XXH3_state_t* statePtr
    - seed
    argTypes:
    - XXH_NOESCAPE
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5907
      start: 5898
    functionDepth: 2
    functionLinenumber: 5898
    functionLinenumberEnd: 5907
    functionName: XXH_errorcode::XXH3_64bits_reset_withSeed
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_reset_internal
    - XXH_errorcode::XXH3_64bits_reset
    - XXH3_initCustomSecret
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_errorcode

      XXH3_64bits_reset_withSeed(XXH_NOESCAPE XXH3_state_t* statePtr, XXH64_hash_t
      seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_reset_internal
      Src: /src/haproxy/include/import/xxhash.h:5916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - XXH3_state_t* statePtr
    - secret
    - secretSize
    - seed64
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 5919
      start: 5910
    functionDepth: 1
    functionLinenumber: 5910
    functionLinenumberEnd: 5919
    functionName: XXH_errorcode::XXH3_64bits_reset_withSecretandSeed
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_reset_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_errorcode

      XXH3_64bits_reset_withSecretandSeed(XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE
      const void* secret, size_t secretSize, XXH64_hash_t seed64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: f_acc
      Src: /src/haproxy/include/import/xxhash.h:5954,1
    - Dst: f_scramble
      Src: /src/haproxy/include/import/xxhash.h:5955,1
    - Dst: f_acc
      Src: /src/haproxy/include/import/xxhash.h:5966,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 9
    argNames:
    - XXH_RESTRICT
    - XXH_RESTRICT nbStripesSoFarPtr
    - nbStripesPerBlock
    - XXH_RESTRICT
    - nbStripes
    - XXH_RESTRICT
    - secretLimit
    - f_acc
    - f_scramble
    argTypes:
    - xxh_u64*
    - size_t*
    - size_t
    - xxh_u8*
    - size_t
    - xxh_u8*
    - size_t
    - XXH3_f_accumulate
    - XXH3_f_scrambleAcc
    constantsTouched: []
    func_position:
      end: 5972
      start: 5938
    functionDepth: 0
    functionLinenumber: 5938
    functionLinenumberEnd: 5972
    functionName: XXH3_consumeStripes
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - f_scramble
    - f_acc
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "*\nXXH3_consumeStripes(xxh_u64* XXH_RESTRICT acc,\n                    size_t*
      XXH_RESTRICT nbStripesSoFarPtr, size_t nbStripesPerBlock,\n                    const
      xxh_u8* XXH_RESTRICT input, size_t nbStripes,\n                    const xxh_u8*
      XXH_RESTRICT secret, size_t secretLimit,\n                    XXH3_f_accumulate
      f_acc,\n                    XXH3_f_scrambleAcc f_scramble)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_update
      Src: /src/haproxy/include/import/xxhash.h:6065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - XXH3_state_t* state
    - input
    - len
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE*
    - size_t
    constantsTouched: []
    func_position:
      end: 6067
      start: 6062
    functionDepth: 0
    functionLinenumber: 6062
    functionLinenumberEnd: 6067
    functionName: XXH_errorcode::XXH3_64bits_update
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_update
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_errorcode

      XXH3_64bits_update(XXH_NOESCAPE XXH3_state_t* state, XXH_NOESCAPE const void*
      input, size_t len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:6082,1
    - Dst: XXH3_consumeStripes
      Src: /src/haproxy/include/import/xxhash.h:6087,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6096,1
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:6097,1
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:6098,1
    - Dst: XXH3_accumulate_512
      Src: /src/haproxy/include/import/xxhash.h:6102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - acc
    - state
    - secret
    argTypes:
    - XXH64_hash_t*
    - XXH3_state_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 6105
      start: 6070
    functionDepth: 1
    functionLinenumber: 6070
    functionLinenumberEnd: 6105
    functionName: XXH3_digest_long
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    - XXH3_consumeStripes
    - XXH3_accumulate_512
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH3_digest_long (XXH64_hash_t* acc,\n                  const XXH3_state_t*
      state,\n                  const unsigned char* secret)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/haproxy/include/import/xxhash.h:6112,1
    - Dst: XXH3_digest_long
      Src: /src/haproxy/include/import/xxhash.h:6113,1
    - Dst: XXH3_mergeAccs
      Src: /src/haproxy/include/import/xxhash.h:6114,1
    - Dst: XXH64_hash_t::XXH3_64bits_withSeed
      Src: /src/haproxy/include/import/xxhash.h:6120,1
    - Dst: XXH64_hash_t::XXH3_64bits_withSecret
      Src: /src/haproxy/include/import/xxhash.h:6121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - XXH3_state_t* state
    argTypes:
    - XXH_NOESCAPE
    constantsTouched: []
    func_position:
      end: 6123
      start: 6108
    functionDepth: 7
    functionLinenumber: 6108
    functionLinenumberEnd: 6123
    functionName: XXH64_hash_t::XXH3_64bits_digest
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mergeAccs
    - XXH64_hash_t::XXH3_64bits_withSecret
    - XXH64_hash_t::XXH3_64bits_withSeed
    - XXH3_digest_long
    - XXH_ALIGN
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH64_hash_t XXH3_64bits_digest (XXH_NOESCAPE const XXH3_state_t* state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6148,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6149,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6150,1
    - Dst: XXH_rotl32
      Src: /src/haproxy/include/import/xxhash.h:6161,1
    - Dst: XXH_swap32
      Src: /src/haproxy/include/import/xxhash.h:6161,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:6162,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:6162,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:6163,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:6163,1
    - Dst: XXH64_avalanche
      Src: /src/haproxy/include/import/xxhash.h:6167,1
    - Dst: XXH64_avalanche
      Src: /src/haproxy/include/import/xxhash.h:6168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 6171
      start: 6144
    functionDepth: 1
    functionLinenumber: 6144
    functionLinenumberEnd: 6171
    functionName: XXH3_len_1to3_128b
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH64_avalanche
    - XXH_readLE32
    - XXH_rotl32
    - XXH_swap32
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_len_1to3_128b(const xxh_u8* input, size_t len, const xxh_u8* secret,
      XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6176,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6177,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6178,1
    - Dst: XXH_swap32
      Src: /src/haproxy/include/import/xxhash.h:6179,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:6180,1
    - Dst: XXH_readLE32
      Src: /src/haproxy/include/import/xxhash.h:6181,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6183,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6183,1
    - Dst: XXH_mult64to128
      Src: /src/haproxy/include/import/xxhash.h:6187,1
    - Dst: XXH_xorshift64
      Src: /src/haproxy/include/import/xxhash.h:6192,1
    - Dst: XXH_xorshift64
      Src: /src/haproxy/include/import/xxhash.h:6194,1
    - Dst: XXH3_avalanche
      Src: /src/haproxy/include/import/xxhash.h:6195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 6198
      start: 6173
    functionDepth: 2
    functionLinenumber: 6173
    functionLinenumberEnd: 6198
    functionName: XXH3_len_4to8_128b
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_avalanche
    - XXH_mult64to128
    - XXH_readLE64
    - XXH_readLE32
    - XXH_xorshift64
    - XXH_swap32
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_len_4to8_128b(const xxh_u8* input, size_t len, const xxh_u8* secret,
      XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6203,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6204,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6205,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6206,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6206,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6207,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6207,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6208,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6209,1
    - Dst: XXH_mult64to128
      Src: /src/haproxy/include/import/xxhash.h:6210,1
    - Dst: XXH_mult32to64
      Src: /src/haproxy/include/import/xxhash.h:6231,1
    - Dst: XXH_mult32to64
      Src: /src/haproxy/include/import/xxhash.h:6257,1
    - Dst: XXH_swap64
      Src: /src/haproxy/include/import/xxhash.h:6260,1
    - Dst: XXH_mult64to128
      Src: /src/haproxy/include/import/xxhash.h:6263,1
    - Dst: XXH3_avalanche
      Src: /src/haproxy/include/import/xxhash.h:6266,1
    - Dst: XXH3_avalanche
      Src: /src/haproxy/include/import/xxhash.h:6267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 6270
      start: 6200
    functionDepth: 2
    functionLinenumber: 6200
    functionLinenumberEnd: 6270
    functionName: XXH3_len_9to16_128b
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_avalanche
    - XXH_mult64to128
    - XXH_readLE64
    - XXH_swap64
    - XXH_mult32to64
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_len_9to16_128b(const xxh_u8* input, size_t len, const xxh_u8*
      secret, XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6278,1
    - Dst: XXH3_len_9to16_128b
      Src: /src/haproxy/include/import/xxhash.h:6279,1
    - Dst: XXH3_len_4to8_128b
      Src: /src/haproxy/include/import/xxhash.h:6280,1
    - Dst: XXH3_len_1to3_128b
      Src: /src/haproxy/include/import/xxhash.h:6281,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6283,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6283,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6284,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6284,1
    - Dst: XXH64_avalanche
      Src: /src/haproxy/include/import/xxhash.h:6285,1
    - Dst: XXH64_avalanche
      Src: /src/haproxy/include/import/xxhash.h:6286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 6289
      start: 6275
    functionDepth: 3
    functionLinenumber: 6275
    functionLinenumberEnd: 6289
    functionName: XXH3_len_0to16_128b
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_len_4to8_128b
    - XXH_readLE64
    - XXH64_avalanche
    - XXH3_len_1to3_128b
    - XXH3_len_9to16_128b
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_len_0to16_128b(const xxh_u8* input, size_t len, const xxh_u8*
      secret, XXH64_hash_t seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:6298,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6299,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6299,1
    - Dst: XXH3_mix16B
      Src: /src/haproxy/include/import/xxhash.h:6300,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6301,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - acc
    - input_1
    - input_2
    - secret
    - seed
    argTypes:
    - XXH128_hash_t
    - xxh_u8*
    - xxh_u8*
    - xxh_u8*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 6303
      start: 6294
    functionDepth: 4
    functionLinenumber: 6294
    functionLinenumberEnd: 6303
    functionName: XXH128_hash_t::XXH128_mix32B
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mix16B
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH128_hash_t\nXXH128_mix32B(XXH128_hash_t acc, const xxh_u8* input_1,
      const xxh_u8* input_2,\n              const xxh_u8* secret, XXH64_hash_t seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6311,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6312,1
    - Dst: XXH128_mix32B
      Src: /src/haproxy/include/import/xxhash.h:6323,1
    - Dst: XXH128_mix32B
      Src: /src/haproxy/include/import/xxhash.h:6330,1
    - Dst: XXH128_mix32B
      Src: /src/haproxy/include/import/xxhash.h:6332,1
    - Dst: XXH128_mix32B
      Src: /src/haproxy/include/import/xxhash.h:6334,1
    - Dst: XXH128_mix32B
      Src: /src/haproxy/include/import/xxhash.h:6336,1
    - Dst: XXH3_avalanche
      Src: /src/haproxy/include/import/xxhash.h:6343,1
    - Dst: XXH3_avalanche
      Src: /src/haproxy/include/import/xxhash.h:6344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 6348
      start: 6306
    functionDepth: 2
    functionLinenumber: 6306
    functionLinenumberEnd: 6348
    functionName: XXH3_len_17to128_128b
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_avalanche
    - XXH128_mix32B
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH3_len_17to128_128b(const xxh_u8* XXH_RESTRICT input, size_t len,\n
      \                     const xxh_u8* XXH_RESTRICT secret, size_t secretSize,\n
      \                     XXH64_hash_t seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6355,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6356,1
    - Dst: XXH128_mix32B
      Src: /src/haproxy/include/import/xxhash.h:6369,1
    - Dst: XXH3_avalanche
      Src: /src/haproxy/include/import/xxhash.h:6375,1
    - Dst: XXH3_avalanche
      Src: /src/haproxy/include/import/xxhash.h:6376,1
    - Dst: XXH128_mix32B
      Src: /src/haproxy/include/import/xxhash.h:6383,1
    - Dst: XXH128_mix32B
      Src: /src/haproxy/include/import/xxhash.h:6390,1
    - Dst: XXH3_avalanche
      Src: /src/haproxy/include/import/xxhash.h:6401,1
    - Dst: XXH3_avalanche
      Src: /src/haproxy/include/import/xxhash.h:6402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - seed
    argTypes:
    - xxh_u8*
    - size_t
    - xxh_u8*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 6406
      start: 6350
    functionDepth: 2
    functionLinenumber: 6350
    functionLinenumberEnd: 6406
    functionName: XXH3_len_129to240_128b
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_avalanche
    - XXH128_mix32B
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH3_len_129to240_128b(const xxh_u8* XXH_RESTRICT input, size_t len,\n
      \                      const xxh_u8* XXH_RESTRICT secret, size_t secretSize,\n
      \                      XXH64_hash_t seed)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/haproxy/include/import/xxhash.h:6414,1
    - Dst: XXH3_hashLong_internal_loop
      Src: /src/haproxy/include/import/xxhash.h:6416,1
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6419,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6420,1
    - Dst: XXH3_mergeAccs
      Src: /src/haproxy/include/import/xxhash.h:6422,1
    - Dst: XXH3_mergeAccs
      Src: /src/haproxy/include/import/xxhash.h:6425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - XXH_RESTRICT
    - len
    - XXH_RESTRICT
    - secretSize
    - f_acc
    - f_scramble
    argTypes:
    - void*
    - size_t
    - xxh_u8*
    - size_t
    - XXH3_f_accumulate
    - XXH3_f_scrambleAcc
    constantsTouched: []
    func_position:
      end: 6431
      start: 6408
    functionDepth: 5
    functionLinenumber: 6408
    functionLinenumberEnd: 6431
    functionName: XXH128_hash_t::XXH3_hashLong_128b_internal
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mergeAccs
    - XXH3_hashLong_internal_loop
    - XXH_STATIC_ASSERT
    - XXH_ALIGN
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH128_hash_t\nXXH3_hashLong_128b_internal(const void* XXH_RESTRICT
      input, size_t len,\n                            const xxh_u8* XXH_RESTRICT secret,
      size_t secretSize,\n                            XXH3_f_accumulate f_acc,\n                            XXH3_f_scrambleAcc
      f_scramble)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3_hashLong_128b_internal
      Src: /src/haproxy/include/import/xxhash.h:6442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 6444
      start: 6436
    functionDepth: 0
    functionLinenumber: 6436
    functionLinenumberEnd: 6444
    functionName: XXH3_hashLong_128b_default
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_hashLong_128b_internal
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH3_hashLong_128b_default(const void* XXH_RESTRICT input, size_t
      len,\n                           XXH64_hash_t seed64,\n                           const
      void* XXH_RESTRICT secret, size_t secretLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_internal
      Src: /src/haproxy/include/import/xxhash.h:6459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 6461
      start: 6453
    functionDepth: 6
    functionLinenumber: 6453
    functionLinenumberEnd: 6461
    functionName: XXH128_hash_t::XXH3_hashLong_128b_withSecret
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_hashLong_128b_internal
    linkageType: ''
    returnType: XXH3_WITH_SECRET_INLINE
    signature: "XXH128_hash_t\nXXH3_hashLong_128b_withSecret(const void* XXH_RESTRICT
      input, size_t len,\n                              XXH64_hash_t seed64,\n                              const
      void* XXH_RESTRICT secret, size_t secretLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_internal
      Src: /src/haproxy/include/import/xxhash.h:6471,1
    - Dst: XXH_ALIGN
      Src: /src/haproxy/include/import/xxhash.h:6474,1
    - Dst: f_initSec
      Src: /src/haproxy/include/import/xxhash.h:6475,1
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_internal
      Src: /src/haproxy/include/import/xxhash.h:6476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - XXH_RESTRICT
    - len
    - seed64
    - f_acc
    - f_scramble
    - f_initSec
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - XXH3_f_accumulate
    - XXH3_f_scrambleAcc
    - XXH3_f_initCustomSecret
    constantsTouched: []
    func_position:
      end: 6479
      start: 6463
    functionDepth: 6
    functionLinenumber: 6463
    functionLinenumberEnd: 6479
    functionName: XXH128_hash_t::XXH3_hashLong_128b_withSeed_internal
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - f_initSec
    - XXH_ALIGN
    - XXH128_hash_t::XXH3_hashLong_128b_internal
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH128_hash_t\nXXH3_hashLong_128b_withSeed_internal(const void* XXH_RESTRICT
      input, size_t len,\n                                XXH64_hash_t seed64,\n                                XXH3_f_accumulate
      f_acc,\n                                XXH3_f_scrambleAcc f_scramble,\n                                XXH3_f_initCustomSecret
      f_initSec)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_withSeed_internal
      Src: /src/haproxy/include/import/xxhash.h:6489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - input
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 6491
      start: 6484
    functionDepth: 7
    functionLinenumber: 6484
    functionLinenumberEnd: 6491
    functionName: XXH128_hash_t::XXH3_hashLong_128b_withSeed
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_hashLong_128b_withSeed_internal
    linkageType: ''
    returnType: XXH_NO_INLINE
    signature: "XXH128_hash_t\nXXH3_hashLong_128b_withSeed(const void* input, size_t
      len,\n                            XXH64_hash_t seed64, const void* XXH_RESTRICT
      secret, size_t secretLen)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6501,1
    - Dst: XXH3_len_0to16_128b
      Src: /src/haproxy/include/import/xxhash.h:6509,1
    - Dst: XXH3_len_17to128_128b
      Src: /src/haproxy/include/import/xxhash.h:6511,1
    - Dst: XXH3_len_129to240_128b
      Src: /src/haproxy/include/import/xxhash.h:6513,1
    - Dst: f_hl128
      Src: /src/haproxy/include/import/xxhash.h:6514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - input
    - len
    - seed64
    - XXH_RESTRICT
    - secretLen
    - f_hl128
    argTypes:
    - void*
    - size_t
    - XXH64_hash_t
    - void*
    - size_t
    - XXH3_hashLong128_f
    constantsTouched: []
    func_position:
      end: 6515
      start: 6496
    functionDepth: 4
    functionLinenumber: 6496
    functionLinenumberEnd: 6515
    functionName: XXH128_hash_t::XXH3_128bits_internal
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_len_0to16_128b
    - f_hl128
    - XXH3_len_17to128_128b
    - XXH3_len_129to240_128b
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: "XXH128_hash_t\nXXH3_128bits_internal(const void* input, size_t len,\n
      \                     XXH64_hash_t seed64, const void* XXH_RESTRICT secret,
      size_t secretLen,\n                      XXH3_hashLong128_f f_hl128)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_internal
      Src: /src/haproxy/include/import/xxhash.h:6523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - input
    - len
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    constantsTouched: []
    func_position:
      end: 6526
      start: 6521
    functionDepth: 5
    functionLinenumber: 6521
    functionLinenumberEnd: 6526
    functionName: XXH128_hash_t::XXH3_128bits
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH128_hash_t XXH3_128bits(XXH_NOESCAPE const void* input, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_internal
      Src: /src/haproxy/include/import/xxhash.h:6532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - input
    - len
    - secret
    - secretSize
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH_NOESCAPE*
    - size_t
    constantsTouched: []
    func_position:
      end: 6535
      start: 6529
    functionDepth: 5
    functionLinenumber: 6529
    functionLinenumberEnd: 6535
    functionName: XXH128_hash_t::XXH3_128bits_withSecret
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH128_hash_t

      XXH3_128bits_withSecret(XXH_NOESCAPE const void* input, size_t len, XXH_NOESCAPE
      const void* secret, size_t secretSize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_internal
      Src: /src/haproxy/include/import/xxhash.h:6541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 6544
      start: 6538
    functionDepth: 5
    functionLinenumber: 6538
    functionLinenumberEnd: 6544
    functionName: XXH128_hash_t::XXH3_128bits_withSeed
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH128_hash_t

      XXH3_128bits_withSeed(XXH_NOESCAPE const void* input, size_t len, XXH64_hash_t
      seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_internal
      Src: /src/haproxy/include/import/xxhash.h:6551,1
    - Dst: XXH128_hash_t::XXH3_hashLong_128b_withSecret
      Src: /src/haproxy/include/import/xxhash.h:6552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - input
    - len
    - secret
    - secretSize
    - seed
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 6553
      start: 6547
    functionDepth: 7
    functionLinenumber: 6547
    functionLinenumberEnd: 6553
    functionName: XXH128_hash_t::XXH3_128bits_withSecretandSeed
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_hashLong_128b_withSecret
    - XXH128_hash_t::XXH3_128bits_internal
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH128_hash_t

      XXH3_128bits_withSecretandSeed(XXH_NOESCAPE const void* input, size_t len, XXH_NOESCAPE
      const void* secret, size_t secretSize, XXH64_hash_t seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH128_hash_t::XXH3_128bits_withSeed
      Src: /src/haproxy/include/import/xxhash.h:6559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 6560
      start: 6556
    functionDepth: 6
    functionLinenumber: 6556
    functionLinenumberEnd: 6560
    functionName: XXH128_hash_t::XXH128
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128_hash_t::XXH3_128bits_withSeed
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH128_hash_t

      XXH128(XXH_NOESCAPE const void* input, size_t len, XXH64_hash_t seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset
      Src: /src/haproxy/include/import/xxhash.h:6574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - XXH3_state_t* statePtr
    argTypes:
    - XXH_NOESCAPE
    constantsTouched: []
    func_position:
      end: 6575
      start: 6571
    functionDepth: 2
    functionLinenumber: 6571
    functionLinenumberEnd: 6575
    functionName: XXH_errorcode::XXH3_128bits_reset
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH3_64bits_reset
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_errorcode

      XXH3_128bits_reset(XXH_NOESCAPE XXH3_state_t* statePtr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset_withSecret
      Src: /src/haproxy/include/import/xxhash.h:6581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - XXH3_state_t* statePtr
    - secret
    - secretSize
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE*
    - size_t
    constantsTouched: []
    func_position:
      end: 6582
      start: 6578
    functionDepth: 2
    functionLinenumber: 6578
    functionLinenumberEnd: 6582
    functionName: XXH_errorcode::XXH3_128bits_reset_withSecret
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH3_64bits_reset_withSecret
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_errorcode

      XXH3_128bits_reset_withSecret(XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE
      const void* secret, size_t secretSize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset_withSeed
      Src: /src/haproxy/include/import/xxhash.h:6588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - XXH3_state_t* statePtr
    - seed
    argTypes:
    - XXH_NOESCAPE
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 6589
      start: 6585
    functionDepth: 3
    functionLinenumber: 6585
    functionLinenumberEnd: 6589
    functionName: XXH_errorcode::XXH3_128bits_reset_withSeed
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH3_64bits_reset_withSeed
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_errorcode

      XXH3_128bits_reset_withSeed(XXH_NOESCAPE XXH3_state_t* statePtr, XXH64_hash_t
      seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_reset_withSecretandSeed
      Src: /src/haproxy/include/import/xxhash.h:6595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - XXH3_state_t* statePtr
    - secret
    - secretSize
    - seed
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE*
    - size_t
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 6596
      start: 6592
    functionDepth: 2
    functionLinenumber: 6592
    functionLinenumberEnd: 6596
    functionName: XXH_errorcode::XXH3_128bits_reset_withSecretandSeed
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH3_64bits_reset_withSecretandSeed
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_errorcode

      XXH3_128bits_reset_withSecretandSeed(XXH_NOESCAPE XXH3_state_t* statePtr, XXH_NOESCAPE
      const void* secret, size_t secretSize, XXH64_hash_t seed)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH3_64bits_update
      Src: /src/haproxy/include/import/xxhash.h:6602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - XXH3_state_t* state
    - input
    - len
    argTypes:
    - XXH_NOESCAPE
    - XXH_NOESCAPE*
    - size_t
    constantsTouched: []
    func_position:
      end: 6603
      start: 6599
    functionDepth: 1
    functionLinenumber: 6599
    functionLinenumberEnd: 6603
    functionName: XXH_errorcode::XXH3_128bits_update
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH3_64bits_update
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_errorcode

      XXH3_128bits_update(XXH_NOESCAPE XXH3_state_t* state, XXH_NOESCAPE const void*
      input, size_t len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/haproxy/include/import/xxhash.h:6610,1
    - Dst: XXH3_digest_long
      Src: /src/haproxy/include/import/xxhash.h:6611,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6612,1
    - Dst: XXH3_mergeAccs
      Src: /src/haproxy/include/import/xxhash.h:6614,1
    - Dst: XXH3_mergeAccs
      Src: /src/haproxy/include/import/xxhash.h:6617,1
    - Dst: XXH128_hash_t::XXH3_128bits_withSeed
      Src: /src/haproxy/include/import/xxhash.h:6626,1
    - Dst: XXH128_hash_t::XXH3_128bits_withSecret
      Src: /src/haproxy/include/import/xxhash.h:6627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - XXH3_state_t* state
    argTypes:
    - XXH_NOESCAPE
    constantsTouched: []
    func_position:
      end: 6629
      start: 6606
    functionDepth: 6
    functionLinenumber: 6606
    functionLinenumberEnd: 6629
    functionName: XXH128_hash_t::XXH3_128bits_digest
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH3_mergeAccs
    - XXH128_hash_t::XXH3_128bits_withSeed
    - XXH128_hash_t::XXH3_128bits_withSecret
    - XXH3_digest_long
    - XXH_ALIGN
    - XXH_ASSERT
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH128_hash_t XXH3_128bits_digest (XXH_NOESCAPE const XXH3_state_t*
      state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/haproxy/include/import/xxhash.h:6640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h1
    - h2
    argTypes:
    - XXH128_hash_t
    - XXH128_hash_t
    constantsTouched: []
    func_position:
      end: 6641
      start: 6637
    functionDepth: 0
    functionLinenumber: 6637
    functionLinenumberEnd: 6641
    functionName: XXH128_isEqual
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH128_isEqual(XXH128_hash_t h1, XXH128_hash_t h2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h128_1
    - h128_2
    argTypes:
    - XXH_NOESCAPE*
    - XXH_NOESCAPE*
    constantsTouched: []
    func_position:
      end: 6656
      start: 6648
    functionDepth: 0
    functionLinenumber: 6648
    functionLinenumberEnd: 6656
    functionName: XXH128_cmp
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH128_cmp(XXH_NOESCAPE const void* h128_1, XXH_NOESCAPE const void*
      h128_2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6664,1
    - Dst: XXH_swap64
      Src: /src/haproxy/include/import/xxhash.h:6666,1
    - Dst: XXH_swap64
      Src: /src/haproxy/include/import/xxhash.h:6667,1
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:6669,1
    - Dst: XXH_memcpy
      Src: /src/haproxy/include/import/xxhash.h:6670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - XXH128_canonical_t* dst
    - hash
    argTypes:
    - XXH_NOESCAPE
    - XXH128_hash_t
    constantsTouched: []
    func_position:
      end: 6671
      start: 6661
    functionDepth: 1
    functionLinenumber: 6661
    functionLinenumberEnd: 6671
    functionName: XXH128_canonicalFromHash
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_memcpy
    - XXH_STATIC_ASSERT
    - XXH_swap64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH128_canonicalFromHash(XXH_NOESCAPE XXH128_canonical_t* dst, XXH128_hash_t
      hash)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readBE64
      Src: /src/haproxy/include/import/xxhash.h:6678,1
    - Dst: XXH_readBE64
      Src: /src/haproxy/include/import/xxhash.h:6679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - XXH128_canonical_t* src
    argTypes:
    - XXH_NOESCAPE
    constantsTouched: []
    func_position:
      end: 6681
      start: 6674
    functionDepth: 1
    functionLinenumber: 6674
    functionLinenumberEnd: 6681
    functionName: XXH128_hash_t::XXH128_hashFromCanonical
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_readBE64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH128_hash_t

      XXH128_hashFromCanonical(XXH_NOESCAPE const XXH128_canonical_t* src)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_writeLE64
      Src: /src/haproxy/include/import/xxhash.h:6693,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6693,1
    - Dst: XXH_writeLE64
      Src: /src/haproxy/include/import/xxhash.h:6694,1
    - Dst: XXH_readLE64
      Src: /src/haproxy/include/import/xxhash.h:6694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - h128
    argTypes:
    - void*
    - XXH128_hash_t
    constantsTouched: []
    func_position:
      end: 6695
      start: 6691
    functionDepth: 2
    functionLinenumber: 6691
    functionLinenumberEnd: 6695
    functionName: XXH3_combine16
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_writeLE64
    - XXH_readLE64
    linkageType: ''
    returnType: XXH_FORCE_INLINE
    signature: XXH3_combine16(void* dst, XXH128_hash_t h128)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6702,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6703,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6715,1
    - Dst: memcpy
      Src: /src/haproxy/include/import/xxhash.h:6724,1
    - Dst: XXH128_canonicalFromHash
      Src: /src/haproxy/include/import/xxhash.h:6731,1
    - Dst: XXH128
      Src: /src/haproxy/include/import/xxhash.h:6731,1
    - Dst: XXH128
      Src: /src/haproxy/include/import/xxhash.h:6733,1
    - Dst: XXH3_combine16
      Src: /src/haproxy/include/import/xxhash.h:6734,1
    - Dst: XXH3_combine16
      Src: /src/haproxy/include/import/xxhash.h:6737,1
    - Dst: XXH128_hashFromCanonical
      Src: /src/haproxy/include/import/xxhash.h:6737,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - secretBuffer
    - secretSize
    - customSeed
    - customSeedSize
    argTypes:
    - XXH_NOESCAPE*
    - size_t
    - XXH_NOESCAPE*
    - size_t
    constantsTouched: []
    func_position:
      end: 6740
      start: 6698
    functionDepth: 3
    functionLinenumber: 6698
    functionLinenumberEnd: 6740
    functionName: XXH_errorcode::XXH3_generateSecret
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH128
    - XXH3_combine16
    - XXH128_hashFromCanonical
    - memcpy
    - XXH_ASSERT
    - XXH128_canonicalFromHash
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: 'XXH_errorcode

      XXH3_generateSecret(XXH_NOESCAPE void* secretBuffer, size_t secretSize, XXH_NOESCAPE
      const void* customSeed, size_t customSeedSize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH_ALIGN
      Src: /src/haproxy/include/import/xxhash.h:6746,1
    - Dst: XXH3_initCustomSecret
      Src: /src/haproxy/include/import/xxhash.h:6747,1
    - Dst: XXH_ASSERT
      Src: /src/haproxy/include/import/xxhash.h:6748,1
    - Dst: memcpy
      Src: /src/haproxy/include/import/xxhash.h:6749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - secretBuffer
    - seed
    argTypes:
    - XXH_NOESCAPE*
    - XXH64_hash_t
    constantsTouched: []
    func_position:
      end: 6750
      start: 6743
    functionDepth: 0
    functionLinenumber: 6743
    functionLinenumberEnd: 6750
    functionName: XXH3_generateSecret_fromSeed
    functionSourceFile: /src/haproxy/include/import/xxhash.h
    functionUses: 0
    functionsReached:
    - XXH_ASSERT
    - memcpy
    - XXH_ALIGN
    - XXH3_initCustomSecret
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH3_generateSecret_fromSeed(XXH_NOESCAPE void* secretBuffer, XXH64_hash_t
      seed)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_entry
      Src: /src/haproxy/include/import/ebmbtree.h:39,1
    - Dst: eb_first
      Src: /src/haproxy/include/import/ebmbtree.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: ebmb_first
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 15
    functionsReached:
    - ebmb_entry
    - eb_first
    linkageType: ''
    returnType: forceinline
    signature: '*ebmb_first(struct eb_root *root)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_entry
      Src: /src/haproxy/include/import/ebmbtree.h:45,1
    - Dst: eb_last
      Src: /src/haproxy/include/import/ebmbtree.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: ebmb_last
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 0
    functionsReached:
    - ebmb_entry
    - eb_last
    linkageType: ''
    returnType: forceinline
    signature: '*ebmb_last(struct eb_root *root)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_entry
      Src: /src/haproxy/include/import/ebmbtree.h:51,1
    - Dst: eb_next
      Src: /src/haproxy/include/import/ebmbtree.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebmb
    argTypes:
    - struct ebmb_node*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: ebmb_next
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 12
    functionsReached:
    - ebmb_entry
    - eb_next
    linkageType: ''
    returnType: forceinline
    signature: '*ebmb_next(struct ebmb_node *ebmb)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_entry
      Src: /src/haproxy/include/import/ebmbtree.h:57,1
    - Dst: eb_prev
      Src: /src/haproxy/include/import/ebmbtree.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebmb
    argTypes:
    - struct ebmb_node*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: ebmb_prev
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 0
    functionsReached:
    - ebmb_entry
    - eb_prev
    linkageType: ''
    returnType: forceinline
    signature: '*ebmb_prev(struct ebmb_node *ebmb)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_entry
      Src: /src/haproxy/include/import/ebmbtree.h:63,1
    - Dst: eb_next_dup
      Src: /src/haproxy/include/import/ebmbtree.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebmb
    argTypes:
    - struct ebmb_node*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: ebmb_next_dup
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 9
    functionsReached:
    - ebmb_entry
    - eb_next_dup
    linkageType: ''
    returnType: struct ebmb_node
    signature: '*ebmb_next_dup(struct ebmb_node *ebmb)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_entry
      Src: /src/haproxy/include/import/ebmbtree.h:69,1
    - Dst: eb_prev_dup
      Src: /src/haproxy/include/import/ebmbtree.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebmb
    argTypes:
    - struct ebmb_node*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: ebmb_prev_dup
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 0
    functionsReached:
    - ebmb_entry
    - eb_prev_dup
    linkageType: ''
    returnType: struct ebmb_node
    signature: '*ebmb_prev_dup(struct ebmb_node *ebmb)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_entry
      Src: /src/haproxy/include/import/ebmbtree.h:75,1
    - Dst: eb_next_unique
      Src: /src/haproxy/include/import/ebmbtree.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebmb
    argTypes:
    - struct ebmb_node*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: ebmb_next_unique
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 0
    functionsReached:
    - ebmb_entry
    - eb_next_unique
    linkageType: ''
    returnType: forceinline
    signature: '*ebmb_next_unique(struct ebmb_node *ebmb)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_entry
      Src: /src/haproxy/include/import/ebmbtree.h:81,1
    - Dst: eb_prev_unique
      Src: /src/haproxy/include/import/ebmbtree.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebmb
    argTypes:
    - struct ebmb_node*
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: ebmb_prev_unique
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 0
    functionsReached:
    - ebmb_entry
    - eb_prev_unique
    linkageType: ''
    returnType: forceinline
    signature: '*ebmb_prev_unique(struct ebmb_node *ebmb)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_delete
      Src: /src/haproxy/include/import/ebmbtree.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebmb
    argTypes:
    - struct ebmb_node*
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: ebmb_delete
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 23
    functionsReached:
    - eb_delete
    linkageType: ''
    returnType: forceinline
    signature: ebmb_delete(struct ebmb_node *ebmb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebmb_next_dup
      Src: /src/haproxy/include/import/ebmbtree.h:115,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebmbtree.h:120,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebmbtree.h:124,1
    - Dst: eb_clrtag
      Src: /src/haproxy/include/import/ebmbtree.h:124,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:124,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:126,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebmbtree.h:126,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:126,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:134,1
    - Dst: eb_root_to_node
      Src: /src/haproxy/include/import/ebmbtree.h:134,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:134,1
    - Dst: ebmb_entry
      Src: /src/haproxy/include/import/ebmbtree.h:136,1
    - Dst: eb_walk_down
      Src: /src/haproxy/include/import/ebmbtree.h:136,1
    - Dst: check_bits
      Src: /src/haproxy/include/import/ebmbtree.h:148,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - start
    argTypes:
    - struct ebmb_node*
    constantsTouched: []
    func_position:
      end: 152
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 152
    functionName: ebmb_lookup_shorter
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 3
    functionsReached:
    - eb_clrtag
    - container_of
    - eb_walk_down
    - check_bits
    - eb_gettag
    - ebmb_entry
    - eb_untag
    - unlikely
    - eb_root_to_node
    - ebmb_next_dup
    linkageType: ''
    returnType: struct ebmb_node
    signature: '*ebmb_lookup_shorter(struct ebmb_node *start)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb_delete
      Src: /src/haproxy/include/import/ebmbtree.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebmb
    argTypes:
    - struct ebmb_node*
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: __ebmb_delete
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 0
    functionsReached:
    - __eb_delete
    linkageType: ''
    returnType: forceinline
    signature: __ebmb_delete(struct ebmb_node *ebmb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebmbtree.h:179,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebmbtree.h:182,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebmbtree.h:187,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:188,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:188,1
    - Dst: eb_memcmp
      Src: /src/haproxy/include/import/ebmbtree.h:190,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:195,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:195,1
    - Dst: eb_memcmp
      Src: /src/haproxy/include/import/ebmbtree.h:204,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebmbtree.h:246,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:247,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:248,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:248,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 3
    argNames:
    - root
    - x
    - len
    argTypes:
    - struct eb_root*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 254
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 254
    functionName: __ebmb_lookup
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 1
    functionsReached:
    - container_of
    - eb_gettag
    - eb_untag
    - unlikely
    - eb_memcmp
    linkageType: ''
    returnType: forceinline
    signature: '*__ebmb_lookup(struct eb_root *root, const void *x, unsigned int len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebmbtree.h:279,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebmbtree.h:281,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:281,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:282,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebmbtree.h:282,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:283,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebmbtree.h:301,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebmbtree.h:301,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:303,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:303,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:305,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:311,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:311,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebmbtree.h:315,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:317,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/ebmbtree.h:320,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebmbtree.h:320,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/ebmbtree.h:331,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebmbtree.h:331,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebmbtree.h:332,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:337,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebmbtree.h:351,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebmbtree.h:355,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:355,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebmbtree.h:356,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:356,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebmbtree.h:357,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:357,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:359,1
    - Dst: cmp_bits
      Src: /src/haproxy/include/import/ebmbtree.h:367,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebmbtree.h:367,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:370,1
    - Dst: likely
      Src: /src/haproxy/include/import/ebmbtree.h:372,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebmbtree.h:372,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebmbtree.h:379,1
    - Dst: eb_insert_dup
      Src: /src/haproxy/include/import/ebmbtree.h:382,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:382,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:383,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:389,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:390,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:391,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:395,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:396,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:397,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebmbtree.h:407,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:407,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 72
    argCount: 3
    argNames:
    - root
    - new
    - len
    argTypes:
    - struct eb_root*
    - struct ebmb_node*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 409
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 409
    functionName: __ebmb_insert
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 1
    functionsReached:
    - eb_insert_dup
    - container_of
    - equal_bits
    - eb_dotag
    - eb_gettag
    - key::key
    - eb_untag
    - cmp_bits
    - likely
    - node::node
    - unlikely
    linkageType: ''
    returnType: forceinline
    signature: '*

      __ebmb_insert(struct eb_root *root, struct ebmb_node *new, unsigned int len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebmbtree.h:426,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebmbtree.h:432,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:433,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:433,1
    - Dst: check_bits
      Src: /src/haproxy/include/import/ebmbtree.h:435,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:440,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:440,1
    - Dst: check_bits
      Src: /src/haproxy/include/import/ebmbtree.h:449,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebmbtree.h:453,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:454,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:455,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:455,1
    - Dst: ebmb_entry
      Src: /src/haproxy/include/import/ebmbtree.h:502,1
    - Dst: eb_walk_down
      Src: /src/haproxy/include/import/ebmbtree.h:502,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - void*
    constantsTouched: []
    func_position:
      end: 503
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 503
    functionName: __ebmb_lookup_longest
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 1
    functionsReached:
    - container_of
    - eb_walk_down
    - check_bits
    - eb_gettag
    - ebmb_entry
    - eb_untag
    - unlikely
    linkageType: ''
    returnType: forceinline
    signature: '*__ebmb_lookup_longest(struct eb_root *root, const void *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebmbtree.h:520,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebmbtree.h:525,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:526,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:526,1
    - Dst: check_bits
      Src: /src/haproxy/include/import/ebmbtree.h:530,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:534,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:534,1
    - Dst: check_bits
      Src: /src/haproxy/include/import/ebmbtree.h:545,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebmbtree.h:549,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:550,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:551,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:551,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 3
    argNames:
    - root
    - x
    - pfx
    argTypes:
    - struct eb_root*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 597
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 597
    functionName: __ebmb_lookup_prefix
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 1
    functionsReached:
    - container_of
    - check_bits
    - eb_gettag
    - eb_untag
    - unlikely
    linkageType: ''
    returnType: forceinline
    signature: '*__ebmb_lookup_prefix(struct eb_root *root, const void *x, unsigned
      int pfx)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebmbtree.h:628,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebmbtree.h:630,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:630,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:631,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebmbtree.h:631,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:632,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebmbtree.h:654,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebmbtree.h:654,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:658,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:658,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:660,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:666,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebmbtree.h:666,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebmbtree.h:675,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:677,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/ebmbtree.h:683,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/ebmbtree.h:689,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:698,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:700,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebmbtree.h:705,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:711,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:713,1
    - Dst: cmp_bits
      Src: /src/haproxy/include/import/ebmbtree.h:714,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:785,1
    - Dst: cmp_bits
      Src: /src/haproxy/include/import/ebmbtree.h:793,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:801,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:803,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebmbtree.h:805,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebmbtree.h:805,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebmbtree.h:812,1
    - Dst: eb_insert_dup
      Src: /src/haproxy/include/import/ebmbtree.h:815,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:815,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebmbtree.h:816,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebmbtree.h:826,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:826,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebmbtree.h:827,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:827,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebmbtree.h:828,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:828,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:831,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:832,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:833,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:837,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:838,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:839,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebmbtree.h:843,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebmbtree.h:843,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 114
    argCount: 3
    argNames:
    - root
    - new
    - len
    argTypes:
    - struct eb_root*
    - struct ebmb_node*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 845
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 845
    functionName: __ebmb_insert_prefix
    functionSourceFile: /src/haproxy/include/import/ebmbtree.h
    functionUses: 1
    functionsReached:
    - eb_insert_dup
    - container_of
    - equal_bits
    - eb_dotag
    - eb_gettag
    - eb_untag
    - cmp_bits
    - node::node
    - unlikely
    linkageType: ''
    returnType: forceinline
    signature: '*

      __ebmb_insert_prefix(struct eb_root *root, struct ebmb_node *new, unsigned int
      len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: ist2
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 161
    functionsReached: []
    linkageType: ''
    returnType: struct ist
    signature: ist2(const void *ptr, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: isttest
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 82
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: isttest(const struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: ist0
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*ist0(struct ist ist)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: istptr
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*istptr(const struct ist ist)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: istlen
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 102
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: istlen(const struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: istend
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*istend(const struct ist ist)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: istnext
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: struct ist
    signature: istnext(const struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istnext
      Src: /src/haproxy/include/import/ist.h:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist*
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: istshift
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 3
    functionsReached:
    - istnext
    linkageType: ''
    returnType: char
    signature: istshift(struct ist *ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - ist
    argTypes:
    - void*
    - struct ist
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: istpad
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: struct ist
    signature: istpad(void *buf, const struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ist
    - size
    argTypes:
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 283
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: isttrim
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: struct ist
    signature: isttrim(const struct ist ist, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist*
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: istclear
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: istclear(struct ist* ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ist
    - size
    argTypes:
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 332
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 332
    functionName: istzero
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: struct ist
    signature: istzero(const struct ist ist, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 351
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 351
    functionName: iststrip
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: struct ist
    signature: iststrip(const struct ist ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ist1
    - ist2
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 371
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 371
    functionName: istdiff
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: istdiff(const struct ist ist1, const struct ist ist2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ist1
    - ist2
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: istmatch
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: istmatch(const struct ist ist1, const struct ist ist2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ist1
    - ist2
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 407
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 407
    functionName: istmatchi
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: istmatchi(const struct ist ist1, const struct ist ist2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istmatch
      Src: /src/haproxy/include/import/ist.h:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ist1
    - ist2
    - count
    argTypes:
    - struct ist
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 422
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 422
    functionName: istnmatch
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 5
    functionsReached:
    - istmatch
    linkageType: ''
    returnType: int
    signature: istnmatch(const struct ist ist1, const struct ist ist2, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ist1
    - ist2
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 438
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 438
    functionName: isteq
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: isteq(const struct ist ist1, const struct ist ist2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ist1
    - ist2
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 458
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 458
    functionName: isteqi
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: isteqi(const struct ist ist1, const struct ist ist2)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: isteq
      Src: /src/haproxy/include/import/ist.h:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ist1
    - ist2
    - count
    argTypes:
    - struct ist
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 473
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 473
    functionName: istneq
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 3
    functionsReached:
    - isteq
    linkageType: ''
    returnType: int
    signature: istneq(const struct ist ist1, const struct ist ist2, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - struct ist
    - char
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: __istappend
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: struct ist
    signature: __istappend(struct ist dst, const char src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - dst
    - src
    - count
    argTypes:
    - struct ist*
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 506
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 506
    functionName: istcpy
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: istcpy(struct ist *dst, const struct ist src, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - dst
    - src
    - count
    argTypes:
    - struct ist*
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 534
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 534
    functionName: istscpy
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: istscpy(struct ist *dst, const struct ist src, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - src
    - count
    argTypes:
    - struct ist*
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 553
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 553
    functionName: istcat
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: istcat(struct ist *dst, const struct ist src, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - dst
    - src
    - count
    argTypes:
    - struct ist*
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 577
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 577
    functionName: istscat
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ssize_t
    signature: istscat(struct ist *dst, const struct ist src, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/ist.h:592,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/ist.h:596,1
    - Dst: ist2
      Src: /src/haproxy/include/import/ist.h:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - char*
    - struct ist
    constantsTouched: []
    func_position:
      end: 599
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 599
    functionName: ist2bin
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 4
    functionsReached:
    - ist2
    - __builtin_expect
    linkageType: ''
    returnType: struct ist
    signature: ist2bin(char *dst, const struct ist src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/ist.h:614,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/ist.h:618,1
    - Dst: ist2
      Src: /src/haproxy/include/import/ist.h:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - char*
    - struct ist
    constantsTouched: []
    func_position:
      end: 622
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 622
    functionName: ist2str
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 2
    functionsReached:
    - ist2
    - __builtin_expect
    linkageType: ''
    returnType: struct ist
    signature: ist2str(char *dst, const struct ist src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/ist.h:637,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/ist.h:641,1
    - Dst: ist2
      Src: /src/haproxy/include/import/ist.h:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - char*
    - struct ist
    constantsTouched: []
    func_position:
      end: 644
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 644
    functionName: ist2bin_lc
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 6
    functionsReached:
    - ist2
    - __builtin_expect
    linkageType: ''
    returnType: struct ist
    signature: ist2bin_lc(char *dst, const struct ist src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/ist.h:659,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/ist.h:663,1
    - Dst: ist2
      Src: /src/haproxy/include/import/ist.h:666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - char*
    - struct ist
    constantsTouched: []
    func_position:
      end: 667
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 667
    functionName: ist2str_lc
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 0
    functionsReached:
    - ist2
    - __builtin_expect
    linkageType: ''
    returnType: struct ist
    signature: ist2str_lc(char *dst, const struct ist src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/ist.h:682,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/ist.h:686,1
    - Dst: ist2
      Src: /src/haproxy/include/import/ist.h:688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - char*
    - struct ist
    constantsTouched: []
    func_position:
      end: 689
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 689
    functionName: ist2bin_uc
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 0
    functionsReached:
    - ist2
    - __builtin_expect
    linkageType: ''
    returnType: struct ist
    signature: ist2bin_uc(char *dst, const struct ist src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/ist.h:704,1
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/ist.h:708,1
    - Dst: ist2
      Src: /src/haproxy/include/import/ist.h:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - char*
    - struct ist
    constantsTouched: []
    func_position:
      end: 712
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 712
    functionName: ist2str_uc
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 0
    functionsReached:
    - ist2
    - __builtin_expect
    linkageType: ''
    returnType: struct ist
    signature: ist2str_uc(char *dst, const struct ist src)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ist
    - chr
    argTypes:
    - struct ist
    - char
    constantsTouched: []
    func_position:
      end: 726
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 726
    functionName: istchr
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*istchr(const struct ist ist, char chr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/ist.h:759,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 767
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 767
    functionName: ist_find_ctl
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 5
    functionsReached:
    - __builtin_expect
    linkageType: ''
    returnType: char
    signature: '*ist_find_ctl(const struct ist ist)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_expect
      Src: /src/haproxy/include/import/ist.h:806,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - ist
    - min
    - max
    argTypes:
    - struct ist
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 814
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 814
    functionName: ist_find_range
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 2
    functionsReached:
    - __builtin_expect
    linkageType: ''
    returnType: char
    signature: '*ist_find_range(const struct ist ist, unsigned char min, unsigned
      char max)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/include/import/ist.h:826,1
    - Dst: ist2
      Src: /src/haproxy/include/import/ist.h:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ist
    - chr
    argTypes:
    - struct ist
    - char
    constantsTouched: []
    func_position:
      end: 829
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 829
    functionName: istfind
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 10
    functionsReached:
    - ist2
    linkageType: ''
    returnType: struct ist
    signature: istfind(const struct ist ist, char chr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/include/import/ist.h:841,1
    - Dst: ist2
      Src: /src/haproxy/include/import/ist.h:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ist
    - chr
    argTypes:
    - struct ist
    - char
    constantsTouched: []
    func_position:
      end: 844
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 844
    functionName: istskip
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 4
    functionsReached:
    - ist2
    linkageType: ''
    returnType: struct ist
    signature: istskip(const struct ist ist, char chr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istfind
      Src: /src/haproxy/include/import/ist.h:860,1
    - Dst: istnext
      Src: /src/haproxy/include/import/ist.h:866,1
    - Dst: ist2
      Src: /src/haproxy/include/import/ist.h:872,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ist
    - pat
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 875
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 875
    functionName: istist
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 8
    functionsReached:
    - istnext
    - ist2
    - istfind
    linkageType: ''
    returnType: struct ist
    signature: istist(const struct ist ist, const struct ist pat)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/include/import/ist.h:887,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ist
    - chr
    argTypes:
    - struct ist
    - char
    constantsTouched: []
    func_position:
      end: 888
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 888
    functionName: iststop
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 10
    functionsReached:
    - ist2
    linkageType: ''
    returnType: struct ist
    signature: iststop(const struct ist ist, char chr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist2
      Src: /src/haproxy/include/import/ist.h:897,1
    - Dst: ist2
      Src: /src/haproxy/include/import/ist.h:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ist
    - nb
    argTypes:
    - struct ist
    - size_t
    constantsTouched: []
    func_position:
      end: 899
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 899
    functionName: istadv
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 25
    functionsReached:
    - ist2
    linkageType: ''
    returnType: struct ist
    signature: istadv(const struct ist ist, const size_t nb)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iststop
      Src: /src/haproxy/include/import/ist.h:908,1
    - Dst: istadv
      Src: /src/haproxy/include/import/ist.h:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ist
    - delim
    argTypes:
    - struct ist*
    - char
    constantsTouched: []
    func_position:
      end: 913
      start: 906
    functionDepth: 2
    functionLinenumber: 906
    functionLinenumberEnd: 913
    functionName: istsplit
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 16
    functionsReached:
    - istadv
    - iststop
    linkageType: ''
    returnType: struct ist
    signature: istsplit(struct ist *ist, char delim)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ist1
    - ist2
    argTypes:
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: istissame
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: istissame(const struct ist ist1, const struct ist ist2)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 941
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 941
    functionName: istalloc
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct ist
    signature: istalloc(const size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/include/import/ist.h:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ist
    argTypes:
    - struct ist*
    constantsTouched: []
    func_position:
      end: 952
      start: 948
    functionDepth: 3
    functionLinenumber: 948
    functionLinenumberEnd: 952
    functionName: istfree
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 23
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: istfree(struct ist *ist)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istalloc
      Src: /src/haproxy/include/import/ist.h:962,1
    - Dst: isttest
      Src: /src/haproxy/include/import/ist.h:964,1
    - Dst: istcpy
      Src: /src/haproxy/include/import/ist.h:965,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - struct ist
    constantsTouched: []
    func_position:
      end: 970
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 970
    functionName: istdup
    functionSourceFile: /src/haproxy/include/import/ist.h
    functionUses: 14
    functionsReached:
    - isttest
    - istcpy
    - istalloc
    linkageType: ''
    returnType: struct ist
    signature: istdup(const struct ist src)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_entry
      Src: /src/haproxy/include/import/ebpttree.h:41,1
    - Dst: eb_first
      Src: /src/haproxy/include/import/ebpttree.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: ebpt_first
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 8
    functionsReached:
    - eb_first
    - ebpt_entry
    linkageType: ''
    returnType: forceinline
    signature: '*ebpt_first(struct eb_root *root)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_entry
      Src: /src/haproxy/include/import/ebpttree.h:47,1
    - Dst: eb_last
      Src: /src/haproxy/include/import/ebpttree.h:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: ebpt_last
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 0
    functionsReached:
    - eb_last
    - ebpt_entry
    linkageType: ''
    returnType: forceinline
    signature: '*ebpt_last(struct eb_root *root)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_entry
      Src: /src/haproxy/include/import/ebpttree.h:53,1
    - Dst: eb_next
      Src: /src/haproxy/include/import/ebpttree.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebpt
    argTypes:
    - struct ebpt_node*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: ebpt_next
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 9
    functionsReached:
    - eb_next
    - ebpt_entry
    linkageType: ''
    returnType: forceinline
    signature: '*ebpt_next(struct ebpt_node *ebpt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_entry
      Src: /src/haproxy/include/import/ebpttree.h:59,1
    - Dst: eb_prev
      Src: /src/haproxy/include/import/ebpttree.h:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebpt
    argTypes:
    - struct ebpt_node*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: ebpt_prev
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 0
    functionsReached:
    - eb_prev
    - ebpt_entry
    linkageType: ''
    returnType: forceinline
    signature: '*ebpt_prev(struct ebpt_node *ebpt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_entry
      Src: /src/haproxy/include/import/ebpttree.h:65,1
    - Dst: eb_next_dup
      Src: /src/haproxy/include/import/ebpttree.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebpt
    argTypes:
    - struct ebpt_node*
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: ebpt_next_dup
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 1
    functionsReached:
    - eb_next_dup
    - ebpt_entry
    linkageType: ''
    returnType: struct ebpt_node
    signature: '*ebpt_next_dup(struct ebpt_node *ebpt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_entry
      Src: /src/haproxy/include/import/ebpttree.h:71,1
    - Dst: eb_prev_dup
      Src: /src/haproxy/include/import/ebpttree.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebpt
    argTypes:
    - struct ebpt_node*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 3
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: ebpt_prev_dup
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 1
    functionsReached:
    - eb_prev_dup
    - ebpt_entry
    linkageType: ''
    returnType: struct ebpt_node
    signature: '*ebpt_prev_dup(struct ebpt_node *ebpt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_entry
      Src: /src/haproxy/include/import/ebpttree.h:77,1
    - Dst: eb_next_unique
      Src: /src/haproxy/include/import/ebpttree.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebpt
    argTypes:
    - struct ebpt_node*
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: ebpt_next_unique
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 0
    functionsReached:
    - eb_next_unique
    - ebpt_entry
    linkageType: ''
    returnType: forceinline
    signature: '*ebpt_next_unique(struct ebpt_node *ebpt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebpt_entry
      Src: /src/haproxy/include/import/ebpttree.h:83,1
    - Dst: eb_prev_unique
      Src: /src/haproxy/include/import/ebpttree.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebpt
    argTypes:
    - struct ebpt_node*
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: ebpt_prev_unique
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 0
    functionsReached:
    - eb_prev_unique
    - ebpt_entry
    linkageType: ''
    returnType: forceinline
    signature: '*ebpt_prev_unique(struct ebpt_node *ebpt)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_delete
      Src: /src/haproxy/include/import/ebpttree.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebpt
    argTypes:
    - struct ebpt_node*
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: ebpt_delete
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 20
    functionsReached:
    - eb_delete
    linkageType: ''
    returnType: forceinline
    signature: ebpt_delete(struct ebpt_node *ebpt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup
      Src: /src/haproxy/include/import/ebpttree.h:100,1
    - Dst: eb64_lookup
      Src: /src/haproxy/include/import/ebpttree.h:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: ebpt_lookup
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 3
    functionsReached:
    - eb64_lookup
    - eb32_lookup
    linkageType: ''
    returnType: forceinline
    signature: '*ebpt_lookup(struct eb_root *root, void *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup_le
      Src: /src/haproxy/include/import/ebpttree.h:108,1
    - Dst: eb64_lookup_le
      Src: /src/haproxy/include/import/ebpttree.h:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - void*
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: ebpt_lookup_le
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 0
    functionsReached:
    - eb64_lookup_le
    - eb32_lookup_le
    linkageType: ''
    returnType: forceinline
    signature: '*ebpt_lookup_le(struct eb_root *root, void *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_lookup_ge
      Src: /src/haproxy/include/import/ebpttree.h:116,1
    - Dst: eb64_lookup_ge
      Src: /src/haproxy/include/import/ebpttree.h:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - void*
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: ebpt_lookup_ge
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 0
    functionsReached:
    - eb64_lookup_ge
    - eb32_lookup_ge
    linkageType: ''
    returnType: forceinline
    signature: '*ebpt_lookup_ge(struct eb_root *root, void *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_insert
      Src: /src/haproxy/include/import/ebpttree.h:124,1
    - Dst: eb64_insert
      Src: /src/haproxy/include/import/ebpttree.h:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct ebpt_node*
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: ebpt_insert
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 6
    functionsReached:
    - eb32_insert
    - eb64_insert
    linkageType: ''
    returnType: forceinline
    signature: '*ebpt_insert(struct eb_root *root, struct ebpt_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb_delete
      Src: /src/haproxy/include/import/ebpttree.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ebpt
    argTypes:
    - struct ebpt_node*
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: __ebpt_delete
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 0
    functionsReached:
    - __eb_delete
    linkageType: ''
    returnType: forceinline
    signature: __ebpt_delete(struct ebpt_node *ebpt)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb32_lookup
      Src: /src/haproxy/include/import/ebpttree.h:143,1
    - Dst: __eb64_lookup
      Src: /src/haproxy/include/import/ebpttree.h:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: __ebpt_lookup
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 1
    functionsReached:
    - __eb64_lookup
    - __eb32_lookup
    linkageType: ''
    returnType: forceinline
    signature: '*__ebpt_lookup(struct eb_root *root, void *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb32_insert
      Src: /src/haproxy/include/import/ebpttree.h:151,1
    - Dst: __eb64_insert
      Src: /src/haproxy/include/import/ebpttree.h:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct ebpt_node*
    constantsTouched: []
    func_position:
      end: 154
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 154
    functionName: __ebpt_insert
    functionSourceFile: /src/haproxy/include/import/ebpttree.h
    functionUses: 1
    functionsReached:
    - __eb32_insert
    - __eb64_insert
    linkageType: ''
    returnType: forceinline
    signature: '*__ebpt_insert(struct eb_root *root, struct ebpt_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ebim_lookup
      Src: /src/haproxy/include/import/ebistree.h:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - root
    - x
    - len
    argTypes:
    - struct eb_root*
    - char*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: ebis_lookup_len
    functionSourceFile: /src/haproxy/include/import/ebistree.h
    functionUses: 6
    functionsReached:
    - ebim_lookup
    linkageType: ''
    returnType: forceinline
    signature: '*

      ebis_lookup_len(struct eb_root *root, const char *x, unsigned int len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebistree.h:69,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebistree.h:74,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebistree.h:75,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebistree.h:75,1
    - Dst: strcmp
      Src: /src/haproxy/include/import/ebistree.h:77,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebistree.h:82,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebistree.h:82,1
    - Dst: strcmp
      Src: /src/haproxy/include/import/ebistree.h:91,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebistree.h:95,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebistree.h:96,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebistree.h:97,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebistree.h:97,1
    - Dst: likely
      Src: /src/haproxy/include/import/ebistree.h:105,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/ebistree.h:106,1
    - Dst: likely
      Src: /src/haproxy/include/import/ebistree.h:107,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebistree.h:116,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - void*
    constantsTouched: []
    func_position:
      end: 132
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 132
    functionName: __ebis_lookup
    functionSourceFile: /src/haproxy/include/import/ebistree.h
    functionUses: 1
    functionsReached:
    - container_of
    - strcmp
    - eb_gettag
    - string_equal_bits
    - eb_untag
    - likely
    - unlikely
    linkageType: ''
    returnType: forceinline
    signature: '*__ebis_lookup(struct eb_root *root, const void *x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebistree.h:153,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebistree.h:155,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:155,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:156,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebistree.h:156,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:157,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebistree.h:175,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebistree.h:175,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebistree.h:179,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebistree.h:179,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebistree.h:182,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:182,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebistree.h:183,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:183,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebistree.h:184,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:184,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebistree.h:185,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:187,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/ebistree.h:205,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebistree.h:205,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebistree.h:213,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:218,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:219,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:220,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:221,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebistree.h:222,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:222,1
    - Dst: cmp_bits
      Src: /src/haproxy/include/import/ebistree.h:226,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebistree.h:226,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:229,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:231,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:232,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:236,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:237,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:238,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebistree.h:244,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebistree.h:244,1
    - Dst: string_equal_bits
      Src: /src/haproxy/include/import/ebistree.h:255,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebistree.h:255,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebistree.h:257,1
    - Dst: eb_insert_dup
      Src: /src/haproxy/include/import/ebistree.h:267,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:267,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebistree.h:268,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebistree.h:284,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:284,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebistree.h:285,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:285,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebistree.h:286,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:286,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebistree.h:287,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:289,1
    - Dst: cmp_bits
      Src: /src/haproxy/include/import/ebistree.h:292,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebistree.h:292,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:294,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:296,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:297,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:301,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:302,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:303,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebistree.h:310,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:324,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebistree.h:325,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebistree.h:325,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 83
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct ebpt_node*
    constantsTouched: []
    func_position:
      end: 327
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 327
    functionName: __ebis_insert
    functionSourceFile: /src/haproxy/include/import/ebistree.h
    functionUses: 1
    functionsReached:
    - eb_insert_dup
    - container_of
    - eb_dotag
    - eb_gettag
    - string_equal_bits
    - key::key
    - eb_untag
    - cmp_bits
    - node::node
    - unlikely
    linkageType: ''
    returnType: forceinline
    signature: '*

      __ebis_insert(struct eb_root *root, struct ebpt_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_entry
      Src: /src/haproxy/include/import/eb32tree.h:39,1
    - Dst: eb_first
      Src: /src/haproxy/include/import/eb32tree.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: eb32_first
    functionSourceFile: /src/haproxy/include/import/eb32tree.h
    functionUses: 37
    functionsReached:
    - eb_first
    - eb32_entry
    linkageType: ''
    returnType: struct eb32_node
    signature: '*eb32_first(struct eb_root *root)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_entry
      Src: /src/haproxy/include/import/eb32tree.h:45,1
    - Dst: eb_last
      Src: /src/haproxy/include/import/eb32tree.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: eb32_last
    functionSourceFile: /src/haproxy/include/import/eb32tree.h
    functionUses: 2
    functionsReached:
    - eb_last
    - eb32_entry
    linkageType: ''
    returnType: struct eb32_node
    signature: '*eb32_last(struct eb_root *root)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_entry
      Src: /src/haproxy/include/import/eb32tree.h:51,1
    - Dst: eb_next
      Src: /src/haproxy/include/import/eb32tree.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb32
    argTypes:
    - struct eb32_node*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: eb32_next
    functionSourceFile: /src/haproxy/include/import/eb32tree.h
    functionUses: 38
    functionsReached:
    - eb_next
    - eb32_entry
    linkageType: ''
    returnType: struct eb32_node
    signature: '*eb32_next(struct eb32_node *eb32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_entry
      Src: /src/haproxy/include/import/eb32tree.h:57,1
    - Dst: eb_prev
      Src: /src/haproxy/include/import/eb32tree.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb32
    argTypes:
    - struct eb32_node*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: eb32_prev
    functionSourceFile: /src/haproxy/include/import/eb32tree.h
    functionUses: 1
    functionsReached:
    - eb_prev
    - eb32_entry
    linkageType: ''
    returnType: struct eb32_node
    signature: '*eb32_prev(struct eb32_node *eb32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_entry
      Src: /src/haproxy/include/import/eb32tree.h:63,1
    - Dst: eb_next_dup
      Src: /src/haproxy/include/import/eb32tree.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb32
    argTypes:
    - struct eb32_node*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: eb32_next_dup
    functionSourceFile: /src/haproxy/include/import/eb32tree.h
    functionUses: 2
    functionsReached:
    - eb_next_dup
    - eb32_entry
    linkageType: ''
    returnType: struct eb32_node
    signature: '*eb32_next_dup(struct eb32_node *eb32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_entry
      Src: /src/haproxy/include/import/eb32tree.h:69,1
    - Dst: eb_prev_dup
      Src: /src/haproxy/include/import/eb32tree.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb32
    argTypes:
    - struct eb32_node*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: eb32_prev_dup
    functionSourceFile: /src/haproxy/include/import/eb32tree.h
    functionUses: 3
    functionsReached:
    - eb_prev_dup
    - eb32_entry
    linkageType: ''
    returnType: struct eb32_node
    signature: '*eb32_prev_dup(struct eb32_node *eb32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_entry
      Src: /src/haproxy/include/import/eb32tree.h:75,1
    - Dst: eb_next_unique
      Src: /src/haproxy/include/import/eb32tree.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb32
    argTypes:
    - struct eb32_node*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: eb32_next_unique
    functionSourceFile: /src/haproxy/include/import/eb32tree.h
    functionUses: 0
    functionsReached:
    - eb_next_unique
    - eb32_entry
    linkageType: ''
    returnType: struct eb32_node
    signature: '*eb32_next_unique(struct eb32_node *eb32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb32_entry
      Src: /src/haproxy/include/import/eb32tree.h:81,1
    - Dst: eb_prev_unique
      Src: /src/haproxy/include/import/eb32tree.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb32
    argTypes:
    - struct eb32_node*
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: eb32_prev_unique
    functionSourceFile: /src/haproxy/include/import/eb32tree.h
    functionUses: 0
    functionsReached:
    - eb_prev_unique
    - eb32_entry
    linkageType: ''
    returnType: struct eb32_node
    signature: '*eb32_prev_unique(struct eb32_node *eb32)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_delete
      Src: /src/haproxy/include/import/eb32tree.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb32
    argTypes:
    - struct eb32_node*
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: eb32_delete
    functionSourceFile: /src/haproxy/include/import/eb32tree.h
    functionUses: 37
    functionsReached:
    - eb_delete
    linkageType: ''
    returnType: void
    signature: eb32_delete(struct eb32_node *eb32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb_delete
      Src: /src/haproxy/include/import/eb32tree.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb32
    argTypes:
    - struct eb32_node*
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: __eb32_delete
    functionSourceFile: /src/haproxy/include/import/eb32tree.h
    functionUses: 0
    functionsReached:
    - __eb_delete
    linkageType: ''
    returnType: forceinline
    signature: __eb32_delete(struct eb32_node *eb32)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/eb32tree.h:126,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb32tree.h:130,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb32tree.h:131,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32tree.h:131,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb32tree.h:138,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32tree.h:138,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb32tree.h:150,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32tree.h:151,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb32tree.h:152,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32tree.h:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - u32
    constantsTouched: []
    func_position:
      end: 163
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 163
    functionName: __eb32_lookup
    functionSourceFile: /src/haproxy/include/import/eb32tree.h
    functionUses: 2
    functionsReached:
    - container_of
    - unlikely
    - eb_gettag
    - eb_untag
    linkageType: ''
    returnType: forceinline
    signature: '*__eb32_lookup(struct eb_root *root, u32 x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/eb32tree.h:178,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb32tree.h:182,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb32tree.h:183,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32tree.h:183,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb32tree.h:190,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32tree.h:190,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb32tree.h:202,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32tree.h:203,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb32tree.h:204,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32tree.h:204,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - s32
    constantsTouched: []
    func_position:
      end: 215
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 215
    functionName: __eb32i_lookup
    functionSourceFile: /src/haproxy/include/import/eb32tree.h
    functionUses: 1
    functionsReached:
    - container_of
    - unlikely
    - eb_gettag
    - eb_untag
    linkageType: ''
    returnType: forceinline
    signature: '*__eb32i_lookup(struct eb_root *root, s32 x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/eb32tree.h:235,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb32tree.h:237,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:237,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:238,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb32tree.h:238,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:239,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb32tree.h:254,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb32tree.h:257,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb32tree.h:259,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32tree.h:259,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:261,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb32tree.h:267,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32tree.h:267,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb32tree.h:277,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:282,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb32tree.h:293,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:293,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb32tree.h:294,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:294,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb32tree.h:295,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:295,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:305,1
    - Dst: flsnz
      Src: /src/haproxy/include/import/eb32tree.h:305,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb32tree.h:305,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb32tree.h:307,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:308,1
    - Dst: likely
      Src: /src/haproxy/include/import/eb32tree.h:310,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb32tree.h:310,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb32tree.h:317,1
    - Dst: eb_insert_dup
      Src: /src/haproxy/include/import/eb32tree.h:320,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:320,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb32tree.h:321,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb32tree.h:326,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:327,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:328,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:329,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:333,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:334,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:335,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb32tree.h:345,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:345,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct eb32_node*
    constantsTouched: []
    func_position:
      end: 347
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 347
    functionName: __eb32_insert
    functionSourceFile: /src/haproxy/include/import/eb32tree.h
    functionUses: 2
    functionsReached:
    - eb_insert_dup
    - container_of
    - eb_dotag
    - eb_gettag
    - key::key
    - eb_untag
    - likely
    - node::node
    - unlikely
    - flsnz
    linkageType: ''
    returnType: forceinline
    signature: '*

      __eb32_insert(struct eb_root *root, struct eb32_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/eb32tree.h:367,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb32tree.h:369,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:369,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:370,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb32tree.h:370,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:371,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb32tree.h:388,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb32tree.h:391,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb32tree.h:392,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32tree.h:392,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:394,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb32tree.h:400,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb32tree.h:400,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb32tree.h:410,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:415,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb32tree.h:426,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:426,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb32tree.h:427,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:427,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb32tree.h:428,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:428,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:438,1
    - Dst: flsnz
      Src: /src/haproxy/include/import/eb32tree.h:438,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb32tree.h:438,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb32tree.h:440,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:441,1
    - Dst: likely
      Src: /src/haproxy/include/import/eb32tree.h:443,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb32tree.h:443,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb32tree.h:450,1
    - Dst: eb_insert_dup
      Src: /src/haproxy/include/import/eb32tree.h:453,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:453,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb32tree.h:454,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb32tree.h:459,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:460,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:461,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:462,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:466,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:467,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:468,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb32tree.h:478,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb32tree.h:478,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct eb32_node*
    constantsTouched: []
    func_position:
      end: 480
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 480
    functionName: __eb32i_insert
    functionSourceFile: /src/haproxy/include/import/eb32tree.h
    functionUses: 1
    functionsReached:
    - eb_insert_dup
    - container_of
    - eb_dotag
    - eb_gettag
    - key::key
    - eb_untag
    - likely
    - node::node
    - unlikely
    - flsnz
    linkageType: ''
    returnType: forceinline
    signature: '*

      __eb32i_insert(struct eb_root *root, struct eb32_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebimtree.h:54,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebimtree.h:57,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebimtree.h:62,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebimtree.h:63,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebimtree.h:63,1
    - Dst: eb_memcmp
      Src: /src/haproxy/include/import/ebimtree.h:65,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebimtree.h:70,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebimtree.h:70,1
    - Dst: eb_memcmp
      Src: /src/haproxy/include/import/ebimtree.h:79,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebimtree.h:121,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebimtree.h:122,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebimtree.h:123,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebimtree.h:123,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 3
    argNames:
    - root
    - x
    - len
    argTypes:
    - struct eb_root*
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 129
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 129
    functionName: __ebim_lookup
    functionSourceFile: /src/haproxy/include/import/ebimtree.h
    functionUses: 1
    functionsReached:
    - container_of
    - eb_gettag
    - eb_untag
    - unlikely
    - eb_memcmp
    linkageType: ''
    returnType: forceinline
    signature: '*

      __ebim_lookup(struct eb_root *root, const void *x, unsigned int len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebimtree.h:150,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebimtree.h:152,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:152,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:153,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebimtree.h:153,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:154,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/ebimtree.h:174,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebimtree.h:174,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebimtree.h:178,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebimtree.h:178,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebimtree.h:181,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:181,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebimtree.h:182,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:182,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebimtree.h:183,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:183,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebimtree.h:184,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:186,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/ebimtree.h:203,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebimtree.h:203,1
    - Dst: cmp_bits
      Src: /src/haproxy/include/import/ebimtree.h:211,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebimtree.h:211,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:214,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:216,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:217,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/ebimtree.h:222,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:227,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:228,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:229,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:232,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebimtree.h:233,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:233,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebimtree.h:241,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/ebimtree.h:241,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/ebimtree.h:253,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebimtree.h:253,1
    - Dst: equal_bits
      Src: /src/haproxy/include/import/ebimtree.h:257,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebimtree.h:257,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebimtree.h:269,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:269,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebimtree.h:270,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:270,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebimtree.h:271,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:271,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebimtree.h:272,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:274,1
    - Dst: cmp_bits
      Src: /src/haproxy/include/import/ebimtree.h:282,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebimtree.h:282,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:285,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:287,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:288,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:292,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:293,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:294,1
    - Dst: eb_insert_dup
      Src: /src/haproxy/include/import/ebimtree.h:298,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:298,1
    - Dst: container_of
      Src: /src/haproxy/include/import/ebimtree.h:299,1
    - Dst: key::key
      Src: /src/haproxy/include/import/ebimtree.h:306,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:319,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/ebimtree.h:320,1
    - Dst: node::node
      Src: /src/haproxy/include/import/ebimtree.h:320,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 89
    argCount: 3
    argNames:
    - root
    - new
    - len
    argTypes:
    - struct eb_root*
    - struct ebpt_node*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 322
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 322
    functionName: __ebim_insert
    functionSourceFile: /src/haproxy/include/import/ebimtree.h
    functionUses: 1
    functionsReached:
    - eb_insert_dup
    - container_of
    - equal_bits
    - eb_dotag
    - eb_gettag
    - key::key
    - eb_untag
    - cmp_bits
    - node::node
    - unlikely
    linkageType: ''
    returnType: forceinline
    signature: '*

      __ebim_insert(struct eb_root *root, struct ebpt_node *new, unsigned int len)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_entry
      Src: /src/haproxy/include/import/eb64tree.h:39,1
    - Dst: eb_first
      Src: /src/haproxy/include/import/eb64tree.h:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: eb64_first
    functionSourceFile: /src/haproxy/include/import/eb64tree.h
    functionUses: 33
    functionsReached:
    - eb64_entry
    - eb_first
    linkageType: ''
    returnType: struct eb64_node
    signature: '*eb64_first(struct eb_root *root)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_entry
      Src: /src/haproxy/include/import/eb64tree.h:45,1
    - Dst: eb_last
      Src: /src/haproxy/include/import/eb64tree.h:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - struct eb_root*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: eb64_last
    functionSourceFile: /src/haproxy/include/import/eb64tree.h
    functionUses: 4
    functionsReached:
    - eb64_entry
    - eb_last
    linkageType: ''
    returnType: struct eb64_node
    signature: '*eb64_last(struct eb_root *root)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_entry
      Src: /src/haproxy/include/import/eb64tree.h:51,1
    - Dst: eb_next
      Src: /src/haproxy/include/import/eb64tree.h:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb64
    argTypes:
    - struct eb64_node*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: eb64_next
    functionSourceFile: /src/haproxy/include/import/eb64tree.h
    functionUses: 30
    functionsReached:
    - eb64_entry
    - eb_next
    linkageType: ''
    returnType: struct eb64_node
    signature: '*eb64_next(struct eb64_node *eb64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_entry
      Src: /src/haproxy/include/import/eb64tree.h:57,1
    - Dst: eb_prev
      Src: /src/haproxy/include/import/eb64tree.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb64
    argTypes:
    - struct eb64_node*
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: eb64_prev
    functionSourceFile: /src/haproxy/include/import/eb64tree.h
    functionUses: 3
    functionsReached:
    - eb64_entry
    - eb_prev
    linkageType: ''
    returnType: struct eb64_node
    signature: '*eb64_prev(struct eb64_node *eb64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_entry
      Src: /src/haproxy/include/import/eb64tree.h:63,1
    - Dst: eb_next_dup
      Src: /src/haproxy/include/import/eb64tree.h:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb64
    argTypes:
    - struct eb64_node*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: eb64_next_dup
    functionSourceFile: /src/haproxy/include/import/eb64tree.h
    functionUses: 1
    functionsReached:
    - eb64_entry
    - eb_next_dup
    linkageType: ''
    returnType: struct eb64_node
    signature: '*eb64_next_dup(struct eb64_node *eb64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_entry
      Src: /src/haproxy/include/import/eb64tree.h:69,1
    - Dst: eb_prev_dup
      Src: /src/haproxy/include/import/eb64tree.h:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb64
    argTypes:
    - struct eb64_node*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: eb64_prev_dup
    functionSourceFile: /src/haproxy/include/import/eb64tree.h
    functionUses: 0
    functionsReached:
    - eb64_entry
    - eb_prev_dup
    linkageType: ''
    returnType: struct eb64_node
    signature: '*eb64_prev_dup(struct eb64_node *eb64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_entry
      Src: /src/haproxy/include/import/eb64tree.h:75,1
    - Dst: eb_next_unique
      Src: /src/haproxy/include/import/eb64tree.h:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb64
    argTypes:
    - struct eb64_node*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 3
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: eb64_next_unique
    functionSourceFile: /src/haproxy/include/import/eb64tree.h
    functionUses: 0
    functionsReached:
    - eb64_entry
    - eb_next_unique
    linkageType: ''
    returnType: struct eb64_node
    signature: '*eb64_next_unique(struct eb64_node *eb64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb64_entry
      Src: /src/haproxy/include/import/eb64tree.h:81,1
    - Dst: eb_prev_unique
      Src: /src/haproxy/include/import/eb64tree.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb64
    argTypes:
    - struct eb64_node*
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: eb64_prev_unique
    functionSourceFile: /src/haproxy/include/import/eb64tree.h
    functionUses: 0
    functionsReached:
    - eb64_entry
    - eb_prev_unique
    linkageType: ''
    returnType: struct eb64_node
    signature: '*eb64_prev_unique(struct eb64_node *eb64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_delete
      Src: /src/haproxy/include/import/eb64tree.h:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb64
    argTypes:
    - struct eb64_node*
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: eb64_delete
    functionSourceFile: /src/haproxy/include/import/eb64tree.h
    functionUses: 35
    functionsReached:
    - eb_delete
    linkageType: ''
    returnType: void
    signature: eb64_delete(struct eb64_node *eb64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: __eb_delete
      Src: /src/haproxy/include/import/eb64tree.h:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - eb64
    argTypes:
    - struct eb64_node*
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: __eb64_delete
    functionSourceFile: /src/haproxy/include/import/eb64tree.h
    functionUses: 1
    functionsReached:
    - __eb_delete
    linkageType: ''
    returnType: forceinline
    signature: __eb64_delete(struct eb64_node *eb64)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/eb64tree.h:125,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb64tree.h:129,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb64tree.h:130,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb64tree.h:130,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb64tree.h:137,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb64tree.h:137,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb64tree.h:148,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb64tree.h:149,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb64tree.h:150,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb64tree.h:150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - u64
    constantsTouched: []
    func_position:
      end: 161
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 161
    functionName: __eb64_lookup
    functionSourceFile: /src/haproxy/include/import/eb64tree.h
    functionUses: 3
    functionsReached:
    - container_of
    - unlikely
    - eb_gettag
    - eb_untag
    linkageType: ''
    returnType: forceinline
    signature: '*__eb64_lookup(struct eb_root *root, u64 x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/eb64tree.h:175,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb64tree.h:179,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb64tree.h:180,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb64tree.h:180,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb64tree.h:187,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb64tree.h:187,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb64tree.h:198,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb64tree.h:199,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb64tree.h:200,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb64tree.h:200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - root
    - x
    argTypes:
    - struct eb_root*
    - s64
    constantsTouched: []
    func_position:
      end: 211
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 211
    functionName: __eb64i_lookup
    functionSourceFile: /src/haproxy/include/import/eb64tree.h
    functionUses: 1
    functionsReached:
    - container_of
    - unlikely
    - eb_gettag
    - eb_untag
    linkageType: ''
    returnType: forceinline
    signature: '*__eb64i_lookup(struct eb_root *root, s64 x)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/eb64tree.h:229,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:231,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:231,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:232,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:232,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:233,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb64tree.h:248,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/eb64tree.h:251,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb64tree.h:251,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb64tree.h:255,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb64tree.h:255,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:258,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:258,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:259,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:259,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:260,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:260,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:261,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:263,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:282,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:284,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:285,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb64tree.h:290,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb64tree.h:290,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:295,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:296,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:297,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb64tree.h:299,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:300,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:301,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:301,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb64tree.h:309,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb64tree.h:309,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb64tree.h:319,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:327,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:327,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:328,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:328,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:329,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:329,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:330,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:332,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:335,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:337,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:338,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb64tree.h:340,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:342,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:343,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:344,1
    - Dst: eb_insert_dup
      Src: /src/haproxy/include/import/eb64tree.h:348,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:348,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb64tree.h:349,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:387,1
    - Dst: fls64
      Src: /src/haproxy/include/import/eb64tree.h:387,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb64tree.h:387,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:388,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:388,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 81
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct eb64_node*
    constantsTouched: []
    func_position:
      end: 391
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 391
    functionName: __eb64_insert
    functionSourceFile: /src/haproxy/include/import/eb64tree.h
    functionUses: 3
    functionsReached:
    - eb_insert_dup
    - container_of
    - eb_dotag
    - eb_gettag
    - key::key
    - eb_untag
    - node::node
    - unlikely
    - fls64
    linkageType: ''
    returnType: forceinline
    signature: '*

      __eb64_insert(struct eb_root *root, struct eb64_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/haproxy/include/import/eb64tree.h:409,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:411,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:411,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:412,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:412,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:413,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb64tree.h:430,1
    - Dst: unlikely
      Src: /src/haproxy/include/import/eb64tree.h:433,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb64tree.h:433,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb64tree.h:437,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb64tree.h:437,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:440,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:440,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:441,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:441,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:442,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:442,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:443,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:445,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:464,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:466,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:467,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb64tree.h:472,1
    - Dst: eb_gettag
      Src: /src/haproxy/include/import/eb64tree.h:472,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:477,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:478,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:479,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb64tree.h:481,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:482,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:483,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:483,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb64tree.h:491,1
    - Dst: eb_untag
      Src: /src/haproxy/include/import/eb64tree.h:491,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb64tree.h:501,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:509,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:509,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:510,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:510,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:511,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:511,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:512,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:514,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:517,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:519,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:520,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb64tree.h:522,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:524,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:525,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:526,1
    - Dst: eb_insert_dup
      Src: /src/haproxy/include/import/eb64tree.h:530,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:530,1
    - Dst: container_of
      Src: /src/haproxy/include/import/eb64tree.h:531,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:569,1
    - Dst: fls64
      Src: /src/haproxy/include/import/eb64tree.h:569,1
    - Dst: key::key
      Src: /src/haproxy/include/import/eb64tree.h:569,1
    - Dst: eb_dotag
      Src: /src/haproxy/include/import/eb64tree.h:570,1
    - Dst: node::node
      Src: /src/haproxy/include/import/eb64tree.h:570,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 81
    argCount: 2
    argNames:
    - root
    - new
    argTypes:
    - struct eb_root*
    - struct eb64_node*
    constantsTouched: []
    func_position:
      end: 573
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 573
    functionName: __eb64i_insert
    functionSourceFile: /src/haproxy/include/import/eb64tree.h
    functionUses: 1
    functionsReached:
    - eb_insert_dup
    - container_of
    - eb_dotag
    - eb_gettag
    - key::key
    - eb_untag
    - node::node
    - unlikely
    - fls64
    linkageType: ''
    returnType: forceinline
    signature: '*

      __eb64i_insert(struct eb_root *root, struct eb64_node *new)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/deviceatlas/da.c:56,1
    - Dst: strdup
      Src: /src/haproxy/addons/deviceatlas/da.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: da_json_file
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strdup
    linkageType: ''
    returnType: int
    signature: "da_json_file(char **args, int section_type, struct proxy *curpx,\n
      \                       const struct proxy *defpx, const char *file, int line,\n
      \                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/deviceatlas/da.c:69,1
    - Dst: atol
      Src: /src/haproxy/addons/deviceatlas/da.c:73,1
    - Dst: memprintf
      Src: /src/haproxy/addons/deviceatlas/da.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: da_log_level
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    linkageType: ''
    returnType: int
    signature: "da_log_level(char **args, int section_type, struct proxy *curpx,\n
      \                       const struct proxy *defpx, const char *file, int line,\n
      \                       char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/deviceatlas/da.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: da_property_separator
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: "da_property_separator(char **args, int section_type, struct proxy
      *curpx,\n                                 const struct proxy *defpx, const char
      *file, int line,\n                                 char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/deviceatlas/da.c:100,1
    - Dst: strdup
      Src: /src/haproxy/addons/deviceatlas/da.c:103,1
    - Dst: strlen
      Src: /src/haproxy/addons/deviceatlas/da.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 107
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 107
    functionName: da_properties_cookie
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strlen
    - strdup
    linkageType: ''
    returnType: int
    signature: "da_properties_cookie(char **args, int section_type, struct proxy *curpx,\n
      \                         const struct proxy *defpx, const char *file, int line,\n
      \                         char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/deviceatlas/da.c:115,1
    - Dst: atol
      Src: /src/haproxy/addons/deviceatlas/da.c:119,1
    - Dst: memprintf
      Src: /src/haproxy/addons/deviceatlas/da.c:121,1
    - Dst: fprintf
      Src: /src/haproxy/addons/deviceatlas/da.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 130
      start: 109
    functionDepth: 5
    functionLinenumber: 109
    functionLinenumberEnd: 130
    functionName: da_cache_size
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atol
    - fprintf
    linkageType: ''
    returnType: int
    signature: "da_cache_size(char **args, int section_type, struct proxy *curpx,\n
      \       const struct proxy *defpx, const char *file, int line,\n        char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/haproxy/addons/deviceatlas/da.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - len
    - buf
    argTypes:
    - void*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: da_haproxy_read
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - fread
    linkageType: ''
    returnType: size_t
    signature: da_haproxy_read(void *ctx, size_t len, char *buf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/haproxy/addons/deviceatlas/da.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - 'off'
    argTypes:
    - void*
    - off_t
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: da_haproxy_seek
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - fseek
    linkageType: ''
    returnType: da_status_t
    signature: da_haproxy_seek(void *ctx, off_t off)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/haproxy/addons/deviceatlas/da.c:147,1
    - Dst: ha_warning
      Src: /src/haproxy/addons/deviceatlas/da.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - severity
    - status
    - fmt
    - args
    argTypes:
    - da_severity_t
    - da_status_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 9
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: da_haproxy_log
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - ha_warning
    linkageType: ''
    returnType: void
    signature: "da_haproxy_log(da_severity_t severity, da_status_t status,\n\tconst
      char *fmt, va_list args)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/haproxy/addons/deviceatlas/da.c:167,1
    - Dst: ha_alert
      Src: /src/haproxy/addons/deviceatlas/da.c:169,1
    - Dst: da_init
      Src: /src/haproxy/addons/deviceatlas/da.c:175,1
    - Dst: da_seterrorfunc
      Src: /src/haproxy/addons/deviceatlas/da.c:176,1
    - Dst: da_atlas_compile
      Src: /src/haproxy/addons/deviceatlas/da.c:177,1
    - Dst: fclose
      Src: /src/haproxy/addons/deviceatlas/da.c:179,1
    - Dst: ha_alert
      Src: /src/haproxy/addons/deviceatlas/da.c:181,1
    - Dst: da_atlas_open
      Src: /src/haproxy/addons/deviceatlas/da.c:187,1
    - Dst: ha_alert
      Src: /src/haproxy/addons/deviceatlas/da.c:191,1
    - Dst: strdup
      Src: /src/haproxy/addons/deviceatlas/da.c:199,1
    - Dst: strlen
      Src: /src/haproxy/addons/deviceatlas/da.c:200,1
    - Dst: da_atlas_header_evidence_id
      Src: /src/haproxy/addons/deviceatlas/da.c:203,1
    - Dst: shm_open
      Src: /src/haproxy/addons/deviceatlas/da.c:205,1
    - Dst: mmap
      Src: /src/haproxy/addons/deviceatlas/da.c:206,1
    - Dst: close
      Src: /src/haproxy/addons/deviceatlas/da.c:208,1
    - Dst: fprintf
      Src: /src/haproxy/addons/deviceatlas/da.c:212,1
    - Dst: fprintf
      Src: /src/haproxy/addons/deviceatlas/da.c:217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 157
    functionDepth: 9
    functionLinenumber: 157
    functionLinenumberEnd: 222
    functionName: init_deviceatlas
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - da_init
    - da_atlas_compile
    - strlen
    - da_atlas_header_evidence_id
    - mmap
    - strdup
    - da_atlas_open
    - shm_open
    - fprintf
    - da_seterrorfunc
    - close
    - fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: init_deviceatlas(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/addons/deviceatlas/da.c:227,1
    - Dst: free
      Src: /src/haproxy/addons/deviceatlas/da.c:231,1
    - Dst: da_atlas_close
      Src: /src/haproxy/addons/deviceatlas/da.c:232,1
    - Dst: free
      Src: /src/haproxy/addons/deviceatlas/da.c:233,1
    - Dst: munmap
      Src: /src/haproxy/addons/deviceatlas/da.c:237,1
    - Dst: close
      Src: /src/haproxy/addons/deviceatlas/da.c:238,1
    - Dst: shm_unlink
      Src: /src/haproxy/addons/deviceatlas/da.c:239,1
    - Dst: da_fini
      Src: /src/haproxy/addons/deviceatlas/da.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 243
    functionName: deinit_deviceatlas
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - da_fini
    - munmap
    - free
    - shm_unlink
    - da_atlas_close
    - close
    linkageType: ''
    returnType: void
    signature: deinit_deviceatlas(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/addons/deviceatlas/da.c:260,1
    - Dst: strlcpy2
      Src: /src/haproxy/addons/deviceatlas/da.c:262,1
    - Dst: fopen
      Src: /src/haproxy/addons/deviceatlas/da.c:263,1
    - Dst: ha_alert
      Src: /src/haproxy/addons/deviceatlas/da.c:265,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/addons/deviceatlas/da.c:268,1
    - Dst: da_atlas_compile
      Src: /src/haproxy/addons/deviceatlas/da.c:273,1
    - Dst: fclose
      Src: /src/haproxy/addons/deviceatlas/da.c:275,1
    - Dst: da_atlas_open
      Src: /src/haproxy/addons/deviceatlas/da.c:277,1
    - Dst: da_atlas_close
      Src: /src/haproxy/addons/deviceatlas/da.c:278,1
    - Dst: free
      Src: /src/haproxy/addons/deviceatlas/da.c:279,1
    - Dst: ha_notice
      Src: /src/haproxy/addons/deviceatlas/da.c:283,1
    - Dst: da_getdatacreationiso8601
      Src: /src/haproxy/addons/deviceatlas/da.c:284,1
    - Dst: ha_alert
      Src: /src/haproxy/addons/deviceatlas/da.c:286,1
    - Dst: free
      Src: /src/haproxy/addons/deviceatlas/da.c:287,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/addons/deviceatlas/da.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 245
    functionDepth: 9
    functionLinenumber: 245
    functionLinenumberEnd: 295
    functionName: da_haproxy_checkinst
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - strlcpy2
    - da_atlas_compile
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - free
    - da_atlas_open
    - da_getdatacreationiso8601
    - da_atlas_close
    - ha_notice
    - fopen
    - fclose
    linkageType: ''
    returnType: void
    signature: da_haproxy_checkinst(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/addons/deviceatlas/da.c:306,1
    - Dst: chunk_reset
      Src: /src/haproxy/addons/deviceatlas/da.c:307,1
    - Dst: da_atlas_getpropid
      Src: /src/haproxy/addons/deviceatlas/da.c:314,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/deviceatlas/da.c:317,1
    - Dst: da_atlas_getproptype
      Src: /src/haproxy/addons/deviceatlas/da.c:321,1
    - Dst: da_getpropboolean
      Src: /src/haproxy/addons/deviceatlas/da.c:326,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/deviceatlas/da.c:328,1
    - Dst: da_getpropinteger
      Src: /src/haproxy/addons/deviceatlas/da.c:335,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/deviceatlas/da.c:337,1
    - Dst: da_getpropstring
      Src: /src/haproxy/addons/deviceatlas/da.c:343,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/deviceatlas/da.c:345,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/deviceatlas/da.c:353,1
    - Dst: da_close
      Src: /src/haproxy/addons/deviceatlas/da.c:356,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 3
    argNames:
    - args
    - smp
    - devinfo
    argTypes:
    - struct arg*
    - struct sample*
    - da_deviceinfo_t*
    constantsTouched: []
    func_position:
      end: 368
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 368
    functionName: da_haproxy
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - da_close
    - da_atlas_getpropid
    - da_atlas_getproptype
    - chunk_appendf
    - get_trash_chunk
    - da_getpropinteger
    - da_getpropstring
    - da_getpropboolean
    linkageType: ''
    returnType: int
    signature: da_haproxy(const struct arg *args, struct sample *smp, da_deviceinfo_t
      *devinfo)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: da_haproxy_checkinst
      Src: /src/haproxy/addons/deviceatlas/da.c:382,1
    - Dst: memcpy
      Src: /src/haproxy/addons/deviceatlas/da.c:385,1
    - Dst: da_search
      Src: /src/haproxy/addons/deviceatlas/da.c:390,1
    - Dst: da_haproxy
      Src: /src/haproxy/addons/deviceatlas/da.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 394
      start: 370
    functionDepth: 10
    functionLinenumber: 370
    functionLinenumberEnd: 394
    functionName: da_haproxy_conv
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - memcpy
    - da_haproxy_checkinst
    - da_search
    - da_haproxy
    linkageType: ''
    returnType: int
    signature: da_haproxy_conv(const struct arg *args, struct sample *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: da_haproxy_checkinst
      Src: /src/haproxy/addons/deviceatlas/da.c:413,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/addons/deviceatlas/da.c:416,1
    - Dst: htx_get_first_blk
      Src: /src/haproxy/addons/deviceatlas/da.c:421,1
    - Dst: htx_get_next_blk
      Src: /src/haproxy/addons/deviceatlas/da.c:421,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/addons/deviceatlas/da.c:430,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/addons/deviceatlas/da.c:433,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/addons/deviceatlas/da.c:434,1
    - Dst: memcpy
      Src: /src/haproxy/addons/deviceatlas/da.c:446,1
    - Dst: memcpy
      Src: /src/haproxy/addons/deviceatlas/da.c:452,1
    - Dst: strcasecmp
      Src: /src/haproxy/addons/deviceatlas/da.c:456,1
    - Dst: da_atlas_accept_language_evidence_id
      Src: /src/haproxy/addons/deviceatlas/da.c:457,1
    - Dst: strcasecmp
      Src: /src/haproxy/addons/deviceatlas/da.c:458,1
    - Dst: http_extract_cookie_value
      Src: /src/haproxy/addons/deviceatlas/da.c:467,1
    - Dst: da_atlas_clientprop_evidence_id
      Src: /src/haproxy/addons/deviceatlas/da.c:474,1
    - Dst: da_atlas_header_evidence_id
      Src: /src/haproxy/addons/deviceatlas/da.c:476,1
    - Dst: memcpy
      Src: /src/haproxy/addons/deviceatlas/da.c:484,1
    - Dst: da_searchv
      Src: /src/haproxy/addons/deviceatlas/da.c:491,1
    - Dst: da_haproxy
      Src: /src/haproxy/addons/deviceatlas/da.c:494,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 495
      start: 398
    functionDepth: 10
    functionLinenumber: 398
    functionLinenumberEnd: 495
    functionName: da_haproxy_fetch
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - htx_get_blk_name
    - strcasecmp
    - da_atlas_accept_language_evidence_id
    - http_extract_cookie_value
    - htx_get_first_blk
    - da_atlas_header_evidence_id
    - da_haproxy
    - htx_get_blk_type
    - da_searchv
    - da_atlas_clientprop_evidence_id
    - htx_get_blk_value
    - htx_get_next_blk
    - memcpy
    - da_haproxy_checkinst
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: da_haproxy_fetch(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/deviceatlas/da.c:527,1
    - Dst: memprintf
      Src: /src/haproxy/addons/deviceatlas/da.c:529,1
    - Dst: hap_register_build_opts
      Src: /src/haproxy/addons/deviceatlas/da.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 522
    functionDepth: 5
    functionLinenumber: 522
    functionLinenumberEnd: 532
    functionName: da_haproxy_register_build_options
    functionSourceFile: /src/haproxy/addons/deviceatlas/da.c
    functionUses: 0
    functionsReached:
    - memprintf
    - hap_register_build_opts
    linkageType: ''
    returnType: void
    signature: da_haproxy_register_build_options()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - atlas
    argTypes:
    - da_atlas_t*
    constantsTouched: []
    func_position:
      end: 6
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 6
    functionName: da_atlas_cache_init
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dacache.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: da_atlas_cache_init(const da_atlas_t *atlas)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - atlas
    - h
    - info
    argTypes:
    - da_atlas_t*
    - unsigned long long
    - da_deviceinfo_t*
    constantsTouched: []
    func_position:
      end: 13
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 13
    functionName: da_atlas_cache_insert
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dacache.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: da_status_t
    signature: da_atlas_cache_insert(const da_atlas_t *atlas, unsigned long long h,
      da_deviceinfo_t *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - atlas
    - h
    - info
    argTypes:
    - da_atlas_t*
    - unsigned long long
    - da_deviceinfo_t**
    constantsTouched: []
    func_position:
      end: 20
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 20
    functionName: da_atlas_cache_search
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dacache.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: da_status_t
    signature: da_atlas_cache_search(const da_atlas_t *atlas, unsigned long long h,
      da_deviceinfo_t **info)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - atlas
    argTypes:
    - da_atlas_t*
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: da_atlas_cache_close
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dacache.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: da_atlas_cache_close(da_atlas_t *atlas)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: da_init
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: da_init()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: da_fini
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: da_fini()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - callback
    argTypes:
    - da_errorfunc_t
    constantsTouched: []
    func_position:
      end: 31
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 31
    functionName: da_seterrorfunc
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: da_seterrorfunc(da_errorfunc_t callback)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fieldtype
    argTypes:
    - da_type_t
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: da_typename
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*

      da_typename(da_type_t fieldtype)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - atlas
    argTypes:
    - da_atlas_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: da_getdataversion
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*

      da_getdataversion(const da_atlas_t *atlas)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/haproxy/addons/deviceatlas/dummy/dac.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - atlas
    argTypes:
    - da_atlas_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: da_getdatacreation
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 0
    functionsReached:
    - time
    linkageType: ''
    returnType: time_t
    signature: da_getdatacreation(const da_atlas_t *atlas)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - atlas
    argTypes:
    - da_atlas_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: da_getdatacreationiso8601
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*

      da_getdatacreationiso8601(const da_atlas_t *atlas)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - readfn
    - rewind
    - ptr
    - size
    argTypes:
    - void*
    - da_read_fn
    - da_setpos_fn
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: da_atlas_compile
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: da_status_t
    signature: da_atlas_compile(void *ctx, da_read_fn readfn, da_setpos_fn rewind,
      void **ptr, size_t *size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/addons/deviceatlas/dummy/dac.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - atlas
    - extraprops
    - ptr
    - len
    argTypes:
    - da_atlas_t*
    - da_property_decl_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: da_atlas_open
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: da_status_t
    signature: da_atlas_open(da_atlas_t *atlas, da_property_decl_t *extraprops, const
      void *ptr, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - atlas
    argTypes:
    - da_atlas_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: da_atlas_close
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: da_atlas_close(da_atlas_t *atlas)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - atlas
    argTypes:
    - da_atlas_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: da_atlas_clientprop_evidence_id
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: da_evidence_id_t
    signature: da_atlas_clientprop_evidence_id(const da_atlas_t *atlas)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - atlas
    argTypes:
    - da_atlas_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: da_atlas_accept_language_evidence_id
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: da_evidence_id_t
    signature: da_atlas_accept_language_evidence_id(const da_atlas_t *atlas)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - atlas
    - evidence_name
    argTypes:
    - da_atlas_t*
    - char*
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: da_atlas_header_evidence_id
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: da_evidence_id_t
    signature: da_atlas_header_evidence_id(const da_atlas_t *atlas, const char *evidence_name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - atlas
    - propid
    - type
    argTypes:
    - da_atlas_t*
    - da_propid_t
    - da_type_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: da_atlas_getproptype
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: da_status_t
    signature: da_atlas_getproptype(const da_atlas_t *atlas, da_propid_t propid, da_type_t
      *type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - atlas
    - propid
    - name
    argTypes:
    - da_atlas_t*
    - da_propid_t
    - char**
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: da_atlas_getpropname
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: da_status_t
    signature: da_atlas_getpropname(const da_atlas_t *atlas, da_propid_t propid, const
      char **name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - atlas
    - propname
    - property
    argTypes:
    - da_atlas_t*
    - char*
    - da_propid_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: da_atlas_getpropid
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: da_status_t
    signature: da_atlas_getpropid(const da_atlas_t *atlas, const char *propname, da_propid_t
      *property)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - atlas
    argTypes:
    - da_atlas_t*
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: da_atlas_getpropcount
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: da_atlas_getpropcount(const da_atlas_t *atlas)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/addons/deviceatlas/dummy/dac.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - atlas
    - result
    - evidence
    - count
    argTypes:
    - da_atlas_t*
    - da_deviceinfo_t*
    - da_evidence_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: da_searchv
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: da_status_t
    signature: da_searchv(const da_atlas_t *atlas, da_deviceinfo_t *result, da_evidence_t
      *evidence, size_t count)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/addons/deviceatlas/dummy/dac.c:135,1
    - Dst: va_arg
      Src: /src/haproxy/addons/deviceatlas/dummy/dac.c:137,1
    - Dst: va_arg
      Src: /src/haproxy/addons/deviceatlas/dummy/dac.c:140,1
    - Dst: va_end
      Src: /src/haproxy/addons/deviceatlas/dummy/dac.c:142,1
    - Dst: da_searchv
      Src: /src/haproxy/addons/deviceatlas/dummy/dac.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - atlas
    - result
    argTypes:
    - da_atlas_t*
    - da_deviceinfo_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 144
    functionName: da_search
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 1
    functionsReached:
    - va_end
    - da_searchv
    - va_start
    - va_arg
    linkageType: ''
    returnType: da_status_t
    signature: da_search(const da_atlas_t *atlas, da_deviceinfo_t *result, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - da_deviceinfo_t*
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: da_getpropcount
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: da_getpropcount(const da_deviceinfo_t *info)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - info
    - propid
    argTypes:
    - da_deviceinfo_t*
    - da_propid_t**
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: da_getfirstprop
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: da_status_t
    signature: da_getfirstprop(const da_deviceinfo_t *info, da_propid_t **propid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - info
    - propid
    argTypes:
    - da_deviceinfo_t*
    - da_propid_t**
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: da_getnextprop
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: da_status_t
    signature: da_getnextprop(const da_deviceinfo_t *info, da_propid_t **propid)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sr
    argTypes:
    - da_deviceinfo_t*
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: da_close
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: da_close(da_deviceinfo_t *sr)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - propid
    - name
    argTypes:
    - da_deviceinfo_t*
    - da_propid_t
    - char**
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: da_getpropname
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: da_status_t
    signature: da_getpropname(const da_deviceinfo_t *info, da_propid_t propid, const
      char **name)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - propid
    - type
    argTypes:
    - da_deviceinfo_t*
    - da_propid_t
    - da_type_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: da_getproptype
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: da_status_t
    signature: da_getproptype(const da_deviceinfo_t *info, da_propid_t propid, da_type_t
      *type)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - property
    - vp
    argTypes:
    - da_deviceinfo_t*
    - da_propid_t
    - long*
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: da_getpropinteger
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: da_status_t
    signature: da_getpropinteger(const da_deviceinfo_t *info, da_propid_t property,
      long *vp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - property
    - vp
    argTypes:
    - da_deviceinfo_t*
    - da_propid_t
    - char**
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: da_getpropstring
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: da_status_t
    signature: da_getpropstring(const da_deviceinfo_t *info, da_propid_t property,
      const char **vp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - info
    - property
    - vp
    argTypes:
    - da_deviceinfo_t*
    - da_propid_t
    - bool*
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: da_getpropboolean
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: da_status_t
    signature: da_getpropboolean(const da_deviceinfo_t *info, da_propid_t property,
      bool *vp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - atlas
    - property
    argTypes:
    - da_atlas_t*
    - da_propid_t
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: da_get_property_name
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/dac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*

      da_get_property_name(const da_atlas_t *atlas, da_propid_t property)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - path
    - m
    - p
    - l
    argTypes:
    - char*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 9
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 9
    functionName: da_atlas_read_mapped
    functionSourceFile: /src/haproxy/addons/deviceatlas/dummy/Os/daunix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: da_status_t
    signature: da_atlas_read_mapped(const char *path, void *m, void **p, size_t *l)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/http.c:43,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/http.c:46,1
    - Dst: htxbuf
      Src: /src/haproxy/addons/ot/src/http.c:48,1
    - Dst: htx_is_empty
      Src: /src/haproxy/addons/ot/src/http.c:50,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/http.c:51,1
    - Dst: htx_get_first
      Src: /src/haproxy/addons/ot/src/http.c:53,1
    - Dst: htx_get_next
      Src: /src/haproxy/addons/ot/src/http.c:53,1
    - Dst: htx_get_blk
      Src: /src/haproxy/addons/ot/src/http.c:54,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/addons/ot/src/http.c:55,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/addons/ot/src/http.c:58,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/addons/ot/src/http.c:59,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/http.c:61,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/http.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 68
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 68
    functionName: flt_ot_http_headers_dump
    functionSourceFile: /src/haproxy/addons/ot/src/http.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - htx_get_blk_name
    - FLT_OT_DBG
    - htxbuf
    - htx_get_blk
    - htx_get_blk_type
    - htx_get_blk_value
    - htx_is_empty
    - htx_get_next
    - htx_get_first
    linkageType: ''
    returnType: void
    signature: flt_ot_http_headers_dump(const struct channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/http.c:97,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/http.c:97,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/http.c:100,1
    - Dst: FLT_OT_STR_ISVALID
      Src: /src/haproxy/addons/ot/src/http.c:112,1
    - Dst: htxbuf
      Src: /src/haproxy/addons/ot/src/http.c:115,1
    - Dst: htx_get_first
      Src: /src/haproxy/addons/ot/src/http.c:117,1
    - Dst: htx_get_next
      Src: /src/haproxy/addons/ot/src/http.c:117,1
    - Dst: htx_get_blk
      Src: /src/haproxy/addons/ot/src/http.c:118,1
    - Dst: htx_get_blk_type
      Src: /src/haproxy/addons/ot/src/http.c:119,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/addons/ot/src/http.c:122,1
    - Dst: strncasecmp
      Src: /src/haproxy/addons/ot/src/http.c:124,1
    - Dst: otc_text_map_new
      Src: /src/haproxy/addons/ot/src/http.c:126,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/http.c:128,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/addons/ot/src/http.c:134,1
    - Dst: ist
      Src: /src/haproxy/addons/ot/src/http.c:145,1
    - Dst: otc_text_map_add
      Src: /src/haproxy/addons/ot/src/http.c:154,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/http.c:155,1
    - Dst: otc_text_map_destroy
      Src: /src/haproxy/addons/ot/src/http.c:157,1
    - Dst: ot_text_map_show
      Src: /src/haproxy/addons/ot/src/http.c:167,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/http.c:170,1
    - Dst: otc_text_map_destroy
      Src: /src/haproxy/addons/ot/src/http.c:172,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/http.c:175,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 4
    argNames:
    - chn
    - prefix
    - len
    - err
    argTypes:
    - struct channel*
    - char*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 176
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 176
    functionName: flt_ot_http_headers_get
    functionSourceFile: /src/haproxy/addons/ot/src/http.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - ot_text_map_show
    - FLT_OT_DBG
    - ist
    - otc_text_map_new
    - strncasecmp
    - htx_get_blk_value
    - htx_get_first
    - FLT_OT_RETURN_PTR
    - htx_get_blk
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FUNC
    - otc_text_map_destroy
    - htxbuf
    - htx_get_blk_type
    - FLT_OT_STR_ISVALID
    - htx_get_blk_name
    - htx_get_next
    - otc_text_map_add
    linkageType: ''
    returnType: struct otc_text_map
    signature: '*flt_ot_http_headers_get(struct channel *chn, const char *prefix,
      size_t len, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/http.c:205,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/http.c:205,1
    - Dst: FLT_OT_STR_ISVALID
      Src: /src/haproxy/addons/ot/src/http.c:207,1
    - Dst: FLT_OT_STR_ISVALID
      Src: /src/haproxy/addons/ot/src/http.c:207,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/http.c:208,1
    - Dst: htxbuf
      Src: /src/haproxy/addons/ot/src/http.c:210,1
    - Dst: htx_is_empty
      Src: /src/haproxy/addons/ot/src/http.c:216,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/http.c:217,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/http.c:219,1
    - Dst: FLT_OT_STR_ISVALID
      Src: /src/haproxy/addons/ot/src/http.c:222,1
    - Dst: ist2
      Src: /src/haproxy/addons/ot/src/http.c:223,1
    - Dst: strlen
      Src: /src/haproxy/addons/ot/src/http.c:223,1
    - Dst: FLT_OT_STR_ISVALID
      Src: /src/haproxy/addons/ot/src/http.c:225,1
    - Dst: ist2
      Src: /src/haproxy/addons/ot/src/http.c:226,1
    - Dst: strlen
      Src: /src/haproxy/addons/ot/src/http.c:226,1
    - Dst: flt_ot_trash_alloc
      Src: /src/haproxy/addons/ot/src/http.c:229,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/http.c:231,1
    - Dst: chunk_printf
      Src: /src/haproxy/addons/ot/src/http.c:233,1
    - Dst: ist2
      Src: /src/haproxy/addons/ot/src/http.c:235,1
    - Dst: http_find_header
      Src: /src/haproxy/addons/ot/src/http.c:239,1
    - Dst: ist
      Src: /src/haproxy/addons/ot/src/http.c:239,1
    - Dst: htx_get_blk_name
      Src: /src/haproxy/addons/ot/src/http.c:240,1
    - Dst: htx_get_blk_value
      Src: /src/haproxy/addons/ot/src/http.c:242,1
    - Dst: FLT_OT_STR_ISVALID
      Src: /src/haproxy/addons/ot/src/http.c:249,1
    - Dst: isteqi
      Src: /src/haproxy/addons/ot/src/http.c:252,1
    - Dst: http_remove_header
      Src: /src/haproxy/addons/ot/src/http.c:253,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/http.c:254,1
    - Dst: http_add_header
      Src: /src/haproxy/addons/ot/src/http.c:264,1
    - Dst: ist
      Src: /src/haproxy/addons/ot/src/http.c:264,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/http.c:267,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/http.c:270,1
    - Dst: flt_ot_trash_free
      Src: /src/haproxy/addons/ot/src/http.c:273,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/http.c:275,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 5
    argNames:
    - chn
    - prefix
    - name
    - value
    - err
    argTypes:
    - struct channel*
    - char*
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 276
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 276
    functionName: flt_ot_http_header_set
    functionSourceFile: /src/haproxy/addons/ot/src/http.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_DBG
    - ist
    - htx_get_blk_value
    - FLT_OT_RETURN_INT
    - isteqi
    - ist2
    - htx_is_empty
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FUNC
    - flt_ot_trash_free
    - strlen
    - htxbuf
    - chunk_printf
    - FLT_OT_STR_ISVALID
    - http_add_header
    - htx_get_blk_name
    - flt_ot_trash_alloc
    - http_remove_header
    - http_find_header
    linkageType: ''
    returnType: int
    signature: flt_ot_http_header_set(struct channel *chn, const char *prefix, const
      char *name, const char *value, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/http.c:298,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/http.c:298,1
    - Dst: flt_ot_http_header_set
      Src: /src/haproxy/addons/ot/src/http.c:300,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/http.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - chn
    - prefix
    - err
    argTypes:
    - struct channel*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 4
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: flt_ot_http_headers_remove
    functionSourceFile: /src/haproxy/addons/ot/src/http.c
    functionUses: 0
    functionsReached:
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - flt_ot_http_header_set
    - FLT_OT_FUNC
    linkageType: ''
    returnType: int
    signature: flt_ot_http_headers_remove(struct channel *chn, const char *prefix,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: vars_rdlock
      Src: /src/haproxy/addons/ot/src/vars.c:47,1
    - Dst: cebu64_first
      Src: /src/haproxy/addons/ot/src/vars.c:49,1
    - Dst: cebu64_next
      Src: /src/haproxy/addons/ot/src/vars.c:51,1
    - Dst: container_of
      Src: /src/haproxy/addons/ot/src/vars.c:52,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/vars.c:54,1
    - Dst: b_data
      Src: /src/haproxy/addons/ot/src/vars.c:54,1
    - Dst: b_orig
      Src: /src/haproxy/addons/ot/src/vars.c:54,1
    - Dst: vars_rdunlock
      Src: /src/haproxy/addons/ot/src/vars.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - vars
    - scope
    argTypes:
    - struct vars*
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: flt_ot_vars_scope_dump
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - container_of
    - FLT_OT_DBG
    - cebu64_first
    - cebu64_next
    - vars_rdunlock
    - vars_rdlock
    - b_data
    - b_orig
    linkageType: ''
    returnType: void
    signature: flt_ot_vars_scope_dump(struct vars *vars, const char *scope)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/vars.c:77,1
    - Dst: flt_ot_vars_scope_dump
      Src: /src/haproxy/addons/ot/src/vars.c:84,1
    - Dst: flt_ot_vars_scope_dump
      Src: /src/haproxy/addons/ot/src/vars.c:85,1
    - Dst: flt_ot_vars_scope_dump
      Src: /src/haproxy/addons/ot/src/vars.c:86,1
    - Dst: flt_ot_vars_scope_dump
      Src: /src/haproxy/addons/ot/src/vars.c:87,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/vars.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: flt_ot_vars_dump
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - flt_ot_vars_scope_dump
    - FLT_OT_FUNC
    - FLT_OT_RETURN
    linkageType: ''
    returnType: void
    signature: flt_ot_vars_dump(struct stream *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/vars.c:116,1
    - Dst: smp_set_owner
      Src: /src/haproxy/addons/ot/src/vars.c:117,1
    - Dst: chunk_initstr
      Src: /src/haproxy/addons/ot/src/vars.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - s
    - smp
    - opt
    - type
    - data
    argTypes:
    - struct stream*
    - struct sample*
    - uint
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: flt_ot_smp_init
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - memset
    - smp_set_owner
    - chunk_initstr
    linkageType: ''
    returnType: void
    signature: flt_ot_smp_init(struct stream *s, struct sample *smp, uint opt, int
      type, const char *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/vars.c:148,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/vars.c:148,1
    - Dst: FLT_OT_DBG_BUF
      Src: /src/haproxy/addons/ot/src/vars.c:150,1
    - Dst: b_orig
      Src: /src/haproxy/addons/ot/src/vars.c:152,1
    - Dst: chunk_init
      Src: /src/haproxy/addons/ot/src/vars.c:154,1
    - Dst: FLT_OT_MALLOC
      Src: /src/haproxy/addons/ot/src/vars.c:154,1
    - Dst: b_orig
      Src: /src/haproxy/addons/ot/src/vars.c:156,1
    - Dst: b_orig
      Src: /src/haproxy/addons/ot/src/vars.c:159,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:160,1
    - Dst: UINT64_C
      Src: /src/haproxy/addons/ot/src/vars.c:162,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:163,1
    - Dst: b_room
      Src: /src/haproxy/addons/ot/src/vars.c:165,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:166,1
    - Dst: b_data
      Src: /src/haproxy/addons/ot/src/vars.c:169,1
    - Dst: b_putchr
      Src: /src/haproxy/addons/ot/src/vars.c:171,1
    - Dst: __b_putblk
      Src: /src/haproxy/addons/ot/src/vars.c:172,1
    - Dst: FLT_OT_DBG_BUF
      Src: /src/haproxy/addons/ot/src/vars.c:174,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/vars.c:178,1
    - Dst: b_orig
      Src: /src/haproxy/addons/ot/src/vars.c:178,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - data
    - name
    - len
    - err
    argTypes:
    - struct sample_data*
    - char*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 181
      start: 143
    functionDepth: 4
    functionLinenumber: 143
    functionLinenumberEnd: 181
    functionName: flt_ot_smp_add
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - b_room
    - FLT_OT_FUNC
    - UINT64_C
    - chunk_init
    - b_putchr
    - __b_putblk
    - FLT_OT_FREE
    - b_data
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - FLT_OT_DBG_BUF
    - b_orig
    - FLT_OT_MALLOC
    linkageType: ''
    returnType: int
    signature: flt_ot_smp_add(struct sample_data *data, const char *name, size_t len,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/vars.c:206,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/vars.c:206,1
    - Dst: FLT_OT_STR_ISVALID
      Src: /src/haproxy/addons/ot/src/vars.c:208,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:209,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:220,1
    - Dst: strlen
      Src: /src/haproxy/addons/ot/src/vars.c:227,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:229,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/vars.c:233,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:245,1
    - Dst: isupper
      Src: /src/haproxy/addons/ot/src/vars.c:257,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/vars.c:267,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:272,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 6
    argNames:
    - var_name
    - size
    - len
    - name
    - flag_cpy
    - err
    argTypes:
    - char*
    - size_t
    - int*
    - char*
    - bool
    - char**
    constantsTouched: []
    func_position:
      end: 273
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 273
    functionName: flt_ot_normalize_name
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_STR_ISVALID
    - FLT_OT_FUNC
    - isupper
    - strlen
    - FLT_OT_DBG
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - memcpy
    linkageType: ''
    returnType: int
    signature: flt_ot_normalize_name(char *var_name, size_t size, int *len, const
      char *name, bool flag_cpy, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/vars.c:301,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/vars.c:301,1
    - Dst: flt_ot_normalize_name
      Src: /src/haproxy/addons/ot/src/vars.c:303,1
    - Dst: flt_ot_normalize_name
      Src: /src/haproxy/addons/ot/src/vars.c:304,1
    - Dst: flt_ot_normalize_name
      Src: /src/haproxy/addons/ot/src/vars.c:305,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:308,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 7
    argNames:
    - scope
    - prefix
    - name
    - flag_cpy
    - var_name
    - size
    - err
    argTypes:
    - char*
    - char*
    - char*
    - bool
    - char*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 311
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 311
    functionName: flt_ot_var_name
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_FUNC
    - flt_ot_normalize_name
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    linkageType: ''
    returnType: int
    signature: flt_ot_var_name(const char *scope, const char *prefix, const char *name,
      bool flag_cpy, char *var_name, size_t size, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/vars.c:338,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/vars.c:338,1
    - Dst: flt_ot_var_name
      Src: /src/haproxy/addons/ot/src/vars.c:344,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:346,1
    - Dst: vars_get_by_name
      Src: /src/haproxy/addons/ot/src/vars.c:355,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/vars.c:356,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:359,1
    - Dst: FLT_OT_DBG_BUF
      Src: /src/haproxy/addons/ot/src/vars.c:364,1
    - Dst: b_data
      Src: /src/haproxy/addons/ot/src/vars.c:366,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/vars.c:367,1
    - Dst: b_orig
      Src: /src/haproxy/addons/ot/src/vars.c:367,1
    - Dst: abs
      Src: /src/haproxy/addons/ot/src/vars.c:368,1
    - Dst: b_data
      Src: /src/haproxy/addons/ot/src/vars.c:370,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:371,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/vars.c:378,1
    - Dst: b_orig
      Src: /src/haproxy/addons/ot/src/vars.c:378,1
    - Dst: func
      Src: /src/haproxy/addons/ot/src/vars.c:381,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:395,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 6
    argNames:
    - smp
    - scope
    - prefix
    - err
    - func
    - ptr
    argTypes:
    - struct sample*
    - char*
    - char*
    - char**
    - flt_ot_ctx_loop_cb
    - void*
    constantsTouched: []
    func_position:
      end: 396
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 396
    functionName: flt_ot_ctx_loop
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_FUNC
    - FLT_OT_DBG
    - vars_get_by_name
    - typeof
    - memcpy
    - flt_ot_var_name
    - abs
    - b_data
    - func
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - FLT_OT_DBG_BUF
    - b_orig
    linkageType: ''
    returnType: int
    signature: flt_ot_ctx_loop(struct sample *smp, const char *scope, const char *prefix,
      char **err, flt_ot_ctx_loop_cb func, void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/vars.c:424,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/vars.c:424,1
    - Dst: strncmp
      Src: /src/haproxy/addons/ot/src/vars.c:426,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/vars.c:427,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 8
    argNames:
    - smp
    - idx
    - scope
    - prefix
    - name
    - name_len
    - err
    - ptr
    argTypes:
    - struct sample*
    - size_t
    - char*
    - char*
    - char*
    - FLT_OT_VAR_CTX_SIZE
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 433
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 433
    functionName: flt_ot_ctx_set_cb
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - FLT_OT_FUNC
    - strncmp
    - FLT_OT_DBG
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    linkageType: ''
    returnType: int
    signature: flt_ot_ctx_set_cb(struct sample *smp, size_t idx, const char *scope,
      const char *prefix, const char *name, FLT_OT_VAR_CTX_SIZE name_len, char **err,
      void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/vars.c:462,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/vars.c:462,1
    - Dst: flt_ot_var_name
      Src: /src/haproxy/addons/ot/src/vars.c:468,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:470,1
    - Dst: flt_ot_var_name
      Src: /src/haproxy/addons/ot/src/vars.c:473,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:475,1
    - Dst: flt_ot_smp_init
      Src: /src/haproxy/addons/ot/src/vars.c:477,1
    - Dst: flt_ot_ctx_loop
      Src: /src/haproxy/addons/ot/src/vars.c:479,1
    - Dst: flt_ot_smp_add
      Src: /src/haproxy/addons/ot/src/vars.c:481,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/vars.c:492,1
    - Dst: vars_set_by_name_ifexist
      Src: /src/haproxy/addons/ot/src/vars.c:494,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:495,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/vars.c:500,1
    - Dst: b_data
      Src: /src/haproxy/addons/ot/src/vars.c:500,1
    - Dst: b_orig
      Src: /src/haproxy/addons/ot/src/vars.c:500,1
    - Dst: b_data
      Src: /src/haproxy/addons/ot/src/vars.c:502,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/vars.c:506,1
    - Dst: b_orig
      Src: /src/haproxy/addons/ot/src/vars.c:506,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:508,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 6
    argNames:
    - s
    - scope
    - prefix
    - name
    - opt
    - err
    argTypes:
    - struct stream*
    - char*
    - char*
    - char*
    - uint
    - char**
    constantsTouched: []
    func_position:
      end: 509
      start: 454
    functionDepth: 5
    functionLinenumber: 454
    functionLinenumberEnd: 509
    functionName: flt_ot_ctx_set
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_FUNC
    - flt_ot_smp_add
    - FLT_OT_DBG
    - flt_ot_ctx_loop
    - flt_ot_smp_init
    - FLT_OT_FREE
    - flt_ot_var_name
    - vars_set_by_name_ifexist
    - b_data
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - b_orig
    linkageType: ''
    returnType: int
    signature: flt_ot_ctx_set(struct stream *s, const char *scope, const char *prefix,
      const char *name, uint opt, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/vars.c:534,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/vars.c:534,1
    - Dst: flt_ot_var_name
      Src: /src/haproxy/addons/ot/src/vars.c:536,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:538,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/vars.c:541,1
    - Dst: vars_check_arg
      Src: /src/haproxy/addons/ot/src/vars.c:546,1
    - Dst: FLT_OT_ERR_APPEND
      Src: /src/haproxy/addons/ot/src/vars.c:547,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/vars.c:549,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - scope
    - prefix
    - name
    - err
    argTypes:
    - char*
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 555
      start: 528
    functionDepth: 5
    functionLinenumber: 528
    functionLinenumberEnd: 555
    functionName: flt_ot_var_register
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - FLT_OT_FUNC
    - FLT_OT_ERR_APPEND
    - memset
    - FLT_OT_DBG
    - vars_check_arg
    - flt_ot_var_name
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    linkageType: ''
    returnType: int
    signature: flt_ot_var_register(const char *scope, const char *prefix, const char
      *name, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/vars.c:583,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/vars.c:583,1
    - Dst: flt_ot_var_name
      Src: /src/haproxy/addons/ot/src/vars.c:585,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:587,1
    - Dst: flt_ot_smp_init
      Src: /src/haproxy/addons/ot/src/vars.c:589,1
    - Dst: vars_set_by_name_ifexist
      Src: /src/haproxy/addons/ot/src/vars.c:591,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:592,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/vars.c:594,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/vars.c:598,1
    - Dst: flt_ot_ctx_set
      Src: /src/haproxy/addons/ot/src/vars.c:599,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - s
    - scope
    - prefix
    - name
    - value
    - opt
    - err
    argTypes:
    - struct stream*
    - char*
    - char*
    - char*
    - char*
    - uint
    - char**
    constantsTouched: []
    func_position:
      end: 603
      start: 577
    functionDepth: 6
    functionLinenumber: 577
    functionLinenumberEnd: 603
    functionName: flt_ot_var_set
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_FUNC
    - strcmp
    - FLT_OT_DBG
    - flt_ot_smp_init
    - flt_ot_var_name
    - vars_set_by_name_ifexist
    - flt_ot_ctx_set
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    linkageType: ''
    returnType: int
    signature: flt_ot_var_set(struct stream *s, const char *scope, const char *prefix,
      const char *name, const char *value, uint opt, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/vars.c:632,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/vars.c:632,1
    - Dst: flt_ot_var_name
      Src: /src/haproxy/addons/ot/src/vars.c:634,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:636,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:638,1
    - Dst: flt_ot_smp_init
      Src: /src/haproxy/addons/ot/src/vars.c:641,1
    - Dst: vars_unset_by_name_ifexist
      Src: /src/haproxy/addons/ot/src/vars.c:643,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:644,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/vars.c:646,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 8
    argNames:
    - smp
    - idx
    - scope
    - prefix
    - name
    - name_len
    - err
    - ptr
    argTypes:
    - struct sample*
    - size_t
    - char*
    - char*
    - char*
    - FLT_OT_VAR_CTX_SIZE
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 652
      start: 626
    functionDepth: 4
    functionLinenumber: 626
    functionLinenumberEnd: 652
    functionName: flt_ot_vars_unset_cb
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - vars_unset_by_name_ifexist
    - FLT_OT_FUNC
    - FLT_OT_DBG
    - flt_ot_smp_init
    - flt_ot_var_name
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    linkageType: ''
    returnType: int
    signature: flt_ot_vars_unset_cb(struct sample *smp, size_t idx, const char *scope,
      const char *prefix, const char *name, FLT_OT_VAR_CTX_SIZE name_len, char **err,
      void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/vars.c:678,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/vars.c:678,1
    - Dst: flt_ot_smp_init
      Src: /src/haproxy/addons/ot/src/vars.c:680,1
    - Dst: flt_ot_ctx_loop
      Src: /src/haproxy/addons/ot/src/vars.c:682,1
    - Dst: flt_ot_var_name
      Src: /src/haproxy/addons/ot/src/vars.c:688,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:690,1
    - Dst: flt_ot_smp_init
      Src: /src/haproxy/addons/ot/src/vars.c:692,1
    - Dst: vars_unset_by_name_ifexist
      Src: /src/haproxy/addons/ot/src/vars.c:694,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/vars.c:695,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/vars.c:697,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - s
    - scope
    - prefix
    - opt
    - err
    argTypes:
    - struct stream*
    - char*
    - char*
    - uint
    - char**
    constantsTouched: []
    func_position:
      end: 704
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 704
    functionName: flt_ot_vars_unset
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - vars_unset_by_name_ifexist
    - FLT_OT_FUNC
    - FLT_OT_DBG
    - flt_ot_ctx_loop
    - flt_ot_smp_init
    - flt_ot_var_name
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    linkageType: ''
    returnType: int
    signature: flt_ot_vars_unset(struct stream *s, const char *scope, const char *prefix,
      uint opt, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/vars.c:734,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/vars.c:734,1
    - Dst: flt_ot_var_name
      Src: /src/haproxy/addons/ot/src/vars.c:736,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:738,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:740,1
    - Dst: flt_ot_smp_init
      Src: /src/haproxy/addons/ot/src/vars.c:743,1
    - Dst: vars_get_by_name
      Src: /src/haproxy/addons/ot/src/vars.c:745,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/vars.c:746,1
    - Dst: b_data
      Src: /src/haproxy/addons/ot/src/vars.c:746,1
    - Dst: b_orig
      Src: /src/haproxy/addons/ot/src/vars.c:746,1
    - Dst: otc_text_map_new
      Src: /src/haproxy/addons/ot/src/vars.c:749,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:751,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:753,1
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/vars.c:763,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:764,1
    - Dst: otc_text_map_destroy
      Src: /src/haproxy/addons/ot/src/vars.c:766,1
    - Dst: otc_text_map_add
      Src: /src/haproxy/addons/ot/src/vars.c:777,1
    - Dst: b_orig
      Src: /src/haproxy/addons/ot/src/vars.c:777,1
    - Dst: b_data
      Src: /src/haproxy/addons/ot/src/vars.c:777,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/vars.c:778,1
    - Dst: otc_text_map_destroy
      Src: /src/haproxy/addons/ot/src/vars.c:780,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/vars.c:788,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/vars.c:791,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 8
    argNames:
    - smp
    - idx
    - scope
    - prefix
    - name
    - name_len
    - err
    - ptr
    argTypes:
    - struct sample*
    - size_t
    - char*
    - char*
    - char*
    - FLT_OT_VAR_CTX_SIZE
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 792
      start: 727
    functionDepth: 3
    functionLinenumber: 727
    functionLinenumberEnd: 792
    functionName: flt_ot_vars_get_cb
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_FUNC
    - otc_text_map_destroy
    - FLT_OT_TABLESIZE
    - FLT_OT_DBG
    - otc_text_map_new
    - flt_ot_smp_init
    - vars_get_by_name
    - flt_ot_var_name
    - b_data
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - b_orig
    - otc_text_map_add
    linkageType: ''
    returnType: int
    signature: flt_ot_vars_get_cb(struct sample *smp, size_t idx, const char *scope,
      const char *prefix, const char *name, FLT_OT_VAR_CTX_SIZE name_len, char **err,
      void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/vars.c:817,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/vars.c:817,1
    - Dst: flt_ot_smp_init
      Src: /src/haproxy/addons/ot/src/vars.c:819,1
    - Dst: flt_ot_ctx_loop
      Src: /src/haproxy/addons/ot/src/vars.c:821,1
    - Dst: ot_text_map_show
      Src: /src/haproxy/addons/ot/src/vars.c:823,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/vars.c:826,1
    - Dst: otc_text_map_destroy
      Src: /src/haproxy/addons/ot/src/vars.c:828,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/vars.c:831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - s
    - scope
    - prefix
    - opt
    - err
    argTypes:
    - struct stream*
    - char*
    - char*
    - uint
    - char**
    constantsTouched: []
    func_position:
      end: 832
      start: 812
    functionDepth: 4
    functionLinenumber: 812
    functionLinenumberEnd: 832
    functionName: flt_ot_vars_get
    functionSourceFile: /src/haproxy/addons/ot/src/vars.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - otc_text_map_destroy
    - ot_text_map_show
    - FLT_OT_DBG
    - flt_ot_ctx_loop
    - flt_ot_smp_init
    - FLT_OT_DPTR_ARGS
    linkageType: ''
    returnType: struct otc_text_map
    signature: '*flt_ot_vars_get(struct stream *s, const char *scope, const char *prefix,
      uint opt, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/addons/ot/src/cli.c:41,1
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/cli.c:43,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/cli.c:46,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/cli.c:51,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/cli.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - appctx
    - err
    - msg
    - cli_state
    argTypes:
    - struct appctx*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: cmn_cli_set_msg
    functionSourceFile: /src/haproxy/addons/ot/src/cli.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_DBG
    - FLT_OT_FUNC
    - applet_reserve_svcctx
    linkageType: ''
    returnType: void
    signature: cmn_cli_set_msg(struct appctx *appctx, char *err, char *msg, int cli_state)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/cli.c:81,1
    - Dst: FLT_OT_ARGS_DUMP
      Src: /src/haproxy/addons/ot/src/cli.c:83,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/cli.c:85,1
    - Dst: flt_ot_strtoll
      Src: /src/haproxy/addons/ot/src/cli.c:86,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/addons/ot/src/cli.c:88,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:90,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/addons/ot/src/cli.c:95,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:97,1
    - Dst: cmn_cli_set_msg
      Src: /src/haproxy/addons/ot/src/cli.c:100,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/cli.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 75
    functionDepth: 5
    functionLinenumber: 75
    functionLinenumberEnd: 103
    functionName: flt_ot_cli_parse_debug
    functionSourceFile: /src/haproxy/addons/ot/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - FLT_OT_ARG_ISVALID
    - FLT_OT_FUNC
    - flt_ot_strtoll
    - FLT_OT_ARGS_DUMP
    - cmn_cli_set_msg
    - _HA_ATOMIC_LOAD
    - FLT_OT_RETURN_INT
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: int
    signature: flt_ot_cli_parse_debug(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/cli.c:130,1
    - Dst: FLT_OT_ARGS_DUMP
      Src: /src/haproxy/addons/ot/src/cli.c:132,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/addons/ot/src/cli.c:135,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:137,1
    - Dst: FLT_OT_CLI_MSG_CAT
      Src: /src/haproxy/addons/ot/src/cli.c:137,1
    - Dst: FLT_OT_PROXIES_LIST_END
      Src: /src/haproxy/addons/ot/src/cli.c:138,1
    - Dst: cmn_cli_set_msg
      Src: /src/haproxy/addons/ot/src/cli.c:140,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/cli.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 143
      start: 124
    functionDepth: 5
    functionLinenumber: 124
    functionLinenumberEnd: 143
    functionName: flt_ot_cli_parse_disabled
    functionSourceFile: /src/haproxy/addons/ot/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - FLT_OT_FUNC
    - FLT_OT_PROXIES_LIST_END
    - FLT_OT_ARGS_DUMP
    - FLT_OT_CLI_MSG_CAT
    - cmn_cli_set_msg
    - FLT_OT_RETURN_INT
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: int
    signature: flt_ot_cli_parse_disabled(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/cli.c:168,1
    - Dst: FLT_OT_ARGS_DUMP
      Src: /src/haproxy/addons/ot/src/cli.c:170,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/addons/ot/src/cli.c:173,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:175,1
    - Dst: FLT_OT_CLI_MSG_CAT
      Src: /src/haproxy/addons/ot/src/cli.c:175,1
    - Dst: FLT_OT_PROXIES_LIST_END
      Src: /src/haproxy/addons/ot/src/cli.c:176,1
    - Dst: cmn_cli_set_msg
      Src: /src/haproxy/addons/ot/src/cli.c:178,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/cli.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 181
      start: 162
    functionDepth: 5
    functionLinenumber: 162
    functionLinenumberEnd: 181
    functionName: flt_ot_cli_parse_option
    functionSourceFile: /src/haproxy/addons/ot/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - FLT_OT_FUNC
    - FLT_OT_PROXIES_LIST_END
    - FLT_OT_ARGS_DUMP
    - FLT_OT_CLI_MSG_CAT
    - cmn_cli_set_msg
    - FLT_OT_RETURN_INT
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: int
    signature: flt_ot_cli_parse_option(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/cli.c:206,1
    - Dst: FLT_OT_ARGS_DUMP
      Src: /src/haproxy/addons/ot/src/cli.c:208,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/cli.c:210,1
    - Dst: strcasecmp
      Src: /src/haproxy/addons/ot/src/cli.c:211,1
    - Dst: strcasecmp
      Src: /src/haproxy/addons/ot/src/cli.c:214,1
    - Dst: strcasecmp
      Src: /src/haproxy/addons/ot/src/cli.c:217,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:221,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/addons/ot/src/cli.c:228,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:230,1
    - Dst: FLT_OT_CLI_MSG_CAT
      Src: /src/haproxy/addons/ot/src/cli.c:230,1
    - Dst: FLT_OT_CLI_LOGGING_STATE
      Src: /src/haproxy/addons/ot/src/cli.c:230,1
    - Dst: FLT_OT_PROXIES_LIST_END
      Src: /src/haproxy/addons/ot/src/cli.c:231,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/addons/ot/src/cli.c:235,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:237,1
    - Dst: FLT_OT_CLI_MSG_CAT
      Src: /src/haproxy/addons/ot/src/cli.c:237,1
    - Dst: FLT_OT_CLI_LOGGING_STATE
      Src: /src/haproxy/addons/ot/src/cli.c:237,1
    - Dst: FLT_OT_PROXIES_LIST_END
      Src: /src/haproxy/addons/ot/src/cli.c:238,1
    - Dst: cmn_cli_set_msg
      Src: /src/haproxy/addons/ot/src/cli.c:241,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/cli.c:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 244
      start: 200
    functionDepth: 5
    functionLinenumber: 200
    functionLinenumberEnd: 244
    functionName: flt_ot_cli_parse_logging
    functionSourceFile: /src/haproxy/addons/ot/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - FLT_OT_ARG_ISVALID
    - FLT_OT_FUNC
    - strcasecmp
    - FLT_OT_PROXIES_LIST_END
    - FLT_OT_ARGS_DUMP
    - FLT_OT_CLI_MSG_CAT
    - cmn_cli_set_msg
    - FLT_OT_CLI_LOGGING_STATE
    - _HA_ATOMIC_LOAD
    - FLT_OT_RETURN_INT
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: int
    signature: flt_ot_cli_parse_logging(char **args, char *payload, struct appctx
      *appctx, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/cli.c:269,1
    - Dst: FLT_OT_ARGS_DUMP
      Src: /src/haproxy/addons/ot/src/cli.c:271,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/cli.c:273,1
    - Dst: FLT_OT_FLOAT_U32
      Src: /src/haproxy/addons/ot/src/cli.c:274,1
    - Dst: flt_ot_strtod
      Src: /src/haproxy/addons/ot/src/cli.c:274,1
    - Dst: _HA_ATOMIC_STORE
      Src: /src/haproxy/addons/ot/src/cli.c:277,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:279,1
    - Dst: FLT_OT_CLI_MSG_CAT
      Src: /src/haproxy/addons/ot/src/cli.c:279,1
    - Dst: FLT_OT_U32_FLOAT
      Src: /src/haproxy/addons/ot/src/cli.c:279,1
    - Dst: FLT_OT_PROXIES_LIST_END
      Src: /src/haproxy/addons/ot/src/cli.c:280,1
    - Dst: _HA_ATOMIC_LOAD
      Src: /src/haproxy/addons/ot/src/cli.c:286,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:288,1
    - Dst: FLT_OT_CLI_MSG_CAT
      Src: /src/haproxy/addons/ot/src/cli.c:288,1
    - Dst: FLT_OT_U32_FLOAT
      Src: /src/haproxy/addons/ot/src/cli.c:288,1
    - Dst: FLT_OT_PROXIES_LIST_END
      Src: /src/haproxy/addons/ot/src/cli.c:289,1
    - Dst: cmn_cli_set_msg
      Src: /src/haproxy/addons/ot/src/cli.c:292,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/cli.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 295
      start: 263
    functionDepth: 5
    functionLinenumber: 263
    functionLinenumberEnd: 295
    functionName: flt_ot_cli_parse_rate
    functionSourceFile: /src/haproxy/addons/ot/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - FLT_OT_ARG_ISVALID
    - FLT_OT_FUNC
    - FLT_OT_PROXIES_LIST_END
    - FLT_OT_FLOAT_U32
    - FLT_OT_U32_FLOAT
    - FLT_OT_ARGS_DUMP
    - FLT_OT_CLI_MSG_CAT
    - cmn_cli_set_msg
    - _HA_ATOMIC_LOAD
    - FLT_OT_RETURN_INT
    - flt_ot_strtod
    - _HA_ATOMIC_STORE
    linkageType: ''
    returnType: int
    signature: flt_ot_cli_parse_rate(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/cli.c:320,1
    - Dst: FLT_OT_ARGS_DUMP
      Src: /src/haproxy/addons/ot/src/cli.c:322,1
    - Dst: flt_ot_filters_dump
      Src: /src/haproxy/addons/ot/src/cli.c:323,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:325,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:327,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:331,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:332,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:333,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:334,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:335,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:336,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:337,1
    - Dst: FLT_OT_U32_FLOAT
      Src: /src/haproxy/addons/ot/src/cli.c:337,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:338,1
    - Dst: FLT_OT_STR_FLAG_YN
      Src: /src/haproxy/addons/ot/src/cli.c:338,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:339,1
    - Dst: FLT_OT_STR_FLAG_YN
      Src: /src/haproxy/addons/ot/src/cli.c:339,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:340,1
    - Dst: FLT_OT_CLI_LOGGING_STATE
      Src: /src/haproxy/addons/ot/src/cli.c:340,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/cli.c:341,1
    - Dst: FLT_OT_PROXIES_LIST_END
      Src: /src/haproxy/addons/ot/src/cli.c:344,1
    - Dst: cmn_cli_set_msg
      Src: /src/haproxy/addons/ot/src/cli.c:346,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/cli.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 4
    argNames:
    - args
    - payload
    - appctx
    - private
    argTypes:
    - char**
    - char*
    - struct appctx*
    - void*
    constantsTouched: []
    func_position:
      end: 349
      start: 314
    functionDepth: 5
    functionLinenumber: 314
    functionLinenumberEnd: 349
    functionName: flt_ot_cli_parse_status
    functionSourceFile: /src/haproxy/addons/ot/src/cli.c
    functionUses: 0
    functionsReached:
    - memprintf
    - FLT_OT_FUNC
    - FLT_OT_PROXIES_LIST_END
    - FLT_OT_STR_FLAG_YN
    - flt_ot_filters_dump
    - FLT_OT_U32_FLOAT
    - FLT_OT_ARGS_DUMP
    - cmn_cli_set_msg
    - FLT_OT_CLI_LOGGING_STATE
    - FLT_OT_RETURN_INT
    linkageType: ''
    returnType: int
    signature: flt_ot_cli_parse_status(char **args, char *payload, struct appctx *appctx,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/cli.c:382,1
    - Dst: cli_register_kw
      Src: /src/haproxy/addons/ot/src/cli.c:385,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/cli.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 388
    functionName: flt_ot_cli_init
    functionSourceFile: /src/haproxy/addons/ot/src/cli.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - cli_register_kw
    linkageType: ''
    returnType: void
    signature: flt_ot_cli_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:47,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/opentracing.c:50,1
    - Dst: FLT_OT_DBG_TEXT_MAP
      Src: /src/haproxy/addons/ot/src/opentracing.c:52,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/opentracing.c:58,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/opentracing.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - text_map
    argTypes:
    - struct otc_text_map*
    constantsTouched: []
    func_position:
      end: 62
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 62
    functionName: ot_text_map_show
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 2
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_DBG_TEXT_MAP
    - FLT_OT_FUNC
    - FLT_OT_DBG
    linkageType: ''
    returnType: void
    signature: ot_text_map_show(const struct otc_text_map *text_map)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:82,1
    - Dst: otc_statistics
      Src: /src/haproxy/addons/ot/src/opentracing.c:84,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/opentracing.c:85,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/opentracing.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: ot_debug
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_DBG
    - FLT_OT_FUNC
    - otc_statistics
    - FLT_OT_RETURN
    linkageType: ''
    returnType: void
    signature: ot_debug(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flt_ot_pool_alloc
      Src: /src/haproxy/addons/ot/src/opentracing.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: ot_mem_malloc
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - flt_ot_pool_alloc
    linkageType: ''
    returnType: void
    signature: '*ot_mem_malloc(FLT_OT_DBG_ARGS(const char *func, int line, ) size_t
      size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flt_ot_pool_free
      Src: /src/haproxy/addons/ot/src/opentracing.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: ot_mem_free
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - flt_ot_pool_free
    linkageType: ''
    returnType: void
    signature: ot_mem_free(FLT_OT_DBG_ARGS(const char *func, int line, ) void *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:155,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/opentracing.c:155,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/opentracing.c:155,1
    - Dst: flt_ot_pools_info
      Src: /src/haproxy/addons/ot/src/opentracing.c:157,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/opentracing.c:159,1
    - Dst: getcwd
      Src: /src/haproxy/addons/ot/src/opentracing.c:162,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/opentracing.c:163,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:165,1
    - Dst: snprintf
      Src: /src/haproxy/addons/ot/src/opentracing.c:167,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/opentracing.c:169,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:171,1
    - Dst: otc_tracer_load
      Src: /src/haproxy/addons/ot/src/opentracing.c:174,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/opentracing.c:176,1
    - Dst: otc_ext_init
      Src: /src/haproxy/addons/ot/src/opentracing.c:178,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - tracer
    - plugin
    - err
    argTypes:
    - struct otc_tracer**
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 184
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 184
    functionName: ot_init
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_FUNC
    - otc_ext_init
    - FLT_OT_DBG
    - snprintf
    - getcwd
    - flt_ot_pools_info
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - otc_tracer_load
    linkageType: ''
    returnType: int
    signature: ot_init(struct otc_tracer **tracer, const char *plugin, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:207,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/opentracing.c:207,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:210,1
    - Dst: otc_tracer_start
      Src: /src/haproxy/addons/ot/src/opentracing.c:212,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/opentracing.c:214,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tracer
    - cfgbuf
    - err
    argTypes:
    - struct otc_tracer*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: ot_start
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - otc_tracer_start
    - FLT_OT_ERR
    - FLT_OT_FUNC
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    linkageType: ''
    returnType: int
    signature: ot_start(struct otc_tracer *tracer, const char *cfgbuf, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:235,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/opentracing.c:235,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/opentracing.c:238,1
    - Dst: close
      Src: /src/haproxy/addons/ot/src/opentracing.c:240,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/opentracing.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - tracer
    argTypes:
    - struct otc_tracer**
    constantsTouched: []
    func_position:
      end: 245
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 245
    functionName: ot_close
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_DPTR_ARGS
    - close
    - FLT_OT_FUNC
    - FLT_OT_RETURN
    linkageType: ''
    returnType: void
    signature: ot_close(struct otc_tracer **tracer)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:277,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/opentracing.c:277,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:280,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:282,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/opentracing.c:284,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/opentracing.c:287,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/opentracing.c:290,1
    - Dst: FLT_OT_IN_RANGE
      Src: /src/haproxy/addons/ot/src/opentracing.c:292,1
    - Dst: struct otc_tracer*::start_span_with_options
      Src: /src/haproxy/addons/ot/src/opentracing.c:300,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/opentracing.c:302,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/opentracing.c:304,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:306,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 10
    argNames:
    - tracer
    - operation_name
    - ts_steady
    - ts_system
    - ref_type
    - ref_ctx_idx
    - ref_span
    - tags
    - num_tags
    - err
    argTypes:
    - struct otc_tracer*
    - char*
    - struct timespec*
    - struct timespec*
    - int
    - int
    - struct otc_span*
    - struct otc_tag*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 307
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 307
    functionName: ot_span_init
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_ERR
    - FLT_OT_FUNC
    - struct otc_tracer*::start_span_with_options
    - memset
    - FLT_OT_DBG
    - FLT_OT_IN_RANGE
    - FLT_OT_DPTR_ARGS
    - memcpy
    linkageType: ''
    returnType: struct otc_span
    signature: '*ot_span_init(struct otc_tracer *tracer, const char *operation_name,
      const struct timespec *ts_steady, const struct timespec *ts_system, int ref_type,
      int ref_ctx_idx, const struct otc_span *ref_span, const struct otc_tag *tags,
      int num_tags, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:338,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/opentracing.c:338,1
    - Dst: va_start
      Src: /src/haproxy/addons/ot/src/opentracing.c:343,1
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/opentracing.c:344,1
    - Dst: FLT_OT_VSET
      Src: /src/haproxy/addons/ot/src/opentracing.c:346,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:348,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:348,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:350,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:350,1
    - Dst: va_end
      Src: /src/haproxy/addons/ot/src/opentracing.c:352,1
    - Dst: ot_span_init
      Src: /src/haproxy/addons/ot/src/opentracing.c:355,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 10
    argNames:
    - tracer
    - operation_name
    - ts_steady
    - ts_system
    - ref_type
    - ref_ctx_idx
    - ref_span
    - err
    - tag_key
    - tag_value
    argTypes:
    - struct otc_tracer*
    - char*
    - struct timespec*
    - struct timespec*
    - int
    - int
    - struct otc_span*
    - char**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 358
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 358
    functionName: ot_span_init_va
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - va_end
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - FLT_OT_TABLESIZE
    - va_arg
    - ot_span_init
    - typeof
    - FLT_OT_VSET
    - FLT_OT_DPTR_ARGS
    - va_start
    linkageType: ''
    returnType: struct otc_span
    signature: '*ot_span_init_va(struct otc_tracer *tracer, const char *operation_name,
      const struct timespec *ts_steady, const struct timespec *ts_system, int ref_type,
      int ref_ctx_idx, const struct otc_span *ref_span, char **err, const char *tag_key,
      const char *tag_value, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:380,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:383,1
    - Dst: struct otc_span*::set_tag
      Src: /src/haproxy/addons/ot/src/opentracing.c:386,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - span
    - tags
    - num_tags
    argTypes:
    - struct otc_span*
    - struct otc_tag*
    - int
    constantsTouched: []
    func_position:
      end: 389
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 389
    functionName: ot_span_tag
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_INT
    - FLT_OT_FUNC
    - struct otc_span*::set_tag
    linkageType: ''
    returnType: int
    signature: ot_span_tag(struct otc_span *span, const struct otc_tag *tags, int
      num_tags)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:414,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:417,1
    - Dst: va_start
      Src: /src/haproxy/addons/ot/src/opentracing.c:419,1
    - Dst: FLT_OT_IN_RANGE
      Src: /src/haproxy/addons/ot/src/opentracing.c:420,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:423,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:423,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:425,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:425,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:427,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:427,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:429,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:429,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:431,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:431,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:433,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:433,1
    - Dst: struct otc_span*::set_tag
      Src: /src/haproxy/addons/ot/src/opentracing.c:434,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:436,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:436,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:438,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:438,1
    - Dst: va_end
      Src: /src/haproxy/addons/ot/src/opentracing.c:440,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:442,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - span
    - key
    - type
    argTypes:
    - struct otc_span*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 443
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 443
    functionName: ot_span_tag_va
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - va_end
    - FLT_OT_FUNC
    - va_arg
    - typeof
    - FLT_OT_IN_RANGE
    - struct otc_span*::set_tag
    - FLT_OT_RETURN_INT
    - va_start
    linkageType: ''
    returnType: int
    signature: ot_span_tag_va(struct otc_span *span, const char *key, int type, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:465,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:468,1
    - Dst: MIN
      Src: /src/haproxy/addons/ot/src/opentracing.c:470,1
    - Dst: struct otc_span*::log_fields
      Src: /src/haproxy/addons/ot/src/opentracing.c:472,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - span
    - log_fields
    - num_fields
    argTypes:
    - struct otc_span*
    - struct otc_log_field*
    - int
    constantsTouched: []
    func_position:
      end: 475
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 475
    functionName: ot_span_log
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_INT
    - FLT_OT_FUNC
    - MIN
    - struct otc_span*::log_fields
    linkageType: ''
    returnType: int
    signature: ot_span_log(struct otc_span *span, const struct otc_log_field *log_fields,
      int num_fields)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:499,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:502,1
    - Dst: va_start
      Src: /src/haproxy/addons/ot/src/opentracing.c:504,1
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/opentracing.c:505,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:510,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:510,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:512,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:512,1
    - Dst: va_end
      Src: /src/haproxy/addons/ot/src/opentracing.c:514,1
    - Dst: struct otc_span*::log_fields
      Src: /src/haproxy/addons/ot/src/opentracing.c:516,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - span
    - key
    - value
    argTypes:
    - struct otc_span*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 519
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 519
    functionName: ot_span_log_va
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - va_end
    - FLT_OT_FUNC
    - FLT_OT_TABLESIZE
    - va_arg
    - struct otc_span*::log_fields
    - typeof
    - FLT_OT_RETURN_INT
    - va_start
    linkageType: ''
    returnType: int
    signature: ot_span_log_va(struct otc_span *span, const char *key, const char *value,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:543,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:546,1
    - Dst: va_start
      Src: /src/haproxy/addons/ot/src/opentracing.c:548,1
    - Dst: vsnprintf
      Src: /src/haproxy/addons/ot/src/opentracing.c:549,1
    - Dst: FLT_OT_IN_RANGE
      Src: /src/haproxy/addons/ot/src/opentracing.c:550,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/opentracing.c:551,1
    - Dst: FLT_OT_STR_ELLIPSIS
      Src: /src/haproxy/addons/ot/src/opentracing.c:553,1
    - Dst: va_end
      Src: /src/haproxy/addons/ot/src/opentracing.c:555,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:557,1
    - Dst: ot_span_log_va
      Src: /src/haproxy/addons/ot/src/opentracing.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - span
    - key
    - format
    argTypes:
    - struct otc_span*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 558
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 558
    functionName: ot_span_log_fmt
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - va_end
    - FLT_OT_FUNC
    - vsnprintf
    - FLT_OT_DBG
    - FLT_OT_STR_ELLIPSIS
    - FLT_OT_IN_RANGE
    - ot_span_log_va
    - FLT_OT_RETURN_INT
    - va_start
    linkageType: ''
    returnType: int
    signature: ot_span_log_fmt(struct otc_span *span, const char *key, const char
      *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:580,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:583,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:586,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/opentracing.c:589,1
    - Dst: struct otc_span*::set_baggage_item
      Src: /src/haproxy/addons/ot/src/opentracing.c:592,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:598,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - span
    - baggage
    argTypes:
    - struct otc_span*
    - struct otc_text_map*
    constantsTouched: []
    func_position:
      end: 599
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 599
    functionName: ot_span_set_baggage
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_DBG
    - FLT_OT_RETURN_INT
    - struct otc_span*::set_baggage_item
    - FLT_OT_FUNC
    linkageType: ''
    returnType: int
    signature: ot_span_set_baggage(struct otc_span *span, const struct otc_text_map
      *baggage)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:622,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:625,1
    - Dst: va_start
      Src: /src/haproxy/addons/ot/src/opentracing.c:627,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/opentracing.c:629,1
    - Dst: struct otc_span*::set_baggage_item
      Src: /src/haproxy/addons/ot/src/opentracing.c:631,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:633,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:633,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:635,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:635,1
    - Dst: va_end
      Src: /src/haproxy/addons/ot/src/opentracing.c:637,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/opentracing.c:639,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - span
    - key
    - value
    argTypes:
    - struct otc_span*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 640
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 640
    functionName: ot_span_set_baggage_va
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - va_end
    - FLT_OT_FUNC
    - va_arg
    - FLT_OT_DBG
    - typeof
    - struct otc_span*::set_baggage_item
    - FLT_OT_RETURN_INT
    - va_start
    linkageType: ''
    returnType: int
    signature: ot_span_set_baggage_va(struct otc_span *span, const char *key, const
      char *value, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:663,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:666,1
    - Dst: va_start
      Src: /src/haproxy/addons/ot/src/opentracing.c:668,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:669,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:669,1
    - Dst: va_end
      Src: /src/haproxy/addons/ot/src/opentracing.c:670,1
    - Dst: otc_text_map_new
      Src: /src/haproxy/addons/ot/src/opentracing.c:672,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:674,1
    - Dst: va_start
      Src: /src/haproxy/addons/ot/src/opentracing.c:676,1
    - Dst: otc_text_map_add
      Src: /src/haproxy/addons/ot/src/opentracing.c:681,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/opentracing.c:683,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/opentracing.c:685,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:688,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:688,1
    - Dst: va_end
      Src: /src/haproxy/addons/ot/src/opentracing.c:690,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:692,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - span
    - key
    argTypes:
    - struct otc_span*
    - char*
    constantsTouched: []
    func_position:
      end: 693
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 693
    functionName: ot_span_baggage_va
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_PTR
    - va_end
    - FLT_OT_FUNC
    - va_arg
    - FLT_OT_DBG
    - otc_text_map_new
    - typeof
    - va_start
    - otc_text_map_add
    linkageType: ''
    returnType: struct otc_text_map
    signature: '*ot_span_baggage_va(const struct otc_span *span, const char *key,
      ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:716,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:719,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:721,1
    - Dst: struct otc_span*::span_context
      Src: /src/haproxy/addons/ot/src/opentracing.c:723,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:725,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/opentracing.c:727,1
    - Dst: struct otc_tracer*::inject_text_map
      Src: /src/haproxy/addons/ot/src/opentracing.c:729,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/opentracing.c:731,1
    - Dst: FLT_OT_DBG_TEXT_CARRIER
      Src: /src/haproxy/addons/ot/src/opentracing.c:734,1
    - Dst: ot_text_map_show
      Src: /src/haproxy/addons/ot/src/opentracing.c:735,1
    - Dst: FLT_OT_DBG_SPAN_CONTEXT
      Src: /src/haproxy/addons/ot/src/opentracing.c:736,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - tracer
    - span
    - carrier
    argTypes:
    - struct otc_tracer*
    - struct otc_span*
    - struct otc_text_map_writer*
    constantsTouched: []
    func_position:
      end: 741
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 741
    functionName: ot_inject_text_map
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - FLT_OT_DBG_SPAN_CONTEXT
    - ot_text_map_show
    - struct otc_span*::span_context
    - FLT_OT_DBG_TEXT_CARRIER
    - memset
    - struct otc_tracer*::inject_text_map
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: struct otc_span_context
    signature: '*ot_inject_text_map(struct otc_tracer *tracer, const struct otc_span
      *span, struct otc_text_map_writer *carrier)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:765,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/opentracing.c:765,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:768,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:770,1
    - Dst: struct otc_span*::span_context
      Src: /src/haproxy/addons/ot/src/opentracing.c:772,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/opentracing.c:774,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:776,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/opentracing.c:779,1
    - Dst: struct otc_tracer*::inject_http_headers
      Src: /src/haproxy/addons/ot/src/opentracing.c:781,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/opentracing.c:783,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/opentracing.c:785,1
    - Dst: FLT_OT_DBG_TEXT_CARRIER
      Src: /src/haproxy/addons/ot/src/opentracing.c:788,1
    - Dst: ot_text_map_show
      Src: /src/haproxy/addons/ot/src/opentracing.c:789,1
    - Dst: FLT_OT_DBG_SPAN_CONTEXT
      Src: /src/haproxy/addons/ot/src/opentracing.c:790,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:794,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - tracer
    - span
    - carrier
    - err
    argTypes:
    - struct otc_tracer*
    - struct otc_span*
    - struct otc_http_headers_writer*
    - char**
    constantsTouched: []
    func_position:
      end: 795
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 795
    functionName: ot_inject_http_headers
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_ERR
    - struct otc_tracer*::inject_http_headers
    - FLT_OT_FUNC
    - FLT_OT_DBG_SPAN_CONTEXT
    - ot_text_map_show
    - memset
    - struct otc_span*::span_context
    - FLT_OT_DBG_TEXT_CARRIER
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: struct otc_span_context
    signature: '*ot_inject_http_headers(struct otc_tracer *tracer, const struct otc_span
      *span, struct otc_http_headers_writer *carrier, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:818,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:821,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:823,1
    - Dst: struct otc_span*::span_context
      Src: /src/haproxy/addons/ot/src/opentracing.c:825,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:827,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/opentracing.c:829,1
    - Dst: struct otc_tracer*::inject_binary
      Src: /src/haproxy/addons/ot/src/opentracing.c:831,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/opentracing.c:833,1
    - Dst: FLT_OT_DBG_CUSTOM_CARRIER
      Src: /src/haproxy/addons/ot/src/opentracing.c:838,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/opentracing.c:839,1
    - Dst: flt_ot_str_hex
      Src: /src/haproxy/addons/ot/src/opentracing.c:841,1
    - Dst: flt_ot_str_ctrl
      Src: /src/haproxy/addons/ot/src/opentracing.c:842,1
    - Dst: FLT_OT_DBG_SPAN_CONTEXT
      Src: /src/haproxy/addons/ot/src/opentracing.c:843,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:847,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - tracer
    - span
    - carrier
    argTypes:
    - struct otc_tracer*
    - struct otc_span*
    - struct otc_custom_carrier_writer*
    constantsTouched: []
    func_position:
      end: 848
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 848
    functionName: ot_inject_binary
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_PTR
    - flt_ot_str_hex
    - struct otc_tracer*::inject_binary
    - FLT_OT_FUNC
    - FLT_OT_DBG_SPAN_CONTEXT
    - struct otc_span*::span_context
    - FLT_OT_DBG
    - FLT_OT_DBG_CUSTOM_CARRIER
    - flt_ot_str_ctrl
    - memset
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: struct otc_span_context
    signature: '*ot_inject_binary(struct otc_tracer *tracer, const struct otc_span
      *span, struct otc_custom_carrier_writer *carrier)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:871,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:874,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:876,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/opentracing.c:879,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/opentracing.c:880,1
    - Dst: FLT_OT_DBG_TEXT_CARRIER
      Src: /src/haproxy/addons/ot/src/opentracing.c:882,1
    - Dst: struct otc_tracer*::extract_text_map
      Src: /src/haproxy/addons/ot/src/opentracing.c:885,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/opentracing.c:887,1
    - Dst: FLT_OT_DBG_SPAN_CONTEXT
      Src: /src/haproxy/addons/ot/src/opentracing.c:889,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:891,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - tracer
    - carrier
    - text_map
    argTypes:
    - struct otc_tracer*
    - struct otc_text_map_reader*
    - struct otc_text_map*
    constantsTouched: []
    func_position:
      end: 892
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 892
    functionName: ot_extract_text_map
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - FLT_OT_DBG_SPAN_CONTEXT
    - FLT_OT_DBG_TEXT_CARRIER
    - memset
    - FLT_OT_FREE_CLEAR
    - memcpy
    - struct otc_tracer*::extract_text_map
    linkageType: ''
    returnType: struct otc_span_context
    signature: '*ot_extract_text_map(struct otc_tracer *tracer, struct otc_text_map_reader
      *carrier, const struct otc_text_map *text_map)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:916,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/opentracing.c:916,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:919,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:921,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/opentracing.c:924,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/opentracing.c:925,1
    - Dst: FLT_OT_DBG_TEXT_CARRIER
      Src: /src/haproxy/addons/ot/src/opentracing.c:927,1
    - Dst: struct otc_tracer*::extract_http_headers
      Src: /src/haproxy/addons/ot/src/opentracing.c:930,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/opentracing.c:932,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/opentracing.c:934,1
    - Dst: FLT_OT_DBG_SPAN_CONTEXT
      Src: /src/haproxy/addons/ot/src/opentracing.c:937,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - tracer
    - carrier
    - text_map
    - err
    argTypes:
    - struct otc_tracer*
    - struct otc_http_headers_reader*
    - struct otc_text_map*
    - char**
    constantsTouched: []
    func_position:
      end: 940
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 940
    functionName: ot_extract_http_headers
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_ERR
    - struct otc_tracer*::extract_http_headers
    - FLT_OT_FUNC
    - FLT_OT_DBG_SPAN_CONTEXT
    - memset
    - FLT_OT_DBG_TEXT_CARRIER
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    - memcpy
    linkageType: ''
    returnType: struct otc_span_context
    signature: '*ot_extract_http_headers(struct otc_tracer *tracer, struct otc_http_headers_reader
      *carrier, const struct otc_text_map *text_map, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:963,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:966,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:968,1
    - Dst: FLT_OT_DEREF
      Src: /src/haproxy/addons/ot/src/opentracing.c:970,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/opentracing.c:971,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/opentracing.c:972,1
    - Dst: FLT_OT_DBG_CUSTOM_CARRIER
      Src: /src/haproxy/addons/ot/src/opentracing.c:974,1
    - Dst: struct otc_tracer*::extract_binary
      Src: /src/haproxy/addons/ot/src/opentracing.c:977,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/opentracing.c:979,1
    - Dst: FLT_OT_DBG_SPAN_CONTEXT
      Src: /src/haproxy/addons/ot/src/opentracing.c:981,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/opentracing.c:983,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - tracer
    - carrier
    - binary_data
    argTypes:
    - struct otc_tracer*
    - struct otc_custom_carrier_reader*
    - struct otc_binary_data*
    constantsTouched: []
    func_position:
      end: 984
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 984
    functionName: ot_extract_binary
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - FLT_OT_DBG_SPAN_CONTEXT
    - FLT_OT_DBG_CUSTOM_CARRIER
    - struct otc_tracer*::extract_binary
    - FLT_OT_DEREF
    - memset
    - FLT_OT_FREE_CLEAR
    - memcpy
    linkageType: ''
    returnType: struct otc_span_context
    signature: '*ot_extract_binary(struct otc_tracer *tracer, struct otc_custom_carrier_reader
      *carrier, const struct otc_binary_data *binary_data)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:1010,1
    - Dst: FLT_OT_DDEREF
      Src: /src/haproxy/addons/ot/src/opentracing.c:1010,1
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/opentracing.c:1013,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/opentracing.c:1013,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/opentracing.c:1016,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/opentracing.c:1018,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/opentracing.c:1021,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/opentracing.c:1028,1
    - Dst: va_start
      Src: /src/haproxy/addons/ot/src/opentracing.c:1030,1
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/opentracing.c:1031,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:1036,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:1036,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/opentracing.c:1038,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/opentracing.c:1038,1
    - Dst: va_end
      Src: /src/haproxy/addons/ot/src/opentracing.c:1040,1
    - Dst: finish_with_options
      Src: /src/haproxy/addons/ot/src/opentracing.c:1051,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/opentracing.c:1053,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/opentracing.c:1057,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - span
    - ts_finish
    - log_ts
    - log_key
    - log_value
    argTypes:
    - struct otc_span**
    - struct timespec*
    - struct timespec*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1058
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1058
    functionName: ot_span_finish
    functionSourceFile: /src/haproxy/addons/ot/src/opentracing.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN
    - va_end
    - FLT_OT_FUNC
    - FLT_OT_TABLESIZE
    - finish_with_options
    - va_arg
    - memset
    - FLT_OT_DDEREF
    - FLT_OT_DBG
    - typeof
    - FLT_OT_DPTR_ARGS
    - memcpy
    - va_start
    linkageType: ''
    returnType: void
    signature: ot_span_finish(struct otc_span **span, const struct timespec *ts_finish,
      const struct timespec *log_ts, const char *log_key, const char *log_value, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:61,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:61,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:61,1
    - Dst: FLT_OT_STRDUP
      Src: /src/haproxy/addons/ot/src/parser.c:63,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:65,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ptr
    - str
    - err
    - err_msg
    argTypes:
    - char**
    - char*
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: flt_ot_parse_strdup
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_FUNC
    - FLT_OT_PARSE_ERR
    - FLT_OT_STRDUP
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    linkageType: ''
    returnType: int
    signature: flt_ot_parse_strdup(char **ptr, const char *str, char **err, const
      char *err_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:97,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:97,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:97,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:101,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:103,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:105,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:107,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:109,1
    - Dst: flt_ot_parse_strdup
      Src: /src/haproxy/addons/ot/src/parser.c:112,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - ptr
    - args
    - cur_arg
    - pos
    - err
    - err_msg
    argTypes:
    - char**
    - char**
    - int
    - int
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 116
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 116
    functionName: flt_ot_parse_keyword
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ARG_ISVALID
    - FLT_OT_FUNC
    - FLT_OT_PARSE_ERR
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - flt_ot_parse_strdup
    linkageType: ''
    returnType: int
    signature: flt_ot_parse_keyword(char **ptr, char **args, int cur_arg, int pos,
      char **err, const char *err_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:137,1
    - Dst: FLT_OT_STR_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:139,1
    - Dst: FLT_OT_RETURN_EX
      Src: /src/haproxy/addons/ot/src/parser.c:140,1
    - Dst: invalid_char
      Src: /src/haproxy/addons/ot/src/parser.c:143,1
    - Dst: invalid_domainchar
      Src: /src/haproxy/addons/ot/src/parser.c:146,1
    - Dst: invalid_prefix_char
      Src: /src/haproxy/addons/ot/src/parser.c:149,1
    - Dst: isdigit
      Src: /src/haproxy/addons/ot/src/parser.c:158,1
    - Dst: isalnum
      Src: /src/haproxy/addons/ot/src/parser.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 166
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 166
    functionName: flt_ot_parse_invalid_char
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_STR_ISVALID
    - FLT_OT_FUNC
    - invalid_prefix_char
    - invalid_domainchar
    - FLT_OT_RETURN_EX
    - isalnum
    - invalid_char
    - isdigit
    linkageType: ''
    returnType: char
    signature: '*flt_ot_parse_invalid_char(const char *name, int type)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:194,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:194,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:194,1
    - Dst: FLT_OT_ARGS_DUMP
      Src: /src/haproxy/addons/ot/src/parser.c:196,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:202,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:206,1
    - Dst: flt_ot_args_count
      Src: /src/haproxy/addons/ot/src/parser.c:208,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:213,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:221,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:229,1
    - Dst: flt_ot_parse_invalid_char
      Src: /src/haproxy/addons/ot/src/parser.c:235,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:237,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:242,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:244,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 8
    argNames:
    - file
    - linenum
    - args
    - id
    - parse_data
    - parse_data_size
    - pdata
    - err
    argTypes:
    - char*
    - int
    - char**
    - void*
    - struct flt_ot_parse_data*
    - size_t
    - struct flt_ot_parse_data**
    - char**
    constantsTouched: []
    func_position:
      end: 245
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 245
    functionName: flt_ot_parse_cfg_check
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_FUNC
    - strcmp
    - FLT_OT_PARSE_ERR
    - flt_ot_args_count
    - FLT_OT_ARGS_DUMP
    - flt_ot_parse_invalid_char
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    linkageType: ''
    returnType: int
    signature: flt_ot_parse_cfg_check(const char *file, int linenum, char **args,
      const void *id, const struct flt_ot_parse_data *parse_data, size_t parse_data_size,
      const struct flt_ot_parse_data **pdata, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:272,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:272,1
    - Dst: flt_ot_conf_sample_expr_init
      Src: /src/haproxy/addons/ot/src/parser.c:274,1
    - Dst: sample_parse_expr
      Src: /src/haproxy/addons/ot/src/parser.c:276,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/parser.c:278,1
    - Dst: flt_ot_conf_sample_expr_free
      Src: /src/haproxy/addons/ot/src/parser.c:286,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - file
    - linenum
    - args
    - idx
    - head
    - err
    argTypes:
    - char*
    - int
    - char**
    - int*
    - struct list*
    - char**
    constantsTouched: []
    func_position:
      end: 289
      start: 267
    functionDepth: 7
    functionLinenumber: 267
    functionLinenumberEnd: 289
    functionName: flt_ot_parse_cfg_sample_expr
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_FUNC
    - flt_ot_conf_sample_expr_init
    - FLT_OT_DBG
    - flt_ot_conf_sample_expr_free
    - sample_parse_expr
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    linkageType: ''
    returnType: int
    signature: flt_ot_parse_cfg_sample_expr(const char *file, int linenum, char **args,
      int *idx, struct list *head, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:315,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:315,1
    - Dst: flt_ot_conf_sample_init
      Src: /src/haproxy/addons/ot/src/parser.c:317,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:319,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:326,1
    - Dst: flt_ot_parse_cfg_sample_expr
      Src: /src/haproxy/addons/ot/src/parser.c:327,1
    - Dst: flt_ot_conf_sample_free
      Src: /src/haproxy/addons/ot/src/parser.c:334,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/parser.c:336,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - file
    - linenum
    - args
    - head
    - err
    argTypes:
    - char*
    - int
    - char**
    - struct list*
    - char**
    constantsTouched: []
    func_position:
      end: 339
      start: 310
    functionDepth: 8
    functionLinenumber: 310
    functionLinenumberEnd: 339
    functionName: flt_ot_parse_cfg_sample
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ARG_ISVALID
    - FLT_OT_FUNC
    - FLT_OT_PARSE_ERR
    - flt_ot_conf_sample_free
    - FLT_OT_DBG
    - flt_ot_parse_cfg_sample_expr
    - flt_ot_conf_sample_init
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    linkageType: ''
    returnType: int
    signature: flt_ot_parse_cfg_sample(const char *file, int linenum, char **args,
      struct list *head, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:365,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:365,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:367,1
    - Dst: flt_ot_conf_str_init
      Src: /src/haproxy/addons/ot/src/parser.c:368,1
    - Dst: flt_ot_conf_str_free
      Src: /src/haproxy/addons/ot/src/parser.c:372,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - file
    - linenum
    - args
    - head
    - err
    argTypes:
    - char*
    - int
    - char**
    - struct list*
    - char**
    constantsTouched: []
    func_position:
      end: 375
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 375
    functionName: flt_ot_parse_cfg_str
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ARG_ISVALID
    - FLT_OT_FUNC
    - flt_ot_conf_str_free
    - flt_ot_conf_str_init
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    linkageType: ''
    returnType: int
    signature: flt_ot_parse_cfg_str(const char *file, int linenum, char **args, struct
      list *head, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:401,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:401,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:401,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:403,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:404,1
    - Dst: alertif_too_many_args
      Src: /src/haproxy/addons/ot/src/parser.c:405,1
    - Dst: access
      Src: /src/haproxy/addons/ot/src/parser.c:407,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:408,1
    - Dst: strerror
      Src: /src/haproxy/addons/ot/src/parser.c:408,1
    - Dst: flt_ot_parse_keyword
      Src: /src/haproxy/addons/ot/src/parser.c:410,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - ptr
    - file
    - linenum
    - args
    - err
    - err_msg
    argTypes:
    - char**
    - char*
    - int
    - char**
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 413
      start: 397
    functionDepth: 7
    functionLinenumber: 397
    functionLinenumberEnd: 413
    functionName: flt_ot_parse_cfg_file
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ARG_ISVALID
    - FLT_OT_FUNC
    - strerror
    - flt_ot_parse_keyword
    - FLT_OT_PARSE_ERR
    - alertif_too_many_args
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - access
    linkageType: ''
    returnType: int
    signature: flt_ot_parse_cfg_file(char **ptr, const char *file, int linenum, char
      **args, char **err, const char *err_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:434,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/parser.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 441
    functionName: flt_ot_parse_check_scope
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - strcmp
    - FLT_OT_DBG
    linkageType: ''
    returnType: bool
    signature: flt_ot_parse_check_scope(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:470,1
    - Dst: flt_ot_parse_check_scope
      Src: /src/haproxy/addons/ot/src/parser.c:472,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:473,1
    - Dst: flt_ot_parse_cfg_check
      Src: /src/haproxy/addons/ot/src/parser.c:475,1
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/parser.c:475,1
    - Dst: FLT_OT_PARSE_IFERR_ALERT
      Src: /src/haproxy/addons/ot/src/parser.c:477,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:479,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:484,1
    - Dst: flt_ot_conf_tracer_init
      Src: /src/haproxy/addons/ot/src/parser.c:486,1
    - Dst: parse_logger
      Src: /src/haproxy/addons/ot/src/parser.c:492,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:493,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/parser.c:494,1
    - Dst: flt_ot_parse_cfg_file
      Src: /src/haproxy/addons/ot/src/parser.c:502,1
    - Dst: flt_ot_parse_cfg_file
      Src: /src/haproxy/addons/ot/src/parser.c:505,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:508,1
    - Dst: flt_ot_conf_ph_init
      Src: /src/haproxy/addons/ot/src/parser.c:509,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:513,1
    - Dst: flt_ot_conf_ph_init
      Src: /src/haproxy/addons/ot/src/parser.c:514,1
    - Dst: strcasecmp
      Src: /src/haproxy/addons/ot/src/parser.c:518,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:519,1
    - Dst: parse_acl
      Src: /src/haproxy/addons/ot/src/parser.c:520,1
    - Dst: FLT_OT_FLOAT_U32
      Src: /src/haproxy/addons/ot/src/parser.c:524,1
    - Dst: flt_ot_strtod
      Src: /src/haproxy/addons/ot/src/parser.c:524,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:527,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:530,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:533,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:540,1
    - Dst: flt_ot_strtoll
      Src: /src/haproxy/addons/ot/src/parser.c:544,1
    - Dst: FLT_OT_PARSE_WARNING
      Src: /src/haproxy/addons/ot/src/parser.c:548,1
    - Dst: FLT_OT_PARSE_IFERR_ALERT
      Src: /src/haproxy/addons/ot/src/parser.c:552,1
    - Dst: flt_ot_conf_tracer_free
      Src: /src/haproxy/addons/ot/src/parser.c:555,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:557,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kw_mod
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 558
      start: 461
    functionDepth: 8
    functionLinenumber: 461
    functionLinenumberEnd: 558
    functionName: flt_ot_parse_cfg_tracer
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_TABLESIZE
    - FLT_OT_PARSE_ERR
    - flt_ot_strtoll
    - flt_ot_conf_tracer_free
    - FLT_OT_RETURN_INT
    - FLT_OT_FREE_CLEAR
    - FLT_OT_ARG_ISVALID
    - strcmp
    - flt_ot_parse_check_scope
    - FLT_OT_FUNC
    - flt_ot_parse_cfg_check
    - FLT_OT_FLOAT_U32
    - FLT_OT_PARSE_WARNING
    - FLT_OT_PARSE_IFERR_ALERT
    - flt_ot_conf_tracer_init
    - strcasecmp
    - parse_logger
    - flt_ot_conf_ph_init
    - flt_ot_parse_cfg_file
    - parse_acl
    - flt_ot_strtod
    linkageType: ''
    returnType: int
    signature: flt_ot_parse_cfg_tracer(const char *file, int linenum, char **args,
      int kw_mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:580,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:583,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:588,1
    - Dst: FLT_OT_POST_PARSE_ALERT
      Src: /src/haproxy/addons/ot/src/parser.c:591,1
    - Dst: otc_file_read
      Src: /src/haproxy/addons/ot/src/parser.c:593,1
    - Dst: FLT_OT_POST_PARSE_ALERT
      Src: /src/haproxy/addons/ot/src/parser.c:595,1
    - Dst: FLT_OT_POST_PARSE_ALERT
      Src: /src/haproxy/addons/ot/src/parser.c:599,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 604
    functionName: flt_ot_post_parse_cfg_tracer
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_INT
    - FLT_OT_FUNC
    - FLT_OT_POST_PARSE_ALERT
    - otc_file_read
    linkageType: ''
    returnType: int
    signature: flt_ot_post_parse_cfg_tracer(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:633,1
    - Dst: flt_ot_parse_check_scope
      Src: /src/haproxy/addons/ot/src/parser.c:635,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:636,1
    - Dst: flt_ot_parse_cfg_check
      Src: /src/haproxy/addons/ot/src/parser.c:638,1
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/parser.c:638,1
    - Dst: FLT_OT_PARSE_IFERR_ALERT
      Src: /src/haproxy/addons/ot/src/parser.c:640,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:642,1
    - Dst: flt_ot_conf_group_init
      Src: /src/haproxy/addons/ot/src/parser.c:646,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:651,1
    - Dst: flt_ot_conf_ph_init
      Src: /src/haproxy/addons/ot/src/parser.c:652,1
    - Dst: FLT_OT_PARSE_IFERR_ALERT
      Src: /src/haproxy/addons/ot/src/parser.c:656,1
    - Dst: flt_ot_conf_group_free
      Src: /src/haproxy/addons/ot/src/parser.c:659,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:661,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kw_mod
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 662
      start: 624
    functionDepth: 4
    functionLinenumber: 624
    functionLinenumberEnd: 662
    functionName: flt_ot_parse_cfg_group
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ARG_ISVALID
    - FLT_OT_FUNC
    - FLT_OT_TABLESIZE
    - flt_ot_conf_group_init
    - flt_ot_conf_ph_init
    - flt_ot_parse_cfg_check
    - flt_ot_parse_check_scope
    - flt_ot_conf_group_free
    - FLT_OT_RETURN_INT
    - FLT_OT_PARSE_IFERR_ALERT
    linkageType: ''
    returnType: int
    signature: flt_ot_parse_cfg_group(const char *file, int linenum, char **args,
      int kw_mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:683,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:686,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/addons/ot/src/parser.c:689,1
    - Dst: FLT_OT_POST_PARSE_ALERT
      Src: /src/haproxy/addons/ot/src/parser.c:690,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 695
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 695
    functionName: flt_ot_post_parse_cfg_group
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_INT
    - FLT_OT_FUNC
    - FLT_OT_POST_PARSE_ALERT
    - LIST_ISEMPTY
    linkageType: ''
    returnType: int
    signature: flt_ot_post_parse_cfg_group(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:719,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:719,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:721,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:724,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:733,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/parser.c:737,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - args
    - cur_arg
    - err
    argTypes:
    - char**
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 740
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 740
    functionName: flt_ot_parse_cfg_scope_ctx
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_FUNC
    - strcmp
    - FLT_OT_DBG
    - FLT_OT_PARSE_ERR
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    linkageType: ''
    returnType: int
    signature: flt_ot_parse_cfg_scope_ctx(char **args, int cur_arg, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:767,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:767,1
    - Dst: va_start
      Src: /src/haproxy/addons/ot/src/parser.c:769,1
    - Dst: va_arg
      Src: /src/haproxy/addons/ot/src/parser.c:769,1
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/parser.c:769,1
    - Dst: build_acl_cond
      Src: /src/haproxy/addons/ot/src/parser.c:770,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/parser.c:772,1
    - Dst: va_end
      Src: /src/haproxy/addons/ot/src/parser.c:774,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/parser.c:777,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/parser.c:779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 6
    argNames:
    - file
    - linenum
    - px
    - args
    - err
    - head
    argTypes:
    - char*
    - int
    - struct proxy*
    - char**
    - char**
    - struct list*
    constantsTouched: []
    func_position:
      end: 780
      start: 761
    functionDepth: 6
    functionLinenumber: 761
    functionLinenumberEnd: 780
    functionName: flt_ot_parse_acl
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - va_end
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - build_acl_cond
    - va_arg
    - FLT_OT_DBG
    - typeof
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    - va_start
    linkageType: ''
    returnType: struct acl_cond
    signature: '*flt_ot_parse_acl(const char *file, int linenum, struct proxy *px,
      const char **args, char **err, struct list *head, ...)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:809,1
    - Dst: flt_ot_parse_check_scope
      Src: /src/haproxy/addons/ot/src/parser.c:811,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:812,1
    - Dst: flt_ot_parse_cfg_check
      Src: /src/haproxy/addons/ot/src/parser.c:814,1
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/parser.c:814,1
    - Dst: FLT_OT_PARSE_IFERR_ALERT
      Src: /src/haproxy/addons/ot/src/parser.c:816,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:818,1
    - Dst: flt_ot_conf_scope_init
      Src: /src/haproxy/addons/ot/src/parser.c:823,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/parser.c:833,1
    - Dst: flt_ot_conf_span_init
      Src: /src/haproxy/addons/ot/src/parser.c:839,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:848,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:849,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:850,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:852,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:856,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:856,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:857,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:858,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:860,1
    - Dst: strlen
      Src: /src/haproxy/addons/ot/src/parser.c:862,1
    - Dst: flt_ot_parse_strdup
      Src: /src/haproxy/addons/ot/src/parser.c:864,1
    - Dst: strlen
      Src: /src/haproxy/addons/ot/src/parser.c:868,1
    - Dst: flt_ot_parse_strdup
      Src: /src/haproxy/addons/ot/src/parser.c:870,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:874,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/parser.c:882,1
    - Dst: flt_ot_parse_cfg_sample
      Src: /src/haproxy/addons/ot/src/parser.c:886,1
    - Dst: flt_ot_parse_cfg_sample
      Src: /src/haproxy/addons/ot/src/parser.c:889,1
    - Dst: flt_ot_parse_cfg_sample
      Src: /src/haproxy/addons/ot/src/parser.c:892,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:903,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:904,1
    - Dst: flt_ot_parse_strdup
      Src: /src/haproxy/addons/ot/src/parser.c:905,1
    - Dst: flt_ot_parse_strdup
      Src: /src/haproxy/addons/ot/src/parser.c:907,1
    - Dst: flt_ot_parse_strdup
      Src: /src/haproxy/addons/ot/src/parser.c:909,1
    - Dst: strlen
      Src: /src/haproxy/addons/ot/src/parser.c:912,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:921,1
    - Dst: flt_ot_parse_cfg_scope_ctx
      Src: /src/haproxy/addons/ot/src/parser.c:922,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:923,1
    - Dst: flt_ot_parse_cfg_scope_ctx
      Src: /src/haproxy/addons/ot/src/parser.c:924,1
    - Dst: flt_ot_conf_context_init
      Src: /src/haproxy/addons/ot/src/parser.c:937,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:940,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:942,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:945,1
    - Dst: flt_ot_parse_cfg_str
      Src: /src/haproxy/addons/ot/src/parser.c:952,1
    - Dst: strcasecmp
      Src: /src/haproxy/addons/ot/src/parser.c:955,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:956,1
    - Dst: parse_acl
      Src: /src/haproxy/addons/ot/src/parser.c:957,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:963,1
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/parser.c:966,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:967,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:978,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:980,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:983,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:983,1
    - Dst: flt_ot_parse_acl
      Src: /src/haproxy/addons/ot/src/parser.c:991,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:996,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/parser.c:1000,1
    - Dst: FLT_OT_PARSE_IFERR_ALERT
      Src: /src/haproxy/addons/ot/src/parser.c:1004,1
    - Dst: flt_ot_conf_scope_free
      Src: /src/haproxy/addons/ot/src/parser.c:1007,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:1012,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 128
    argCount: 4
    argNames:
    - file
    - linenum
    - args
    - kw_mod
    argTypes:
    - char*
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 1013
      start: 800
    functionDepth: 9
    functionLinenumber: 800
    functionLinenumberEnd: 1013
    functionName: flt_ot_parse_cfg_scope
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_TABLESIZE
    - FLT_OT_DBG
    - FLT_OT_PARSE_ERR
    - flt_ot_parse_cfg_scope_ctx
    - FLT_OT_RETURN_INT
    - FLT_OT_ARG_ISVALID
    - strcmp
    - flt_ot_parse_cfg_str
    - flt_ot_parse_check_scope
    - flt_ot_conf_scope_free
    - flt_ot_parse_strdup
    - FLT_OT_FUNC
    - strlen
    - flt_ot_parse_cfg_check
    - flt_ot_conf_scope_init
    - flt_ot_conf_span_init
    - FLT_OT_PARSE_IFERR_ALERT
    - flt_ot_parse_cfg_sample
    - flt_ot_conf_context_init
    - strcasecmp
    - parse_acl
    - flt_ot_parse_acl
    linkageType: ''
    returnType: int
    signature: flt_ot_parse_cfg_scope(const char *file, int linenum, char **args,
      int kw_mod)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:1038,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:1041,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/parser.c:1044,1
    - Dst: FLT_OT_POST_PARSE_ALERT
      Src: /src/haproxy/addons/ot/src/parser.c:1047,1
    - Dst: flt_ot_conf_scope_free
      Src: /src/haproxy/addons/ot/src/parser.c:1050,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:1055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1056
    functionName: flt_ot_post_parse_cfg_scope
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_FUNC
    - list_for_each_entry
    - FLT_OT_POST_PARSE_ALERT
    - FLT_OT_RETURN_INT
    - flt_ot_conf_scope_free
    linkageType: ''
    returnType: int
    signature: flt_ot_post_parse_cfg_scope(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:1081,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:1081,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/parser.c:1086,1
    - Dst: cfg_backup_sections
      Src: /src/haproxy/addons/ot/src/parser.c:1087,1
    - Dst: cfg_register_section
      Src: /src/haproxy/addons/ot/src/parser.c:1090,1
    - Dst: cfg_register_section
      Src: /src/haproxy/addons/ot/src/parser.c:1092,1
    - Dst: cfg_register_section
      Src: /src/haproxy/addons/ot/src/parser.c:1094,1
    - Dst: access
      Src: /src/haproxy/addons/ot/src/parser.c:1096,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:1097,1
    - Dst: strerror
      Src: /src/haproxy/addons/ot/src/parser.c:1097,1
    - Dst: load_cfg_in_mem
      Src: /src/haproxy/addons/ot/src/parser.c:1100,1
    - Dst: ha_free
      Src: /src/haproxy/addons/ot/src/parser.c:1102,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:1103,1
    - Dst: parse_cfg
      Src: /src/haproxy/addons/ot/src/parser.c:1105,1
    - Dst: ha_free
      Src: /src/haproxy/addons/ot/src/parser.c:1106,1
    - Dst: cfg_unregister_sections
      Src: /src/haproxy/addons/ot/src/parser.c:1110,1
    - Dst: cfg_restore_sections
      Src: /src/haproxy/addons/ot/src/parser.c:1111,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:1115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - conf
    - flt_name
    - err
    argTypes:
    - struct flt_ot_conf*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 1116
      start: 1075
    functionDepth: 7
    functionLinenumber: 1075
    functionLinenumberEnd: 1116
    functionName: flt_ot_parse_cfg
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - parse_cfg
    - FLT_OT_FUNC
    - cfg_register_section
    - strerror
    - ha_free
    - cfg_backup_sections
    - cfg_unregister_sections
    - cfg_restore_sections
    - FLT_OT_PARSE_ERR
    - LIST_INIT
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - load_cfg_in_mem
    - access
    linkageType: ''
    returnType: int
    signature: flt_ot_parse_cfg(struct flt_ot_conf *conf, const char *flt_name, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/parser.c:1146,1
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/parser.c:1153,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/parser.c:1153,1
    - Dst: FLT_OT_RUN_ONCE
      Src: /src/haproxy/addons/ot/src/parser.c:1156,1
    - Dst: if
      Src: /src/haproxy/addons/ot/src/parser.c:1157,1
    - Dst: otc_dbg_mem_init
      Src: /src/haproxy/addons/ot/src/parser.c:1157,1
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/parser.c:1157,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:1158,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:1160,1
    - Dst: FLT_OT_ARGS_DUMP
      Src: /src/haproxy/addons/ot/src/parser.c:1165,1
    - Dst: flt_ot_conf_init
      Src: /src/haproxy/addons/ot/src/parser.c:1167,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:1169,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:1171,1
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/parser.c:1174,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/parser.c:1175,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:1177,1
    - Dst: flt_ot_parse_keyword
      Src: /src/haproxy/addons/ot/src/parser.c:1178,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/parser.c:1181,1
    - Dst: flt_ot_parse_keyword
      Src: /src/haproxy/addons/ot/src/parser.c:1182,1
    - Dst: flt_ot_parse_cfg
      Src: /src/haproxy/addons/ot/src/parser.c:1184,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:1188,1
    - Dst: ha_warning
      Src: /src/haproxy/addons/ot/src/parser.c:1194,1
    - Dst: flt_ot_parse_strdup
      Src: /src/haproxy/addons/ot/src/parser.c:1196,1
    - Dst: FLT_OT_PARSE_ERR
      Src: /src/haproxy/addons/ot/src/parser.c:1200,1
    - Dst: flt_ot_conf_free
      Src: /src/haproxy/addons/ot/src/parser.c:1203,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/parser.c:1211,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/parser.c:1214,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 6
    argNames:
    - args
    - cur_arg
    - px
    - fconf
    - err
    - private
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct flt_conf*
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 1215
      start: 1138
    functionDepth: 9
    functionLinenumber: 1138
    functionLinenumberEnd: 1215
    functionName: flt_ot_parse
    functionSourceFile: /src/haproxy/addons/ot/src/parser.c
    functionUses: 0
    functionsReached:
    - FLT_OT_TABLESIZE
    - ha_warning
    - FLT_OT_PARSE_ERR
    - FLT_OT_DBG
    - FLT_OT_RETURN_INT
    - flt_ot_conf_free
    - if
    - FLT_OT_ARG_ISVALID
    - flt_ot_parse_keyword
    - strcmp
    - flt_ot_conf_init
    - FLT_OT_DPTR_ARGS
    - flt_ot_parse_strdup
    - FLT_OT_FUNC
    - FLT_OT_RUN_ONCE
    - FLT_OT_ARGS_DUMP
    - flt_ot_parse_cfg
    - otc_dbg_mem_init
    - memcpy
    linkageType: ''
    returnType: int
    signature: flt_ot_parse(char **args, int *cur_arg, struct proxy *px, struct flt_conf
      *fconf, char **err, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flt_ot_args_count
      Src: /src/haproxy/addons/ot/src/util.c:42,1
    - Dst: fprintf
      Src: /src/haproxy/addons/ot/src/util.c:44,1
    - Dst: FLT_OT_DBG_FMT
      Src: /src/haproxy/addons/ot/src/util.c:44,1
    - Dst: fprintf
      Src: /src/haproxy/addons/ot/src/util.c:47,1
    - Dst: fprintf
      Src: /src/haproxy/addons/ot/src/util.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - args
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: flt_ot_args_dump
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 0
    functionsReached:
    - FLT_OT_DBG_FMT
    - flt_ot_args_count
    - fprintf
    linkageType: ''
    returnType: void
    signature: flt_ot_args_dump(char **args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/util.c:71,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/util.c:74,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/util.c:76,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/util.c:80,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/util.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 85
    functionName: flt_ot_filters_dump
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 1
    functionsReached:
    - FLT_OT_DBG
    - FLT_OT_FUNC
    - FLT_OT_RETURN
    - list_for_each_entry
    linkageType: ''
    returnType: void
    signature: flt_ot_filters_dump(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - chn
    argTypes:
    - struct channel*
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: flt_ot_chn_label
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*flt_ot_chn_label(const struct channel *chn)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strm_fe
      Src: /src/haproxy/addons/ot/src/util.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: flt_ot_pr_mode
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 0
    functionsReached:
    - strm_fe
    linkageType: ''
    returnType: char
    signature: '*flt_ot_pr_mode(const struct stream *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct stream*
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: flt_ot_stream_pos
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*flt_ot_stream_pos(const struct stream *s)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct filter*
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: flt_ot_type
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*flt_ot_type(const struct filter *f)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/util.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - an_bit
    argTypes:
    - uint
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: flt_ot_analyzer
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 0
    functionsReached:
    - FLT_OT_TABLESIZE
    linkageType: ''
    returnType: char
    signature: '*flt_ot_analyzer(uint an_bit)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_NIBBLE_TO_HEX
      Src: /src/haproxy/addons/ot/src/util.c:227,1
    - Dst: FLT_OT_NIBBLE_TO_HEX
      Src: /src/haproxy/addons/ot/src/util.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 234
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 234
    functionName: flt_ot_str_hex
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 1
    functionsReached:
    - FLT_OT_NIBBLE_TO_HEX
    linkageType: ''
    returnType: char
    signature: '*flt_ot_str_hex(const void *data, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 268
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 268
    functionName: flt_ot_str_ctrl
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*flt_ot_str_ctrl(const void *data, size_t size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_BUFFER_THR
      Src: /src/haproxy/addons/ot/src/util.c:286,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/addons/ot/src/util.c:288,1
    - Dst: strncpy
      Src: /src/haproxy/addons/ot/src/util.c:289,1
    - Dst: snprintf
      Src: /src/haproxy/addons/ot/src/util.c:292,1
    - Dst: snprintf
      Src: /src/haproxy/addons/ot/src/util.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - head
    argTypes:
    - struct list*
    constantsTouched: []
    func_position:
      end: 304
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 304
    functionName: flt_ot_list_debug
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 0
    functionsReached:
    - strncpy
    - snprintf
    - LIST_ISEMPTY
    - FLT_OT_BUFFER_THR
    linkageType: ''
    returnType: char
    signature: '*flt_ot_list_debug(const struct list *head)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/util.c:327,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/util.c:327,1
    - Dst: FLT_OT_RETURN_EX
      Src: /src/haproxy/addons/ot/src/util.c:330,1
    - Dst: chunk_init
      Src: /src/haproxy/addons/ot/src/util.c:333,1
    - Dst: FLT_OT_CALLOC
      Src: /src/haproxy/addons/ot/src/util.c:333,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:336,1
    - Dst: FLT_OT_RETURN_EX
      Src: /src/haproxy/addons/ot/src/util.c:338,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:341,1
    - Dst: FLT_OT_RETURN_EX
      Src: /src/haproxy/addons/ot/src/util.c:343,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/util.c:346,1
    - Dst: FLT_OT_RETURN_EX
      Src: /src/haproxy/addons/ot/src/util.c:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - chk
    - src
    - n
    - err
    argTypes:
    - struct buffer*
    - void*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 350
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 350
    functionName: flt_ot_chunk_add
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_CALLOC
    - FLT_OT_FUNC
    - chunk_init
    - FLT_OT_RETURN_EX
    - FLT_OT_DPTR_ARGS
    - memcpy
    linkageType: ''
    returnType: ssize_t
    signature: flt_ot_chunk_add(struct buffer *chk, const void *src, size_t n, char
      **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_ARG_ISVALID
      Src: /src/haproxy/addons/ot/src/util.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 394
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 394
    functionName: flt_ot_args_count
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 2
    functionsReached:
    - FLT_OT_ARG_ISVALID
    linkageType: ''
    returnType: int
    signature: flt_ot_args_count(char **args)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flt_ot_args_count
      Src: /src/haproxy/addons/ot/src/util.c:419,1
    - Dst: memprintf
      Src: /src/haproxy/addons/ot/src/util.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - args
    - idx
    - str
    argTypes:
    - char**
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 423
      start: 412
    functionDepth: 5
    functionLinenumber: 412
    functionLinenumberEnd: 423
    functionName: flt_ot_args_to_str
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 0
    functionsReached:
    - memprintf
    - flt_ot_args_count
    linkageType: ''
    returnType: void
    signature: flt_ot_args_to_str(char **args, int idx, char **str)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/haproxy/addons/ot/src/util.c:449,1
    - Dst: FLT_OT_STR_ISVALID
      Src: /src/haproxy/addons/ot/src/util.c:450,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:451,1
    - Dst: FLT_OT_IN_RANGE
      Src: /src/haproxy/addons/ot/src/util.c:452,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - nptr
    - limit_min
    - limit_max
    - err
    argTypes:
    - char*
    - double
    - double
    - char**
    constantsTouched: []
    func_position:
      end: 456
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 456
    functionName: flt_ot_strtod
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 2
    functionsReached:
    - FLT_OT_STR_ISVALID
    - FLT_OT_ERR
    - strtod
    - FLT_OT_IN_RANGE
    linkageType: ''
    returnType: double
    signature: flt_ot_strtod(const char *nptr, double limit_min, double limit_max,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strtoll
      Src: /src/haproxy/addons/ot/src/util.c:482,1
    - Dst: FLT_OT_STR_ISVALID
      Src: /src/haproxy/addons/ot/src/util.c:483,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:484,1
    - Dst: FLT_OT_IN_RANGE
      Src: /src/haproxy/addons/ot/src/util.c:485,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - nptr
    - limit_min
    - limit_max
    - err
    argTypes:
    - char*
    - int64_t
    - int64_t
    - char**
    constantsTouched: []
    func_position:
      end: 489
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 489
    functionName: flt_ot_strtoll
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 2
    functionsReached:
    - FLT_OT_STR_ISVALID
    - FLT_OT_IN_RANGE
    - FLT_OT_ERR
    - strtoll
    linkageType: ''
    returnType: int64_t
    signature: flt_ot_strtoll(const char *nptr, int64_t limit_min, int64_t limit_max,
      char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/util.c:512,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/util.c:512,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/util.c:515,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:520,1
    - Dst: snprintf
      Src: /src/haproxy/addons/ot/src/util.c:529,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:536,1
    - Dst: inet_ntop
      Src: /src/haproxy/addons/ot/src/util.c:537,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:538,1
    - Dst: strlen
      Src: /src/haproxy/addons/ot/src/util.c:540,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:544,1
    - Dst: inet_ntop
      Src: /src/haproxy/addons/ot/src/util.c:545,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:546,1
    - Dst: strlen
      Src: /src/haproxy/addons/ot/src/util.c:548,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:552,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/util.c:556,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:568,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:571,1
    - Dst: FLT_OT_STR_SIZE
      Src: /src/haproxy/addons/ot/src/util.c:574,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/util.c:576,1
    - Dst: FLT_OT_STR_SIZE
      Src: /src/haproxy/addons/ot/src/util.c:579,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/util.c:581,1
    - Dst: FLT_OT_STR_SIZE
      Src: /src/haproxy/addons/ot/src/util.c:584,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/util.c:586,1
    - Dst: FLT_OT_STR_SIZE
      Src: /src/haproxy/addons/ot/src/util.c:589,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/util.c:591,1
    - Dst: FLT_OT_STR_SIZE
      Src: /src/haproxy/addons/ot/src/util.c:594,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/util.c:596,1
    - Dst: FLT_OT_STR_SIZE
      Src: /src/haproxy/addons/ot/src/util.c:599,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/util.c:601,1
    - Dst: FLT_OT_STR_SIZE
      Src: /src/haproxy/addons/ot/src/util.c:604,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/util.c:606,1
    - Dst: FLT_OT_STR_SIZE
      Src: /src/haproxy/addons/ot/src/util.c:609,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/util.c:611,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:615,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/util.c:618,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:623,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/util.c:626,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 94
    argCount: 4
    argNames:
    - data
    - value
    - size
    - err
    argTypes:
    - struct sample_data*
    - char*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 627
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 627
    functionName: flt_ot_sample_to_str
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_FUNC
    - strlen
    - snprintf
    - FLT_OT_STR_SIZE
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - memcpy
    - inet_ntop
    linkageType: ''
    returnType: int
    signature: flt_ot_sample_to_str(const struct sample_data *data, char *value, size_t
      size, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/util.c:650,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/util.c:650,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/util.c:653,1
    - Dst: FLT_OT_MALLOC
      Src: /src/haproxy/addons/ot/src/util.c:669,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:672,1
    - Dst: flt_ot_sample_to_str
      Src: /src/haproxy/addons/ot/src/util.c:674,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/util.c:677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - key
    - data
    - value
    - err
    argTypes:
    - char*
    - struct sample_data*
    - struct otc_value*
    - char**
    constantsTouched: []
    func_position:
      end: 678
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 678
    functionName: flt_ot_sample_to_value
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_FUNC
    - flt_ot_sample_to_str
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - FLT_OT_MALLOC
    linkageType: ''
    returnType: int
    signature: flt_ot_sample_to_value(const char *key, const struct sample_data *data,
      struct otc_value *value, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/util.c:708,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/util.c:708,1
    - Dst: FLT_OT_DBG_CONF_SAMPLE
      Src: /src/haproxy/addons/ot/src/util.c:710,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/util.c:712,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/util.c:714,1
    - Dst: FLT_OT_DBG_CONF_SAMPLE_EXPR
      Src: /src/haproxy/addons/ot/src/util.c:715,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/util.c:717,1
    - Dst: sample_process
      Src: /src/haproxy/addons/ot/src/util.c:729,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/util.c:730,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/util.c:732,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/util.c:738,1
    - Dst: flt_ot_sample_to_value
      Src: /src/haproxy/addons/ot/src/util.c:744,1
    - Dst: chunk_init
      Src: /src/haproxy/addons/ot/src/util.c:748,1
    - Dst: FLT_OT_CALLOC
      Src: /src/haproxy/addons/ot/src/util.c:748,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:750,1
    - Dst: flt_ot_sample_to_str
      Src: /src/haproxy/addons/ot/src/util.c:758,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/util.c:779,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/util.c:785,1
    - Dst: otc_text_map_new
      Src: /src/haproxy/addons/ot/src/util.c:789,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:792,1
    - Dst: otc_text_map_add
      Src: /src/haproxy/addons/ot/src/util.c:796,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/util.c:797,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/util.c:802,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/util.c:805,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 6
    argNames:
    - s
    - dir
    - sample
    - data
    - type
    - err
    argTypes:
    - struct stream*
    - uint
    - struct flt_ot_conf_sample*
    - struct flt_ot_scope_data*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 806
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 806
    functionName: flt_ot_sample_add
    functionSourceFile: /src/haproxy/addons/ot/src/util.c
    functionUses: 0
    functionsReached:
    - FLT_OT_DBG_CONF_SAMPLE
    - FLT_OT_CALLOC
    - sample_process
    - FLT_OT_FUNC
    - FLT_OT_ERR
    - chunk_init
    - list_for_each_entry
    - memset
    - FLT_OT_DBG
    - flt_ot_sample_to_str
    - otc_text_map_new
    - FLT_OT_DBG_CONF_SAMPLE_EXPR
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - memcpy
    - flt_ot_sample_to_value
    - otc_text_map_add
    linkageType: ''
    returnType: int
    signature: flt_ot_sample_add(struct stream *s, uint dir, struct flt_ot_conf_sample
      *sample, struct flt_ot_scope_data *data, int type, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: FLT_OT_RETURN_EX
    functionSourceFile: /src/haproxy/addons/ot/src/group.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "FLT_OT_RETURN_EX(ACT_RET_CONT, enum act_return, \"%d\");\n\t}\n\n\t/*
      Find the OpenTracing filter instance from the current stream. */\n\tlist_for_each_entry(filter,
      &(s->strm_flt.filters), list)\n\t\tif (filter->config == fconf)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flt_ot_scope_run
      Src: /src/haproxy/addons/ot/src/group.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: FLT_OT_RETURN_EX
    functionSourceFile: /src/haproxy/addons/ot/src/group.c
    functionUses: 2
    functionsReached:
    - flt_ot_scope_run
    linkageType: ''
    returnType: void
    signature: "FLT_OT_RETURN_EX(ACT_RET_CONT, enum act_return, \"%d\");\n\t}\n\n\tlist_for_each_entry(ph_scope,
      &(conf_group->ph_scopes), list)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/group.c:151,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/group.c:151,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/group.c:156,1
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/group.c:162,1
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/group.c:166,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/group.c:167,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/group.c:169,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/group.c:176,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/group.c:183,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/group.c:192,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/group.c:194,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/group.c:201,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/group.c:202,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/group.c:209,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/group.c:211,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/group.c:214,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/group.c:215,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/group.c:221,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - rule
    - px
    - err
    argTypes:
    - struct act_rule*
    - struct proxy*
    - char**
    constantsTouched: []
    func_position:
      end: 222
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 222
    functionName: flt_ot_group_check
    functionSourceFile: /src/haproxy/addons/ot/src/group.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_FUNC
    - FLT_OT_TABLESIZE
    - list_for_each_entry
    - strcmp
    - FLT_OT_DBG
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: int
    signature: flt_ot_group_check(struct act_rule *rule, struct proxy *px, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/group.c:241,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/group.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rule
    argTypes:
    - struct act_rule*
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: flt_ot_group_release
    functionSourceFile: /src/haproxy/addons/ot/src/group.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    linkageType: ''
    returnType: void
    signature: flt_ot_group_release(struct act_rule *rule)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_CONF
      Src: /src/haproxy/addons/ot/src/filter.c:48,1
    - Dst: FLT_OT_RT_CTX
      Src: /src/haproxy/addons/ot/src/filter.c:53,1
    - Dst: FLT_OT_IN_RANGE
      Src: /src/haproxy/addons/ot/src/filter.c:58,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:59,1
    - Dst: flt_ot_type
      Src: /src/haproxy/addons/ot/src/filter.c:59,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:61,1
    - Dst: flt_ot_type
      Src: /src/haproxy/addons/ot/src/filter.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - FLT_OT_DBG_ARGS(, int event)
    argTypes:
    - struct filter*
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: flt_ot_is_disabled
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_CONF
    - FLT_OT_RT_CTX
    - FLT_OT_DBG
    - flt_ot_type
    - FLT_OT_IN_RANGE
    linkageType: ''
    returnType: bool
    signature: flt_ot_is_disabled(const struct filter *f FLT_OT_DBG_ARGS(, int event))
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:89,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/addons/ot/src/filter.c:93,1
    - Dst: FLT_OT_CONF
      Src: /src/haproxy/addons/ot/src/filter.c:93,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:95,1
    - Dst: FLT_OT_ERR_FREE
      Src: /src/haproxy/addons/ot/src/filter.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - f
    - err
    - retval
    argTypes:
    - struct filter*
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: flt_ot_return_int
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_CONF
    - FLT_OT_DBG
    - _HA_ATOMIC_ADD
    - FLT_OT_ERR_FREE
    linkageType: ''
    returnType: int
    signature: flt_ot_return_int(const struct filter *f, char **err, int retval)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:127,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/addons/ot/src/filter.c:131,1
    - Dst: FLT_OT_CONF
      Src: /src/haproxy/addons/ot/src/filter.c:131,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:133,1
    - Dst: FLT_OT_ERR_FREE
      Src: /src/haproxy/addons/ot/src/filter.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - f
    - err
    argTypes:
    - struct filter*
    - char**
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: flt_ot_return_void
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_CONF
    - FLT_OT_DBG
    - _HA_ATOMIC_ADD
    - FLT_OT_ERR_FREE
    linkageType: ''
    returnType: void
    signature: flt_ot_return_void(const struct filter *f, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_DEREF
      Src: /src/haproxy/addons/ot/src/filter.c:158,1
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:162,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:165,1
    - Dst: flt_ot_cli_init
      Src: /src/haproxy/addons/ot/src/filter.c:167,1
    - Dst: ot_init
      Src: /src/haproxy/addons/ot/src/filter.c:172,1
    - Dst: FLT_OT_ALERT
      Src: /src/haproxy/addons/ot/src/filter.c:176,1
    - Dst: FLT_OT_ERR_FREE
      Src: /src/haproxy/addons/ot/src/filter.c:178,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 182
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 182
    functionName: flt_ot_init
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - ot_init
    - flt_ot_cli_init
    - FLT_OT_FUNC
    - FLT_OT_ALERT
    - FLT_OT_DEREF
    - FLT_OT_RETURN_INT
    - FLT_OT_ERR_FREE
    linkageType: ''
    returnType: int
    signature: flt_ot_init(struct proxy *p, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: typeof
      Src: /src/haproxy/addons/ot/src/filter.c:203,1
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:208,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/filter.c:211,1
    - Dst: ot_debug
      Src: /src/haproxy/addons/ot/src/filter.c:213,1
    - Dst: ot_close
      Src: /src/haproxy/addons/ot/src/filter.c:214,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:217,1
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/filter.c:218,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:220,1
    - Dst: flt_ot_conf_free
      Src: /src/haproxy/addons/ot/src/filter.c:223,1
    - Dst: FLT_OT_MEMINFO
      Src: /src/haproxy/addons/ot/src/filter.c:225,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/filter.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 228
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 228
    functionName: flt_ot_deinit
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - FLT_OT_TABLESIZE
    - FLT_OT_DBG
    - ot_debug
    - typeof
    - FLT_OT_MEMINFO
    - flt_ot_conf_free
    - ot_close
    linkageType: ''
    returnType: void
    signature: flt_ot_deinit(struct proxy *p, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_DEREF
      Src: /src/haproxy/addons/ot/src/filter.c:250,1
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:256,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:259,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:269,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/filter.c:275,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:279,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/filter.c:281,1
    - Dst: FLT_OT_ALERT
      Src: /src/haproxy/addons/ot/src/filter.c:282,1
    - Dst: FLT_OT_DEREF
      Src: /src/haproxy/addons/ot/src/filter.c:289,1
    - Dst: FLT_OT_ALERT
      Src: /src/haproxy/addons/ot/src/filter.c:290,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/filter.c:300,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/filter.c:301,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/filter.c:304,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/filter.c:305,1
    - Dst: FLT_OT_ALERT
      Src: /src/haproxy/addons/ot/src/filter.c:314,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/filter.c:325,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/filter.c:328,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/filter.c:329,1
    - Dst: FLT_OT_ALERT
      Src: /src/haproxy/addons/ot/src/filter.c:338,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/filter.c:348,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/filter.c:351,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/filter.c:352,1
    - Dst: FLT_OT_ALERT
      Src: /src/haproxy/addons/ot/src/filter.c:361,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:368,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:369,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/filter.c:371,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/filter.c:379,1
    - Dst: FLT_OT_DBG_CONF_SPAN
      Src: /src/haproxy/addons/ot/src/filter.c:380,1
    - Dst: FLT_OT_ALERT
      Src: /src/haproxy/addons/ot/src/filter.c:392,1
    - Dst: FLT_OT_ALERT
      Src: /src/haproxy/addons/ot/src/filter.c:404,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/addons/ot/src/filter.c:406,1
    - Dst: FLT_OT_ALERT
      Src: /src/haproxy/addons/ot/src/filter.c:409,1
    - Dst: FLT_OT_ALERT
      Src: /src/haproxy/addons/ot/src/filter.c:411,1
    - Dst: FLT_OT_DBG_LIST
      Src: /src/haproxy/addons/ot/src/filter.c:413,1
    - Dst: FLT_OT_DBG_CONF_GROUP
      Src: /src/haproxy/addons/ot/src/filter.c:414,1
    - Dst: FLT_OT_DBG_LIST
      Src: /src/haproxy/addons/ot/src/filter.c:415,1
    - Dst: FLT_OT_DBG_CONF_PH
      Src: /src/haproxy/addons/ot/src/filter.c:415,1
    - Dst: FLT_OT_DBG_LIST
      Src: /src/haproxy/addons/ot/src/filter.c:416,1
    - Dst: FLT_OT_DBG_CONF_SCOPE
      Src: /src/haproxy/addons/ot/src/filter.c:416,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:419,1
    - Dst: FLT_OT_DBG_LIST
      Src: /src/haproxy/addons/ot/src/filter.c:420,1
    - Dst: FLT_OT_DBG_CONF_PH
      Src: /src/haproxy/addons/ot/src/filter.c:420,1
    - Dst: FLT_OT_DBG_LIST
      Src: /src/haproxy/addons/ot/src/filter.c:421,1
    - Dst: FLT_OT_DBG_CONF_PH
      Src: /src/haproxy/addons/ot/src/filter.c:421,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:424,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 93
    argCount: 2
    argNames:
    - p
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 425
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 425
    functionName: flt_ot_check
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_FUNC
    - LIST_ISEMPTY
    - FLT_OT_DBG_CONF_GROUP
    - list_for_each_entry
    - strcmp
    - FLT_OT_DBG
    - FLT_OT_ALERT
    - FLT_OT_DBG_CONF_PH
    - FLT_OT_DEREF
    - FLT_OT_DBG_CONF_SCOPE
    - FLT_OT_DBG_CONF_SPAN
    - FLT_OT_RETURN_INT
    - FLT_OT_DBG_LIST
    linkageType: ''
    returnType: int
    signature: flt_ot_check(struct proxy *p, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_DEREF
      Src: /src/haproxy/addons/ot/src/filter.c:446,1
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:450,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:453,1
    - Dst: ot_start
      Src: /src/haproxy/addons/ot/src/filter.c:460,1
    - Dst: FLT_OT_ALERT
      Src: /src/haproxy/addons/ot/src/filter.c:464,1
    - Dst: FLT_OT_ERR_FREE
      Src: /src/haproxy/addons/ot/src/filter.c:466,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - p
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 473
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 473
    functionName: flt_ot_init_per_thread
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_FUNC
    - FLT_OT_ALERT
    - ot_start
    - FLT_OT_DEREF
    - FLT_OT_RETURN_INT
    - FLT_OT_ERR_FREE
    linkageType: ''
    returnType: int
    signature: flt_ot_init_per_thread(struct proxy *p, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:495,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/filter.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - fconf
    argTypes:
    - struct proxy*
    - struct flt_conf*
    constantsTouched: []
    func_position:
      end: 498
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 498
    functionName: flt_ot_deinit_per_thread
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    linkageType: ''
    returnType: void
    signature: flt_ot_deinit_per_thread(struct proxy *p, struct flt_conf *fconf)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_CONF
      Src: /src/haproxy/addons/ot/src/filter.c:524,1
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:527,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:530,1
    - Dst: flt_ot_type
      Src: /src/haproxy/addons/ot/src/filter.c:530,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:532,1
    - Dst: FLT_OT_FLOAT_U32
      Src: /src/haproxy/addons/ot/src/filter.c:534,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:538,1
    - Dst: flt_ot_type
      Src: /src/haproxy/addons/ot/src/filter.c:538,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:540,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:544,1
    - Dst: flt_ot_type
      Src: /src/haproxy/addons/ot/src/filter.c:544,1
    - Dst: flt_ot_runtime_context_init
      Src: /src/haproxy/addons/ot/src/filter.c:546,1
    - Dst: FLT_OT_ERR_FREE
      Src: /src/haproxy/addons/ot/src/filter.c:547,1
    - Dst: FLT_OT_LOG
      Src: /src/haproxy/addons/ot/src/filter.c:549,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:551,1
    - Dst: FLT_OT_LOG
      Src: /src/haproxy/addons/ot/src/filter.c:561,1
    - Dst: flt_ot_vars_dump
      Src: /src/haproxy/addons/ot/src/filter.c:564,1
    - Dst: flt_ot_http_headers_dump
      Src: /src/haproxy/addons/ot/src/filter.c:566,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - s
    - f
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 569
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 569
    functionName: flt_ot_attach
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_CONF
    - FLT_OT_FUNC
    - flt_ot_vars_dump
    - flt_ot_http_headers_dump
    - FLT_OT_DBG
    - FLT_OT_LOG
    - flt_ot_type
    - FLT_OT_FLOAT_U32
    - flt_ot_runtime_context_init
    - FLT_OT_RETURN_INT
    - FLT_OT_ERR_FREE
    linkageType: ''
    returnType: int
    signature: flt_ot_attach(struct stream *s, struct filter *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:595,1
    - Dst: flt_ot_is_disabled
      Src: /src/haproxy/addons/ot/src/filter.c:597,1
    - Dst: FLT_OT_DBG_ARGS
      Src: /src/haproxy/addons/ot/src/filter.c:597,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:598,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:600,1
    - Dst: flt_ot_return_int
      Src: /src/haproxy/addons/ot/src/filter.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - f
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 601
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 601
    functionName: flt_ot_stream_start
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_INT
    - FLT_OT_FUNC
    - flt_ot_return_int
    - FLT_OT_DBG_ARGS
    - flt_ot_is_disabled
    linkageType: ''
    returnType: int
    signature: flt_ot_stream_start(struct stream *s, struct filter *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:626,1
    - Dst: flt_ot_is_disabled
      Src: /src/haproxy/addons/ot/src/filter.c:628,1
    - Dst: FLT_OT_DBG_ARGS
      Src: /src/haproxy/addons/ot/src/filter.c:628,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:629,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:631,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:633,1
    - Dst: flt_ot_return_int
      Src: /src/haproxy/addons/ot/src/filter.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - f
    - be
    argTypes:
    - struct stream*
    - struct filter*
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 634
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 634
    functionName: flt_ot_stream_set_backend
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_INT
    - FLT_OT_FUNC
    - FLT_OT_DBG
    - flt_ot_return_int
    - FLT_OT_DBG_ARGS
    - flt_ot_is_disabled
    linkageType: ''
    returnType: int
    signature: flt_ot_stream_set_backend(struct stream *s, struct filter *f, struct
      proxy *be)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:656,1
    - Dst: flt_ot_is_disabled
      Src: /src/haproxy/addons/ot/src/filter.c:658,1
    - Dst: FLT_OT_DBG_ARGS
      Src: /src/haproxy/addons/ot/src/filter.c:658,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/filter.c:659,1
    - Dst: flt_ot_return_void
      Src: /src/haproxy/addons/ot/src/filter.c:661,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/filter.c:663,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - f
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 664
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 664
    functionName: flt_ot_stream_stop
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - flt_ot_return_void
    - FLT_OT_DBG_ARGS
    - flt_ot_is_disabled
    linkageType: ''
    returnType: void
    signature: flt_ot_stream_stop(struct stream *s, struct filter *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:688,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:690,1
    - Dst: FLT_OT_CONF
      Src: /src/haproxy/addons/ot/src/filter.c:690,1
    - Dst: flt_ot_type
      Src: /src/haproxy/addons/ot/src/filter.c:690,1
    - Dst: flt_ot_runtime_context_free
      Src: /src/haproxy/addons/ot/src/filter.c:692,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/filter.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - f
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 695
      start: 686
    functionDepth: 1
    functionLinenumber: 686
    functionLinenumberEnd: 695
    functionName: flt_ot_detach
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_CONF
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - FLT_OT_DBG
    - flt_ot_type
    - flt_ot_runtime_context_free
    linkageType: ''
    returnType: void
    signature: flt_ot_detach(struct stream *s, struct filter *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:716,1
    - Dst: flt_ot_is_disabled
      Src: /src/haproxy/addons/ot/src/filter.c:718,1
    - Dst: FLT_OT_DBG_ARGS
      Src: /src/haproxy/addons/ot/src/filter.c:718,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/filter.c:719,1
    - Dst: flt_ot_return_void
      Src: /src/haproxy/addons/ot/src/filter.c:723,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/filter.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - s
    - f
    argTypes:
    - struct stream*
    - struct filter*
    constantsTouched: []
    func_position:
      end: 726
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 726
    functionName: flt_ot_check_timeouts
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - flt_ot_return_void
    - FLT_OT_DBG_ARGS
    - flt_ot_is_disabled
    linkageType: ''
    returnType: void
    signature: flt_ot_check_timeouts(struct stream *s, struct filter *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:750,1
    - Dst: flt_ot_is_disabled
      Src: /src/haproxy/addons/ot/src/filter.c:752,1
    - Dst: FLT_OT_DBG_ARGS
      Src: /src/haproxy/addons/ot/src/filter.c:752,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:753,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:755,1
    - Dst: flt_ot_chn_label
      Src: /src/haproxy/addons/ot/src/filter.c:755,1
    - Dst: flt_ot_pr_mode
      Src: /src/haproxy/addons/ot/src/filter.c:755,1
    - Dst: flt_ot_stream_pos
      Src: /src/haproxy/addons/ot/src/filter.c:755,1
    - Dst: flt_ot_event_run
      Src: /src/haproxy/addons/ot/src/filter.c:762,1
    - Dst: channel_dont_read
      Src: /src/haproxy/addons/ot/src/filter.c:764,1
    - Dst: channel_dont_close
      Src: /src/haproxy/addons/ot/src/filter.c:765,1
    - Dst: flt_ot_event_run
      Src: /src/haproxy/addons/ot/src/filter.c:772,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:777,1
    - Dst: flt_ot_return_int
      Src: /src/haproxy/addons/ot/src/filter.c:777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - s
    - f
    - chn
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 778
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 778
    functionName: flt_ot_channel_start_analyze
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_INT
    - FLT_OT_FUNC
    - flt_ot_pr_mode
    - channel_dont_close
    - FLT_OT_DBG
    - flt_ot_stream_pos
    - flt_ot_return_int
    - channel_dont_read
    - FLT_OT_DBG_ARGS
    - flt_ot_chn_label
    - flt_ot_is_disabled
    - flt_ot_event_run
    linkageType: ''
    returnType: int
    signature: flt_ot_channel_start_analyze(struct stream *s, struct filter *f, struct
      channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:803,1
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/filter.c:805,1
    - Dst: flt_ot_is_disabled
      Src: /src/haproxy/addons/ot/src/filter.c:812,1
    - Dst: FLT_OT_DBG_ARGS
      Src: /src/haproxy/addons/ot/src/filter.c:812,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:813,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:815,1
    - Dst: flt_ot_chn_label
      Src: /src/haproxy/addons/ot/src/filter.c:815,1
    - Dst: flt_ot_pr_mode
      Src: /src/haproxy/addons/ot/src/filter.c:815,1
    - Dst: flt_ot_stream_pos
      Src: /src/haproxy/addons/ot/src/filter.c:815,1
    - Dst: flt_ot_analyzer
      Src: /src/haproxy/addons/ot/src/filter.c:815,1
    - Dst: flt_ot_event_run
      Src: /src/haproxy/addons/ot/src/filter.c:817,1
    - Dst: channel_dont_read
      Src: /src/haproxy/addons/ot/src/filter.c:820,1
    - Dst: channel_dont_close
      Src: /src/haproxy/addons/ot/src/filter.c:821,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:824,1
    - Dst: flt_ot_return_int
      Src: /src/haproxy/addons/ot/src/filter.c:824,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - s
    - f
    - chn
    - an_bit
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    - uint
    constantsTouched: []
    func_position:
      end: 825
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 825
    functionName: flt_ot_channel_pre_analyze
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_INT
    - FLT_OT_FUNC
    - FLT_OT_TABLESIZE
    - flt_ot_pr_mode
    - channel_dont_close
    - FLT_OT_DBG
    - flt_ot_stream_pos
    - flt_ot_analyzer
    - flt_ot_return_int
    - channel_dont_read
    - FLT_OT_DBG_ARGS
    - flt_ot_chn_label
    - flt_ot_is_disabled
    - flt_ot_event_run
    linkageType: ''
    returnType: int
    signature: flt_ot_channel_pre_analyze(struct stream *s, struct filter *f, struct
      channel *chn, uint an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:852,1
    - Dst: FLT_OT_TABLESIZE
      Src: /src/haproxy/addons/ot/src/filter.c:854,1
    - Dst: flt_ot_is_disabled
      Src: /src/haproxy/addons/ot/src/filter.c:861,1
    - Dst: FLT_OT_DBG_ARGS
      Src: /src/haproxy/addons/ot/src/filter.c:861,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:862,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:864,1
    - Dst: flt_ot_chn_label
      Src: /src/haproxy/addons/ot/src/filter.c:864,1
    - Dst: flt_ot_pr_mode
      Src: /src/haproxy/addons/ot/src/filter.c:864,1
    - Dst: flt_ot_stream_pos
      Src: /src/haproxy/addons/ot/src/filter.c:864,1
    - Dst: flt_ot_analyzer
      Src: /src/haproxy/addons/ot/src/filter.c:864,1
    - Dst: flt_ot_event_run
      Src: /src/haproxy/addons/ot/src/filter.c:866,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:868,1
    - Dst: flt_ot_return_int
      Src: /src/haproxy/addons/ot/src/filter.c:868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - s
    - f
    - chn
    - an_bit
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    - uint
    constantsTouched: []
    func_position:
      end: 869
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 869
    functionName: flt_ot_channel_post_analyze
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_INT
    - FLT_OT_FUNC
    - FLT_OT_TABLESIZE
    - flt_ot_pr_mode
    - FLT_OT_DBG
    - flt_ot_stream_pos
    - flt_ot_analyzer
    - flt_ot_return_int
    - FLT_OT_DBG_ARGS
    - flt_ot_chn_label
    - flt_ot_is_disabled
    - flt_ot_event_run
    linkageType: ''
    returnType: int
    signature: flt_ot_channel_post_analyze(struct stream *s, struct filter *f, struct
      channel *chn, uint an_bit)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:893,1
    - Dst: flt_ot_is_disabled
      Src: /src/haproxy/addons/ot/src/filter.c:895,1
    - Dst: FLT_OT_DBG_ARGS
      Src: /src/haproxy/addons/ot/src/filter.c:895,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:896,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:898,1
    - Dst: flt_ot_chn_label
      Src: /src/haproxy/addons/ot/src/filter.c:898,1
    - Dst: flt_ot_pr_mode
      Src: /src/haproxy/addons/ot/src/filter.c:898,1
    - Dst: flt_ot_stream_pos
      Src: /src/haproxy/addons/ot/src/filter.c:898,1
    - Dst: flt_ot_event_run
      Src: /src/haproxy/addons/ot/src/filter.c:902,1
    - Dst: flt_ot_event_run
      Src: /src/haproxy/addons/ot/src/filter.c:905,1
    - Dst: FLT_OT_CONF
      Src: /src/haproxy/addons/ot/src/filter.c:911,1
    - Dst: FLT_OT_RT_CTX
      Src: /src/haproxy/addons/ot/src/filter.c:911,1
    - Dst: flt_ot_event_run
      Src: /src/haproxy/addons/ot/src/filter.c:912,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:918,1
    - Dst: flt_ot_return_int
      Src: /src/haproxy/addons/ot/src/filter.c:918,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - s
    - f
    - chn
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 919
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 919
    functionName: flt_ot_channel_end_analyze
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_CONF
    - FLT_OT_RETURN_INT
    - FLT_OT_FUNC
    - flt_ot_pr_mode
    - FLT_OT_RT_CTX
    - FLT_OT_DBG
    - flt_ot_stream_pos
    - flt_ot_return_int
    - FLT_OT_DBG_ARGS
    - flt_ot_chn_label
    - flt_ot_is_disabled
    - flt_ot_event_run
    linkageType: ''
    returnType: int
    signature: flt_ot_channel_end_analyze(struct stream *s, struct filter *f, struct
      channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: htxbuf
      Src: /src/haproxy/addons/ot/src/filter.c:943,1
    - Dst: http_get_stline
      Src: /src/haproxy/addons/ot/src/filter.c:944,1
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:947,1
    - Dst: flt_ot_is_disabled
      Src: /src/haproxy/addons/ot/src/filter.c:949,1
    - Dst: FLT_OT_DBG_ARGS
      Src: /src/haproxy/addons/ot/src/filter.c:949,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:950,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:952,1
    - Dst: flt_ot_chn_label
      Src: /src/haproxy/addons/ot/src/filter.c:952,1
    - Dst: flt_ot_pr_mode
      Src: /src/haproxy/addons/ot/src/filter.c:952,1
    - Dst: flt_ot_stream_pos
      Src: /src/haproxy/addons/ot/src/filter.c:952,1
    - Dst: HTX_SL_P1_LEN
      Src: /src/haproxy/addons/ot/src/filter.c:952,1
    - Dst: HTX_SL_P1_PTR
      Src: /src/haproxy/addons/ot/src/filter.c:952,1
    - Dst: HTX_SL_P2_LEN
      Src: /src/haproxy/addons/ot/src/filter.c:952,1
    - Dst: HTX_SL_P2_PTR
      Src: /src/haproxy/addons/ot/src/filter.c:952,1
    - Dst: HTX_SL_P3_LEN
      Src: /src/haproxy/addons/ot/src/filter.c:952,1
    - Dst: HTX_SL_P3_PTR
      Src: /src/haproxy/addons/ot/src/filter.c:952,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:954,1
    - Dst: flt_ot_return_int
      Src: /src/haproxy/addons/ot/src/filter.c:954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - f
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 955
      start: 940
    functionDepth: 2
    functionLinenumber: 940
    functionLinenumberEnd: 955
    functionName: flt_ot_http_headers
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_INT
    - FLT_OT_FUNC
    - HTX_SL_P1_LEN
    - HTX_SL_P2_PTR
    - HTX_SL_P2_LEN
    - flt_ot_pr_mode
    - HTX_SL_P3_LEN
    - FLT_OT_DBG
    - flt_ot_stream_pos
    - htxbuf
    - flt_ot_return_int
    - FLT_OT_DBG_ARGS
    - flt_ot_chn_label
    - http_get_stline
    - flt_ot_is_disabled
    - HTX_SL_P3_PTR
    - HTX_SL_P1_PTR
    linkageType: ''
    returnType: int
    signature: flt_ot_http_headers(struct stream *s, struct filter *f, struct http_msg
      *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:980,1
    - Dst: flt_ot_is_disabled
      Src: /src/haproxy/addons/ot/src/filter.c:982,1
    - Dst: FLT_OT_DBG_ARGS
      Src: /src/haproxy/addons/ot/src/filter.c:982,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:983,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:985,1
    - Dst: flt_ot_chn_label
      Src: /src/haproxy/addons/ot/src/filter.c:985,1
    - Dst: flt_ot_pr_mode
      Src: /src/haproxy/addons/ot/src/filter.c:985,1
    - Dst: flt_ot_stream_pos
      Src: /src/haproxy/addons/ot/src/filter.c:985,1
    - Dst: task_wakeup
      Src: /src/haproxy/addons/ot/src/filter.c:988,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:990,1
    - Dst: flt_ot_return_int
      Src: /src/haproxy/addons/ot/src/filter.c:990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - s
    - f
    - msg
    - offset
    - len
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    - uint
    - uint
    constantsTouched: []
    func_position:
      end: 991
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 991
    functionName: flt_ot_http_payload
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_INT
    - FLT_OT_FUNC
    - flt_ot_pr_mode
    - task_wakeup
    - FLT_OT_DBG
    - flt_ot_stream_pos
    - flt_ot_return_int
    - FLT_OT_DBG_ARGS
    - flt_ot_chn_label
    - flt_ot_is_disabled
    linkageType: ''
    returnType: int
    signature: flt_ot_http_payload(struct stream *s, struct filter *f, struct http_msg
      *msg, uint offset, uint len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:1015,1
    - Dst: flt_ot_is_disabled
      Src: /src/haproxy/addons/ot/src/filter.c:1017,1
    - Dst: FLT_OT_DBG_ARGS
      Src: /src/haproxy/addons/ot/src/filter.c:1017,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:1018,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:1020,1
    - Dst: flt_ot_chn_label
      Src: /src/haproxy/addons/ot/src/filter.c:1020,1
    - Dst: flt_ot_pr_mode
      Src: /src/haproxy/addons/ot/src/filter.c:1020,1
    - Dst: flt_ot_stream_pos
      Src: /src/haproxy/addons/ot/src/filter.c:1020,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:1022,1
    - Dst: flt_ot_return_int
      Src: /src/haproxy/addons/ot/src/filter.c:1022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - f
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 1023
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1023
    functionName: flt_ot_http_end
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_INT
    - FLT_OT_FUNC
    - flt_ot_pr_mode
    - FLT_OT_DBG
    - flt_ot_stream_pos
    - flt_ot_return_int
    - FLT_OT_DBG_ARGS
    - flt_ot_chn_label
    - flt_ot_is_disabled
    linkageType: ''
    returnType: int
    signature: flt_ot_http_end(struct stream *s, struct filter *f, struct http_msg
      *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:1045,1
    - Dst: flt_ot_is_disabled
      Src: /src/haproxy/addons/ot/src/filter.c:1047,1
    - Dst: FLT_OT_DBG_ARGS
      Src: /src/haproxy/addons/ot/src/filter.c:1047,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/filter.c:1048,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:1050,1
    - Dst: flt_ot_chn_label
      Src: /src/haproxy/addons/ot/src/filter.c:1050,1
    - Dst: flt_ot_pr_mode
      Src: /src/haproxy/addons/ot/src/filter.c:1050,1
    - Dst: flt_ot_stream_pos
      Src: /src/haproxy/addons/ot/src/filter.c:1050,1
    - Dst: flt_ot_return_void
      Src: /src/haproxy/addons/ot/src/filter.c:1052,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/filter.c:1054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - s
    - f
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - struct http_msg*
    constantsTouched: []
    func_position:
      end: 1055
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1055
    functionName: flt_ot_http_reset
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - flt_ot_return_void
    - flt_ot_pr_mode
    - FLT_OT_DBG
    - flt_ot_stream_pos
    - FLT_OT_DBG_ARGS
    - flt_ot_chn_label
    - flt_ot_is_disabled
    linkageType: ''
    returnType: void
    signature: flt_ot_http_reset(struct stream *s, struct filter *f, struct http_msg
      *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:1078,1
    - Dst: flt_ot_is_disabled
      Src: /src/haproxy/addons/ot/src/filter.c:1080,1
    - Dst: FLT_OT_DBG_ARGS
      Src: /src/haproxy/addons/ot/src/filter.c:1080,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/filter.c:1081,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:1083,1
    - Dst: flt_ot_pr_mode
      Src: /src/haproxy/addons/ot/src/filter.c:1083,1
    - Dst: flt_ot_stream_pos
      Src: /src/haproxy/addons/ot/src/filter.c:1083,1
    - Dst: flt_ot_return_void
      Src: /src/haproxy/addons/ot/src/filter.c:1085,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/filter.c:1087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - s
    - f
    - status
    - msg
    argTypes:
    - struct stream*
    - struct filter*
    - short
    - struct buffer*
    constantsTouched: []
    func_position:
      end: 1088
      start: 1074
    functionDepth: 2
    functionLinenumber: 1074
    functionLinenumberEnd: 1088
    functionName: flt_ot_http_reply
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - flt_ot_return_void
    - flt_ot_pr_mode
    - FLT_OT_DBG
    - flt_ot_stream_pos
    - FLT_OT_DBG_ARGS
    - flt_ot_is_disabled
    linkageType: ''
    returnType: void
    signature: flt_ot_http_reply(struct stream *s, struct filter *f, short status,
      const struct buffer *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/filter.c:1113,1
    - Dst: flt_ot_is_disabled
      Src: /src/haproxy/addons/ot/src/filter.c:1115,1
    - Dst: FLT_OT_DBG_ARGS
      Src: /src/haproxy/addons/ot/src/filter.c:1115,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:1116,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/filter.c:1118,1
    - Dst: flt_ot_chn_label
      Src: /src/haproxy/addons/ot/src/filter.c:1118,1
    - Dst: flt_ot_pr_mode
      Src: /src/haproxy/addons/ot/src/filter.c:1118,1
    - Dst: flt_ot_stream_pos
      Src: /src/haproxy/addons/ot/src/filter.c:1118,1
    - Dst: task_wakeup
      Src: /src/haproxy/addons/ot/src/filter.c:1125,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/filter.c:1127,1
    - Dst: flt_ot_return_int
      Src: /src/haproxy/addons/ot/src/filter.c:1127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - s
    - f
    - chn
    - offset
    - len
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    - uint
    - uint
    constantsTouched: []
    func_position:
      end: 1128
      start: 1108
    functionDepth: 2
    functionLinenumber: 1108
    functionLinenumberEnd: 1128
    functionName: flt_ot_tcp_payload
    functionSourceFile: /src/haproxy/addons/ot/src/filter.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN_INT
    - FLT_OT_FUNC
    - flt_ot_pr_mode
    - task_wakeup
    - FLT_OT_DBG
    - flt_ot_stream_pos
    - flt_ot_return_int
    - FLT_OT_DBG_ARGS
    - flt_ot_chn_label
    - flt_ot_is_disabled
    linkageType: ''
    returnType: int
    signature: flt_ot_tcp_payload(struct stream *s, struct filter *f, struct channel
      *chn, uint offset, uint len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:44,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:44,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/conf.c:47,1
    - Dst: strcmp
      Src: /src/haproxy/addons/ot/src/conf.c:48,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/conf.c:49,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:51,1
    - Dst: FLT_OT_CALLOC
      Src: /src/haproxy/addons/ot/src/conf.c:54,1
    - Dst: strlen
      Src: /src/haproxy/addons/ot/src/conf.c:56,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/conf.c:58,1
    - Dst: FLT_OT_STRDUP
      Src: /src/haproxy/addons/ot/src/conf.c:60,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/conf.c:63,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/addons/ot/src/conf.c:70,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/conf.c:72,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:75,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - size
    - id
    - linenum
    - head
    - err
    argTypes:
    - size_t
    - char*
    - int
    - struct list*
    - char**
    constantsTouched: []
    func_position:
      end: 76
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 76
    functionName: flt_ot_conf_hdr_init
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_RETURN_PTR
    - FLT_OT_CALLOC
    - FLT_OT_FUNC
    - list_for_each_entry
    - strcmp
    - strlen
    - FLT_OT_STRDUP
    - LIST_APPEND
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: void
    signature: '*flt_ot_conf_hdr_init(size_t size, const char *id, int linenum, struct
      list *head, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:99,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:99,1
    - Dst: flt_ot_conf_hdr_init
      Src: /src/haproxy/addons/ot/src/conf.c:101,1
    - Dst: FLT_OT_DBG_CONF_PH
      Src: /src/haproxy/addons/ot/src/conf.c:103,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - id
    - linenum
    - head
    - err
    argTypes:
    - char*
    - int
    - struct list*
    - char**
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: flt_ot_conf_ph_init
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 2
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - flt_ot_conf_hdr_init
    - FLT_OT_DBG_CONF_PH
    - FLT_OT_DPTR_ARGS
    linkageType: ''
    returnType: struct flt_ot_conf_ph
    signature: '*flt_ot_conf_ph_init(const char *id, int linenum, struct list *head,
      char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:124,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:124,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:127,1
    - Dst: FLT_OT_DBG_CONF_PH
      Src: /src/haproxy/addons/ot/src/conf.c:129,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:131,1
    - Dst: FLT_OT_LIST_DEL
      Src: /src/haproxy/addons/ot/src/conf.c:132,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/conf.c:133,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct flt_ot_conf_ph**
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: flt_ot_conf_ph_free
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - FLT_OT_FREE
    - FLT_OT_DBG_CONF_PH
    - FLT_OT_LIST_DEL
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: void
    signature: flt_ot_conf_ph_free(struct flt_ot_conf_ph **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:159,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:159,1
    - Dst: flt_ot_conf_hdr_init
      Src: /src/haproxy/addons/ot/src/conf.c:161,1
    - Dst: FLT_OT_DBG_CONF_SAMPLE_EXPR
      Src: /src/haproxy/addons/ot/src/conf.c:163,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - id
    - linenum
    - head
    - err
    argTypes:
    - char*
    - int
    - struct list*
    - char**
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: flt_ot_conf_sample_expr_init
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - flt_ot_conf_hdr_init
    - FLT_OT_DBG_CONF_SAMPLE_EXPR
    - FLT_OT_DPTR_ARGS
    linkageType: ''
    returnType: struct flt_ot_conf_sample_expr
    signature: '*flt_ot_conf_sample_expr_init(const char *id, int linenum, struct
      list *head, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:184,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:184,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:187,1
    - Dst: FLT_OT_DBG_CONF_SAMPLE_EXPR
      Src: /src/haproxy/addons/ot/src/conf.c:189,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:191,1
    - Dst: release_sample_expr
      Src: /src/haproxy/addons/ot/src/conf.c:192,1
    - Dst: FLT_OT_LIST_DEL
      Src: /src/haproxy/addons/ot/src/conf.c:193,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/conf.c:194,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct flt_ot_conf_sample_expr**
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 5
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: flt_ot_conf_sample_expr_free
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - FLT_OT_FREE
    - FLT_OT_LIST_DEL
    - FLT_OT_DBG_CONF_SAMPLE_EXPR
    - FLT_OT_DPTR_ARGS
    - release_sample_expr
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: void
    signature: flt_ot_conf_sample_expr_free(struct flt_ot_conf_sample_expr **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:220,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:220,1
    - Dst: flt_ot_conf_hdr_init
      Src: /src/haproxy/addons/ot/src/conf.c:222,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:224,1
    - Dst: flt_ot_args_to_str
      Src: /src/haproxy/addons/ot/src/conf.c:226,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/conf.c:228,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:230,1
    - Dst: flt_ot_args_count
      Src: /src/haproxy/addons/ot/src/conf.c:233,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/conf.c:234,1
    - Dst: FLT_OT_DBG_CONF_SAMPLE
      Src: /src/haproxy/addons/ot/src/conf.c:236,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - args
    - linenum
    - head
    - err
    argTypes:
    - char**
    - int
    - struct list*
    - char**
    constantsTouched: []
    func_position:
      end: 239
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 239
    functionName: flt_ot_conf_sample_init
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN_PTR
    - flt_ot_args_to_str
    - FLT_OT_DBG_CONF_SAMPLE
    - FLT_OT_FUNC
    - flt_ot_args_count
    - flt_ot_conf_hdr_init
    - LIST_INIT
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: struct flt_ot_conf_sample
    signature: '*flt_ot_conf_sample_init(char **args, int linenum, struct list *head,
      char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:257,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:257,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:260,1
    - Dst: FLT_OT_DBG_CONF_SAMPLE
      Src: /src/haproxy/addons/ot/src/conf.c:262,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:264,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:265,1
    - Dst: FLT_OT_LIST_DESTROY
      Src: /src/haproxy/addons/ot/src/conf.c:266,1
    - Dst: FLT_OT_LIST_DEL
      Src: /src/haproxy/addons/ot/src/conf.c:267,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/conf.c:268,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct flt_ot_conf_sample**
    constantsTouched: []
    func_position:
      end: 271
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 271
    functionName: flt_ot_conf_sample_free
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 1
    functionsReached:
    - FLT_OT_DBG_CONF_SAMPLE
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - FLT_OT_FREE
    - FLT_OT_LIST_DEL
    - FLT_OT_LIST_DESTROY
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: void
    signature: flt_ot_conf_sample_free(struct flt_ot_conf_sample **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:294,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:294,1
    - Dst: flt_ot_conf_hdr_init
      Src: /src/haproxy/addons/ot/src/conf.c:296,1
    - Dst: FLT_OT_DBG_CONF_STR
      Src: /src/haproxy/addons/ot/src/conf.c:298,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - id
    - linenum
    - head
    - err
    argTypes:
    - char*
    - int
    - struct list*
    - char**
    constantsTouched: []
    func_position:
      end: 301
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 301
    functionName: flt_ot_conf_str_init
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - flt_ot_conf_hdr_init
    - FLT_OT_DBG_CONF_STR
    - FLT_OT_DPTR_ARGS
    linkageType: ''
    returnType: struct flt_ot_conf_str
    signature: '*flt_ot_conf_str_init(const char *id, int linenum, struct list *head,
      char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:319,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:319,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:322,1
    - Dst: FLT_OT_DBG_CONF_STR
      Src: /src/haproxy/addons/ot/src/conf.c:324,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:326,1
    - Dst: FLT_OT_LIST_DEL
      Src: /src/haproxy/addons/ot/src/conf.c:327,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/conf.c:328,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct flt_ot_conf_str**
    constantsTouched: []
    func_position:
      end: 331
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 331
    functionName: flt_ot_conf_str_free
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - FLT_OT_FREE
    - FLT_OT_LIST_DEL
    - FLT_OT_DBG_CONF_STR
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: void
    signature: flt_ot_conf_str_free(struct flt_ot_conf_str **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:354,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:354,1
    - Dst: flt_ot_conf_hdr_init
      Src: /src/haproxy/addons/ot/src/conf.c:356,1
    - Dst: FLT_OT_DBG_CONF_CONTEXT
      Src: /src/haproxy/addons/ot/src/conf.c:358,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - id
    - linenum
    - head
    - err
    argTypes:
    - char*
    - int
    - struct list*
    - char**
    constantsTouched: []
    func_position:
      end: 361
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 361
    functionName: flt_ot_conf_context_init
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - FLT_OT_DBG_CONF_CONTEXT
    - flt_ot_conf_hdr_init
    - FLT_OT_DPTR_ARGS
    linkageType: ''
    returnType: struct flt_ot_conf_context
    signature: '*flt_ot_conf_context_init(const char *id, int linenum, struct list
      *head, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:379,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:379,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:382,1
    - Dst: FLT_OT_DBG_CONF_CONTEXT
      Src: /src/haproxy/addons/ot/src/conf.c:384,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:386,1
    - Dst: FLT_OT_LIST_DEL
      Src: /src/haproxy/addons/ot/src/conf.c:387,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/conf.c:388,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct flt_ot_conf_context**
    constantsTouched: []
    func_position:
      end: 391
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 391
    functionName: flt_ot_conf_context_free
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - FLT_OT_DBG_CONF_CONTEXT
    - FLT_OT_FREE
    - FLT_OT_LIST_DEL
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: void
    signature: flt_ot_conf_context_free(struct flt_ot_conf_context **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:414,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:414,1
    - Dst: flt_ot_conf_hdr_init
      Src: /src/haproxy/addons/ot/src/conf.c:416,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:418,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/conf.c:420,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/conf.c:421,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/conf.c:422,1
    - Dst: FLT_OT_DBG_CONF_SPAN
      Src: /src/haproxy/addons/ot/src/conf.c:424,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - id
    - linenum
    - head
    - err
    argTypes:
    - char*
    - int
    - struct list*
    - char**
    constantsTouched: []
    func_position:
      end: 427
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 427
    functionName: flt_ot_conf_span_init
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - flt_ot_conf_hdr_init
    - LIST_INIT
    - FLT_OT_DBG_CONF_SPAN
    - FLT_OT_DPTR_ARGS
    linkageType: ''
    returnType: struct flt_ot_conf_span
    signature: '*flt_ot_conf_span_init(const char *id, int linenum, struct list *head,
      char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:445,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:445,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:448,1
    - Dst: FLT_OT_DBG_CONF_SPAN
      Src: /src/haproxy/addons/ot/src/conf.c:450,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:452,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:453,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:454,1
    - Dst: FLT_OT_LIST_DESTROY
      Src: /src/haproxy/addons/ot/src/conf.c:455,1
    - Dst: FLT_OT_LIST_DESTROY
      Src: /src/haproxy/addons/ot/src/conf.c:456,1
    - Dst: FLT_OT_LIST_DESTROY
      Src: /src/haproxy/addons/ot/src/conf.c:457,1
    - Dst: FLT_OT_LIST_DEL
      Src: /src/haproxy/addons/ot/src/conf.c:458,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/conf.c:459,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct flt_ot_conf_span**
    constantsTouched: []
    func_position:
      end: 462
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 462
    functionName: flt_ot_conf_span_free
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 0
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - FLT_OT_FREE
    - FLT_OT_LIST_DEL
    - FLT_OT_LIST_DESTROY
    - FLT_OT_DBG_CONF_SPAN
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: void
    signature: flt_ot_conf_span_free(struct flt_ot_conf_span **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:485,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:485,1
    - Dst: flt_ot_conf_hdr_init
      Src: /src/haproxy/addons/ot/src/conf.c:487,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:489,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/conf.c:491,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/conf.c:492,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/conf.c:493,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/conf.c:494,1
    - Dst: FLT_OT_DBG_CONF_SCOPE
      Src: /src/haproxy/addons/ot/src/conf.c:496,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - id
    - linenum
    - head
    - err
    argTypes:
    - char*
    - int
    - struct list*
    - char**
    constantsTouched: []
    func_position:
      end: 499
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 499
    functionName: flt_ot_conf_scope_init
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - flt_ot_conf_hdr_init
    - LIST_INIT
    - FLT_OT_DBG_CONF_SCOPE
    - FLT_OT_DPTR_ARGS
    linkageType: ''
    returnType: struct flt_ot_conf_scope
    signature: '*flt_ot_conf_scope_init(const char *id, int linenum, struct list *head,
      char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:518,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:518,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:521,1
    - Dst: FLT_OT_DBG_CONF_SCOPE
      Src: /src/haproxy/addons/ot/src/conf.c:523,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:525,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/addons/ot/src/conf.c:526,1
    - Dst: prune_acl
      Src: /src/haproxy/addons/ot/src/conf.c:527,1
    - Dst: FLT_OT_LIST_DEL
      Src: /src/haproxy/addons/ot/src/conf.c:528,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:529,1
    - Dst: free_acl_cond
      Src: /src/haproxy/addons/ot/src/conf.c:531,1
    - Dst: FLT_OT_LIST_DESTROY
      Src: /src/haproxy/addons/ot/src/conf.c:532,1
    - Dst: FLT_OT_LIST_DESTROY
      Src: /src/haproxy/addons/ot/src/conf.c:533,1
    - Dst: FLT_OT_LIST_DESTROY
      Src: /src/haproxy/addons/ot/src/conf.c:534,1
    - Dst: FLT_OT_LIST_DEL
      Src: /src/haproxy/addons/ot/src/conf.c:535,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/conf.c:536,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct flt_ot_conf_scope**
    constantsTouched: []
    func_position:
      end: 539
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 539
    functionName: flt_ot_conf_scope_free
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 2
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - list_for_each_entry_safe
    - free_acl_cond
    - FLT_OT_FREE
    - FLT_OT_LIST_DEL
    - FLT_OT_LIST_DESTROY
    - prune_acl
    - FLT_OT_DBG_CONF_SCOPE
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: void
    signature: flt_ot_conf_scope_free(struct flt_ot_conf_scope **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:562,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:562,1
    - Dst: flt_ot_conf_hdr_init
      Src: /src/haproxy/addons/ot/src/conf.c:564,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:566,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/conf.c:568,1
    - Dst: FLT_OT_DBG_CONF_GROUP
      Src: /src/haproxy/addons/ot/src/conf.c:570,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - id
    - linenum
    - head
    - err
    argTypes:
    - char*
    - int
    - struct list*
    - char**
    constantsTouched: []
    func_position:
      end: 573
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 573
    functionName: flt_ot_conf_group_init
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - flt_ot_conf_hdr_init
    - LIST_INIT
    - FLT_OT_DBG_CONF_GROUP
    - FLT_OT_DPTR_ARGS
    linkageType: ''
    returnType: struct flt_ot_conf_group
    signature: '*flt_ot_conf_group_init(const char *id, int linenum, struct list *head,
      char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:591,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:591,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:594,1
    - Dst: FLT_OT_DBG_CONF_GROUP
      Src: /src/haproxy/addons/ot/src/conf.c:596,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:598,1
    - Dst: FLT_OT_LIST_DESTROY
      Src: /src/haproxy/addons/ot/src/conf.c:599,1
    - Dst: FLT_OT_LIST_DEL
      Src: /src/haproxy/addons/ot/src/conf.c:600,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/conf.c:601,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct flt_ot_conf_group**
    constantsTouched: []
    func_position:
      end: 604
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 604
    functionName: flt_ot_conf_group_free
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - FLT_OT_FREE
    - FLT_OT_LIST_DEL
    - FLT_OT_LIST_DESTROY
    - FLT_OT_DBG_CONF_GROUP
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: void
    signature: flt_ot_conf_group_free(struct flt_ot_conf_group **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:626,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:626,1
    - Dst: flt_ot_conf_hdr_init
      Src: /src/haproxy/addons/ot/src/conf.c:628,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:630,1
    - Dst: FLT_OT_FLOAT_U32
      Src: /src/haproxy/addons/ot/src/conf.c:632,1
    - Dst: init_new_proxy
      Src: /src/haproxy/addons/ot/src/conf.c:633,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/conf.c:634,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/conf.c:635,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/conf.c:636,1
    - Dst: FLT_OT_DBG_CONF_TRACER
      Src: /src/haproxy/addons/ot/src/conf.c:638,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - id
    - linenum
    - err
    argTypes:
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 641
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 641
    functionName: flt_ot_conf_tracer_init
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_DBG_CONF_TRACER
    - FLT_OT_FUNC
    - flt_ot_conf_hdr_init
    - FLT_OT_FLOAT_U32
    - LIST_INIT
    - FLT_OT_DPTR_ARGS
    - init_new_proxy
    linkageType: ''
    returnType: struct flt_ot_conf_tracer
    signature: '*flt_ot_conf_tracer_init(const char *id, int linenum, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:662,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:662,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:665,1
    - Dst: FLT_OT_DBG_CONF_TRACER
      Src: /src/haproxy/addons/ot/src/conf.c:667,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:669,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:670,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:671,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:672,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/conf.c:673,1
    - Dst: flt_ot_list_debug
      Src: /src/haproxy/addons/ot/src/conf.c:673,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/addons/ot/src/conf.c:674,1
    - Dst: prune_acl
      Src: /src/haproxy/addons/ot/src/conf.c:675,1
    - Dst: FLT_OT_LIST_DEL
      Src: /src/haproxy/addons/ot/src/conf.c:676,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:677,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/conf.c:679,1
    - Dst: flt_ot_list_debug
      Src: /src/haproxy/addons/ot/src/conf.c:679,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/addons/ot/src/conf.c:680,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/addons/ot/src/conf.c:681,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:682,1
    - Dst: FLT_OT_LIST_DESTROY
      Src: /src/haproxy/addons/ot/src/conf.c:684,1
    - Dst: FLT_OT_LIST_DESTROY
      Src: /src/haproxy/addons/ot/src/conf.c:685,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/conf.c:686,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct flt_ot_conf_tracer**
    constantsTouched: []
    func_position:
      end: 689
      start: 657
    functionDepth: 3
    functionLinenumber: 657
    functionLinenumberEnd: 689
    functionName: flt_ot_conf_tracer_free
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_DBG_CONF_TRACER
    - FLT_OT_FUNC
    - list_for_each_entry_safe
    - FLT_OT_DBG
    - LIST_DELETE
    - FLT_OT_FREE
    - FLT_OT_LIST_DEL
    - FLT_OT_LIST_DESTROY
    - flt_ot_list_debug
    - prune_acl
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: void
    signature: flt_ot_conf_tracer_free(struct flt_ot_conf_tracer **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:709,1
    - Dst: FLT_OT_CALLOC
      Src: /src/haproxy/addons/ot/src/conf.c:711,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:713,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/conf.c:716,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/conf.c:717,1
    - Dst: FLT_OT_DBG_CONF
      Src: /src/haproxy/addons/ot/src/conf.c:719,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/conf.c:721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - px
    argTypes:
    - struct proxy*
    constantsTouched: []
    func_position:
      end: 722
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 722
    functionName: flt_ot_conf_init
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_CALLOC
    - FLT_OT_FUNC
    - FLT_OT_DBG_CONF
    - LIST_INIT
    linkageType: ''
    returnType: struct flt_ot_conf
    signature: '*flt_ot_conf_init(struct proxy *px)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/conf.c:740,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/conf.c:740,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:743,1
    - Dst: FLT_OT_DBG_CONF
      Src: /src/haproxy/addons/ot/src/conf.c:745,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:747,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/conf.c:748,1
    - Dst: flt_ot_conf_tracer_free
      Src: /src/haproxy/addons/ot/src/conf.c:749,1
    - Dst: FLT_OT_LIST_DESTROY
      Src: /src/haproxy/addons/ot/src/conf.c:750,1
    - Dst: FLT_OT_LIST_DESTROY
      Src: /src/haproxy/addons/ot/src/conf.c:751,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/conf.c:752,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/conf.c:754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct flt_ot_conf**
    constantsTouched: []
    func_position:
      end: 755
      start: 738
    functionDepth: 4
    functionLinenumber: 738
    functionLinenumberEnd: 755
    functionName: flt_ot_conf_free
    functionSourceFile: /src/haproxy/addons/ot/src/conf.c
    functionUses: 2
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - FLT_OT_DBG_CONF
    - FLT_OT_FREE
    - FLT_OT_LIST_DESTROY
    - flt_ot_conf_tracer_free
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    linkageType: ''
    returnType: void
    signature: flt_ot_conf_free(struct flt_ot_conf **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_CONF
      Src: /src/haproxy/addons/ot/src/event.c:52,1
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/event.c:55,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/event.c:55,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/event.c:58,1
    - Dst: ot_span_init
      Src: /src/haproxy/addons/ot/src/event.c:61,1
    - Dst: FLT_OT_DEREF
      Src: /src/haproxy/addons/ot/src/event.c:61,1
    - Dst: ot_span_tag
      Src: /src/haproxy/addons/ot/src/event.c:66,1
    - Dst: ot_span_set_baggage
      Src: /src/haproxy/addons/ot/src/event.c:70,1
    - Dst: ot_span_log
      Src: /src/haproxy/addons/ot/src/event.c:74,1
    - Dst: ot_inject_http_headers
      Src: /src/haproxy/addons/ot/src/event.c:82,1
    - Dst: flt_ot_var_register
      Src: /src/haproxy/addons/ot/src/event.c:91,1
    - Dst: flt_ot_var_set
      Src: /src/haproxy/addons/ot/src/event.c:93,1
    - Dst: flt_ot_http_header_set
      Src: /src/haproxy/addons/ot/src/event.c:99,1
    - Dst: struct otc_span_context*::destroy
      Src: /src/haproxy/addons/ot/src/event.c:104,1
    - Dst: otc_text_map_destroy
      Src: /src/haproxy/addons/ot/src/event.c:105,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/event.c:109,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 9
    argNames:
    - s
    - f
    - chn
    - dir
    - span
    - data
    - conf_span
    - ts
    - err
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    - uint
    - struct flt_ot_scope_span*
    - struct flt_ot_scope_data*
    - struct flt_ot_conf_span*
    - struct timespec*
    - char**
    constantsTouched: []
    func_position:
      end: 110
      start: 50
    functionDepth: 7
    functionLinenumber: 50
    functionLinenumberEnd: 110
    functionName: flt_ot_scope_run_span
    functionSourceFile: /src/haproxy/addons/ot/src/event.c
    functionUses: 0
    functionsReached:
    - FLT_OT_CONF
    - FLT_OT_FUNC
    - otc_text_map_destroy
    - flt_ot_var_set
    - ot_span_init
    - ot_span_log
    - struct otc_span_context*::destroy
    - flt_ot_var_register
    - ot_span_set_baggage
    - ot_inject_http_headers
    - FLT_OT_DEREF
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - flt_ot_http_header_set
    - ot_span_tag
    linkageType: ''
    returnType: int
    signature: flt_ot_scope_run_span(struct stream *s, struct filter *f, struct channel
      *chn, uint dir, struct flt_ot_scope_span *span, struct flt_ot_scope_data *data,
      const struct flt_ot_conf_span *conf_span, const struct timespec *ts, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_CONF
      Src: /src/haproxy/addons/ot/src/event.c:135,1
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/event.c:142,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/event.c:142,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/event.c:144,1
    - Dst: flt_ot_chn_label
      Src: /src/haproxy/addons/ot/src/event.c:144,1
    - Dst: flt_ot_pr_mode
      Src: /src/haproxy/addons/ot/src/event.c:144,1
    - Dst: flt_ot_stream_pos
      Src: /src/haproxy/addons/ot/src/event.c:144,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/event.c:145,1
    - Dst: FLT_OT_DBG_CONF_SCOPE
      Src: /src/haproxy/addons/ot/src/event.c:146,1
    - Dst: clock_gettime
      Src: /src/haproxy/addons/ot/src/event.c:149,1
    - Dst: acl_exec_cond
      Src: /src/haproxy/addons/ot/src/event.c:158,1
    - Dst: acl_pass
      Src: /src/haproxy/addons/ot/src/event.c:159,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/event.c:163,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/event.c:173,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/event.c:175,1
    - Dst: FLT_OT_RT_CTX
      Src: /src/haproxy/addons/ot/src/event.c:177,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/addons/ot/src/event.c:179,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/event.c:184,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/event.c:188,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/event.c:191,1
    - Dst: FLT_OT_DBG_CONF_CONTEXT
      Src: /src/haproxy/addons/ot/src/event.c:192,1
    - Dst: flt_ot_http_headers_get
      Src: /src/haproxy/addons/ot/src/event.c:199,1
    - Dst: flt_ot_vars_get
      Src: /src/haproxy/addons/ot/src/event.c:202,1
    - Dst: flt_ot_scope_context_init
      Src: /src/haproxy/addons/ot/src/event.c:206,1
    - Dst: otc_text_map_destroy
      Src: /src/haproxy/addons/ot/src/event.c:209,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/event.c:215,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/event.c:220,1
    - Dst: FLT_OT_DBG_CONF_SPAN
      Src: /src/haproxy/addons/ot/src/event.c:221,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/event.c:223,1
    - Dst: flt_ot_scope_span_init
      Src: /src/haproxy/addons/ot/src/event.c:225,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/event.c:229,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/event.c:230,1
    - Dst: flt_ot_sample_add
      Src: /src/haproxy/addons/ot/src/event.c:232,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/event.c:236,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/event.c:237,1
    - Dst: flt_ot_sample_add
      Src: /src/haproxy/addons/ot/src/event.c:239,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/event.c:243,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/event.c:244,1
    - Dst: flt_ot_sample_add
      Src: /src/haproxy/addons/ot/src/event.c:246,1
    - Dst: flt_ot_scope_run_span
      Src: /src/haproxy/addons/ot/src/event.c:251,1
    - Dst: flt_ot_scope_data_free
      Src: /src/haproxy/addons/ot/src/event.c:254,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/event.c:257,1
    - Dst: flt_ot_scope_finish_mark
      Src: /src/haproxy/addons/ot/src/event.c:258,1
    - Dst: flt_ot_scope_finish_marked
      Src: /src/haproxy/addons/ot/src/event.c:261,1
    - Dst: flt_ot_scope_free_unused
      Src: /src/haproxy/addons/ot/src/event.c:262,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/event.c:264,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 7
    argNames:
    - s
    - f
    - chn
    - conf_scope
    - ts
    - dir
    - err
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    - struct flt_ot_conf_scope*
    - struct timespec*
    - uint
    - char**
    constantsTouched: []
    func_position:
      end: 265
      start: 133
    functionDepth: 8
    functionLinenumber: 133
    functionLinenumberEnd: 265
    functionName: flt_ot_scope_run
    functionSourceFile: /src/haproxy/addons/ot/src/event.c
    functionUses: 1
    functionsReached:
    - FLT_OT_CONF
    - FLT_OT_DBG_CONF_CONTEXT
    - flt_ot_scope_run_span
    - flt_ot_pr_mode
    - flt_ot_scope_finish_marked
    - FLT_OT_DBG
    - flt_ot_scope_context_init
    - memset
    - FLT_OT_RETURN_INT
    - flt_ot_scope_free_unused
    - list_for_each_entry
    - FLT_OT_RT_CTX
    - flt_ot_stream_pos
    - FLT_OT_DBG_CONF_SCOPE
    - flt_ot_vars_get
    - FLT_OT_DPTR_ARGS
    - FLT_OT_DBG_CONF_SPAN
    - acl_exec_cond
    - flt_ot_sample_add
    - FLT_OT_FUNC
    - otc_text_map_destroy
    - flt_ot_scope_data_free
    - flt_ot_scope_finish_mark
    - clock_gettime
    - _HA_ATOMIC_ADD
    - flt_ot_http_headers_get
    - flt_ot_scope_span_init
    - flt_ot_chn_label
    - acl_pass
    linkageType: ''
    returnType: int
    signature: flt_ot_scope_run(struct stream *s, struct filter *f, struct channel
      *chn, struct flt_ot_conf_scope *conf_scope, const struct timespec *ts, uint
      dir, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_CONF
      Src: /src/haproxy/addons/ot/src/event.c:288,1
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/event.c:293,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/event.c:293,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/event.c:295,1
    - Dst: flt_ot_chn_label
      Src: /src/haproxy/addons/ot/src/event.c:295,1
    - Dst: flt_ot_pr_mode
      Src: /src/haproxy/addons/ot/src/event.c:295,1
    - Dst: flt_ot_stream_pos
      Src: /src/haproxy/addons/ot/src/event.c:295,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/event.c:296,1
    - Dst: _HA_ATOMIC_ADD
      Src: /src/haproxy/addons/ot/src/event.c:299,1
    - Dst: htx_is_empty
      Src: /src/haproxy/addons/ot/src/event.c:299,1
    - Dst: htxbuf
      Src: /src/haproxy/addons/ot/src/event.c:299,1
    - Dst: FLT_OT_RT_CTX
      Src: /src/haproxy/addons/ot/src/event.c:302,1
    - Dst: clock_gettime
      Src: /src/haproxy/addons/ot/src/event.c:305,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/event.c:312,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/event.c:316,1
    - Dst: flt_ot_scope_run
      Src: /src/haproxy/addons/ot/src/event.c:317,1
    - Dst: flt_ot_vars_dump
      Src: /src/haproxy/addons/ot/src/event.c:322,1
    - Dst: flt_ot_http_headers_dump
      Src: /src/haproxy/addons/ot/src/event.c:324,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/event.c:326,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/event.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - s
    - f
    - chn
    - event
    - err
    argTypes:
    - struct stream*
    - struct filter*
    - struct channel*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 329
      start: 286
    functionDepth: 9
    functionLinenumber: 286
    functionLinenumberEnd: 329
    functionName: flt_ot_event_run
    functionSourceFile: /src/haproxy/addons/ot/src/event.c
    functionUses: 4
    functionsReached:
    - FLT_OT_CONF
    - FLT_OT_FUNC
    - flt_ot_vars_dump
    - flt_ot_pr_mode
    - list_for_each_entry
    - FLT_OT_RT_CTX
    - clock_gettime
    - FLT_OT_DBG
    - flt_ot_http_headers_dump
    - flt_ot_stream_pos
    - htxbuf
    - flt_ot_chn_label
    - htx_is_empty
    - FLT_OT_DPTR_ARGS
    - FLT_OT_RETURN_INT
    - _HA_ATOMIC_ADD
    - flt_ot_scope_run
    linkageType: ''
    returnType: int
    signature: flt_ot_event_run(struct stream *s, struct filter *f, struct channel
      *chn, int event, char **err)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/pool.c:43,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/pool.c:43,1
    - Dst: pool_alloc
      Src: /src/haproxy/addons/ot/src/pool.c:46,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/pool.c:48,1
    - Dst: FLT_OT_DEREF
      Src: /src/haproxy/addons/ot/src/pool.c:48,1
    - Dst: FLT_OT_MALLOC
      Src: /src/haproxy/addons/ot/src/pool.c:50,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/pool.c:54,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/pool.c:56,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/pool.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - pool
    - size
    - flag_clear
    - err
    argTypes:
    - struct pool_head*
    - size_t
    - bool
    - char**
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: flt_ot_pool_alloc
    functionSourceFile: /src/haproxy/addons/ot/src/pool.c
    functionUses: 1
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - memset
    - FLT_OT_DBG
    - pool_alloc
    - FLT_OT_DEREF
    - FLT_OT_DPTR_ARGS
    - FLT_OT_MALLOC
    linkageType: ''
    returnType: void
    signature: '*flt_ot_pool_alloc(struct pool_head *pool, size_t size, bool flag_clear,
      char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/pool.c:82,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/pool.c:82,1
    - Dst: pool_alloc
      Src: /src/haproxy/addons/ot/src/pool.c:85,1
    - Dst: memcpy
      Src: /src/haproxy/addons/ot/src/pool.c:87,1
    - Dst: MIN
      Src: /src/haproxy/addons/ot/src/pool.c:87,1
    - Dst: MIN
      Src: /src/haproxy/addons/ot/src/pool.c:89,1
    - Dst: FLT_OT_STRNDUP
      Src: /src/haproxy/addons/ot/src/pool.c:92,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/pool.c:96,1
    - Dst: FLT_OT_DEREF
      Src: /src/haproxy/addons/ot/src/pool.c:96,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/pool.c:98,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/pool.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - pool
    - s
    - size
    - err
    argTypes:
    - struct pool_head*
    - char*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 101
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 101
    functionName: flt_ot_pool_strndup
    functionSourceFile: /src/haproxy/addons/ot/src/pool.c
    functionUses: 0
    functionsReached:
    - FLT_OT_ERR
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - FLT_OT_DBG
    - FLT_OT_STRNDUP
    - pool_alloc
    - FLT_OT_DEREF
    - FLT_OT_DPTR_ARGS
    - MIN
    - memcpy
    linkageType: ''
    returnType: void
    signature: '*flt_ot_pool_strndup(struct pool_head *pool, const char *s, size_t
      size, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/pool.c:120,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/pool.c:120,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/pool.c:123,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/pool.c:125,1
    - Dst: FLT_OT_DEREF
      Src: /src/haproxy/addons/ot/src/pool.c:125,1
    - Dst: pool_free
      Src: /src/haproxy/addons/ot/src/pool.c:128,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/pool.c:130,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/pool.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pool
    - ptr
    argTypes:
    - struct pool_head*
    - void**
    constantsTouched: []
    func_position:
      end: 135
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 135
    functionName: flt_ot_pool_free
    functionSourceFile: /src/haproxy/addons/ot/src/pool.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - FLT_OT_DBG
    - pool_free
    - FLT_OT_FREE
    - FLT_OT_DEREF
    - FLT_OT_DPTR_ARGS
    linkageType: ''
    returnType: void
    signature: flt_ot_pool_free(struct pool_head *pool, void **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/pool.c:156,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/pool.c:156,1
    - Dst: alloc_trash_chunk
      Src: /src/haproxy/addons/ot/src/pool.c:159,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/pool.c:161,1
    - Dst: FLT_OT_MALLOC
      Src: /src/haproxy/addons/ot/src/pool.c:163,1
    - Dst: chunk_init
      Src: /src/haproxy/addons/ot/src/pool.c:165,1
    - Dst: FLT_OT_MALLOC
      Src: /src/haproxy/addons/ot/src/pool.c:165,1
    - Dst: FLT_OT_FREE_CLEAR
      Src: /src/haproxy/addons/ot/src/pool.c:167,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/pool.c:174,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/pool.c:176,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/pool.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - flag_clear
    - err
    argTypes:
    - bool
    - char**
    constantsTouched: []
    func_position:
      end: 179
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 179
    functionName: flt_ot_trash_alloc
    functionSourceFile: /src/haproxy/addons/ot/src/pool.c
    functionUses: 1
    functionsReached:
    - FLT_OT_ERR
    - alloc_trash_chunk
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - chunk_init
    - memset
    - FLT_OT_DBG
    - FLT_OT_DPTR_ARGS
    - FLT_OT_FREE_CLEAR
    - FLT_OT_MALLOC
    linkageType: ''
    returnType: struct buffer
    signature: '*flt_ot_trash_alloc(bool flag_clear, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/pool.c:197,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/pool.c:197,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/pool.c:200,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/pool.c:202,1
    - Dst: free_trash_chunk
      Src: /src/haproxy/addons/ot/src/pool.c:205,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/pool.c:207,1
    - Dst: FLT_OT_FREE
      Src: /src/haproxy/addons/ot/src/pool.c:208,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/pool.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct buffer**
    constantsTouched: []
    func_position:
      end: 214
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 214
    functionName: flt_ot_trash_free
    functionSourceFile: /src/haproxy/addons/ot/src/pool.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - FLT_OT_DBG
    - FLT_OT_FREE
    - free_trash_chunk
    - FLT_OT_DPTR_ARGS
    linkageType: ''
    returnType: void
    signature: flt_ot_trash_free(struct buffer **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:60,1
    - Dst: FLT_OT_DEREF
      Src: /src/haproxy/addons/ot/src/scope.c:60,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:63,1
    - Dst: FLT_OT_DEREF
      Src: /src/haproxy/addons/ot/src/scope.c:63,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:67,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:70,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: flt_ot_pools_info
    functionSourceFile: /src/haproxy/addons/ot/src/scope.c
    functionUses: 1
    functionsReached:
    - FLT_OT_DBG
    - FLT_OT_DEREF
    linkageType: ''
    returnType: void
    signature: flt_ot_pools_info(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_CONF
      Src: /src/haproxy/addons/ot/src/scope.c:97,1
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/scope.c:101,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/scope.c:101,1
    - Dst: flt_ot_pool_alloc
      Src: /src/haproxy/addons/ot/src/scope.c:103,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/scope.c:105,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/scope.c:112,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/ot/src/scope.c:113,1
    - Dst: b_make
      Src: /src/haproxy/addons/ot/src/scope.c:115,1
    - Dst: ha_generate_uuid_v4
      Src: /src/haproxy/addons/ot/src/scope.c:116,1
    - Dst: flt_ot_var_register
      Src: /src/haproxy/addons/ot/src/scope.c:123,1
    - Dst: flt_ot_var_set
      Src: /src/haproxy/addons/ot/src/scope.c:124,1
    - Dst: FLT_OT_DBG_RUNTIME_CONTEXT
      Src: /src/haproxy/addons/ot/src/scope.c:127,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/scope.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - s
    - f
    - err
    argTypes:
    - struct stream*
    - struct filter*
    - char**
    constantsTouched: []
    func_position:
      end: 130
      start: 95
    functionDepth: 7
    functionLinenumber: 95
    functionLinenumberEnd: 130
    functionName: flt_ot_runtime_context_init
    functionSourceFile: /src/haproxy/addons/ot/src/scope.c
    functionUses: 1
    functionsReached:
    - FLT_OT_CONF
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - b_make
    - flt_ot_var_set
    - flt_ot_var_register
    - FLT_OT_DBG_RUNTIME_CONTEXT
    - LIST_INIT
    - ha_generate_uuid_v4
    - flt_ot_pool_alloc
    - FLT_OT_DPTR_ARGS
    linkageType: ''
    returnType: struct flt_ot_runtime_context
    signature: '*flt_ot_runtime_context_init(struct stream *s, struct filter *f, char
      **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/scope.c:150,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/scope.c:153,1
    - Dst: FLT_OT_DBG_RUNTIME_CONTEXT
      Src: /src/haproxy/addons/ot/src/scope.c:155,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/addons/ot/src/scope.c:157,1
    - Dst: clock_gettime
      Src: /src/haproxy/addons/ot/src/scope.c:162,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/addons/ot/src/scope.c:164,1
    - Dst: ot_span_finish
      Src: /src/haproxy/addons/ot/src/scope.c:165,1
    - Dst: flt_ot_scope_span_free
      Src: /src/haproxy/addons/ot/src/scope.c:166,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/addons/ot/src/scope.c:170,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/addons/ot/src/scope.c:173,1
    - Dst: flt_ot_scope_context_free
      Src: /src/haproxy/addons/ot/src/scope.c:174,1
    - Dst: flt_ot_pool_free
      Src: /src/haproxy/addons/ot/src/scope.c:177,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/scope.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - f
    argTypes:
    - struct filter*
    constantsTouched: []
    func_position:
      end: 180
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 180
    functionName: flt_ot_runtime_context_free
    functionSourceFile: /src/haproxy/addons/ot/src/scope.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN
    - flt_ot_pool_free
    - FLT_OT_FUNC
    - LIST_ISEMPTY
    - list_for_each_entry_safe
    - ot_span_finish
    - clock_gettime
    - FLT_OT_DBG_RUNTIME_CONTEXT
    - flt_ot_scope_span_free
    - flt_ot_scope_context_free
    linkageType: ''
    returnType: void
    signature: flt_ot_runtime_context_free(struct filter *f)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/scope.c:210,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/scope.c:210,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/scope.c:213,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/scope.c:215,1
    - Dst: memcmp
      Src: /src/haproxy/addons/ot/src/scope.c:216,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:217,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/scope.c:219,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/scope.c:223,1
    - Dst: memcmp
      Src: /src/haproxy/addons/ot/src/scope.c:224,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:231,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/scope.c:233,1
    - Dst: memcmp
      Src: /src/haproxy/addons/ot/src/scope.c:234,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:241,1
    - Dst: FLT_OT_ERR
      Src: /src/haproxy/addons/ot/src/scope.c:243,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/scope.c:245,1
    - Dst: flt_ot_pool_alloc
      Src: /src/haproxy/addons/ot/src/scope.c:250,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/scope.c:252,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/addons/ot/src/scope.c:260,1
    - Dst: FLT_OT_DBG_SCOPE_SPAN
      Src: /src/haproxy/addons/ot/src/scope.c:262,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/scope.c:264,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 8
    argNames:
    - rt_ctx
    - id
    - id_len
    - ref_type
    - ref_id
    - ref_id_len
    - dir
    - err
    argTypes:
    - struct flt_ot_runtime_context*
    - char*
    - size_t
    - otc_span_reference_type_t
    - char*
    - size_t
    - uint
    - char**
    constantsTouched: []
    func_position:
      end: 265
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 265
    functionName: flt_ot_scope_span_init
    functionSourceFile: /src/haproxy/addons/ot/src/scope.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_ERR
    - FLT_OT_FUNC
    - list_for_each_entry
    - FLT_OT_DBG
    - FLT_OT_DBG_SCOPE_SPAN
    - flt_ot_pool_alloc
    - FLT_OT_DPTR_ARGS
    - LIST_INSERT
    - memcmp
    linkageType: ''
    returnType: struct flt_ot_scope_span
    signature: '*flt_ot_scope_span_init(struct flt_ot_runtime_context *rt_ctx, const
      char *id, size_t id_len, otc_span_reference_type_t ref_type, const char *ref_id,
      size_t ref_id_len, uint dir, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/scope.c:283,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/scope.c:283,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/scope.c:286,1
    - Dst: FLT_OT_DBG_SCOPE_SPAN
      Src: /src/haproxy/addons/ot/src/scope.c:288,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:292,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/scope.c:294,1
    - Dst: FLT_OT_LIST_DEL
      Src: /src/haproxy/addons/ot/src/scope.c:297,1
    - Dst: flt_ot_pool_free
      Src: /src/haproxy/addons/ot/src/scope.c:298,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/scope.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct flt_ot_scope_span**
    constantsTouched: []
    func_position:
      end: 301
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 301
    functionName: flt_ot_scope_span_free
    functionSourceFile: /src/haproxy/addons/ot/src/scope.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN
    - flt_ot_pool_free
    - FLT_OT_FUNC
    - FLT_OT_DBG
    - FLT_OT_DBG_SCOPE_SPAN
    - FLT_OT_LIST_DEL
    - FLT_OT_DPTR_ARGS
    linkageType: ''
    returnType: void
    signature: flt_ot_scope_span_free(struct flt_ot_scope_span **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/scope.c:329,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/scope.c:329,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/scope.c:332,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/scope.c:334,1
    - Dst: memcmp
      Src: /src/haproxy/addons/ot/src/scope.c:335,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:336,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/scope.c:338,1
    - Dst: flt_ot_pool_alloc
      Src: /src/haproxy/addons/ot/src/scope.c:341,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/scope.c:343,1
    - Dst: ot_extract_http_headers
      Src: /src/haproxy/addons/ot/src/scope.c:345,1
    - Dst: flt_ot_scope_context_free
      Src: /src/haproxy/addons/ot/src/scope.c:347,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/scope.c:349,1
    - Dst: LIST_INSERT
      Src: /src/haproxy/addons/ot/src/scope.c:356,1
    - Dst: FLT_OT_DBG_SCOPE_CONTEXT
      Src: /src/haproxy/addons/ot/src/scope.c:358,1
    - Dst: FLT_OT_RETURN_PTR
      Src: /src/haproxy/addons/ot/src/scope.c:360,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 7
    argNames:
    - rt_ctx
    - tracer
    - id
    - id_len
    - text_map
    - dir
    - err
    argTypes:
    - struct flt_ot_runtime_context*
    - struct otc_tracer*
    - char*
    - size_t
    - struct otc_text_map*
    - uint
    - char**
    constantsTouched: []
    func_position:
      end: 361
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 361
    functionName: flt_ot_scope_context_init
    functionSourceFile: /src/haproxy/addons/ot/src/scope.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN_PTR
    - FLT_OT_FUNC
    - ot_extract_http_headers
    - FLT_OT_DBG_SCOPE_CONTEXT
    - flt_ot_scope_context_free
    - list_for_each_entry
    - FLT_OT_DBG
    - flt_ot_pool_alloc
    - FLT_OT_DPTR_ARGS
    - LIST_INSERT
    - memcmp
    linkageType: ''
    returnType: struct flt_ot_scope_context
    signature: '*flt_ot_scope_context_init(struct flt_ot_runtime_context *rt_ctx,
      struct otc_tracer *tracer, const char *id, size_t id_len, const struct otc_text_map
      *text_map, uint dir, char **err)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/scope.c:379,1
    - Dst: FLT_OT_DPTR_ARGS
      Src: /src/haproxy/addons/ot/src/scope.c:379,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/scope.c:382,1
    - Dst: FLT_OT_DBG_SCOPE_CONTEXT
      Src: /src/haproxy/addons/ot/src/scope.c:384,1
    - Dst: context::destroy
      Src: /src/haproxy/addons/ot/src/scope.c:387,1
    - Dst: FLT_OT_LIST_DEL
      Src: /src/haproxy/addons/ot/src/scope.c:389,1
    - Dst: flt_ot_pool_free
      Src: /src/haproxy/addons/ot/src/scope.c:390,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/scope.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct flt_ot_scope_context**
    constantsTouched: []
    func_position:
      end: 393
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 393
    functionName: flt_ot_scope_context_free
    functionSourceFile: /src/haproxy/addons/ot/src/scope.c
    functionUses: 2
    functionsReached:
    - FLT_OT_RETURN
    - flt_ot_pool_free
    - FLT_OT_FUNC
    - FLT_OT_DBG_SCOPE_CONTEXT
    - FLT_OT_LIST_DEL
    - context::destroy
    - FLT_OT_DPTR_ARGS
    linkageType: ''
    returnType: void
    signature: flt_ot_scope_context_free(struct flt_ot_scope_context **ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/scope.c:413,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/scope.c:416,1
    - Dst: FLT_OT_DBG_SCOPE_DATA
      Src: /src/haproxy/addons/ot/src/scope.c:418,1
    - Dst: FLT_OT_FREE_VOID
      Src: /src/haproxy/addons/ot/src/scope.c:422,1
    - Dst: otc_text_map_destroy
      Src: /src/haproxy/addons/ot/src/scope.c:423,1
    - Dst: FLT_OT_FREE_VOID
      Src: /src/haproxy/addons/ot/src/scope.c:426,1
    - Dst: memset
      Src: /src/haproxy/addons/ot/src/scope.c:428,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/scope.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - struct flt_ot_scope_data*
    constantsTouched: []
    func_position:
      end: 431
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 431
    functionName: flt_ot_scope_data_free
    functionSourceFile: /src/haproxy/addons/ot/src/scope.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN
    - otc_text_map_destroy
    - FLT_OT_FUNC
    - FLT_OT_DBG_SCOPE_DATA
    - FLT_OT_FREE_VOID
    - memset
    linkageType: ''
    returnType: void
    signature: flt_ot_scope_data_free(struct flt_ot_scope_data *ptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/scope.c:455,1
    - Dst: FLT_OT_STR_CMP
      Src: /src/haproxy/addons/ot/src/scope.c:457,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/scope.c:458,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/scope.c:463,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:468,1
    - Dst: FLT_OT_STR_CMP
      Src: /src/haproxy/addons/ot/src/scope.c:470,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/scope.c:471,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/scope.c:477,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:483,1
    - Dst: FLT_OT_STR_CMP
      Src: /src/haproxy/addons/ot/src/scope.c:485,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/scope.c:486,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/scope.c:492,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:498,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/scope.c:501,1
    - Dst: memcmp
      Src: /src/haproxy/addons/ot/src/scope.c:502,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/scope.c:509,1
    - Dst: memcmp
      Src: /src/haproxy/addons/ot/src/scope.c:510,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:518,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:520,1
    - Dst: FLT_OT_DBG
      Src: /src/haproxy/addons/ot/src/scope.c:522,1
    - Dst: FLT_OT_RETURN_INT
      Src: /src/haproxy/addons/ot/src/scope.c:527,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 3
    argNames:
    - rt_ctx
    - id
    - id_len
    argTypes:
    - struct flt_ot_runtime_context*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 528
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 528
    functionName: flt_ot_scope_finish_mark
    functionSourceFile: /src/haproxy/addons/ot/src/scope.c
    functionUses: 1
    functionsReached:
    - FLT_OT_FUNC
    - list_for_each_entry
    - FLT_OT_STR_CMP
    - FLT_OT_DBG
    - FLT_OT_RETURN_INT
    - memcmp
    linkageType: ''
    returnType: int
    signature: flt_ot_scope_finish_mark(const struct flt_ot_runtime_context *rt_ctx,
      const char *id, size_t id_len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/scope.c:550,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/scope.c:552,1
    - Dst: FLT_OT_DBG_SCOPE_SPAN
      Src: /src/haproxy/addons/ot/src/scope.c:554,1
    - Dst: ot_span_finish
      Src: /src/haproxy/addons/ot/src/scope.c:556,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/ot/src/scope.c:561,1
    - Dst: FLT_OT_DBG_SCOPE_CONTEXT
      Src: /src/haproxy/addons/ot/src/scope.c:563,1
    - Dst: struct flt_ot_scope_context*::context::destroy
      Src: /src/haproxy/addons/ot/src/scope.c:566,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/scope.c:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - rt_ctx
    - ts_finish
    argTypes:
    - struct flt_ot_runtime_context*
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 572
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 572
    functionName: flt_ot_scope_finish_marked
    functionSourceFile: /src/haproxy/addons/ot/src/scope.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - FLT_OT_DBG_SCOPE_CONTEXT
    - list_for_each_entry
    - ot_span_finish
    - struct flt_ot_scope_context*::context::destroy
    - FLT_OT_DBG_SCOPE_SPAN
    linkageType: ''
    returnType: void
    signature: flt_ot_scope_finish_marked(const struct flt_ot_runtime_context *rt_ctx,
      const struct timespec *ts_finish)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FLT_OT_FUNC
      Src: /src/haproxy/addons/ot/src/scope.c:591,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/scope.c:594,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/addons/ot/src/scope.c:596,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/addons/ot/src/scope.c:599,1
    - Dst: flt_ot_scope_span_free
      Src: /src/haproxy/addons/ot/src/scope.c:601,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/addons/ot/src/scope.c:604,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/addons/ot/src/scope.c:607,1
    - Dst: flt_ot_http_headers_remove
      Src: /src/haproxy/addons/ot/src/scope.c:613,1
    - Dst: flt_ot_vars_unset
      Src: /src/haproxy/addons/ot/src/scope.c:615,1
    - Dst: flt_ot_scope_context_free
      Src: /src/haproxy/addons/ot/src/scope.c:618,1
    - Dst: FLT_OT_DBG_RUNTIME_CONTEXT
      Src: /src/haproxy/addons/ot/src/scope.c:622,1
    - Dst: FLT_OT_RETURN
      Src: /src/haproxy/addons/ot/src/scope.c:624,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - rt_ctx
    - chn
    argTypes:
    - struct flt_ot_runtime_context*
    - struct channel*
    constantsTouched: []
    func_position:
      end: 625
      start: 589
    functionDepth: 5
    functionLinenumber: 589
    functionLinenumberEnd: 625
    functionName: flt_ot_scope_free_unused
    functionSourceFile: /src/haproxy/addons/ot/src/scope.c
    functionUses: 1
    functionsReached:
    - FLT_OT_RETURN
    - FLT_OT_FUNC
    - list_for_each_entry_safe
    - LIST_ISEMPTY
    - flt_ot_http_headers_remove
    - flt_ot_scope_context_free
    - flt_ot_scope_span_free
    - FLT_OT_DBG_RUNTIME_CONTEXT
    - flt_ot_vars_unset
    linkageType: ''
    returnType: void
    signature: flt_ot_scope_free_unused(struct flt_ot_runtime_context *rt_ctx, struct
      channel *chn)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - index
    - nature
    argTypes:
    - int
    - enum field_nature
    constantsTouched: []
    func_position:
      end: 135
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 135
    functionName: promex_global_gettype
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum promex_mt_type
    signature: promex_global_gettype(int index, enum field_nature nature)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - index
    - nature
    argTypes:
    - int
    - enum field_nature
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: promex_st_gettype
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum promex_mt_type
    signature: promex_st_gettype(int index, enum field_nature nature)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: LIST_APPEND
      Src: /src/haproxy/addons/promex/service-prometheus.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - struct promex_module*
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: promex_register_module
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - LIST_APPEND
    linkageType: ''
    returnType: void
    signature: promex_register_module(struct promex_module *m)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - sv
    argTypes:
    - struct server*
    constantsTouched: []
    func_position:
      end: 263
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 263
    functionName: promex_srv_status
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: enum promex_srv_state
    signature: promex_srv_status(struct server *sv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_format
      Src: /src/haproxy/addons/promex/service-prometheus.c:275,1
    - Dst: chunk_strcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:276,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/promex/service-prometheus.c:277,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/promex/service-prometheus.c:278,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/promex/service-prometheus.c:279,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/promex/service-prometheus.c:280,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/promex/service-prometheus.c:281,1
    - Dst: chunk_strcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:282,1
    - Dst: chunk_strcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:283,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - out
    - f
    - max
    argTypes:
    - struct buffer*
    - struct field*
    - size_t
    constantsTouched: []
    func_position:
      end: 288
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 288
    functionName: promex_ts_val_to_str
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - field_format
    - chunk_strcat
    - chunk_appendf
    linkageType: ''
    returnType: int
    signature: promex_ts_val_to_str(struct buffer *out, struct field *f, size_t max)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:301,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:304,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:307,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:307,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:308,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:309,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:309,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:310,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:313,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:313,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:314,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:315,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:315,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:316,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:317,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:317,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 5
    argNames:
    - name
    - desc
    - type
    - out
    - max
    argTypes:
    - struct ist
    - struct ist
    - enum promex_mt_type
    - struct ist*
    - size_t
    constantsTouched: []
    func_position:
      end: 324
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 324
    functionName: promex_dump_ts_header
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - istcat
    - ist
    linkageType: ''
    returnType: int
    signature: "promex_dump_ts_header(const struct ist name, const struct ist desc,
      enum promex_mt_type type,\n\t\t\t\t struct ist *out, size_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:344,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:345,1
    - Dst: promex_dump_ts_header
      Src: /src/haproxy/addons/promex/service-prometheus.c:348,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:351,1
    - Dst: isttest
      Src: /src/haproxy/addons/promex/service-prometheus.c:354,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:357,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:357,1
    - Dst: isttest
      Src: /src/haproxy/addons/promex/service-prometheus.c:360,1
    - Dst: isttest
      Src: /src/haproxy/addons/promex/service-prometheus.c:361,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:364,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:364,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:365,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:366,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:366,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:367,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:368,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:368,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:372,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:372,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:377,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:377,1
    - Dst: promex_ts_val_to_str
      Src: /src/haproxy/addons/promex/service-prometheus.c:381,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 40
    argCount: 9
    argNames:
    - appctx
    - prefix
    - name
    - desc
    - type
    - val
    - labels
    - out
    - max
    argTypes:
    - struct appctx*
    - struct ist
    - struct ist
    - struct ist
    - enum promex_mt_type
    - struct field*
    - struct promex_label*
    - struct ist*
    - size_t
    constantsTouched: []
    func_position:
      end: 392
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 392
    functionName: promex_dump_ts
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - promex_dump_ts_header
    - isttest
    - ist
    - istcat
    - promex_ts_val_to_str
    linkageType: ''
    returnType: int
    signature: "promex_dump_ts(struct appctx *appctx, struct ist prefix,\n\t\t\t  const
      struct ist name, const  struct ist desc, enum promex_mt_type type,\n\t\t\t  struct
      field *val, struct promex_label *labels, struct ist *out, size_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eb_is_empty
      Src: /src/haproxy/addons/promex/service-prometheus.c:402,1
    - Dst: XXH32_reset
      Src: /src/haproxy/addons/promex/service-prometheus.c:403,1
    - Dst: XXH32_update
      Src: /src/haproxy/addons/promex/service-prometheus.c:404,1
    - Dst: istptr
      Src: /src/haproxy/addons/promex/service-prometheus.c:404,1
    - Dst: istlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:404,1
    - Dst: XXH32_update
      Src: /src/haproxy/addons/promex/service-prometheus.c:405,1
    - Dst: istptr
      Src: /src/haproxy/addons/promex/service-prometheus.c:405,1
    - Dst: istlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:405,1
    - Dst: XXH32_digest
      Src: /src/haproxy/addons/promex/service-prometheus.c:406,1
    - Dst: eb32_lookup
      Src: /src/haproxy/addons/promex/service-prometheus.c:408,1
    - Dst: container_of
      Src: /src/haproxy/addons/promex/service-prometheus.c:410,1
    - Dst: typeof
      Src: /src/haproxy/addons/promex/service-prometheus.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - appctx
    - prefix
    - name
    argTypes:
    - struct appctx*
    - struct ist
    - struct ist
    constantsTouched: []
    func_position:
      end: 419
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 419
    functionName: promex_filter_metric
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - container_of
    - XXH32_digest
    - istlen
    - XXH32_reset
    - XXH32_update
    - istptr
    - eb_is_empty
    - eb32_lookup
    - typeof
    linkageType: ''
    returnType: int
    signature: promex_filter_metric(struct appctx *appctx, struct ist prefix, struct
      ist name)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IST
      Src: /src/haproxy/addons/promex/service-prometheus.c:425,1
    - Dst: sc_ic
      Src: /src/haproxy/addons/promex/service-prometheus.c:428,1
    - Dst: appctx_sc
      Src: /src/haproxy/addons/promex/service-prometheus.c:428,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:429,1
    - Dst: stats_fill_info
      Src: /src/haproxy/addons/promex/service-prometheus.c:433,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:444,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:445,1
    - Dst: promex_filter_metric
      Src: /src/haproxy/addons/promex/service-prometheus.c:447,1
    - Dst: promex_global_gettype
      Src: /src/haproxy/addons/promex/service-prometheus.c:451,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:455,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:456,1
    - Dst: mkf_u32
      Src: /src/haproxy/addons/promex/service-prometheus.c:458,1
    - Dst: mkf_u32
      Src: /src/haproxy/addons/promex/service-prometheus.c:464,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:468,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:469,1
    - Dst: mkf_u32
      Src: /src/haproxy/addons/promex/service-prometheus.c:471,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:479,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:480,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:484,1
    - Dst: htx_add_data_atonce
      Src: /src/haproxy/addons/promex/service-prometheus.c:494,1
    - Dst: channel_add_input
      Src: /src/haproxy/addons/promex/service-prometheus.c:496,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 2
    argNames:
    - appctx
    - htx
    argTypes:
    - struct appctx*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 502
      start: 423
    functionDepth: 6
    functionLinenumber: 423
    functionLinenumberEnd: 502
    functionName: promex_dump_global_metrics
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - htx_add_data_atonce
    - sc_ic
    - promex_filter_metric
    - ist2
    - ist
    - promex_dump_ts
    - promex_global_gettype
    - channel_add_input
    - stats_fill_info
    - mkf_u32
    - IST
    linkageType: ''
    returnType: int
    signature: promex_dump_global_metrics(struct appctx *appctx, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IST
      Src: /src/haproxy/addons/promex/service-prometheus.c:508,1
    - Dst: sc_ic
      Src: /src/haproxy/addons/promex/service-prometheus.c:513,1
    - Dst: appctx_sc
      Src: /src/haproxy/addons/promex/service-prometheus.c:513,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:514,1
    - Dst: isttest
      Src: /src/haproxy/addons/promex/service-prometheus.c:528,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:529,1
    - Dst: isttest
      Src: /src/haproxy/addons/promex/service-prometheus.c:530,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:531,1
    - Dst: promex_filter_metric
      Src: /src/haproxy/addons/promex/service-prometheus.c:533,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:544,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:545,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:545,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:549,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:550,1
    - Dst: stats_fill_fe_line
      Src: /src/haproxy/addons/promex/service-prometheus.c:558,1
    - Dst: promex_st_gettype
      Src: /src/haproxy/addons/promex/service-prometheus.c:562,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:568,1
    - Dst: mkf_u32
      Src: /src/haproxy/addons/promex/service-prometheus.c:570,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:572,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:601,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:609,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/addons/promex/service-prometheus.c:624,1
    - Dst: typeof
      Src: /src/haproxy/addons/promex/service-prometheus.c:624,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/addons/promex/service-prometheus.c:628,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/addons/promex/service-prometheus.c:631,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:635,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:635,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:636,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:636,1
    - Dst: promex_filter_metric
      Src: /src/haproxy/addons/promex/service-prometheus.c:638,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:649,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:650,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:650,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:653,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:654,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:654,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:658,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:659,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/addons/promex/service-prometheus.c:667,1
    - Dst: struct stats_module*::fill_stats
      Src: /src/haproxy/addons/promex/service-prometheus.c:668,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:674,1
    - Dst: htx_add_data_atonce
      Src: /src/haproxy/addons/promex/service-prometheus.c:693,1
    - Dst: channel_add_input
      Src: /src/haproxy/addons/promex/service-prometheus.c:695,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 149
    argCount: 2
    argNames:
    - appctx
    - htx
    argTypes:
    - struct appctx*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 705
      start: 506
    functionDepth: 6
    functionLinenumber: 506
    functionLinenumberEnd: 705
    functionName: promex_dump_front_metrics
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - htx_add_data_atonce
    - promex_filter_metric
    - isttest
    - ist
    - promex_dump_ts
    - EXTRA_COUNTERS_GET
    - list_for_each_entry_from
    - struct stats_module*::fill_stats
    - ist2
    - typeof
    - channel_add_input
    - stats_fill_fe_line
    - IST
    - strlen
    - promex_st_gettype
    - mkf_u32
    - appctx_sc
    - LIST_NEXT
    - sc_ic
    - stats_px_get_cap
    linkageType: ''
    returnType: int
    signature: promex_dump_front_metrics(struct appctx *appctx, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IST
      Src: /src/haproxy/addons/promex/service-prometheus.c:711,1
    - Dst: sc_ic
      Src: /src/haproxy/addons/promex/service-prometheus.c:717,1
    - Dst: appctx_sc
      Src: /src/haproxy/addons/promex/service-prometheus.c:717,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:718,1
    - Dst: isttest
      Src: /src/haproxy/addons/promex/service-prometheus.c:732,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:733,1
    - Dst: isttest
      Src: /src/haproxy/addons/promex/service-prometheus.c:734,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:735,1
    - Dst: promex_filter_metric
      Src: /src/haproxy/addons/promex/service-prometheus.c:737,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:747,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:748,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:748,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:753,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:754,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/addons/promex/service-prometheus.c:763,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/addons/promex/service-prometheus.c:765,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:771,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:772,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:772,1
    - Dst: stats_fill_li_line
      Src: /src/haproxy/addons/promex/service-prometheus.c:774,1
    - Dst: promex_st_gettype
      Src: /src/haproxy/addons/promex/service-prometheus.c:779,1
    - Dst: get_li_status
      Src: /src/haproxy/addons/promex/service-prometheus.c:783,1
    - Dst: mkf_u32
      Src: /src/haproxy/addons/promex/service-prometheus.c:785,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:786,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:787,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:788,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:799,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/addons/promex/service-prometheus.c:817,1
    - Dst: typeof
      Src: /src/haproxy/addons/promex/service-prometheus.c:817,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/addons/promex/service-prometheus.c:821,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/addons/promex/service-prometheus.c:824,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:828,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:828,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:829,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:829,1
    - Dst: promex_filter_metric
      Src: /src/haproxy/addons/promex/service-prometheus.c:831,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:842,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:843,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:843,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:847,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:848,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/addons/promex/service-prometheus.c:857,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/addons/promex/service-prometheus.c:859,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:863,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:864,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:864,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:866,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:867,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:867,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/addons/promex/service-prometheus.c:869,1
    - Dst: struct stats_module*::fill_stats
      Src: /src/haproxy/addons/promex/service-prometheus.c:870,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:876,1
    - Dst: htx_add_data_atonce
      Src: /src/haproxy/addons/promex/service-prometheus.c:898,1
    - Dst: channel_add_input
      Src: /src/haproxy/addons/promex/service-prometheus.c:900,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 140
    argCount: 2
    argNames:
    - appctx
    - htx
    argTypes:
    - struct appctx*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 910
      start: 709
    functionDepth: 6
    functionLinenumber: 709
    functionLinenumberEnd: 910
    functionName: promex_dump_listener_metrics
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - htx_add_data_atonce
    - promex_filter_metric
    - isttest
    - ist
    - promex_dump_ts
    - EXTRA_COUNTERS_GET
    - list_for_each_entry_from
    - struct stats_module*::fill_stats
    - ist2
    - typeof
    - stats_fill_li_line
    - channel_add_input
    - IST
    - strlen
    - promex_st_gettype
    - get_li_status
    - mkf_u32
    - appctx_sc
    - LIST_NEXT
    - sc_ic
    - stats_px_get_cap
    linkageType: ''
    returnType: int
    signature: promex_dump_listener_metrics(struct appctx *appctx, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IST
      Src: /src/haproxy/addons/promex/service-prometheus.c:916,1
    - Dst: sc_ic
      Src: /src/haproxy/addons/promex/service-prometheus.c:922,1
    - Dst: appctx_sc
      Src: /src/haproxy/addons/promex/service-prometheus.c:922,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:923,1
    - Dst: isttest
      Src: /src/haproxy/addons/promex/service-prometheus.c:940,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:941,1
    - Dst: isttest
      Src: /src/haproxy/addons/promex/service-prometheus.c:942,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:943,1
    - Dst: promex_filter_metric
      Src: /src/haproxy/addons/promex/service-prometheus.c:945,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:959,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:960,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:960,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:964,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:965,1
    - Dst: stats_fill_be_line
      Src: /src/haproxy/addons/promex/service-prometheus.c:974,1
    - Dst: promex_st_gettype
      Src: /src/haproxy/addons/promex/service-prometheus.c:978,1
    - Dst: promex_srv_status
      Src: /src/haproxy/addons/promex/service-prometheus.c:987,1
    - Dst: mkf_u32
      Src: /src/haproxy/addons/promex/service-prometheus.c:992,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:993,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:995,1
    - Dst: get_check_status_result
      Src: /src/haproxy/addons/promex/service-prometheus.c:1014,1
    - Dst: mkf_u32
      Src: /src/haproxy/addons/promex/service-prometheus.c:1016,1
    - Dst: get_check_status_info
      Src: /src/haproxy/addons/promex/service-prometheus.c:1017,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1018,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1019,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:1020,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1030,1
    - Dst: mkf_u32
      Src: /src/haproxy/addons/promex/service-prometheus.c:1032,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:1033,1
    - Dst: swrate_avg
      Src: /src/haproxy/addons/promex/service-prometheus.c:1041,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1042,1
    - Dst: swrate_avg
      Src: /src/haproxy/addons/promex/service-prometheus.c:1045,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1046,1
    - Dst: swrate_avg
      Src: /src/haproxy/addons/promex/service-prometheus.c:1049,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1050,1
    - Dst: swrate_avg
      Src: /src/haproxy/addons/promex/service-prometheus.c:1053,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1054,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1058,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1062,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1066,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1070,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1092,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:1100,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/addons/promex/service-prometheus.c:1115,1
    - Dst: typeof
      Src: /src/haproxy/addons/promex/service-prometheus.c:1115,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/addons/promex/service-prometheus.c:1119,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/addons/promex/service-prometheus.c:1122,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:1126,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1126,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:1127,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1127,1
    - Dst: promex_filter_metric
      Src: /src/haproxy/addons/promex/service-prometheus.c:1129,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1140,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:1141,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1141,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1144,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:1145,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1145,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1149,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1150,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/addons/promex/service-prometheus.c:1158,1
    - Dst: struct stats_module*::fill_stats
      Src: /src/haproxy/addons/promex/service-prometheus.c:1159,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:1165,1
    - Dst: htx_add_data_atonce
      Src: /src/haproxy/addons/promex/service-prometheus.c:1184,1
    - Dst: channel_add_input
      Src: /src/haproxy/addons/promex/service-prometheus.c:1186,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 227
    argCount: 2
    argNames:
    - appctx
    - htx
    argTypes:
    - struct appctx*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1195
      start: 914
    functionDepth: 6
    functionLinenumber: 914
    functionLinenumberEnd: 1195
    functionName: promex_dump_back_metrics
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - htx_add_data_atonce
    - promex_filter_metric
    - isttest
    - ist
    - promex_dump_ts
    - EXTRA_COUNTERS_GET
    - list_for_each_entry_from
    - struct stats_module*::fill_stats
    - ist2
    - typeof
    - get_check_status_result
    - get_check_status_info
    - channel_add_input
    - IST
    - stats_fill_be_line
    - strlen
    - swrate_avg
    - promex_st_gettype
    - mkf_u32
    - appctx_sc
    - LIST_NEXT
    - sc_ic
    - mkf_flt
    - promex_srv_status
    - stats_px_get_cap
    linkageType: ''
    returnType: int
    signature: promex_dump_back_metrics(struct appctx *appctx, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IST
      Src: /src/haproxy/addons/promex/service-prometheus.c:1201,1
    - Dst: sc_ic
      Src: /src/haproxy/addons/promex/service-prometheus.c:1207,1
    - Dst: appctx_sc
      Src: /src/haproxy/addons/promex/service-prometheus.c:1207,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:1208,1
    - Dst: isttest
      Src: /src/haproxy/addons/promex/service-prometheus.c:1224,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1225,1
    - Dst: isttest
      Src: /src/haproxy/addons/promex/service-prometheus.c:1226,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1227,1
    - Dst: promex_filter_metric
      Src: /src/haproxy/addons/promex/service-prometheus.c:1229,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1240,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:1241,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1241,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1245,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1246,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1258,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:1259,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1259,1
    - Dst: stats_fill_sv_line
      Src: /src/haproxy/addons/promex/service-prometheus.c:1261,1
    - Dst: promex_st_gettype
      Src: /src/haproxy/addons/promex/service-prometheus.c:1268,1
    - Dst: promex_srv_status
      Src: /src/haproxy/addons/promex/service-prometheus.c:1272,1
    - Dst: mkf_u32
      Src: /src/haproxy/addons/promex/service-prometheus.c:1274,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1275,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:1277,1
    - Dst: swrate_avg
      Src: /src/haproxy/addons/promex/service-prometheus.c:1285,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1286,1
    - Dst: swrate_avg
      Src: /src/haproxy/addons/promex/service-prometheus.c:1289,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1290,1
    - Dst: swrate_avg
      Src: /src/haproxy/addons/promex/service-prometheus.c:1293,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1294,1
    - Dst: swrate_avg
      Src: /src/haproxy/addons/promex/service-prometheus.c:1297,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1298,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1302,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1306,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1310,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1314,1
    - Dst: get_check_status_result
      Src: /src/haproxy/addons/promex/service-prometheus.c:1321,1
    - Dst: mkf_u32
      Src: /src/haproxy/addons/promex/service-prometheus.c:1323,1
    - Dst: get_check_status_info
      Src: /src/haproxy/addons/promex/service-prometheus.c:1324,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1325,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1326,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:1327,1
    - Dst: mkf_u32
      Src: /src/haproxy/addons/promex/service-prometheus.c:1337,1
    - Dst: mkf_flt
      Src: /src/haproxy/addons/promex/service-prometheus.c:1343,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1363,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:1371,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/addons/promex/service-prometheus.c:1390,1
    - Dst: typeof
      Src: /src/haproxy/addons/promex/service-prometheus.c:1390,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/addons/promex/service-prometheus.c:1394,1
    - Dst: stats_px_get_cap
      Src: /src/haproxy/addons/promex/service-prometheus.c:1397,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:1401,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1401,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:1402,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1402,1
    - Dst: promex_filter_metric
      Src: /src/haproxy/addons/promex/service-prometheus.c:1404,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1415,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:1416,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1416,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1420,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1421,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1434,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:1435,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1435,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1437,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:1438,1
    - Dst: strlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1438,1
    - Dst: EXTRA_COUNTERS_GET
      Src: /src/haproxy/addons/promex/service-prometheus.c:1444,1
    - Dst: struct stats_module*::fill_stats
      Src: /src/haproxy/addons/promex/service-prometheus.c:1445,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:1451,1
    - Dst: htx_add_data_atonce
      Src: /src/haproxy/addons/promex/service-prometheus.c:1475,1
    - Dst: channel_add_input
      Src: /src/haproxy/addons/promex/service-prometheus.c:1477,1
    - Dst: srv_drop
      Src: /src/haproxy/addons/promex/service-prometheus.c:1481,1
    - Dst: srv_take
      Src: /src/haproxy/addons/promex/service-prometheus.c:1483,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 236
    argCount: 2
    argNames:
    - appctx
    - htx
    argTypes:
    - struct appctx*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1493
      start: 1199
    functionDepth: 6
    functionLinenumber: 1199
    functionLinenumberEnd: 1493
    functionName: promex_dump_srv_metrics
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - htx_add_data_atonce
    - promex_filter_metric
    - isttest
    - ist
    - promex_dump_ts
    - EXTRA_COUNTERS_GET
    - stats_fill_sv_line
    - list_for_each_entry_from
    - struct stats_module*::fill_stats
    - ist2
    - typeof
    - get_check_status_result
    - get_check_status_info
    - channel_add_input
    - IST
    - strlen
    - swrate_avg
    - promex_st_gettype
    - mkf_u32
    - appctx_sc
    - LIST_NEXT
    - sc_ic
    - mkf_flt
    - promex_srv_status
    - srv_take
    - stats_px_get_cap
    - srv_drop
    linkageType: ''
    returnType: int
    signature: promex_dump_srv_metrics(struct appctx *appctx, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:1504,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1504,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:1505,1
    - Dst: istcat
      Src: /src/haproxy/addons/promex/service-prometheus.c:1506,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1506,1
    - Dst: struct promex_module*::start_metrics_dump
      Src: /src/haproxy/addons/promex/service-prometheus.c:1509,1
    - Dst: struct promex_module*::metric_info
      Src: /src/haproxy/addons/promex/service-prometheus.c:1519,1
    - Dst: promex_filter_metric
      Src: /src/haproxy/addons/promex/service-prometheus.c:1525,1
    - Dst: struct promex_module*::start_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:1529,1
    - Dst: struct promex_module*::fill_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:1535,1
    - Dst: promex_dump_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:1541,1
    - Dst: struct promex_module*::next_ts
      Src: /src/haproxy/addons/promex/service-prometheus.c:1546,1
    - Dst: struct promex_module*::stop_metrics_dump
      Src: /src/haproxy/addons/promex/service-prometheus.c:1554,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 4
    argNames:
    - appctx
    - mod
    - out
    - max
    argTypes:
    - struct appctx*
    - struct promex_module*
    - struct ist*
    - size_t
    constantsTouched: []
    func_position:
      end: 1565
      start: 1497
    functionDepth: 3
    functionLinenumber: 1497
    functionLinenumberEnd: 1565
    functionName: promex_dump_module_metrics
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - struct promex_module*::fill_ts
    - struct promex_module*::next_ts
    - struct promex_module*::start_ts
    - struct promex_module*::start_metrics_dump
    - promex_filter_metric
    - ist
    - struct promex_module*::metric_info
    - promex_dump_ts
    - istcat
    - struct promex_module*::stop_metrics_dump
    linkageType: ''
    returnType: int
    signature: "promex_dump_module_metrics(struct appctx *appctx, struct promex_module
      *mod,\n\t\t\t\t      struct ist *out, size_t max)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/addons/promex/service-prometheus.c:1573,1
    - Dst: appctx_sc
      Src: /src/haproxy/addons/promex/service-prometheus.c:1573,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:1574,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/addons/promex/service-prometheus.c:1579,1
    - Dst: typeof
      Src: /src/haproxy/addons/promex/service-prometheus.c:1579,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/addons/promex/service-prometheus.c:1583,1
    - Dst: promex_dump_module_metrics
      Src: /src/haproxy/addons/promex/service-prometheus.c:1584,1
    - Dst: htx_add_data_atonce
      Src: /src/haproxy/addons/promex/service-prometheus.c:1597,1
    - Dst: channel_add_input
      Src: /src/haproxy/addons/promex/service-prometheus.c:1599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - appctx
    - htx
    argTypes:
    - struct appctx*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1606
      start: 1569
    functionDepth: 6
    functionLinenumber: 1569
    functionLinenumberEnd: 1606
    functionName: promex_dump_ref_modules_metrics
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - LIST_NEXT
    - promex_dump_module_metrics
    - sc_ic
    - htx_add_data_atonce
    - ist2
    - typeof
    - channel_add_input
    - list_for_each_entry_from
    linkageType: ''
    returnType: int
    signature: promex_dump_ref_modules_metrics(struct appctx *appctx, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/addons/promex/service-prometheus.c:1614,1
    - Dst: appctx_sc
      Src: /src/haproxy/addons/promex/service-prometheus.c:1614,1
    - Dst: ist2
      Src: /src/haproxy/addons/promex/service-prometheus.c:1615,1
    - Dst: LIST_NEXT
      Src: /src/haproxy/addons/promex/service-prometheus.c:1620,1
    - Dst: typeof
      Src: /src/haproxy/addons/promex/service-prometheus.c:1620,1
    - Dst: list_for_each_entry_from
      Src: /src/haproxy/addons/promex/service-prometheus.c:1624,1
    - Dst: promex_dump_module_metrics
      Src: /src/haproxy/addons/promex/service-prometheus.c:1625,1
    - Dst: htx_add_data_atonce
      Src: /src/haproxy/addons/promex/service-prometheus.c:1638,1
    - Dst: channel_add_input
      Src: /src/haproxy/addons/promex/service-prometheus.c:1640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - appctx
    - htx
    argTypes:
    - struct appctx*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1647
      start: 1610
    functionDepth: 6
    functionLinenumber: 1610
    functionLinenumberEnd: 1647
    functionName: promex_dump_all_modules_metrics
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - LIST_NEXT
    - promex_dump_module_metrics
    - sc_ic
    - htx_add_data_atonce
    - ist2
    - typeof
    - channel_add_input
    - list_for_each_entry_from
    linkageType: ''
    returnType: int
    signature: promex_dump_all_modules_metrics(struct appctx *appctx, struct htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: promex_dump_global_metrics
      Src: /src/haproxy/addons/promex/service-prometheus.c:1670,1
    - Dst: promex_dump_front_metrics
      Src: /src/haproxy/addons/promex/service-prometheus.c:1687,1
    - Dst: promex_dump_listener_metrics
      Src: /src/haproxy/addons/promex/service-prometheus.c:1704,1
    - Dst: promex_dump_back_metrics
      Src: /src/haproxy/addons/promex/service-prometheus.c:1721,1
    - Dst: promex_dump_srv_metrics
      Src: /src/haproxy/addons/promex/service-prometheus.c:1738,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/addons/promex/service-prometheus.c:1754,1
    - Dst: promex_dump_all_modules_metrics
      Src: /src/haproxy/addons/promex/service-prometheus.c:1755,1
    - Dst: promex_dump_ref_modules_metrics
      Src: /src/haproxy/addons/promex/service-prometheus.c:1757,1
    - Dst: sc_need_room
      Src: /src/haproxy/addons/promex/service-prometheus.c:1779,1
    - Dst: channel_htx_recv_max
      Src: /src/haproxy/addons/promex/service-prometheus.c:1779,1
    - Dst: sc_ic
      Src: /src/haproxy/addons/promex/service-prometheus.c:1779,1
    - Dst: appctx_sc
      Src: /src/haproxy/addons/promex/service-prometheus.c:1779,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 126
    argCount: 3
    argNames:
    - appctx
    - sc
    - htx
    argTypes:
    - struct appctx*
    - struct stconn*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1788
      start: 1655
    functionDepth: 7
    functionLinenumber: 1655
    functionLinenumberEnd: 1788
    functionName: promex_dump_metrics
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - appctx_sc
    - channel_htx_recv_max
    - LIST_ISEMPTY
    - sc_ic
    - promex_dump_front_metrics
    - promex_dump_listener_metrics
    - promex_dump_all_modules_metrics
    - promex_dump_back_metrics
    - promex_dump_ref_modules_metrics
    - promex_dump_srv_metrics
    - promex_dump_global_metrics
    - sc_need_room
    linkageType: ''
    returnType: int
    signature: promex_dump_metrics(struct appctx *appctx, struct stconn *sc, struct
      htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_oc
      Src: /src/haproxy/addons/promex/service-prometheus.c:1795,1
    - Dst: sc_ic
      Src: /src/haproxy/addons/promex/service-prometheus.c:1796,1
    - Dst: htxbuf
      Src: /src/haproxy/addons/promex/service-prometheus.c:1807,1
    - Dst: http_get_stline
      Src: /src/haproxy/addons/promex/service-prometheus.c:1808,1
    - Dst: http_find_param_list
      Src: /src/haproxy/addons/promex/service-prometheus.c:1811,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/addons/promex/service-prometheus.c:1811,1
    - Dst: HTX_SL_REQ_ULEN
      Src: /src/haproxy/addons/promex/service-prometheus.c:1811,1
    - Dst: HTX_SL_REQ_UPTR
      Src: /src/haproxy/addons/promex/service-prometheus.c:1814,1
    - Dst: HTX_SL_REQ_ULEN
      Src: /src/haproxy/addons/promex/service-prometheus.c:1814,1
    - Dst: chunk_reset
      Src: /src/haproxy/addons/promex/service-prometheus.c:1818,1
    - Dst: memcpy
      Src: /src/haproxy/addons/promex/service-prometheus.c:1819,1
    - Dst: url_decode
      Src: /src/haproxy/addons/promex/service-prometheus.c:1841,1
    - Dst: url_decode
      Src: /src/haproxy/addons/promex/service-prometheus.c:1855,1
    - Dst: strcmp
      Src: /src/haproxy/addons/promex/service-prometheus.c:1860,1
    - Dst: strcmp
      Src: /src/haproxy/addons/promex/service-prometheus.c:1868,1
    - Dst: strcmp
      Src: /src/haproxy/addons/promex/service-prometheus.c:1870,1
    - Dst: strcmp
      Src: /src/haproxy/addons/promex/service-prometheus.c:1872,1
    - Dst: strcmp
      Src: /src/haproxy/addons/promex/service-prometheus.c:1874,1
    - Dst: strcmp
      Src: /src/haproxy/addons/promex/service-prometheus.c:1876,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/promex/service-prometheus.c:1882,1
    - Dst: strncmp
      Src: /src/haproxy/addons/promex/service-prometheus.c:1883,1
    - Dst: istptr
      Src: /src/haproxy/addons/promex/service-prometheus.c:1883,1
    - Dst: istlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1883,1
    - Dst: pool_alloc
      Src: /src/haproxy/addons/promex/service-prometheus.c:1884,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/addons/promex/service-prometheus.c:1889,1
    - Dst: strcmp
      Src: /src/haproxy/addons/promex/service-prometheus.c:1897,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1903,1
    - Dst: istlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1903,1
    - Dst: istadv
      Src: /src/haproxy/addons/promex/service-prometheus.c:1903,1
    - Dst: istfind
      Src: /src/haproxy/addons/promex/service-prometheus.c:1903,1
    - Dst: iststop
      Src: /src/haproxy/addons/promex/service-prometheus.c:1906,1
    - Dst: istlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1910,1
    - Dst: istptr
      Src: /src/haproxy/addons/promex/service-prometheus.c:1913,1
    - Dst: istnext
      Src: /src/haproxy/addons/promex/service-prometheus.c:1914,1
    - Dst: istlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1915,1
    - Dst: XXH32
      Src: /src/haproxy/addons/promex/service-prometheus.c:1923,1
    - Dst: istptr
      Src: /src/haproxy/addons/promex/service-prometheus.c:1923,1
    - Dst: istlen
      Src: /src/haproxy/addons/promex/service-prometheus.c:1923,1
    - Dst: eb32_lookup
      Src: /src/haproxy/addons/promex/service-prometheus.c:1924,1
    - Dst: container_of
      Src: /src/haproxy/addons/promex/service-prometheus.c:1926,1
    - Dst: typeof
      Src: /src/haproxy/addons/promex/service-prometheus.c:1926,1
    - Dst: pool_alloc
      Src: /src/haproxy/addons/promex/service-prometheus.c:1931,1
    - Dst: eb32_insert
      Src: /src/haproxy/addons/promex/service-prometheus.c:1936,1
    - Dst: strcmp
      Src: /src/haproxy/addons/promex/service-prometheus.c:1939,1
    - Dst: strcmp
      Src: /src/haproxy/addons/promex/service-prometheus.c:1942,1
    - Dst: strcmp
      Src: /src/haproxy/addons/promex/service-prometheus.c:1944,1
    - Dst: channel_erase
      Src: /src/haproxy/addons/promex/service-prometheus.c:1954,1
    - Dst: b_data
      Src: /src/haproxy/addons/promex/service-prometheus.c:1955,1
    - Dst: memcpy
      Src: /src/haproxy/addons/promex/service-prometheus.c:1956,1
    - Dst: b_head
      Src: /src/haproxy/addons/promex/service-prometheus.c:1956,1
    - Dst: b_data
      Src: /src/haproxy/addons/promex/service-prometheus.c:1956,1
    - Dst: htx_from_buf
      Src: /src/haproxy/addons/promex/service-prometheus.c:1957,1
    - Dst: channel_add_input
      Src: /src/haproxy/addons/promex/service-prometheus.c:1958,1
    - Dst: channel_erase
      Src: /src/haproxy/addons/promex/service-prometheus.c:1963,1
    - Dst: b_data
      Src: /src/haproxy/addons/promex/service-prometheus.c:1964,1
    - Dst: memcpy
      Src: /src/haproxy/addons/promex/service-prometheus.c:1965,1
    - Dst: b_head
      Src: /src/haproxy/addons/promex/service-prometheus.c:1965,1
    - Dst: b_data
      Src: /src/haproxy/addons/promex/service-prometheus.c:1965,1
    - Dst: htx_from_buf
      Src: /src/haproxy/addons/promex/service-prometheus.c:1966,1
    - Dst: channel_add_input
      Src: /src/haproxy/addons/promex/service-prometheus.c:1967,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 145
    argCount: 2
    argNames:
    - appctx
    - sc
    argTypes:
    - struct appctx*
    - struct stconn*
    constantsTouched: []
    func_position:
      end: 1969
      start: 1792
    functionDepth: 4
    functionLinenumber: 1792
    functionLinenumberEnd: 1969
    functionName: promex_parse_uri
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - chunk_reset
    - strncmp
    - HTX_SL_REQ_UPTR
    - istfind
    - ist
    - pool_alloc
    - istnext
    - istadv
    - b_head
    - http_get_stline
    - sc_oc
    - channel_erase
    - htx_from_buf
    - list_for_each_entry
    - strcmp
    - istlen
    - eb32_insert
    - eb32_lookup
    - typeof
    - channel_add_input
    - url_decode
    - htxbuf
    - http_find_param_list
    - b_data
    - container_of
    - sc_ic
    - LIST_APPEND
    - XXH32
    - istptr
    - iststop
    - memcpy
    - HTX_SL_REQ_ULEN
    linkageType: ''
    returnType: int
    signature: promex_parse_uri(struct appctx *appctx, struct stconn *sc)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: sc_ic
      Src: /src/haproxy/addons/promex/service-prometheus.c:1975,1
    - Dst: htx_add_stline
      Src: /src/haproxy/addons/promex/service-prometheus.c:1980,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1980,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1980,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1980,1
    - Dst: htx_add_header
      Src: /src/haproxy/addons/promex/service-prometheus.c:1984,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1984,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1984,1
    - Dst: htx_add_header
      Src: /src/haproxy/addons/promex/service-prometheus.c:1985,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1985,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1985,1
    - Dst: htx_add_header
      Src: /src/haproxy/addons/promex/service-prometheus.c:1986,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1986,1
    - Dst: ist
      Src: /src/haproxy/addons/promex/service-prometheus.c:1986,1
    - Dst: htx_add_endof
      Src: /src/haproxy/addons/promex/service-prometheus.c:1987,1
    - Dst: channel_add_input
      Src: /src/haproxy/addons/promex/service-prometheus.c:1990,1
    - Dst: htx_reset
      Src: /src/haproxy/addons/promex/service-prometheus.c:1993,1
    - Dst: sc_need_room
      Src: /src/haproxy/addons/promex/service-prometheus.c:1994,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - appctx
    - sc
    - htx
    argTypes:
    - struct appctx*
    - struct stconn*
    - struct htx*
    constantsTouched: []
    func_position:
      end: 1996
      start: 1973
    functionDepth: 6
    functionLinenumber: 1973
    functionLinenumberEnd: 1996
    functionName: promex_send_headers
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - htx_add_header
    - sc_ic
    - htx_add_endof
    - ist
    - htx_reset
    - channel_add_input
    - htx_add_stline
    - sc_need_room
    linkageType: ''
    returnType: int
    signature: promex_send_headers(struct appctx *appctx, struct stconn *sc, struct
      htx *htx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: applet_reserve_svcctx
      Src: /src/haproxy/addons/promex/service-prometheus.c:2006,1
    - Dst: memset
      Src: /src/haproxy/addons/promex/service-prometheus.c:2008,1
    - Dst: LIST_INIT
      Src: /src/haproxy/addons/promex/service-prometheus.c:2009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2013
      start: 2002
    functionDepth: 1
    functionLinenumber: 2002
    functionLinenumberEnd: 2013
    functionName: promex_appctx_init
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - memset
    - LIST_INIT
    - applet_reserve_svcctx
    linkageType: ''
    returnType: int
    signature: promex_appctx_init(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: objt_server
      Src: /src/haproxy/addons/promex/service-prometheus.c:2026,1
    - Dst: srv_drop
      Src: /src/haproxy/addons/promex/service-prometheus.c:2027,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/addons/promex/service-prometheus.c:2030,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/addons/promex/service-prometheus.c:2031,1
    - Dst: pool_free
      Src: /src/haproxy/addons/promex/service-prometheus.c:2032,1
    - Dst: eb32_first
      Src: /src/haproxy/addons/promex/service-prometheus.c:2035,1
    - Dst: eb32_next
      Src: /src/haproxy/addons/promex/service-prometheus.c:2037,1
    - Dst: eb32_delete
      Src: /src/haproxy/addons/promex/service-prometheus.c:2038,1
    - Dst: container_of
      Src: /src/haproxy/addons/promex/service-prometheus.c:2039,1
    - Dst: typeof
      Src: /src/haproxy/addons/promex/service-prometheus.c:2039,1
    - Dst: pool_free
      Src: /src/haproxy/addons/promex/service-prometheus.c:2040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2043
      start: 2018
    functionDepth: 5
    functionLinenumber: 2018
    functionLinenumberEnd: 2043
    functionName: promex_appctx_release
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - eb32_delete
    - container_of
    - list_for_each_entry_safe
    - objt_server
    - LIST_DELETE
    - pool_free
    - typeof
    - eb32_next
    - eb32_first
    - srv_drop
    linkageType: ''
    returnType: void
    signature: promex_appctx_release(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: appctx_sc
      Src: /src/haproxy/addons/promex/service-prometheus.c:2048,1
    - Dst: __sc_strm
      Src: /src/haproxy/addons/promex/service-prometheus.c:2049,1
    - Dst: sc_oc
      Src: /src/haproxy/addons/promex/service-prometheus.c:2050,1
    - Dst: sc_ic
      Src: /src/haproxy/addons/promex/service-prometheus.c:2051,1
    - Dst: htx_from_buf
      Src: /src/haproxy/addons/promex/service-prometheus.c:2055,1
    - Dst: unlikely
      Src: /src/haproxy/addons/promex/service-prometheus.c:2057,1
    - Dst: se_fl_test
      Src: /src/haproxy/addons/promex/service-prometheus.c:2057,1
    - Dst: b_size
      Src: /src/haproxy/addons/promex/service-prometheus.c:2061,1
    - Dst: sc_need_room
      Src: /src/haproxy/addons/promex/service-prometheus.c:2062,1
    - Dst: co_data
      Src: /src/haproxy/addons/promex/service-prometheus.c:2068,1
    - Dst: applet_need_more_data
      Src: /src/haproxy/addons/promex/service-prometheus.c:2069,1
    - Dst: promex_parse_uri
      Src: /src/haproxy/addons/promex/service-prometheus.c:2072,1
    - Dst: promex_send_headers
      Src: /src/haproxy/addons/promex/service-prometheus.c:2083,1
    - Dst: promex_dump_metrics
      Src: /src/haproxy/addons/promex/service-prometheus.c:2089,1
    - Dst: htx_is_empty
      Src: /src/haproxy/addons/promex/service-prometheus.c:2105,1
    - Dst: htx_add_endof
      Src: /src/haproxy/addons/promex/service-prometheus.c:2106,1
    - Dst: sc_need_room
      Src: /src/haproxy/addons/promex/service-prometheus.c:2107,1
    - Dst: channel_add_input
      Src: /src/haproxy/addons/promex/service-prometheus.c:2110,1
    - Dst: se_fl_set
      Src: /src/haproxy/addons/promex/service-prometheus.c:2113,1
    - Dst: se_fl_set
      Src: /src/haproxy/addons/promex/service-prometheus.c:2118,1
    - Dst: htx_to_buf
      Src: /src/haproxy/addons/promex/service-prometheus.c:2122,1
    - Dst: co_data
      Src: /src/haproxy/addons/promex/service-prometheus.c:2125,1
    - Dst: htx_from_buf
      Src: /src/haproxy/addons/promex/service-prometheus.c:2126,1
    - Dst: co_htx_skip
      Src: /src/haproxy/addons/promex/service-prometheus.c:2127,1
    - Dst: co_data
      Src: /src/haproxy/addons/promex/service-prometheus.c:2127,1
    - Dst: se_fl_set
      Src: /src/haproxy/addons/promex/service-prometheus.c:2132,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 1
    argNames:
    - appctx
    argTypes:
    - struct appctx*
    constantsTouched: []
    func_position:
      end: 2134
      start: 2046
    functionDepth: 8
    functionLinenumber: 2046
    functionLinenumberEnd: 2134
    functionName: promex_appctx_handle_io
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - promex_parse_uri
    - htx_add_endof
    - applet_need_more_data
    - htx_to_buf
    - sc_oc
    - sc_need_room
    - se_fl_test
    - htx_from_buf
    - co_data
    - b_size
    - htx_is_empty
    - channel_add_input
    - __sc_strm
    - promex_send_headers
    - appctx_sc
    - promex_dump_metrics
    - sc_ic
    - co_htx_skip
    - se_fl_set
    - unlikely
    linkageType: ''
    returnType: void
    signature: promex_appctx_handle_io(struct appctx *appctx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/promex/service-prometheus.c:2149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - args
    - cur_arg
    - px
    - rule
    - err
    argTypes:
    - char**
    - int*
    - struct proxy*
    - struct act_rule*
    - char**
    constantsTouched: []
    func_position:
      end: 2157
      start: 2144
    functionDepth: 5
    functionLinenumber: 2144
    functionLinenumberEnd: 2157
    functionName: service_parse_prometheus_exporter
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: enum act_parse_ret
    signature: "service_parse_prometheus_exporter(const char **args, int *cur_arg,
      struct proxy *px,\n\t\t\t\t\t\t\t    struct act_rule *rule, char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/promex/service-prometheus.c:2162,1
    - Dst: hap_register_build_opts
      Src: /src/haproxy/addons/promex/service-prometheus.c:2163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2158
    functionDepth: 5
    functionLinenumber: 2158
    functionLinenumberEnd: 2164
    functionName: promex_register_build_options
    functionSourceFile: /src/haproxy/addons/promex/service-prometheus.c
    functionUses: 0
    functionsReached:
    - memprintf
    - hap_register_build_opts
    linkageType: ''
    returnType: void
    signature: promex_register_build_options(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/addons/wurfl/wurfl.c:46,1
    - Dst: vsnprintf
      Src: /src/haproxy/addons/wurfl/wurfl.c:47,1
    - Dst: va_end
      Src: /src/haproxy/addons/wurfl/wurfl.c:48,1
    - Dst: send_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 10
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: ha_wurfl_log
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - send_log
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: ha_wurfl_log(char * message, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: ha_wurfl_log
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: ha_wurfl_log(char * message, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/wurfl/wurfl.c:139,1
    - Dst: strdup
      Src: /src/haproxy/addons/wurfl/wurfl.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 5
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: ha_wurfl_cfg_data_file
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strdup
    linkageType: ''
    returnType: int
    signature: "ha_wurfl_cfg_data_file(char **args, int section_type, struct proxy
      *curpx,\n                                  const struct proxy *defpx, const
      char *file, int line,\n                                  char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/wurfl/wurfl.c:152,1
    - Dst: strdup
      Src: /src/haproxy/addons/wurfl/wurfl.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 158
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 158
    functionName: ha_wurfl_cfg_cache
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strdup
    linkageType: ''
    returnType: int
    signature: "ha_wurfl_cfg_cache(char **args, int section_type, struct proxy *curpx,\n
      \                             const struct proxy *defpx, const char *file, int
      line,\n                              char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: ha_wurfl_cfg_engine_mode
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "ha_wurfl_cfg_engine_mode(char **args, int section_type, struct proxy
      *curpx,\n                                    const struct proxy *defpx, const
      char *file, int line,\n                                    char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/wurfl/wurfl.c:173,1
    - Dst: strlen
      Src: /src/haproxy/addons/wurfl/wurfl.c:177,1
    - Dst: memprintf
      Src: /src/haproxy/addons/wurfl/wurfl.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 184
      start: 168
    functionDepth: 5
    functionLinenumber: 168
    functionLinenumberEnd: 184
    functionName: ha_wurfl_cfg_information_list_separator
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: "ha_wurfl_cfg_information_list_separator(char **args, int section_type,
      struct proxy *curpx,\n                                                   const
      struct proxy *defpx, const char *file, int line,\n                                                   char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/wurfl/wurfl.c:194,1
    - Dst: calloc
      Src: /src/haproxy/addons/wurfl/wurfl.c:199,1
    - Dst: memprintf
      Src: /src/haproxy/addons/wurfl/wurfl.c:202,1
    - Dst: strdup
      Src: /src/haproxy/addons/wurfl/wurfl.c:206,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/addons/wurfl/wurfl.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 214
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 214
    functionName: ha_wurfl_cfg_information_list
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    - LIST_APPEND
    - strdup
    linkageType: ''
    returnType: int
    signature: "ha_wurfl_cfg_information_list(char **args, int section_type, struct
      proxy *curpx,\n                                         const struct proxy *defpx,
      const char *file, int line,\n                                         char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/wurfl/wurfl.c:224,1
    - Dst: calloc
      Src: /src/haproxy/addons/wurfl/wurfl.c:229,1
    - Dst: memprintf
      Src: /src/haproxy/addons/wurfl/wurfl.c:232,1
    - Dst: strdup
      Src: /src/haproxy/addons/wurfl/wurfl.c:236,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/addons/wurfl/wurfl.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 242
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 242
    functionName: ha_wurfl_cfg_patch_file_list
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    - LIST_APPEND
    - strdup
    linkageType: ''
    returnType: int
    signature: "ha_wurfl_cfg_patch_file_list(char **args, int section_type, struct
      proxy *curpx,\n                                        const struct proxy *defpx,
      const char *file, int line,\n                                        char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: ha_wurfl_cfg_useragent_priority
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "ha_wurfl_cfg_useragent_priority(char **args, int section_type, struct
      proxy *curpx,\n                                           const struct proxy
      *defpx, const char *file, int line,\n                                           char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_notice
      Src: /src/haproxy/addons/wurfl/wurfl.c:270,1
    - Dst: wurfl_create
      Src: /src/haproxy/addons/wurfl/wurfl.c:272,1
    - Dst: ha_warning
      Src: /src/haproxy/addons/wurfl/wurfl.c:275,1
    - Dst: ha_notice
      Src: /src/haproxy/addons/wurfl/wurfl.c:279,1
    - Dst: wurfl_get_api_version
      Src: /src/haproxy/addons/wurfl/wurfl.c:279,1
    - Dst: wurfl_set_root
      Src: /src/haproxy/addons/wurfl/wurfl.c:282,1
    - Dst: ha_warning
      Src: /src/haproxy/addons/wurfl/wurfl.c:283,1
    - Dst: wurfl_get_error_message
      Src: /src/haproxy/addons/wurfl/wurfl.c:283,1
    - Dst: ha_notice
      Src: /src/haproxy/addons/wurfl/wurfl.c:287,1
    - Dst: ha_notice
      Src: /src/haproxy/addons/wurfl/wurfl.c:289,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/addons/wurfl/wurfl.c:292,1
    - Dst: ha_warning
      Src: /src/haproxy/addons/wurfl/wurfl.c:293,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/wurfl/wurfl.c:300,1
    - Dst: ebst_lookup
      Src: /src/haproxy/addons/wurfl/wurfl.c:302,1
    - Dst: ha_wurfl_get_property_callback
      Src: /src/haproxy/addons/wurfl/wurfl.c:303,1
    - Dst: ha_notice
      Src: /src/haproxy/addons/wurfl/wurfl.c:306,1
    - Dst: wurfl_has_virtual_capability
      Src: /src/haproxy/addons/wurfl/wurfl.c:308,1
    - Dst: ha_notice
      Src: /src/haproxy/addons/wurfl/wurfl.c:311,1
    - Dst: wurfl_add_requested_capability
      Src: /src/haproxy/addons/wurfl/wurfl.c:317,1
    - Dst: ha_warning
      Src: /src/haproxy/addons/wurfl/wurfl.c:318,1
    - Dst: wurfl_get_error_message
      Src: /src/haproxy/addons/wurfl/wurfl.c:318,1
    - Dst: ha_notice
      Src: /src/haproxy/addons/wurfl/wurfl.c:322,1
    - Dst: strlen
      Src: /src/haproxy/addons/wurfl/wurfl.c:326,1
    - Dst: malloc
      Src: /src/haproxy/addons/wurfl/wurfl.c:328,1
    - Dst: ha_warning
      Src: /src/haproxy/addons/wurfl/wurfl.c:331,1
    - Dst: memcpy
      Src: /src/haproxy/addons/wurfl/wurfl.c:338,1
    - Dst: ebst_insert
      Src: /src/haproxy/addons/wurfl/wurfl.c:341,1
    - Dst: ha_warning
      Src: /src/haproxy/addons/wurfl/wurfl.c:342,1
    - Dst: ha_notice
      Src: /src/haproxy/addons/wurfl/wurfl.c:348,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/addons/wurfl/wurfl.c:358,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/wurfl/wurfl.c:360,1
    - Dst: wurfl_add_patch
      Src: /src/haproxy/addons/wurfl/wurfl.c:361,1
    - Dst: ha_warning
      Src: /src/haproxy/addons/wurfl/wurfl.c:362,1
    - Dst: wurfl_get_error_message
      Src: /src/haproxy/addons/wurfl/wurfl.c:362,1
    - Dst: ha_notice
      Src: /src/haproxy/addons/wurfl/wurfl.c:365,1
    - Dst: strpbrk
      Src: /src/haproxy/addons/wurfl/wurfl.c:373,1
    - Dst: wurfl_set_cache_provider
      Src: /src/haproxy/addons/wurfl/wurfl.c:374,1
    - Dst: strcmp
      Src: /src/haproxy/addons/wurfl/wurfl.c:376,1
    - Dst: wurfl_set_cache_provider
      Src: /src/haproxy/addons/wurfl/wurfl.c:377,1
    - Dst: wurfl_set_cache_provider
      Src: /src/haproxy/addons/wurfl/wurfl.c:379,1
    - Dst: ha_warning
      Src: /src/haproxy/addons/wurfl/wurfl.c:385,1
    - Dst: wurfl_get_error_message
      Src: /src/haproxy/addons/wurfl/wurfl.c:385,1
    - Dst: ha_notice
      Src: /src/haproxy/addons/wurfl/wurfl.c:389,1
    - Dst: wurfl_load
      Src: /src/haproxy/addons/wurfl/wurfl.c:393,1
    - Dst: ha_warning
      Src: /src/haproxy/addons/wurfl/wurfl.c:394,1
    - Dst: wurfl_get_error_message
      Src: /src/haproxy/addons/wurfl/wurfl.c:394,1
    - Dst: ha_notice
      Src: /src/haproxy/addons/wurfl/wurfl.c:398,1
    - Dst: ha_notice
      Src: /src/haproxy/addons/wurfl/wurfl.c:399,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 257
    functionDepth: 9
    functionLinenumber: 257
    functionLinenumberEnd: 401
    functionName: ha_wurfl_init
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - ha_warning
    - wurfl_set_cache_provider
    - wurfl_has_virtual_capability
    - LIST_ISEMPTY
    - wurfl_create
    - list_for_each_entry
    - strcmp
    - wurfl_add_patch
    - strpbrk
    - wurfl_get_error_message
    - ebst_insert
    - strlen
    - wurfl_load
    - wurfl_add_requested_capability
    - ebst_lookup
    - wurfl_get_api_version
    - wurfl_set_root
    - malloc
    - ha_wurfl_get_property_callback
    - ha_notice
    - memcpy
    linkageType: ''
    returnType: int
    signature: ha_wurfl_init(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: send_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:408,1
    - Dst: wurfl_destroy
      Src: /src/haproxy/addons/wurfl/wurfl.c:409,1
    - Dst: ha_free
      Src: /src/haproxy/addons/wurfl/wurfl.c:411,1
    - Dst: ha_free
      Src: /src/haproxy/addons/wurfl/wurfl.c:412,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/addons/wurfl/wurfl.c:414,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/addons/wurfl/wurfl.c:415,1
    - Dst: free
      Src: /src/haproxy/addons/wurfl/wurfl.c:416,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/addons/wurfl/wurfl.c:419,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/addons/wurfl/wurfl.c:420,1
    - Dst: free
      Src: /src/haproxy/addons/wurfl/wurfl.c:421,1
    - Dst: send_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 425
      start: 403
    functionDepth: 10
    functionLinenumber: 403
    functionLinenumberEnd: 425
    functionName: ha_wurfl_deinit
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - send_log
    - wurfl_destroy
    - ha_free
    - list_for_each_entry_safe
    - LIST_DELETE
    - free
    linkageType: ''
    returnType: void
    signature: ha_wurfl_deinit(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:436,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/addons/wurfl/wurfl.c:439,1
    - Dst: wurfl_lookup
      Src: /src/haproxy/addons/wurfl/wurfl.c:445,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/addons/wurfl/wurfl.c:447,1
    - Dst: chunk_reset
      Src: /src/haproxy/addons/wurfl/wurfl.c:448,1
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:451,1
    - Dst: wurfl_get_error_message
      Src: /src/haproxy/addons/wurfl/wurfl.c:451,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/wurfl/wurfl.c:455,1
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:459,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:462,1
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:466,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:469,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:471,1
    - Dst: wurfl_device_get_capability
      Src: /src/haproxy/addons/wurfl/wurfl.c:471,1
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:474,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:477,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:479,1
    - Dst: wurfl_device_get_virtual_capability
      Src: /src/haproxy/addons/wurfl/wurfl.c:479,1
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:482,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:485,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:487,1
    - Dst: wurfl_information_t*::data::func_callback
      Src: /src/haproxy/addons/wurfl/wurfl.c:487,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:492,1
    - Dst: wurfl_device_destroy
      Src: /src/haproxy/addons/wurfl/wurfl.c:497,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 509
      start: 427
    functionDepth: 11
    functionLinenumber: 427
    functionLinenumberEnd: 509
    functionName: ha_wurfl_get_all
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - wurfl_device_get_virtual_capability
    - chunk_reset
    - wurfl_device_get_capability
    - list_for_each_entry
    - chunk_appendf
    - get_trash_chunk
    - ha_wurfl_log
    - wurfl_lookup
    - wurfl_device_destroy
    - wurfl_get_error_message
    - wurfl_information_t*::data::func_callback
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: ha_wurfl_get_all(const struct arg *args, struct sample *smp, const
      char *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:522,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/addons/wurfl/wurfl.c:525,1
    - Dst: wurfl_lookup
      Src: /src/haproxy/addons/wurfl/wurfl.c:531,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/addons/wurfl/wurfl.c:533,1
    - Dst: chunk_reset
      Src: /src/haproxy/addons/wurfl/wurfl.c:534,1
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:537,1
    - Dst: wurfl_get_error_message
      Src: /src/haproxy/addons/wurfl/wurfl.c:537,1
    - Dst: ebst_lookup
      Src: /src/haproxy/addons/wurfl/wurfl.c:542,1
    - Dst: container_of
      Src: /src/haproxy/addons/wurfl/wurfl.c:546,1
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:550,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:553,1
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:557,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:560,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:562,1
    - Dst: wurfl_device_get_capability
      Src: /src/haproxy/addons/wurfl/wurfl.c:562,1
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:565,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:568,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:570,1
    - Dst: wurfl_device_get_virtual_capability
      Src: /src/haproxy/addons/wurfl/wurfl.c:570,1
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:573,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:576,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:578,1
    - Dst: wurfl_data_t*::func_callback
      Src: /src/haproxy/addons/wurfl/wurfl.c:578,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/wurfl/wurfl.c:583,1
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:586,1
    - Dst: wurfl_device_destroy
      Src: /src/haproxy/addons/wurfl/wurfl.c:595,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 607
      start: 511
    functionDepth: 11
    functionLinenumber: 511
    functionLinenumberEnd: 607
    functionName: ha_wurfl_get
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - wurfl_device_get_virtual_capability
    - chunk_reset
    - container_of
    - wurfl_device_get_capability
    - chunk_appendf
    - get_trash_chunk
    - ha_wurfl_log
    - wurfl_data_t*::func_callback
    - wurfl_lookup
    - wurfl_device_destroy
    - wurfl_get_error_message
    - ebst_lookup
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: ha_wurfl_get(const struct arg *args, struct sample *smp, const char
      *kw, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wurfl_device_get_root_id
      Src: /src/haproxy/addons/wurfl/wurfl.c:644,1
    - Dst: wurfl_device_get_root_id
      Src: /src/haproxy/addons/wurfl/wurfl.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wHandle
    - dHandle
    argTypes:
    - wurfl_handle
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 648
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 648
    functionName: ha_wurfl_get_wurfl_root_id
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - wurfl_device_get_root_id
    linkageType: ''
    returnType: char
    signature: '*ha_wurfl_get_wurfl_root_id (wurfl_handle wHandle, wurfl_device_handle
      dHandle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wurfl_device_get_id
      Src: /src/haproxy/addons/wurfl/wurfl.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wHandle
    - dHandle
    argTypes:
    - wurfl_handle
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 653
    functionName: ha_wurfl_get_wurfl_id
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - wurfl_device_get_id
    linkageType: ''
    returnType: char
    signature: '*ha_wurfl_get_wurfl_id (wurfl_handle wHandle, wurfl_device_handle
      dHandle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wurfl_device_is_actual_device_root
      Src: /src/haproxy/addons/wurfl/wurfl.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - wHandle
    - dHandle
    argTypes:
    - wurfl_handle
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 661
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 661
    functionName: ha_wurfl_get_wurfl_isdevroot
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - wurfl_device_is_actual_device_root
    linkageType: ''
    returnType: char
    signature: '*ha_wurfl_get_wurfl_isdevroot (wurfl_handle wHandle, wurfl_device_handle
      dHandle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wurfl_device_get_original_useragent
      Src: /src/haproxy/addons/wurfl/wurfl.c:665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wHandle
    - dHandle
    argTypes:
    - wurfl_handle
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 666
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 666
    functionName: ha_wurfl_get_wurfl_useragent
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - wurfl_device_get_original_useragent
    linkageType: ''
    returnType: char
    signature: '*ha_wurfl_get_wurfl_useragent (wurfl_handle wHandle, wurfl_device_handle
      dHandle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wurfl_get_api_version
      Src: /src/haproxy/addons/wurfl/wurfl.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wHandle
    - dHandle
    argTypes:
    - wurfl_handle
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: ha_wurfl_get_wurfl_api_version
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - wurfl_get_api_version
    linkageType: ''
    returnType: char
    signature: '*ha_wurfl_get_wurfl_api_version (wurfl_handle wHandle, wurfl_device_handle
      dHandle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wHandle
    - dHandle
    argTypes:
    - wurfl_handle
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 676
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 676
    functionName: ha_wurfl_get_wurfl_engine_target
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*ha_wurfl_get_wurfl_engine_target (wurfl_handle wHandle, wurfl_device_handle
      dHandle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wurfl_get_wurfl_info
      Src: /src/haproxy/addons/wurfl/wurfl.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wHandle
    - dHandle
    argTypes:
    - wurfl_handle
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 681
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 681
    functionName: ha_wurfl_get_wurfl_info
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - wurfl_get_wurfl_info
    linkageType: ''
    returnType: char
    signature: '*ha_wurfl_get_wurfl_info (wurfl_handle wHandle, wurfl_device_handle
      dHandle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wurfl_get_last_load_time_as_string
      Src: /src/haproxy/addons/wurfl/wurfl.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wHandle
    - dHandle
    argTypes:
    - wurfl_handle
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: ha_wurfl_get_wurfl_last_load_time
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - wurfl_get_last_load_time_as_string
    linkageType: ''
    returnType: char
    signature: '*ha_wurfl_get_wurfl_last_load_time (wurfl_handle wHandle, wurfl_device_handle
      dHandle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: wurfl_device_get_normalized_useragent
      Src: /src/haproxy/addons/wurfl/wurfl.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wHandle
    - dHandle
    argTypes:
    - wurfl_handle
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 691
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 691
    functionName: ha_wurfl_get_wurfl_normalized_useragent
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - wurfl_device_get_normalized_useragent
    linkageType: ''
    returnType: char
    signature: '*ha_wurfl_get_wurfl_normalized_useragent (wurfl_handle wHandle, wurfl_device_handle
      dHandle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - wHandle
    - dHandle
    argTypes:
    - wurfl_handle
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 696
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 696
    functionName: ha_wurfl_get_wurfl_useragent_priority
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*ha_wurfl_get_wurfl_useragent_priority (wurfl_handle wHandle, wurfl_device_handle
      dHandle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/addons/wurfl/wurfl.c:709,1
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - wHandle
    - dHandle
    argTypes:
    - wurfl_handle
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 720
      start: 699
    functionDepth: 11
    functionLinenumber: 699
    functionLinenumberEnd: 720
    functionName: '*(*ha_wurfl_get_property_callback(char *name)) (wurfl_handle wHandle,
      wurfl_device_handle dHandle)'
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - ha_wurfl_log
    - strcmp
    linkageType: ''
    returnType: char
    signature: '*(*ha_wurfl_get_property_callback(char *name)) (wurfl_handle wHandle,
      wurfl_device_handle dHandle)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:734,1
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/addons/wurfl/wurfl.c:742,1
    - Dst: ist2
      Src: /src/haproxy/addons/wurfl/wurfl.c:747,1
    - Dst: strlen
      Src: /src/haproxy/addons/wurfl/wurfl.c:747,1
    - Dst: http_find_header
      Src: /src/haproxy/addons/wurfl/wurfl.c:751,1
    - Dst: strncpy
      Src: /src/haproxy/addons/wurfl/wurfl.c:758,1
    - Dst: ha_wurfl_log
      Src: /src/haproxy/addons/wurfl/wurfl.c:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - header_name
    - wh
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 764
      start: 722
    functionDepth: 11
    functionLinenumber: 722
    functionLinenumberEnd: 764
    functionName: ha_wurfl_retrieve_header
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - strlen
    - ist2
    - strncpy
    - ha_wurfl_log
    - http_find_header
    - smp_prefetch_htx
    linkageType: ''
    returnType: char
    signature: '*ha_wurfl_retrieve_header(const char *header_name, const void *wh)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/wurfl/wurfl.c:771,1
    - Dst: strcmp
      Src: /src/haproxy/addons/wurfl/wurfl.c:772,1
    - Dst: hap_register_build_opts
      Src: /src/haproxy/addons/wurfl/wurfl.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 775
      start: 766
    functionDepth: 5
    functionLinenumber: 766
    functionLinenumberEnd: 775
    functionName: ha_wurfl_register_build_options
    functionSourceFile: /src/haproxy/addons/wurfl/wurfl.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - hap_register_build_opts
    linkageType: ''
    returnType: void
    signature: ha_wurfl_register_build_options()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: wurfl_get_api_version
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*wurfl_get_api_version(void)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: wurfl_create
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: wurfl_handle
    signature: wurfl_create(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - wurfl_handle
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: wurfl_destroy
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: wurfl_destroy(wurfl_handle handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hwurfl
    - root
    argTypes:
    - wurfl_handle
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: wurfl_set_root
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: wurfl_error
    signature: wurfl_set_root(wurfl_handle hwurfl, const char* root)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hwurfl
    - patch
    argTypes:
    - wurfl_handle
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: wurfl_add_patch
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: wurfl_error
    signature: wurfl_add_patch(wurfl_handle hwurfl, const char *patch)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hwurfl
    - requested_capability
    argTypes:
    - wurfl_handle
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: wurfl_add_requested_capability
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: wurfl_error
    signature: wurfl_add_requested_capability(wurfl_handle hwurfl, const char *requested_capability)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hwurfl
    argTypes:
    - wurfl_handle
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: wurfl_get_error_message
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*wurfl_get_error_message(wurfl_handle hwurfl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hwurfl
    - virtual_capability
    argTypes:
    - wurfl_handle
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: wurfl_has_virtual_capability
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: wurfl_has_virtual_capability(wurfl_handle hwurfl, const char *virtual_capability)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hwurfl
    - cache_provider
    - config
    argTypes:
    - wurfl_handle
    - wurfl_cache_provider
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: wurfl_set_cache_provider
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: wurfl_error
    signature: wurfl_set_cache_provider(wurfl_handle hwurfl, wurfl_cache_provider
      cache_provider, const char *config)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hwurfl
    argTypes:
    - wurfl_handle
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: wurfl_load
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: wurfl_error
    signature: wurfl_load(wurfl_handle hwurfl)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: header_retrieve_callback
      Src: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - hwurfl
    - header_retrieve_callback
    - header_retrieve_callback_data
    argTypes:
    - wurfl_handle
    - wurfl_header_retrieve_callback
    - void*
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: wurfl_lookup
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 2
    functionsReached:
    - header_retrieve_callback
    linkageType: ''
    returnType: wurfl_device_handle
    signature: wurfl_lookup(wurfl_handle hwurfl, wurfl_header_retrieve_callback header_retrieve_callback,
      const void *header_retrieve_callback_data)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hwurfldevice
    - capability
    argTypes:
    - wurfl_device_handle
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: wurfl_device_get_capability
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*wurfl_device_get_capability(wurfl_device_handle hwurfldevice, const
      char *capability)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hwurfldevice
    - capability
    argTypes:
    - wurfl_device_handle
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: wurfl_device_get_virtual_capability
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*wurfl_device_get_virtual_capability(wurfl_device_handle hwurfldevice,
      const char *capability)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: wurfl_device_destroy
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: wurfl_device_destroy(wurfl_device_handle handle)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hwurfldevice
    argTypes:
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: wurfl_device_get_id
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*wurfl_device_get_id(wurfl_device_handle hwurfldevice)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hwurfldevice
    argTypes:
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: wurfl_device_get_root_id
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*wurfl_device_get_root_id(wurfl_device_handle hwurfldevice)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hwurfldevice
    argTypes:
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: wurfl_device_get_original_useragent
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*wurfl_device_get_original_useragent(wurfl_device_handle hwurfldevice)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hwurfldevice
    argTypes:
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: wurfl_device_get_normalized_useragent
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*wurfl_device_get_normalized_useragent(wurfl_device_handle hwurfldevice)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hwurfldevice
    argTypes:
    - wurfl_device_handle
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: wurfl_device_is_actual_device_root
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: wurfl_device_is_actual_device_root(wurfl_device_handle hwurfldevice)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hwurfl
    argTypes:
    - wurfl_handle
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: wurfl_get_wurfl_info
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*wurfl_get_wurfl_info(wurfl_handle hwurfl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hwurfl
    argTypes:
    - wurfl_handle
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: wurfl_get_last_load_time_as_string
    functionSourceFile: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*wurfl_get_last_load_time_as_string(wurfl_handle hwurfl)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: struct
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: THREAD_LOCAL
    signature: struct
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:101,1
    - Dst: free
      Src: /src/haproxy/addons/51degrees/51d.c:108,1
    - Dst: strdup
      Src: /src/haproxy/addons/51degrees/51d.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 5
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: _51d_data_file
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - memprintf
    - free
    - strdup
    linkageType: ''
    returnType: int
    signature: "_51d_data_file(char **args, int section_type, struct proxy *curpx,\n
      \                         const struct proxy *defpx, const char *file, int line,\n
      \                         char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:122,1
    - Dst: calloc
      Src: /src/haproxy/addons/51degrees/51d.c:129,1
    - Dst: strdup
      Src: /src/haproxy/addons/51degrees/51d.c:130,1
    - Dst: LIST_APPEND
      Src: /src/haproxy/addons/51degrees/51d.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: _51d_property_name_list
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - memprintf
    - calloc
    - LIST_APPEND
    - strdup
    linkageType: ''
    returnType: int
    signature: "_51d_property_name_list(char **args, int section_type, struct proxy
      *curpx,\n                                   const struct proxy *defpx, const
      char *file, int line,\n                                   char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:143,1
    - Dst: strlen
      Src: /src/haproxy/addons/51degrees/51d.c:148,1
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 158
      start: 138
    functionDepth: 5
    functionLinenumber: 138
    functionLinenumberEnd: 158
    functionName: _51d_property_separator
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strlen
    linkageType: ''
    returnType: int
    signature: "_51d_property_separator(char **args, int section_type, struct proxy
      *curpx,\n                                   const struct proxy *defpx, const
      char *file, int line,\n                                   char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:165,1
    - Dst: atoi
      Src: /src/haproxy/addons/51degrees/51d.c:171,1
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 180
      start: 160
    functionDepth: 5
    functionLinenumber: 160
    functionLinenumberEnd: 180
    functionName: _51d_cache_size
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    linkageType: ''
    returnType: int
    signature: "_51d_cache_size(char **args, int section_type, struct proxy *curpx,\n
      \                          const struct proxy *defpx, const char *file, int
      line,\n                           char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - arg
    - err_msg
    argTypes:
    - struct arg*
    - char**
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 5
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: _51d_fetch_check
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: _51d_fetch_check(struct arg *arg, char **err_msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - arg
    - conv
    - file
    - line
    - err_msg
    argTypes:
    - struct arg*
    - struct sample_conv*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 199
      start: 191
    functionDepth: 5
    functionLinenumber: 191
    functionLinenumberEnd: 199
    functionName: _51d_conv_check
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - memprintf
    linkageType: ''
    returnType: int
    signature: "_51d_conv_check(struct arg *arg, struct sample_conv *conv,\n                           const
      char *file, int line, char **err_msg)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/addons/51degrees/51d.c:209,1
    - Dst: free
      Src: /src/haproxy/addons/51degrees/51d.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cache_entry
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: _51d_lru_free
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: _51d_lru_free(void *cache_entry)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: lru64_kill_oldest
      Src: /src/haproxy/addons/51degrees/51d.c:222,1
    - Dst: malloc
      Src: /src/haproxy/addons/51degrees/51d.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 227
      start: 215
    functionDepth: 4
    functionLinenumber: 215
    functionLinenumberEnd: 227
    functionName: _51d_malloc
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - malloc
    - lru64_kill_oldest
    linkageType: ''
    returnType: void
    signature: '*_51d_malloc(int size)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: _51d_malloc
      Src: /src/haproxy/addons/51degrees/51d.c:233,1
    - Dst: _51d_malloc
      Src: /src/haproxy/addons/51degrees/51d.c:238,1
    - Dst: free
      Src: /src/haproxy/addons/51degrees/51d.c:240,1
    - Dst: memcpy
      Src: /src/haproxy/addons/51degrees/51d.c:244,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/addons/51degrees/51d.c:247,1
    - Dst: lru64_commit
      Src: /src/haproxy/addons/51degrees/51d.c:248,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/addons/51degrees/51d.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - smp
    - lru
    - domain
    argTypes:
    - struct sample*
    - struct lru64*
    - void*
    constantsTouched: []
    func_position:
      end: 250
      start: 231
    functionDepth: 5
    functionLinenumber: 231
    functionLinenumberEnd: 250
    functionName: _51d_insert_cache_entry
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - _51d_malloc
    - HA_SPIN_UNLOCK
    - free
    - HA_SPIN_LOCK
    - memcpy
    - lru64_commit
    linkageType: ''
    returnType: void
    signature: _51d_insert_cache_entry(struct sample *smp, struct lru64 *lru, void*
      domain)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - smp
    - lru
    argTypes:
    - struct sample*
    - struct lru64*
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: _51d_retrieve_cache_entry
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _51d_retrieve_cache_entry(struct sample *smp, struct lru64 *lru)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/addons/51degrees/51d.c:278,1
    - Dst: ALREADY_CHECKED
      Src: /src/haproxy/addons/51degrees/51d.c:279,1
    - Dst: ist2
      Src: /src/haproxy/addons/51degrees/51d.c:282,1
    - Dst: http_find_header
      Src: /src/haproxy/addons/51degrees/51d.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - smp
    - ws
    argTypes:
    - struct sample*
    - fiftyoneDegreesWorkset*
    constantsTouched: []
    func_position:
      end: 293
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 293
    functionName: _51d_set_headers
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - ist2
    - ALREADY_CHECKED
    - http_find_header
    - smp_prefetch_htx
    linkageType: ''
    returnType: void
    signature: _51d_set_headers(struct sample *smp, fiftyoneDegreesWorkset *ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - offsets
    argTypes:
    - fiftyoneDegreesDeviceOffsets*
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: _51d_init_device_offsets
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _51d_init_device_offsets(fiftyoneDegreesDeviceOffsets *offsets)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/addons/51degrees/51d.c:317,1
    - Dst: ALREADY_CHECKED
      Src: /src/haproxy/addons/51degrees/51d.c:318,1
    - Dst: ist2
      Src: /src/haproxy/addons/51degrees/51d.c:321,1
    - Dst: http_find_header
      Src: /src/haproxy/addons/51degrees/51d.c:325,1
    - Dst: fiftyoneDegreesGetDeviceOffset
      Src: /src/haproxy/addons/51degrees/51d.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - smp
    - offsets
    argTypes:
    - struct sample*
    - fiftyoneDegreesDeviceOffsets*
    constantsTouched: []
    func_position:
      end: 332
      start: 304
    functionDepth: 3
    functionLinenumber: 304
    functionLinenumberEnd: 332
    functionName: _51d_set_device_offsets
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - ALREADY_CHECKED
    - ist2
    - fiftyoneDegreesGetDeviceOffset
    - http_find_header
    - smp_prefetch_htx
    linkageType: ''
    returnType: void
    signature: _51d_set_device_offsets(struct sample *smp, fiftyoneDegreesDeviceOffsets
      *offsets)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: XXH3
      Src: /src/haproxy/addons/51degrees/51d.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - args
    - ws
    argTypes:
    - struct arg*
    - fiftyoneDegreesWorkset*
    constantsTouched: []
    func_position:
      end: 350
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 350
    functionName: _51d_req_hash
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - XXH3
    linkageType: ''
    returnType: unsigned long long
    signature: _51d_req_hash(const struct arg *args, fiftyoneDegreesWorkset* ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/addons/51degrees/51d.c:358,1
    - Dst: strcmp
      Src: /src/haproxy/addons/51degrees/51d.c:361,1
    - Dst: strcmp
      Src: /src/haproxy/addons/51degrees/51d.c:363,1
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 371
      start: 354
    functionDepth: 7
    functionLinenumber: 354
    functionLinenumberEnd: 371
    functionName: _51d_use_perf_graph
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "_51d_use_perf_graph(char **args, int section_type, struct proxy *curpx,\n
      \                              const struct proxy *defpx, const char *file,
      int line,\n                               char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/addons/51degrees/51d.c:377,1
    - Dst: strcmp
      Src: /src/haproxy/addons/51degrees/51d.c:380,1
    - Dst: strcmp
      Src: /src/haproxy/addons/51degrees/51d.c:382,1
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 390
      start: 373
    functionDepth: 7
    functionLinenumber: 373
    functionLinenumberEnd: 390
    functionName: _51d_use_pred_graph
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "_51d_use_pred_graph(char **args, int section_type, struct proxy *curpx,\n
      \                              const struct proxy *defpx, const char *file,
      int line,\n                               char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:397,1
    - Dst: atoi
      Src: /src/haproxy/addons/51degrees/51d.c:401,1
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 409
      start: 392
    functionDepth: 5
    functionLinenumber: 392
    functionLinenumberEnd: 409
    functionName: _51d_drift
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    linkageType: ''
    returnType: int
    signature: "_51d_drift(char **args, int section_type, struct proxy *curpx,\n                      const
      struct proxy *defpx, const char *file, int line,\n                      char
      **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:416,1
    - Dst: atoi
      Src: /src/haproxy/addons/51degrees/51d.c:420,1
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 428
      start: 411
    functionDepth: 5
    functionLinenumber: 411
    functionLinenumberEnd: 428
    functionName: _51d_difference
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - memprintf
    - atoi
    linkageType: ''
    returnType: int
    signature: "_51d_difference(char **args, int section_type, struct proxy *curpx,\n
      \                          const struct proxy *defpx, const char *file, int
      line,\n                           char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: too_many_args
      Src: /src/haproxy/addons/51degrees/51d.c:434,1
    - Dst: strcmp
      Src: /src/haproxy/addons/51degrees/51d.c:437,1
    - Dst: strcmp
      Src: /src/haproxy/addons/51degrees/51d.c:439,1
    - Dst: memprintf
      Src: /src/haproxy/addons/51degrees/51d.c:442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - args
    - section_type
    - curpx
    - defpx
    - file
    - line
    - err
    argTypes:
    - char**
    - int
    - struct proxy*
    - struct proxy*
    - char*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 447
      start: 430
    functionDepth: 7
    functionLinenumber: 430
    functionLinenumberEnd: 447
    functionName: _51d_allow_unmatched
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - memprintf
    - strcmp
    - too_many_args
    linkageType: ''
    returnType: int
    signature: "_51d_allow_unmatched(char **args, int section_type, struct proxy *curpx,\n
      \                               const struct proxy *defpx, const char *file,
      int line,\n                                char **err)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiftyoneDegreesDataSetGet
      Src: /src/haproxy/addons/51degrees/51d.c:455,1
    - Dst: fiftyoneDegreesResultsHashCreate
      Src: /src/haproxy/addons/51degrees/51d.c:461,1
    - Dst: malloc
      Src: /src/haproxy/addons/51degrees/51d.c:466,1
    - Dst: fiftyoneDegreesDataSetRelease
      Src: /src/haproxy/addons/51degrees/51d.c:476,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 478
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 478
    functionName: _51d_init_internal
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - fiftyoneDegreesResultsHashCreate
    - fiftyoneDegreesDataSetGet
    - fiftyoneDegreesDataSetRelease
    - malloc
    linkageType: ''
    returnType: int
    signature: _51d_init_internal()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/addons/51degrees/51d.c:495,1
    - Dst: ALREADY_CHECKED
      Src: /src/haproxy/addons/51degrees/51d.c:496,1
    - Dst: fiftyoneDegreesEvidenceCreate
      Src: /src/haproxy/addons/51degrees/51d.c:501,1
    - Dst: ist2
      Src: /src/haproxy/addons/51degrees/51d.c:507,1
    - Dst: http_find_header
      Src: /src/haproxy/addons/51degrees/51d.c:510,1
    - Dst: unlikely
      Src: /src/haproxy/addons/51degrees/51d.c:513,1
    - Dst: memcpy
      Src: /src/haproxy/addons/51degrees/51d.c:516,1
    - Dst: fiftyoneDegreesEvidenceAddString
      Src: /src/haproxy/addons/51degrees/51d.c:519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 528
      start: 480
    functionDepth: 3
    functionLinenumber: 480
    functionLinenumberEnd: 528
    functionName: _51d_get_evidence
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - ALREADY_CHECKED
    - ist2
    - fiftyoneDegreesEvidenceAddString
    - fiftyoneDegreesEvidenceCreate
    - unlikely
    - memcpy
    - http_find_header
    - smp_prefetch_htx
    linkageType: ''
    returnType: fiftyoneDegreesEvidenceKeyValuePairArray
    signature: '* _51d_get_evidence(struct sample *smp)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_trash_chunk
      Src: /src/haproxy/addons/51degrees/51d.c:554,1
    - Dst: strcmp
      Src: /src/haproxy/addons/51degrees/51d.c:566,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/51degrees/51d.c:575,1
    - Dst: strcmp
      Src: /src/haproxy/addons/51degrees/51d.c:578,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/51degrees/51d.c:579,1
    - Dst: strcmp
      Src: /src/haproxy/addons/51degrees/51d.c:582,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/51degrees/51d.c:583,1
    - Dst: fiftyoneDegreesGetSignatureRank
      Src: /src/haproxy/addons/51degrees/51d.c:583,1
    - Dst: fiftyoneDegreesGetPropertyName
      Src: /src/haproxy/addons/51degrees/51d.c:588,1
    - Dst: strcmp
      Src: /src/haproxy/addons/51degrees/51d.c:589,1
    - Dst: fiftyoneDegreesSetValues
      Src: /src/haproxy/addons/51degrees/51d.c:591,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/51degrees/51d.c:592,1
    - Dst: fiftyoneDegreesGetValueName
      Src: /src/haproxy/addons/51degrees/51d.c:592,1
    - Dst: strcmp
      Src: /src/haproxy/addons/51degrees/51d.c:602,1
    - Dst: fiftyoneDegreesGetValueFromOffsets
      Src: /src/haproxy/addons/51degrees/51d.c:603,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/51degrees/51d.c:605,1
    - Dst: fiftyoneDegreesResultsHashGetValuesString
      Src: /src/haproxy/addons/51degrees/51d.c:613,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/51degrees/51d.c:621,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/51degrees/51d.c:624,1
    - Dst: chunk_appendf
      Src: /src/haproxy/addons/51degrees/51d.c:627,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 2
    argNames:
    - args
    - smp
    argTypes:
    - struct arg*
    - struct sample*
    constantsTouched: []
    func_position:
      end: 638
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 638
    functionName: _51d_process_match
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - fiftyoneDegreesGetPropertyName
    - strcmp
    - fiftyoneDegreesGetValueName
    - fiftyoneDegreesResultsHashGetValuesString
    - chunk_appendf
    - get_trash_chunk
    - fiftyoneDegreesSetValues
    - fiftyoneDegreesGetValueFromOffsets
    - fiftyoneDegreesGetSignatureRank
    linkageType: ''
    returnType: void
    signature: _51d_process_match(const struct arg *args, struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - smp
    argTypes:
    - struct sample*
    constantsTouched: []
    func_position:
      end: 653
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 653
    functionName: _51d_set_smp
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: _51d_set_smp(struct sample *smp)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: smp_prefetch_htx
      Src: /src/haproxy/addons/51degrees/51d.c:672,1
    - Dst: fiftyoneDegreesWorksetPoolGet
      Src: /src/haproxy/addons/51degrees/51d.c:685,1
    - Dst: _51d_set_headers
      Src: /src/haproxy/addons/51degrees/51d.c:690,1
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/addons/51degrees/51d.c:694,1
    - Dst: lru64_get
      Src: /src/haproxy/addons/51degrees/51d.c:696,1
    - Dst: _51d_req_hash
      Src: /src/haproxy/addons/51degrees/51d.c:696,1
    - Dst: fiftyoneDegreesWorksetPoolRelease
      Src: /src/haproxy/addons/51degrees/51d.c:700,1
    - Dst: _51d_retrieve_cache_entry
      Src: /src/haproxy/addons/51degrees/51d.c:701,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/addons/51degrees/51d.c:702,1
    - Dst: _51d_set_smp
      Src: /src/haproxy/addons/51degrees/51d.c:704,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/addons/51degrees/51d.c:707,1
    - Dst: fiftyoneDegreesMatchForHttpHeaders
      Src: /src/haproxy/addons/51degrees/51d.c:710,1
    - Dst: _51d_process_match
      Src: /src/haproxy/addons/51degrees/51d.c:712,1
    - Dst: fiftyoneDegreesCreateDeviceOffsets
      Src: /src/haproxy/addons/51degrees/51d.c:718,1
    - Dst: _51d_init_device_offsets
      Src: /src/haproxy/addons/51degrees/51d.c:719,1
    - Dst: _51d_set_device_offsets
      Src: /src/haproxy/addons/51degrees/51d.c:727,1
    - Dst: _51d_process_match
      Src: /src/haproxy/addons/51degrees/51d.c:728,1
    - Dst: fiftyoneDegreesFreeDeviceOffsets
      Src: /src/haproxy/addons/51degrees/51d.c:731,1
    - Dst: fiftyoneDegreesWorksetPoolRelease
      Src: /src/haproxy/addons/51degrees/51d.c:737,1
    - Dst: _51d_insert_cache_entry
      Src: /src/haproxy/addons/51degrees/51d.c:739,1
    - Dst: _51d_get_evidence
      Src: /src/haproxy/addons/51degrees/51d.c:743,1
    - Dst: fiftyoneDegreesResultsHashFromEvidence
      Src: /src/haproxy/addons/51degrees/51d.c:747,1
    - Dst: fiftyoneDegreesEvidenceFree
      Src: /src/haproxy/addons/51degrees/51d.c:749,1
    - Dst: _51d_process_match
      Src: /src/haproxy/addons/51degrees/51d.c:754,1
    - Dst: _51d_set_smp
      Src: /src/haproxy/addons/51degrees/51d.c:757,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 4
    argNames:
    - args
    - smp
    - kw
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 759
      start: 655
    functionDepth: 6
    functionLinenumber: 655
    functionLinenumberEnd: 759
    functionName: _51d_fetch
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - _51d_get_evidence
    - _51d_req_hash
    - _51d_set_smp
    - _51d_set_headers
    - _51d_process_match
    - fiftyoneDegreesMatchForHttpHeaders
    - fiftyoneDegreesWorksetPoolRelease
    - _51d_set_device_offsets
    - _51d_init_device_offsets
    - _51d_insert_cache_entry
    - fiftyoneDegreesCreateDeviceOffsets
    - fiftyoneDegreesEvidenceFree
    - fiftyoneDegreesResultsHashFromEvidence
    - fiftyoneDegreesFreeDeviceOffsets
    - fiftyoneDegreesWorksetPoolGet
    - HA_SPIN_UNLOCK
    - HA_SPIN_LOCK
    - lru64_get
    - _51d_retrieve_cache_entry
    - smp_prefetch_htx
    linkageType: ''
    returnType: int
    signature: _51d_fetch(const struct arg *args, struct sample *smp, const char *kw,
      void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: HA_SPIN_LOCK
      Src: /src/haproxy/addons/51degrees/51d.c:780,1
    - Dst: lru64_get
      Src: /src/haproxy/addons/51degrees/51d.c:781,1
    - Dst: XXH3
      Src: /src/haproxy/addons/51degrees/51d.c:781,1
    - Dst: _51d_retrieve_cache_entry
      Src: /src/haproxy/addons/51degrees/51d.c:784,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/addons/51degrees/51d.c:785,1
    - Dst: HA_SPIN_UNLOCK
      Src: /src/haproxy/addons/51degrees/51d.c:788,1
    - Dst: fiftyoneDegreesWorksetPoolGet
      Src: /src/haproxy/addons/51degrees/51d.c:792,1
    - Dst: smp_dup
      Src: /src/haproxy/addons/51degrees/51d.c:798,1
    - Dst: fiftyoneDegreesMatch
      Src: /src/haproxy/addons/51degrees/51d.c:806,1
    - Dst: _51d_process_match
      Src: /src/haproxy/addons/51degrees/51d.c:807,1
    - Dst: fiftyoneDegreesCreateDeviceOffsets
      Src: /src/haproxy/addons/51degrees/51d.c:811,1
    - Dst: _51d_init_device_offsets
      Src: /src/haproxy/addons/51degrees/51d.c:812,1
    - Dst: fiftyoneDegreesGetDeviceOffset
      Src: /src/haproxy/addons/51degrees/51d.c:817,1
    - Dst: _51d_process_match
      Src: /src/haproxy/addons/51degrees/51d.c:820,1
    - Dst: fiftyoneDegreesWorksetPoolRelease
      Src: /src/haproxy/addons/51degrees/51d.c:824,1
    - Dst: _51d_insert_cache_entry
      Src: /src/haproxy/addons/51degrees/51d.c:826,1
    - Dst: fiftyoneDegreesFreeDeviceOffsets
      Src: /src/haproxy/addons/51degrees/51d.c:831,1
    - Dst: fiftyoneDegreesResultsHashFromUserAgent
      Src: /src/haproxy/addons/51degrees/51d.c:836,1
    - Dst: _51d_process_match
      Src: /src/haproxy/addons/51degrees/51d.c:841,1
    - Dst: _51d_set_smp
      Src: /src/haproxy/addons/51degrees/51d.c:844,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - args
    - smp
    - private
    argTypes:
    - struct arg*
    - struct sample*
    - void*
    constantsTouched: []
    func_position:
      end: 846
      start: 761
    functionDepth: 6
    functionLinenumber: 761
    functionLinenumberEnd: 846
    functionName: _51d_conv
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - _51d_insert_cache_entry
    - fiftyoneDegreesCreateDeviceOffsets
    - fiftyoneDegreesFreeDeviceOffsets
    - smp_dup
    - fiftyoneDegreesResultsHashFromUserAgent
    - fiftyoneDegreesWorksetPoolGet
    - HA_SPIN_UNLOCK
    - fiftyoneDegreesMatch
    - fiftyoneDegreesGetDeviceOffset
    - HA_SPIN_LOCK
    - _51d_retrieve_cache_entry
    - fiftyoneDegreesWorksetPoolRelease
    - _51d_set_smp
    - lru64_get
    - XXH3
    - _51d_process_match
    - _51d_init_device_offsets
    linkageType: ''
    returnType: int
    signature: _51d_conv(const struct arg *args, struct sample *smp, void *private)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/haproxy/addons/51degrees/51d.c:855,1
    - Dst: fiftyoneDegreesGetString
      Src: /src/haproxy/addons/51degrees/51d.c:857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 862
      start: 849
    functionDepth: 3
    functionLinenumber: 849
    functionLinenumberEnd: 862
    functionName: _51d_init_http_headers
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - malloc
    - fiftyoneDegreesGetString
    linkageType: ''
    returnType: void
    signature: _51d_init_http_headers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiftyoneDegreesGetHttpHeaderCount
      Src: /src/haproxy/addons/51degrees/51d.c:870,1
    - Dst: malloc
      Src: /src/haproxy/addons/51degrees/51d.c:872,1
    - Dst: _51d_init_device_offsets
      Src: /src/haproxy/addons/51degrees/51d.c:874,1
    - Dst: malloc
      Src: /src/haproxy/addons/51degrees/51d.c:876,1
    - Dst: malloc
      Src: /src/haproxy/addons/51degrees/51d.c:877,1
    - Dst: fiftyoneDegreesGetHttpHeaderNameOffset
      Src: /src/haproxy/addons/51degrees/51d.c:879,1
    - Dst: fiftyoneDegreesGetHttpHeaderNamePointer
      Src: /src/haproxy/addons/51degrees/51d.c:880,1
    - Dst: strlen
      Src: /src/haproxy/addons/51degrees/51d.c:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 884
      start: 866
    functionDepth: 3
    functionLinenumber: 866
    functionLinenumberEnd: 884
    functionName: _51d_init_http_headers
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - malloc
    - fiftyoneDegreesGetHttpHeaderNameOffset
    - strlen
    - _51d_init_device_offsets
    - fiftyoneDegreesGetHttpHeaderNamePointer
    - fiftyoneDegreesGetHttpHeaderCount
    linkageType: ''
    returnType: void
    signature: _51d_init_http_headers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ha_alert
      Src: /src/haproxy/addons/51degrees/51d.c:910,1
    - Dst: LIST_ISEMPTY
      Src: /src/haproxy/addons/51degrees/51d.c:914,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/51degrees/51d.c:916,1
    - Dst: calloc
      Src: /src/haproxy/addons/51degrees/51d.c:918,1
    - Dst: list_for_each_entry
      Src: /src/haproxy/addons/51degrees/51d.c:921,1
    - Dst: fiftyoneDegreesInitWithPropertyArray
      Src: /src/haproxy/addons/51degrees/51d.c:926,1
    - Dst: get_trash_chunk
      Src: /src/haproxy/addons/51degrees/51d.c:928,1
    - Dst: chunk_reset
      Src: /src/haproxy/addons/51degrees/51d.c:929,1
    - Dst: fiftyoneDegreesWorksetPoolCreate
      Src: /src/haproxy/addons/51degrees/51d.c:934,1
    - Dst: _51d_init_http_headers
      Src: /src/haproxy/addons/51degrees/51d.c:936,1
    - Dst: chunk_printf
      Src: /src/haproxy/addons/51degrees/51d.c:939,1
    - Dst: chunk_printf
      Src: /src/haproxy/addons/51degrees/51d.c:943,1
    - Dst: chunk_printf
      Src: /src/haproxy/addons/51degrees/51d.c:946,1
    - Dst: chunk_printf
      Src: /src/haproxy/addons/51degrees/51d.c:951,1
    - Dst: chunk_printf
      Src: /src/haproxy/addons/51degrees/51d.c:954,1
    - Dst: chunk_printf
      Src: /src/haproxy/addons/51degrees/51d.c:958,1
    - Dst: chunk_printf
      Src: /src/haproxy/addons/51degrees/51d.c:961,1
    - Dst: chunk_printf
      Src: /src/haproxy/addons/51degrees/51d.c:964,1
    - Dst: chunk_printf
      Src: /src/haproxy/addons/51degrees/51d.c:968,1
    - Dst: chunk_printf
      Src: /src/haproxy/addons/51degrees/51d.c:971,1
    - Dst: ha_alert
      Src: /src/haproxy/addons/51degrees/51d.c:976,1
    - Dst: ha_alert
      Src: /src/haproxy/addons/51degrees/51d.c:979,1
    - Dst: free
      Src: /src/haproxy/addons/51degrees/51d.c:982,1
    - Dst: ha_random
      Src: /src/haproxy/addons/51degrees/51d.c:985,1
    - Dst: lru64_new
      Src: /src/haproxy/addons/51degrees/51d.c:987,1
    - Dst: fiftyoneDegreesFileReadToByteArray
      Src: /src/haproxy/addons/51degrees/51d.c:1020,1
    - Dst: fiftyoneDegreesHashInitManagerFromMemory
      Src: /src/haproxy/addons/51degrees/51d.c:1024,1
    - Dst: free
      Src: /src/haproxy/addons/51degrees/51d.c:1033,1
    - Dst: ha_alert
      Src: /src/haproxy/addons/51degrees/51d.c:1040,1
    - Dst: ha_alert
      Src: /src/haproxy/addons/51degrees/51d.c:1043,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 890
    functionDepth: 9
    functionLinenumber: 890
    functionLinenumberEnd: 1049
    functionName: init_51degrees
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - ha_alert
    - ha_random
    - chunk_reset
    - fiftyoneDegreesInitWithPropertyArray
    - LIST_ISEMPTY
    - list_for_each_entry
    - calloc
    - fiftyoneDegreesFileReadToByteArray
    - chunk_printf
    - get_trash_chunk
    - fiftyoneDegreesWorksetPoolCreate
    - free
    - lru64_new
    - _51d_init_http_headers
    - fiftyoneDegreesHashInitManagerFromMemory
    linkageType: ''
    returnType: int
    signature: init_51degrees(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/haproxy/addons/51degrees/51d.c:1056,1
    - Dst: fiftyoneDegreesWorksetPoolFree
      Src: /src/haproxy/addons/51degrees/51d.c:1059,1
    - Dst: free
      Src: /src/haproxy/addons/51degrees/51d.c:1063,1
    - Dst: free
      Src: /src/haproxy/addons/51degrees/51d.c:1065,1
    - Dst: fiftyoneDegreesDataSetFree
      Src: /src/haproxy/addons/51degrees/51d.c:1067,1
    - Dst: ha_free
      Src: /src/haproxy/addons/51degrees/51d.c:1070,1
    - Dst: list_for_each_entry_safe
      Src: /src/haproxy/addons/51degrees/51d.c:1071,1
    - Dst: LIST_DELETE
      Src: /src/haproxy/addons/51degrees/51d.c:1072,1
    - Dst: free
      Src: /src/haproxy/addons/51degrees/51d.c:1073,1
    - Dst: lru64_destroy
      Src: /src/haproxy/addons/51degrees/51d.c:1077,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1051
    functionDepth: 4
    functionLinenumber: 1051
    functionLinenumberEnd: 1079
    functionName: deinit_51degrees
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - lru64_destroy
    - list_for_each_entry_safe
    - ha_free
    - LIST_DELETE
    - free
    - fiftyoneDegreesDataSetFree
    - fiftyoneDegreesWorksetPoolFree
    linkageType: ''
    returnType: void
    signature: deinit_51degrees(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/addons/51degrees/51d.c:1090,1
    - Dst: _51d_init_internal
      Src: /src/haproxy/addons/51degrees/51d.c:1096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1082
    functionDepth: 4
    functionLinenumber: 1082
    functionLinenumberEnd: 1100
    functionName: init_51degrees_per_thread
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - calloc
    - _51d_init_internal
    linkageType: ''
    returnType: int
    signature: init_51degrees_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fiftyoneDegreesResultsHashFree
      Src: /src/haproxy/addons/51degrees/51d.c:1107,1
    - Dst: free
      Src: /src/haproxy/addons/51degrees/51d.c:1113,1
    - Dst: free
      Src: /src/haproxy/addons/51degrees/51d.c:1114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1102
    functionDepth: 3
    functionLinenumber: 1102
    functionLinenumberEnd: 1120
    functionName: deinit_51degrees_per_thread
    functionSourceFile: /src/haproxy/addons/51degrees/51d.c
    functionUses: 0
    functionsReached:
    - free
    - fiftyoneDegreesResultsHashFree
    linkageType: ''
    returnType: void
    signature: deinit_51degrees_per_thread()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - manager
    argTypes:
    - fiftyoneDegreesResourceManager*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: fiftyoneDegreesDataSetGet
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: fiftyoneDegreesDataSetBase
    signature: "* fiftyoneDegreesDataSetGet(\n\tfiftyoneDegreesResourceManager *manager)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - results
    argTypes:
    - fiftyoneDegreesResultsHash*
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: fiftyoneDegreesResultsHashFree
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "fiftyoneDegreesResultsHashFree(\n\tfiftyoneDegreesResultsHash* results)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - manager
    - userAgentCapacity
    - overridesCapacity
    argTypes:
    - fiftyoneDegreesResourceManager*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: fiftyoneDegreesResultsHashCreate
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: fiftyoneDegreesResultsHash
    signature: "* fiftyoneDegreesResultsHashCreate(\n\tfiftyoneDegreesResourceManager
      *manager,\n\tuint32_t userAgentCapacity,\n\tuint32_t overridesCapacity)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataSet
    argTypes:
    - fiftyoneDegreesDataSetBase*
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: fiftyoneDegreesDataSetRelease
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fiftyoneDegreesDataSetRelease(fiftyoneDegreesDataSetBase *dataSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: fiftyoneDegreesEvidenceCreate
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: fiftyoneDegreesEvidenceKeyValuePairArray
    signature: '*

      fiftyoneDegreesEvidenceCreate(uint32_t capacity)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - evidence
    - prefix
    - field
    - originalValue
    argTypes:
    - fiftyoneDegreesEvidenceKeyValuePairArray*
    - fiftyoneDegreesEvidencePrefix
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: fiftyoneDegreesEvidenceAddString
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: fiftyoneDegreesEvidenceKeyValuePair
    signature: "* fiftyoneDegreesEvidenceAddString(\n\tfiftyoneDegreesEvidenceKeyValuePairArray
      *evidence,\n\tfiftyoneDegreesEvidencePrefix prefix,\n\tconst char *field,\n\tconst
      char *originalValue)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - results
    - propertyName
    - buffer
    - bufferLength
    - separator
    - exception
    argTypes:
    - fiftyoneDegreesResultsHash*
    - char*
    - char*
    - size_t
    - char*
    - fiftyoneDegreesException*
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: fiftyoneDegreesResultsHashGetValuesString
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "fiftyoneDegreesResultsHashGetValuesString(\n\tfiftyoneDegreesResultsHash*
      results,\n\tconst char *propertyName,\n\tchar *buffer,\n\tsize_t bufferLength,\n\tconst
      char *separator,\n\tfiftyoneDegreesException *exception)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - results
    - evidence
    - exception
    argTypes:
    - fiftyoneDegreesResultsHash*
    - fiftyoneDegreesEvidenceKeyValuePairArray*
    - fiftyoneDegreesException*
    constantsTouched: []
    func_position:
      end: 95
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 95
    functionName: fiftyoneDegreesResultsHashFromEvidence
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "fiftyoneDegreesResultsHashFromEvidence(\n\tfiftyoneDegreesResultsHash
      *results,\n\tfiftyoneDegreesEvidenceKeyValuePairArray *evidence,\n\tfiftyoneDegreesException
      *exception)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - evidence
    argTypes:
    - fiftyoneDegreesEvidenceKeyValuePairArray*
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: fiftyoneDegreesEvidenceFree
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fiftyoneDegreesEvidenceFree(fiftyoneDegreesEvidenceKeyValuePairArray
      *evidence)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - results
    - userAgent
    - userAgentLength
    - exception
    argTypes:
    - fiftyoneDegreesResultsHash*
    - char*
    - size_t
    - fiftyoneDegreesException*
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: fiftyoneDegreesResultsHashFromUserAgent
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "fiftyoneDegreesResultsHashFromUserAgent(\n\tfiftyoneDegreesResultsHash
      *results,\n\tconst char* userAgent,\n\tsize_t userAgentLength,\n\tfiftyoneDegreesException
      *exception)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fileName
    - reader
    argTypes:
    - char*
    - fiftyoneDegreesMemoryReader*
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: fiftyoneDegreesFileReadToByteArray
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: fiftyoneDegreesStatusCode
    signature: "fiftyoneDegreesFileReadToByteArray(\n\tconst char *fileName,\n\tfiftyoneDegreesMemoryReader
      *reader)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - manager
    - config
    - properties
    - memory
    - size
    - exception
    argTypes:
    - fiftyoneDegreesResourceManager*
    - fiftyoneDegreesConfigHash*
    - fiftyoneDegreesPropertiesRequired*
    - void*
    - long
    - fiftyoneDegreesException*
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: fiftyoneDegreesHashInitManagerFromMemory
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: fiftyoneDegreesStatusCode
    signature: "fiftyoneDegreesHashInitManagerFromMemory(\n\tfiftyoneDegreesResourceManager
      *manager,\n\tfiftyoneDegreesConfigHash *config,\n\tfiftyoneDegreesPropertiesRequired
      *properties,\n\tvoid *memory,\n\tlong size,\n\tfiftyoneDegreesException *exception)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - status
    - fileName
    argTypes:
    - fiftyoneDegreesStatusCode
    - char*
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: fiftyoneDegreesStatusGetMessage
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "* fiftyoneDegreesStatusGetMessage(\n\tfiftyoneDegreesStatusCode status,\n\tconst
      char *fileName)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataSet
    - userAgent
    argTypes:
    - fiftyoneDegreesDataSet*
    - char*
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: fiftyoneDegreesGetDeviceOffset
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/trie/51Degrees.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "fiftyoneDegreesGetDeviceOffset(\n\tfiftyoneDegreesDataSet *dataSet,\n\tconst
      char *userAgent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: fiftyoneDegreesGetRequiredPropertiesNames
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/trie/51Degrees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "** fiftyoneDegreesGetRequiredPropertiesNames(\n\tfiftyoneDegreesDataSet
      *dataSet)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataSet
    argTypes:
    - fiftyoneDegreesDataSet*
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: fiftyoneDegreesGetRequiredPropertiesCount
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/trie/51Degrees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "fiftyoneDegreesGetRequiredPropertiesCount(\n\tfiftyoneDegreesDataSet
      *dataSet)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - dataSet
    - deviceOffsets
    - requiredPropertyIndex
    - values
    - size
    argTypes:
    - fiftyoneDegreesDataSet*
    - fiftyoneDegreesDeviceOffsets*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: fiftyoneDegreesGetValueFromOffsets
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/trie/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "fiftyoneDegreesGetValueFromOffsets(\n\tfiftyoneDegreesDataSet *dataSet,\n\tfiftyoneDegreesDeviceOffsets*
      deviceOffsets,\n\tint requiredPropertyIndex,\n\tchar* values,\n\tint size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataSet
    argTypes:
    - fiftyoneDegreesDataSet*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: fiftyoneDegreesCreateDeviceOffsets
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/trie/51Degrees.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: fiftyoneDegreesDeviceOffsets
    signature: "* fiftyoneDegreesCreateDeviceOffsets(\n\tfiftyoneDegreesDataSet *dataSet)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offsets
    argTypes:
    - fiftyoneDegreesDeviceOffsets*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: fiftyoneDegreesFreeDeviceOffsets
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/trie/51Degrees.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "fiftyoneDegreesFreeDeviceOffsets(\n\tfiftyoneDegreesDeviceOffsets*
      offsets)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataSet
    argTypes:
    - fiftyoneDegreesDataSet*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: fiftyoneDegreesGetHttpHeaderCount
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/trie/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "fiftyoneDegreesGetHttpHeaderCount(\n\tfiftyoneDegreesDataSet *dataSet)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataSet
    - httpHeaderIndex
    argTypes:
    - fiftyoneDegreesDataSet*
    - int
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: fiftyoneDegreesGetHttpHeaderNameOffset
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/trie/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "fiftyoneDegreesGetHttpHeaderNameOffset(\n\tfiftyoneDegreesDataSet
      *dataSet,\n\tint httpHeaderIndex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataSet
    - httpHeaderIndex
    argTypes:
    - fiftyoneDegreesDataSet*
    - int
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: fiftyoneDegreesGetHttpHeaderNamePointer
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/trie/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "* fiftyoneDegreesGetHttpHeaderNamePointer(\n\tfiftyoneDegreesDataSet
      *dataSet,\n\tint httpHeaderIndex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fileName
    - dataSet
    - properties
    - propertyCount
    argTypes:
    - char*
    - fiftyoneDegreesDataSet*
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: fiftyoneDegreesInitWithPropertyArray
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/trie/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: fiftyoneDegreesDataSetInitStatus
    signature: "fiftyoneDegreesInitWithPropertyArray(\n\tconst char* fileName,\n\tfiftyoneDegreesDataSet
      *dataSet,\n\tconst char** properties,\n\tint propertyCount)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataSet
    argTypes:
    - fiftyoneDegreesDataSet*
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: fiftyoneDegreesDataSetFree
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/trie/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fiftyoneDegreesDataSetFree(fiftyoneDegreesDataSet *dataSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ws
    argTypes:
    - fiftyoneDegreesWorkset*
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: fiftyoneDegreesGetSignatureRank
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: fiftyoneDegreesGetSignatureRank(fiftyoneDegreesWorkset *ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataSet
    - property
    argTypes:
    - fiftyoneDegreesDataSet*
    - fiftyoneDegreesProperty*
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: fiftyoneDegreesGetPropertyName
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "* fiftyoneDegreesGetPropertyName(\n\tconst fiftyoneDegreesDataSet
      *dataSet,\n\tconst fiftyoneDegreesProperty *property)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ws
    - requiredPropertyIndex
    argTypes:
    - fiftyoneDegreesWorkset*
    - int32_t
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: fiftyoneDegreesSetValues
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "fiftyoneDegreesSetValues(\n\tfiftyoneDegreesWorkset *ws,\n\tint32_t
      requiredPropertyIndex)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataSet
    - value
    argTypes:
    - fiftyoneDegreesDataSet*
    - fiftyoneDegreesValue*
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: fiftyoneDegreesGetValueName
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "* fiftyoneDegreesGetValueName(\n\tconst fiftyoneDegreesDataSet *dataSet,\n\tconst
      fiftyoneDegreesValue *value)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - fiftyoneDegreesWorksetPool*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: fiftyoneDegreesWorksetPoolGet
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: fiftyoneDegreesWorkset
    signature: "*fiftyoneDegreesWorksetPoolGet(\n\tfiftyoneDegreesWorksetPool *pool)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pool
    - ws
    argTypes:
    - fiftyoneDegreesWorksetPool*
    - fiftyoneDegreesWorkset*
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: fiftyoneDegreesWorksetPoolRelease
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "fiftyoneDegreesWorksetPoolRelease(\n    fiftyoneDegreesWorksetPool
      *pool,\n    fiftyoneDegreesWorkset *ws)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ws
    argTypes:
    - fiftyoneDegreesWorkset*
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: fiftyoneDegreesMatchForHttpHeaders
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fiftyoneDegreesMatchForHttpHeaders(fiftyoneDegreesWorkset *ws)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ws
    - userAgent
    argTypes:
    - fiftyoneDegreesWorkset*
    - char*
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: fiftyoneDegreesMatch
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "fiftyoneDegreesMatch(\n\tfiftyoneDegreesWorkset *ws,\n\tconst char*
      userAgent)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fileName
    - dataSet
    - properties
    - count
    argTypes:
    - char*
    - fiftyoneDegreesDataSet*
    - char**
    - int32_t
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: fiftyoneDegreesInitWithPropertyArray
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: fiftyoneDegreesDataSetInitStatus
    signature: "fiftyoneDegreesInitWithPropertyArray(\n\tconst char *fileName,\n\tfiftyoneDegreesDataSet
      *dataSet,\n\tconst char** properties,\n\tint32_t count)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dataSet
    - cache
    - size
    argTypes:
    - fiftyoneDegreesDataSet*
    - fiftyoneDegreesResultsetCache*
    - int32_t
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: fiftyoneDegreesWorksetPoolCreate
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: fiftyoneDegreesWorksetPool
    signature: "*fiftyoneDegreesWorksetPoolCreate(\n\tfiftyoneDegreesDataSet *dataSet,\n\tfiftyoneDegreesResultsetCache
      *cache,\n\tint32_t size)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pool
    argTypes:
    - fiftyoneDegreesWorksetPool*
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: fiftyoneDegreesWorksetPoolFree
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "fiftyoneDegreesWorksetPoolFree(\n\tconst fiftyoneDegreesWorksetPool
      *pool)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dataSet
    argTypes:
    - fiftyoneDegreesDataSet*
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: fiftyoneDegreesDataSetFree
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fiftyoneDegreesDataSetFree(const fiftyoneDegreesDataSet *dataSet)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dataSet
    - offset
    argTypes:
    - fiftyoneDegreesDataSet*
    - int32_t
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: fiftyoneDegreesGetString
    functionSourceFile: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: fiftyoneDegreesAsciiString
    signature: "* fiftyoneDegreesGetString(\n\tconst fiftyoneDegreesDataSet *dataSet,\n\tint32_t
      offset)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/haproxy/admin/iprange/ip6range.c:31,1
    - Dst: ntohl
      Src: /src/haproxy/admin/iprange/ip6range.c:32,1
    - Dst: ntohl
      Src: /src/haproxy/admin/iprange/ip6range.c:33,1
    - Dst: ntohl
      Src: /src/haproxy/admin/iprange/ip6range.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: in6_bswap
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 0
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: void
    signature: in6_bswap(struct in6_addr *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/haproxy/admin/iprange/ip6range.c:43,1
    - Dst: in6_bswap
      Src: /src/haproxy/admin/iprange/ip6range.c:44,1
    - Dst: inet_ntop
      Src: /src/haproxy/admin/iprange/ip6range.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: get_ipv6_addr
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 0
    functionsReached:
    - in6_bswap
    - memcpy
    - inet_ntop
    linkageType: ''
    returnType: char
    signature: '*get_ipv6_addr(struct in6_addr *addr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/haproxy/admin/iprange/ip6range.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: get_addr
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: '*get_addr(struct in6_addr *addr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct in6_addr*
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: a_le_b
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: a_le_b(struct in6_addr *a, struct in6_addr *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct in6_addr*
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: a_eq_b
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: a_eq_b(struct in6_addr *a, struct in6_addr *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct in6_addr*
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: a_gt_b
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: a_gt_b(struct in6_addr *a, struct in6_addr *b)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - b
    - r
    argTypes:
    - unsigned int
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 132
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 132
    functionName: hmask
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct in6_addr
    signature: '*hmask(unsigned int b, struct in6_addr *r)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - b
    - r
    argTypes:
    - unsigned int
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 168
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 168
    functionName: one_ls_b
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct in6_addr
    signature: '*one_ls_b(unsigned int b, struct in6_addr *r)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - struct in6_addr*
    - struct in6_addr*
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: a_plus_b
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct in6_addr
    signature: '*a_plus_b(struct in6_addr *a, struct in6_addr *b, struct in6_addr
      *r)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: a_gt_b
      Src: /src/haproxy/admin/iprange/ip6range.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - struct in6_addr*
    - struct in6_addr*
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 213
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 213
    functionName: a_minus_b
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 0
    functionsReached:
    - a_gt_b
    linkageType: ''
    returnType: struct in6_addr
    signature: '*a_minus_b(struct in6_addr *a, struct in6_addr *b, struct in6_addr
      *r)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - r
    argTypes:
    - struct in6_addr*
    - struct in6_addr*
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 223
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 223
    functionName: a_and_b
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct in6_addr
    signature: '*a_and_b(struct in6_addr *a, struct in6_addr *b, struct in6_addr *r)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - struct in6_addr*
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: is_set
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: is_set(struct in6_addr *a)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: a_eq_b
      Src: /src/haproxy/admin/iprange/ip6range.c:246,1
    - Dst: printf
      Src: /src/haproxy/admin/iprange/ip6range.c:248,1
    - Dst: get_ipv6_addr
      Src: /src/haproxy/admin/iprange/ip6range.c:248,1
    - Dst: a_gt_b
      Src: /src/haproxy/admin/iprange/ip6range.c:251,1
    - Dst: a_eq_b
      Src: /src/haproxy/admin/iprange/ip6range.c:257,1
    - Dst: a_plus_b
      Src: /src/haproxy/admin/iprange/ip6range.c:257,1
    - Dst: printf
      Src: /src/haproxy/admin/iprange/ip6range.c:259,1
    - Dst: a_le_b
      Src: /src/haproxy/admin/iprange/ip6range.c:265,1
    - Dst: a_plus_b
      Src: /src/haproxy/admin/iprange/ip6range.c:265,1
    - Dst: hmask
      Src: /src/haproxy/admin/iprange/ip6range.c:265,1
    - Dst: is_set
      Src: /src/haproxy/admin/iprange/ip6range.c:268,1
    - Dst: a_and_b
      Src: /src/haproxy/admin/iprange/ip6range.c:268,1
    - Dst: one_ls_b
      Src: /src/haproxy/admin/iprange/ip6range.c:268,1
    - Dst: printf
      Src: /src/haproxy/admin/iprange/ip6range.c:270,1
    - Dst: get_ipv6_addr
      Src: /src/haproxy/admin/iprange/ip6range.c:270,1
    - Dst: a_plus_b
      Src: /src/haproxy/admin/iprange/ip6range.c:271,1
    - Dst: one_ls_b
      Src: /src/haproxy/admin/iprange/ip6range.c:271,1
    - Dst: is_set
      Src: /src/haproxy/admin/iprange/ip6range.c:282,1
    - Dst: a_plus_b
      Src: /src/haproxy/admin/iprange/ip6range.c:282,1
    - Dst: a_minus_b
      Src: /src/haproxy/admin/iprange/ip6range.c:282,1
    - Dst: is_set
      Src: /src/haproxy/admin/iprange/ip6range.c:285,1
    - Dst: a_and_b
      Src: /src/haproxy/admin/iprange/ip6range.c:285,1
    - Dst: a_plus_b
      Src: /src/haproxy/admin/iprange/ip6range.c:285,1
    - Dst: a_minus_b
      Src: /src/haproxy/admin/iprange/ip6range.c:285,1
    - Dst: one_ls_b
      Src: /src/haproxy/admin/iprange/ip6range.c:285,1
    - Dst: printf
      Src: /src/haproxy/admin/iprange/ip6range.c:288,1
    - Dst: get_ipv6_addr
      Src: /src/haproxy/admin/iprange/ip6range.c:288,1
    - Dst: a_plus_b
      Src: /src/haproxy/admin/iprange/ip6range.c:289,1
    - Dst: one_ls_b
      Src: /src/haproxy/admin/iprange/ip6range.c:289,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - low
    - high
    - eol
    - pfx
    argTypes:
    - struct in6_addr*
    - struct in6_addr*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 297
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 297
    functionName: convert_range
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 0
    functionsReached:
    - a_gt_b
    - is_set
    - a_eq_b
    - a_and_b
    - a_plus_b
    - printf
    - hmask
    - a_le_b
    - one_ls_b
    - get_ipv6_addr
    - a_minus_b
    linkageType: ''
    returnType: void
    signature: convert_range(struct in6_addr *low, struct in6_addr *high, const char
      *eol, const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/admin/iprange/ip6range.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 315
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 315
    functionName: usage
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 9
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: usage(const char *argv0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/haproxy/admin/iprange/ip6range.c:325,1
    - Dst: exit
      Src: /src/haproxy/admin/iprange/ip6range.c:326,1
    - Dst: fgets
      Src: /src/haproxy/admin/iprange/ip6range.c:330,1
    - Dst: strlen
      Src: /src/haproxy/admin/iprange/ip6range.c:331,1
    - Dst: inet_pton
      Src: /src/haproxy/admin/iprange/ip6range.c:370,1
    - Dst: fprintf
      Src: /src/haproxy/admin/iprange/ip6range.c:371,1
    - Dst: inet_pton
      Src: /src/haproxy/admin/iprange/ip6range.c:375,1
    - Dst: fprintf
      Src: /src/haproxy/admin/iprange/ip6range.c:376,1
    - Dst: in6_bswap
      Src: /src/haproxy/admin/iprange/ip6range.c:380,1
    - Dst: in6_bswap
      Src: /src/haproxy/admin/iprange/ip6range.c:381,1
    - Dst: inet_pton
      Src: /src/haproxy/admin/iprange/ip6range.c:385,1
    - Dst: in6_bswap
      Src: /src/haproxy/admin/iprange/ip6range.c:387,1
    - Dst: a_le_b
      Src: /src/haproxy/admin/iprange/ip6range.c:388,1
    - Dst: a_le_b
      Src: /src/haproxy/admin/iprange/ip6range.c:388,1
    - Dst: a_le_b
      Src: /src/haproxy/admin/iprange/ip6range.c:388,1
    - Dst: a_le_b
      Src: /src/haproxy/admin/iprange/ip6range.c:388,1
    - Dst: convert_range
      Src: /src/haproxy/admin/iprange/ip6range.c:389,1
    - Dst: convert_range
      Src: /src/haproxy/admin/iprange/ip6range.c:393,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 58
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 397
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 397
    functionName: main
    functionSourceFile: /src/haproxy/admin/iprange/ip6range.c
    functionUses: 25
    functionsReached:
    - strlen
    - in6_bswap
    - usage
    - convert_range
    - a_le_b
    - fprintf
    - inet_pton
    - exit
    - fgets
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/haproxy/admin/iprange/iprange.c:34,1
    - Dst: inet_ntoa
      Src: /src/haproxy/admin/iprange/iprange.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: get_ipv4_addr
    functionSourceFile: /src/haproxy/admin/iprange/iprange.c
    functionUses: 0
    functionsReached:
    - inet_ntoa
    - ntohl
    linkageType: ''
    returnType: char
    signature: '*get_ipv4_addr(unsigned int addr)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/haproxy/admin/iprange/iprange.c:47,1
    - Dst: get_ipv4_addr
      Src: /src/haproxy/admin/iprange/iprange.c:47,1
    - Dst: printf
      Src: /src/haproxy/admin/iprange/iprange.c:58,1
    - Dst: printf
      Src: /src/haproxy/admin/iprange/iprange.c:68,1
    - Dst: get_ipv4_addr
      Src: /src/haproxy/admin/iprange/iprange.c:68,1
    - Dst: printf
      Src: /src/haproxy/admin/iprange/iprange.c:85,1
    - Dst: get_ipv4_addr
      Src: /src/haproxy/admin/iprange/iprange.c:85,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - low
    - high
    - eol
    - pfx
    argTypes:
    - unsigned int
    - unsigned int
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 94
    functionName: convert_range
    functionSourceFile: /src/haproxy/admin/iprange/iprange.c
    functionUses: 1
    functionsReached:
    - printf
    - get_ipv4_addr
    linkageType: ''
    returnType: void
    signature: convert_range(unsigned int low, unsigned int high, const char *eol,
      const char *pfx)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/admin/iprange/iprange.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - argv0
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: usage
    functionSourceFile: /src/haproxy/admin/iprange/iprange.c
    functionUses: 10
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: usage(const char *argv0)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/haproxy/admin/iprange/iprange.c:123,1
    - Dst: exit
      Src: /src/haproxy/admin/iprange/iprange.c:124,1
    - Dst: fgets
      Src: /src/haproxy/admin/iprange/iprange.c:128,1
    - Dst: strlen
      Src: /src/haproxy/admin/iprange/iprange.c:129,1
    - Dst: inet_pton
      Src: /src/haproxy/admin/iprange/iprange.c:168,1
    - Dst: ntohl
      Src: /src/haproxy/admin/iprange/iprange.c:170,1
    - Dst: strtoul
      Src: /src/haproxy/admin/iprange/iprange.c:170,1
    - Dst: fprintf
      Src: /src/haproxy/admin/iprange/iprange.c:172,1
    - Dst: inet_pton
      Src: /src/haproxy/admin/iprange/iprange.c:177,1
    - Dst: ntohl
      Src: /src/haproxy/admin/iprange/iprange.c:179,1
    - Dst: strtoul
      Src: /src/haproxy/admin/iprange/iprange.c:179,1
    - Dst: fprintf
      Src: /src/haproxy/admin/iprange/iprange.c:181,1
    - Dst: htonl
      Src: /src/haproxy/admin/iprange/iprange.c:186,1
    - Dst: htonl
      Src: /src/haproxy/admin/iprange/iprange.c:187,1
    - Dst: inet_pton
      Src: /src/haproxy/admin/iprange/iprange.c:190,1
    - Dst: htonl
      Src: /src/haproxy/admin/iprange/iprange.c:192,1
    - Dst: convert_range
      Src: /src/haproxy/admin/iprange/iprange.c:194,1
    - Dst: convert_range
      Src: /src/haproxy/admin/iprange/iprange.c:198,1
    - Dst: exit
      Src: /src/haproxy/admin/iprange/iprange.c:201,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 202
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 202
    functionName: main
    functionSourceFile: /src/haproxy/admin/iprange/iprange.c
    functionUses: 25
    functionsReached:
    - strlen
    - strtoul
    - usage
    - htonl
    - convert_range
    - fprintf
    - ntohl
    - inet_pton
    - exit
    - fgets
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: format
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:82,1
    - Dst: va_start
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:90,1
    - Dst: vfprintf
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:91,1
    - Dst: va_end
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:92,1
    - Dst: fprintf
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:100,1
    - Dst: fprintf
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:101,1
    - Dst: isalnum
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:102,1
    - Dst: fprintf
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:110,1
    - Dst: fprintf
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - buflen
    - title_fmt
    argTypes:
    - unsigned char*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 117
    functionName: hexdump
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 10
    functionsReached:
    - va_end
    - format
    - vfprintf
    - fprintf
    - isalnum
    - va_start
    linkageType: ''
    returnType: void
    signature: hexdump(const unsigned char *buf, size_t buflen, const char *title_fmt,
      ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tvb_memcpy
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:122,1
    - Dst: hexdump
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:123,1
    - Dst: fprintf
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tvb
    - offset
    - len
    argTypes:
    - tvbuff_t*
    - gint
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: hexdump_tvb
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - hexdump
    - tvb_memcpy
    - fprintf
    linkageType: ''
    returnType: void
    signature: hexdump_tvb(tvbuff_t *tvb, const gint offset, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - guint8
    constantsTouched: []
    func_position:
      end: 513
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 513
    functionName: control_class_index_from_byte
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: control_class_index_from_byte(guint8 c)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: control_class_index_from_byte
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - guint8
    constantsTouched: []
    func_position:
      end: 524
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 524
    functionName: class_str_from_byte
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - control_class_index_from_byte
    linkageType: ''
    returnType: char
    signature: '*class_str_from_byte(guint8 c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - c
    argTypes:
    - guint8
    constantsTouched: []
    func_position:
      end: 542
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 542
    functionName: control_msg_type_str_from_byte
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*control_msg_type_str_from_byte(guint8 c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - c
    argTypes:
    - guint8
    constantsTouched: []
    func_position:
      end: 564
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 564
    functionName: stkt_msg_type_str_from_byte
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*stkt_msg_type_str_from_byte(guint8 c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - guint8
    constantsTouched: []
    func_position:
      end: 576
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 576
    functionName: error_msg_type_str_from_byte
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*error_msg_type_str_from_byte(guint8 c)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - unsigned char**
    - size_t
    constantsTouched: []
    func_position:
      end: 601
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 601
    functionName: intdecode
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: intdecode(unsigned char **str, size_t len)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tvb_find_line_end
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:611,1
    - Dst: strlen
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:616,1
    - Dst: tvb_get_ptr
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:618,1
    - Dst: tvb_strncaseeql
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:624,1
    - Dst: col_set_str
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:626,1
    - Dst: get_token_len
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:628,1
    - Dst: proto_tree_add_item
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:629,1
    - Dst: tvb_find_line_end
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:634,1
    - Dst: tvb_get_ptr
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:639,1
    - Dst: get_token_len
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:642,1
    - Dst: proto_tree_add_item
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:646,1
    - Dst: tvb_find_line_end
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:651,1
    - Dst: tvb_get_ptr
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:656,1
    - Dst: get_token_len
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:659,1
    - Dst: proto_tree_add_item
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:663,1
    - Dst: get_token_len
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:669,1
    - Dst: proto_tree_add_item
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:673,1
    - Dst: get_token_len
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:679,1
    - Dst: proto_tree_add_item
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:683,1
    - Dst: col_set_str
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:690,1
    - Dst: get_token_len
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:691,1
    - Dst: proto_tree_add_item
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:695,1
    - Dst: tvb_captured_length
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:699,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 3
    argNames:
    - tvb
    - pinfo
    - happp_tree
    argTypes:
    - tvbuff_t*
    - packet_info*
    - proto_tree*
    constantsTouched: []
    func_position:
      end: 700
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 700
    functionName: dissect_happp_handshake_pdu
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - tvb_get_ptr
    - strlen
    - tvb_strncaseeql
    - tvb_captured_length
    - get_token_len
    - col_set_str
    - tvb_find_line_end
    - proto_tree_add_item
    linkageType: ''
    returnType: int
    signature: "dissect_happp_handshake_pdu(tvbuff_t *tvb, packet_info *pinfo,\n                                       proto_tree
      *happp_tree)"
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - class_def_array
    - size
    argTypes:
    - struct class_def_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 709
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 709
    functionName: init_class_def_tab
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: init_class_def_tab(struct class_def_t *class_def_array, size_t size)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: col_append_fstr
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pinfo
    - class_index
    - first_class
    argTypes:
    - packet_info*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 726
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 726
    functionName: col_info_append_class
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - col_append_fstr
    linkageType: ''
    returnType: void
    signature: "col_info_append_class(packet_info *pinfo, int class_index,\n                                         int
      *first_class)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tvb_memcpy
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:737,1
    - Dst: intdecode
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - tvb
    - dec_val
    - offset
    - total
    argTypes:
    - tvbuff_t*
    - uint64_t*
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 748
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 748
    functionName: intdecode_from_tvbuff
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - tvb_memcpy
    - intdecode
    linkageType: ''
    returnType: int
    signature: "intdecode_from_tvbuff(tvbuff_t *tvb, uint64_t *dec_val,\n                                 guint
      *offset, guint total)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: intdecode_from_tvbuff
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:758,1
    - Dst: proto_tree_add_uint64_format_value
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - field_id
    - tree
    - tvb
    - offset
    - total
    - val
    argTypes:
    - int
    - proto_tree*
    - tvbuff_t*
    - guint*
    - guint
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 769
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 769
    functionName: add_enc_field_to_happp_tree
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - intdecode_from_tvbuff
    - proto_tree_add_uint64_format_value
    linkageType: ''
    returnType: int
    signature: "add_enc_field_to_happp_tree(int field_id, proto_tree *tree, tvbuff_t
      *tvb,\n                                       guint *offset, guint total, uint64_t
      *val)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tvb_memcpy
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:777,1
    - Dst: ntohl
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:780,1
    - Dst: proto_tree_add_int_format_value
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - field_id
    - tvb
    - tree
    - offset
    - total
    argTypes:
    - int
    - tvbuff_t*
    - proto_tree*
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 786
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 786
    functionName: add_int_field_to_happp_tree
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - tvb_memcpy
    - proto_tree_add_int_format_value
    - ntohl
    linkageType: ''
    returnType: int
    signature: "add_int_field_to_happp_tree(int field_id,\n                                       tvbuff_t
      *tvb, proto_tree *tree,\n                                       guint *offset,
      guint total _U_)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_enc_field_to_happp_tree
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:798,1
    - Dst: add_enc_field_to_happp_tree
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:800,1
    - Dst: proto_tree_add_item
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:805,1
    - Dst: add_enc_field_to_happp_tree
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:809,1
    - Dst: add_enc_field_to_happp_tree
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:811,1
    - Dst: add_enc_field_to_happp_tree
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:813,1
    - Dst: find_conversation
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:817,1
    - Dst: wmem_alloc
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:826,1
    - Dst: wmem_file_scope
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:826,1
    - Dst: conversation_add_proto_data
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:835,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - tvb
    - pinfo
    - tree
    - offset
    - total
    argTypes:
    - tvbuff_t*
    - packet_info*
    - proto_tree*
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 836
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 836
    functionName: dissect_happp_stkt_define_msg
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - add_enc_field_to_happp_tree
    - wmem_alloc
    - find_conversation
    - wmem_file_scope
    - conversation_add_proto_data
    - proto_tree_add_item
    linkageType: ''
    returnType: void
    signature: "dissect_happp_stkt_define_msg(tvbuff_t *tvb, packet_info *pinfo _U_,\n
      \                                         proto_tree *tree, guint offset, guint
      total)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_conversation
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:849,1
    - Dst: conversation_get_proto_data
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:854,1
    - Dst: add_int_field_to_happp_tree
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:864,1
    - Dst: add_int_field_to_happp_tree
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:869,1
    - Dst: add_enc_field_to_happp_tree
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:879,1
    - Dst: proto_tree_add_item
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:883,1
    - Dst: add_int_field_to_happp_tree
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:888,1
    - Dst: proto_tree_add_ipv4
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:894,1
    - Dst: tvb_get_ipv4
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:895,1
    - Dst: proto_tree_add_item
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:899,1
    - Dst: add_enc_field_to_happp_tree
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:918,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 6
    argNames:
    - tvb
    - pinfo
    - tree
    - offset
    - total
    - msg_type_byte
    argTypes:
    - tvbuff_t*
    - packet_info*
    - proto_tree*
    - guint
    - guint
    - unsigned  char
    constantsTouched: []
    func_position:
      end: 922
      start: 838
    functionDepth: 2
    functionLinenumber: 838
    functionLinenumberEnd: 922
    functionName: dissect_happp_stkt_update_msg
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - add_enc_field_to_happp_tree
    - tvb_get_ipv4
    - add_int_field_to_happp_tree
    - find_conversation
    - conversation_get_proto_data
    - proto_tree_add_item
    - proto_tree_add_ipv4
    linkageType: ''
    returnType: void
    signature: "dissect_happp_stkt_update_msg(tvbuff_t *tvb, packet_info *pinfo _U_,\n
      \                                         proto_tree *tree, guint offset, guint
      total,\n                                          unsigned  char msg_type_byte)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: add_enc_field_to_happp_tree
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:927,1
    - Dst: add_int_field_to_happp_tree
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - tvb
    - pinfo
    - tree
    - offset
    - total
    argTypes:
    - tvbuff_t*
    - packet_info*
    - proto_tree*
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 934
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 934
    functionName: dissect_happp_stkt_ack_msg
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - add_enc_field_to_happp_tree
    - add_int_field_to_happp_tree
    linkageType: ''
    returnType: void
    signature: "dissect_happp_stkt_ack_msg(tvbuff_t *tvb, packet_info *pinfo _U_,\n
      \                                         proto_tree *tree, guint offset, guint
      total)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: dissect_happp_stkt_define_msg
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:942,1
    - Dst: dissect_happp_stkt_update_msg
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:948,1
    - Dst: dissect_happp_stkt_ack_msg
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - tvb
    - _U_
    - tree
    - msg_type_byte
    - offset
    - total
    argTypes:
    - tvbuff_t*
    - packet_info*
    - proto_tree*
    - guint8
    - guint
    - guint
    constantsTouched: []
    func_position:
      end: 955
      start: 936
    functionDepth: 3
    functionLinenumber: 936
    functionLinenumberEnd: 955
    functionName: dissect_happp_stk_msg
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - dissect_happp_stkt_ack_msg
    - dissect_happp_stkt_update_msg
    - dissect_happp_stkt_define_msg
    linkageType: ''
    returnType: void
    signature: "dissect_happp_stk_msg(tvbuff_t *tvb, packet_info *pinfo _U_,\n                                  proto_tree
      *tree, guint8 msg_type_byte,\n                                  guint offset,
      guint total)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tvb_memcpy
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:968,1
    - Dst: intdecode
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:972,1
    - Dst: proto_tree_add_uint64_format_value
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:977,1
    - Dst: dissect_happp_stk_msg
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:984,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - tvb
    - pinfo
    - tree
    - msg_class_byte
    - msg_type_byte
    - offset
    - total
    argTypes:
    - tvbuff_t*
    - packet_info*
    - proto_tree*
    - guint8
    - guint8
    - guint*
    - guint
    constantsTouched: []
    func_position:
      end: 989
      start: 957
    functionDepth: 4
    functionLinenumber: 957
    functionLinenumberEnd: 989
    functionName: dissect_happp_msg
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - dissect_happp_stk_msg
    - tvb_memcpy
    - proto_tree_add_uint64_format_value
    - intdecode
    linkageType: ''
    returnType: void
    signature: "dissect_happp_msg(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree
      *tree,\n                  guint8 msg_class_byte, guint8 msg_type_byte,\n                  guint
      *offset, guint total)"
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tvb_reported_length
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1006,1
    - Dst: proto_tree_add_item
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1009,1
    - Dst: proto_item_add_subtree
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1010,1
    - Dst: col_set_str
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1013,1
    - Dst: tvb_get_guint8
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1015,1
    - Dst: dissect_happp_handshake_pdu
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1020,1
    - Dst: init_class_def_tab
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1024,1
    - Dst: col_set_str
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1027,1
    - Dst: tvb_get_guint8
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1037,1
    - Dst: control_class_index_from_byte
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1039,1
    - Dst: proto_tree_add_item
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1053,1
    - Dst: proto_tree_add_uint_format_value
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1056,1
    - Dst: class_str_from_byte
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1059,1
    - Dst: tvb_get_guint8
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1060,1
    - Dst: proto_tree_add_uint_format_value
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1068,1
    - Dst: msg_type_str_func
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1071,1
    - Dst: col_append_str
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1074,1
    - Dst: dissect_happp_msg
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1078,1
    - Dst: col_info_append_class
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1088,1
    - Dst: col_info_append_class
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1089,1
    - Dst: col_info_append_class
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1094,1
    - Dst: col_append_str
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1097,1
    - Dst: tvb_captured_length
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1099,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 4
    argNames:
    - tvb
    - pinfo
    - tree
    - data
    argTypes:
    - tvbuff_t*
    - packet_info*
    - proto_tree*
    - void*
    constantsTouched: []
    func_position:
      end: 1100
      start: 992
    functionDepth: 5
    functionLinenumber: 992
    functionLinenumberEnd: 1100
    functionName: dissect_happp_pdu
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - init_class_def_tab
    - msg_type_str_func
    - tvb_get_guint8
    - proto_tree_add_uint_format_value
    - dissect_happp_handshake_pdu
    - col_info_append_class
    - control_class_index_from_byte
    - col_append_str
    - tvb_captured_length
    - col_set_str
    - tvb_reported_length
    - proto_item_add_subtree
    - dissect_happp_msg
    - proto_tree_add_item
    - class_str_from_byte
    linkageType: ''
    returnType: int
    signature: dissect_happp_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
      void *data _U_)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: tcp_dissect_pdus
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1158,1
    - Dst: tvb_captured_length
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - tvb
    - pinfo
    - tree
    - data
    argTypes:
    - tvbuff_t*
    - packet_info*
    - proto_tree*
    - void*
    constantsTouched: []
    func_position:
      end: 1162
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1162
    functionName: dissect_happp_tcp
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - tvb_captured_length
    - tcp_dissect_pdus
    linkageType: ''
    returnType: int
    signature: dissect_happp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
      void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proto_register_protocol
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1612,1
    - Dst: proto_register_field_array
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1615,1
    - Dst: array_length
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1615,1
    - Dst: proto_register_subtree_array
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1616,1
    - Dst: array_length
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1617
    functionName: proto_register_happp
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - proto_register_protocol
    - proto_register_field_array
    - proto_register_subtree_array
    - array_length
    linkageType: ''
    returnType: void
    signature: proto_register_happp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1625,1
    - Dst: tvb_captured_length
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1627,1
    - Dst: tvb_get_guint8
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1630,1
    - Dst: tvb_get_guint8
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1631,1
    - Dst: tvb_get_guint8
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1632,1
    - Dst: tvb_captured_length
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1635,1
    - Dst: tvb_strneql
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1641,1
    - Dst: tvb_get_guint8
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1642,1
    - Dst: find_or_create_conversation
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1646,1
    - Dst: conversation_set_dissector
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1650,1
    - Dst: dissect_happp_tcp
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1651,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - tvb
    - pinfo
    - tree
    - data
    argTypes:
    - tvbuff_t*
    - packet_info*
    - proto_tree*
    - void*
    constantsTouched: []
    func_position:
      end: 1654
      start: 1619
    functionDepth: 1
    functionLinenumber: 1619
    functionLinenumberEnd: 1654
    functionName: dissect_happp_heur_tcp
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - find_or_create_conversation
    - strlen
    - tvb_get_guint8
    - conversation_set_dissector
    - tvb_captured_length
    - tvb_strneql
    - dissect_happp_tcp
    linkageType: ''
    returnType: gboolean
    signature: dissect_happp_heur_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree
      *tree, void *data)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: create_dissector_handle
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1665,1
    - Dst: heur_dissector_add
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1668
    functionName: proto_reg_handoff_happp
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - create_dissector_handle
    - heur_dissector_add
    linkageType: ''
    returnType: void
    signature: proto_reg_handoff_happp(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: proto_register_plugin
      Src: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c:1678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1679
    functionName: plugin_register
    functionSourceFile: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
    functionUses: 0
    functionsReached:
    - proto_register_plugin
    linkageType: ''
    returnType: void
    signature: plugin_register(void)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 77
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 77
    functionName: has_zero32
    functionSourceFile: /src/haproxy/admin/halog/fgets2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: has_zero32(unsigned int x)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: has_zero64
    functionSourceFile: /src/haproxy/admin/halog/fgets2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned long long
    signature: has_zero64(unsigned long long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_zero64
      Src: /src/haproxy/admin/halog/fgets2.c:91,1
    - Dst: has_zero32
      Src: /src/haproxy/admin/halog/fgets2.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: has_zero
    functionSourceFile: /src/haproxy/admin/halog/fgets2.c
    functionUses: 0
    functionsReached:
    - has_zero64
    - has_zero32
    linkageType: ''
    returnType: unsigned long
    signature: has_zero(unsigned long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/haproxy/admin/halog/fgets2.c:103,1
    - Dst: has_zero32
      Src: /src/haproxy/admin/halog/fgets2.c:119,1
    - Dst: has_zero32
      Src: /src/haproxy/admin/halog/fgets2.c:122,1
    - Dst: has_zero32
      Src: /src/haproxy/admin/halog/fgets2.c:125,1
    - Dst: has_zero32
      Src: /src/haproxy/admin/halog/fgets2.c:128,1
    - Dst: has_zero32
      Src: /src/haproxy/admin/halog/fgets2.c:131,1
    - Dst: has_zero32
      Src: /src/haproxy/admin/halog/fgets2.c:134,1
    - Dst: has_zero32
      Src: /src/haproxy/admin/halog/fgets2.c:137,1
    - Dst: has_zero32
      Src: /src/haproxy/admin/halog/fgets2.c:140,1
    - Dst: has_zero32
      Src: /src/haproxy/admin/halog/fgets2.c:156,1
    - Dst: has_zero64
      Src: /src/haproxy/admin/halog/fgets2.c:162,1
    - Dst: has_zero64
      Src: /src/haproxy/admin/halog/fgets2.c:165,1
    - Dst: has_zero64
      Src: /src/haproxy/admin/halog/fgets2.c:168,1
    - Dst: has_zero64
      Src: /src/haproxy/admin/halog/fgets2.c:171,1
    - Dst: has_zero64
      Src: /src/haproxy/admin/halog/fgets2.c:174,1
    - Dst: has_zero64
      Src: /src/haproxy/admin/halog/fgets2.c:177,1
    - Dst: has_zero64
      Src: /src/haproxy/admin/halog/fgets2.c:180,1
    - Dst: has_zero64
      Src: /src/haproxy/admin/halog/fgets2.c:183,1
    - Dst: has_zero32
      Src: /src/haproxy/admin/halog/fgets2.c:189,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 75
    argCount: 2
    argNames:
    - next
    - end
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 203
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 203
    functionName: find_lf
    functionSourceFile: /src/haproxy/admin/halog/fgets2.c
    functionUses: 0
    functionsReached:
    - has_zero64
    - has_zero32
    - memchr
    linkageType: ''
    returnType: char
    signature: '*find_lf(char *next, char *end)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: find_lf
      Src: /src/haproxy/admin/halog/fgets2.c:216,1
    - Dst: memmove
      Src: /src/haproxy/admin/halog/fgets2.c:231,1
    - Dst: read
      Src: /src/haproxy/admin/halog/fgets2.c:240,1
    - Dst: fileno
      Src: /src/haproxy/admin/halog/fgets2.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 255
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 255
    functionName: fgets2
    functionSourceFile: /src/haproxy/admin/halog/fgets2.c
    functionUses: 0
    functionsReached:
    - find_lf
    - memmove
    - fileno
    - read
    linkageType: ''
    returnType: char
    signature: '*fgets2(FILE *stream)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fgets2
      Src: /src/haproxy/admin/halog/fgets2.c:262,1
    - Dst: printf
      Src: /src/haproxy/admin/halog/fgets2.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 266
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionName: main
    functionSourceFile: /src/haproxy/admin/halog/fgets2.c
    functionUses: 25
    functionsReached:
    - printf
    - fgets2
    linkageType: ''
    returnType: int
    signature: main()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/admin/halog/halog.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - output
    - msg
    argTypes:
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: usage
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 11
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: usage(FILE *output, const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/haproxy/admin/halog/halog.c:167,1
    - Dst: exit
      Src: /src/haproxy/admin/halog/halog.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: die
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 10
    functionsReached:
    - exit
    - usage
    linkageType: ''
    returnType: void
    signature: die(const char *msg)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/haproxy/admin/halog/halog.c:173,1
    - Dst: printf
      Src: /src/haproxy/admin/halog/halog.c:174,1
    - Dst: exit
      Src: /src/haproxy/admin/halog/halog.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 218
    functionName: help
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    - usage
    linkageType: ''
    returnType: void
    signature: help()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 246
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 246
    functionName: field_stop
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*field_stop(const char *p)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 260
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 260
    functionName: field_stop
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: '*field_stop(const char *p)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned long long
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: has_zero64
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned long long
    signature: has_zero64(unsigned long long x)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: has_zero64
      Src: /src/haproxy/admin/halog/halog.c:302,1
    - Dst: has_zero64
      Src: /src/haproxy/admin/halog/halog.c:304,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 2
    argNames:
    - p
    - field
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 370
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 370
    functionName: field_start
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - has_zero64
    linkageType: ''
    returnType: char
    signature: '*field_start(const char *p, int field)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fls_auto
      Src: /src/haproxy/admin/halog/halog.c:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - i
    - bits
    argTypes:
    - unsigned int
    - int
    constantsTouched: []
    func_position:
      end: 389
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 389
    functionName: quantify_u32
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - fls_auto
    linkageType: ''
    returnType: unsigned int
    signature: quantify_u32(unsigned int i, int bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: quantify_u32
      Src: /src/haproxy/admin/halog/halog.c:396,1
    - Dst: quantify_u32
      Src: /src/haproxy/admin/halog/halog.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i
    - bits
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 399
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 399
    functionName: quantify
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - quantify_u32
    linkageType: ''
    returnType: int
    signature: quantify(int i, int bits)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/admin/halog/halog.c:413,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:414,1
    - Dst: fprintf
      Src: /src/haproxy/admin/halog/halog.c:415,1
    - Dst: exit
      Src: /src/haproxy/admin/halog/halog.c:416,1
    - Dst: quantify
      Src: /src/haproxy/admin/halog/halog.c:419,1
    - Dst: eb32i_insert
      Src: /src/haproxy/admin/halog/halog.c:421,1
    - Dst: container_of
      Src: /src/haproxy/admin/halog/halog.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - alloc
    - v
    argTypes:
    - struct eb_root*
    - struct timer**
    - int
    constantsTouched: []
    func_position:
      end: 427
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 427
    functionName: insert_timer
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - container_of
    - calloc
    - quantify
    - fprintf
    - unlikely
    - exit
    - eb32i_insert
    linkageType: ''
    returnType: struct timer
    signature: '*insert_timer(struct eb_root *r, struct timer **alloc, int v)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/haproxy/admin/halog/halog.c:441,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:442,1
    - Dst: fprintf
      Src: /src/haproxy/admin/halog/halog.c:443,1
    - Dst: exit
      Src: /src/haproxy/admin/halog/halog.c:444,1
    - Dst: eb32i_insert
      Src: /src/haproxy/admin/halog/halog.c:449,1
    - Dst: container_of
      Src: /src/haproxy/admin/halog/halog.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - r
    - alloc
    - v
    argTypes:
    - struct eb_root*
    - struct timer**
    - int
    constantsTouched: []
    func_position:
      end: 455
      start: 435
    functionDepth: 3
    functionLinenumber: 435
    functionLinenumberEnd: 455
    functionName: insert_value
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - container_of
    - calloc
    - fprintf
    - unlikely
    - exit
    - eb32i_insert
    linkageType: ''
    returnType: struct timer
    signature: '*insert_value(struct eb_root *r, struct timer **alloc, int v)'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 484
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 484
    functionName: str2ic
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: str2ic(const char *s)
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 1
    argNames:
    - field
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 554
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 554
    functionName: convert_date
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: convert_date(const char *field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/haproxy/admin/halog/halog.c:679,1
    - Dst: time
      Src: /src/haproxy/admin/halog/halog.c:688,1
    - Dst: localtime
      Src: /src/haproxy/admin/halog/halog.c:689,1
    - Dst: mktime
      Src: /src/haproxy/admin/halog/halog.c:698,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 134
    argCount: 1
    argNames:
    - field
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 703
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 703
    functionName: convert_date_to_timestamp
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - localtime
    - time
    - likely
    - mktime
    linkageType: ''
    returnType: int
    signature: convert_date_to_timestamp(const char *field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/haproxy/admin/halog/halog.c:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - linenum
    - line
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 709
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 709
    functionName: truncated_line
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: truncated_line(int linenum, const char *line)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:736,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:737,1
    - Dst: atol
      Src: /src/haproxy/admin/halog/halog.c:740,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:742,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:743,1
    - Dst: atol
      Src: /src/haproxy/admin/halog/halog.c:746,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:748,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:749,1
    - Dst: atol
      Src: /src/haproxy/admin/halog/halog.c:752,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:754,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:755,1
    - Dst: atol
      Src: /src/haproxy/admin/halog/halog.c:758,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:760,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:761,1
    - Dst: atol
      Src: /src/haproxy/admin/halog/halog.c:763,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:765,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:766,1
    - Dst: atol
      Src: /src/haproxy/admin/halog/halog.c:768,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:770,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:772,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:774,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:776,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:778,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:780,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:782,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:784,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:786,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:788,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:790,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:792,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:794,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:796,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:798,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:799,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:804,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:805,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:810,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:810,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:813,1
    - Dst: strchr
      Src: /src/haproxy/admin/halog/halog.c:820,1
    - Dst: atol
      Src: /src/haproxy/admin/halog/halog.c:825,1
    - Dst: atol
      Src: /src/haproxy/admin/halog/halog.c:826,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:828,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:831,1
    - Dst: strchr
      Src: /src/haproxy/admin/halog/halog.c:836,1
    - Dst: atol
      Src: /src/haproxy/admin/halog/halog.c:837,1
    - Dst: atol
      Src: /src/haproxy/admin/halog/halog.c:841,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:843,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:845,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:847,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:849,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:851,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:853,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:855,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:857,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:859,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:861,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:863,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:865,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:868,1
    - Dst: strchr
      Src: /src/haproxy/admin/halog/halog.c:873,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:875,1
    - Dst: atol
      Src: /src/haproxy/admin/halog/halog.c:879,1
    - Dst: atol
      Src: /src/haproxy/admin/halog/halog.c:880,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:883,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:885,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:887,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:889,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:892,1
    - Dst: strcmp
      Src: /src/haproxy/admin/halog/halog.c:892,1
    - Dst: help
      Src: /src/haproxy/admin/halog/halog.c:893,1
    - Dst: die
      Src: /src/haproxy/admin/halog/halog.c:899,1
    - Dst: posix_fadvise
      Src: /src/haproxy/admin/halog/halog.c:933,1
    - Dst: fgets2
      Src: /src/haproxy/admin/halog/halog.c:941,1
    - Dst: fgets2
      Src: /src/haproxy/admin/halog/halog.c:947,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:959,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:960,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:963,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:965,1
    - Dst: convert_date_to_timestamp
      Src: /src/haproxy/admin/halog/halog.c:977,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:984,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:985,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:986,1
    - Dst: field_stop
      Src: /src/haproxy/admin/halog/halog.c:991,1
    - Dst: SEP
      Src: /src/haproxy/admin/halog/halog.c:995,1
    - Dst: SKIP_CHAR
      Src: /src/haproxy/admin/halog/halog.c:998,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1008,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1009,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1010,1
    - Dst: field_stop
      Src: /src/haproxy/admin/halog/halog.c:1015,1
    - Dst: SEP
      Src: /src/haproxy/admin/halog/halog.c:1020,1
    - Dst: str2ic
      Src: /src/haproxy/admin/halog/halog.c:1021,1
    - Dst: SKIP_CHAR
      Src: /src/haproxy/admin/halog/halog.c:1027,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1030,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1041,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1043,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1045,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1046,1
    - Dst: str2ic
      Src: /src/haproxy/admin/halog/halog.c:1050,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1061,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1063,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1065,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1066,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1090,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1092,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1094,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1095,1
    - Dst: filter_count_ip
      Src: /src/haproxy/admin/halog/halog.c:1111,1
    - Dst: filter_extract_capture
      Src: /src/haproxy/admin/halog/halog.c:1113,1
    - Dst: line_filter
      Src: /src/haproxy/admin/halog/halog.c:1115,1
    - Dst: free
      Src: /src/haproxy/admin/halog/halog.c:1131,1
    - Dst: printf
      Src: /src/haproxy/admin/halog/halog.c:1134,1
    - Dst: exit
      Src: /src/haproxy/admin/halog/halog.c:1135,1
    - Dst: eb32_first
      Src: /src/haproxy/admin/halog/halog.c:1142,1
    - Dst: container_of
      Src: /src/haproxy/admin/halog/halog.c:1149,1
    - Dst: printf
      Src: /src/haproxy/admin/halog/halog.c:1158,1
    - Dst: eb32_next
      Src: /src/haproxy/admin/halog/halog.c:1163,1
    - Dst: eb32_first
      Src: /src/haproxy/admin/halog/halog.c:1171,1
    - Dst: container_of
      Src: /src/haproxy/admin/halog/halog.c:1177,1
    - Dst: fls_auto
      Src: /src/haproxy/admin/halog/halog.c:1182,1
    - Dst: printf
      Src: /src/haproxy/admin/halog/halog.c:1190,1
    - Dst: eb32_next
      Src: /src/haproxy/admin/halog/halog.c:1192,1
    - Dst: eb32_first
      Src: /src/haproxy/admin/halog/halog.c:1209,1
    - Dst: container_of
      Src: /src/haproxy/admin/halog/halog.c:1210,1
    - Dst: printf
      Src: /src/haproxy/admin/halog/halog.c:1216,1
    - Dst: eb32_next
      Src: /src/haproxy/admin/halog/halog.c:1221,1
    - Dst: container_of
      Src: /src/haproxy/admin/halog/halog.c:1225,1
    - Dst: printf
      Src: /src/haproxy/admin/halog/halog.c:1229,1
    - Dst: putchar
      Src: /src/haproxy/admin/halog/halog.c:1231,1
    - Dst: eb32_first
      Src: /src/haproxy/admin/halog/halog.c:1242,1
    - Dst: container_of
      Src: /src/haproxy/admin/halog/halog.c:1244,1
    - Dst: printf
      Src: /src/haproxy/admin/halog/halog.c:1245,1
    - Dst: eb32_next
      Src: /src/haproxy/admin/halog/halog.c:1249,1
    - Dst: printf
      Src: /src/haproxy/admin/halog/halog.c:1256,1
    - Dst: ebmb_first
      Src: /src/haproxy/admin/halog/halog.c:1258,1
    - Dst: container_of
      Src: /src/haproxy/admin/halog/halog.c:1262,1
    - Dst: printf
      Src: /src/haproxy/admin/halog/halog.c:1268,1
    - Dst: ebmb_next
      Src: /src/haproxy/admin/halog/halog.c:1274,1
    - Dst: eb32_first
      Src: /src/haproxy/admin/halog/halog.c:1282,1
    - Dst: container_of
      Src: /src/haproxy/admin/halog/halog.c:1284,1
    - Dst: printf
      Src: /src/haproxy/admin/halog/halog.c:1285,1
    - Dst: eb32_next
      Src: /src/haproxy/admin/halog/halog.c:1289,1
    - Dst: eb_first
      Src: /src/haproxy/admin/halog/halog.c:1301,1
    - Dst: eb_next
      Src: /src/haproxy/admin/halog/halog.c:1302,1
    - Dst: eb_delete
      Src: /src/haproxy/admin/halog/halog.c:1303,1
    - Dst: container_of
      Src: /src/haproxy/admin/halog/halog.c:1305,1
    - Dst: eb64_insert
      Src: /src/haproxy/admin/halog/halog.c:1326,1
    - Dst: printf
      Src: /src/haproxy/admin/halog/halog.c:1333,1
    - Dst: printf
      Src: /src/haproxy/admin/halog/halog.c:1335,1
    - Dst: eb_last
      Src: /src/haproxy/admin/halog/halog.c:1338,1
    - Dst: container_of
      Src: /src/haproxy/admin/halog/halog.c:1340,1
    - Dst: printf
      Src: /src/haproxy/admin/halog/halog.c:1341,1
    - Dst: eb_prev
      Src: /src/haproxy/admin/halog/halog.c:1352,1
    - Dst: fprintf
      Src: /src/haproxy/admin/halog/halog.c:1361,1
    - Dst: exit
      Src: /src/haproxy/admin/halog/halog.c:1363,1
    CyclomaticComplexity: 202
    EdgeCount: 202
    ICount: 495
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1364
      start: 711
    functionDepth: 4
    functionLinenumber: 711
    functionLinenumberEnd: 1364
    functionName: main
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 25
    functionsReached:
    - field_start
    - eb64_insert
    - eb_prev
    - help
    - posix_fadvise
    - str2ic
    - eb32_next
    - SEP
    - ebmb_first
    - ebmb_next
    - eb_first
    - fprintf
    - putchar
    - convert_date_to_timestamp
    - eb_next
    - truncated_line
    - strcmp
    - SKIP_CHAR
    - die
    - free
    - atol
    - exit
    - printf
    - field_stop
    - strchr
    - eb_last
    - filter_count_ip
    - fls_auto
    - fgets2
    - line_filter
    - container_of
    - eb_delete
    - filter_extract_capture
    - eb32_first
    - unlikely
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/haproxy/admin/halog/halog.c:1368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - accept_field
    - time_field
    - tptr
    argTypes:
    - char*
    - char*
    - struct timer**
    constantsTouched: []
    func_position:
      end: 1370
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1370
    functionName: filter_output_line
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - puts
    linkageType: ''
    returnType: void
    signature: filter_output_line(const char *accept_field, const char *time_field,
      struct timer **tptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1377,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1379,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1388,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1391,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1392,1
    - Dst: puts
      Src: /src/haproxy/admin/halog/halog.c:1398,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1414,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1415,1
    - Dst: puts
      Src: /src/haproxy/admin/halog/halog.c:1420,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1435,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1436,1
    - Dst: fwrite
      Src: /src/haproxy/admin/halog/halog.c:1440,1
    - Dst: putchar
      Src: /src/haproxy/admin/halog/halog.c:1441,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 4
    argNames:
    - accept_field
    - time_field
    - block
    - field
    argTypes:
    - char*
    - char*
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1443
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1443
    functionName: filter_extract_capture
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 1
    functionsReached:
    - field_start
    - putchar
    - truncated_line
    - puts
    - unlikely
    - fwrite
    linkageType: ''
    returnType: void
    signature: filter_extract_capture(const char *accept_field, const char *time_field,
      unsigned int block, unsigned int field)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: convert_date
      Src: /src/haproxy/admin/halog/halog.c:1450,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1451,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1452,1
    - Dst: insert_value
      Src: /src/haproxy/admin/halog/halog.c:1456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - accept_field
    - time_field
    - tptr
    argTypes:
    - char*
    - char*
    - struct timer**
    constantsTouched: []
    func_position:
      end: 1459
      start: 1445
    functionDepth: 4
    functionLinenumber: 1445
    functionLinenumberEnd: 1459
    functionName: filter_accept_holes
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - truncated_line
    - insert_value
    - unlikely
    - convert_date
    linkageType: ''
    returnType: void
    signature: filter_accept_holes(const char *accept_field, const char *time_field,
      struct timer **tptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1468,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1470,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1472,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1473,1
    - Dst: str2ic
      Src: /src/haproxy/admin/halog/halog.c:1477,1
    - Dst: insert_value
      Src: /src/haproxy/admin/halog/halog.c:1479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - accept_field
    - time_field
    - tptr
    argTypes:
    - char*
    - char*
    - struct timer**
    constantsTouched: []
    func_position:
      end: 1481
      start: 1461
    functionDepth: 4
    functionLinenumber: 1461
    functionLinenumberEnd: 1481
    functionName: filter_count_status
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - field_start
    - truncated_line
    - insert_value
    - str2ic
    - unlikely
    linkageType: ''
    returnType: void
    signature: filter_count_status(const char *accept_field, const char *time_field,
      struct timer **tptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1490,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1492,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1494,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1495,1
    - Dst: insert_value
      Src: /src/haproxy/admin/halog/halog.c:1501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - accept_field
    - time_field
    - tptr
    argTypes:
    - char*
    - char*
    - struct timer**
    constantsTouched: []
    func_position:
      end: 1503
      start: 1483
    functionDepth: 4
    functionLinenumber: 1483
    functionLinenumberEnd: 1503
    functionName: filter_count_cook_codes
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - truncated_line
    - insert_value
    - field_start
    - unlikely
    linkageType: ''
    returnType: void
    signature: filter_count_cook_codes(const char *accept_field, const char *time_field,
      struct timer **tptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1512,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1514,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1516,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1517,1
    - Dst: insert_value
      Src: /src/haproxy/admin/halog/halog.c:1523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - accept_field
    - time_field
    - tptr
    argTypes:
    - char*
    - char*
    - struct timer**
    constantsTouched: []
    func_position:
      end: 1525
      start: 1505
    functionDepth: 4
    functionLinenumber: 1505
    functionLinenumberEnd: 1525
    functionName: filter_count_term_codes
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - truncated_line
    - insert_value
    - field_start
    - unlikely
    linkageType: ''
    returnType: void
    signature: filter_count_term_codes(const char *accept_field, const char *time_field,
      struct timer **tptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1538,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1539,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1540,1
    - Dst: field_stop
      Src: /src/haproxy/admin/halog/halog.c:1544,1
    - Dst: ebst_lookup_len
      Src: /src/haproxy/admin/halog/halog.c:1549,1
    - Dst: container_of
      Src: /src/haproxy/admin/halog/halog.c:1550,1
    - Dst: calloc
      Src: /src/haproxy/admin/halog/halog.c:1554,1
    - Dst: memcpy
      Src: /src/haproxy/admin/halog/halog.c:1556,1
    - Dst: ebst_insert
      Src: /src/haproxy/admin/halog/halog.c:1558,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1563,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1564,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1565,1
    - Dst: field_stop
      Src: /src/haproxy/admin/halog/halog.c:1570,1
    - Dst: SEP
      Src: /src/haproxy/admin/halog/halog.c:1576,1
    - Dst: str2ic
      Src: /src/haproxy/admin/halog/halog.c:1577,1
    - Dst: SKIP_CHAR
      Src: /src/haproxy/admin/halog/halog.c:1584,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1587,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1609,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1610,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1611,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 3
    argNames:
    - accept_field
    - time_field
    - tptr
    argTypes:
    - char*
    - char*
    - struct timer**
    constantsTouched: []
    func_position:
      end: 1620
      start: 1527
    functionDepth: 3
    functionLinenumber: 1527
    functionLinenumberEnd: 1620
    functionName: filter_count_srv_status
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - field_start
    - container_of
    - truncated_line
    - calloc
    - SKIP_CHAR
    - str2ic
    - ebst_lookup_len
    - SEP
    - field_stop
    - ebst_insert
    - unlikely
    - memcpy
    linkageType: ''
    returnType: void
    signature: filter_count_srv_status(const char *accept_field, const char *time_field,
      struct timer **tptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1632,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1633,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1634,1
    - Dst: SEP
      Src: /src/haproxy/admin/halog/halog.c:1643,1
    - Dst: str2ic
      Src: /src/haproxy/admin/halog/halog.c:1644,1
    - Dst: SKIP_CHAR
      Src: /src/haproxy/admin/halog/halog.c:1651,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1662,1
    - Dst: calloc
      Src: /src/haproxy/admin/halog/halog.c:1663,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1672,1
    - Dst: str2ic
      Src: /src/haproxy/admin/halog/halog.c:1673,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1681,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1686,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1689,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1690,1
    - Dst: free
      Src: /src/haproxy/admin/halog/halog.c:1691,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1695,1
    - Dst: ebis_insert
      Src: /src/haproxy/admin/halog/halog.c:1716,1
    - Dst: container_of
      Src: /src/haproxy/admin/halog/halog.c:1721,1
    - Dst: strdup
      Src: /src/haproxy/admin/halog/halog.c:1728,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 3
    argNames:
    - accept_field
    - time_field
    - tptr
    argTypes:
    - char*
    - char*
    - struct timer**
    constantsTouched: []
    func_position:
      end: 1731
      start: 1622
    functionDepth: 3
    functionLinenumber: 1622
    functionLinenumberEnd: 1731
    functionName: filter_count_url
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - field_start
    - container_of
    - truncated_line
    - SKIP_CHAR
    - calloc
    - ebis_insert
    - strdup
    - free
    - str2ic
    - SEP
    - unlikely
    linkageType: ''
    returnType: void
    signature: filter_count_url(const char *accept_field, const char *time_field,
      struct timer **tptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1743,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1744,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1745,1
    - Dst: SEP
      Src: /src/haproxy/admin/halog/halog.c:1754,1
    - Dst: str2ic
      Src: /src/haproxy/admin/halog/halog.c:1756,1
    - Dst: SKIP_CHAR
      Src: /src/haproxy/admin/halog/halog.c:1764,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1775,1
    - Dst: calloc
      Src: /src/haproxy/admin/halog/halog.c:1776,1
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1785,1
    - Dst: str2ic
      Src: /src/haproxy/admin/halog/halog.c:1786,1
    - Dst: field_stop
      Src: /src/haproxy/admin/halog/halog.c:1793,1
    - Dst: ebis_insert
      Src: /src/haproxy/admin/halog/halog.c:1805,1
    - Dst: container_of
      Src: /src/haproxy/admin/halog/halog.c:1810,1
    - Dst: strdup
      Src: /src/haproxy/admin/halog/halog.c:1817,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 4
    argNames:
    - source_field
    - accept_field
    - time_field
    - tptr
    argTypes:
    - char*
    - char*
    - char*
    - struct timer**
    constantsTouched: []
    func_position:
      end: 1820
      start: 1733
    functionDepth: 3
    functionLinenumber: 1733
    functionLinenumberEnd: 1820
    functionName: filter_count_ip
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 1
    functionsReached:
    - field_start
    - container_of
    - truncated_line
    - SKIP_CHAR
    - calloc
    - ebis_insert
    - strdup
    - str2ic
    - SEP
    - field_stop
    - unlikely
    linkageType: ''
    returnType: void
    signature: filter_count_ip(const char *source_field, const char *accept_field,
      const char *time_field, struct timer **tptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: field_start
      Src: /src/haproxy/admin/halog/halog.c:1829,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1830,1
    - Dst: truncated_line
      Src: /src/haproxy/admin/halog/halog.c:1831,1
    - Dst: field_stop
      Src: /src/haproxy/admin/halog/halog.c:1836,1
    - Dst: SEP
      Src: /src/haproxy/admin/halog/halog.c:1842,1
    - Dst: str2ic
      Src: /src/haproxy/admin/halog/halog.c:1843,1
    - Dst: SKIP_CHAR
      Src: /src/haproxy/admin/halog/halog.c:1850,1
    - Dst: unlikely
      Src: /src/haproxy/admin/halog/halog.c:1853,1
    - Dst: insert_timer
      Src: /src/haproxy/admin/halog/halog.c:1870,1
    - Dst: insert_timer
      Src: /src/haproxy/admin/halog/halog.c:1875,1
    - Dst: insert_timer
      Src: /src/haproxy/admin/halog/halog.c:1876,1
    - Dst: insert_timer
      Src: /src/haproxy/admin/halog/halog.c:1877,1
    - Dst: fprintf
      Src: /src/haproxy/admin/halog/halog.c:1881,1
    - Dst: insert_timer
      Src: /src/haproxy/admin/halog/halog.c:1883,1
    - Dst: insert_value
      Src: /src/haproxy/admin/halog/halog.c:1890,1
    - Dst: insert_value
      Src: /src/haproxy/admin/halog/halog.c:1895,1
    - Dst: insert_value
      Src: /src/haproxy/admin/halog/halog.c:1896,1
    - Dst: insert_value
      Src: /src/haproxy/admin/halog/halog.c:1897,1
    - Dst: fprintf
      Src: /src/haproxy/admin/halog/halog.c:1901,1
    - Dst: insert_value
      Src: /src/haproxy/admin/halog/halog.c:1903,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 3
    argNames:
    - accept_field
    - time_field
    - tptr
    argTypes:
    - char*
    - char*
    - struct timer**
    constantsTouched: []
    func_position:
      end: 1907
      start: 1822
    functionDepth: 4
    functionLinenumber: 1822
    functionLinenumberEnd: 1907
    functionName: filter_graphs
    functionSourceFile: /src/haproxy/admin/halog/halog.c
    functionUses: 0
    functionsReached:
    - field_start
    - truncated_line
    - SKIP_CHAR
    - insert_timer
    - insert_value
    - str2ic
    - SEP
    - field_stop
    - fprintf
    - unlikely
    linkageType: ''
    returnType: void
    signature: filter_graphs(const char *accept_field, const char *time_field, struct
      timer **tptr)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:24,1
    - Dst: vfprintf
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:25,1
    - Dst: va_end
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:26,1
    - Dst: exit
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - code
    - format
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 28
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 28
    functionName: die
    functionSourceFile: /src/haproxy/admin/dyncookie/dyncookie.c
    functionUses: 11
    functionsReached:
    - va_end
    - exit
    - vfprintf
    - va_start
    linkageType: ''
    returnType: void
    signature: die(int code, const char *format, ...)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:38,1
    - Dst: strlen
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:40,1
    - Dst: realloc
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:41,1
    - Dst: strdup
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:41,1
    - Dst: die
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:43,1
    - Dst: inet_pton
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:45,1
    - Dst: inet_pton
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:47,1
    - Dst: die
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:50,1
    - Dst: htonl
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:52,1
    - Dst: atoi
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:52,1
    - Dst: memcpy
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:53,1
    - Dst: printf
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:54,1
    - Dst: XXH64
      Src: /src/haproxy/admin/dyncookie/dyncookie.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 56
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/haproxy/admin/dyncookie/dyncookie.c
    functionUses: 25
    functionsReached:
    - atoi
    - printf
    - strlen
    - strdup
    - htonl
    - XXH64
    - inet_pton
    - die
    - realloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: main(int argc, char **argv)
Fuzzer filename: /src/fuzz_cfg_parser.c
Fuzzing method: LLVMFuzzerTestOneInput
report: name
sources:
- function_names:
  - debug_hexdump
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_hpack_decode.c
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/fuzz_cfg_parser.c
- function_names:
  - hash_id
  - hash_tw1
  - hash_tw2
  - hash_tw3
  - hash_bj6
  - hash_bj7
  - count_hash_results
  - dump_hash_results
  - main
  source_file: /src/haproxy/tests/exp/ip-hash.c
- function_names:
  - main
  source_file: /src/haproxy/tests/exp/blocksig.c
- function_names:
  - queue_by_weight
  - queue_by_weight_0
  - dequeue_srv
  - put_srv
  - get_srv_init
  - get_srv_next
  - get_srv_down
  - get_srv
  - get_next_server
  - update_position
  - switch_trees
  - main
  source_file: /src/haproxy/tests/exp/filltab25.c
- function_names:
  - timeval_current
  - timeval_elapsed
  - haproxy_uri_hash
  - sax_hash
  - haproxy_server_hash
  - hashpjw
  - hash_djbx33
  - bernstein
  - SuperFastHash
  - SuperFastHash2
  - fnv_32a_str
  - hashword
  - kr_hash
  - fnv_hash
  - oat_hash
  - wt_hash
  - main
  source_file: /src/haproxy/tests/exp/test_hashes.c
- function_names:
  - main
  source_file: /src/haproxy/tests/exp/testinet.c
- function_names:
  - hash_gd1
  - hash_gd2
  - hash_gd3
  - hash_gd4
  - hash_gd5
  - hash_gd6
  - hash_wt1
  - shl32
  - shr32
  - rev32
  - hash_wt2
  - SuperFastHash
  - SuperFastHash2
  - haproxy_server_hash
  - count_hash_results
  - dump_hash_results
  - main
  source_file: /src/haproxy/tests/exp/uri_hash.c
- function_names:
  - rnd32
  - thread
  - main
  source_file: /src/haproxy/tests/unit/test-list.c
- function_names:
  - f_ist
  - test_ist
  - f_ist2
  - test_ist2
  - f_istlen
  - test_istlen
  - f_istnext
  - test_istnext
  - f_istpad
  - test_istpad
  - f_isttrim
  - test_isttrim
  - f_istzero
  - test_istzero
  - f_iststrip
  - test_iststrip
  - f_istdiff
  - test_istdiff
  - f_istmatch
  - test_istmatch
  - f_istnmatch
  - test_istnmatch
  - f_isteq
  - test_isteq
  - f_istneq
  - test_istneq
  - f_istcpy
  - test_istcpy
  - f_istscpy
  - test_istscpy
  - f_istcat
  - test_istcat
  - f_istscat
  - test_istscat
  - f_istchr
  - test_istchr
  - f_istfind
  - test_istfind
  - f_istskip
  - test_istskip
  - f_istist
  - test_istist
  - main
  source_file: /src/haproxy/tests/unit/ist.c
- function_names:
  - main
  source_file: /src/haproxy/tests/unit/test-arg.c
- function_names:
  - statistical_prng
  - one_among
  - main
  source_file: /src/haproxy/tests/unit/test-1-among.c
- function_names:
  - is_char4_outside
  - is_char8_outside_by4
  - is_char8_outside_by8
  - is_char8_outside
  - slow32_ref
  - slow64_ref
  - fast32_gen
  - fast64_gen4
  - fast64_gen8
  - fast64_gen
  - fast32_spec
  - fast64_spec
  - rnd64
  - main
  source_file: /src/haproxy/tests/unit/test-int-range.c
- function_names:
  - die
  - usage
  - dump_ring_as_buf
  - dump_ring_v1
  - dump_ring_v2
  - dump_ring_v2a
  - main
  source_file: /src/haproxy/dev/haring/haring.c
- function_names:
  - usage_exit
  - to_upper
  - tevt_show_events
  - tevt_show_tuple_events
  - main
  source_file: /src/haproxy/dev/term_events/term_events.c
- function_names:
  - die
  - usage
  - dolog
  - unescape
  - alloc_err_msg
  - sig_handler
  - addr_to_ss
  - wait_on_fd
  - tcp_set_nodelay
  - tcp_set_nolinger
  - tcp_set_noquickack
  - tcp_socket
  - tcp_bind
  - tcp_listen
  - tcp_accept
  - tcp_connect
  - tcp_disconnect
  - tcp_recv
  - tcp_send
  - tcp_echo
  - tcp_wait
  - tcp_wait_in
  - tcp_wait_out
  - tcp_pause
  - tcp_fork
  - main
  source_file: /src/haproxy/dev/tcploop/tcploop.c
- function_names:
  - get_show_as
  - usage_exit
  - main
  source_file: /src/haproxy/dev/flags/flags.c
- function_names:
  - debug_hexdump
  - die
  - hex2bin
  - main
  source_file: /src/haproxy/dev/hpack/decode.c
- function_names:
  - main
  source_file: /src/haproxy/dev/hpack/gen-rht.c
- function_names:
  - get_hdr_rank
  - cmp_idx
  - main
  source_file: /src/haproxy/dev/hpack/gen-enc.c
- function_names:
  - side
  - usage
  - die
  - get_errno
  - do_acc
  - do_con
  - do_snd
  - do_mor
  - do_rcv
  - do_drn
  - do_shr
  - do_shw
  - do_shb
  - do_lin
  - do_clo
  - do_pol
  - main
  source_file: /src/haproxy/dev/poll/poll.c
- function_names:
  - ha_backtrace_to_stderr
  - hex2bin
  - debug_hexdump
  - main
  source_file: /src/haproxy/dev/qpack/decode.c
- function_names:
  - qdisc_init
  - plug_qdisc_release_indefinite_buffer
  - plug_qdisc_plug_buffer
  - plug_qdisc_attach
  source_file: /src/haproxy/dev/plug_qdisc/plug_qdisc.c
- function_names:
  - sysconf
  - sched_getaffinity
  - sched_setaffinity
  - usage
  - main
  source_file: /src/haproxy/dev/ncpu/ncpu.c
- function_names:
  - main
  source_file: /src/haproxy/dev/base64/base64rev-gen.c
- function_names:
  - rnd32
  - hash
  - main
  source_file: /src/haproxy/dev/phash/phash.c
- function_names:
  - die
  - prng
  - addr_to_ss
  - create_udp_listener
  - update_pfd
  - conn_bck_lookup
  - add_connection
  - pktbuf_apply_corruption
  - handle_frt
  - handle_bck
  - usage
  - main
  source_file: /src/haproxy/dev/udp/udp-perturb.c
- function_names:
  - huff_enc
  - huff_dec
  source_file: /src/haproxy/src/hpack-huff.c
- function_names:
  - diag_warning
  - diag_alloc
  - check_server_cookies
  - cfg_run_diagnostics
  source_file: /src/haproxy/src/cfgdiag.c
- function_names:
  - tcp_bind_socket
  - tcp_connect_server
  - tcp_bind_listener
  - tcp_enable_listener
  - tcp_disable_listener
  - tcp_suspend_receiver
  - tcp_resume_receiver
  - tcp_get_info
  - tcp_get_info
  source_file: /src/haproxy/src/proto_tcp.c
- function_names:
  - get_var_int
  - hpack_idx_to_phdr
  - hpack_alloc_string
  - hpack_decode_frame
  source_file: /src/haproxy/src/hpack-dec.c
- function_names:
  - get_raw_htx_chunk
  - alloc_raw_htx_chunk_per_thread
  - free_raw_htx_chunk_per_thread
  - get_http_auth
  - smp_prefetch_htx
  - smp_fetch_meth
  - smp_fetch_rqver
  - smp_fetch_stver
  - smp_fetch_stcode
  - smp_fetch_srv_status
  - smp_fetch_uniqueid
  - smp_fetch_hdrs
  - smp_fetch_hdrs_bin
  - smp_fetch_body
  - smp_fetch_body_len
  - smp_fetch_body_size
  - smp_fetch_url
  - smp_fetch_url_ip
  - smp_fetch_url_port
  - smp_fetch_fhdr
  - smp_fetch_fhdr_cnt
  - smp_fetch_hdr_names
  - smp_fetch_hdr
  - smp_fetch_chn_hdr
  - smp_fetch_hdr_cnt
  - smp_fetch_hdr_val
  - smp_fetch_hdr_ip
  - smp_fetch_path
  - smp_fetch_base
  - smp_fetch_base32
  - smp_fetch_base32_src
  - smp_fetch_query
  - smp_fetch_proto_http
  - smp_fetch_http_first_req
  - smp_fetch_http_auth_type
  - smp_fetch_http_auth_user
  - smp_fetch_http_auth_pass
  - smp_fetch_http_auth_bearer
  - smp_fetch_http_auth
  - smp_fetch_http_auth_grp
  - smp_fetch_capture_req_hdr
  - smp_fetch_capture_res_hdr
  - smp_fetch_capture_req_method
  - smp_fetch_capture_req_uri
  - smp_fetch_capture_req_ver
  - smp_fetch_capture_res_ver
  - smp_fetch_cookie
  - smp_fetch_chn_cookie
  - smp_fetch_cookie_cnt
  - smp_fetch_cookie_val
  - smp_fetch_cookie_names
  - smp_fetch_param
  - smp_fetch_url_param
  - smp_fetch_body_param
  - smp_fetch_url_param_val
  - smp_fetch_url32
  - smp_fetch_url32_src
  - val_hdr
  - val_query
  source_file: /src/haproxy/src/http_fetch.c
- function_names:
  - new_reverse_conn
  - rhttp_notify_preconn_err
  - select_thread
  - task_migrate
  - rhttp_process
  - rhttp_bind_receiver
  - rhttp_bind_listener
  - rhttp_suspend_listener
  - rhttp_enable_listener
  - rhttp_disable_listener
  - rhttp_accept_conn
  - rhttp_unbind_receiver
  - rhttp_bind_tid_prep
  - rhttp_accepting_conn
  - init_rhttp
  source_file: /src/haproxy/src/proto_rhttp.c
- function_names:
  - quic_generate_token
  - quic_token_check
  source_file: /src/haproxy/src/quic_token.c
- function_names:
  - bwlim_apply_limit
  - bwlim_init
  - bwlim_deinit
  - bwlim_check
  - bwlim_attach
  - bwlim_detach
  - bwlim_chn_end_analyze
  - bwlim_http_headers
  - bwlim_http_payload
  - bwlim_tcp_payload
  - bwlim_set_limit
  - check_bwlim_action
  - release_bwlim_action
  - parse_bandwidth_limit
  - parse_bwlim_flt
  - parse_bwlim_in_flt
  - parse_bwlim_out_flt
  source_file: /src/haproxy/src/flt_bwlim.c
- function_names:
  - map_set_server_status_down
  - map_set_server_status_up
  - recalc_server_map
  - init_server_map
  - map_get_server_rr
  - map_get_server_hash
  source_file: /src/haproxy/src/lb_map.c
- function_names:
  - exp_replace
  - check_replace_string
  - regex_exec_match
  - regex_exec_match2
  - regex_comp
  - regex_register_build_options
  source_file: /src/haproxy/src/regex.c
- function_names:
  - open_named_namespace
  - init_default_namespace
  - netns_sig_stop
  - netns_init
  - netns_store_insert
  - netns_store_lookup
  - my_socketat
  source_file: /src/haproxy/src/namespace.c
- function_names:
  - comp_flt_init
  - comp_flt_init_per_thread
  - comp_flt_deinit_per_thread
  - comp_strm_init
  - comp_strm_deinit
  - comp_prepare_compress_request
  - comp_http_headers
  - comp_http_post_analyze
  - comp_http_payload
  - comp_http_end
  - set_compression_header
  - select_compression_request_header
  - select_compression_response_header
  - htx_compression_buffer_init
  - htx_compression_buffer_add_data
  - htx_compression_buffer_end
  - parse_compression_options
  - parse_http_comp_flt
  - check_implicit_http_comp_flt
  - smp_fetch_res_comp
  - smp_fetch_res_comp_algo
  source_file: /src/haproxy/src/flt_http_comp.c
- function_names:
  - conn_get_tlv
  - conn_delete_from_tree
  - conn_create_mux
  - conn_notify_mux
  - conn_upgrade_mux_fe
  - conn_install_mux_fe
  - conn_install_mux_be
  - conn_install_mux_chk
  - conn_update_alpn
  - conn_init
  - conn_backend_init
  - conn_backend_deinit
  - conn_new
  - conn_free
  - conn_release
  - conn_alloc_hash_node
  - sockaddr_alloc
  - sockaddr_free
  - xprt_add_hs
  - conn_err_code_name
  - conn_err_code_str
  - conn_set_errno
  - conn_ctrl_send
  - conn_unsubscribe
  - conn_subscribe
  - conn_ctrl_drain
  - get_tlv_length
  - conn_recv_proxy
  - conn_send_proxy
  - conn_recv_netscaler_cip
  - conn_send_socks4_proxy_request
  - conn_recv_socks4_proxy_response
  - register_mux_proto
  - list_mux_proto
  - make_proxy_line_v1
  - make_tlv
  - make_proxy_line_v2
  - make_proxy_line
  - cfg_parse_pp2_never_send_local
  - conn_append_debug_info
  - smp_fetch_fc_glitches
  - smp_fetch_fc_http_major
  - smp_fetch_fc_rcvd_proxy
  - smp_check_tlv_type
  - smp_fetch_fc_pp_tlv
  - smp_fetch_fc_pp_authority
  - smp_fetch_fc_pp_unique_id
  - smp_fetch_fc_err
  - smp_fetch_fc_err_str
  - smp_fetch_fc_nb_streams
  - smp_fetch_fc_streams_limit
  - conn_hash_prehash
  - conn_hash_update
  - conn_hash_digest
  - conn_calculate_hash_sockaddr
  - conn_calculate_hash
  - conn_reverse
  - mux_stopping_process
  - allocate_mux_cleanup
  - deallocate_mux_cleanup
  - deinit_idle_conns
  source_file: /src/haproxy/src/connection.c
- function_names:
  - qpack_dht_dump
  - qpack_dht_check_consistency
  - qpack_dht_defrag
  - __qpack_dht_make_room
  - qpack_dht_insert
  source_file: /src/haproxy/src/qpack-tbl.c
- function_names:
  - dgram_fd_handler
  - dgram_parse_tune_bufs
  source_file: /src/haproxy/src/dgram.c
- function_names:
  - field_to_html_str
  - stats_dump_html_head
  - stats_dump_html_info
  - stats_dump_fields_html
  - stats_dump_html_px_hdr
  - stats_dump_html_px_end
  - stats_dump_html_end
  - stats_send_http_headers
  - stats_send_http_redirect
  - stats_process_http_post
  - http_stats_io_handler
  - http_stats_fastfwd
  - http_stats_release
  source_file: /src/haproxy/src/stats-html.c
- function_names:
  - wdt_ping
  - wdt_handler
  - wdt_parse_warn_blocked
  - init_wdt_per_thread
  - deinit_wdt_per_thread
  - init_wdt
  source_file: /src/haproxy/src/wdt.c
- function_names:
  - stcol2ndesc
  - generate_stat_tree
  - stats_putchk
  - stats_is_full
  - stats_scope_ptr
  - stats_dump_csv_header
  - stats_emit_raw_data_field
  - stats_emit_typed_data_field
  - stats_emit_field_tags
  - stats_dump_fields_csv
  - stats_dump_fields_typed
  - stats_dump_one_line
  - stats_dump_stat_to_buffer
  - stats_dump_info_fields
  - stats_dump_typed_info_fields
  - stats_fill_info
  - stats_dump_info_to_buffer
  - cli_parse_clear_counters
  - cli_parse_show_info
  - cli_parse_show_stat
  - cli_parse_show_schema_json
  - cli_io_handler_dump_info
  - cli_io_handler_dump_stat
  - cli_io_handler_release_stat
  - cli_io_handler_dump_json_schema
  - cli_parse_dump_stat_file
  - cli_io_handler_dump_stat_file
  - cli_io_handler_release_dump_stat_file
  - stats_allocate_proxy_counters_internal
  - stats_allocate_proxy_counters
  - stats_register_module
  - allocate_stats_px_postcheck
  - allocate_stats_rslv_postcheck
  - allocate_stat_lines_per_thread
  - allocate_trash_counters
  - deinit_stat_lines_per_thread
  - deinit_stats
  - free_trash_counters
  source_file: /src/haproxy/src/stats.c
- function_names:
  - mjson_esc
  - mjson_escape
  - mjson_pass_string
  - mjson
  - plen1
  - plen2
  - kcmp
  - mjson_get_cb
  - mjson_find
  - mjson_get_number
  - mjson_get_bool
  - mjson_unhex_nimble
  - mjson_unescape
  - mjson_get_string
  - mjson_get_hex
  - mjson_base64rev
  - mjson_base64_dec
  - mjson_get_base64
  - next_cb
  - mjson_next
  - mjson_print_fixed_buf
  - mjson_print_dynamic_buf
  - mjson_print_null
  - mjson_print_buf
  - mjson_print_long
  - mjson_print_int
  - addexp
  - mjson_print_dbl
  - mjson_print_str
  - mjson_print_b64
  - mjson_vprintf
  - mjson_printf
  - is_digit
  - mystrtod
  - mjson_merge
  - pretty_cb
  - mjson_pretty
  - mjson_globmatch
  - jsonrpc_return_errorv
  - jsonrpc_return_error
  - jsonrpc_return_successv
  - jsonrpc_return_success
  - jsonrpc_ctx_process
  - jsonrpc_print_methods
  - rpclist
  - jsonrpc_ctx_init
  - jsonrpc_init
  source_file: /src/haproxy/src/mjson.c
- function_names:
  - bind_parse_v4v6
  - bind_parse_v6only
  - bind_parse_transparent
  - bind_parse_defer_accept
  - bind_parse_tfo
  - bind_parse_mss
  - bind_parse_tcp_ut
  - bind_parse_interface
  - bind_parse_namespace
  - srv_parse_tcp_ut
  source_file: /src/haproxy/src/cfgparse-tcp.c
- function_names:
  - stats_check_init_uri_auth
  - stats_set_uri
  - stats_set_realm
  - stats_set_node
  - stats_set_desc
  - stats_set_refresh
  - stats_set_flag
  - stats_add_auth
  - stats_add_scope
  - stats_uri_auth_free
  - stats_uri_auth_drop
  - stats_uri_auth_take
  source_file: /src/haproxy/src/uri_auth.c
- function_names:
  - check_action_rules
  - check_trk_action
  - check_capture
  - act_resolution_cb
  - act_resolution_error_cb
  - cfg_parse_rule_set_timeout
  - action_suggest
  - new_act_rule
  - free_act_rule
  - free_act_rules
  - dump_act_rules
  source_file: /src/haproxy/src/action.c
- function_names:
  - find_http_meth
  - http_get_status_idx
  - http_get_reason
  - http_status_add_range
  - http_status_del_range
  - http_get_host_port
  - http_is_default_port
  - http_validate_scheme
  - http_parse_scheme
  - http_parse_authority
  - http_parse_path
  - http_parse_cont_len_header
  - http_header_match2
  - http_find_hdr_value_end
  - http_find_cookie_value_end
  - http_extract_cookie_value
  - http_extract_next_cookie_name
  - http_parse_qvalue
  - http_find_url_param_pos
  - http_find_next_url_param
  - http_parse_header
  - http_parse_stline
  - http_parse_status_val
  - http_compare_etags
  - http_trim_leading_spht
  - http_trim_trailing_spht
  - _http_init
  - http_parse_http_err_fail_codes
  source_file: /src/haproxy/src/http.c
- function_names:
  - quic_sock_get_src
  - quic_sock_get_dst
  - new_quic_cli_conn
  - quic_sock_accepting_conn
  - quic_sock_accept_conn
  - quic_lstnr_dghdlr
  - quic_get_dgram_dcid
  - quic_lstnr_dgram_dispatch
  - quic_rxbuf_purge_dgrams
  - quic_recv
  - quic_lstnr_sock_fd_iocb
  - quic_conn_sock_fd_iocb
  - cmsg_set_saddr
  - cmsg_set_gso
  - qc_snd_buf
  - qc_rcv_buf
  - qc_alloc_fd
  - qc_release_fd
  - qc_want_recv
  - quic_accept_push_qc
  - quic_accept_run
  - quic_listener_max_handshake
  - quic_listener_max_accept
  - quic_alloc_accept_queues
  - quic_deallocate_accept_queues
  source_file: /src/haproxy/src/quic_sock.c
- function_names:
  - quic_dflt_transport_params_cpy
  - quic_transport_params_init
  - quic_transport_param_enc_pref_addr_val
  - quic_transport_param_dec_pref_addr
  - quic_transport_param_dec_version_info
  - quic_transport_param_decode
  - quic_transport_param_encode_type_len
  - quic_transport_param_decode_type_len
  - quic_transport_param_enc_mem
  - quic_transport_param_enc_int
  - sizeof_quic_cid
  - quic_transport_param_enc_pref_addr
  - quic_transport_param_enc_version_info
  - quic_transport_params_encode
  - quic_transport_params_decode
  - quic_transport_params_store
  - qc_lstnr_params_init
  source_file: /src/haproxy/src/quic_tp.c
- function_names:
  - pat_parse_meth
  - pat_match_meth
  source_file: /src/haproxy/src/http_acl.c
- function_names:
  - quic_close
  - quic_conn_subscribe
  - quic_conn_unsubscribe
  - qc_conn_init
  - qc_xprt_start
  - qc_get_ssl_sock_ctx
  - qc_xprt_dump_info
  - __quic_conn_init
  source_file: /src/haproxy/src/xprt_quic.c
- function_names:
  - quic_cc_init
  - quic_cc_event
  - quic_cc_state_trace
  - quic_cc_default_pacing_inter
  - quic_cwnd_may_increase
  source_file: /src/haproxy/src/quic_cc.c
- function_names:
  - udp_bind_listener
  - udp_enable_listener
  - udp_disable_listener
  - udp_suspend_receiver
  - udp_resume_receiver
  source_file: /src/haproxy/src/proto_udp.c
- function_names:
  - uxdg_bind_listener
  - uxdg_enable_listener
  - uxdg_disable_listener
  - uxdg_suspend_receiver
  source_file: /src/haproxy/src/proto_uxdg.c
- function_names:
  - get_trash_chunk
  - alloc_trash_buffers
  - alloc_trash_buffers_per_thread
  - free_trash_buffers_per_thread
  - init_trash_buffers
  - alloc_early_trash
  - chunk_printf
  - chunk_appendf
  - chunk_htmlencode
  - chunk_asciiencode
  - chunk_strcmp
  - chunk_strcasecmp
  source_file: /src/haproxy/src/chunk.c
- function_names:
  - get_pipe
  - kill_pipe
  - put_pipe
  source_file: /src/haproxy/src/pipe.c
- function_names:
  - quic_stateless_reset_token_init
  - quic_derive_cid
  - new_quic_cid
  - quic_cid_insert
  - quic_cmp_cid_conn
  - quic_get_cid_tid
  - retrieve_qc_conn_from_cid
  - qc_build_new_connection_id_frm
  - quic_alloc_global_cid_tree
  - quic_deallocate_global_cid_tree
  source_file: /src/haproxy/src/quic_cid.c
- function_names:
  - fwrr_set_server_status_down
  - fwrr_set_server_status_up
  - fwrr_update_server_weight
  - fwrr_remove_from_tree
  - fwrr_queue_by_weight
  - fwrr_init_server_groups
  - fwrr_dequeue_srv
  - fwrr_queue_srv
  - fwrr_get_srv_init
  - fwrr_get_srv_next
  - fwrr_get_srv_down
  - fwrr_get_srv
  - fwrr_switch_trees
  - fwrr_get_server_from_group
  - fwrr_update_position
  - fwrr_get_next_server
  source_file: /src/haproxy/src/lb_fwrr.c
- function_names:
  - h1_fill_stats
  - h1s_sc
  - h1_trace
  - h1_trace_fill_ctx
  - h1_recv_allowed
  - h1_buf_available
  - h1_get_ibuf
  - h1_get_obuf
  - h1_get_rxbuf
  - h1_release_buf
  - h1c_report_term_evt
  - h1_is_alive
  - h1_close
  - h1_used_streams
  - h1_avail_streams
  - h1_refresh_timeout
  - h1_set_idle_expiration
  - h1s_set_se_eoi_cond
  - h1s_data_pending
  - h1s_new_sc
  - h1s_upgrade_sc
  - h1s_new
  - h1c_frt_stream_new
  - h1c_bck_stream_new
  - h1s_destroy
  - h1s_must_shut_conn
  - h1s_finish_detach
  - h1_init
  - h1_release
  - h1_parse_req_vsn
  - h1_parse_res_vsn
  - h1_set_cli_conn_mode
  - h1_set_srv_conn_mode
  - h1_update_req_conn_value
  - h1_update_res_conn_value
  - h1_process_input_conn_mode
  - h1_process_output_conn_mode
  - h1_adjust_case_outgoing_hdr
  - h1_show_error_snapshot
  - h1_capture_bad_message
  - h1_prepend_chunk_size
  - h1_append_chunk_size
  - h1_prepend_chunk_crlf
  - h1_append_chunk_crlf
  - h1_set_tunnel_mode
  - h1_search_websocket_key
  - h1_handle_headers
  - h1_handle_data
  - h1_handle_trailers
  - h1_process_demux
  - h1_make_reqline
  - h1_make_stline
  - h1_make_headers
  - h1_make_eoh
  - h1_make_data
  - h1_make_tunnel
  - h1_make_trailers
  - h1_make_chunk
  - h1_process_mux
  - h1_wake_stream_for_recv
  - h1_wake_stream_for_send
  - h1_alert
  - h1_send_error
  - h1_handle_internal_err
  - h1_handle_parsing_error
  - h1_handle_not_impl_err
  - h1_handle_req_tout
  - h1_recv
  - h1_send
  - h1_process
  - h1_io_cb
  - h1_wake
  - h1_timeout_task
  - h1_attach
  - h1_get_first_sc
  - h1_destroy
  - h1_detach
  - h1_shut
  - h1_shutw_conn
  - h1_unsubscribe
  - h1_subscribe
  - h1_rcv_buf
  - h1_snd_buf
  - h1s_opposite_sd
  - h1_nego_ff
  - h1_done_ff
  - h1_fastfwd
  - h1_resume_fastfwd
  - h1_ctl
  - h1_sctl
  - h1_dump_h1c_info
  - h1_dump_h1s_info
  - h1_show_fd
  - h1_show_sd
  - add_hdr_case_adjust
  - h1_takeover
  - h1_hdeaders_case_adjust_deinit
  - cfg_h1_headers_case_adjust_postparser
  - cfg_parse_h1_accept_payload_with_any_method
  - cfg_parse_h1_header_case_adjust
  - cfg_parse_h1_headers_case_adjust_file
  - cfg_parse_h1_zero_copy_fwd_rcv
  - cfg_parse_h1_zero_copy_fwd_snd
  source_file: /src/haproxy/src/mux_h1.c
- function_names:
  - quic_init_exec_rules
  - parse_accept
  - parse_dgram_drop
  - init_do_log
  - parse_do_log
  - quic_init_action_reject
  - quic_init_action_send_retry
  - parse_reject
  - parse_send_retry
  - quic_init_actions_register
  - action_quic_init_custom
  source_file: /src/haproxy/src/quic_rules.c
- function_names:
  - quic_cc_nr_init
  - quic_cc_nr_slow_start
  - quic_cc_nr_enter_recovery
  - quic_cc_nr_ss_cb
  - quic_cc_nr_ca_cb
  - quic_cc_nr_rp_cb
  - quic_cc_nr_state_trace
  - quic_cc_nr_hystart_start_round
  - quic_cc_nr_event
  - quic_cc_nr_check
  source_file: /src/haproxy/src/quic_cc_newreno.c
- function_names:
  - quic_frame_type_string
  - chunk_cc_phrase_appendf
  - chunk_frm_appendf
  - quic_build_padding_frame
  - quic_parse_padding_frame
  - quic_build_ping_frame
  - quic_parse_ping_frame
  - quic_build_ack_frame
  - quic_parse_ack_frame_header
  - quic_build_ack_ecn_frame
  - quic_parse_ack_ecn_frame
  - quic_build_reset_stream_frame
  - quic_parse_reset_stream_frame
  - quic_build_stop_sending_frame
  - quic_parse_stop_sending_frame
  - quic_build_crypto_frame
  - quic_parse_crypto_frame
  - quic_build_new_token_frame
  - quic_parse_new_token_frame
  - quic_build_stream_frame
  - quic_parse_stream_frame
  - quic_build_max_data_frame
  - quic_parse_max_data_frame
  - quic_build_max_stream_data_frame
  - quic_parse_max_stream_data_frame
  - quic_build_max_streams_bidi_frame
  - quic_parse_max_streams_bidi_frame
  - quic_build_max_streams_uni_frame
  - quic_parse_max_streams_uni_frame
  - quic_build_data_blocked_frame
  - quic_parse_data_blocked_frame
  - quic_build_stream_data_blocked_frame
  - quic_parse_stream_data_blocked_frame
  - quic_build_streams_blocked_bidi_frame
  - quic_parse_streams_blocked_bidi_frame
  - quic_build_streams_blocked_uni_frame
  - quic_parse_streams_blocked_uni_frame
  - quic_build_new_connection_id_frame
  - quic_parse_new_connection_id_frame
  - quic_build_retire_connection_id_frame
  - quic_parse_retire_connection_id_frame
  - quic_build_path_challenge_frame
  - quic_parse_path_challenge_frame
  - quic_build_path_response_frame
  - quic_parse_path_response_frame
  - quic_build_connection_close_frame
  - quic_parse_connection_close_frame
  - quic_build_connection_close_app_frame
  - quic_parse_connection_close_app_frame
  - quic_build_handshake_done_frame
  - quic_parse_handshake_done_frame
  - quic_frame_type_is_known
  - qf_parser
  - qf_builder
  - qc_parse_frm
  - qc_build_frm
  - qc_frm_unref
  - qc_frm_free
  - qc_release_frm
  - quic_strm_frm_fillbuf
  - quic_strm_frm_split
  source_file: /src/haproxy/src/quic_frame.c
- function_names:
  - gen_hash
  - recount_servers
  - update_backend_weight
  - get_server_sh
  - get_server_uh
  - get_server_ph
  - get_server_ph_post
  - get_server_hh
  - get_server_rch
  - get_server_expr
  - get_server_rnd
  - assign_server
  - alloc_dst_address
  - assign_server_and_queue
  - alloc_bind_address
  - conn_backend_get
  - do_connect_server
  - takeover_random_idle_conn
  - kill_random_idle_conn
  - be_reuse_mode
  - be_calculate_conn_hash
  - be_reuse_connection
  - connect_server
  - srv_redispatch_connect
  - back_may_abort_req
  - back_try_conn_req
  - back_handle_st_req
  - back_handle_st_con
  - back_handle_st_cer
  - back_handle_st_rdy
  - set_backend_down
  - tcp_persist_rdp_cookie
  - be_downtime
  - backend_lb_algo_str
  - backend_parse_balance
  - smp_fetch_nbsrv
  - smp_fetch_srv_is_up
  - smp_fetch_connslots
  - smp_fetch_be_id
  - smp_fetch_be_name
  - smp_fetch_srv_id
  - smp_fetch_srv_name
  - smp_fetch_be_sess_rate
  - smp_fetch_be_conn
  - smp_fetch_be_conn_free
  - smp_fetch_queue_size
  - smp_fetch_avg_queue_size
  - smp_fetch_srv_conn
  - smp_fetch_srv_conn_free
  - smp_fetch_srv_queue
  - smp_fetch_srv_sess_rate
  - smp_fetch_srv_weight
  - smp_fetch_srv_iweight
  - smp_fetch_srv_uweight
  - smp_fetch_be_server_timeout
  - smp_fetch_be_tunnel_timeout
  - sample_conv_nbsrv
  - sample_conv_srv_queue
  source_file: /src/haproxy/src/backend.c
- function_names:
  - h1_parse_cont_len_header
  - h1_parse_xfer_enc_header
  - h1_validate_connect_authority
  - h1_validate_mismatch_authority
  - h1_parse_connection_header
  - h1_parse_upgrade_header
  - h1_headers_to_hdr_list
  - h1_generate_random_ws_input_key
  - h1_calculate_ws_output_key
  - cfg_parse_h1_do_not_close_insecure_t_e
  source_file: /src/haproxy/src/h1.c
- function_names:
  - get_vars
  - var_accounting_diff
  - var_accounting_add
  - var_clear
  - vars_prune_per_sess
  - vars_init_head
  - vars_fill_desc
  - var_get
  - smp_fetch_var
  - var_clear_buffer
  - var_set
  - var_unset
  - vars_parse_cond_param
  - smp_conv_store
  - smp_conv_clear
  - vars_check_arg
  - vars_set_by_name_ifexist
  - vars_set_by_name
  - vars_unset_by_name_ifexist
  - var_to_smp
  - vars_get_by_name
  - vars_get_by_desc
  - action_store
  - action_clear
  - release_store_rule
  - smp_check_var
  - conv_check_var
  - parse_store
  - vars_parse_global_set_var
  - vars_parse_cli_get_var
  - vars_parse_cli_set_var
  - vars_max_size
  - vars_max_size_global
  - vars_max_size_proc
  - vars_max_size_sess
  - vars_max_size_txn
  - vars_max_size_reqres
  - vars_max_size_check
  - vars_init
  source_file: /src/haproxy/src/vars.c
- function_names:
  - ebmb_lookup
  - ebmb_insert
  - ebmb_lookup_longest
  - ebmb_lookup_prefix
  - ebmb_insert_prefix
  source_file: /src/haproxy/src/ebmbtree.c
- function_names:
  - uri_normalizer_fragment_encode
  - is_unreserved_character
  - uri_normalizer_percent_decode_unreserved
  - uri_normalizer_percent_upper
  - uri_normalizer_path_dot
  - uri_normalizer_path_dotdot
  - uri_normalizer_path_merge_slashes
  - query_param_cmp
  - uri_normalizer_query_sort
  source_file: /src/haproxy/src/uri_normalizer.c
- function_names: []
  source_file: /src/haproxy/src/cebtree-prv.h
- function_names:
  - qpack_get_varint
  - qpack_decode_enc
  - qpack_decode_dec
  - qpack_decode_fs_pfx
  - qpack_decode_fs
  - qpack_err_decode
  source_file: /src/haproxy/src/qpack-dec.c
- function_names:
  - pat2acl
  - acl_register_keywords
  - acl_unregister_keywords
  - find_acl_by_name
  - find_acl_kw
  - prune_acl_expr
  - parse_acl_expr
  - prune_acl
  - parse_acl_recurse
  - parse_acl
  - find_acl_default
  - parse_acl_cond
  - build_acl_cond
  - acl_exec_cond
  - acl_cond_conflicts
  - acl_cond_kw_conflicts
  - acl_find_targets
  - init_acl
  - acl_dump_kwd
  - free_acl_cond
  - smp_fetch_acl
  - smp_fetch_acl_parse
  source_file: /src/haproxy/src/acl.c
- function_names:
  - _update_fd
  - _do_fixup_tgid_takeover
  - _do_poll
  - init_kqueue_per_thread
  - deinit_kqueue_per_thread
  - _do_init
  - _do_term
  - _do_test
  - _do_fork
  - _do_register
  source_file: /src/haproxy/src/ev_kqueue.c
- function_names:
  - cmp_kw_entries
  - cli_gen_usage_msg
  - cli_find_kw
  - cli_find_kw_exact
  - cli_register_kw
  - cli_list_keywords
  - cli_alloc_fe
  - cli_parse_global
  - listeners_setenv
  - cli_socket_setenv
  - cli_has_level
  - pcli_has_level
  - cli_get_severity_output
  - cli_parse_request
  - cli_output_msg
  - cli_init
  - cli_snd_buf
  - cli_io_handler
  - cli_release_handler
  - cli_io_handler_show_env
  - cli_io_handler_show_fd
  - cli_io_handler_show_cli_sock
  - cli_parse_show_env
  - cli_parse_show_fd
  - cli_parse_set_timeout
  - cli_parse_set_maxconn_global
  - set_severity_output
  - cli_parse_set_severity_output
  - cli_parse_show_lvl
  - cli_parse_set_lvl
  - cli_parse_expert_experimental_mode
  - cli_parse_show_version
  - cli_parse_default
  - cli_parse_set_anon
  - cli_parse_set_global_key
  - cli_parse_show_anon
  - cli_parse_set_ratelimit
  - cli_parse_wait
  - cli_io_handler_wait
  - cli_release_wait
  - bind_parse_expose_fd
  - bind_parse_level
  - bind_parse_severity_output
  - _getsocks
  - cli_parse_simple
  - cli_parse_echo
  - _send_status
  - pcli_write_prompt
  - pcli_error
  - pcli_reply_and_close
  - pcli_pid_to_server
  - pcli_prefix_to_pid
  - pcli_find_and_exec_kw
  - pcli_parse_request
  - pcli_wait_for_request
  - pcli_wait_for_response
  - mworker_cli_proxy_stop
  - mworker_cli_create_master_proxy
  - mworker_cli_attach_server
  - mworker_cli_master_proxy_new_listener
  - mworker_cli_global_proxy_new_listener
  source_file: /src/haproxy/src/cli.c
- function_names:
  - cfg_lookup_cond_pred
  - cfg_free_cond_term
  - cfg_parse_cond_term
  - cfg_eval_cond_enabled
  - cfg_eval_cond_term
  - cfg_free_cond_and
  - cfg_free_cond_expr
  - cfg_parse_cond_and
  - cfg_parse_cond_expr
  - cfg_eval_cond_and
  - cfg_eval_cond_expr
  - cfg_eval_condition
  source_file: /src/haproxy/src/cfgcond.c
- function_names:
  - hlua_panic_safe
  - hlua_panic_ljmp
  - lua_take_global_lock
  - lua_drop_global_lock
  - hlua_lock
  - hlua_unlock
  - _hlua_tostring_safe
  - hlua_tostring_safe
  - _hlua_pushvfstring_safe
  - hlua_pushvfstring_safe
  - hlua_pushfstring_safe
  - _hlua_time_ms
  - _hlua_time_burst
  - hlua_timer_init
  - hlua_timer_reset
  - hlua_timer_start
  - hlua_timer_stop
  - hlua_timer_check
  - hlua_get_nb_instruction
  - new_hlua_function
  - release_hlua_function
  - fcn_ref_to_stack_id
  - new_hlua_reg_filter
  - release_hlua_reg_filter
  - reg_flt_to_stack_id
  - hlua_checkfunction
  - hlua_checktable
  - hlua_ref
  - hlua_pushref
  - hlua_unref
  - _hlua_traceback
  - hlua_traceback
  - check_args
  - _hlua_pusherror
  - hlua_pusherror
  - hlua_arg2lua
  - hlua_lua2arg
  - hlua_smp2lua
  - hlua_smp2lua_str
  - hlua_lua2smp
  - hlua_lua2arg_check
  - hlua_gethlua
  - hlua_sethlua
  - hlua_show_current_location
  - hlua_sendlog
  - hlua_yieldk
  - hlua_ctx_init
  - hlua_httpclient_destroy_all
  - hlua_ctx_destroy
  - hlua_ctx_renew
  - hlua_stream_ctx_get
  - hlua_stream_ctx_prepare
  - hlua_hook
  - hlua_ctx_resume
  - hlua_done
  - hlua_del_acl
  - hlua_del_map
  - hlua_add_acl
  - hlua_set_map
  - hlua_get_patref
  - hlua_core_get_var
  - hlua_disable_legacy_mailers
  - hlua_checkmap
  - hlua_map_new
  - _hlua_map_lookup
  - hlua_map_lookup
  - hlua_map_slookup
  - hlua_checksocket
  - hlua_socket_handler
  - hlua_socket_init
  - hlua_socket_release
  - hlua_socket_gc
  - hlua_socket_close_helper
  - hlua_socket_close
  - hlua_socket_receive_yield
  - hlua_socket_receive
  - hlua_socket_write_yield
  - hlua_socket_send
  - hlua_socket_info
  - hlua_socket_getpeername
  - hlua_socket_getsockname
  - hlua_socket_connect_yield
  - hlua_socket_connect
  - hlua_socket_connect_ssl
  - hlua_socket_setoption
  - hlua_socket_settimeout
  - hlua_socket_new
  - hlua_checkchannel
  - hlua_channel_new
  - hlua_channel_filter
  - _hlua_channel_dup
  - _hlua_channel_insert
  - _hlua_channel_delete
  - hlua_channel_get_data_yield
  - hlua_channel_get_line_yield
  - hlua_channel_dup
  - hlua_channel_get
  - hlua_channel_getline_yield
  - hlua_channel_getline
  - hlua_channel_get_data
  - hlua_channel_get_line
  - hlua_channel_append
  - hlua_channel_prepend
  - hlua_channel_insert_data
  - hlua_channel_set_data
  - hlua_channel_del_data
  - hlua_channel_send_yield
  - hlua_channel_send
  - hlua_channel_forward_yield
  - hlua_channel_forward
  - hlua_channel_get_in_len
  - hlua_channel_is_full
  - hlua_channel_may_recv
  - hlua_channel_is_resp
  - hlua_channel_get_out_len
  - hlua_checkfetches
  - hlua_fetches_new
  - hlua_run_sample_fetch
  - hlua_checkconverters
  - hlua_converters_new
  - hlua_run_sample_conv
  - hlua_checkapplet_tcp
  - hlua_applet_tcp_new
  - hlua_applet_tcp_set_var
  - hlua_applet_tcp_unset_var
  - hlua_applet_tcp_get_var
  - hlua_applet_tcp_set_priv
  - hlua_applet_tcp_get_priv
  - hlua_applet_tcp_getline_yield
  - hlua_applet_tcp_getline
  - hlua_applet_tcp_recv_try
  - hlua_applet_tcp_recv_yield
  - hlua_applet_tcp_recv
  - hlua_applet_tcp_try_recv
  - hlua_applet_tcp_send_yield
  - hlua_applet_tcp_send
  - hlua_checkapplet_http
  - hlua_applet_http_new
  - hlua_applet_http_set_var
  - hlua_applet_http_unset_var
  - hlua_applet_http_get_var
  - hlua_applet_http_set_priv
  - hlua_applet_http_get_priv
  - hlua_applet_http_getline_yield
  - hlua_applet_http_getline
  - hlua_applet_http_recv_yield
  - hlua_applet_http_recv
  - hlua_applet_http_send_yield
  - hlua_applet_http_send
  - hlua_applet_http_addheader
  - hlua_applet_http_status
  - hlua_applet_http_send_response
  - hlua_applet_http_start_response_yield
  - hlua_applet_http_start_response
  - hlua_checkhttp
  - hlua_http_new
  - hlua_http_get_stline
  - hlua_http_get_headers
  - hlua_http_req_get_headers
  - hlua_http_res_get_headers
  - hlua_http_rep_hdr
  - hlua_http_req_rep_hdr
  - hlua_http_res_rep_hdr
  - hlua_http_req_rep_val
  - hlua_http_res_rep_val
  - hlua_http_del_hdr
  - hlua_http_req_del_hdr
  - hlua_http_res_del_hdr
  - hlua_http_add_hdr
  - hlua_http_req_add_hdr
  - hlua_http_res_add_hdr
  - hlua_http_req_set_hdr
  - hlua_http_res_set_hdr
  - hlua_http_req_set_meth
  - hlua_http_req_set_path
  - hlua_http_req_set_query
  - hlua_http_req_set_uri
  - hlua_http_res_set_status
  - hlua_checkhttpmsg
  - hlua_http_msg_new
  - hlua_http_msg_filter
  - hlua_http_msg_is_resp
  - hlua_http_msg_get_stline
  - hlua_http_msg_get_headers
  - hlua_http_msg_del_hdr
  - hlua_http_msg_rep_hdr
  - hlua_http_msg_rep_val
  - hlua_http_msg_add_hdr
  - hlua_http_msg_set_hdr
  - hlua_http_msg_set_meth
  - hlua_http_msg_set_path
  - hlua_http_msg_set_query
  - hlua_http_msg_set_uri
  - hlua_http_msg_set_status
  - hlua_http_msg_is_full
  - hlua_http_msg_may_recv
  - hlua_http_msg_is_eom
  - hlua_http_msg_get_in_len
  - hlua_http_msg_get_out_len
  - _hlua_http_msg_dup
  - _hlua_http_msg_insert
  - _hlua_http_msg_delete
  - hlua_http_msg_get_body
  - hlua_http_msg_append
  - hlua_http_msg_prepend
  - hlua_http_msg_insert_data
  - hlua_http_msg_del_data
  - hlua_http_msg_set_data
  - hlua_http_msg_send
  - hlua_http_msg_forward
  - hlua_http_msg_set_eom
  - hlua_http_msg_unset_eom
  - hlua_checkhttpclient
  - hlua_httpclient_gc
  - hlua_httpclient_new
  - hlua_httpclient_cb
  - hlua_httpclient_get_headers
  - hlua_httpclient_table_to_hdrs
  - hlua_httpclient_rcv_yield
  - hlua_httpclient_snd_yield
  - hlua_httpclient_send
  - hlua_httpclient_head
  - hlua_httpclient_get
  - hlua_httpclient_put
  - hlua_httpclient_post
  - hlua_httpclient_delete
  - hlua_checktxn
  - hlua_set_var
  - hlua_unset_var
  - hlua_get_var
  - hlua_set_priv
  - hlua_get_priv
  - hlua_txn_new
  - hlua_txn_deflog
  - hlua_txn_log
  - hlua_txn_log_debug
  - hlua_txn_log_info
  - hlua_txn_log_warning
  - hlua_txn_log_alert
  - hlua_txn_set_fc_mark
  - hlua_txn_set_fc_tos
  - hlua_txn_set_loglevel
  - hlua_txn_set_priority_class
  - hlua_txn_set_priority_offset
  - hlua_txn_forward_reply
  - hlua_txn_done
  - hlua_txn_reply_new
  - hlua_txn_reply_set_status
  - hlua_txn_reply_add_header
  - hlua_txn_reply_del_header
  - hlua_txn_reply_set_body
  - hlua_log
  - hlua_log_debug
  - hlua_log_info
  - hlua_log_warning
  - hlua_log_alert
  - hlua_sleep_yield
  - hlua_sleep
  - hlua_msleep
  - hlua_yield_yield
  - hlua_yield
  - hlua_wait
  - hlua_set_nice
  - hlua_coroutine_create
  - hlua_process_task
  - hlua_register_init
  - hlua_register_task
  - hlua_event_subscription_destroy
  - hlua_event_handler
  - hlua_event_hdl_cb_push_event_checkres
  - hlua_event_hdl_cb_push_args
  - hlua_event_runner
  - hlua_event_subscribe
  - hlua_check_event_sub_types
  - _hlua_new_event_sub_safe
  - hlua_new_event_sub_safe
  - hlua_event_sub
  - hlua_event_global_sub
  - hlua_sample_conv_wrapper
  - hlua_sample_fetch_wrapper
  - hlua_register_converters
  - hlua_register_fetches
  - hlua_set_wake_time
  - hlua_action
  - hlua_applet_wakeup
  - hlua_applet_tcp_init
  - hlua_applet_tcp_fct
  - hlua_applet_tcp_release
  - hlua_applet_http_init
  - hlua_applet_http_fct
  - hlua_applet_http_release
  - action_register_lua
  - action_register_service_http
  - hlua_register_action
  - action_register_service_tcp
  - hlua_register_service
  - hlua_cli_parse_fct
  - hlua_cli_io_handler_fct
  - hlua_cli_io_release_fct
  - hlua_register_cli
  - hlua_filter_init_per_thread
  - hlua_filter_deinit_per_thread
  - hlua_filter_init
  - hlua_filter_deinit
  - hlua_filter_new
  - hlua_filter_delete
  - hlua_filter_from_payload
  - hlua_filter_callback
  - hlua_filter_start_analyze
  - hlua_filter_end_analyze
  - hlua_filter_http_headers
  - hlua_filter_http_payload
  - hlua_filter_http_end
  - hlua_filter_tcp_payload
  - hlua_filter_parse_fct
  - hlua_register_data_filter
  - hlua_unregister_data_filter
  - hlua_register_filter
  - hlua_read_timeout
  - hlua_burst_timeout
  - hlua_session_timeout
  - hlua_task_timeout
  - hlua_applet_timeout
  - hlua_forced_yield
  - hlua_parse_maxmem
  - hlua_cfg_parse_log_loggers
  - hlua_cfg_parse_log_stderr
  - hlua_cfg_parse_bool_sample_conversion
  - hlua_load_state
  - hlua_load
  - hlua_load_per_thread
  - hlua_prepend_path
  - hlua_config_prepend_path
  - hlua_ckch_commit_yield
  - hlua_ckch_set
  - hlua_ckch_set
  - hlua_post_init_state
  - hlua_post_init
  - hlua_alloc
  - hlua_init_state
  - hlua_init
  - hlua_deinit
  - hlua_register_build_options
  source_file: /src/haproxy/src/hlua.c
- function_names:
  - hpack_encode_header
  source_file: /src/haproxy/src/hpack-enc.c
- function_names:
  - accept_queue_pop_sc
  - accept_queue_push_mp
  - accept_queue_process
  - accept_queue_init
  - accept_queue_deinit
  - li_init_per_thr
  - get_li_status
  - listener_set_state
  - enable_listener
  - stop_listener
  - default_add_listener
  - default_suspend_listener
  - default_resume_listener
  - suspend_listener
  - resume_listener
  - relax_listener
  - listener_full
  - limit_listener
  - dequeue_all_listeners
  - dequeue_proxy_listeners
  - default_unbind_listener
  - do_unbind_listener
  - unbind_listener
  - create_listeners
  - shard_info_attach
  - shard_info_detach
  - clone_listener
  - __delete_listener
  - delete_listener
  - listener_backlog
  - listener_uses_maxconn
  - listener_accept
  - listener_release
  - listener_queue_init
  - listener_queue_deinit
  - manage_global_listener_queue
  - bind_complete_thread_setup
  - bind_generate_guid
  - bind_register_keywords
  - bind_find_kw
  - bind_dump_kws
  - bind_find_best_kw
  - bind_conf_alloc
  - listener_state_str
  - smp_fetch_dconn
  - smp_fetch_so_id
  - smp_fetch_so_name
  - bind_parse_accept_proxy
  - bind_parse_accept_netscaler_cip
  - bind_parse_backlog
  - bind_parse_guid_prefix
  - bind_parse_id
  - bind_parse_args_list
  - bind_parse_maxconn
  - bind_parse_name
  - bind_parse_nbconn
  - bind_parse_nice
  - bind_parse_process
  - bind_parse_proto
  - bind_parse_shards
  - bind_parse_thread
  - cfg_parse_tune_listener_shards
  - cfg_parse_tune_listener_mq
  source_file: /src/haproxy/src/listener.c
- function_names:
  - task_kill
  - tasklet_kill
  - __tasklet_wakeup_on
  - __tasklet_wakeup_after
  - __task_wakeup
  - __task_queue
  - wake_expired_tasks
  - next_timer_expiry
  - run_tasks_from_lists
  - process_runnable_tasks
  - mworker_cleantasks
  - init_task
  - cfg_parse_tune_sched_low_latency
  source_file: /src/haproxy/src/task.c
- function_names:
  - bind_parse_quic_force_retry
  - parse_window_size
  - bind_parse_quic_cc_algo
  - bind_parse_quic_socket
  - cfg_parse_quic_tune_socket_owner
  - cfg_parse_quic_time
  - cfg_parse_quic_tune_setting
  - cfg_parse_quic_tune_setting0
  - cfg_parse_quic_tune_on_off
  - quic_parse_quic_initial
  source_file: /src/haproxy/src/cfgparse-quic.c
- function_names:
  - ssl_fill_stats
  - ha_ssl_write
  - ha_ssl_gets
  - ha_ssl_puts
  - ha_ssl_read
  - ha_ssl_ctrl
  - ha_ssl_new
  - ha_ssl_free
  - ssl_id_function
  - ssl_locking_function
  - ssl_locking_init
  - ssl_set_cert_crl_file
  - ssl_set_verify_locations_file
  - ssl_get_client_ca_file
  - ssl_sock_register_msg_callback
  - ssl_sock_register_msg_callbacks
  - ssl_sock_unregister_msg_callbacks
  - ssl_sock_get_ctx
  - ssl_sock_get_ssl_object
  - ssl_sock_dump_errors
  - ssl_init_single_engine
  - ssl_init_provider
  - ssl_async_fd_handler
  - ssl_async_fd_free
  - ssl_async_process_fds
  - ssl_hmac_init
  - ssl_tlsext_ticket_key_cb
  - tlskeys_ref_lookup
  - tlskeys_ref_lookupid
  - ssl_sock_update_tlskey_ref
  - ssl_sock_update_tlskey
  - tlskeys_finalize_config
  - ssl_sock_load_ocsp
  - ssl_sock_load_ocsp
  - ssl_sock_sctl_add_cbk
  - ssl_sock_sctl_parse_cbk
  - ssl_sock_load_sctl
  - ssl_sock_infocbk
  - ssl_sock_bind_verifycbk
  - ssl_sock_parse_heartbeat
  - ssl_sock_parse_clienthello
  - ssl_init_keylog
  - ssl_sock_msgcbk
  - ssl_sock_srv_select_protos
  - ssl_sock_advertise_npn_protos
  - ssl_sock_advertise_alpn_protos
  - ctx_set_SSLv3_func
  - ctx_set_TLSv10_func
  - ctx_set_TLSv11_func
  - ctx_set_TLSv12_func
  - ctx_set_TLSv13_func
  - ssl_set_SSLv3_func
  - ssl_set_TLSv10_func
  - ssl_set_TLSv11_func
  - ssl_set_TLSv12_func
  - ssl_set_TLSv13_func
  - ctx_set_SSLv3_func
  - ssl_set_SSLv3_func
  - ctx_set_TLSv10_func
  - ssl_set_TLSv10_func
  - ctx_set_TLSv11_func
  - ssl_set_TLSv11_func
  - ctx_set_TLSv12_func
  - ssl_set_TLSv12_func
  - ctx_set_TLSv13_func
  - ssl_set_TLSv13_func
  - ctx_set_None_func
  - ssl_set_None_func
  - ssl_new_dh_fromdata
  - ssl_get_dh_by_nid
  - ssl_get_dh_1024
  - ssl_get_dh_2048
  - ssl_get_dh_4096
  - ssl_get_tmp_dh
  - ssl_get_tmp_dh_cbk
  - ssl_sock_set_tmp_dh
  - ssl_sock_set_tmp_dh_from_pkey
  - ssl_sock_get_dh_from_bio
  - ssl_sock_get_dh_from_file
  - ssl_sock_load_global_dh_param_from_file
  - ckch_inst_add_cert_sni
  - ssl_sock_load_cert_sni
  - ssl_sock_load_dh_params
  - ssl_sock_load_cert_chain
  - ssl_sock_put_ckch_into_ctx
  - ssl_sock_put_srv_ckch_into_ctx
  - ckch_inst_new_load_store
  - ckch_inst_new_load_srv_store
  - ssl_sock_load_ckchs
  - ssl_sock_load_srv_ckchs
  - ssl_initialize_random
  - ssl_sock_load_cert_list_file
  - ssl_sock_load_cert
  - ssl_sock_load_srv_cert
  - ssl_sock_initial_ctx
  - sh_ssl_sess_free_blocks
  - sh_ssl_sess_first_block
  - sh_ssl_sess_store
  - ssl_sess_new_srv_cb
  - sh_ssl_sess_new_cb
  - sh_ssl_sess_get_cb
  - sh_ssl_sess_remove_cb
  - ssl_set_shctx
  - SSL_CTX_keylog
  - ssl_sock_prepare_ctx
  - ssl_sock_prep_ctx_and_inst
  - ssl_sock_srv_hostcheck
  - ssl_sock_srv_verifycbk
  - ssl_subscribe
  - ssl_unsubscribe
  - ssl_takeover
  - ssl_set_idle
  - ssl_set_used
  - ssl_add_xprt
  - ssl_remove_xprt
  - ssl_sock_io_cb
  - ssl_sock_to_buf
  - ssl_sock_from_buf
  - ssl_sock_close
  - ssl_sock_shutw
  - ssl_sock_get_pkey_algo
  - ssl_sock_get_cert_sig
  - ssl_sock_get_sni
  - ssl_sock_get_cipher_name
  - ssl_sock_get_proto_version
  - ssl_sock_set_alpn
  - ssl_sock_set_servername
  - ssl_sock_get_remote_common_name
  - ssl_sock_get_cert_used_sess
  - ssl_sock_get_cert_used_conn
  - ssl_sock_get_verify_result
  - ssl_sock_get_alpn
  - ssl_load_global_issuer_from_BIO
  - ssl_get0_issuer_chain
  - ssl_free_global_issuers
  - ssl_check_async_engine_count
  - ssl_sock_show_fd
  - tlskeys_list_get_next
  - tlskeys_ref_lookup_ref
  - cli_io_handler_tlskeys_files
  - cli_parse_show_tlskeys
  - cli_parse_set_tlskeys
  - ssl_provider_get_name_cb
  - ssl_provider_get_name_list
  - ssl_provider_clear_name_list
  - cli_io_handler_show_providers
  - ssl_action_wait_for_hs
  - ssl_parse_wait_for_hs
  - ssl_sock_sctl_free_func
  - ssl_sock_capture_free_func
  - ssl_sock_keylog_free_func
  - ssl_sock_clt_crt_free_func
  - ssl_sock_clt_sni_free_func
  - __ssl_sock_init
  - ssl_register_build_options
  - ssl_free_engines
  - ssl_unload_providers
  - ssl_free_dh
  - __ssl_sock_deinit
  source_file: /src/haproxy/src/ssl_sock.c
- function_names:
  - now_mono_time
  - now_mono_time_fast
  - now_cpu_time
  - now_cpu_time_fast
  - now_cpu_time_thread
  - clock_set_local_source
  - clock_setup_signal_timer
  - clock_update_local_date
  - clock_update_global_date
  - clock_init_process_date
  - clock_adjust_now_offset
  - clock_init_thread_date
  - clock_report_idle
  - clock_measure_idle
  - clock_leaving_poll
  - clock_entering_poll
  - timeofday_as_iso_us
  source_file: /src/haproxy/src/clock.c
- function_names:
  - quic_bind_socket
  - quic_connect_server
  - quic_alloc_rxbufs_listener
  - quic_bind_listener
  - quic_enable_listener
  - quic_disable_listener
  - quic_get_info
  - quic_bind_tid_prep
  - quic_bind_tid_commit
  - quic_bind_tid_reset
  - quic_alloc_dghdlrs
  - quic_deallocate_dghdlrs
  - quic_test_conn_socket_owner
  - quic_test_gso
  - quic_test_socketopts
  - quic_register_build_options
  source_file: /src/haproxy/src/proto_quic.c
- function_names:
  - __fd_clo
  - _update_fd
  - _do_poll
  - init_poll_per_thread
  - deinit_poll_per_thread
  - _do_init
  - _do_term
  - _do_test
  - _do_register
  source_file: /src/haproxy/src/ev_poll.c
- function_names:
  - ha_cpuset_zero
  - ha_cpuset_set
  - ha_cpuset_clr
  - ha_cpuset_and
  - ha_cpuset_or
  - ha_cpuset_isset
  - ha_cpuset_count
  - ha_cpuset_ffs
  - ha_cpuset_assign
  - ha_cpuset_isequal
  - ha_cpuset_size
  - parse_cpu_set
  - print_cpu_set
  - parse_cpumap
  source_file: /src/haproxy/src/cpuset.c
- function_names:
  - bbr_min_pipe_cwnd
  - is_inflight_too_high
  - bbr_is_in_a_probe_bw_state
  - bbr_reset_congestion_signals
  - bbr_reset_lower_bounds
  - bbr_init_round_counting
  - bbr_reset_full_bw
  - bbr_init_pacing_rate
  - bbr_set_send_quantum
  - bbr_enter_startup
  - bbr_enter_drain
  - bbr_enter_probe_rtt
  - bbr_save_cwnd
  - bbr_restore_cwnd
  - bbr_bdp_multiple
  - bbr_update_offload_budget
  - bbr_quantization_budget
  - bbr_inflight
  - bbr_update_max_inflight
  - bbr_set_pacing_rate_with_gain
  - bbr_set_pacing_rate
  - bbr_probe_rtt_cwnd
  - bbr_bound_cwnd_for_probe_rtt
  - bbr_inflight_with_headroom
  - bbr_bound_cwnd_for_model
  - bbr_set_cwnd
  - bbr_init
  - bbr_check_full_bw_reached
  - bbr_check_startup_high_loss
  - bbr_start_round
  - bbr_update_round
  - bbr_pick_probe_wait
  - bbr_raise_inflight_hi_slope
  - bbr_advance_max_bw_filter
  - bbr_start_probe_bw_down
  - bbr_start_probe_bw_cruise
  - bbr_start_probe_bw_refill
  - bbr_start_probe_bw_up
  - bbr_exit_probe_rtt
  - bbr_target_inflight
  - bbr_handle_inflight_too_high
  - bbr_is_inflight_too_high
  - bbr_probe_inflight_hi_upward
  - bbr_adapt_upper_bounds
  - bbr_has_elapsed_in_phase
  - bbr_is_reno_coexistence_probe_time
  - bbr_is_time_to_probe_bw
  - bbr_is_time_to_cruise
  - bbr_is_time_to_go_down
  - bbr_check_probe_rtt_done
  - bbr_mark_connection_app_limited
  - bbr_update_max_bw
  - bbr_init_lower_bounds
  - bbr_loss_lower_bounds
  - bbr_is_probing_bw
  - bbr_adapt_lower_bounds_from_congestion
  - bbr_update_latest_delivery_signals
  - bbr_update_congestion_signals
  - bbr_update_ack_aggregation
  - bbr_check_startup_done
  - bbr_check_drain_done
  - bbr_update_probe_bw_cycle_phase
  - bbr_update_min_rtt
  - bbr_handle_probe_rtt
  - bbr_check_probe_rtt
  - bbr_advance_latest_delivery_signals
  - bbr_bound_bw_for_model
  - bbr_update_model_and_state
  - bbr_update_control_parameters
  - in_recovery_period
  - bbr_handle_recovery
  - bbr_update_on_ack
  - bbr_inflight_hi_from_lost_packet
  - bbr_note_loss
  - bbr_handle_lost_packet
  - bbr_update_on_loss
  - bbr_handle_restart_from_idle
  - bbr_on_transmit
  - bbr_drs_on_transmit
  - bbr_congestion_event
  - bbr_get_drs
  - bbr_pacing_inter
  - bbr_pacing_burst
  - bbr_check_app_limited
  - bbr_state_str
  - bbr_state_cli
  - bbr_check
  source_file: /src/haproxy/src/quic_cc_bbr.c
- function_names:
  - ring_init
  - ring_make_from_area
  - ring_new
  - ring_resize
  - ring_free
  - ring_write
  - ring_attach
  - ring_detach_appctx
  - ring_attach_cli
  - ring_dispatch_messages
  - cli_io_handler_show_ring
  - cli_io_release_show_ring
  - ring_max_payload
  - cfg_parse_tune_ring_queues
  source_file: /src/haproxy/src/ring.c
- function_names:
  - hpack_dht_dump
  - hpack_dht_check_consistency
  - hpack_dht_defrag
  - __hpack_dht_make_room
  - hpack_dht_insert
  source_file: /src/haproxy/src/hpack-tbl.c
- function_names:
  - hlua_checkboolean
  - hlua_fcn_pushunsigned
  - hlua_fcn_pushunsigned_ll
  - hlua_fcn_pushfield
  - hlua_pushstrippedstring
  - hlua_class_const_int
  - hlua_class_const_str
  - hlua_class_function
  - hlua_dump_object
  - hlua_register_metatable
  - hlua_checkudata
  - hlua_now
  - hlua_parse_date
  - hlua_http_date
  - hlua_imf_date
  - hlua_rfc850_date
  - hlua_asctime_date
  - hlua_get_info
  - hlua_check_concat
  - hlua_concat_add
  - hlua_concat_dump
  - hlua_concat_new
  - concat_tostring
  - hlua_concat_init
  - hlua_check_queue
  - hlua_queue_size
  - hlua_queue_alarm
  - hlua_queue_push
  - _hlua_queue_pop
  - hlua_queue_pop
  - _hlua_queue_pop_wait
  - hlua_queue_pop_wait
  - hlua_queue_new
  - hlua_queue_gc
  - hlua_queue_init
  - hlua_fcn_new_stktable
  - hlua_check_stktable
  - hlua_stktable_info
  - hlua_stktable_entry
  - hlua_stktable_lookup
  - hlua_error
  - hlua_stktable_dump
  - hlua_fcn_new_listener
  - hlua_check_listener
  - hlua_listener_get_stats
  - hlua_server_gc
  - hlua_check_server
  - hlua_server_get_stats
  - hlua_server_get_proxy
  - hlua_server_get_addr
  - hlua_server_get_puid
  - hlua_server_get_rid
  - hlua_server_get_name
  - hlua_server_index
  - hlua_server_is_draining
  - hlua_server_is_backup
  - hlua_server_is_dynamic
  - hlua_server_get_cur_sess
  - hlua_server_get_pend_conn
  - hlua_server_set_maxconn
  - hlua_server_get_maxconn
  - hlua_server_set_weight
  - hlua_server_get_weight
  - hlua_server_set_addr
  - hlua_server_shut_sess
  - hlua_server_set_drain
  - hlua_server_set_maint
  - hlua_server_set_ready
  - hlua_server_check_enable
  - hlua_server_check_disable
  - hlua_server_check_force_up
  - hlua_server_check_force_nolb
  - hlua_server_check_force_down
  - hlua_server_agent_enable
  - hlua_server_agent_disable
  - hlua_server_agent_force_up
  - hlua_server_agent_force_down
  - hlua_server_tracking
  - hlua_server_get_trackers
  - hlua_server_event_sub
  - hlua_fcn_new_server
  - hlua_check_server_list
  - hlua_listable_servers_newindex
  - hlua_listable_servers_index
  - hlua_listable_servers_pairs_iterator
  - hlua_listable_servers_pairs
  - hlua_listable_servers
  - hlua_check_proxy
  - hlua_proxy_get_name
  - hlua_proxy_get_uuid
  - hlua_proxy_index
  - hlua_proxy_pause
  - hlua_proxy_resume
  - hlua_proxy_stop
  - hlua_proxy_get_cap
  - hlua_proxy_get_stats
  - hlua_proxy_get_mode
  - hlua_proxy_shut_bcksess
  - hlua_proxy_get_srv_act
  - hlua_proxy_get_srv_bck
  - hlua_proxy_get_mailers
  - hlua_fcn_new_proxy
  - hlua_check_proxy_list
  - hlua_listable_proxies_newindex
  - hlua_listable_proxies_index
  - hlua_listable_proxies_match
  - hlua_listable_proxies_pairs_iterator
  - hlua_listable_proxies_pairs
  - hlua_listable_proxies
  - hlua_event_sub_unsub
  - hlua_event_sub_gc
  - hlua_fcn_new_event_sub
  - hlua_tokenize
  - hlua_parse_addr
  - hlua_match_addr
  - hlua_check_regex
  - hlua_regex_comp
  - hlua_regex_exec
  - hlua_regex_match
  - hlua_regex_free
  - hlua_patref_get_name
  - hlua_patref_is_map
  - _hlua_patref_clear
  - hlua_patref_commit
  - hlua_patref_giveup
  - hlua_patref_prepare
  - hlua_patref_purge
  - hlua_patref_add
  - _hlua_patref_add_bulk
  - hlua_patref_add_bulk
  - hlua_patref_del
  - hlua_patref_set
  - hlua_patref_event_sub
  - hlua_fcn_new_patref
  - hlua_patref_gc
  - hlua_listable_patref_newindex
  - hlua_listable_patref_index
  - _hlua_listable_patref_pairs_iterator
  - hlua_listable_patref_pairs_iterator
  - hlua_listable_patref_pairs
  - hlua_fcn_reg_core_fcn
  source_file: /src/haproxy/src/hlua_fcn.c
- function_names:
  - srv_state_srv_update
  - srv_state_px_update
  - srv_state_get_version
  - srv_state_parse_line
  - srv_state_parse_and_store_line
  - srv_state_get_filepath
  - apply_server_state
  source_file: /src/haproxy/src/server_state.c
- function_names:
  - ssl_sock_get_ocsp_arg_kt_index
  - ssl_sock_ocsp_stapling_cbk
  - ssl_ocsp_build_response_key
  - ssl_sock_load_ocsp_response
  - ssl_sock_update_ocsp_response
  - ssl_sock_free_ocsp_data
  - ssl_sock_free_ocsp
  - ssl_sock_free_ocsp_instance
  - ocsp_certid_print
  - ssl_ocsp_response_print_base64
  - ssl_get_ocspresponse_detail
  - cli_io_handler_show_ocspresponse_detail
  - ssl_sock_ocsp_free_func
  - ssl_ocsp_get_uri_from_cert
  - ssl_ocsp_create_request_details
  - ssl_create_ocsp_update_task
  - ssl_ocsp_task_schedule
  - ssl_destroy_ocsp_update_task
  - ssl_ocsp_set_next_update
  - ssl_ocsp_update_insert
  - ssl_ocsp_update_insert_after_error
  - ocsp_update_response_stline_cb
  - ocsp_update_response_headers_cb
  - ocsp_update_response_body_cb
  - ocsp_update_response_end_cb
  - ssl_ocsp_send_log
  - ssl_ocsp_update_responses
  - ssl_ocsp_update_precheck
  - cli_parse_update_ocsp_response
  - cli_parse_set_ocspresponse
  - cli_parse_show_ocspresponse
  - cli_io_handler_show_ocspresponse
  - cli_release_show_ocspresponse
  - cli_parse_show_ocsp_updates
  - dump_ocsp_update_info
  - cli_io_handler_show_ocsp_updates
  - cli_release_show_ocsp_updates
  - ssl_parse_global_ocsp_maxdelay
  - ssl_parse_global_ocsp_mindelay
  - ssl_parse_global_ocsp_update_mode
  - ssl_parse_global_ocsp_update_disable
  - ocsp_update_parse_global_http_proxy
  - ocsp_update_init
  - ocsp_update_postparser_init
  source_file: /src/haproxy/src/ssl_ocsp.c
- function_names:
  - session_new
  - session_free
  - conn_session_free
  - session_count_new
  - session_accept_fd
  - session_prepare_log_prefix
  - session_embryonic_build_legacy_err
  - session_kill_embryonic
  - session_expire_embryonic
  - conn_complete_session
  - __session_add_glitch_ctr
  source_file: /src/haproxy/src/session.c
- function_names:
  - qc_ssl_set_quic_transport_params
  - qc_ssl_crypto_data_cpy
  - ha_quic_set_encryption_secrets
  - ha_quic_set_read_secret
  - ha_quic_set_write_secret
  - ha_quic_add_handshake_data
  - ha_quic_flush_flight
  - ha_quic_send_alert
  - ssl_quic_initial_ctx
  - qc_ssl_dump_errors
  - qc_ssl_provide_quic_data
  - qc_ssl_provide_all_quic_data
  - qc_ssl_sess_init
  - qc_set_quic_early_data_enabled
  - qc_alloc_ssl_sock_ctx
  - __quic_conn_init
  - __quic_conn_deinit
  source_file: /src/haproxy/src/quic_ssl.c
- function_names:
  - protocol_register
  - protocol_unregister
  - protocol_clrf_all
  - protocol_setf_all
  - protocol_supports_flag
  - protocol_may_bind_quic
  - protocol_bind_all
  - protocol_unbind_all
  - protocol_stop_now
  - protocol_pause_all
  - protocol_resume_all
  - protocol_enable_all
  source_file: /src/haproxy/src/protocol.c
- function_names:
  - is_delimiter
  - make_4delim
  - pat_parse_nothing
  - pat_parse_str
  - pat_parse_bin
  - pat_parse_reg
  - pat_parse_int
  - pat_parse_dotted_ver
  - pat_parse_ip
  - pat_match_nothing
  - pat_match_ensure_str
  - pat_match_str
  - pat_match_bin
  - pat_match_regm
  - pat_match_reg
  - pat_match_beg
  - pat_match_end
  - pat_match_sub
  - match_word
  - pat_match_dir
  - pat_match_dom
  - pat_match_int
  - pat_match_len
  - _pat_match_tree_ipv4
  - _pat_match_tree_ipv6
  - pat_match_ip
  - pat_unlink_from_head
  - free_pattern_tree
  - pat_prune_gen
  - pat_idx_list_val
  - pat_idx_list_ptr
  - pat_idx_list_str
  - pat_idx_list_reg_cap
  - pat_idx_list_reg
  - pat_idx_list_regm
  - pat_idx_tree_ip
  - pat_idx_tree_str
  - pat_idx_tree_pfx
  - pat_delete_gen
  - pattern_init_expr
  - pattern_init_head
  - pat_ref_lookup
  - pat_ref_lookupid
  - pat_ref_delete_by_ptr
  - pat_ref_delete_by_id
  - pat_ref_gen_delete
  - pat_ref_delete
  - pat_ref_gen_find_elt
  - pat_ref_find_elt
  - pat_ref_set_elt
  - pat_ref_set_by_id
  - pat_ref_set_from_node
  - pat_ref_set_elt_duplicate
  - pat_ref_gen_set
  - pat_ref_set
  - _pat_ref_new
  - pat_ref_free
  - pat_ref_new
  - pat_ref_newid
  - pat_ref_append
  - pat_ref_push
  - pat_ref_commit_elt
  - pat_ref_load
  - pat_ref_add
  - pat_ref_purge_range
  - pat_ref_prune
  - pattern_lookup_expr
  - pattern_new_expr
  - pat_ref_read_from_file_smp
  - pat_ref_read_from_file
  - pattern_read_from_file
  - pattern_exec_match
  - pattern_prune
  - cmp_pat_ref
  - pattern_finalize_config
  - pattern_per_thread_lru_alloc
  - pattern_per_thread_lru_free
  source_file: /src/haproxy/src/pattern.c
- function_names:
  - mworker_ext_launch_all
  - cfg_parse_program
  source_file: /src/haproxy/src/mworker-prog.c
- function_names:
  - email_alert_free
  - process_email_alert
  - init_email_alert
  - free_email_alert
  - enqueue_one_email_alert
  - enqueue_email_alert
  - send_email_alert
  source_file: /src/haproxy/src/mailers.c
- function_names:
  - h2_fill_stats
  - h2s_sc
  - h2_trace
  - h2_trace_fill_ctx
  - h2c_report_term_evt
  - h2c_read0_pending
  - h2c_may_expire
  - h2c_max_concurrent_streams
  - _h2s_rxbuf_head
  - _h2s_rxbuf_tail
  - h2s_rxbuf_head
  - h2s_rxbuf_tail
  - h2s_rxbuf_cnt
  - h2s_get_rxbuf
  - h2s_put_rxbuf
  - h2s_may_append_to_rxbuf
  - h2c_update_timeout
  - h2c_is_dead
  - h2_recv_allowed
  - h2_may_demux
  - h2c_restart_reading
  - h2_frt_has_too_many_sc
  - h2_buf_available
  - h2_get_buf
  - h2_release_buf
  - h2_release_mbuf
  - h2_streams_left
  - h2_used_streams
  - h2_avail_streams
  - _h2_trace_header
  - h2_trace_header
  - h2_encode_header
  - h2_init
  - h2c_get_next_sid
  - h2c_st_by_id
  - h2_release
  - h2s_id
  - h2s_mws
  - h2s_is_forwardable_abort
  - h2c_error
  - h2s_error
  - __maybe_unused::h2s_notify_recv
  - __maybe_unused::h2s_notify_send
  - __maybe_unused::h2s_alert
  - _h2c_report_glitch
  - h2_set_frame_size
  - h2_get_buf_bytes
  - h2_get_n16
  - h2_get_n32
  - h2_get_n64
  - h2_peek_frame_hdr
  - h2_skip_frame_hdr
  - h2_get_frame_hdr
  - h2_fragment_headers
  - h2s_count_as_receiving
  - h2s_no_longer_receiving
  - h2s_close
  - h2s_propagate_term_flags
  - h2s_destroy
  - h2s_new
  - h2c_frt_stream_new
  - h2c_bck_stream_new
  - h2c_send_settings
  - h2c_frt_recv_preface
  - h2c_bck_send_preface
  - h2c_send_goaway_error
  - h2s_send_rst_stream
  - h2c_send_rst_stream
  - h2_send_empty_data_es
  - h2s_wake_one_stream
  - h2_wake_some_streams
  - h2c_unblock_sfctl
  - h2c_handle_settings
  - h2c_ack_settings
  - h2c_handle_ping
  - h2c_send_window_update
  - h2c_send_conn_wu
  - h2c_update_strm_rx_win
  - h2c_send_strm_wu
  - h2c_ack_ping
  - h2c_handle_window_update
  - h2c_handle_goaway
  - h2c_handle_priority
  - h2c_handle_rst_stream
  - h2c_frt_handle_headers
  - h2c_bck_handle_headers
  - h2c_handle_data
  - h2_frame_check_vs_state
  - h2_conn_reverse
  - h2_process_demux
  - h2_resume_each_sending_h2s
  - h2_remove_from_list
  - h2_process_mux
  - h2_recv
  - h2_send
  - h2_io_cb
  - h2_process
  - h2_wake
  - h2_timeout_task
  - h2_attach
  - h2_get_first_sc
  - h2_ctl
  - h2_sctl
  - h2_destroy
  - h2_detach
  - h2_do_shutr
  - h2_do_shutw
  - h2_deferred_shut
  - h2_shut
  - h2c_dec_hdrs
  - h2_frt_transfer_data
  - h2s_snd_fhdrs
  - h2s_snd_bhdrs
  - h2s_make_data
  - h2s_skip_data
  - h2s_make_trailers
  - h2_subscribe
  - h2_unsubscribe
  - h2_rcv_buf
  - h2_snd_buf
  - h2_nego_ff
  - h2_done_ff
  - h2_resume_ff
  - h2_dump_h2s_info
  - h2_dump_h2c_info
  - h2_show_fd
  - h2_show_sd
  - h2_takeover
  - h2_parse_glitches_threshold
  - h2_parse_header_table_size
  - h2_parse_initial_window_size
  - h2_parse_max_concurrent_streams
  - h2_parse_max_total_streams
  - h2_parse_max_frame_size
  - h2_parse_rxbuf
  - h2_parse_zero_copy_fwd_snd
  - init_h2
  source_file: /src/haproxy/src/mux_h2.c
- function_names:
  - fcgi_encode_record_hdr
  - fcgi_decode_record_hdr
  - fcgi_encode_begin_request
  - fcgi_encode_param
  - fcgi_decode_param
  - fcgi_aligned_decode_param
  - fcgi_decode_end_request
  source_file: /src/haproxy/src/fcgi.c
- function_names:
  - eb_delete
  - eb_insert_dup
  - eb_memcmp
  source_file: /src/haproxy/src/ebtree.c
- function_names:
  - ctrl_msg_type_str
  - peers_trace
  - statuscode_str
  - peer_app_state_str
  - peer_learn_state_str
  - intencode
  - intdecode
  - peer_prepare_hellomsg
  - peer_prepare_status_successmsg
  - peer_prepare_status_errormsg
  - peer_set_update_msg_type
  - peer_prepare_updatemsg
  - peer_prepare_switchmsg
  - peer_prepare_ackmsg
  - __peer_session_deinit
  - peer_session_init
  - peer_session_release
  - peer_get_version
  - peer_getline
  - peer_send_msg
  - peer_send_hellomsg
  - peer_send_status_successmsg
  - peer_send_status_errormsg
  - peer_send_switchmsg
  - peer_send_ackmsg
  - peer_send_updatemsg
  - peer_prepare_control_msg
  - peer_send_resync_reqmsg
  - peer_send_resync_confirmsg
  - peer_send_resync_finishedmsg
  - peer_send_heartbeatmsg
  - peer_prepare_error_msg
  - peer_send_error_size_limitmsg
  - peer_send_error_protomsg
  - peer_teach_process_stksess_lookup
  - peer_teach_stage1_stksess_lookup
  - peer_teach_stage2_stksess_lookup
  - peer_send_teachmsgs
  - peer_send_teach_process_msgs
  - peer_send_teach_stage1_msgs
  - peer_send_teach_stage2_msgs
  - peer_treat_updatemsg
  - peer_treat_ackmsg
  - peer_treat_switchmsg
  - peer_treat_definemsg
  - peer_recv_msg
  - peer_treat_awaited_msg
  - peer_send_msgs
  - peer_getline_version
  - peer_getline_host
  - peer_getline_last
  - init_connected_peer
  - peer_io_handler
  - peer_session_forceshutdown
  - peers_setup_frontend
  - peer_session_create
  - clear_peer_learning_status
  - sync_peer_learn_state
  - sync_peer_app_state
  - __process_running_peer_sync
  - __process_stopping_peer_sync
  - process_peer_sync
  - peers_init_sync
  - new_dcache_tx
  - new_dcache
  - dcache_tx_lookup_value
  - flush_dcache
  - dcache_tx_insert
  - peers_alloc_dcache
  - peers_register_table
  - cli_parse_show_peers
  - peers_dump_head
  - peers_dump_peer
  - cli_io_handler_show_peers
  - peers_register_keywords
  - cfg_parse_max_updt_at_once
  source_file: /src/haproxy/src/peers.c
- function_names:
  - CEB_FDECL3
  - CEB_FDECL2
  - CEB_FDECL2
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  source_file: /src/haproxy/src/cebuis_tree.c
- function_names:
  - raise_rlim_nofile
  - is_any_limit_configured
  - compute_ideal_maxpipes
  - compute_ideal_maxconn
  - compute_ideal_maxsock
  - check_if_maxsock_permitted
  - set_global_maxconn
  - apply_nofile_limit
  - apply_memory_limit
  - check_nofile_lim_and_prealloc_fd
  source_file: /src/haproxy/src/limits.c
- function_names:
  - ha_dump_backtrace
  - ha_backtrace_to_stderr
  - ha_thread_dump_one
  - ha_thread_dump_fill
  - ha_thread_dump_done
  - ha_task_dump
  - cli_io_handler_show_threads
  - debug_parse_cli_show_libs
  - debug_parse_cli_show_dev
  - ha_panic
  - ha_stuck_warning
  - complain
  - debug_parse_cli_exit
  - debug_parse_cli_bug
  - debug_parse_cli_warn
  - debug_parse_cli_check
  - debug_parse_cli_close
  - debug_run_cli_deadlock
  - debug_parse_cli_deadlock
  - debug_parse_cli_delay
  - debug_parse_cli_log
  - debug_parse_cli_loop
  - debug_parse_cli_panic
  - debug_parse_cli_exec
  - debug_delay_inj_sighandler
  - debug_parse_cli_hex
  - debug_parse_cli_sym
  - debug_parse_cli_tkill
  - debug_parse_cli_hash
  - debug_parse_cli_write
  - debug_parse_cli_stream
  - debug_parse_cli_task
  - debug_delay_inj_task
  - debug_parse_delay_inj
  - debug_task_handler
  - debug_tasklet_handler
  - debug_parse_cli_sched
  - debug_trace_task
  - debug_parse_cli_trace
  - debug_parse_cli_fd
  - debug_iohandler_fd
  - debug_parse_cli_memstats
  - debug_iohandler_memstats
  - debug_release_memstats
  - debug_parse_cli_counters
  - debug_iohandler_counters
  - debug_handler
  - init_debug_per_thread
  - init_debug
  - feed_post_mortem_linux
  - feed_post_mortem
  - deinit_post_mortem
  - post_mortem_add_component
  - feed_post_mortem_late
  - list_unittests
  source_file: /src/haproxy/src/debug.c
- function_names:
  - ebis_lookup
  - ebis_insert
  source_file: /src/haproxy/src/ebistree.c
- function_names:
  - memprof_die
  - memprof_init
  - memprof_malloc_initial_handler
  - memprof_calloc_initial_handler
  - memprof_realloc_initial_handler
  - memprof_strdup_initial_handler
  - memprof_free_initial_handler
  - memprof_strndup_initial_handler
  - memprof_valloc_initial_handler
  - memprof_pvalloc_initial_handler
  - memprof_memalign_initial_handler
  - memprof_aligned_alloc_initial_handler
  - memprof_posix_memalign_initial_handler
  - memprof_get_bin
  - malloc
  - calloc
  - realloc
  - strdup
  - free
  - strndup
  - valloc
  - pvalloc
  - memalign
  - aligned_alloc
  - posix_memalign
  - memprof_remove_stale_info
  - report_stolen_time
  - activity_count_runtime
  - cfg_parse_prof_memory
  - cfg_parse_prof_tasks
  - cli_parse_set_profiling
  - cmp_sched_activity_calls
  - cmp_sched_activity_addr
  - cmp_sched_activity_cpu
  - cmp_memprof_stats
  - cmp_memprof_addr
  - sched_activity_entry
  - cli_io_handler_show_profiling
  - cli_parse_show_profiling
  - cli_io_handler_show_tasks
  - cli_io_handler_show_activity
  - cli_parse_show_activity
  source_file: /src/haproxy/src/activity.c
- function_names:
  - quic_cc_nocc_init
  - quic_cc_nocc_slow_start
  - quic_cc_nocc_ss_cb
  - quic_cc_nocc_ca_cb
  - quic_cc_nocc_rp_cb
  - quic_cc_nocc_state_trace
  - quic_cc_nocc_event
  source_file: /src/haproxy/src/quic_cc_nocc.c
- function_names:
  - quic_fill_stats
  - quic_stats_transp_err_count_inc
  source_file: /src/haproxy/src/quic_stats.c
- function_names:
  - cbuf_new
  - cbuf_free
  source_file: /src/haproxy/src/cbuf.c
- function_names:
  - pt_sc
  - pt_trace_buf
  - pt_trace
  - mux_pt_report_term_evt
  - mux_pt_destroy
  - mux_pt_io_cb
  - mux_pt_init
  - mux_pt_wake
  - mux_pt_attach
  - mux_pt_get_first_sc
  - mux_pt_destroy_meth
  - mux_pt_detach
  - mux_pt_used_streams
  - mux_pt_avail_streams
  - mux_pt_shut
  - mux_pt_rcv_buf
  - mux_pt_snd_buf
  - mux_pt_opposite_sd
  - mux_pt_nego_ff
  - mux_pt_done_ff
  - mux_pt_fastfwd
  - mux_pt_resume_fastfwd
  - mux_pt_subscribe
  - mux_pt_unsubscribe
  - mux_pt_ctl
  - mux_pt_sctl
  - cfg_parse_pt_zero_copy_fwd
  source_file: /src/haproxy/src/mux_pt.c
- function_names:
  - quic_trace
  - quic_dump_qc_info
  source_file: /src/haproxy/src/quic_trace.c
- function_names:
  - qfctl_init
  - qfctl_rblocked
  - qfctl_sblocked
  - qfctl_set_max
  - qfctl_rinc
  - qfctl_sinc
  - qfctl_rcap
  source_file: /src/haproxy/src/quic_fctl.c
- function_names:
  - quic_free_arngs
  - sack_gap
  - quic_arngs_set_enc_sz
  - quic_insert_new_range
  - quic_update_ack_ranges_list
  - qc_treat_ack_of_ack
  source_file: /src/haproxy/src/quic_ack.c
- function_names:
  - event_hdl_deinit
  - event_hdl_init
  - event_hdl_id
  - event_hdl_sub_type_to_string
  - event_hdl_string_to_sub_type
  - event_hdl_sub_type_print
  - event_hdl_report_hdl_state
  - _event_hdl_async_data_drop
  - event_hdl_async_free_event
  - event_hdl_task_wakeup
  - event_hdl_async_task_default
  - _event_hdl_getsub
  - _event_hdl_getsub_async
  - _event_hdl_resub
  - _event_hdl_resub_async
  - _event_hdl_unsubscribe
  - _event_hdl_unsubscribe_async
  - event_hdl_getsub_sync
  - event_hdl_getsub_async
  - event_hdl_resub_sync
  - event_hdl_resub_async
  - event_hdl_unsubscribe_sync
  - event_hdl_unsubscribe_async
  - event_hdl_subscribe_ptr
  - event_hdl_take
  - event_hdl_drop
  - event_hdl_resubscribe
  - _event_hdl_pause
  - event_hdl_pause
  - _event_hdl_resume
  - event_hdl_resume
  - event_hdl_unsubscribe
  - event_hdl_subscribe
  - event_hdl_lookup_unsubscribe
  - event_hdl_lookup_resubscribe
  - event_hdl_lookup_pause
  - event_hdl_lookup_resume
  - event_hdl_lookup_take
  - _event_hdl_publish
  - event_hdl_publish
  - event_hdl_sub_list_init
  - _event_hdl_sub_list_destroy
  - event_hdl_sub_list_destroy
  - event_hdl_parse_max_events_at_once
  source_file: /src/haproxy/src/event_hdl.c
- function_names:
  - smp_fetch_src
  - smp_fetch_sport
  - smp_fetch_reused
  - smp_fetch_dst
  - smp_fetch_dst_is_local
  - smp_fetch_src_is_local
  - smp_fetch_dport
  - val_fc_time_value
  - var_fc_counter
  - get_tcp_info
  - smp_fetch_fc_rtt
  - smp_fetch_fc_rttvar
  - smp_fetch_bc_rtt
  - smp_fetch_bc_rttvar
  - smp_fetch_fc_unacked
  - smp_fetch_fc_sacked
  - smp_fetch_fc_lost
  - smp_fetch_fc_retrans
  - smp_fetch_fc_fackets
  - smp_fetch_fc_reordering
  - smp_check_accept_date_unit
  - smp_fetch_accept_date
  source_file: /src/haproxy/src/tcp_sample.c
- function_names:
  - bind_parse_mode
  - bind_parse_gid
  - bind_parse_group
  - bind_parse_uid
  - bind_parse_user
  source_file: /src/haproxy/src/cfgparse-unix.c
- function_names:
  - quic_cc_cubic_reset
  - quic_cc_cubic_init
  - cubic_root
  - quic_cubic_update
  - quic_cc_cubic_slow_start
  - quic_enter_recovery
  - quic_cc_cubic_ss_cb
  - quic_cc_cubic_ca_cb
  - quic_cc_cubic_cs_cb
  - quic_cc_cubic_rp_cb
  - quic_cc_cubic_event
  - quic_cc_cubic_hystart_start_round
  - quic_cc_cubic_state_trace
  - quic_cc_cubic_state_cli
  - quic_cc_cubic_check
  source_file: /src/haproxy/src/quic_cc_cubic.c
- function_names:
  - ncb_peek
  - ncb_reserved
  - ncb_write_off
  - ncb_read_off
  - ncb_inc_off
  - ncb_off_reduced
  - ncb_blk_is_null
  - ncb_blk_is_last
  - ncb_blk_first
  - ncb_blk_next
  - ncb_blk_find
  - ncb_blk_off
  - ncb_check_insert
  - ncb_fill_data_blk
  - ncb_fill_gap_blk
  - ncb_init
  - ncb_make
  - ncb_total_data
  - ncb_is_empty
  - ncb_is_full
  - ncb_is_fragmented
  - ncb_data
  - ncb_add
  - ncb_advance
  - ncbuf_printf
  - ncb_generate_rand_off
  - ncb_print_blk
  - ncb_is_null_blk
  - ncb_loop
  - ncbuf_print_buf
  - ncbuf_test
  - main
  source_file: /src/haproxy/src/ncbuf.c
- function_names:
  - quic_saddr_cpy
  - quic_generate_retry_token_aad
  - quic_generate_retry_token
  - parse_retry_token
  - quic_retry_token_check
  source_file: /src/haproxy/src/quic_retry.c
- function_names:
  - jwt_parse_alg
  - jwt_tokenize
  - jwt_tree_load_cert
  - jwt_jwsverify_hmac
  - convert_ecdsa_sig
  - jwt_jwsverify_rsa_ecdsa
  - jwt_verify
  - jwt_deinit
  source_file: /src/haproxy/src/jwt.c
- function_names:
  - CEB_FDECL4
  - CEB_FDECL2
  - CEB_FDECL2
  - CEB_FDECL4
  - CEB_FDECL4
  - CEB_FDECL4
  - CEB_FDECL4
  - CEB_FDECL4
  - CEB_FDECL4
  - CEB_FDECL4
  - CEB_FDECL4
  - CEB_FDECL4
  source_file: /src/haproxy/src/cebub_tree.c
- function_names:
  - ss_set_server_status_down
  - ss_set_server_status_up
  - recalc_server_ss
  - init_server_ss
  - ss_get_server
  source_file: /src/haproxy/src/lb_ss.c
- function_names:
  - http_get_stline
  - http_get_hdrs_size
  - __http_find_header
  - http_find_header
  - http_find_str_header
  - http_find_pfx_header
  - http_find_sfx_header
  - http_find_sub_header
  - http_match_header
  - http_add_header
  - http_replace_stline
  - http_replace_req_meth
  - http_replace_req_uri
  - http_replace_req_path
  - http_replace_req_query
  - http_replace_res_status
  - http_replace_res_reason
  - http_append_header_value
  - http_prepend_header_value
  - http_replace_header_value
  - http_replace_header
  - http_remove_header
  - http_update_authority
  - http_update_host
  - http_get_htx_hdr
  - http_get_htx_fhdr
  - http_str_to_htx
  - release_http_reply
  - http_htx_init
  - http_htx_deinit
  - http_load_errorfile
  - http_load_errormsg
  - http_parse_errorfile
  - http_parse_errorloc
  - http_check_http_reply
  - http_parse_http_reply
  - http_scheme_based_normalize
  - http_cookie_register
  - http_cookie_merge
  - proxy_parse_errorloc
  - proxy_parse_errorfile
  - proxy_parse_errorfiles
  - proxy_parse_http_error
  - proxy_check_errors
  - post_check_errors
  - proxy_dup_default_conf_errors
  - proxy_release_conf_errors
  - cfg_parse_http_errors
  - smp_fetch_is_htx
  - smp_fetch_htx_nbblks
  - smp_fetch_htx_size
  - smp_fetch_htx_data
  - smp_fetch_htx_used
  - smp_fetch_htx_free
  - smp_fetch_htx_free_data
  - smp_fetch_htx_has_eom
  - smp_fetch_htx_blk_type
  - smp_fetch_htx_blk_size
  - smp_fetch_htx_blk_stline
  - smp_fetch_htx_blk_hdrname
  - smp_fetch_htx_blk_hdrval
  - smp_fetch_htx_blk_data
  - val_blk_arg
  source_file: /src/haproxy/src/http_htx.c
- function_names:
  - fcgi_param_name
  - fcgi_app_find_by_name
  - find_px_fcgi_conf
  - find_strm_fcgi_ctx
  - get_px_fcgi_app
  - get_strm_fcgi_app
  - fcgi_release_rule_conf
  - fcgi_release_rule
  - smp_fetch_fcgi_docroot
  - smp_fetch_fcgi_index
  - fcgi_flt_init
  - fcgi_flt_deinit
  - fcgi_flt_check
  - fcgi_flt_start
  - fcgi_flt_stop
  - fcgi_flt_http_headers
  - parse_fcgi_flt
  - proxy_parse_use_fcgi_app
  - cfg_fcgi_apps_postparser
  - fcgi_app_add_rule
  - cfg_parse_fcgi_app
  - fcgi_apps_deinit
  source_file: /src/haproxy/src/fcgi-app.c
- function_names:
  - srv_dynamic_maxconn
  - __pendconn_unlink_srv
  - __pendconn_unlink_prx
  - pendconn_queue_lock
  - pendconn_queue_unlock
  - pendconn_unlink
  - pendconn_first
  - pendconn_process_next_strm
  - process_srv_queue
  - pendconn_add
  - pendconn_redistribute
  - pendconn_dequeue
  - action_set_priority_class
  - action_set_priority_offset
  - parse_set_priority_class
  - parse_set_priority_offset
  - smp_fetch_priority_class
  - smp_fetch_priority_offset
  source_file: /src/haproxy/src/queue.c
- function_names:
  - fas_remove_from_tree
  - fas_dequeue_srv
  - fas_queue_srv
  - fas_srv_reposition
  - fas_set_server_status_down
  - fas_set_server_status_up
  - fas_update_server_weight
  - fas_init_server_tree
  - fas_get_next_server
  source_file: /src/haproxy/src/lb_fas.c
- function_names:
  - smp_check_http_date_unit
  - sample_conv_http2epoch
  - sample_conv_http_date
  - sample_conv_q_preferred
  - sample_conv_url_dec
  - sample_conv_url_enc_check
  - sample_conf_url_enc_init
  - sample_conv_url_enc
  - smp_conv_req_capture
  - smp_conv_res_capture
  source_file: /src/haproxy/src/http_conv.c
- function_names:
  - _sink_find
  - sink_find
  - sink_find_early
  - __sink_new
  - sink_new_fd
  - sink_new_buf
  - __sink_write
  - sink_announce_dropped
  - cli_parse_show_events
  - sink_setup_proxy
  - _sink_forward_io_handler
  - sink_forward_io_handler
  - sink_forward_oc_io_handler
  - __sink_forward_session_deinit
  - sink_forward_session_init
  - sink_forward_session_release
  - sink_forward_session_create
  - process_sink_forward
  - sink_init_forward
  - sink_rotate_file_backed_ring
  - sink_free
  - sink_new_ringbuf
  - sink_add_srv
  - sink_finalize
  - cfg_parse_ring
  - sink_new_from_logger
  - sink_new_from_srv
  - cfg_post_parse_ring
  - sink_resolve_logger_buffer
  - sink_init
  - sink_postcheck
  - sink_deinit
  source_file: /src/haproxy/src/sink.c
- function_names:
  - quic_pacing_sent_done
  - quic_pacing_reload
  source_file: /src/haproxy/src/quic_pacing.c
- function_names:
  - fd_add_to_fd_list
  - fd_rm_from_fd_list
  - _fd_delete_orphan
  - fd_delete
  - fd_set_nonblock
  - fd_set_cloexec
  - fd_migrate_on
  - fd_takeover
  - updt_fd_polling
  - fd_update_events
  - fd_reregister_all
  - fd_write_frag_line
  - my_closefrom
  - my_closefrom
  - my_closefrom
  - compute_poll_timeout
  - fd_leaving_poll
  - disable_poller
  - poller_pipe_io_handler
  - alloc_pollers_per_thread
  - init_pollers_per_thread
  - deinit_pollers_per_thread
  - free_pollers_per_thread
  - init_pollers
  - deinit_pollers
  - list_pollers
  - fork_poller
  - cfg_parse_tune_fd_edge_triggered
  source_file: /src/haproxy/src/fd.c
- function_names:
  - applet_trace
  - appctx_new_on
  - appctx_finalize_startup
  - appctx_free_on_early_error
  - appctx_free
  - applet_reserve_svcctx
  - applet_reset_svcctx
  - appctx_shut
  - appctx_release_buffers
  - appctx_buf_available
  - appctx_htx_rcv_buf
  - appctx_raw_rcv_buf
  - appctx_rcv_buf
  - appctx_htx_snd_buf
  - appctx_raw_snd_buf
  - appctx_snd_buf
  - appctx_fastfwd
  - applet_append_line
  - task_run_applet
  - task_process_applet
  - cfg_parse_applet_zero_copy_fwd
  source_file: /src/haproxy/src/applet.c
- function_names:
  - eb32sc_insert_dup
  - eb32sc_insert
  - eb32sc_lookup_ge
  - eb32sc_lookup_ge_or_first
  - eb32sc_delete
  source_file: /src/haproxy/src/eb32sctree.c
- function_names:
  - http_req_keywords_register
  - http_res_keywords_register
  - http_after_res_keywords_register
  - action_http_req_custom
  - action_http_res_custom
  - action_http_after_res_custom
  - parse_http_req_cond
  - parse_http_res_cond
  - parse_http_after_res_cond
  - http_free_redirect_rule
  - http_parse_redirect_rule
  source_file: /src/haproxy/src/http_rules.c
- function_names:
  - hc_cli_res_stline_cb
  - hc_cli_res_headers_cb
  - hc_cli_res_body_cb
  - hc_cli_res_end_cb
  - hc_cli_parse
  - hc_cli_io_handler
  - hc_cli_release
  - httpclient_req_gen
  - httpclient_res_xfer
  - httpclient_req_xfer
  - httpclient_set_timeout
  - httpclient_set_dst
  - httpclient_spliturl
  - httpclient_start
  - httpclient_stop_and_destroy
  - httpclient_destroy
  - httpclient_new
  - httpclient_new_from_proxy
  - httpclient_set_proxy
  - httpclient_applet_io_handler
  - httpclient_applet_init
  - httpclient_applet_release
  - httpclient_resolve_init
  - httpclient_create_proxy
  - httpclient_precheck
  - httpclient_postcheck_proxy
  - httpclient_parse_global_resolvers
  - httpclient_parse_global_resolvers_disabled
  - httpclient_parse_global_prefer
  - httpclient_parse_global_ca_file
  - httpclient_parse_global_verify
  - httpclient_parse_global_retries
  - httpclient_parse_global_timeout_connect
  source_file: /src/haproxy/src/http_client.c
- function_names:
  - sd_notify
  - sd_notifyf
  source_file: /src/haproxy/src/systemd.c
- function_names:
  - ulltoa
  - ultoa_o
  - ltoa_o
  - lltoa
  - utoa_pad
  - strlcpy2
  - ultoa_r
  - lltoa_r
  - sltoa_r
  - ulltoh_r
  - limit_r
  - flt_trim
  - ftoa_r
  - qstr
  - ishex
  - round_2dig
  - invalid_char
  - __invalid_char
  - invalid_domainchar
  - invalid_prefix_char
  - str2ip2
  - str2sa_range
  - sa2str
  - str2mask
  - str2mask6
  - cidr2dotted
  - len2mask4
  - len2mask6
  - str2net
  - str62net
  - url2ipv4
  - url2sa
  - addr_to_str
  - port_to_str
  - addr_is_local
  - encode_string
  - encode_chunk
  - escape_string
  - cbor_encode_uint64_prefix
  - cbor_encode_int64
  - cbor_encode_bytes_prefix
  - cbor_encode_text
  - cbor_encode_bytes
  - csv_enc_append
  - url_decode
  - str2ui
  - str2uic
  - strl2ui
  - strl2uic
  - read_uint
  - read_uint64
  - read_int64
  - strl2ic
  - strl2irc
  - strl2llrc
  - strl2llrc_dotted
  - parse_time_err
  - parse_size_ui
  - parse_size_ull
  - parse_binary
  - my_strndup
  - my_memmem
  - my_memspn
  - my_memcspn
  - get_next_id
  - eb32sc_to_file
  - ebmb_to_file
  - word_match
  - inetaddr_host
  - inetaddr_host_lim
  - inetaddr_host_lim_ret
  - buf2ip
  - buf2ip6
  - quote_arg
  - get_std_op
  - full_hash
  - mask_find_rank_bit
  - mask_find_rank_bit_fast
  - mask_prep_rank_map
  - one_among_mask
  - in_net_ipv4
  - in_net_ipv6
  - v4tov6
  - v6tov4
  - ipcmp
  - ipcmp2net
  - ipcpy
  - ipaddrcpy
  - human_time
  - date2str_log
  - my_tm_diff
  - get_gmt_offset
  - gmt2str_log
  - localdate2str_log
  - my_timegm
  - parse_expect_char
  - parse_strcmp
  - parse_http_dayname
  - parse_http_monthname
  - parse_http_ldayname
  - parse_digit
  - parse_2digit
  - parse_4digit
  - parse_http_time
  - parse_imf_date
  - parse_rfc850_date
  - parse_asctime_date
  - parse_http_date
  - print_time_short
  - memvprintf
  - memprintf
  - indent_msg
  - append_prefixed_str
  - my_unsetenv
  - env_expand
  - strnistr
  - strordered
  - utf8_next
  - may_access
  - dump_text
  - dump_binary
  - dump_hex
  - dump_addr_and_bytes
  - dump_area_with_syms
  - dump_text_line
  - debug_hexdump
  - get_exec_path
  - dladdr_and_size
  - check_if_static_build
  - get_sym_curr_addr
  - get_sym_next_addr
  - get_sym_curr_addr
  - get_sym_next_addr
  - resolve_sym_name
  - resolve_dso_name
  - dl_dump_libs_cb
  - dump_libs
  - dump_libs
  - parse_dotted_uints
  - varint_bytes
  - ha_random64
  - ha_generate_uuid_v4
  - ha_generate_uuid_v7
  - _is_path_mode
  - is_path_mode
  - is_file_present
  - is_dir_present
  - parse_line
  - read_line_to_trash
  - sanitize_for_printing
  - update_word_fingerprint
  - hash_anon
  - hash_ipanon
  - make_word_fingerprint
  - word_fingerprint_distance
  - openssl_compare_current_version
  - openssl_compare_current_name
  - vma_set_name_id
  - vma_set_name
  - dlopen
  - init_tools_per_thread
  - fgets_from_mem
  - backup_env
  - clean_env
  - restore_env
  - copy_file_name
  - free_all_file_names
  - path_base
  source_file: /src/haproxy/src/tools.c
- function_names:
  - chash_skip_node
  - chash_dequeue_srv
  - chash_compute_node_key
  - chash_compute_server_key
  - chash_queue_dequeue_srv
  - chash_set_server_status_down
  - chash_set_server_status_up
  - chash_update_server_weight
  - chash_server_is_eligible
  - chash_get_server_hash
  - chash_get_next_server
  - chash_init_server_tree
  source_file: /src/haproxy/src/lb_chash.c
- function_names:
  - a2base64
  - a2base64url
  - base64dec
  - base64urldec
  - s30tob64
  - b64tos30
  source_file: /src/haproxy/src/base64.c
- function_names:
  - quic_tls_keys_hexdump
  - quic_tls_kp_keys_hexdump
  - quic_pktns_release
  - quic_tls_secret_hexdump
  - quic_cstream_free
  - quic_cstream_new
  - quic_conn_enc_level_uninit
  - quic_conn_enc_level_init
  - qc_enc_level_alloc
  - qc_enc_level_free
  - quic_hkdf_extract
  - quic_hkdf_expand
  - quic_hkdf_extract_and_expand
  - quic_hkdf_expand_label
  - quic_tls_derive_keys
  - quic_derive_initial_secret
  - quic_tls_derive_initial_secrets
  - quic_tls_sec_update
  - quic_aead_iv_build
  - quic_tls_rx_ctx_init
  - quic_tls_enc_hp_ctx_init
  - quic_tls_hp_encrypt
  - quic_tls_dec_hp_ctx_init
  - quic_tls_hp_decrypt
  - quic_tls_tx_ctx_init
  - quic_tls_encrypt
  - quic_tls_decrypt
  - quic_tls_decrypt2
  - quic_do_tls_derive_token_secret
  - quic_tls_derive_retry_token_secret
  - quic_tls_derive_token_secret
  - quic_tls_generate_retry_integrity_tag
  - quic_tls_key_update
  - quic_tls_rotate_keys
  - quic_tls_ctx_free
  - quic_tls_finalize
  source_file: /src/haproxy/src/quic_tls.c
- function_names:
  - open_trace
  - ultoad2
  - emit_hex
  - make_line
  - __cyg_profile_func_enter
  - __cyg_profile_func_exit
  - calltrace
  source_file: /src/haproxy/src/calltrace.c
- function_names:
  - spoe_release_placeholder
  - spoe_release_message
  - spoe_release_group
  - spoe_release_agent
  - generate_pseudo_uuid
  - spoe_update_stat_time
  - spoe_appctx_agent
  - spoe_init_appctx
  - spoe_shut_appctx
  - spoe_release_appctx
  - spoe_handle_receiving_frame_appctx
  - spoe_handle_appctx
  - spoe_create_appctx
  - spoe_encode_message
  - spoe_encode_messages
  - spoe_set_var
  - spoe_unset_var
  - spoe_decode_action_set_var
  - spoe_decode_action_unset_var
  - spoe_process_actions
  - spoe_ctx_err_to_spop_err
  - spoe_update_stats
  - spoe_handle_processing_error
  - spoe_start_processing
  - spoe_stop_processing
  - spoe_process_messages
  - spoe_process_group
  - spoe_process_event
  - spoe_acquire_buffer
  - spoe_release_buffer
  - spoe_wakeup_context
  - spoe_create_context
  - spoe_destroy_context
  - spoe_reset_context
  - spoe_init
  - spoe_deinit
  - spoe_check
  - spoe_start
  - spoe_stop
  - spoe_check_timeouts
  - spoe_start_analyze
  - spoe_chn_pre_analyze
  - spoe_end_analyze
  - cfg_parse_spoe_agent
  - cfg_parse_spoe_group
  - cfg_parse_spoe_message
  - parse_spoe_flt
  - spoe_send_group
  - check_send_spoe_group
  - parse_send_spoe_group
  - smp_fetch_spoe_engine_id
  - spoe_postcheck_spop_proxy
  source_file: /src/haproxy/src/flt_spoe.c
- function_names:
  - warnif_rule_after_tcp_conn
  - warnif_rule_after_tcp_sess
  - warnif_rule_after_tcp_cont
  - warnif_rule_after_monitor
  - warnif_rule_after_http_req
  - warnif_rule_after_http_res
  - warnif_rule_after_redirect
  - warnif_rule_after_use_backend
  - warnif_rule_after_use_server
  - warnif_misplaced_redirect
  - warnif_misplaced_http_req
  - warnif_misplaced_monitor
  - warnif_misplaced_tcp_req_cont
  - warnif_misplaced_tcp_res_cont
  - warnif_misplaced_tcp_req_sess
  - warnif_misplaced_tcp_req_conn
  - warnif_misplaced_quic_init
  - cfg_parse_listen_match_option
  - cfg_parse_listen
  source_file: /src/haproxy/src/cfgparse-listen.c
- function_names:
  - sedesc_init
  - sedesc_new
  - sedesc_free
  - se_shutdown
  - sc_new
  - sc_new_from_endp
  - sc_new_from_strm
  - sc_new_from_check
  - sc_free
  - sc_free_cond
  - sc_attach_mux
  - sc_attach_applet
  - sc_attach_strm
  - sc_detach_endp
  - sc_detach_app
  - sc_destroy
  - sc_reset_endp
  - sc_applet_create
  - sc_cond_forward_shut
  - sc_is_fastfwd_supported
  - sc_app_abort
  - sc_app_shut
  - sc_app_chk_rcv
  - sc_app_chk_snd
  - sc_app_abort_conn
  - sc_app_shut_conn
  - sc_app_chk_rcv_conn
  - sc_app_chk_snd_conn
  - sc_app_abort_applet
  - sc_app_shut_applet
  - sc_app_chk_rcv_applet
  - sc_app_chk_snd_applet
  - sc_update_rx
  - sc_update_tx
  - sc_notify
  - sc_conn_eos
  - sc_conn_recv
  - sc_conn_sync_recv
  - sc_conn_send
  - sc_conn_sync_send
  - sc_conn_process
  - sc_conn_io_cb
  - sc_applet_eos
  - sc_applet_recv
  - sc_applet_sync_recv
  - sc_applet_send
  - sc_applet_sync_send
  - sc_applet_process
  - sc_conn_prepare_endp_upgrade
  - sc_conn_abort_endp_upgrade
  - sc_conn_commit_endp_upgrade
  - smp_fetch_debug_str
  - smp_fetch_sid
  - smp_fetch_strm_aborted
  - smp_fetch_strm_rst_code
  source_file: /src/haproxy/src/stconn.c
- function_names:
  - hash_wt6
  - hash_djb2
  - hash_sdbm
  - hash_crc32
  - hash_crc32c
  source_file: /src/haproxy/src/hash.c
- function_names:
  - sock_inet4_addrcmp
  - sock_inet6_addrcmp
  - sock_inet_set_port
  - sock_inet_get_dst
  - sock_inet_is_foreign
  - sock_inet4_make_foreign
  - sock_inet6_make_foreign
  - sock_inet_bind_receiver
  - sock_inet_prepare
  source_file: /src/haproxy/src/sock_inet.c
- function_names:
  - eb64_insert
  - eb64i_insert
  - eb64_lookup
  - eb64i_lookup
  - eb64_lookup_le
  - eb64_lookup_ge
  source_file: /src/haproxy/src/eb64tree.c
- function_names:
  - comp_append_type
  - comp_append_algo
  - init_comp_ctx
  - deinit_comp_ctx
  - identity_init
  - identity_add_data
  - identity_flush
  - identity_finish
  - identity_end
  - rfc1952_init
  - rfc1951_init
  - rfc1950_init
  - rfc195x_add_data
  - rfc195x_flush_or_finish
  - rfc195x_flush
  - rfc195x_finish
  - rfc195x_end
  - alloc_zlib
  - free_zlib
  - gzip_init
  - raw_def_init
  - deflate_init
  - deflate_add_data
  - deflate_flush_or_finish
  - deflate_flush
  - deflate_finish
  - deflate_end
  - zlib_parse_global_memlevel
  - zlib_parse_global_windowsize
  - comp_register_build_opts
  source_file: /src/haproxy/src/compression.c
- function_names:
  - srv_adm_st_chg_cause
  - srv_op_st_chg_cause
  - srv_downtime
  - srv_getinter
  - _srv_set_inetaddr_port
  - _srv_set_inetaddr
  - server_atomic_sync
  - server_atomic_sync_start
  - _srv_event_hdl_prepare
  - _srv_event_hdl_prepare_checkres
  - _srv_event_hdl_prepare_state
  - _srv_event_hdl_prepare_inetaddr
  - srv_event_hdl_publish
  - srv_event_hdl_publish_check
  - srv_check_for_dup_dyncookie
  - srv_set_dyncookie
  - srv_check_reuse_ws
  - srv_get_ws_proto
  - srv_set_addr_desc
  - srv_register_keywords
  - srv_find_kw
  - srv_dump_kws
  - srv_find_best_kw
  - srv_parse_backup
  - srv_parse_cookie
  - srv_parse_disabled
  - srv_parse_enabled
  - srv_parse_error_limit
  - srv_parse_guid
  - srv_parse_ws
  - srv_parse_hash_key
  - srv_parse_init_addr
  - srv_parse_init_state
  - srv_parse_log_bufsize
  - srv_parse_log_proto
  - srv_parse_maxconn
  - srv_parse_maxqueue
  - srv_parse_minconn
  - srv_parse_max_reuse
  - srv_parse_pool_purge_delay
  - srv_parse_pool_conn_name
  - srv_parse_pool_low_conn
  - srv_parse_pool_max_conn
  - srv_parse_id
  - srv_parse_namespace
  - srv_parse_no_backup
  - srv_disable_pp_flags
  - srv_parse_no_send_proxy
  - srv_parse_no_send_proxy_v2
  - srv_parse_shard
  - srv_parse_no_tfo
  - srv_parse_non_stick
  - srv_enable_pp_flags
  - srv_parse_proto
  - srv_parse_proxy_v2_options
  - srv_parse_observe
  - srv_parse_on_error
  - srv_parse_on_marked_down
  - srv_parse_on_marked_up
  - srv_parse_redir
  - srv_parse_resolvers
  - srv_parse_resolve_net
  - srv_parse_resolve_opts
  - srv_parse_resolve_prefer
  - srv_parse_send_proxy
  - srv_parse_send_proxy_v2
  - srv_parse_set_proxy_v2_tlv_fmt
  - srv_parse_slowstart
  - srv_parse_source
  - srv_parse_stick
  - srv_parse_track
  - srv_parse_socks4
  - srv_parse_tfo
  - srv_parse_usesrc
  - srv_parse_weight
  - srv_parse_strict_maxconn
  - srv_has_streams
  - srv_shutdown_streams
  - srv_shutdown_backup_streams
  - srv_append_op_chg_cause
  - srv_append_adm_chg_cause
  - srv_append_more
  - srv_set_stopped
  - srv_set_running
  - srv_set_stopping
  - srv_set_admin_flag
  - srv_clr_admin_flag
  - srv_propagate_admin_state
  - srv_compute_all_admin_states
  - server_recalc_eweight
  - server_requeue
  - server_parse_weight_change_request
  - server_parse_maxconn_change_request
  - _parse_srv_expr
  - parse_srv_expr
  - display_parser_err
  - srv_conn_src_sport_range_cpy
  - srv_conn_src_cpy
  - srv_ssl_settings_cpy
  - srv_set_ssl
  - srv_prepare_for_resolution
  - srv_settings_init
  - srv_settings_cpy
  - new_server
  - srv_take
  - srv_free_params
  - srv_drop
  - _srv_detach
  - release_server_track
  - _srv_parse_tmpl_range
  - _srv_parse_set_id_from_prefix
  - _srv_parse_tmpl_init
  - _srv_check_proxy_mode
  - _srv_postparse
  - _srv_parse_init
  - _srv_parse_kw
  - _srv_parse_finalize
  - parse_server
  - server_find_by_id
  - server_find_by_id_unique
  - server_find_by_name
  - server_find_by_name_unique
  - server_find_best_match
  - server_get_inetaddr
  - server_inetaddr_updater_by_to_str
  - _srv_append_inetaddr_updater_info
  - _addr_to_str
  - _inetaddr_addr_cmp
  - server_set_inetaddr
  - server_set_inetaddr_warn
  - srv_update_addr
  - srv_update_agent_addr_port
  - srv_update_check_addr_port
  - srv_update_addr_port
  - srvrq_set_srv_down
  - snr_set_srv_down
  - snr_resolution_cb
  - srvrq_resolution_error_cb
  - snr_resolution_error_cb
  - snr_check_ip_callback
  - srv_set_addr_via_libc
  - srv_set_fqdn
  - srv_apply_lastaddr
  - srv_iterate_initaddr
  - srv_init_addr
  - srv_update_fqdn
  - cli_find_server
  - cli_parse_set_server
  - cli_parse_get_weight
  - cli_parse_set_weight
  - cli_parse_set_maxconn_server
  - cli_parse_disable_agent
  - cli_parse_disable_health
  - cli_parse_disable_server
  - cli_parse_enable_agent
  - cli_parse_enable_health
  - cli_parse_enable_server
  - srv_alloc_lb
  - server_warmup
  - init_srv_slowstart
  - init_srv_requeue
  - srv_init_per_thr
  - cli_parse_add_server
  - srv_check_for_deletion
  - cli_parse_delete_server
  - srv_apply_track
  - srv_lb_propagate
  - _srv_update_status_op
  - _srv_update_status_adm
  - srv_update_status
  - srv_cleanup_toremove_conns
  - srv_migrate_conns_to_remove
  - srv_cleanup_connections
  - srv_release_conn
  - srv_lookup_conn
  - srv_lookup_conn_next
  - _srv_add_idle
  - srv_add_to_idle_list
  - srv_add_to_avail_list
  - srv_cleanup_idle_conns
  - srv_close_idle_conns
  - cfg_parse_idle_pool_shared
  - cfg_parse_pool_fd_ratio
  source_file: /src/haproxy/src/server.c
- function_names:
  - block_sigchld
  - unblock_sigchld
  - pid_list_add
  - pid_list_del
  - pid_list_expire
  - sigchld_handler
  - init_pid_list
  - extchk_setenv
  - prepare_external_check
  - connect_proc_chk
  - process_chk_proc
  - proxy_parse_extcheck
  - proxy_parse_external_check_opt
  source_file: /src/haproxy/src/extcheck.c
- function_names:
  - free_tcpcheck_http_hdr
  - free_tcpcheck_http_hdrs
  - free_tcpcheck
  - create_tcpcheck_var
  - free_tcpcheck_var
  - free_tcpcheck_vars
  - dup_tcpcheck_vars
  - find_tcpcheck_ruleset
  - create_tcpcheck_ruleset
  - free_tcpcheck_ruleset
  - tcpcheck_get_step_id
  - get_first_tcpcheck_rule
  - get_last_tcpcheck_rule
  - get_next_tcpcheck_rule
  - tcpcheck_expect_onerror_message
  - tcpcheck_expect_onsuccess_message
  - tcpcheck_mysql_expect_packet
  - tcpcheck_mysql_expect_iniths
  - tcpcheck_mysql_expect_ok
  - tcpcheck_ldap_expect_bindrsp
  - tcpcheck_spop_expect_hello
  - tcpcheck_agent_expect_reply
  - tcpcheck_use_nondefault_connect
  - tcpcheck_eval_connect
  - tcpcheck_eval_send
  - tcpcheck_eval_recv
  - tcpcheck_eval_expect_http
  - tcpcheck_eval_expect
  - tcpcheck_eval_action_kw
  - tcpcheck_main
  - tcp_check_keywords_register
  - parse_tcpcheck_action
  - parse_tcpcheck_connect
  - parse_tcpcheck_send
  - parse_tcpcheck_send_http
  - parse_tcpcheck_comment
  - parse_tcpcheck_expect
  - tcpcheck_overwrite_send_http_rule
  - tcpcheck_add_http_rule
  - check_proxy_tcpcheck
  - deinit_proxy_tcpcheck
  - deinit_tcpchecks
  - add_tcpcheck_expect_str
  - add_tcpcheck_send_strs
  - proxy_parse_tcpcheck
  - proxy_parse_httpcheck
  - proxy_parse_redis_check_opt
  - proxy_parse_ssl_hello_chk_opt
  - proxy_parse_smtpchk_opt
  - proxy_parse_pgsql_check_opt
  - proxy_parse_mysql_check_opt
  - proxy_parse_ldap_check_opt
  - proxy_parse_spop_check_opt
  - proxy_parse_httpchk_req
  - proxy_parse_httpchk_opt
  - proxy_parse_tcp_check_opt
  source_file: /src/haproxy/src/tcpcheck.c
- function_names:
  - fcgi_strm_sc
  - fcgi_trace
  - fcgi_recv_allowed
  - fcgi_may_demux
  - fcgi_conn_restart_reading
  - fcgi_buf_available
  - fcgi_get_buf
  - fcgi_release_buf
  - fcgi_release_mbuf
  - fcgi_streams_left
  - fcgi_used_streams
  - fcgi_avail_streams
  - fcgi_init
  - fcgi_conn_report_term_evt
  - fcgi_conn_get_next_sid
  - fcgi_conn_st_by_id
  - fcgi_release
  - fcgi_conn_read0_pending
  - fcgi_conn_is_dead
  - fcgi_strm_error
  - fcgi_strm_notify_recv
  - fcgi_strm_notify_send
  - fcgi_strm_alert
  - fcgi_set_record_size
  - fcgi_set_record_id
  - fcgi_strm_close
  - fcgi_strm_propagate_term_flags
  - fcgi_strm_destroy
  - fcgi_strm_new
  - fcgi_stconn_new
  - fcgi_strm_wake_one_stream
  - fcgi_wake_unassigned_streams
  - fcgi_wake_some_streams
  - fcgi_set_default_param
  - fcgi_encode_default_param
  - fcgi_conn_send_get_values
  - fcgi_conn_handle_values_result
  - fcgi_conn_send_aborts
  - fcgi_strm_send_begin_request
  - fcgi_strm_send_empty_record
  - fcgi_strm_send_empty_params
  - fcgi_strm_send_empty_stdin
  - fcgi_strm_send_abort
  - fcgi_strm_send_params
  - fcgi_strm_send_stdin
  - fcgi_strm_handle_stdout
  - fcgi_strm_handle_empty_stdout
  - fcgi_strm_handle_stderr
  - fcgi_strm_handle_end_request
  - fcgi_process_demux
  - fcgi_process_mux
  - fcgi_recv
  - fcgi_send
  - fcgi_io_cb
  - fcgi_process
  - fcgi_wake
  - fcgi_ctl
  - fcgi_sctl
  - fcgi_timeout_task
  - fcgi_show_error_snapshot
  - fcgi_strm_capture_bad_message
  - fcgi_strm_parse_headers
  - fcgi_strm_parse_data
  - fcgi_strm_parse_trailers
  - fcgi_strm_parse_response
  - fcgi_attach
  - fcgi_get_first_sc
  - fcgi_destroy
  - fcgi_detach
  - fcgi_do_shutr
  - fcgi_do_shutw
  - fcgi_deferred_shut
  - fcgi_shut
  - fcgi_subscribe
  - fcgi_unsubscribe
  - fcgi_rcv_buf
  - fcgi_snd_buf
  - fcgi_dump_fcgi_strm_info
  - fcgi_dump_fcgi_conn_info
  - fcgi_show_fd
  - fcgi_show_sd
  - fcgi_takeover
  source_file: /src/haproxy/src/mux_fcgi.c
- function_names:
  - CEB_FDECL3
  - CEB_FDECL2
  - CEB_FDECL2
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL4
  source_file: /src/haproxy/src/cebua_tree.c
- function_names:
  - ebim_lookup
  - ebim_insert
  source_file: /src/haproxy/src/ebimtree.c
- function_names:
  - CEB_FDECL4
  - CEB_FDECL2
  - CEB_FDECL2
  - CEB_FDECL4
  - CEB_FDECL4
  - CEB_FDECL4
  - CEB_FDECL4
  - CEB_FDECL4
  - CEB_FDECL4
  - CEB_FDECL4
  - CEB_FDECL4
  - CEB_FDECL4
  source_file: /src/haproxy/src/cebuib_tree.c
- function_names:
  - cli_show_quic_format
  - cli_parse_show_quic
  - dump_quic_oneline
  - dump_quic_full
  - cli_io_handler_dump_quic
  - cli_release_show_quic
  - cli_quic_init
  source_file: /src/haproxy/src/quic_cli.c
- function_names:
  - qc_stream_buf_free
  - qc_stream_desc_new
  - qc_stream_desc_release
  - qc_stream_buf_is_released
  - qc_stream_buf_store_ack
  - qc_stream_buf_ack
  - qc_stream_buf_consume
  - qc_stream_desc_ack
  - qc_stream_desc_free
  - qc_stream_buf_get
  - qc_stream_buf_alloc
  - qc_stream_buf_realloc
  - qc_stream_buf_release
  - create_sbuf_pool
  source_file: /src/haproxy/src/quic_stream.c
- function_names:
  - dns_ring_init
  - dns_ring_new
  - dns_ring_free
  - dns_ring_write
  - dns_ring_attach
  - dns_ring_detach_appctx
  source_file: /src/haproxy/src/dns_ring.c
- function_names:
  - stcol_hide
  - me_generate_field
  - stats_fill_fe_line
  - stats_dump_fe_line
  - stats_fill_li_line
  - stats_dump_li_line
  - stats_fill_sv_computestate
  - stats_fill_sv_line
  - stats_dump_sv_line
  - stats_fill_be_computesrv
  - stats_fill_be_line
  - stats_dump_be_line
  - stats_dump_proxy_to_buffer
  - stats_dump_proxies
  - proxy_stats_clear_counters
  source_file: /src/haproxy/src/stats-proxy.c
- function_names:
  - evports_state_to_events
  - evports_resync_fd
  - _update_fd
  - _do_fixup_tgid_takeover
  - _do_poll
  - init_evports_per_thread
  - deinit_evports_per_thread
  - _do_init
  - _do_term
  - _do_test
  - _do_fork
  - _do_register
  source_file: /src/haproxy/src/ev_evports.c
- function_names:
  - new_dict
  - new_dict_entry
  - free_dict_entry
  - __dict_lookup
  - dict_insert
  - dict_entry_unref
  source_file: /src/haproxy/src/dict.c
- function_names:
  - shctx_row_reserve_hot
  - shctx_row_detach
  - shctx_row_reattach
  - shctx_row_data_append
  - shctx_row_data_get
  - shctx_init
  source_file: /src/haproxy/src/shctx.c
- function_names:
  - uxst_bind_listener
  - uxst_enable_listener
  - uxst_disable_listener
  - uxst_suspend_receiver
  - uxst_connect_server
  source_file: /src/haproxy/src/proto_uxst.c
- function_names:
  - ssl_sock_switchctx_set
  - ssl_sock_chose_sni_ctx
  - ssl_sock_switchctx_err_cbk
  - ssl_sock_switchctx_cbk
  - ssl_sock_switchctx_wolfSSL_cbk
  source_file: /src/haproxy/src/ssl_clienthello.c
- function_names:
  - qpack_get_prefix_int_size
  - qpack_encode_prefix_integer
  - qpack_encode_int_status
  - qpack_encode_field_section_line
  - qpack_encode_header
  source_file: /src/haproxy/src/qpack-enc.c
- function_names:
  - b_getblk_ofs
  - b_getblk
  - b_getdelim
  - b_getline
  - b_slow_realign
  - b_slow_realign_ofs
  - b_putblk_ofs
  - __b_putblk
  - b_xfer
  - b_ncat
  - b_move
  - b_rep_blk
  - b_insert_blk
  - __b_put_varint
  - b_put_varint
  - b_get_varint
  - bl_deinit
  - bl_get
  source_file: /src/haproxy/src/buf.c
- function_names:
  - __channel_forward
  - co_inject
  - ci_putchr
  - ci_putblk
  - co_getdelim
  - co_getword
  - co_getline
  - co_getchar
  - co_getblk
  - co_getblk_nc
  - co_getline_nc
  - ci_getblk_nc
  - ci_getline_nc
  - ci_insert
  - ci_insert_line2
  source_file: /src/haproxy/src/channel.c
- function_names:
  - quic_loss_srtt_update
  - quic_loss_pktns
  - quic_pto_pktns
  - qc_packet_loss_lookup
  - qc_release_lost_pkts
  source_file: /src/haproxy/src/quic_loss.c
- function_names:
  - CEB_FDECL3
  - CEB_FDECL2
  - CEB_FDECL2
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL4
  source_file: /src/haproxy/src/cebu32_tree.c
- function_names:
  - log_orig_to_str
  - log_orig_proxy
  - logformat_str_isdefault
  - logformat_str_free
  - logformat_str_dup
  - prepare_addrsource
  - parse_logformat_node_args
  - parse_logformat_alias
  - add_to_logformat_list
  - add_sample_to_logformat_list
  - lf_expr_compile
  - parse_logformat_string
  - _lf_expr_postcheck_node_opt
  - lf_expr_postcheck_node_opt
  - lf_expr_postcheck
  - postcheck_logformat_proxy
  - get_logger_smp_range
  - smp_log_ranges_overlap
  - smp_log_range_cmp
  - init_log_target
  - deinit_log_target
  - dup_log_target
  - _postcheck_log_backend_compat
  - postcheck_log_backend
  - resolve_logger
  - dup_logger
  - free_logger
  - parse_log_target
  - parse_logger
  - get_log_format
  - get_log_level
  - get_log_facility
  - _encode_byte_hex
  - _lf_cbor_encode_byte
  - lf_buildctx_prepare
  - _lf_escape_byte
  - _lf_cbor_escape_byte
  - _lf_map_escape_byte
  - _lf_cbor_map_escape_byte
  - _lf_rfc5424_escape_byte
  - _lf_json_escape_byte
  - _lf_encode_bytes
  - lf_encode_string
  - lf_encode_chunk
  - _lf_text_len
  - _lf_quotetext_len
  - lf_text_len
  - lf_rawtext_len
  - lf_text
  - lf_rawtext
  - lf_ip
  - lf_bool_encode
  - lf_int_encode
  - lf_int
  - lf_port
  - __do_send_log
  - __do_send_log_backend
  - __send_log_set_metadata_sd
  - _process_send_log_final
  - _process_send_log_override
  - process_send_log
  - __send_log
  - send_log
  - build_log_header
  - init_log_buffers
  - deinit_log_buffers
  - deinit_log_forward
  - free_logformat_node
  - free_logformat_list
  - lf_expr_init
  - lf_expr_deinit
  - lf_expr_xfer
  - lf_expr_dup
  - sess_build_logline_orig
  - do_log
  - strm_log
  - _sess_log
  - app_log
  - prepare_log_message
  - parse_log_message
  - syslog_process_message
  - syslog_fd_handler
  - syslog_io_handler
  - syslog_applet_append_event
  - cfg_parse_log_forward
  - log_profile_step_init
  - log_profile_step_deinit
  - log_profile_step_free
  - log_profile_step_postcheck
  - log_profile_postcheck
  - log_profile_free
  - deinit_log_profiles
  - log_profile_find_by_name
  - cfg_parse_log_profile
  - log_orig_register
  - deinit_log_origins
  - postresolve_logger_list
  - postresolve_loggers
  - px_parse_log_steps
  - do_log_action
  - do_log_parse_act
  source_file: /src/haproxy/src/log.c
- function_names:
  - str2listener
  - str2receiver
  - warnifnotcap
  - failifnotcap
  - too_many_args_idx
  - too_many_args
  - alertif_too_many_args_idx
  - alertif_too_many_args
  - warnif_cond_conflicts
  - warnif_tcp_http_cond
  - cfg_find_best_match
  - parse_process_number
  - init_peers_frontend
  - bind_conf_uniq_alloc
  - cfg_peers_add_peer
  - cfg_parse_peers
  - cfg_parse_mailers
  - cfg_parse_netns
  - cfg_parse_users
  - cfg_parse_scope
  - cfg_parse_track_sc_num
  - check_section_position
  - cfg_apply_default_path
  - cfg_parse_global_def_path
  - list_append_cfgfile
  - load_cfg_in_mem
  - parse_cfg
  - check_config_validity
  - cfg_register_keywords
  - cfg_unregister_keywords
  - cfg_register_section
  - cfg_register_postparser
  - cfg_unregister_sections
  - cfg_backup_sections
  - cfg_restore_sections
  - cfg_dump_registered_keywords
  source_file: /src/haproxy/src/cfgparse.c
- function_names:
  - quic_cc_rs_init
  - quic_cc_drs_init
  - quic_cc_drs_on_pkt_sent
  - quic_cc_drs_is_newest_packet
  - quic_cc_drs_update_rate_sample
  - quic_cc_drs_on_ack_recv
  source_file: /src/haproxy/src/quic_cc_drs.c
- function_names:
  - type_to_smp
  - smp_expr_output_type
  - sample_src_names
  - sample_ckp_names
  - sample_register_fetches
  - sample_register_convs
  - find_sample_fetch
  - smp_dump_fetch_kw
  - smp_dump_conv_kw
  - sample_fetch_getnext
  - sample_conv_getnext
  - find_sample_conv
  - c_ip2int
  - c_ip2str
  - c_ip2ipv6
  - c_ipv62ip
  - c_ipv62str
  - c_int2ip
  - c_int2ipv6
  - c_str2addr
  - c_str2ip
  - c_str2ipv6
  - c_bin2str
  - c_int2str
  - smp_dup
  - c_none
  - c_pseudo
  - c_str2int
  - c_str2meth
  - c_meth2str
  - c_addr2bin
  - c_int2bin
  - c_bool2bin
  - sample_parse_expr_cnv
  - sample_parse_expr
  - sample_process_cnv
  - sample_process
  - smp_resolve_args
  - sample_fetch_as_type
  - release_sample_arg
  - release_sample_expr
  - sample_conv_debug
  - smp_check_debug
  - sample_conv_base642bin
  - sample_conv_base64url2bin
  - sample_conv_bin2base64
  - sample_conv_bin2base64url
  - sample_conv_var2smp
  - sample_conv_sha1
  - sample_conv_var2smp_str
  - sample_conv_be2dec_check
  - sample_conv_be2dec
  - sample_conv_be2hex_check
  - sample_conv_be2hex
  - sample_conv_bin2hex
  - sample_conv_hex2int
  - sample_conv_djb2
  - sample_conv_length
  - sample_conv_str2lower
  - sample_conv_str2upper
  - sample_conv_ipmask
  - lookup_convspec_N
  - conv_time_common
  - sample_conv_us_ltime
  - sample_conv_ms_ltime
  - sample_conv_ltime
  - sample_conv_sdbm
  - sample_conv_us_utime
  - sample_conv_ms_utime
  - sample_conv_utime
  - sample_conv_wt6
  - sample_conv_xxh32
  - sample_conv_xxh64
  - sample_conv_xxh3
  - sample_conv_crc32
  - sample_conv_crc32c
  - sample_conv_json_check
  - sample_conv_json
  - sample_conv_bytes
  - sample_conv_field_check
  - sample_conv_field
  - sample_conv_word
  - sample_conv_param_check
  - sample_conv_param
  - sample_conv_regsub_check
  - sample_conv_regsub
  - check_operator
  - sample_conv_var2smp_sint
  - sample_conv_binary_cpl
  - sample_conv_binary_and
  - sample_conv_binary_or
  - sample_conv_binary_xor
  - arith_add
  - sample_conv_arith_add
  - sample_conv_arith_sub
  - sample_conv_arith_mul
  - sample_conv_arith_div
  - sample_conv_arith_mod
  - sample_conv_arith_neg
  - sample_conv_arith_bool
  - sample_conv_arith_not
  - sample_conv_arith_odd
  - sample_conv_arith_even
  - sample_conv_concat
  - smp_check_concat
  - sample_conv_add_item
  - smp_check_add_item
  - sample_conv_strcmp
  - sample_conv_host_only
  - sample_conv_port_only
  - sample_conv_iif
  - sample_conv_when
  - check_when_cond
  - sample_conv_ungrpc
  - sample_conv_protobuf
  - sample_conv_protobuf_check
  - sample_conv_fix_tag_value
  - sample_conv_fix_value_check
  - sample_conv_fix_is_valid
  - sample_conv_mqtt_field_value
  - sample_conv_mqtt_field_value_check
  - sample_conv_mqtt_is_valid
  - smp_check_strcmp
  - sample_conv_htonl
  - sample_conv_cut_crlf
  - sample_conv_ltrim
  - sample_conv_rtrim
  - sample_check_json_query
  - sample_conv_json_query
  - sample_conv_jwt_verify_check
  - sample_conv_jwt_verify
  - sample_conv_jwt_member_query
  - sample_conv_jwt_query_check
  - sample_conv_jwt_header_query
  - sample_conv_jwt_payload_query
  - smp_fetch_actconn
  - smp_fetch_true
  - smp_fetch_false
  - smp_fetch_env
  - smp_check_date_unit
  - smp_fetch_date
  - smp_fetch_date_us
  - smp_fetch_hostname
  - smp_fetch_nbproc
  - smp_fetch_pid
  - smp_fetch_proc
  - smp_fetch_thread
  - smp_fetch_rand
  - smp_fetch_stopping
  - smp_fetch_cpu_calls
  - smp_fetch_cpu_ns_avg
  - smp_fetch_cpu_ns_tot
  - smp_fetch_lat_ns_avg
  - smp_fetch_lat_ns_tot
  - smp_fetch_const_str
  - smp_check_const_bool
  - smp_fetch_const_bool
  - smp_fetch_const_int
  - smp_fetch_const_ipv4
  - smp_fetch_const_ipv6
  - smp_check_const_bin
  - smp_fetch_const_bin
  - smp_check_const_meth
  - smp_fetch_const_meth
  - smp_check_uuid
  - smp_fetch_uuid
  - smp_fetch_uptime
  - smp_fetch_quic_enabled
  - smp_fetch_reX_timers
  - smp_fetch_txn_timers
  - smp_fetch_conn_queues
  - smp_fetch_conn_timers
  - smp_fetch_bytes
  - sample_conv_bytes_check
  source_file: /src/haproxy/src/sample.c
- function_names:
  - flt_register_keywords
  - flt_find_kw
  - flt_dump_kws
  - list_filters
  - parse_filter
  - flt_init
  - flt_init_per_thread
  - flt_init_all
  - flt_init_all_per_thread
  - flt_check
  - flt_deinit
  - flt_deinit_per_thread
  - flt_deinit_all_per_thread
  - flt_stream_add_filter
  - flt_stream_init
  - flt_stream_release
  - flt_stream_start
  - flt_stream_stop
  - flt_stream_check_timeouts
  - flt_set_stream_backend
  - flt_http_end
  - flt_http_reset
  - flt_http_reply
  - flt_http_payload
  - flt_start_analyze
  - flt_pre_analyze
  - flt_post_analyze
  - flt_analyze_http_headers
  - flt_end_analyze
  - flt_tcp_payload
  - flt_xfer_data
  - handle_analyzer_result
  source_file: /src/haproxy/src/filters.c
- function_names:
  - map_parse_ip
  - map_parse_str
  - map_parse_int
  - map_create_descriptor
  - sample_load_map
  - sample_conv_map_key
  - sample_conv_map
  - pat_list_get_next
  - pat_ref_lookup_ref
  - pat_expr_get_next
  - cli_io_handler_pat_list
  - cli_io_handler_pats_list
  - cli_io_handler_map_lookup
  - cli_release_mlook
  - cli_parse_get_map
  - cli_parse_prepare_map
  - cli_release_show_map
  - cli_parse_show_map
  - cli_parse_set_map
  - cli_parse_add_map
  - cli_parse_del_map
  - cli_io_handler_clear_map
  - cli_parse_clear_map
  - cli_parse_commit_map
  source_file: /src/haproxy/src/map.c
- function_names:
  - mqtt_read_fixed_hdr
  - mqtt_read_1byte_int
  - mqtt_read_2byte_int
  - mqtt_read_4byte_int
  - mqtt_read_varint
  - mqtt_read_string
  - mqtt_uint2str
  - mqtt_field_value
  - mqtt_parse_connect
  - mqtt_parse_connack
  - mqtt_validate_message
  source_file: /src/haproxy/src/mqtt.c
- function_names:
  - h2_prepare_htx_reqline
  - h2_make_htx_request
  - h2_prepare_htx_stsline
  - h2_make_htx_response
  - h2_make_htx_trailers
  source_file: /src/haproxy/src/h2.c
- function_names:
  - sock_abns_addrcmp
  - sock_abnsz_addrcmp
  - sock_unix_addrcmp
  - sock_unix_bind_receiver
  source_file: /src/haproxy/src/sock_unix.c
- function_names:
  - update_freq_ctr_period_slow
  - _freq_ctr_total_from_values
  - freq_ctr_total
  - freq_ctr_total_estimate
  - freq_ctr_overshoot_period
  source_file: /src/haproxy/src/freq_ctr.c
- function_names:
  - mworker_kill
  - mworker_kill_max_reloads
  - mworker_current_child
  - mworker_child_nb
  - mworker_proc_list_to_env
  - mworker_proc_new
  - mworker_env_to_proc_list
  - mworker_block_signals
  - mworker_unblock_signals
  - mworker_broadcast_signal
  - mworker_reexec
  - mworker_reload
  - mworker_catch_sighup
  - mworker_catch_sigterm
  - mworker_on_new_child_failure
  - mworker_catch_sigchld
  - mworker_accept_wrapper
  - mworker_sockpair_register_per_thread
  - mworker_cleanlisteners
  - mworker_cleanup_proc
  - cli_io_handler_show_proc
  - cli_parse_show_proc
  - cli_parse_reload
  - cli_io_handler_show_loadstatus
  - mworker_parse_global_max_reloads
  - mworker_free_child
  - mworker_create_master_cli
  - mworker_prepare_master
  - mworker_loop
  - mworker_run_master
  - mworker_apply_master_worker_mode
  source_file: /src/haproxy/src/mworker.c
- function_names:
  - enqueue24
  - flush_bits
  - enqueue24
  - enqueue8
  - flush_bits
  - copy_8b
  - copy_16b
  - copy_32b
  - send_huff
  - send_eob
  - copy_lit
  - copy_lit_huff
  - slz_hash
  - memmatch
  - reset_refs
  - slz_rfc1951_encode
  - slz_rfc1951_init
  - slz_rfc1951_flush
  - slz_rfc1951_finish
  - crc32_char
  - crc32_uint32
  - slz_crc32_by1
  - slz_crc32_by4
  - update_crc
  - slz_rfc1952_send_header
  - slz_rfc1952_encode
  - slz_rfc1952_init
  - slz_rfc1952_flush
  - slz_rfc1952_finish
  - slz_adler32_by1
  - slz_adler32_block
  - slz_rfc1950_send_header
  - slz_rfc1950_encode
  - slz_rfc1950_init
  - slz_rfc1950_flush
  - slz_rfc1950_finish
  - __slz_initialize
  source_file: /src/haproxy/src/slz.c
- function_names:
  - fix_check_id
  - fix_validate_message
  - fix_tag_value
  source_file: /src/haproxy/src/fix.c
- function_names:
  - ssl_sock_add_san_ext
  - ssl_sock_do_create_cert
  - ssl_sock_assign_generated_cert
  - ssl_sock_get_generated_cert
  - ssl_sock_set_generated_cert
  - ssl_sock_generated_cert_key
  - ssl_sock_generate_certificate
  - ssl_sock_generate_certificate_from_conn
  - ssl_sock_gencert_load_ca
  - ssl_sock_gencert_free_ca
  - __ssl_gencert_deinit
  source_file: /src/haproxy/src/ssl_gencert.c
- function_names:
  - stktable_store_name
  - stktable_find_by_name
  - __stksess_free
  - stksess_free
  - __stksess_kill
  - stksess_kill
  - stksess_setkey
  - stksess_getkey
  - stktable_get_key_shard
  - stksess_setkey_shard
  - __stksess_init
  - stktable_trash_oldest
  - stksess_new
  - __stktable_lookup_key
  - stktable_lookup_key
  - stktable_lookup_ptr
  - __stktable_lookup
  - stktable_lookup
  - stktable_touch_with_exp
  - stktable_touch_remote
  - stktable_touch_local
  - stktable_release
  - __stktable_store
  - stktable_requeue_exp
  - stktable_get_entry
  - stktable_set_entry
  - process_table_expire
  - stktable_init
  - stktable_deinit
  - stktable_parse_type
  - stktable_alloc_data_type
  - parse_stick_table
  - smp_to_stkey
  - stkey_to_smp
  - stktable_fetch_key
  - stktable_compatible_sample
  - stktable_register_data_store
  - stktable_get_data_type
  - stktable_get_data_type_idx
  - smp_fetch_stksess
  - sample_conv_in_table
  - sample_conv_table_bytes_in_rate
  - sample_conv_table_bytes_out_rate
  - sample_conv_table_clr_gpc
  - sample_conv_table_clr_gpc0
  - sample_conv_table_clr_gpc1
  - sample_conv_table_conn_cnt
  - sample_conv_table_conn_cur
  - sample_conv_table_conn_rate
  - sample_conv_table_expire
  - sample_conv_table_idle
  - sample_conv_table_inc_gpc
  - sample_conv_table_inc_gpc0
  - sample_conv_table_inc_gpc1
  - sample_conv_table_glitch_cnt
  - sample_conv_table_glitch_rate
  - sample_conv_table_gpt
  - sample_conv_table_gpt0
  - sample_conv_table_gpc
  - sample_conv_table_gpc_rate
  - sample_conv_table_gpc0
  - sample_conv_table_gpc0_rate
  - sample_conv_table_gpc1
  - sample_conv_table_gpc1_rate
  - sample_conv_table_http_err_cnt
  - sample_conv_table_http_err_rate
  - sample_conv_table_http_fail_cnt
  - sample_conv_table_http_fail_rate
  - sample_conv_table_http_req_cnt
  - sample_conv_table_http_req_rate
  - sample_conv_table_kbytes_in
  - sample_conv_table_kbytes_out
  - sample_conv_table_server_id
  - sample_conv_table_sess_cnt
  - sample_conv_table_sess_rate
  - sample_conv_table_trackers
  - action_inc_gpc
  - action_inc_gpc0
  - action_inc_gpc1
  - parse_inc_gpc
  - action_set_gpt
  - action_set_gpt0
  - parse_set_gpt
  - action_add_gpc
  - parse_add_gpc
  - smp_fetch_table_cnt
  - smp_fetch_table_avl
  - smp_fetch_sc_stkctr
  - smp_fetch_src_stkctr
  - smp_fetch_sc_tracked
  - smp_fetch_get_gpt
  - smp_fetch_sc_get_gpt
  - smp_fetch_get_gpt0
  - smp_fetch_sc_get_gpt0
  - smp_fetch_get_gpc
  - smp_fetch_sc_get_gpc
  - smp_fetch_get_gpc0
  - smp_fetch_sc_get_gpc0
  - smp_fetch_get_gpc1
  - smp_fetch_sc_get_gpc1
  - smp_fetch_gpc_rate
  - smp_fetch_sc_gpc_rate
  - smp_fetch_gpc0_rate
  - smp_fetch_sc_gpc0_rate
  - smp_fetch_gpc1_rate
  - smp_fetch_sc_gpc1_rate
  - smp_fetch_inc_gpc
  - smp_fetch_sc_inc_gpc
  - smp_fetch_inc_gpc0
  - smp_fetch_sc_inc_gpc0
  - smp_fetch_inc_gpc1
  - smp_fetch_sc_inc_gpc1
  - smp_fetch_clr_gpc
  - smp_fetch_sc_clr_gpc
  - smp_fetch_clr_gpc0
  - smp_fetch_sc_clr_gpc0
  - smp_fetch_clr_gpc1
  - smp_fetch_sc_clr_gpc1
  - smp_fetch_conn_cnt
  - smp_fetch_sc_conn_cnt
  - smp_fetch_conn_rate
  - smp_fetch_sc_conn_rate
  - smp_fetch_updt_conn_cnt
  - smp_fetch_src_updt_conn_cnt
  - smp_fetch_conn_cur
  - smp_fetch_sc_conn_cur
  - smp_fetch_glitch_cnt
  - smp_fetch_sc_glitch_cnt
  - smp_fetch_glitch_rate
  - smp_fetch_sc_glitch_rate
  - smp_fetch_sess_cnt
  - smp_fetch_sc_sess_cnt
  - smp_fetch_sess_rate
  - smp_fetch_sc_sess_rate
  - smp_fetch_http_req_cnt
  - smp_fetch_sc_http_req_cnt
  - smp_fetch_http_req_rate
  - smp_fetch_sc_http_req_rate
  - smp_fetch_http_err_cnt
  - smp_fetch_sc_http_err_cnt
  - smp_fetch_http_err_rate
  - smp_fetch_sc_http_err_rate
  - smp_fetch_http_fail_cnt
  - smp_fetch_sc_http_fail_cnt
  - smp_fetch_http_fail_rate
  - smp_fetch_sc_http_fail_rate
  - smp_fetch_kbytes_in
  - smp_fetch_sc_kbytes_in
  - smp_fetch_bytes_in_rate
  - smp_fetch_sc_bytes_in_rate
  - smp_fetch_kbytes_out
  - smp_fetch_sc_kbytes_out
  - smp_fetch_sc_key
  - smp_fetch_bytes_out_rate
  - smp_fetch_sc_bytes_out_rate
  - smp_fetch_sc_trackers
  - table_dump_head_to_buffer
  - table_dump_entry_to_buffer
  - table_process_entry
  - table_process_entry_per_key
  - table_process_entry_per_ptr
  - table_prepare_data_request
  - cli_parse_table_req
  - cli_io_handler_table
  - cli_release_show_table
  - stk_parse_stick_counters
  - stkt_create_stk_ctr_pool
  - stkt_late_init
  - stk_promex_metric_info
  - stk_promex_start_ts
  - stk_promex_next_ts
  - stk_promex_fill_ts
  source_file: /src/haproxy/src/stick_table.c
- function_names:
  - pool_pbucket
  - pool_tbucket
  - trim_all_pools
  - detect_allocator
  - malloc_trim
  - mem_should_fail
  - create_pool
  - pool_get_from_os_noinc
  - pool_put_to_os_nodec
  - pool_alloc_nocache
  - pool_free_nocache
  - pool_fill_pattern
  - pool_check_pattern
  - pool_evict_last_items
  - pool_evict_from_local_cache
  - pool_evict_from_local_caches
  - pool_put_to_cache
  - pool_refill_local_from_shared
  - pool_put_to_shared_cache
  - pool_flush
  - pool_gc
  - __pool_alloc
  - __pool_free
  - pool_destroy
  - pool_destroy_all
  - pool_inspect_item
  - cmp_dump_pools_name
  - cmp_dump_pools_size
  - cmp_dump_pools_usage
  - dump_pools_to_trash
  - dump_pools
  - pool_total_failures
  - pool_total_allocated
  - pool_total_used
  - pool_parse_debugging
  - cli_parse_show_pools
  - cli_release_show_pools
  - cli_io_handler_dump_pools
  - create_pool_callback
  - init_pools
  - pools_register_build_options
  - mem_parse_global_fail_alloc
  - mem_parse_global_hot_size
  - mem_parse_global_no_mem_trim
  source_file: /src/haproxy/src/pool.c
- function_names:
  - qcs_http_rcv_buf
  - qcs_http_handle_standalone_fin
  - qcs_http_snd_buf
  source_file: /src/haproxy/src/qmux_http.c
- function_names:
  - xprt_handshake_from_buf
  - xprt_handshake_to_buf
  - xprt_handshake_io_cb
  - xprt_handshake_start
  - xprt_handshake_init
  - xprt_handshake_close
  - xprt_handshake_subscribe
  - xprt_handshake_unsubscribe
  - xprt_handshake_add_xprt
  - xprt_handshake_remove_xprt
  - __xprt_handshake_init
  source_file: /src/haproxy/src/xprt_handshake.c
- function_names:
  - quic_peer_validated_addr
  - qc_kill_conn
  - qc_set_timer
  - quic_set_connection_close
  - quic_set_tls_alert
  - quic_set_app_ops
  - qc_check_close_on_released_mux
  - qc_conn_finalize
  - quic_conn_closed_err_count_inc
  - qc_h3_request_reject
  - qc_detach_th_ctx_list
  - quic_stateless_reset_token_cpy
  - quic_build_post_handshake_frames
  - quic_conn_app_io_cb
  - quic_release_cc_conn
  - quic_conn_closed_io_cb
  - quic_conn_closed_idle_timer_task
  - qc_new_cc_conn
  - quic_conn_io_cb
  - qc_process_timer
  - qc_new_conn
  - qc_handle_conn_migration
  - quic_conn_prx_cntrs_update
  - quic_conn_release
  - quic_conn_init_timer
  - qc_idle_timer_do_rearm
  - qc_idle_timer_rearm
  - qc_idle_timer_task
  - quic_conn_init_idle_timer_task
  - qc_supported_version
  - qc_check_dcid
  - qc_notify_send
  - qc_notify_err
  - qc_bind_tid_prep
  - qc_bind_tid_commit
  - qc_bind_tid_reset
  - qc_finalize_tid_rebind
  source_file: /src/haproxy/src/quic_conn.c
- function_names:
  - qmux_trace_frm
  - qmux_trace
  - qmux_trace_fill_ctx
  - qcc_app_st_to_str
  - qmux_dump_qcc_info
  - qmux_dump_qcs_info
  source_file: /src/haproxy/src/qmux_trace.c
- function_names:
  - thread_harmless_till_end
  - thread_isolate
  - thread_isolate_full
  - thread_release
  - setup_extra_threads
  - wait_for_threads_completion
  - set_thread_cpu_affinity
  - ha_get_pthread_id
  - ha_tkill
  - ha_tkillall
  - ha_thread_relax
  - ha_spin_init
  - ha_rwlock_init
  - thread_cpus_enabled
  - lock_label
  - get_lock_stat_num_read
  - get_lock_stat_num_seek
  - get_lock_stat_num_write
  - show_lock_stats
  - __ha_rwlock_init
  - __ha_rwlock_destroy
  - __ha_rwlock_wrlock
  - __ha_rwlock_trywrlock
  - __ha_rwlock_wrunlock
  - __ha_rwlock_rdlock
  - __ha_rwlock_tryrdlock
  - __ha_rwlock_rdunlock
  - __ha_rwlock_wrtord
  - __ha_rwlock_wrtosk
  - __ha_rwlock_sklock
  - __ha_rwlock_sktowr
  - __ha_rwlock_sktord
  - __ha_rwlock_skunlock
  - __ha_rwlock_trysklock
  - __ha_rwlock_tryrdtosk
  - __ha_rwlock_tryrdtowr
  - __spin_init
  - __spin_destroy
  - __spin_lock
  - __spin_trylock
  - __spin_unlock
  - pthread_rwlock_init
  - pthread_rwlock_destroy
  - pthread_rwlock_rdlock
  - pthread_rwlock_tryrdlock
  - pthread_rwlock_timedrdlock
  - pthread_rwlock_wrlock
  - pthread_rwlock_trywrlock
  - pthread_rwlock_timedwrlock
  - pthread_rwlock_unlock
  - dummy_thread_function
  - preload_libgcc_s
  - __thread_init
  - ha_tkill
  - ha_tkillall
  - ha_thread_relax
  - thread_detect_binding_discrepancies
  - thread_detect_more_than_cpus
  - thread_map_to_groups
  - thread_resolve_group_mask
  - thread_detect_count
  - parse_thread_set
  - cfg_parse_nbthread
  - cfg_parse_thread_hard_limit
  - cfg_parse_thread_group
  - cfg_parse_thread_groups
  source_file: /src/haproxy/src/thread.c
- function_names:
  - raw_sock_to_pipe
  - raw_sock_from_pipe
  - raw_sock_to_buf
  - raw_sock_from_buf
  - raw_sock_subscribe
  - raw_sock_unsubscribe
  - raw_sock_close
  - raw_sock_remove_xprt
  - __raw_sock_init
  source_file: /src/haproxy/src/raw_sock.c
- function_names:
  - tcp_action_attach_srv
  - extract_int_from_rule
  - tcp_action_req_set_src
  - tcp_action_req_set_dst
  - tcp_action_req_set_src_port
  - tcp_action_req_set_dst_port
  - tcp_exec_action_silent_drop
  - tcp_action_set_fc_mark
  - tcp_action_set_bc_mark
  - tcp_action_set_fc_tos
  - tcp_action_set_bc_tos
  - release_attach_srv_action
  - release_set_src_dst_action
  - tcp_check_attach_srv
  - tcp_parse_attach_srv
  - tcp_parse_set_src_dst
  - tcp_parse_set_mark
  - tcp_parse_set_tos
  - tcp_parse_silent_drop
  - init_do_log
  - tcp_req_conn_parse_do_log
  - tcp_req_sess_parse_do_log
  - tcp_req_cont_parse_do_log
  - tcp_res_cont_parse_do_log
  source_file: /src/haproxy/src/tcp_act.c
- function_names:
  - __fd_clo
  - _update_fd
  - _do_poll
  - init_select_per_thread
  - deinit_select_per_thread
  - _do_init
  - _do_term
  - _do_test
  - _do_register
  source_file: /src/haproxy/src/ev_select.c
- function_names:
  - dns_connect_nameserver
  - dns_send_nameserver
  - dns_recv_nameserver
  - dns_resolve_recv
  - dns_resolve_send
  - dns_dgram_init
  - dns_session_io_handler
  - dns_queries_flush
  - dns_session_free
  - dns_session_init
  - dns_session_release
  - dns_session_create
  - dns_process_query_exp
  - dns_process_idle_exp
  - dns_session_new
  - dns_process_req
  - dns_process_rsp
  - dns_stream_init
  - init_dns_buffers
  - deinit_dns_buffers
  source_file: /src/haproxy/src/dns.c
- function_names:
  - hq_interop_rcv_buf
  - hq_interop_snd_buf
  - hq_interop_nego_ff
  - hq_interop_done_ff
  - hq_interop_attach
  source_file: /src/haproxy/src/hq_interop.c
- function_names:
  - arg_list_clone
  - arg_list_add
  - make_arg_list
  - free_args
  source_file: /src/haproxy/src/arg.c
- function_names:
  - cert_get_pkey_algo
  - ssl_sock_get_serial
  - ssl_sock_crt2der
  - ssl_sock_get_time
  - ssl_sock_get_dn_entry
  - ssl_sock_get_dn_formatted
  - ssl_sock_get_dn_oneline
  - ssl_sock_get_peer_certificate
  - ssl_sock_get_verified_chain_root
  - openssl_version_parser
  - exclude_tls_grease
  - x509_v_err_str_to_int
  - x509_v_err_int_to_str
  - init_x509_v_err_tab
  - asn1_generalizedtime_to_epoch
  - x509_get_notafter
  - x509_get_notbefore
  - ASN1_to_time_t
  - x509_get_notafter_time_t
  - curves2nid
  - nid2nist
  source_file: /src/haproxy/src/ssl_utils.c
- function_names:
  - http_wait_for_request
  - http_process_req_common
  - http_process_request
  - http_process_tarpit
  - http_wait_for_request_body
  - http_request_forward_body
  - do_l7_retry
  - http_wait_for_response
  - http_process_res_common
  - http_response_forward_body
  - http_apply_redirect_rule
  - http_req_restrict_header_names
  - http_replace_hdrs
  - http_req_replace_stline
  - http_res_set_status
  - http_req_get_intercept_rule
  - http_res_get_intercept_rule
  - http_eval_after_res_rules
  - http_manage_client_side_cookies
  - http_manage_server_side_cookies
  - http_check_request_for_cacheability
  - http_check_response_for_cacheability
  - http_stats_check_uri
  - http_handle_stats
  - http_wait_for_msg_body
  - http_perform_server_redirect
  - http_end_request
  - http_end_response
  - http_forward_proxy_resp
  - http_server_error
  - http_reply_and_close
  - http_error_message
  - http_reply_to_htx
  - http_reply_message
  - http_return_srv_error
  - http_handle_expect_hdr
  - http_reply_100_continue
  - http_capture_headers
  - http_del_hdr_value
  - http_fmt_req_line
  - http_debug_stline
  - http_debug_hdr
  - http_txn_reset_req
  - http_txn_reset_res
  - http_create_txn
  - http_destroy_txn
  - http_set_term_flags
  source_file: /src/haproxy/src/http_ana.c
- function_names:
  - h1_eval_htx_hdrs_size
  - h1_eval_htx_size
  - h1_process_req_vsn
  - h1_process_res_vsn
  - h1m_htx_sl_flags
  - h1_postparse_req_hdrs
  - h1_postparse_res_hdrs
  - h1_parse_msg_hdrs
  - h1_copy_msg_data
  - h1_parse_chunk
  - h1_parse_full_contig_chunks
  - h1_parse_msg_chunks
  - h1_parse_msg_data
  - h1_parse_msg_tlrs
  - h1_format_htx_reqline
  - h1_format_htx_stline
  - h1_format_htx_hdr
  - h1_format_htx_data
  source_file: /src/haproxy/src/h1_htx.c
- function_names:
  - quic_enc_unittest
  source_file: /src/haproxy/src/quic_enc.c
- function_names:
  - hap_register_pre_check
  - hap_register_post_check
  - hap_register_post_proxy_check
  - hap_register_post_server_check
  - hap_register_post_deinit
  - hap_register_proxy_deinit
  - hap_register_server_deinit
  - hap_register_per_thread_alloc
  - hap_register_per_thread_init
  - hap_register_per_thread_deinit
  - hap_register_per_thread_free
  source_file: /src/haproxy/src/init.c
- function_names:
  - strm_trace
  - stream_upgrade_from_sc
  - stream_buf_available
  - stream_new
  - stream_free
  - stream_alloc_work_buffer
  - stream_release_buffers
  - stream_process_counters
  - stream_abort
  - stream_retnclose
  - stream_set_timeout
  - back_establish
  - sess_set_term_flags
  - process_use_service
  - process_switching_rules
  - process_server_rules
  - sticking_rule_find_target
  - process_sticking_rules
  - process_store_rules
  - stream_set_http_mode
  - stream_update_both_sc
  - stream_handle_timeouts
  - stream_cond_update_cpu_latency
  - stream_cond_update_cpu_usage
  - stream_update_timings
  - process_stream
  - stream_update_time_stats
  - sess_change_server
  - default_srv_error
  - stream_shutdown_self
  - stream_dump_and_crash
  - init_stream
  - stream_generate_unique_id
  - stream_action_set_retries
  - stream_parse_set_retries
  - stream_action_set_log_level
  - stream_parse_set_log_level
  - stream_action_set_nice
  - stream_parse_set_nice
  - tcp_action_switch_stream_mode
  - check_tcp_switch_stream_mode
  - stream_parse_switch_mode
  - stream_parse_use_service
  - service_keywords_register
  - service_find
  - list_services
  - __strm_dump_to_buffer
  - strm_dump_to_buffer
  - stats_dump_full_strm_to_buffer
  - cli_parse_show_sess
  - cli_io_handler_dump_sess
  - cli_release_show_sess
  - cli_parse_shutdown_session
  - cli_parse_shutdown_sessions_server
  - smp_fetch_cur_client_timeout
  - smp_fetch_cur_server_timeout
  - smp_fetch_cur_tunnel_timeout
  - smp_fetch_last_rule_file
  - smp_fetch_last_rule_line
  - smp_fetch_last_entity
  - smp_fetch_waiting_entity
  - smp_fetch_sess_term_state
  - smp_fetch_conn_retries
  - smp_fetch_tevts
  - smp_fetch_id32
  - smp_fetch_redispatched
  source_file: /src/haproxy/src/stream.c
- function_names:
  - ebpt_insert
  - ebpt_lookup
  - ebpt_lookup_le
  - ebpt_lookup_ge
  source_file: /src/haproxy/src/ebpttree.c
- function_names:
  - CEB_FDECL3
  - CEB_FDECL2
  - CEB_FDECL2
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL4
  source_file: /src/haproxy/src/cebul_tree.c
- function_names:
  - ssl_sock_free_ssl_conf
  - crtlist_dup_ssl_conf
  - crtlist_free_filters
  - crtlist_dup_filters
  - crtlist_entry_free
  - crtlist_entry_dup
  - crtlist_entry_new
  - crtlist_free
  - crtlist_new
  - crtlist_parse_line
  - crtlist_load_crt
  - crtlist_parse_file
  - crtlist_load_cert_dir
  - dump_crtlist_conf
  - dump_crtlist_filters
  - cli_io_handler_dump_crtlist
  - cli_io_handler_dump_crtlist_entries
  - cli_parse_dump_crtlist
  - cli_release_add_crtlist
  - cli_io_handler_add_crtlist
  - cli_parse_add_crtlist
  - cli_parse_del_crtlist
  - crtlist_deinit
  source_file: /src/haproxy/src/ssl_crtlist.c
- function_names:
  - sockpair_enable_listener
  - sockpair_disable_listener
  - sockpair_bind_receiver
  - sockpair_bind_listener
  - send_fd_uxst
  - sockpair_connect_server
  - recv_fd_uxst
  - sockpair_accepting_conn
  - sockpair_accept_conn
  source_file: /src/haproxy/src/proto_sockpair.c
- function_names:
  - http_7239_extract_port
  - http_7239_valid_obfsc
  - http_7239_extract_obfs
  - http_7239_extract_ipv4
  - http_7239_extract_ipv6
  - http_7239_extract_host
  - http_7239_extract_nodename
  - http_7239_extract_nodeport
  - http_7239_extract_node
  - _forwarded_header_save_ctx
  - _forwarded_header_quote_expected
  - http_validate_7239_header
  - _7239_print_ip6
  - http_build_7239_header_nodename
  - http_build_7239_header_nodeport
  - http_build_7239_header_node
  - http_build_7239_header_host
  - http_build_7239_header
  - http_handle_7239_header
  - http_handle_xff_header
  - http_handle_xot_header
  - proxy_http_parse_oom
  - _proxy_http_parse_7239_expr
  - proxy_http_parse_7239
  - proxy_http_compile_7239
  - proxy_http_parse_xff
  - proxy_http_parse_xot
  - http_ext_7239_prepare
  - http_ext_xff_prepare
  - http_ext_xot_prepare
  - http_ext_7239_clean
  - http_ext_xff_clean
  - http_ext_xot_clean
  - http_ext_7239_dup
  - http_ext_xff_dup
  - http_ext_xot_dup
  - http_ext_prepare
  - http_ext_dup
  - http_ext_clean
  - http_ext_softclean
  - check_http_ext_postconf
  - sample_conv_7239_valid
  - sample_conv_7239_field
  - sample_conv_7239_n2nn
  - sample_conv_7239_n2np
  - sample_conv_7239_nn
  - sample_conv_7239_np
  source_file: /src/haproxy/src/http_ext.c
- function_names:
  - sample_conv_secure_memcmp
  - smp_check_secure_memcmp
  - smp_check_sha2
  - sample_conv_sha2
  - sample_check_arg_base64
  - check_aes_gcm
  - sample_conv_aes_gcm
  - check_crypto_digest
  - sample_conv_crypto_digest
  - sample_conv_x509_v_err
  - check_crypto_hmac
  - sample_conv_crypto_hmac
  - smp_fetch_ssl_fc_has_early
  - smp_fetch_ssl_fc_has_crt
  - smp_fetch_ssl_r_dn
  - smp_fetch_ssl_x_der
  - smp_fetch_ssl_x_chain_der
  - smp_fetch_ssl_x_serial
  - smp_fetch_ssl_x_sha1
  - smp_fetch_ssl_x_notafter
  - smp_fetch_ssl_x_i_dn
  - smp_fetch_ssl_x_san
  - smp_fetch_ssl_x_notbefore
  - smp_fetch_ssl_x_s_dn
  - smp_fetch_ssl_c_used
  - smp_fetch_ssl_x_version
  - smp_fetch_ssl_x_sig_alg
  - smp_fetch_ssl_x_key_alg
  - smp_fetch_ssl_fc
  - smp_fetch_ssl_fc_has_sni
  - smp_fetch_ssl_fc_is_resumed
  - smp_fetch_ssl_fc_ec
  - smp_fetch_ssl_fc_cipher
  - smp_fetch_ssl_fc_alg_keysize
  - smp_fetch_ssl_fc_use_keysize
  - smp_fetch_ssl_fc_npn
  - smp_fetch_ssl_fc_alpn
  - smp_fetch_ssl_fc_protocol
  - smp_fetch_ssl_fc_session_id
  - smp_fetch_ssl_fc_random
  - smp_fetch_ssl_fc_session_key
  - smp_fetch_ssl_fc_sni
  - smp_fetch_ssl_fc_cl_bin
  - smp_fetch_ssl_fc_cl_hex
  - smp_fetch_ssl_fc_cl_xxh64
  - smp_fetch_ssl_fc_err
  - smp_fetch_ssl_fc_protocol_hello_id
  - smp_fetch_ssl_fc_supver_bin
  - smp_fetch_ssl_fc_sigalgs_bin
  - smp_fetch_ssl_fc_err_str
  - smp_fetch_ssl_fc_ext_bin
  - smp_fetch_ssl_fc_ecl_bin
  - smp_fetch_ssl_fc_ecf_bin
  - smp_fetch_ssl_x_keylog
  - smp_fetch_ssl_fc_cl_str
  - smp_fetch_ssl_fc_unique_id
  - smp_fetch_ssl_c_ca_err
  - smp_fetch_ssl_c_ca_err_depth
  - smp_fetch_ssl_c_err
  - smp_fetch_ssl_c_verify
  - val_dnfmt
  source_file: /src/haproxy/src/ssl_sample.c
- function_names:
  - startup_logs_init_shm
  - startup_logs_init
  - startup_logs_free
  - startup_logs_dup
  - usermsgs_put
  - usermsgs_clr
  - usermsgs_empty
  - usermsgs_str
  - set_usermsgs_ctx
  - register_parsing_obj
  - reset_usermsgs_ctx
  - generate_usermsgs_ctx_str
  - print_message
  - print_message_args
  - warn_exec_path
  - ha_alert
  - ha_warning
  - _ha_vdiag_warning
  - _ha_diag_warning
  - ha_diag_warning
  - ha_notice
  - qfprintf
  - cli_parse_show_startup_logs
  - deinit_errors_buffers
  source_file: /src/haproxy/src/errors.c
- function_names:
  - h3_fill_stats
  - h3_inc_err_cnt
  - h3_inc_frame_type_cnt
  source_file: /src/haproxy/src/h3_stats.c
- function_names:
  - get_be32
  - put_be32
  - blk_SHA1_Block
  - blk_SHA1_Init
  - blk_SHA1_Update
  - blk_SHA1_Final
  source_file: /src/haproxy/src/sha1.c
- function_names:
  - check_kw_experimental
  - hap_register_build_opts
  - hap_get_next_build_opt
  - hap_register_feature
  - hap_register_unittest
  - split_version
  - compare_current_version
  - display_version
  - display_build_opts
  - usage
  - tell_old_pids
  - delete_oldpid
  - exit_on_failure
  - sig_soft_stop
  - sig_pause
  - sig_listen
  - sig_dump_state
  - dump
  - stdio_quiet
  - cfgfiles_expand_directories
  - load_cfg
  - read_cfg
  - copy_argv
  - ha_random_boot
  - do_check_condition
  - init_early
  - init_args
  - dump_registered_keywords
  - generate_random_cluster_secret
  - apply_daemon_mode
  - handle_pidfile
  - get_listeners_fd
  - bind_listeners
  - step_init_1
  - step_init_2
  - step_init_3
  - step_init_4
  - set_verbosity
  - run_master_in_recovery_mode
  - read_cfg_in_discovery_mode
  - deinit
  - deinit_and_exit
  - run_poll_loop
  - run_thread_poll_loop
  - set_identity
  - main
  source_file: /src/haproxy/src/haproxy.c
- function_names:
  - quic_packet_encrypt
  - free_quic_tx_packet
  - qc_txb_alloc
  - qc_txb_release
  - qc_get_txb
  - qc_txb_store
  - qc_may_build_pkt
  - qc_free_frm_list
  - qc_free_tx_coalesced_pkts
  - qc_purge_tx_buf
  - qc_send_ppkts
  - qc_purge_txbuf
  - qc_send_mux
  - qc_select_tls_ver
  - qc_prep_pkts
  - qc_send
  - qel_register_send
  - qel_need_sending
  - qc_dgrams_retransmit
  - send_version_negotiation
  - send_stateless_reset
  - quic_pkt_type
  - send_retry
  - quic_write_uint32
  - quic_packet_number_length
  - quic_packet_number_encode
  - quic_build_packet_long_header
  - quic_build_packet_short_header
  - quic_apply_header_protection
  - qc_build_frms
  - qc_build_cc_frm
  - quic_compute_ack_delay_us
  - qc_do_build_pkt
  - quic_tx_packet_init
  - qc_build_pkt
  source_file: /src/haproxy/src/quic_tx.c
- function_names:
  - __fd_clo
  - _do_fixup_tgid_takeover
  - _update_fd
  - _do_poll
  - init_epoll_per_thread
  - deinit_epoll_per_thread
  - _do_init
  - _do_term
  - _do_test
  - _do_fork
  - _do_register
  - cfg_parse_tune_epoll_mask_events
  source_file: /src/haproxy/src/ev_epoll.c
- function_names:
  - qcc_is_pacing_active
  - qcs_free_rxbuf
  - qcs_free
  - qcs_new
  - qcs_sc
  - qcc_reset_idle_start
  - qcc_rm_sc
  - qcc_rm_hreq
  - qcc_is_dead
  - qcc_may_expire
  - qcc_refresh_timeout
  - qcs_idle_open
  - qcs_close_local
  - qcs_is_completed
  - qcs_close_remote
  - qcs_is_close_local
  - qcs_is_close_remote
  - qcs_get_ncbuf
  - qcs_alert
  - qcs_subscribe
  - qcs_notify_recv
  - qcs_notify_send
  - qcs_prep_bytes
  - qmux_ctrl_send
  - qcc_bufwnd_full
  - qmux_ctrl_room
  - qcc_notify_buf
  - qcc_set_error
  - _qcc_report_glitch
  - qcc_init_stream_local
  - qcc_init_stream_remote
  - qcs_send_metadata
  - qcs_attach_sc
  - qcc_stream_id_is_closed
  - qcc_get_qcs
  - qcs_b_dup
  - qcs_transfer_rx_data
  - qcs_get_curr_rxbuf
  - qcs_rx_avail_data
  - qcs_consume
  - qcc_decode_qcs
  - qcc_get_stream_rxbuf
  - qcc_get_stream_txbuf
  - qcc_realloc_stream_txbuf
  - qcc_realign_stream_txbuf
  - qcc_release_stream_txbuf
  - qcc_stream_can_send
  - qcc_notify_fctl
  - qcc_clear_frms
  - _qcc_send_stream
  - qcc_reset_stream
  - qcc_send_stream
  - qcc_abort_stream_read
  - qcc_install_app_ops
  - qcs_get_rxbuf
  - qcc_recv
  - qcc_recv_max_data
  - qcc_recv_max_stream_data
  - qcc_recv_reset_stream
  - qcc_recv_stop_sending
  - qcc_release_remote_stream
  - qcs_destroy
  - qcs_build_stream_frm
  - qcc_subscribe_send
  - qcc_send_frames
  - qcs_send_reset
  - qcs_send_stop_sending
  - qcs_send
  - qcc_emit_rs_ss
  - qcc_build_frms
  - qcc_wakeup_pacing
  - qcc_app_init
  - qcc_io_send
  - qcc_wait_for_hs
  - qcc_io_recv
  - qcc_purge_streams
  - qcc_shutdown
  - qcc_wake_some_streams
  - qcc_io_process
  - qcc_release
  - qcc_io_cb
  - qcc_pacing_task
  - qcc_timeout_task
  - _qcc_init
  - qmux_init
  - qmux_destroy
  - qmux_strm_detach
  - qmux_strm_rcv_buf
  - qmux_strm_snd_buf
  - qmux_strm_nego_ff
  - qmux_strm_done_ff
  - qmux_strm_resume_ff
  - qmux_strm_subscribe
  - qmux_strm_unsubscribe
  - qmux_wake
  - qmux_strm_shut
  - qmux_ctl
  - qmux_sctl
  - qmux_strm_show_sd
  - qcc_show_quic
  source_file: /src/haproxy/src/mux_quic.c
- function_names:
  - lru64_lookup
  - lru64_get
  - lru64_commit
  - lru64_new
  - lru64_destroy
  - lru64_kill_oldest
  - sum
  - get_value
  - statistical_prng
  - main
  source_file: /src/haproxy/src/lru.c
- function_names:
  - check_trace_buf
  - check_trace
  - unclean_errno
  - get_check_status_result
  - get_check_status_description
  - get_check_status_info
  - get_analyze_status
  - check_append_info
  - set_server_check_status
  - check_notify_cause
  - check_notify_failure
  - check_notify_success
  - check_notify_stopping
  - __health_adjust
  - retrieve_errno_from_socket
  - chk_report_conn_err
  - httpchk_build_status_header
  - wake_srv_chk
  - srv_chk_io_cb
  - check_thread_cmp_load
  - check_thread_cmp_active
  - process_chk_conn
  - check_buf_available
  - check_get_buf
  - check_release_buf
  - init_check
  - free_check
  - check_purge
  - process_chk
  - start_check_task
  - start_checks
  - clear_checks
  - srv_check_healthcheck_port
  - init_srv_check
  - init_srv_agent_check
  - deinit_srv_check
  - deinit_srv_agent_check
  - init_checks
  - srv_parse_addr
  - srv_parse_agent_addr
  - srv_parse_agent_check
  - srv_parse_agent_inter
  - srv_parse_agent_port
  - set_srv_agent_send
  - srv_parse_agent_send
  - srv_parse_no_agent_check
  - srv_parse_check
  - srv_parse_check_send_proxy
  - srv_parse_check_via_socks4
  - srv_parse_no_check
  - srv_parse_no_check_reuse_pool
  - srv_parse_no_check_send_proxy
  - srv_parse_check_pool_conn_name
  - srv_parse_check_proto
  - srv_parse_check_reuse_pool
  - srv_parse_check_rise
  - srv_parse_check_fall
  - srv_parse_check_inter
  - srv_parse_check_fastinter
  - srv_parse_check_downinter
  - srv_parse_check_port
  - check_parse_global_max_checks
  source_file: /src/haproxy/src/check.c
- function_names:
  - qc_stream_frm_is_acked
  - qc_dup_pkt_frms
  - qc_pkt_with_only_acked_frms
  - qc_prep_fast_retrans
  - qc_prep_hdshk_fast_retrans
  source_file: /src/haproxy/src/quic_retransmit.c
- function_names:
  - init_buffer
  - buffer_dump
  - __offer_buffers
  - cfg_parse_tune_buffers_limit
  - cfg_parse_tune_buffers_reserve
  - cfg_parse_tune_bufsize_small
  - alloc_emergency_buffers_per_thread
  - free_emergency_buffers_per_thread
  source_file: /src/haproxy/src/dynbuf.c
- function_names:
  - decode_packet_number
  - qc_do_rm_hp
  - qc_pkt_decrypt
  - qc_handle_newly_acked_frm
  - qc_newly_acked_pkts
  - qc_handle_newly_acked_pkts
  - qc_handle_frms_of_lost_pkt
  - qc_notify_cc_of_newly_acked_pkts
  - qc_parse_ack_frm
  - qc_handle_strm_frm
  - qc_handle_crypto_frm
  - qc_handle_retire_connection_id_frm
  - quic_ack_delay_ms
  - qc_parse_pkt_frms
  - qc_handle_spin_bit
  - qc_rm_hp_pkts
  - qc_qel_may_rm_hp
  - qc_treat_rx_pkts
  - quic_packet_read_long_header
  - qc_try_rm_hp
  - quic_read_uint32
  - qc_parse_hd_form
  - quic_padding_check
  - quic_token_validate
  - quic_rx_pkt_retrieve_conn
  - quic_rx_pkt_parse
  - qc_rx_check_closing
  - quic_rx_pkts_del
  - qc_rx_pkt_handle
  - quic_dgram_parse
  source_file: /src/haproxy/src/quic_rx.c
- function_names:
  - capset
  - prepare_caps_from_permitted_set
  - prepare_caps_for_setuid
  - finalize_caps_after_setuid
  - cfg_parse_global_setcap
  source_file: /src/haproxy/src/linuxcap.c
- function_names:
  - h3_init_uni_stream
  - h3_parse_uni_stream_no_h3
  - h3_decode_frm_header
  - h3_check_frame_valid
  - h3_check_body_size
  - h3_set_authority
  - h3_headers_to_htx
  - h3_trailers_to_htx
  - h3_data_to_htx
  - h3_parse_settings_frm
  - h3_rcv_buf
  - h3_control_send
  - h3_resp_headers_send
  - h3_resp_trailers_send
  - h3_resp_data_send
  - h3_snd_buf
  - h3_nego_ff
  - h3_done_ff
  - h3_close
  - h3_attach
  - h3_detach
  - h3_send_goaway
  - h3_init
  - h3_finalize
  - h3_shutdown
  - h3_release
  - h3_stats_inc_err_cnt
  - h3_report_susp
  - h3_ft_str
  - h3_trace
  source_file: /src/haproxy/src/h3.c
- function_names:
  - _tv_ms_add
  - _tv_ms_cmp
  - _tv_ms_cmp2
  - _tv_ms_le2
  - _tv_ms_remain
  - _tv_ms_remain2
  - _tv_ms_elapsed
  - _tv_add
  - _tv_add_ifset
  - _tv_remain
  - _tv_remain2
  - _tv_isle
  - _tv_isgt
  source_file: /src/haproxy/src/time.c
- function_names:
  - CEB_FDECL3
  - CEB_FDECL2
  - CEB_FDECL2
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL4
  source_file: /src/haproxy/src/cebu64_tree.c
- function_names:
  - spop_strm_sc
  - spop_strm_opposite_sd
  - spop_trace_buf
  - spop_trace
  - spop_buf_available
  - spop_get_buf
  - spop_release_buf
  - spop_release_mbuf
  - spop_recv_allowed
  - spop_conn_report_term_evt
  - spop_conn_restart_reading
  - spop_streams_left
  - spop_used_streams
  - spop_avail_streams
  - spop_init
  - spop_release
  - spop_conn_get_next_sid
  - spop_conn_st_by_id
  - spop_conn_read0_pending
  - spop_conn_may_expire
  - spop_conn_is_dead
  - spop_conn_update_timeout
  - spop_conn_error
  - spop_strm_error
  - spop_strm_notify_recv
  - spop_strm_notify_send
  - spop_strm_alert
  - spop_set_frame_size
  - spop_get_buf_bytes
  - spop_get_n16
  - spop_get_n32
  - spop_get_n64
  - spop_get_varint
  - spop_peek_frame_hdr
  - spop_skip_frame_hdr
  - spop_get_frame_hdr
  - spop_strm_close
  - spop_strm_propagate_term_flags
  - spop_strm_destroy
  - spop_strm_new
  - spop_stconn_new
  - spop_strm_wake_one_stream
  - spop_wake_unassigned_streams
  - spop_wake_some_streams
  - spop_conn_send_hello
  - spop_conn_send_disconnect
  - spop_conn_handle_hello
  - spop_conn_handle_disconnect
  - spop_conn_handle_ack
  - spop_resume_each_sending_spop_strm
  - spop_remove_from_list
  - spop_process_demux
  - spop_process_mux
  - spop_recv
  - spop_send
  - spop_io_cb
  - spop_process
  - spop_wake
  - spop_ctl
  - spop_sctl
  - spop_timeout_task
  - spop_show_error_snapshot
  - spop_strm_capture_bad_message
  - spop_attach
  - spop_get_first_sc
  - spop_destroy
  - spop_detach
  - spop_do_shutr
  - spop_do_shutw
  - spop_shut
  - spop_subscribe
  - spop_unsubscribe
  - spop_strm_send_notify
  - spop_rcv_buf
  - spop_snd_buf
  - spop_dump_spop_strm_info
  - spop_dump_spop_conn_info
  - spop_show_fd
  - spop_show_sd
  - spop_takeover
  source_file: /src/haproxy/src/mux_spop.c
- function_names:
  - stats_dump_fields_file
  - stats_dump_file_header
  - parse_header_line
  - load_ctr
  - parse_stat_line
  - apply_stats_file
  source_file: /src/haproxy/src/stats-file.c
- function_names:
  - resolv_fill_stats
  - find_resolvers_by_id
  - find_nameserver_by_resolvers_and_id
  - find_srvrq_by_name
  - new_resolv_srvrq
  - find_srvrq_answer_record
  - resolv_rnd16
  - resolv_resolution_timeout
  - resolv_update_resolvers_timeout
  - resolv_build_query
  - resolv_send_query
  - resolv_run_resolution
  - resolv_trigger_resolution
  - resolv_reset_resolution
  - resolv_response_get_query_id
  - resolv_read_name
  - enter_resolver_code
  - abort_resolution
  - leave_resolver_code
  - resolv_srvrq_cleanup_srv
  - resolv_srvrq_expire_task
  - resolv_check_response
  - resolv_validate_dns_response
  - resolv_get_ip_from_response
  - resolv_dn_label_to_str
  - resolv_str_to_dn_label
  - resolv_hostname_validation
  - resolv_pick_resolution
  - resolv_purge_resolution_answer_records
  - resolv_free_resolution
  - resolv_get_requester
  - resolv_link_resolution
  - resolv_detach_from_resolution_answer_items
  - _resolv_unlink_resolution
  - resolv_unlink_resolution
  - resolv_process_responses
  - process_resolvers
  - resolvers_destroy
  - resolvers_deinit
  - resolvers_finalize_config
  - stats_dump_resolv_to_buffer
  - stats_dump_resolvers
  - resolv_stats_clear_counters
  - resolv_allocate_counters
  - cli_parse_stat_resolvers
  - cli_io_handler_dump_resolvers_to_buffer
  - action_prepare_for_resolution
  - resolv_action_do_resolve
  - release_resolv_action
  - resolv_parse_do_resolve
  - check_action_do_resolve
  - resolvers_setup_proxy
  - parse_resolve_conf
  - resolvers_new
  - cfg_parse_resolvers
  - resolvers_create_default
  - cfg_post_parse_resolvers
  - rslv_promex_metric_info
  - rslv_promex_start_ts
  - rslv_promex_next_ts
  - rslv_promex_fill_ts
  source_file: /src/haproxy/src/resolvers.c
- function_names:
  - auth_find_userlist
  - check_group
  - userlist_free
  - userlist_postinit
  - check_user
  - pat_match_auth
  source_file: /src/haproxy/src/auth.c
- function_names:
  - cfg_parse_global
  - cfg_parse_prealloc_fd
  - cfg_parse_reject_privileged_ports
  - cfg_parse_global_master_worker
  - cfg_parse_global_mode
  - cfg_parse_global_disable_poller
  - cfg_parse_global_pidfile
  - cfg_parse_global_non_std_directives
  - cfg_parse_global_tune_opts
  - cfg_parse_global_tune_forward_opts
  - cfg_parse_global_unsupported_opts
  - cfg_parse_global_env_opts
  - cfg_parse_global_parser_pause
  - cfg_parse_tune_renice
  - cfg_parse_global_chroot
  - cfg_parse_global_localpeer
  - cfg_parse_global_stress_level
  source_file: /src/haproxy/src/cfgparse-global.c
- function_names:
  - ebst_lookup
  - ebst_insert
  source_file: /src/haproxy/src/ebsttree.c
- function_names:
  - sock_accept_conn
  - sock_handle_system_err
  - sock_create_server_socket
  - sock_enable
  - sock_disable
  - sock_unbind
  - sock_restore_unix_family
  - sock_get_src
  - sock_get_dst
  - sock_get_old_sockets
  - sock_find_compatible_fd
  - sock_drop_unused_old_sockets
  - sock_accepting_conn
  - sock_accept_iocb
  - sock_conn_ctrl_init
  - sock_conn_ctrl_close
  - sock_conn_check
  - sock_conn_iocb
  - sock_drain
  - sock_check_events
  - sock_ignore_events
  - _sock_supports_reuseport
  source_file: /src/haproxy/src/sock.c
- function_names:
  - bn2base64url
  - EVP_PKEY_EC_to_pub_jwk
  - EVP_PKEY_RSA_to_pub_jwk
  - EVP_PKEY_to_pub_jwk
  - jws_b64_protected
  - jws_b64_payload
  - EVP_PKEY_to_jws_alg
  - jws_b64_signature
  - jws_thumbprint
  - jws_flattened
  - jws_debug
  - jwk_debug
  - __jws_init
  source_file: /src/haproxy/src/jws.c
- function_names:
  - fwlc_set_seq_and_smallest
  - fwlc_remove_from_tree
  - fwlc_proxy_deinit
  - fwlc_server_deinit
  - fwlc_dequeue_srv
  - fwlc_alloc_tree_elt
  - fwlc_get_tree_elt
  - fwlc_queue_srv
  - fwlc_lock_target_list
  - fwlc_get_key
  - fwlc_check_srv_key
  - fwlc_srv_reposition
  - fwlc_set_server_status_down
  - fwlc_set_server_status_up
  - fwlc_update_server_weight
  - fwlc_init_server_tree
  - fwlc_get_next_server
  source_file: /src/haproxy/src/lb_fwlc.c
- function_names:
  - release_http_action
  - release_act_http_reply
  - check_act_http_reply
  - http_action_set_req_line
  - parse_set_req_line
  - http_action_normalize_uri
  - parse_http_normalize_uri
  - http_action_replace_uri
  - parse_replace_uri
  - action_http_set_status
  - parse_http_set_status
  - http_action_reject
  - parse_http_action_reject
  - http_req_disable_l7_retry
  - parse_http_req_disable_l7_retry
  - http_action_req_capture
  - http_action_req_capture_by_id
  - check_http_req_capture
  - release_http_capture
  - parse_http_req_capture
  - http_action_res_capture_by_id
  - check_http_res_capture
  - parse_http_res_capture
  - parse_http_allow
  - parse_http_deny
  - http_action_auth
  - parse_http_auth
  - http_action_early_hint
  - http_action_set_header
  - parse_http_set_header
  - http_action_replace_header
  - parse_http_replace_header
  - http_action_del_header
  - parse_http_del_header
  - release_http_redir
  - parse_http_redirect
  - http_action_set_map
  - release_http_map
  - parse_http_set_map
  - http_action_track_sc
  - release_http_track_sc
  - parse_http_track_sc
  - action_timeout_set_stream_timeout
  - parse_http_set_timeout
  - http_action_strict_mode
  - parse_http_strict_mode
  - http_action_return
  - parse_http_return
  - http_action_wait_for_body
  - parse_http_wait_for_body
  - init_do_log
  - parse_http_req_do_log
  - parse_http_res_do_log
  - parse_http_after_res_do_log
  source_file: /src/haproxy/src/http_act.c
- function_names: []
  source_file: /src/haproxy/src/version.c
- function_names:
  - eb32_insert
  - eb32i_insert
  - eb32_lookup
  - eb32i_lookup
  - eb32_lookup_le
  - eb32_lookup_ge
  source_file: /src/haproxy/src/eb32tree.c
- function_names:
  - alloc_trace_buffers_per_thread
  - free_trace_buffers_per_thread
  - trace_pick_arg
  - __trace_enabled
  - __trace
  - trace_no_cb
  - trace_source_reset
  - trace_register_source
  - trace_find_source
  - trace_find_event
  - trace_parse_level
  - trace_source_parse_verbosity
  - _trace_get_sink
  - trace_enforce_origin_priority
  - _trace_parse_statement
  - trace_parse_statement
  - _trace_parse_cmd
  - trace_parse_cmd
  - cfg_parse_trace
  - cfg_parse_traces
  - cli_parse_trace
  - cli_parse_show_trace
  source_file: /src/haproxy/src/trace.c
- function_names:
  - htx_memcpy
  - htx_defrag
  - htx_defrag_blks
  - htx_reserve_nxblk
  - htx_prepare_blk_expansion
  - htx_add_blk
  - htx_remove_blk
  - htx_find_offset
  - htx_truncate
  - htx_drain
  - htx_add_data_atonce
  - htx_replace_blk_value
  - htx_xfer_blks
  - htx_replace_header
  - htx_replace_stline
  - htx_reserve_max_data
  - htx_add_data
  - htx_add_last_data
  - htx_move_blk_before
  - htx_append_msg
  source_file: /src/haproxy/src/htx.c
- function_names:
  - guid_init
  - guid_insert
  - guid_remove
  - guid_lookup
  - guid_is_valid_fmt
  - guid_name
  source_file: /src/haproxy/src/guid.c
- function_names:
  - ha_cpuset_detect_online
  - cpu_detect_usable
  - ha_cpuset_detect_bound
  - cpu_map_configured
  - cpu_dump_topology
  - _cmp_cpu_index
  - _cmp_cpu_locality
  - _cmp_cpu_cluster_capa
  - _cmp_cpu_cluster
  - cpu_reorder_by_index
  - cpu_reorder_by_locality
  - cpu_reorder_by_cluster
  - cpu_reorder_by_cluster_capa
  - _cmp_cluster_index
  - _cmp_cluster_capa
  - cpu_cluster_reorder_by_index
  - cpu_cluster_reorder_by_capa
  - cpu_topo_get_maxcpus
  - cpu_fixup_topology
  - cpu_compose_clusters
  - cpu_refine_cpusets
  - cpu_policy_first_usable_node
  - cpu_policy_group_by_cluster
  - cpu_policy_performance
  - cpu_policy_efficiency
  - cpu_policy_resource
  - cpu_apply_policy
  - cpu_detect_topology
  - cpu_detect_topology
  - cpu_detect_topology
  - cfg_parse_cpu_set
  - cfg_parse_cpu_policy
  - cpu_topo_alloc
  - cpu_topo_deinit
  source_file: /src/haproxy/src/cpu_topo.c
- function_names:
  - channel_label
  - proxy_mode
  - stream_pos
  - filter_type
  - trace_hexdump
  - trace_raw_hexdump
  - trace_htx_hexdump
  - trace_get_htx_datalen
  - trace_init
  - trace_deinit
  - trace_check
  - trace_init_per_thread
  - trace_deinit_per_thread
  - trace_attach
  - trace_detach
  - trace_stream_start
  - trace_stream_set_backend
  - trace_stream_stop
  - trace_check_timeouts
  - trace_chn_start_analyze
  - trace_chn_analyze
  - trace_chn_end_analyze
  - trace_http_headers
  - trace_http_payload
  - trace_http_end
  - trace_http_reset
  - trace_http_reply
  - trace_tcp_payload
  - parse_trace_flt
  source_file: /src/haproxy/src/flt_trace.c
- function_names:
  - stats_emit_json_field_tags
  - stats_emit_json_data_field
  - stats_print_proxy_field_json
  - stats_print_rslv_field_json
  - stats_dump_json_header
  - stats_dump_fields_json
  - stats_dump_json_end
  - stats_dump_json_info_fields
  - stats_dump_json_schema
  - stats_dump_json_schema_to_buffer
  source_file: /src/haproxy/src/stats-json.c
- function_names:
  - ssl_load_global_issuers_from_path
  - ssl_parse_global_ssl_async
  - ssl_parse_global_ssl_engine
  - ssl_parse_global_ssl_propquery
  - ssl_parse_global_ssl_provider
  - ssl_parse_global_ssl_provider_path
  - ssl_parse_global_ciphers
  - ssl_parse_global_ciphersuites
  - ssl_parse_global_curves
  - ssl_parse_global_sigalgs
  - ssl_parse_global_client_sigalgs
  - ssl_parse_global_int
  - ssl_parse_global_capture_buffer
  - ssl_parse_global_keylog
  - ssl_parse_global_keylog
  - ssl_parse_global_private_cache
  - ssl_parse_global_lifetime
  - ssl_parse_global_dh_param_file
  - ssl_parse_global_default_dh
  - ssl_parse_global_extra_files
  - ssl_parse_global_extra_noext
  - ssl_bind_parse_ca_file_common
  - ssl_bind_parse_ca_file
  - bind_parse_ca_file
  - ssl_bind_parse_ca_verify_file
  - bind_parse_ca_verify_file
  - bind_parse_ca_sign_file
  - bind_parse_ca_sign_pass
  - ssl_bind_parse_ciphers
  - bind_parse_ciphers
  - ssl_bind_parse_ciphersuites
  - bind_parse_ciphersuites
  - bind_parse_crt
  - bind_parse_crt_list
  - ssl_bind_parse_crl_file
  - bind_parse_crl_file
  - ssl_bind_parse_curves
  - bind_parse_curves
  - ssl_bind_parse_sigalgs
  - bind_parse_sigalgs
  - ssl_bind_parse_client_sigalgs
  - bind_parse_client_sigalgs
  - ssl_bind_parse_ecdhe
  - bind_parse_ecdhe
  - bind_parse_ignore_err
  - parse_tls_method_options
  - bind_parse_tls_method_options
  - srv_parse_tls_method_options
  - parse_tls_method_minmax
  - ssl_bind_parse_tls_method_minmax
  - bind_parse_tls_method_minmax
  - srv_parse_tls_method_minmax
  - bind_parse_no_tls_tickets
  - ssl_bind_parse_allow_0rtt
  - bind_parse_allow_0rtt
  - ssl_bind_parse_npn
  - bind_parse_npn
  - ssl_sock_parse_alpn
  - ssl_bind_parse_alpn
  - bind_parse_alpn
  - bind_parse_ssl
  - bind_parse_pcc
  - bind_parse_generate_certs
  - bind_parse_strict_sni
  - bind_parse_tls_ticket_keys
  - ssl_bind_parse_verify
  - bind_parse_verify
  - ssl_bind_parse_no_alpn
  - bind_parse_no_alpn
  - ssl_bind_parse_no_ca_names
  - bind_parse_no_ca_names
  - srv_parse_npn
  - parse_alpn
  - srv_parse_alpn
  - srv_parse_check_alpn
  - srv_parse_ca_file
  - srv_parse_check_sni
  - ssl_sock_init_srv
  - srv_parse_check_ssl
  - srv_parse_ciphers
  - srv_parse_ciphersuites
  - srv_parse_client_sigalgs
  - srv_parse_crl_file
  - srv_parse_curves
  - srv_parse_crt
  - srv_parse_no_check_ssl
  - srv_parse_no_send_proxy_ssl
  - srv_parse_no_send_proxy_cn
  - srv_parse_no_ssl
  - srv_parse_allow_0rtt
  - srv_parse_no_ssl_reuse
  - srv_parse_no_tls_tickets
  - srv_parse_send_proxy_ssl
  - srv_parse_send_proxy_cn
  - srv_parse_sigalgs
  - srv_parse_sni
  - srv_parse_ssl
  - srv_parse_ssl_reuse
  - srv_parse_tls_tickets
  - srv_parse_verify
  - srv_parse_verifyhost
  - ssl_parse_default_bind_options
  - ssl_parse_default_server_options
  - ssl_parse_global_path_base
  - ssl_parse_security_level
  - ssl_parse_skip_self_issued_ca
  - proxy_parse_ssl_f_use
  - post_section_frontend_crt_init
  source_file: /src/haproxy/src/cfgparse-ssl.c
- function_names:
  - signal_handler
  - __signal_process_queue
  - signal_init
  - haproxy_unblock_signals
  - deinit_signals
  - signal_register_fct
  - signal_register_task
  - signal_unregister_handler
  - signal_unregister_target
  - signal_unregister
  source_file: /src/haproxy/src/signal.c
- function_names:
  - cache_rdlock
  - cache_rdunlock
  - cache_wrlock
  - cache_wrunlock
  - get_entry
  - retain_entry
  - release_entry
  - release_entry_locked
  - release_entry_unlocked
  - secondary_key_cmp
  - get_secondary_entry
  - get_cache_tree_from_hash
  - clear_expired_duplicates
  - insert_entry
  - delete_entry
  - shctx_ptr
  - block_ptr
  - cache_store_init
  - cache_store_deinit
  - cache_store_check
  - cache_store_strm_init
  - cache_store_strm_deinit
  - cache_store_post_analyze
  - cache_store_http_headers
  - disable_cache_entry
  - cache_store_http_payload
  - cache_store_http_end
  - directive_value
  - http_calc_maxage
  - cache_free_blocks
  - cache_reserve_finish
  - get_last_modified_time
  - http_check_vary_header
  - set_secondary_key_encoding
  - http_action_store_cache
  - http_cache_applet_release
  - htx_cache_dump_blk
  - htx_cache_dump_data_blk
  - htx_cache_dump_msg
  - ff_cache_dump_data_blk
  - ff_cache_dump_msg
  - htx_cache_add_age_hdr
  - http_cache_fastfwd
  - http_cache_io_handler
  - parse_cache_rule
  - parse_cache_store
  - sha1_hosturi
  - should_send_notmodified_response
  - http_action_req_cache_use
  - parse_cache_use
  - cfg_parse_cache
  - cfg_post_parse_section_cache
  - post_check_cache
  - parse_encoding_value
  - accept_encoding_normalizer
  - default_normalizer
  - accept_encoding_bitmap_cmp
  - http_request_prebuild_full_secondary_key
  - http_request_build_secondary_key
  - http_request_reduce_secondary_key
  - parse_cache_flt
  - cli_parse_show_cache
  - cli_io_handler_show_cache
  - smp_fetch_res_cache_hit
  - smp_fetch_res_cache_name
  - cache_init
  source_file: /src/haproxy/src/cache.c
- function_names:
  - frontend_accept
  - increment_actconn
  - smp_fetch_fe_id
  - smp_fetch_fe_name
  - smp_fetch_fe_defbe
  - smp_fetch_fe_req_rate
  - smp_fetch_fe_sess_rate
  - smp_fetch_fe_conn
  - smp_fetch_fe_client_timeout
  source_file: /src/haproxy/src/frontend.c
- function_names:
  - qc_ssl_compat_add_tps_cb
  - quic_tls_compat_init
  - quic_tls_compat_set_encryption_secret
  - quic_tls_compat_keylog_callback
  - quic_tls_compat_create_header
  - quic_tls_compute_nonce
  - quic_tls_tls_seal
  - quic_tls_compat_create_record
  - quic_tls_compat_msg_callback
  - SSL_set_quic_method
  - SSL_quic_read_level
  - SSL_quic_write_level
  - SSL_provide_quic_data
  - SSL_process_quic_post_handshake
  - SSL_set_quic_transport_params
  source_file: /src/haproxy/src/quic_openssl_compat.c
- function_names:
  - CEB_FDECL3
  - CEB_FDECL2
  - CEB_FDECL2
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL3
  - CEB_FDECL4
  source_file: /src/haproxy/src/cebus_tree.c
- function_names:
  - resolve_stick_rule
  - free_stick_rules
  - free_server_rules
  - proxy_free_common
  - deinit_proxy
  - free_proxy
  - proxy_cap_str
  - proxy_mode_str
  - proxy_find_best_option
  - proxy_parse_timeout
  - proxy_parse_rate_limit
  - proxy_parse_max_ka_queue
  - proxy_parse_declare
  - proxy_parse_retry_on
  - proxy_parse_hash_preserve_affinity
  - proxy_parse_tcpka_cnt
  - proxy_parse_tcpka_idle
  - proxy_parse_tcpka_intvl
  - proxy_parse_guid
  - proxy_store_name
  - proxy_find_by_id
  - proxy_find_by_name
  - proxy_find_best_match
  - findserver
  - proxy_cfg_ensure_no_http
  - proxy_cfg_ensure_no_log
  - init_new_proxy
  - proxy_init_per_thr
  - proxy_preset_defaults
  - proxy_free_defaults
  - proxy_destroy_defaults
  - proxy_destroy_all_unref_defaults
  - proxy_unref_or_destroy_defaults
  - proxy_ref_defaults
  - proxy_unref_defaults
  - setup_new_proxy
  - alloc_new_proxy
  - proxy_defproxy_cpy
  - parse_new_proxy
  - proxy_cond_pause
  - proxy_cond_resume
  - proxy_cond_disable
  - manage_proxy
  - proxy_parse_grace
  - proxy_parse_hard_stop_after
  - proxy_parse_close_spread_time
  - hard_stop
  - do_soft_stop_now
  - grace_expired
  - soft_stop
  - pause_proxy
  - stop_proxy
  - resume_proxy
  - stream_set_backend
  - proxy_capture_error
  - proxy_adjust_all_maxconn
  - cli_find_frontend
  - cli_find_backend
  - cli_parse_show_servers
  - dump_server_addr
  - dump_servers_state
  - cli_io_handler_servers_state
  - cli_io_handler_show_backend
  - cli_parse_enable_dyncookie_backend
  - cli_parse_disable_dyncookie_backend
  - cli_parse_set_dyncookie_key_backend
  - cli_parse_set_maxconn_frontend
  - cli_parse_shutdown_frontend
  - cli_parse_disable_frontend
  - cli_parse_enable_frontend
  - cli_parse_show_errors
  - cli_io_handler_show_errors
  source_file: /src/haproxy/src/proxy.c
- function_names:
  - ssl_sock_parse_sctl
  - ssl_sock_load_sctl_from_file
  - ssl_sock_load_ocsp_response_from_file
  - ssl_sock_load_files_into_ckch
  - ssl_sock_load_key_into_ckch
  - ssl_sock_load_pem_into_ckch
  - ssl_sock_free_cert_key_and_chain_contents
  - ssl_sock_copy_cert_key_and_chain
  - ssl_sock_load_issuer_file_into_ckch
  - ckch_store_free
  - ckch_store_new
  - ckchs_dup
  - ckchs_lookup
  - ckch_store_new_load_files_path
  - ckch_store_new_load_files_conf
  - ckch_inst_free
  - ckch_inst_new
  - ssl_store_get_cafile_entry
  - ssl_store_add_uncommitted_cafile_entry
  - ssl_store_get0_locations_file
  - ssl_store_create_cafile_entry
  - ssl_store_dup_cafile_entry
  - ssl_store_delete_cafile_entry
  - ssl_store_load_ca_from_buf
  - __ssl_store_load_locations_file
  - ssl_store_load_locations_file
  - cli_release_show_sni
  - cli_io_handler_show_sni
  - cli_parse_show_sni
  - cli_release_show_cert
  - cli_io_handler_show_cert
  - ssl_sock_get_san_oneline
  - do_chain_inst_and_cafile
  - ckch_inst_add_cafile_link
  - ckch_store_show_ocsp_certid
  - cli_io_handler_show_cert_detail
  - cli_io_handler_show_cert_ocsp_detail
  - cli_parse_show_cert
  - cli_parse_dump_cert
  - cli_io_handler_dump_cert
  - cli_release_dump_cert
  - cli_release_commit_cert
  - ckch_inst_rebuild
  - __ssl_sock_load_new_ckch_instance
  - __ckch_inst_free_locked
  - ckch_store_replace
  - cli_io_handler_commit_cert
  - cli_parse_commit_cert
  - cli_parse_set_cert
  - cli_parse_abort_cert
  - cli_parse_new_cert
  - cli_parse_del_cert
  - cli_parse_new_cafile
  - cli_parse_set_cafile
  - cli_parse_commit_cafile
  - cli_io_handler_commit_cafile_crlfile
  - cli_parse_abort_cafile
  - cli_release_commit_cafile
  - cli_io_handler_show_cafile_detail
  - cli_parse_show_cafile
  - cli_release_show_cafile
  - get_certificate_count
  - cli_io_handler_show_cafile
  - cli_parse_del_cafile
  - cli_parse_new_crlfile
  - cli_parse_set_crlfile
  - cli_parse_commit_crlfile
  - cli_release_commit_crlfile
  - cli_parse_del_crlfile
  - cli_parse_abort_crlfile
  - show_crl_detail
  - cli_io_handler_show_crlfile_detail
  - cli_parse_show_crlfile
  - cli_io_handler_show_crlfile
  - cli_release_show_crlfile
  - ckch_deinit
  - ckch_store_load_files
  - crtstore_parse_path_base
  - ckch_conf_cmp
  - ckch_conf_cmp_empty
  - ckch_conf_parse
  - ckch_conf_clean
  - crtstore_parse_load
  - cfg_parse_crtstore
  - cfg_post_parse_crtstore
  source_file: /src/haproxy/src/ssl_ckch.c
- function_names:
  - tcp_req_conn_keywords_register
  - tcp_req_sess_keywords_register
  - tcp_req_cont_keywords_register
  - tcp_res_cont_keywords_register
  - tcp_req_conn_action
  - tcp_req_sess_action
  - tcp_req_cont_action
  - tcp_res_cont_action
  - tcp_inspect_request
  - tcp_inspect_response
  - tcp_exec_l4_rules
  - tcp_exec_l5_rules
  - tcp_parse_response_rule
  - tcp_action_track_sc
  - tcp_action_capture
  - release_tcp_capture
  - release_tcp_track_sc
  - tcp_parse_request_rule
  - tcp_parse_tcp_rep
  - tcp_parse_tcp_req
  source_file: /src/haproxy/src/tcp_rules.c
- function_names:
  - smp_fetch_wait_end
  - smp_fetch_len
  - smp_fetch_req_ssl_st_ext
  - smp_fetch_req_ssl_ec_ext
  - smp_fetch_ssl_hello_type
  - smp_fetch_req_ssl_ver
  - smp_fetch_ssl_hello_sni
  - smp_fetch_ssl_hello_alpn
  - fetch_rdp_cookie_name
  - smp_fetch_rdp_cookie
  - smp_fetch_rdp_cookie_cnt
  - smp_fetch_payload_lv
  - smp_fetch_payload
  - val_payload_lv
  - smp_fetch_distcc_param
  - smp_fetch_distcc_body
  - val_distcc
  source_file: /src/haproxy/src/payload.c
- function_names: []
  source_file: /src/haproxy/include/haproxy/sock-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_rx-t.h
- function_names:
  - mt_list_to_list
  - list_to_mt_list
  - watcher_init
  - watcher_attach
  - watcher_detach
  - watcher_next
  source_file: /src/haproxy/include/haproxy/list.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/mailers-t.h
- function_names:
  - hsl_show_flags
  - htx_show_flags
  source_file: /src/haproxy/include/haproxy/htx-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/dns_ring.h
- function_names:
  - obj_type
  - obj_type_name
  - __objt_listener
  - objt_listener
  - __objt_proxy
  - objt_proxy
  - __objt_server
  - objt_server
  - __objt_applet
  - objt_applet
  - __objt_appctx
  - objt_appctx
  - __objt_sc
  - objt_sc
  - __objt_conn
  - objt_conn
  - __objt_resolv_srvrq
  - objt_resolv_srvrq
  - __objt_stream
  - objt_stream
  - __objt_check
  - objt_check
  - __objt_dgram
  - objt_dgram
  - obj_base_ptr
  source_file: /src/haproxy/include/haproxy/obj_type.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/tinfo-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/defaults.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/http_fetch.h
- function_names:
  - appctx_new_here
  - appctx_new_anywhere
  - appctx_release_buf
  - appctx_get_buf
  - appctx_init
  - __appctx_free
  - appctx_sc
  - appctx_strm
  - appctx_is_back
  - applet_fl_zero
  - applet_fl_setall
  - applet_fl_set
  - applet_fl_clr
  - applet_fl_test
  - applet_fl_get
  - applet_set_eoi
  - applet_set_eos
  - applet_set_error
  - applet_have_more_data
  - applet_have_no_more_data
  - applet_will_consume
  - applet_wont_consume
  - applet_need_more_data
  - applet_expect_no_data
  - applet_expect_data
  - _applet_putchk
  - applet_putchk
  - applet_putchk_stress
  - applet_putblk
  - applet_putstr
  - applet_putchr
  source_file: /src/haproxy/include/haproxy/applet.h
- function_names:
  - hpack_get_dte
  - hpack_valid_idx
  - hpack_get_name
  - hpack_get_value
  - hpack_idx_to_name
  - hpack_idx_to_value
  - hpack_dht_get_tail
  - hpack_dht_make_room
  - hpack_dht_init
  - hpack_dht_alloc
  - hpack_dht_free
  source_file: /src/haproxy/include/haproxy/hpack-tbl.h
- function_names:
  - session_store_counters
  - session_inc_http_req_ctr
  - session_inc_http_err_ctr
  - session_inc_http_fail_ctr
  - session_add_glitch_ctr
  - session_unown_conn
  - session_add_conn
  - session_check_idle_conn
  - session_get_conn
  - sess_src
  - sess_dst
  - sess_get_src
  - sess_get_dst
  source_file: /src/haproxy/include/haproxy/session.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/fcgi-app-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/http_ext.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/http-hdr-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/dict.h
- function_names:
  - __ha_barrier_load
  - __ha_barrier_store
  - __ha_barrier_full
  - __ha_barrier_atomic_load
  - __ha_barrier_atomic_store
  - __ha_barrier_atomic_full
  - __ha_cas_dw
  - __ha_barrier_load
  - __ha_barrier_store
  - __ha_barrier_full
  - __ha_barrier_atomic_load
  - __ha_barrier_atomic_store
  - __ha_barrier_atomic_full
  - __ha_cas_dw
  - __ha_barrier_load
  - __ha_barrier_store
  - __ha_barrier_full
  - __ha_barrier_atomic_load
  - __ha_barrier_atomic_store
  - __ha_barrier_atomic_full
  - __ha_cas_dw
  - __ha_cas_dw
  - __ha_cas_dw
  - __ha_compiler_barrier
  source_file: /src/haproxy/include/haproxy/atomic.h
- function_names:
  - txn_show_flags
  - hmsg_show_flags
  source_file: /src/haproxy/include/haproxy/http_ana-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_cid-t.h
- function_names:
  - qc_init_fd
  - qc_test_fd
  - qc_fd
  - quic_increment_curr_handshake
  source_file: /src/haproxy/include/haproxy/quic_sock.h
- function_names:
  - quic_tx_packet_dgram_detach
  - quic_tx_packet_refinc
  - quic_tx_packet_refdec
  - quic_may_send_bytes
  source_file: /src/haproxy/include/haproxy/quic_tx.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_loss-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/lb_fas-t.h
- function_names:
  - tls_aead
  - tls_md
  - tls_hp
  - ssl_to_quic_pktns
  - qel_to_quic_pktns
  - ssl_to_quic_enc_level
  - ssl_to_qel_addr
  - qel_to_qel_addr
  - qc_quic_enc_level
  - quic_to_ssl_enc_level
  - quic_hdshk_state_str
  - ssl_error_str
  - quic_enc_level_char
  - quic_enc_level_char_from_qel
  - quic_packet_type_enc_level_char
  - quic_pktns_init
  - quic_pktns_tx_pkts_release
  - quic_pktns_discard
  - qc_release_pktns_frms
  - quic_application_pktns
  - quic_pktns_get_largest_acked_pn
  - quic_pktns_char
  - quic_packet_type_enc_level
  - quic_tls_pktns
  - quic_tls_pktns_is_dcd
  - quic_tls_pkt_type_pktns_dcd
  - qc_select_tls_ctx
  - quic_tls_ctx_reset
  - quic_tls_ctx_secs_free
  - quic_tls_ctx_keys_alloc
  - quic_tls_secrets_keys_free
  - quic_tls_secrets_keys_alloc
  - quic_nictx_free
  - quic_initial_tls_ctx_init
  - quic_tls_level_pkt_type
  - quic_enc_level_pkt_type
  - qc_new_isecs
  - quic_tls_ku_reset
  - quic_tls_ku_free
  - quic_tls_kp_init
  - quic_tls_ku_init
  - quic_tls_has_rx_sec
  - quic_tls_has_tx_sec
  - qc_el_rx_pkts
  - qc_el_rx_pkts_del
  - qc_list_qel_rx_pkts
  - qc_need_sending
  - qc_may_probe_ipktns
  source_file: /src/haproxy/include/haproxy/quic_tls.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/cbuf-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/stick_table-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/lb_fwrr.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_stats-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/stats-json.h
- function_names:
  - hlua_init
  - hlua_post_init
  - hlua_ctx_destroy
  - hlua_show_current_location
  source_file: /src/haproxy/include/haproxy/hlua.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/dns-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/dict-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/list-t.h
- function_names:
  - h1_msg_state_str
  source_file: /src/haproxy/include/haproxy/http_ana.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_stream-t.h
- function_names:
  - h1_get_uri
  source_file: /src/haproxy/include/haproxy/h1_htx.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/ssl_crtlist.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/version.h
- function_names:
  - strm_sess
  - strm_fe
  - strm_li
  - strm_orig
  - stream_store_counters
  - stream_stop_content_counters
  - stream_start_counters
  - stream_track_stkctr
  - stream_inc_http_req_ctr
  - stream_inc_be_http_req_ctr
  - stream_inc_http_err_ctr
  - stream_inc_http_fail_ctr
  - stream_add_srv_conn
  - stream_del_srv_conn
  - stream_init_srv_conn
  - stream_choose_redispatch
  - stream_check_conn_timeout
  - stream_shutdown
  - stream_map_task_state
  - stream_report_term_evt
  source_file: /src/haproxy/include/haproxy/stream.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/cpuset-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/lb_chash.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/ssl_sock-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/pipe-t.h
- function_names:
  - strm_show_flags
  - strm_et_show_flags
  source_file: /src/haproxy/include/haproxy/stream-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/api.h
- function_names:
  - lf_expr_isempty
  - log_orig
  - sess_build_logline
  - sess_log
  - sess_log_embryonic
  - build_logline_orig
  - build_logline
  - log_forward_by_name
  source_file: /src/haproxy/include/haproxy/log.h
- function_names:
  - memprof_remove_stale_info
  source_file: /src/haproxy/include/haproxy/activity.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/qpack-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/pipe.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/log-t.h
- function_names:
  - qpack_get_dte
  - qpack_valid_idx
  - qpack_get_name
  - qpack_get_value
  - qpack_idx_to_name
  - qpack_idx_to_value
  - qpack_dht_get_tail
  - qpack_dht_make_room
  - qpack_dht_init
  - qpack_dht_alloc
  - qpack_dht_free
  source_file: /src/haproxy/include/haproxy/qpack-tbl.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/guid-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_stats.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/cfgcond.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/auth-t.h
- function_names:
  - cb_wr
  - cb_rd_reset
  - cb_wr_reset
  - cb_add
  - cb_rd
  - cb_del
  - cb_data
  - cb_room
  - cb_contig_data
  - cb_contig_space
  source_file: /src/haproxy/include/haproxy/cbuf.h
- function_names:
  - sample_convert
  - smp_set_owner
  - smp_is_safe
  - smp_make_safe
  - smp_is_rw
  - smp_make_rw
  source_file: /src/haproxy/include/haproxy/sample.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/ssl_crtlist-t.h
- function_names:
  - http_find_param_list
  - http_is_param_delimiter
  - http_language_range_match
  - http_get_etag_type
  - http_uri_parser_init
  - http_header_has_forbidden_char
  - http_method_has_forbidden_char
  - http_path_has_forbidden_char
  - http_status_matches
  source_file: /src/haproxy/include/haproxy/http.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/stress.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/http_ext-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/proto_uxst.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_retransmit.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/arg-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/hash.h
- function_names:
  - appctx_show_flags
  source_file: /src/haproxy/include/haproxy/applet-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/sample_data-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/proto_udp.h
- function_names:
  - be_usable_srv
  - be_set_sess_last
  - srv_willbe_usable
  - srv_currently_usable
  - srv_lb_commit_status
  - srv_lb_status_changed
  source_file: /src/haproxy/include/haproxy/backend.h
- function_names:
  - tick_isset
  - tick_add
  - tick_add_ifset
  - tick_is_lt
  - tick_is_le
  - tick_is_expired
  - tick_first
  - tick_first_2nz
  - tick_remain
  source_file: /src/haproxy/include/haproxy/ticks.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/ssl_gencert.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/proto_sockpair.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/resolvers-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/h3_stats.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/uri_auth.h
- function_names:
  - qc_stream_desc_done
  - qc_stream_desc_send
  - qc_stream_desc_sub_send
  - qc_stream_desc_sub_room
  source_file: /src/haproxy/include/haproxy/quic_stream.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/filters-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/qmux_http.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_ssl-t.h
- function_names:
  - SSL_SESSION_set1_id_context
  - X509_STORE_get0_objects
  - X509_OBJECT_get_type
  - X509_OBJECT_get0_X509
  - X509_OBJECT_get0_X509_CRL
  - SSL_SESSION_set1_id
  - X509_get0_tbs_sigalg
  - OCSP_SINGLERESP_get0_id
  - DH_set0_pqg
  - ASN1_STRING_get0_data
  - X509_up_ref
  - EVP_PKEY_up_ref
  - SSL_CTX_up_ref
  - X509_CRL_get_signature_nid
  - X509_CRL_get0_lastUpdate
  - X509_CRL_get0_nextUpdate
  - X509_REVOKED_get0_serialNumber
  - X509_REVOKED_get0_revocationDate
  - X509_STORE_CTX_get0_cert
  - ECDSA_SIG_set0
  - ERR_peek_error_func
  source_file: /src/haproxy/include/haproxy/openssl-compat.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/regex-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/lb_map-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/ssl_ocsp-t.h
- function_names:
  - set_srv_agent_addr
  - set_srv_agent_port
  - health_adjust
  source_file: /src/haproxy/include/haproxy/check.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_tune.h
- function_names:
  - spop_conn_show_flags
  - spop_strm_show_flags
  - spop_conn_st_to_str
  - spop_strm_st_to_str
  source_file: /src/haproxy/include/haproxy/mux_spop-t.h
- function_names:
  - quic_rx_packet_refinc
  - quic_rx_packet_refdec
  - qc_pkt_long
  source_file: /src/haproxy/include/haproxy/quic_rx.h
- function_names:
  - sink_write
  source_file: /src/haproxy/include/haproxy/sink.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/timeshift.h
- function_names:
  - already_warned
  source_file: /src/haproxy/include/haproxy/global.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/api-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/time-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/thread-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/h3_stats-t.h
- function_names:
  - chn_strm
  - chn_prod
  - chn_cons
  - c_orig
  - c_size
  - c_wrap
  - c_data
  - c_room
  - c_empty
  - c_full
  - co_data
  - ci_data
  - ci_next_ofs
  - ci_next
  - c_ptr
  - c_adv
  - c_rew
  - c_realign_if_empty
  - co_set_data
  - __co_head_ofs
  - __co_head
  - co_head_ofs
  - co_head
  - __co_tail_ofs
  - __co_tail
  - co_tail_ofs
  - co_tail
  - __ci_head_ofs
  - __ci_head
  - ci_head_ofs
  - ci_head
  - __ci_tail_ofs
  - __ci_tail
  - ci_tail_ofs
  - ci_tail
  - __ci_stop_ofs
  - __ci_stop
  - ci_stop_ofs
  - ci_stop
  - ci_contig_data
  - channel_init
  - channel_forward
  - channel_forward_forever
  - channel_add_input
  - channel_htx_forward
  - channel_htx_forward_forever
  - channel_is_rewritable
  - channel_may_send
  - channel_htx_may_recv
  - channel_may_recv
  - channel_input_closed
  - channel_output_closed
  - channel_check_timeout
  - channel_erase
  - channel_htx_erase
  - channel_abort
  - channel_auto_connect
  - channel_dont_connect
  - channel_auto_close
  - channel_dont_close
  - channel_auto_read
  - channel_dont_read
  - channel_recv_limit
  - channel_htx_recv_limit
  - channel_htx_full
  - channel_full
  - channel_htx_recv_max
  - channel_recv_max
  - channel_data_limit
  - channel_data
  - channel_input_data
  - channel_empty
  - channel_check_idletimer
  - channel_check_xfer
  - ci_space_for_replace
  - channel_alloc_buffer
  - channel_release_buffer
  - channel_truncate
  - channel_htx_truncate
  - channel_slow_realign
  - channel_htx_fwd_headers
  - co_skip
  - co_htx_skip
  - ci_putchk
  - ci_putstr
  - co_getchr
  source_file: /src/haproxy/include/haproxy/channel.h
- function_names:
  - fconn_show_flags
  - fstrm_show_flags
  - fconn_st_to_str
  - fstrm_st_to_str
  source_file: /src/haproxy/include/haproxy/mux_fcgi-t.h
- function_names:
  - srv_inc_sess_ctr
  - srv_set_sess_last
  - server_throttle_rate
  - server_is_draining
  - srv_adm_set_maint
  - srv_adm_set_drain
  - srv_adm_set_ready
  - srv_append_initaddr
  - srv_get_next_initaddr
  - srv_use_conn
  - srv_minmax_conn_apply
  - srv_is_transparent
  source_file: /src/haproxy/include/haproxy/server.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/protobuf-t.h
- function_names:
  - cli_msg
  - cli_err
  - cli_dynmsg
  - cli_dynerr
  - cli_umsg
  - cli_umsgerr
  source_file: /src/haproxy/include/haproxy/cli.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/server-t.h
- function_names:
  - cert_ignerr_bitfield_get
  - cert_ignerr_bitfield_set
  - cert_ignerr_bitfield_set_all
  source_file: /src/haproxy/include/haproxy/ssl_sock.h
- function_names:
  - strnlen2
  - ultoa
  - drop_file_name
  - U2A
  - U2H
  - F2A
  - F2H
  - LIM2A
  - cstr
  - is_idchar
  - str2ip
  - csv_enc
  - cut_crlf
  - ltrim
  - rtrim
  - alltrim
  - get_localtime
  - get_gmtime
  - days_since_zero
  - clear_addr
  - is_inet_addr
  - is_addr
  - get_net_port
  - get_host_port
  - get_addr_len
  - set_net_port
  - set_host_port
  - port_is_restricted
  - fix_pointer_if_wrap
  - utf8_return_code
  - utf8_return_length
  - rdtsc
  - rdtsc
  - my_backtrace
  - my_realloc2
  - ha_random32
  - ha_random
  - statistical_prng
  - statistical_prng_range
  - ptr_hash
  - ptr2_hash
  - update_char_fingerprint
  - warn_if_lower
  - errname
  source_file: /src/haproxy/include/haproxy/tools.h
- function_names:
  - b_isteq
  - b_isteqi
  - b_isteat
  - b_istput
  - b_putist
  - ist2buf
  source_file: /src/haproxy/include/haproxy/istbuf.h
- function_names:
  - fd_show_flags
  source_file: /src/haproxy/include/haproxy/fd-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/cli-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/stats-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/ssl_utils.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_ack-t.h
- function_names:
  - h2_ft_bit
  - h2_ft_str
  - h2_err_str
  - h2_frame_check
  - h2_str_to_phdr
  - h2_phdr_to_ist
  - h2_phdr_to_str
  source_file: /src/haproxy/include/haproxy/h2.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/vars-t.h
- function_names:
  - ring_area
  - ring_allocated_area
  - ring_data
  - ring_size
  - ring_allocated_size
  - ring_head
  - ring_tail
  - ring_dup
  source_file: /src/haproxy/include/haproxy/ring.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/lb_fwlc-t.h
- function_names:
  - vp_isempty
  - vp_size
  - _vp_head
  - vp_head
  - _vp_addr
  - vp_addr
  - vp_ofs
  - vp_next
  - vp_seek_addr
  - vp_skip
  - vp_getchr
  - vp_getblk_ofs
  - vp_getblk
  - vp_peek_ofs
  - vp_putchr
  - vp_putblk_ofs
  - vp_poke_ofs
  - vp_putblk
  - vp_put_varint_ofs
  - vp_put_varint
  - vp_get_varint_ofs
  - vp_get_varint
  - vp_peek_varint_ofs
  - vp_ring_to_data
  - vp_ring_to_room
  - vp_data_to_ring
  - vp_room_to_ring
  source_file: /src/haproxy/include/haproxy/vecpair.h
- function_names:
  - h1c_show_flags
  - h1s_show_flags
  - h1c_st_to_str
  source_file: /src/haproxy/include/haproxy/mux_h1-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/compression.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/http_htx-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/tcp_rules.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/pattern-t.h
- function_names:
  - xref_create
  - xref_get_peer_and_lock
  - xref_unlock
  - xref_disconnect
  source_file: /src/haproxy/include/haproxy/xref.h
- function_names:
  - task_show_state
  source_file: /src/haproxy/include/haproxy/task-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/check-t.h
- function_names:
  - sock_set_tos
  - sock_set_mark
  source_file: /src/haproxy/include/haproxy/sock.h
- function_names:
  - normalize_rlim
  source_file: /src/haproxy/include/haproxy/limits.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/cpuset.h
- function_names:
  - done_update_polling
  - fd_recv_active
  - fd_recv_ready
  - fd_send_active
  - fd_send_ready
  - fd_active
  - fd_stop_recv
  - fd_stop_send
  - fd_stop_both
  - fd_cant_recv
  - fd_may_recv
  - fd_cond_recv
  - fd_cond_send
  - fd_may_both
  - fd_cant_send
  - fd_may_send
  - fd_want_recv
  - fd_want_recv_safe
  - fd_want_send
  - fd_tgid
  - fd_drop_tgid
  - fd_unlock_tgid
  - fd_lock_tgid
  - fd_lock_tgid_cur
  - fd_take_tgid
  - fd_reset_tgid
  - fd_grab_tgid
  - fd_claim_tgid
  - fd_update_tgid
  - fd_get_running
  - fd_clr_running
  - fd_insert
  - hap_fd_set
  - hap_fd_clr
  - hap_fd_isset
  - wake_thread
  source_file: /src/haproxy/include/haproxy/fd.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/cfgparse.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/event_hdl-t.h
- function_names:
  - conn_show_flags
  source_file: /src/haproxy/include/haproxy/connection-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/ring-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/buf-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/compat.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/dns_ring-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/lb_fwlc.h
- function_names:
  - quic_cc_state_str
  - quic_cc_event_trace
  - quic_cc_priv
  - quic_cc_path_init
  - quic_cc_path_prep_data
  source_file: /src/haproxy/include/haproxy/quic_cc.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_token.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/dgram.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/debug.h
- function_names:
  - ha_set_thread
  - thread_idle_now
  - thread_idle_end
  - thread_harmless_now
  - is_thread_harmless
  - thread_harmless_end
  - thread_harmless_end_sig
  - thread_isolate
  - thread_isolate_full
  - thread_release
  - thread_isolated
  - setup_extra_threads
  - wait_for_threads_completion
  - set_thread_cpu_affinity
  - ha_get_pthread_id
  - ha_set_thread
  - thread_idle_now
  - thread_idle_end
  - thread_harmless_now
  - is_thread_harmless
  - thread_harmless_end
  - thread_harmless_end_sig
  - thread_isolated
  source_file: /src/haproxy/include/haproxy/thread.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/mailers.h
- function_names:
  - http_set_hdr
  - http_del_hdr
  source_file: /src/haproxy/include/haproxy/http-hdr.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/cpu_topo-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/acl-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/tools-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/stats-html-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/xxhash.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/mworker.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/proto_tcp.h
- function_names:
  - quic_pacing_init
  source_file: /src/haproxy/include/haproxy/quic_pacing.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/compression-t.h
- function_names:
  - uri_normalizer_fragment_strip
  source_file: /src/haproxy/include/haproxy/uri_normalizer.h
- function_names:
  - enc_debug_info_init
  source_file: /src/haproxy/include/haproxy/quic_trace.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_tx-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/compiler.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/mworker-t.h
- function_names:
  - qc_free_ssl_sock_ctx
  - qc_ssl_eary_data_accepted
  - quic_ssl_early_data_status_str
  - quic_ssl_early_data_status_str
  source_file: /src/haproxy/include/haproxy/quic_ssl.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_tls-t.h
- function_names:
  - ha_crash_now
  - abort_with_line
  - mark_tainted
  - get_tainted
  source_file: /src/haproxy/include/haproxy/bug.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/qpack-tbl-t.h
- function_names:
  - wf_reset
  - wf_init
  - wf_max_update
  - wf_get_max
  source_file: /src/haproxy/include/haproxy/window_filter.h
- function_names:
  - quic_cid_cpy
  - quic_cid_dump
  - _quic_cid_tree_idx
  - quic_cid_tree_idx
  - _quic_cid_insert
  - quic_cid_delete
  - quic_connection_id_to_frm_cpy
  source_file: /src/haproxy/include/haproxy/quic_cid.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_cli-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/jwt-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/hlua_fcn.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/lb_ss-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/stats-html.h
- function_names:
  - pat_find_match_name
  - pat_ref_newgen
  - pat_ref_giveup
  - pat_ref_may_commit
  - pat_ref_commit
  - pat_ref_purge_older
  source_file: /src/haproxy/include/haproxy/pattern.h
- function_names:
  - qcc_show_flags
  - qcs_show_flags
  source_file: /src/haproxy/include/haproxy/mux_quic-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_trace-t.h
- function_names:
  - httpclient_data
  - httpclient_ended
  - httpclient_started
  source_file: /src/haproxy/include/haproxy/http_client.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/dns.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/sock_unix.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/payload.h
- function_names:
  - accept_queue_ring_len
  source_file: /src/haproxy/include/haproxy/listener.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/resolvers.h
- function_names:
  - action_lookup
  - action_build_list
  - release_timeout_action
  - release_expr_int_action
  source_file: /src/haproxy/include/haproxy/action.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/port_range-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/proto_quic.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/arg.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_cc-t.h
- function_names:
  - action_kw_tcp_check_lookup
  - action_kw_tcp_check_build_list
  - tcpchk_rules_type_to_proto_mode
  source_file: /src/haproxy/include/haproxy/tcpcheck.h
- function_names:
  - qc_is_listener
  - free_quic_conn_cids
  - quic_conn_mv_cids_to_cc_conn
  - quic_get_ncbuf
  - quic_free_ncbuf
  source_file: /src/haproxy/include/haproxy/quic_conn.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/signal-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/sock_inet.h
- function_names:
  - peer_session_target
  source_file: /src/haproxy/include/haproxy/peers.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/capture.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/backend-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/cpu_topo.h
- function_names:
  - quic_loss_init
  - quic_loss_persistent_congestion
  - quic_pto
  source_file: /src/haproxy/include/haproxy/quic_loss.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/receiver-t.h
- function_names:
  - pool_allocated
  - pool_used
  - pool_needed_avg
  - pool_failed
  - pool_releasable
  - pool_get_from_cache
  source_file: /src/haproxy/include/haproxy/pool.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/systemd.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/sink-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/stats-file-t.h
- function_names:
  - pbuf_le32toh
  - pbuf_le64toh
  - protobuf_type
  - protobuf_varint
  - protobuf_decode_varint
  - protobuf_skip_varint
  - protobuf_varint_getlen
  - protobuf_smp_store_varint
  - protobuf_skip_64bit
  - protobuf_smp_store_64bit
  - protobuf_skip_vlen
  - protobuf_smp_store_vlen
  - protobuf_skip_32bit
  - protobuf_smp_store_32bit
  - protobuf_field_lookup
  source_file: /src/haproxy/include/haproxy/protobuf.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/xref-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/show_flags-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_tp-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/lb_map.h
- function_names:
  - read_u16
  - write_u16
  - read_u32
  - write_u32
  - read_u64
  - write_u64
  - read_ptr
  - write_ptr
  - read_flt
  - write_flt
  - read_dbl
  - write_dbl
  - readv_bytes
  - writev_bytes
  - readv_u16
  - writev_u16
  - readv_u32
  - writev_u32
  - readv_u64
  - writev_u64
  - read_i16
  - read_i32
  - read_i64
  - readv_i16
  - readv_i32
  - readv_i64
  - read_n16
  - write_n16
  - read_n32
  - write_n32
  - read_n64
  - write_n64
  - readv_n16
  - writev_n16
  - readv_n32
  - writev_n32
  - readv_n64
  - writev_n64
  source_file: /src/haproxy/include/haproxy/net_helper.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/lb_chash-t.h
- function_names:
  - pool_alloc_area
  - pool_free_area
  - pool_alloc_area_uaf
  - pool_free_area_uaf
  source_file: /src/haproxy/include/haproxy/pool-os.h
- function_names:
  - mqtt_typeid
  - mqtt_check_type_fieldname
  source_file: /src/haproxy/include/haproxy/mqtt.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/guid.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/map.h
- function_names:
  - signal_process_queue
  source_file: /src/haproxy/include/haproxy/signal.h
- function_names:
  - hpack_len_to_bytes
  - hpack_encode_len
  - hpack_encode_short_idx
  - hpack_encode_long_idx
  - hpack_encode_int_status
  - hpack_encode_str_status
  - hpack_encode_method
  - hpack_encode_scheme
  - hpack_encode_path
  source_file: /src/haproxy/include/haproxy/hpack-enc.h
- function_names:
  - acl_neg
  - acl_pass
  - acl_match_cond
  source_file: /src/haproxy/include/haproxy/acl.h
- function_names:
  - caddr_to_ptr
  - caddr_to_data
  - caddr_from_ptr
  - caddr_set_flags
  - caddr_clr_flags
  - stktable_type_size
  - __stktable_data_ptr
  - stktable_data_ptr
  - stktable_data_ptr_idx
  - stktable_calc_shard_num
  - __stksess_kill_if_expired
  - stksess_kill_if_expired
  - stkctr_set_entry
  - stkctr_entry
  - stkctr_flags
  - stkctr_set_flags
  - stkctr_clr_flags
  - stkctr_inc_http_req_ctr
  - stkctr_inc_http_err_ctr
  - stkctr_inc_http_fail_ctr
  - stkctr_inc_bytes_in_ctr
  - stkctr_inc_bytes_out_ctr
  - stkctr_add_glitch_ctr
  source_file: /src/haproxy/include/haproxy/stick_table.h
- function_names:
  - buffer_almost_full
  - b_may_alloc_for_crit
  - __b_get_emergency_buf
  - offer_buffers
  - b_requeue
  - b_queue
  - _b_dequeue
  - b_dequeue
  source_file: /src/haproxy/include/haproxy/dynbuf.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_retry.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/ssl_ckch.h
- function_names:
  - se_show_flags
  - sc_show_flags
  source_file: /src/haproxy/include/haproxy/stconn-t.h
- function_names:
  - preload_freq_ctr
  - update_freq_ctr_period
  - update_freq_ctr
  - read_freq_ctr_period
  - read_freq_ctr_period_estimate
  - read_freq_ctr_period_flt
  - read_freq_ctr
  - read_freq_ctr_flt
  - freq_ctr_remain_period
  - freq_ctr_remain
  - next_event_delay_period
  - next_event_delay
  - swrate_add
  - swrate_add_dynamic
  - swrate_add_scaled
  - swrate_add_opportunistic
  - swrate_add_dynamic_opportunistic
  - swrate_add_scaled_opportunistic
  - swrate_avg
  source_file: /src/haproxy/include/haproxy/freq_ctr.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/dynbuf-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/qpack-enc.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/fix-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/init.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_rules.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/flt_http_comp.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/ncbuf-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/hpack-tbl-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/http_rules.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/lb_fwrr-t.h
- function_names:
  - quic_log2
  - quic_int_getsize
  - quic_max_int
  - quic_dec_int
  - b_quic_dec_int
  - quic_enc_int
  - b_quic_enc_int
  - quic_incint_size_diff
  - quic_decint_size_diff
  - quic_int_cap_length
  source_file: /src/haproxy/include/haproxy/quic_enc.h
- function_names:
  - pendconn_cond_unlink
  - pendconn_free
  - server_has_room
  - may_dequeue_tasks
  - queue_limit_class
  - queue_limit_offset
  - queue_init
  source_file: /src/haproxy/include/haproxy/queue.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_fctl-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_openssl_compat-t.h
- function_names:
  - qc_show_flags
  source_file: /src/haproxy/include/haproxy/quic_conn-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/session-t.h
- function_names:
  - proxy_type_str
  - proxy_fe_by_name
  - proxy_be_by_name
  - proxy_reset_timeouts
  - proxy_inc_fe_conn_ctr
  - proxy_inc_fe_sess_ctr
  - proxy_inc_fe_cum_sess_ver_ctr
  - proxy_inc_be_ctr
  - proxy_inc_fe_req_ctr
  - l7_status_match
  - in_proxies_list
  - increment_send_rate
  source_file: /src/haproxy/include/haproxy/proxy.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/errors.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_fctl.h
- function_names:
  - se_fl_zero
  - se_fl_setall
  - se_fl_set
  - se_fl_clr
  - se_fl_test
  - se_fl_get
  - se_fl_set_error
  - se_expect_no_data
  - se_expect_data
  - se_have_ff_data
  - se_ff_data
  - se_opposite
  - sc_ep_zero
  - sc_ep_setall
  - sc_ep_set
  - sc_ep_clr
  - sc_ep_test
  - sc_ep_get
  - sc_ep_lra
  - sc_ep_fsb
  - sc_ep_report_read_activity
  - sc_ep_report_blocked_send
  - sc_ep_report_send_activity
  - sc_ep_have_ff_data
  - sc_ep_ff_data
  - __sc_endp
  - __sc_conn
  - sc_conn
  - sc_mux_ops
  - __sc_mux_strm
  - sc_mux_strm
  - __sc_appctx
  - sc_appctx
  - __sc_strm
  - sc_strm
  - __sc_check
  - sc_check
  - sc_get_data_name
  - sc_waiting_room
  - se_have_more_data
  - se_have_no_more_data
  - sc_will_read
  - sc_wont_read
  - se_need_remote_conn
  - sc_have_buff
  - sc_need_buff
  - sc_used_buff
  - sc_have_room
  - sc_need_room
  - se_will_consume
  - se_wont_consume
  - se_need_more_data
  - se_nego_ff
  - se_done_ff
  - se_report_term_evt
  - sc_report_term_evt
  source_file: /src/haproxy/include/haproxy/stconn.h
- function_names:
  - my_socketat
  source_file: /src/haproxy/include/haproxy/namespace.h
- function_names:
  - vars_wrlock
  - vars_wrunlock
  - vars_rdlock
  - vars_rdunlock
  - vars_prune
  source_file: /src/haproxy/include/haproxy/vars.h
- function_names:
  - qc_frm_len
  - quic_err_transport
  - quic_err_tls
  - quic_err_app
  - qc_frm_alloc
  - qc_frm_dup
  - qc_stream_frm_mv_fwd
  source_file: /src/haproxy/include/haproxy/quic_frame.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/qmux_trace.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/cfgcond-t.h
- function_names:
  - spoe_encode_buffer
  - spoe_decode_buffer
  - spoe_encode_data
  - spoe_skip_data
  - spoe_decode_data
  - spoe_str_to_vsn
  - spoe_check_vsn
  source_file: /src/haproxy/include/haproxy/spoe.h
- function_names:
  - conn_set_errcode
  - conn_xprt_ready
  - conn_ctrl_ready
  - conn_xprt_start
  - conn_xprt_close
  - conn_ctrl_init
  - conn_ctrl_close
  - conn_full_close
  - conn_stop_tracking
  - conn_fd
  - conn_sock_read0
  - conn_sock_shutw
  - conn_xprt_shutw
  - conn_xprt_shutw_hard
  - conn_xprt_read0_pending
  - conn_prepare
  - conn_is_back
  - conn_set_owner
  - conn_set_private
  - conn_force_unsubscribe
  - conn_src
  - conn_dst
  - conn_get_src
  - conn_get_dst
  - conn_set_tos
  - conn_set_mark
  - conn_set_quickack
  - wl_set_waitcb
  - conn_install_mux
  - conn_get_first_sc
  - conn_get_ctrl_name
  - conn_get_xprt_name
  - conn_get_mux_name
  - xprt_register
  - xprt_get
  - xprt_set_idle
  - xprt_set_used
  - conn_get_alpn
  - unregister_mux_proto
  - get_mux_proto
  - conn_get_best_mux_entry
  - conn_get_best_mux
  - conn_get_proxy
  - __conn_get_ssl_sock_ctx
  - conn_get_ssl_sock_ctx
  - conn_is_ssl
  - conn_is_reverse
  - conn_reverse_in_preconnect
  - conn_set_reverse
  - conn_active_reverse_listener
  - set_tlv_arg
  - conn_pr_mode_to_proto_mode
  - tevt_evts2str
  - conn_report_term_evt
  source_file: /src/haproxy/include/haproxy/connection.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/auth.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/activity-t.h
- function_names:
  - event_hdl_sub_family_equal
  - event_hdl_sub_type_equal
  - event_hdl_sub_type_del
  - event_hdl_sub_type_add
  - event_hdl_async_equeue_init
  - event_hdl_async_equeue_pop
  - event_hdl_async_equeue_isempty
  - event_hdl_async_equeue_size
  - event_hdl_sub_list_empty
  source_file: /src/haproxy/include/haproxy/event_hdl.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/proto_rhttp-t.h
- function_names:
  - total_run_queues
  - total_allocated_tasks
  - total_niced_running_tasks
  - task_in_rq
  - task_in_wq
  - thread_has_tasks
  - task_mono_time
  - _task_wakeup
  - task_drop_running
  - __task_unlink_wq
  - task_unlink_wq
  - _task_queue
  - task_set_thread
  - _tasklet_wakeup_on
  - _task_instant_wakeup
  - _tasklet_wakeup_after
  - tasklet_remove_from_tasklet_list
  - task_init
  - tasklet_init
  - tasklet_new
  - task_new_on
  - task_new_here
  - task_new_anywhere
  - __task_free
  - task_destroy
  - tasklet_free
  - tasklet_set_tid
  - _task_schedule
  - task_wakeup_type_str
  - _notification_new
  - notification_new
  - notification_purge
  - notification_gc
  - _notification_wake
  - notification_wake
  - notification_registered
  source_file: /src/haproxy/include/haproxy/task.h
- function_names:
  - thread_set_count
  - thread_set_is_empty
  - thread_set_nth_group
  - thread_set_nth_tmask
  - thread_set_pin_grp1
  source_file: /src/haproxy/include/haproxy/tinfo.h
- function_names:
  - quic_cc_hystart_reset
  - quic_cc_hystart_track_min_rtt
  - quic_cc_hystart_start_round
  - quic_cc_hystart_may_enter_cs
  - quic_cc_hystart_may_reenter_ss
  source_file: /src/haproxy/include/haproxy/quic_cc_hystart.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/tcpcheck-t.h
- function_names:
  - h2c_show_flags
  - h2s_show_flags
  - h2c_st_to_str
  - h2s_st_to_str
  source_file: /src/haproxy/include/haproxy/mux_h2-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_tune-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/stats-file.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/capture-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/initcall.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/action-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/stats-proxy.h
- function_names:
  - strm_flt
  - register_data_filter
  - unregister_data_filter
  - flt_update_offsets
  source_file: /src/haproxy/include/haproxy/filters.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/ssl_ocsp.h
- function_names:
  - htx_sl_p1
  - htx_sl_p2
  - htx_sl_p3
  - htx_sl_req_meth
  - htx_sl_req_uri
  - htx_sl_req_vsn
  - htx_sl_res_vsn
  - htx_sl_res_code
  - htx_sl_res_reason
  - htx_pos_to_addr
  - htx_get_blk_pos
  - htx_get_blk
  - htx_get_blk_type
  - htx_get_blksz
  - htx_get_head
  - htx_get_head_blk
  - __htx_get_head_blk
  - htx_get_head_type
  - htx_get_tail
  - htx_get_tail_blk
  - htx_get_tail_type
  - htx_get_first
  - htx_get_first_blk
  - htx_get_first_type
  - htx_get_prev
  - htx_get_prev_blk
  - htx_get_next
  - htx_get_next_blk
  - htx_is_unique_blk
  - htx_change_blk_value_len
  - htx_set_blk_value_len
  - htx_get_blk_ptr
  - htx_get_blk_name
  - htx_get_blk_value
  - htx_add_stline
  - htx_add_header
  - htx_add_trailer
  - htx_add_endof
  - htx_add_all_headers
  - htx_add_all_trailers
  - htx_cut_data_blk
  - htx_meta_space
  - htx_used_space
  - htx_free_space
  - htx_free_data_space
  - htx_space_wraps
  - htx_get_max_blksz
  - htx_almost_full
  - htx_reset
  - buf_room_for_htx_data
  - htxbuf
  - htx_from_buf
  - htx_to_buf
  - htx_is_empty
  - htx_is_not_empty
  - htx_expect_more
  - htx_set_eom
  - htx_copy_msg
  - htx_skip_msg_payload
  - htx_nbblks
  - htx_blk_type_str
  - htx_dump
  source_file: /src/haproxy/include/haproxy/htx.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_openssl_compat.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/extcheck.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/fcgi-app.h
- function_names:
  - shctx_rdlock
  - shctx_rdunlock
  - shctx_wrlock
  - shctx_wrunlock
  - shctx_block_append_hot
  - shctx_block_detach
  source_file: /src/haproxy/include/haproxy/shctx.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/uri_auth-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/freq_ctr-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/h3.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/map-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/proto_rhttp.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/hq_interop.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/jwt.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/mqtt-t.h
- function_names:
  - fcgi_rt_str
  source_file: /src/haproxy/include/haproxy/fcgi.h
- function_names:
  - h1m_state_str
  - h1_skip_chunk_crlf
  - h1_parse_chunk_size
  - h1m_init_req
  - h1m_init_res
  source_file: /src/haproxy/include/haproxy/h1.h
- function_names:
  - port_range_alloc_port
  - port_range_release_port
  - port_range_alloc_range
  source_file: /src/haproxy/include/haproxy/port_range.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/ssl_ckch-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/listener-t.h
- function_names:
  - peers_show_flags
  - peer_show_flags
  source_file: /src/haproxy/include/haproxy/peers-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/lb_ss.h
- function_names:
  - tv_eternity
  - tv_zero
  - __tv_to_ms
  - __tv_from_ms
  - tv_to_ns
  - ns_to_sec
  - ns_to_ms
  - sec_to_ns
  - ms_to_ns
  - us_to_ns
  - __usec_to_1024th
  - __tv_cmp
  - __tv_iseq
  - __tv_isgt
  - __tv_isge
  - __tv_islt
  - __tv_isle
  - __tv_ms_cmp
  - __tv_ms_cmp2
  - __tv_ms_le2
  - __tv_ms_elapsed
  - __tv_ms_remain
  - __tv_ms_remain2
  - __tv_add
  - __tv_add_ifset
  - __tv_add2
  - __tv_remain
  - __tv_remain2
  - __tv_ms_add
  - tot_time_reset
  - tot_time_start
  - tot_time_stop
  - tot_time_read
  source_file: /src/haproxy/include/haproxy/time.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/frontend.h
- function_names:
  - qmux_stream_rx_bufsz
  - qcs_id_type
  - quic_stream_is_local
  - quic_stream_is_remote
  - quic_stream_is_uni
  - quic_stream_is_bidi
  - qcs_st_to_str
  - qcs_wait_http_req
  source_file: /src/haproxy/include/haproxy/mux_quic.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/uri_normalizer-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/trace-t.h
- function_names:
  - chn_show_flags
  - chn_show_analysers
  source_file: /src/haproxy/include/haproxy/channel-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/namespace-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_sock-t.h
- function_names:
  - regex_exec
  - regex_exec2
  - regex_free
  source_file: /src/haproxy/include/haproxy/regex.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/base64.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/jws.h
- function_names:
  - clock_update_date
  source_file: /src/haproxy/include/haproxy/clock.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/qpack-dec.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/counters-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/proxy-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/hlua-t.h
- function_names:
  - ncb_is_null
  - ncb_orig
  - ncb_head
  - ncb_wrap
  - ncb_size
  source_file: /src/haproxy/include/haproxy/ncbuf.h
- function_names:
  - capget
  source_file: /src/haproxy/include/haproxy/linuxcap.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/hpack-huff.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/obj_type-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/spoe-t.h
- function_names:
  - stcol_is_generic
  - stcol_format
  - stcol_nature
  - field_format
  - field_origin
  - field_scope
  - field_nature
  - field_str
  - mkf_s32
  - mkf_u32
  - mkf_s64
  - mkf_u64
  - mkf_str
  - mkf_flt
  - stats_get_domain
  - stats_px_get_cap
  source_file: /src/haproxy/include/haproxy/stats.h
- function_names:
  - trace_state_char
  - trace_event_char
  - trace_disable
  - trace_resume
  - trace_force_resume
  - trace_reset_disable
  source_file: /src/haproxy/include/haproxy/trace.h
- function_names:
  - mul32hi
  - div64_32
  - rotl64
  - rotr64
  - is_char4_below_opt
  - is_char4_above_opt
  - is_char4_outside
  - is_char8_below_opt
  - is_char8_above_opt
  - is_char8_outside
  - my_popcountl
  - atleast2
  - my_ffsl
  - my_flsl
  - nbits
  - my_htonll
  - my_ntohll
  - ha_bit_set
  - ha_bit_clr
  - ha_bit_flip
  - ha_bit_test
  - __full_hash
  - hex2i
  - __str2ui
  - __str2uic
  - __strl2ui
  - __strl2uic
  - __read_uint
  - __varint_bytes
  - encode_varint
  - decode_varint
  source_file: /src/haproxy/include/haproxy/intops.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_pacing-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/hpack-dec.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/shctx-t.h
- function_names:
  - protocol_lookup
  - proto_fam_lookup
  - real_family
  source_file: /src/haproxy/include/haproxy/protocol.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/http-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/sample-t.h
- function_names:
  - quic_tp_cid_dump
  - quic_tp_version_info_dump
  - quic_transport_params_dump
  source_file: /src/haproxy/include/haproxy/quic_tp.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/lb_fas.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/cfgdiag.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/queue-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/http_htx.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/global-t.h
- function_names:
  - sc_ic
  - sc_oc
  - sc_ib
  - sc_ob
  - sc_strm_task
  - sc_opposite
  - sc_set_state
  - sc_state_bit
  - sc_state_in
  - sc_conn_ready
  - sc_is_conn_error
  - sc_alloc_ibuf
  - sc_src
  - sc_dst
  - sc_get_src
  - sc_get_dst
  - sc_must_kill_conn
  - sc_is_recv_allowed
  - sc_chk_rcv
  - sc_chk_snd
  - sc_sync_recv
  - sc_sync_send
  - sc_update
  - sc_state_str
  - sc_is_send_allowed
  - sc_rcv_may_expire
  - sc_snd_may_expire
  - sc_ep_rcv_ex
  - sc_ep_snd_ex
  - sc_check_timeouts
  - sc_set_hcto
  - sc_schedule_abort
  - sc_abort
  - sc_schedule_shutdown
  - sc_shutdown
  source_file: /src/haproxy/include/haproxy/sc_strm.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/dgram-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/http_client-t.h
- function_names:
  - fix_version
  - fix_tagid
  source_file: /src/haproxy/include/haproxy/fix.h
- function_names:
  - b_is_null
  - b_orig
  - b_size
  - b_wrap
  - b_data
  - b_room
  - b_full
  - b_add_ofs
  - b_rel_ofs
  - __b_stop_ofs
  - __b_stop
  - b_stop_ofs
  - b_stop
  - __b_peek_ofs
  - __b_peek
  - b_peek_ofs
  - b_peek
  - __b_head_ofs
  - __b_head
  - b_head_ofs
  - b_head
  - __b_tail_ofs
  - __b_tail
  - b_tail_ofs
  - b_tail
  - b_next_ofs
  - b_next
  - b_dist
  - b_almost_full
  - b_space_wraps
  - b_contig_data
  - b_contig_space
  - b_reset
  - b_make
  - b_sub
  - b_add
  - b_set_data
  - b_del
  - b_realign_if_empty
  - b_putchr
  - b_putblk
  - b_force_xfer
  - b_getblk_nc
  - b_peek_varint
  - br_init
  - br_size
  - br_full
  - br_count
  - br_single
  - br_head_idx
  - br_tail_idx
  - br_head
  - br_tail
  - br_data
  - br_has_room
  - br_tail_add
  - br_head_pick
  - br_del_head
  - bl_users
  - bl_size
  - bl_used
  - bl_avail
  - bl_init
  - bl_put
  source_file: /src/haproxy/include/haproxy/buf.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_frame-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/protocol-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_ack.h
- function_names:
  - chunk_reset
  - chunk_init
  - chunk_initlen
  - chunk_initstr
  - alloc_trash_chunk
  - free_trash_chunk
  - chunk_cpy
  - chunk_memcpy
  - chunk_memcat
  - chunk_istcat
  - chunk_cat
  - chunk_strcpy
  - chunk_strncpy
  - chunk_strcat
  - chunk_newstr
  - chunk_drop
  - chunk_destroy
  - chunk_dup
  source_file: /src/haproxy/include/haproxy/chunk.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/pool-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/init-t.h
- function_names: []
  source_file: /src/haproxy/include/haproxy/quic_cc_drs.h
- function_names:
  - __slz_make_crc_table
  - dist_to_code
  - __slz_prepare_dist_table
  source_file: /src/haproxy/include/import/slz-tables.h
- function_names:
  - _xor_branches
  - dbg
  - _cebu_descend
  - _cebu_insert
  - _cebu_first
  - _cebu_last
  - _cebu_next
  - _cebu_prev
  - _cebu_lookup
  - _cebu_lookup_le
  - _cebu_lookup_lt
  - _cebu_lookup_ge
  - _cebu_lookup_gt
  - _cebu_delete
  - cebu_default_dump_root
  - cebu_default_dump_node
  - cebu_default_dump_leaf
  - cebu_default_dump_tree
  source_file: /src/haproxy/include/import/cebtree-prv.h
- function_names: []
  source_file: /src/haproxy/include/import/ebtree-t.h
- function_names: []
  source_file: /src/haproxy/include/import/atomic-ops.h
- function_names: []
  source_file: /src/haproxy/include/import/cebuis_tree.h
- function_names: []
  source_file: /src/haproxy/include/import/cebu64_tree.h
- function_names:
  - ebst_lookup_len
  - __ebst_lookup
  - __ebst_insert
  source_file: /src/haproxy/include/import/ebsttree.h
- function_names:
  - ceb_intree
  - __ceb_dotag
  - __ceb_untag
  - __ceb_clrtag
  - __ceb_tagged
  - __ceb_intptr
  source_file: /src/haproxy/include/import/cebtree.h
- function_names:
  - clz8
  - flsnz32
  - flsnz64
  - flsnz32
  - flsnz64
  - flsnz8
  - flsnz64
  - eb_dotag
  - eb_untag
  - eb_gettag
  - eb_clrtag
  - eb_root_to_node
  - eb_walk_down
  - __eb_insert_dup
  - eb_is_empty
  - eb_is_dup
  - eb_first
  - eb_last
  - eb_prev
  - eb_next
  - eb_prev_dup
  - eb_next_dup
  - eb_prev_unique
  - eb_next_unique
  - __eb_delete
  - equal_bits
  - check_bits
  - string_equal_bits
  - cmp_bits
  - get_bit
  source_file: /src/haproxy/include/import/ebtree.h
- function_names:
  - mt_list_prng
  - mt_list_wait
  - mt_list_cpu_relax
  - mt_list_init
  - mt_list_isempty
  - mt_list_inlist
  - mt_list_try_insert
  - mt_list_try_append
  - mt_list_behead
  - mt_list_insert
  - mt_list_append
  - mt_list_delete
  - mt_list_pop
  - mt_list_lock_next
  - mt_list_lock_prev
  - mt_list_try_lock_prev
  - mt_list_lock_elem
  - mt_list_unlock_elem
  - mt_list_unlock_self
  - mt_list_lock_full
  - mt_list_unlock_link
  - mt_list_unlock_full
  - _mt_list_unlock_next
  - _mt_list_unlock_prev
  - _mt_list_lock_next
  - _mt_list_lock_prev
  source_file: /src/haproxy/include/import/mt_list.h
- function_names: []
  source_file: /src/haproxy/include/import/cebub_tree.h
- function_names:
  - eb32sc_walk_down_left
  - eb32sc_next_with_parent
  - eb32sc_next
  - eb32sc_first
  source_file: /src/haproxy/include/import/eb32sctree.h
- function_names:
  - __pl_wait_unlock_long
  - pl_wait_unlock_long
  - __pl_wait_unlock_int
  - pl_wait_unlock_int
  - pl_wait_new_long
  - pl_wait_new_int
  - pl_lorw_rdlock
  - pl_lorw_wrlock
  - pl_lorw_rdunlock
  - pl_lorw_wrunlock
  - pl_lorw_unlock
  source_file: /src/haproxy/include/import/plock.h
- function_names:
  - slz_init
  - slz_encode
  - slz_finish
  - slz_flush
  source_file: /src/haproxy/include/import/slz.h
- function_names:
  - XXH_malloc
  - XXH_free
  - XXH_malloc
  - XXH_free
  - XXH_memcpy
  - XXH_read32
  - XXH_read32
  - XXH_read32
  - XXH_isLittleEndian
  - XXH_swap32
  - XXH_readLE32
  - XXH_readBE32
  - XXH_readLE32
  - XXH_readBE32
  - XXH_readLE32_align
  - XXH_versionNumber
  - XXH32_round
  - XXH32_avalanche
  - XXH32_finalize
  - XXH32_endian_align
  - XXH32_hash_t
  - XXH32_state_t* XXH32_createState(void)
  - XXH_errorcode::XXH32_freeState
  - XXH32_copyState
  - XXH_errorcode::XXH32_reset
  - XXH_errorcode::XXH32_update
  - XXH32_hash_t::XXH32_digest
  - XXH32_canonicalFromHash
  - XXH32_hash_t::XXH32_hashFromCanonical
  - XXH_read64
  - XXH_read64
  - XXH_read64
  - XXH_swap64
  - XXH_readLE64
  - XXH_readBE64
  - XXH_readLE64
  - XXH_readBE64
  - XXH_readLE64_align
  - XXH64_round
  - XXH64_mergeRound
  - XXH64_avalanche
  - XXH64_finalize
  - XXH64_endian_align
  - XXH64_hash_t
  - XXH64_state_t* XXH64_createState(void)
  - XXH_errorcode::XXH64_freeState
  - XXH64_copyState
  - XXH_errorcode::XXH64_reset
  - XXH_errorcode::XXH64_update
  - XXH64_hash_t::XXH64_digest
  - XXH64_canonicalFromHash
  - XXH64_hash_t::XXH64_hashFromCanonical
  - XXH_vld1q_u64
  - XXH_vld1q_u64
  - XXH_vmlal_low_u32
  - XXH_vmlal_high_u32
  - XXH_vmlal_low_u32
  - XXH_vmlal_high_u32
  - XXH_vec_revb
  - XXH_vec_loadu
  - XXH_vec_mulo
  - XXH_vec_mule
  - XXH_mult32to64
  - XXH_mult64to128
  - XXH3_mul128_fold64
  - XXH_xorshift64
  - XXH3_avalanche
  - XXH3_rrmxmx
  - XXH3_len_1to3_64b
  - XXH3_len_4to8_64b
  - XXH3_len_9to16_64b
  - XXH3_len_0to16_64b
  - XXH3_mix16B
  - XXH3_len_17to128_64b
  - XXH3_len_129to240_64b
  - XXH_writeLE64
  - XXH3_accumulate_512_avx512
  - XXH3_scrambleAcc_avx512
  - XXH3_initCustomSecret_avx512
  - XXH3_accumulate_512_avx2
  - XXH3_scrambleAcc_avx2
  - XXH3_initCustomSecret_avx2
  - XXH3_accumulate_512_sse2
  - XXH3_scrambleAcc_sse2
  - XXH3_initCustomSecret_sse2
  - XXH3_accumulate_512_neon
  - XXH3_scrambleAcc_neon
  - XXH3_accumulate_512_vsx
  - XXH3_scrambleAcc_vsx
  - XXH3_accumulate_512_sve
  - XXH_mult32to64_add64
  - XXH_mult32to64_add64
  - XXH3_scalarRound
  - XXH3_accumulate_512_scalar
  - XXH3_scalarScrambleRound
  - XXH3_scrambleAcc_scalar
  - XXH3_initCustomSecret_scalar
  - XXH3_mix2Accs
  - XXH3_mergeAccs
  - XXH64_hash_t::XXH3_hashLong_64b_internal
  - XXH64_hash_t::XXH3_hashLong_64b_withSecret
  - XXH3_hashLong_64b_default
  - XXH64_hash_t::XXH3_hashLong_64b_withSeed_internal
  - XXH64_hash_t::XXH3_hashLong_64b_withSeed
  - XXH64_hash_t::XXH3_64bits_internal
  - XXH64_hash_t::XXH3_64bits
  - XXH64_hash_t::XXH3_64bits_withSecret
  - XXH64_hash_t::XXH3_64bits_withSeed
  - XXH64_hash_t::XXH3_64bits_withSecretandSeed
  - XXH_alignedMalloc
  - XXH_alignedFree
  - XXH3_state_t* XXH3_createState(void)
  - XXH_errorcode::XXH3_freeState
  - XXH3_copyState
  - XXH3_reset_internal
  - XXH_errorcode::XXH3_64bits_reset
  - XXH_errorcode::XXH3_64bits_reset_withSecret
  - XXH_errorcode::XXH3_64bits_reset_withSeed
  - XXH_errorcode::XXH3_64bits_reset_withSecretandSeed
  - XXH3_consumeStripes
  - XXH_errorcode::XXH3_64bits_update
  - XXH3_digest_long
  - XXH64_hash_t::XXH3_64bits_digest
  - XXH3_len_1to3_128b
  - XXH3_len_4to8_128b
  - XXH3_len_9to16_128b
  - XXH3_len_0to16_128b
  - XXH128_hash_t::XXH128_mix32B
  - XXH3_len_17to128_128b
  - XXH3_len_129to240_128b
  - XXH128_hash_t::XXH3_hashLong_128b_internal
  - XXH3_hashLong_128b_default
  - XXH128_hash_t::XXH3_hashLong_128b_withSecret
  - XXH128_hash_t::XXH3_hashLong_128b_withSeed_internal
  - XXH128_hash_t::XXH3_hashLong_128b_withSeed
  - XXH128_hash_t::XXH3_128bits_internal
  - XXH128_hash_t::XXH3_128bits
  - XXH128_hash_t::XXH3_128bits_withSecret
  - XXH128_hash_t::XXH3_128bits_withSeed
  - XXH128_hash_t::XXH3_128bits_withSecretandSeed
  - XXH128_hash_t::XXH128
  - XXH_errorcode::XXH3_128bits_reset
  - XXH_errorcode::XXH3_128bits_reset_withSecret
  - XXH_errorcode::XXH3_128bits_reset_withSeed
  - XXH_errorcode::XXH3_128bits_reset_withSecretandSeed
  - XXH_errorcode::XXH3_128bits_update
  - XXH128_hash_t::XXH3_128bits_digest
  - XXH128_isEqual
  - XXH128_cmp
  - XXH128_canonicalFromHash
  - XXH128_hash_t::XXH128_hashFromCanonical
  - XXH3_combine16
  - XXH_errorcode::XXH3_generateSecret
  - XXH3_generateSecret_fromSeed
  source_file: /src/haproxy/include/import/xxhash.h
- function_names: []
  source_file: /src/haproxy/include/import/sha1.h
- function_names:
  - ebmb_first
  - ebmb_last
  - ebmb_next
  - ebmb_prev
  - ebmb_next_dup
  - ebmb_prev_dup
  - ebmb_next_unique
  - ebmb_prev_unique
  - ebmb_delete
  - ebmb_lookup_shorter
  - __ebmb_delete
  - __ebmb_lookup
  - __ebmb_insert
  - __ebmb_lookup_longest
  - __ebmb_lookup_prefix
  - __ebmb_insert_prefix
  source_file: /src/haproxy/include/import/ebmbtree.h
- function_names:
  - ist2
  - isttest
  - ist0
  - istptr
  - istlen
  - istend
  - istnext
  - istshift
  - istpad
  - isttrim
  - istclear
  - istzero
  - iststrip
  - istdiff
  - istmatch
  - istmatchi
  - istnmatch
  - isteq
  - isteqi
  - istneq
  - __istappend
  - istcpy
  - istscpy
  - istcat
  - istscat
  - ist2bin
  - ist2str
  - ist2bin_lc
  - ist2str_lc
  - ist2bin_uc
  - ist2str_uc
  - istchr
  - ist_find_ctl
  - ist_find_range
  - istfind
  - istskip
  - istist
  - iststop
  - istadv
  - istsplit
  - istissame
  - istalloc
  - istfree
  - istdup
  source_file: /src/haproxy/include/import/ist.h
- function_names: []
  source_file: /src/haproxy/include/import/cebuib_tree.h
- function_names: []
  source_file: /src/haproxy/include/import/lru.h
- function_names:
  - ebpt_first
  - ebpt_last
  - ebpt_next
  - ebpt_prev
  - ebpt_next_dup
  - ebpt_prev_dup
  - ebpt_next_unique
  - ebpt_prev_unique
  - ebpt_delete
  - ebpt_lookup
  - ebpt_lookup_le
  - ebpt_lookup_ge
  - ebpt_insert
  - __ebpt_delete
  - __ebpt_lookup
  - __ebpt_insert
  source_file: /src/haproxy/include/import/ebpttree.h
- function_names:
  - ebis_lookup_len
  - __ebis_lookup
  - __ebis_insert
  source_file: /src/haproxy/include/import/ebistree.h
- function_names:
  - eb32_first
  - eb32_last
  - eb32_next
  - eb32_prev
  - eb32_next_dup
  - eb32_prev_dup
  - eb32_next_unique
  - eb32_prev_unique
  - eb32_delete
  - __eb32_delete
  - __eb32_lookup
  - __eb32i_lookup
  - __eb32_insert
  - __eb32i_insert
  source_file: /src/haproxy/include/import/eb32tree.h
- function_names: []
  source_file: /src/haproxy/include/import/cebus_tree.h
- function_names: []
  source_file: /src/haproxy/include/import/cebua_tree.h
- function_names: []
  source_file: /src/haproxy/include/import/cebu32_tree.h
- function_names:
  - __ebim_lookup
  - __ebim_insert
  source_file: /src/haproxy/include/import/ebimtree.h
- function_names: []
  source_file: /src/haproxy/include/import/mjson.h
- function_names: []
  source_file: /src/haproxy/include/import/cebul_tree.h
- function_names:
  - eb64_first
  - eb64_last
  - eb64_next
  - eb64_prev
  - eb64_next_dup
  - eb64_prev_dup
  - eb64_next_unique
  - eb64_prev_unique
  - eb64_delete
  - __eb64_delete
  - __eb64_lookup
  - __eb64i_lookup
  - __eb64_insert
  - __eb64i_insert
  source_file: /src/haproxy/include/import/eb64tree.h
- function_names:
  - da_json_file
  - da_log_level
  - da_property_separator
  - da_properties_cookie
  - da_cache_size
  - da_haproxy_read
  - da_haproxy_seek
  - da_haproxy_log
  - init_deviceatlas
  - deinit_deviceatlas
  - da_haproxy_checkinst
  - da_haproxy
  - da_haproxy_conv
  - da_haproxy_fetch
  - da_haproxy_register_build_options
  source_file: /src/haproxy/addons/deviceatlas/da.c
- function_names: []
  source_file: /src/haproxy/addons/deviceatlas/dummy/dadwarc.c
- function_names: []
  source_file: /src/haproxy/addons/deviceatlas/dummy/dac.h
- function_names: []
  source_file: /src/haproxy/addons/deviceatlas/dummy/json.c
- function_names: []
  source_file: /src/haproxy/addons/deviceatlas/dummy/dasch.c
- function_names:
  - da_atlas_cache_init
  - da_atlas_cache_insert
  - da_atlas_cache_search
  - da_atlas_cache_close
  source_file: /src/haproxy/addons/deviceatlas/dummy/dacache.cpp
- function_names: []
  source_file: /src/haproxy/addons/deviceatlas/dummy/dadwcurl.c
- function_names: []
  source_file: /src/haproxy/addons/deviceatlas/dummy/dadwcom.c
- function_names:
  - da_init
  - da_fini
  - da_seterrorfunc
  - da_typename
  - da_getdataversion
  - da_getdatacreation
  - da_getdatacreationiso8601
  - da_atlas_compile
  - da_atlas_open
  - da_atlas_close
  - da_atlas_clientprop_evidence_id
  - da_atlas_accept_language_evidence_id
  - da_atlas_header_evidence_id
  - da_atlas_getproptype
  - da_atlas_getpropname
  - da_atlas_getpropid
  - da_atlas_getpropcount
  - da_searchv
  - da_search
  - da_getpropcount
  - da_getfirstprop
  - da_getnextprop
  - da_close
  - da_getpropname
  - da_getproptype
  - da_getpropinteger
  - da_getpropstring
  - da_getpropboolean
  - da_get_property_name
  source_file: /src/haproxy/addons/deviceatlas/dummy/dac.c
- function_names:
  - da_atlas_read_mapped
  source_file: /src/haproxy/addons/deviceatlas/dummy/Os/daunix.c
- function_names:
  - flt_ot_http_headers_dump
  - flt_ot_http_headers_get
  - flt_ot_http_header_set
  - flt_ot_http_headers_remove
  source_file: /src/haproxy/addons/ot/src/http.c
- function_names:
  - flt_ot_vars_scope_dump
  - flt_ot_vars_dump
  - flt_ot_smp_init
  - flt_ot_smp_add
  - flt_ot_normalize_name
  - flt_ot_var_name
  - flt_ot_ctx_loop
  - flt_ot_ctx_set_cb
  - flt_ot_ctx_set
  - flt_ot_var_register
  - flt_ot_var_set
  - flt_ot_vars_unset_cb
  - flt_ot_vars_unset
  - flt_ot_vars_get_cb
  - flt_ot_vars_get
  source_file: /src/haproxy/addons/ot/src/vars.c
- function_names:
  - cmn_cli_set_msg
  - flt_ot_cli_parse_debug
  - flt_ot_cli_parse_disabled
  - flt_ot_cli_parse_option
  - flt_ot_cli_parse_logging
  - flt_ot_cli_parse_rate
  - flt_ot_cli_parse_status
  - flt_ot_cli_init
  source_file: /src/haproxy/addons/ot/src/cli.c
- function_names:
  - ot_text_map_show
  - ot_debug
  - ot_mem_malloc
  - ot_mem_free
  - ot_init
  - ot_start
  - ot_close
  - ot_span_init
  - ot_span_init_va
  - ot_span_tag
  - ot_span_tag_va
  - ot_span_log
  - ot_span_log_va
  - ot_span_log_fmt
  - ot_span_set_baggage
  - ot_span_set_baggage_va
  - ot_span_baggage_va
  - ot_inject_text_map
  - ot_inject_http_headers
  - ot_inject_binary
  - ot_extract_text_map
  - ot_extract_http_headers
  - ot_extract_binary
  - ot_span_finish
  source_file: /src/haproxy/addons/ot/src/opentracing.c
- function_names:
  - flt_ot_parse_strdup
  - flt_ot_parse_keyword
  - flt_ot_parse_invalid_char
  - flt_ot_parse_cfg_check
  - flt_ot_parse_cfg_sample_expr
  - flt_ot_parse_cfg_sample
  - flt_ot_parse_cfg_str
  - flt_ot_parse_cfg_file
  - flt_ot_parse_check_scope
  - flt_ot_parse_cfg_tracer
  - flt_ot_post_parse_cfg_tracer
  - flt_ot_parse_cfg_group
  - flt_ot_post_parse_cfg_group
  - flt_ot_parse_cfg_scope_ctx
  - flt_ot_parse_acl
  - flt_ot_parse_cfg_scope
  - flt_ot_post_parse_cfg_scope
  - flt_ot_parse_cfg
  - flt_ot_parse
  source_file: /src/haproxy/addons/ot/src/parser.c
- function_names:
  - flt_ot_args_dump
  - flt_ot_filters_dump
  - flt_ot_chn_label
  - flt_ot_pr_mode
  - flt_ot_stream_pos
  - flt_ot_type
  - flt_ot_analyzer
  - flt_ot_str_hex
  - flt_ot_str_ctrl
  - flt_ot_list_debug
  - flt_ot_chunk_add
  - flt_ot_args_count
  - flt_ot_args_to_str
  - flt_ot_strtod
  - flt_ot_strtoll
  - flt_ot_sample_to_str
  - flt_ot_sample_to_value
  - flt_ot_sample_add
  source_file: /src/haproxy/addons/ot/src/util.c
- function_names:
  - FLT_OT_RETURN_EX
  - FLT_OT_RETURN_EX
  - flt_ot_group_check
  - flt_ot_group_release
  source_file: /src/haproxy/addons/ot/src/group.c
- function_names:
  - flt_ot_is_disabled
  - flt_ot_return_int
  - flt_ot_return_void
  - flt_ot_init
  - flt_ot_deinit
  - flt_ot_check
  - flt_ot_init_per_thread
  - flt_ot_deinit_per_thread
  - flt_ot_attach
  - flt_ot_stream_start
  - flt_ot_stream_set_backend
  - flt_ot_stream_stop
  - flt_ot_detach
  - flt_ot_check_timeouts
  - flt_ot_channel_start_analyze
  - flt_ot_channel_pre_analyze
  - flt_ot_channel_post_analyze
  - flt_ot_channel_end_analyze
  - flt_ot_http_headers
  - flt_ot_http_payload
  - flt_ot_http_end
  - flt_ot_http_reset
  - flt_ot_http_reply
  - flt_ot_tcp_payload
  source_file: /src/haproxy/addons/ot/src/filter.c
- function_names:
  - flt_ot_conf_hdr_init
  - flt_ot_conf_ph_init
  - flt_ot_conf_ph_free
  - flt_ot_conf_sample_expr_init
  - flt_ot_conf_sample_expr_free
  - flt_ot_conf_sample_init
  - flt_ot_conf_sample_free
  - flt_ot_conf_str_init
  - flt_ot_conf_str_free
  - flt_ot_conf_context_init
  - flt_ot_conf_context_free
  - flt_ot_conf_span_init
  - flt_ot_conf_span_free
  - flt_ot_conf_scope_init
  - flt_ot_conf_scope_free
  - flt_ot_conf_group_init
  - flt_ot_conf_group_free
  - flt_ot_conf_tracer_init
  - flt_ot_conf_tracer_free
  - flt_ot_conf_init
  - flt_ot_conf_free
  source_file: /src/haproxy/addons/ot/src/conf.c
- function_names:
  - flt_ot_scope_run_span
  - flt_ot_scope_run
  - flt_ot_event_run
  source_file: /src/haproxy/addons/ot/src/event.c
- function_names:
  - flt_ot_pool_alloc
  - flt_ot_pool_strndup
  - flt_ot_pool_free
  - flt_ot_trash_alloc
  - flt_ot_trash_free
  source_file: /src/haproxy/addons/ot/src/pool.c
- function_names:
  - flt_ot_pools_info
  - flt_ot_runtime_context_init
  - flt_ot_runtime_context_free
  - flt_ot_scope_span_init
  - flt_ot_scope_span_free
  - flt_ot_scope_context_init
  - flt_ot_scope_context_free
  - flt_ot_scope_data_free
  - flt_ot_scope_finish_mark
  - flt_ot_scope_finish_marked
  - flt_ot_scope_free_unused
  source_file: /src/haproxy/addons/ot/src/scope.c
- function_names: []
  source_file: /src/haproxy/addons/ot/include/config.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/http.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/include.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/scope.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/parser.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/cli.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/opentracing.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/util.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/debug.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/define.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/pool.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/vars.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/filter.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/event.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/group.h
- function_names: []
  source_file: /src/haproxy/addons/ot/include/conf.h
- function_names:
  - promex_global_gettype
  - promex_st_gettype
  - promex_register_module
  - promex_srv_status
  - promex_ts_val_to_str
  - promex_dump_ts_header
  - promex_dump_ts
  - promex_filter_metric
  - promex_dump_global_metrics
  - promex_dump_front_metrics
  - promex_dump_listener_metrics
  - promex_dump_back_metrics
  - promex_dump_srv_metrics
  - promex_dump_module_metrics
  - promex_dump_ref_modules_metrics
  - promex_dump_all_modules_metrics
  - promex_dump_metrics
  - promex_parse_uri
  - promex_send_headers
  - promex_appctx_init
  - promex_appctx_release
  - promex_appctx_handle_io
  - service_parse_prometheus_exporter
  - promex_register_build_options
  source_file: /src/haproxy/addons/promex/service-prometheus.c
- function_names: []
  source_file: /src/haproxy/addons/promex/include/promex/promex.h
- function_names:
  - ha_wurfl_log
  - ha_wurfl_log
  - ha_wurfl_cfg_data_file
  - ha_wurfl_cfg_cache
  - ha_wurfl_cfg_engine_mode
  - ha_wurfl_cfg_information_list_separator
  - ha_wurfl_cfg_information_list
  - ha_wurfl_cfg_patch_file_list
  - ha_wurfl_cfg_useragent_priority
  - ha_wurfl_init
  - ha_wurfl_deinit
  - ha_wurfl_get_all
  - ha_wurfl_get
  - ha_wurfl_get_wurfl_root_id
  - ha_wurfl_get_wurfl_id
  - ha_wurfl_get_wurfl_isdevroot
  - ha_wurfl_get_wurfl_useragent
  - ha_wurfl_get_wurfl_api_version
  - ha_wurfl_get_wurfl_engine_target
  - ha_wurfl_get_wurfl_info
  - ha_wurfl_get_wurfl_last_load_time
  - ha_wurfl_get_wurfl_normalized_useragent
  - ha_wurfl_get_wurfl_useragent_priority
  - '*(*ha_wurfl_get_property_callback(char *name)) (wurfl_handle wHandle, wurfl_device_handle
    dHandle)'
  - ha_wurfl_retrieve_header
  - ha_wurfl_register_build_options
  source_file: /src/haproxy/addons/wurfl/wurfl.c
- function_names:
  - wurfl_get_api_version
  - wurfl_create
  - wurfl_destroy
  - wurfl_set_root
  - wurfl_add_patch
  - wurfl_add_requested_capability
  - wurfl_get_error_message
  - wurfl_has_virtual_capability
  - wurfl_set_cache_provider
  - wurfl_load
  - wurfl_lookup
  - wurfl_device_get_capability
  - wurfl_device_get_virtual_capability
  - wurfl_device_destroy
  - wurfl_device_get_id
  - wurfl_device_get_root_id
  - wurfl_device_get_original_useragent
  - wurfl_device_get_normalized_useragent
  - wurfl_device_is_actual_device_root
  - wurfl_get_wurfl_info
  - wurfl_get_last_load_time_as_string
  source_file: /src/haproxy/addons/wurfl/dummy/dummy-wurfl.c
- function_names: []
  source_file: /src/haproxy/addons/wurfl/dummy/wurfl/wurfl.h
- function_names:
  - struct
  - _51d_data_file
  - _51d_property_name_list
  - _51d_property_separator
  - _51d_cache_size
  - _51d_fetch_check
  - _51d_conv_check
  - _51d_lru_free
  - _51d_malloc
  - _51d_insert_cache_entry
  - _51d_retrieve_cache_entry
  - _51d_set_headers
  - _51d_init_device_offsets
  - _51d_set_device_offsets
  - _51d_req_hash
  - _51d_use_perf_graph
  - _51d_use_pred_graph
  - _51d_drift
  - _51d_difference
  - _51d_allow_unmatched
  - _51d_init_internal
  - _51d_get_evidence
  - _51d_process_match
  - _51d_set_smp
  - _51d_fetch
  - _51d_conv
  - _51d_init_http_headers
  - _51d_init_http_headers
  - init_51degrees
  - deinit_51degrees
  - init_51degrees_per_thread
  - deinit_51degrees_per_thread
  source_file: /src/haproxy/addons/51degrees/51d.c
- function_names: []
  source_file: /src/haproxy/addons/51degrees/dummy/threading.c
- function_names: []
  source_file: /src/haproxy/addons/51degrees/dummy/cityhash/city.c
- function_names: []
  source_file: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.h
- function_names:
  - fiftyoneDegreesDataSetGet
  - fiftyoneDegreesResultsHashFree
  - fiftyoneDegreesResultsHashCreate
  - fiftyoneDegreesDataSetRelease
  - fiftyoneDegreesEvidenceCreate
  - fiftyoneDegreesEvidenceAddString
  - fiftyoneDegreesResultsHashGetValuesString
  - fiftyoneDegreesResultsHashFromEvidence
  - fiftyoneDegreesEvidenceFree
  - fiftyoneDegreesResultsHashFromUserAgent
  - fiftyoneDegreesFileReadToByteArray
  - fiftyoneDegreesHashInitManagerFromMemory
  - fiftyoneDegreesStatusGetMessage
  source_file: /src/haproxy/addons/51degrees/dummy/v4hash/hash/hash.c
- function_names: []
  source_file: /src/haproxy/addons/51degrees/dummy/v4hash/hash/fiftyone.h
- function_names: []
  source_file: /src/haproxy/addons/51degrees/dummy/trie/51Degrees.h
- function_names:
  - fiftyoneDegreesGetDeviceOffset
  - fiftyoneDegreesGetRequiredPropertiesNames
  - fiftyoneDegreesGetRequiredPropertiesCount
  - fiftyoneDegreesGetValueFromOffsets
  - fiftyoneDegreesCreateDeviceOffsets
  - fiftyoneDegreesFreeDeviceOffsets
  - fiftyoneDegreesGetHttpHeaderCount
  - fiftyoneDegreesGetHttpHeaderNameOffset
  - fiftyoneDegreesGetHttpHeaderNamePointer
  - fiftyoneDegreesInitWithPropertyArray
  - fiftyoneDegreesDataSetFree
  source_file: /src/haproxy/addons/51degrees/dummy/trie/51Degrees.c
- function_names: []
  source_file: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.h
- function_names:
  - fiftyoneDegreesGetSignatureRank
  - fiftyoneDegreesGetPropertyName
  - fiftyoneDegreesSetValues
  - fiftyoneDegreesGetValueName
  - fiftyoneDegreesWorksetPoolGet
  - fiftyoneDegreesWorksetPoolRelease
  - fiftyoneDegreesMatchForHttpHeaders
  - fiftyoneDegreesMatch
  - fiftyoneDegreesInitWithPropertyArray
  - fiftyoneDegreesWorksetPoolCreate
  - fiftyoneDegreesWorksetPoolFree
  - fiftyoneDegreesDataSetFree
  - fiftyoneDegreesGetString
  source_file: /src/haproxy/addons/51degrees/dummy/pattern/51Degrees.c
- function_names:
  - in6_bswap
  - get_ipv6_addr
  - get_addr
  - a_le_b
  - a_eq_b
  - a_gt_b
  - hmask
  - one_ls_b
  - a_plus_b
  - a_minus_b
  - a_and_b
  - is_set
  - convert_range
  - usage
  - main
  source_file: /src/haproxy/admin/iprange/ip6range.c
- function_names:
  - get_ipv4_addr
  - convert_range
  - usage
  - main
  source_file: /src/haproxy/admin/iprange/iprange.c
- function_names:
  - hexdump
  - hexdump_tvb
  - control_class_index_from_byte
  - class_str_from_byte
  - control_msg_type_str_from_byte
  - stkt_msg_type_str_from_byte
  - error_msg_type_str_from_byte
  - intdecode
  - dissect_happp_handshake_pdu
  - init_class_def_tab
  - col_info_append_class
  - intdecode_from_tvbuff
  - add_enc_field_to_happp_tree
  - add_int_field_to_happp_tree
  - dissect_happp_stkt_define_msg
  - dissect_happp_stkt_update_msg
  - dissect_happp_stkt_ack_msg
  - dissect_happp_stk_msg
  - dissect_happp_msg
  - dissect_happp_pdu
  - dissect_happp_tcp
  - proto_register_happp
  - dissect_happp_heur_tcp
  - proto_reg_handoff_happp
  - plugin_register
  source_file: /src/haproxy/admin/wireshark-dissectors/peers/packet-happp.c
- function_names:
  - has_zero32
  - has_zero64
  - has_zero
  - find_lf
  - fgets2
  - main
  source_file: /src/haproxy/admin/halog/fgets2.c
- function_names:
  - usage
  - die
  - help
  - field_stop
  - field_stop
  - has_zero64
  - field_start
  - quantify_u32
  - quantify
  - insert_timer
  - insert_value
  - str2ic
  - convert_date
  - convert_date_to_timestamp
  - truncated_line
  - main
  - filter_output_line
  - filter_extract_capture
  - filter_accept_holes
  - filter_count_status
  - filter_count_cook_codes
  - filter_count_term_codes
  - filter_count_srv_status
  - filter_count_url
  - filter_count_ip
  - filter_graphs
  source_file: /src/haproxy/admin/halog/halog.c
- function_names:
  - die
  - main
  source_file: /src/haproxy/admin/dyncookie/dyncookie.c
